/* zzz_premium.css - цель: сделать сайт более 'дорогим' и согласованным,
   без изменения существующих цветов. Консервативные улучшения. */

:root{
  --base-size: 16px;
  --container-max: 1100px;
  --radius: 12px;
  --muted: #6b6b6b;
  --strong: #111111;
  --gap: 1rem;
  --transition: 220ms ease;
}

/* Base and rhythm */
*{box-sizing:border-box}
html{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; font-size: clamp(14px, 1.05vw, 18px); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; color:var(--strong);}
body{line-height:1.5; margin:0; padding:0; background-clip:padding-box;}

/* Container alignment */
.container, .wrap, [class*="container"], [class*="wrap"]{max-width:var(--container-max); margin-left:auto; margin-right:auto; padding-left:clamp(12px,2.5vw,24px); padding-right:clamp(12px,2.5vw,24px);}

/* Headings scale consistently */
h1,h2,h3,h4,h5{line-height:1.12; margin-top:0; margin-bottom:0.6em; font-weight:600; letter-spacing: -0.01em;}
h1{font-size:clamp(1.6rem, 3.6vw, 2.4rem);}
h2{font-size:clamp(1.25rem, 2.6vw, 1.6rem);}
h3{font-size:clamp(1.05rem, 2.0vw, 1.15rem);}

/* Paragraphs and small text */
p{margin:0 0 1em 0;}
small, .muted { color:var(--muted); font-size:0.9em;}

/* Buttons & links - subtle refinement, won't override heavy custom styles */
a{transition:var(--transition); text-decoration: none; color: inherit;}
a:hover{opacity:0.92; transform: translateY(-1px);}

/* Generic button class to harmonize sizes */
.btn, button, input[type="submit"]{
  display:inline-block; padding:0.6em 1em; border-radius:var(--radius); border:0; cursor:pointer; text-align:center;
  font-weight:600; background:transparent; transition:var(--transition); box-shadow:none;
}
.btn:focus, button:focus, input[type="submit"]:focus{outline:2px solid rgba(0,0,0,0.08); outline-offset:2px;}

/* Images: consistent handling */
img{display:block; max-width:100%; height:auto; object-fit:cover; border-radius:6px;}
figure{margin:0 0 1em 0;}

/* Cards - non-invasive */
.card, .panel, .box{
  border-radius:calc(var(--radius) - 4px); padding:1rem; background:transparent; transition:box-shadow var(--transition);
}
.card:hover, .panel:hover, .box:hover{box-shadow: 0 6px 18px rgba(16,24,40,0.06); transform: translateY(-3px);}

/* Form controls tidy */
input, textarea, select{padding:0.6em 0.7em; border-radius:8px; border:1px solid rgba(0,0,0,0.08); background:transparent; font:inherit;}
input:focus, textarea:focus, select:focus{border-color: rgba(0,0,0,0.12); box-shadow: 0 6px 18px rgba(16,24,40,0.04); outline:none;}

/* Responsive utilities */
.row{display:flex; flex-wrap:wrap; gap:var(--gap);}
.col{flex:1; min-width:220px;}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce){*{transition:none!important; animation:none!important;}}

/* Accessibility helpers */
.skip-link{position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;}
.skip-link:focus{position:static; width:auto; height:auto; left:auto; top:auto; padding:8px 12px; background:#000; color:#fff; z-index:9999;}
/* --- FIX: читаемый текст в инпутах + premium look --- */
.contact-form input,
.contact-form select,
.contact-form textarea {
    color: #fcd662 !important;         /* светло-золотой текст */
    background-color: #0b1c3f !important; /* чуть светлее фон, премиально */
    border: 1px solid rgba(252, 214, 98, 0.35) !important;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
    color: rgba(252, 214, 98, 0.55) !important; /* мягкий, золотистый placeholder */
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    outline: none !important;
    border-color: #fcd662 !important;
    box-shadow: 0 0 8px rgba(252, 214, 98, 0.35);
}
