/* ============================================================
   Contact page (page-contact.php)
   Design system: bg #0a0a0a / gold #F1B300 / white / Roboto
   Title font (Barlow Condensed) set explicitly below.
   ============================================================ */

.ct-page { background:#0a0a0a; color:#fff; overflow-x:hidden; }
.ct-inner { width:min(1350px,100%); margin:0 auto; padding:0 32px; }

/* ---------- Hero: plain centred title + sub ---------- */
.ct-hero { padding:150px 0 46px; background:#0a0a0a; text-align:center; }
.ct-hero__title {
    font-family:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
    color:#fff; font-size:clamp(32px,4.6vw,56px); font-weight:800;
    line-height:1.05; letter-spacing:3px; text-transform:uppercase; margin:0 auto;
}
.ct-hero__sub {
    color:rgba(255,255,255,.62); font-size:16px; line-height:1.75;
    max-width:720px; margin:18px auto 0;
}

/* ---------- body grid: info column + form ---------- */
.ct-body { padding:20px 0 96px; }
.ct-grid { display:grid; grid-template-columns:360px minmax(0,1fr); gap:48px; align-items:start; }

/* info column */
.ct-info { display:flex; flex-direction:column; gap:14px; }
.ct-info__title {
    font-family:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
    color:#fff; font-size:24px; font-weight:800; letter-spacing:2px;
    text-transform:uppercase; margin:0 0 6px;
}
.ct-info__block {
    display:flex; gap:16px; align-items:flex-start;
    background:#101010; border:1px solid rgba(255,255,255,.10); border-radius:6px;
    padding:18px 20px; transition:border-color .3s ease;
}
.ct-info__block:hover { border-color:rgba(241,179,0,.4); }
.ct-info__icon { color:#F1B300; flex:0 0 auto; margin-top:2px; }
.ct-info__icon svg { width:22px; height:22px; display:block; }
.ct-info__label {
    display:block; font-size:11px; font-weight:700; letter-spacing:2px;
    text-transform:uppercase; color:#F1B300; margin-bottom:6px;
}
.ct-info__value {
    color:#fff; font-size:15px; line-height:1.6; text-decoration:none;
    display:block; word-break:break-word;
}
a.ct-info__value:hover { color:#F1B300; }
.ct-info__value--muted { color:rgba(255,255,255,.72); }

/* form */
.ct-form {
    background:#101010; border:1px solid rgba(255,255,255,.10); border-radius:8px;
    padding:34px 34px 38px;
}
.ct-form__row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ct-field { margin-bottom:20px; }
.ct-field__label {
    display:block; font-size:12px; font-weight:700; letter-spacing:1.5px;
    text-transform:uppercase; color:rgba(255,255,255,.8); margin-bottom:8px;
}
.ct-req { color:#F1B300; }
.ct-field__input, .ct-field__textarea {
    width:100%; box-sizing:border-box; background:#0a0a0a;
    border:1px solid rgba(255,255,255,.14); border-radius:4px; color:#fff;
    font-family:inherit; font-size:15px; line-height:1.5; padding:13px 14px;
    transition:border-color .25s ease, box-shadow .25s ease;
}
.ct-field__input::placeholder, .ct-field__textarea::placeholder { color:rgba(255,255,255,.32); }
.ct-field__input:focus, .ct-field__textarea:focus {
    outline:none; border-color:#F1B300; box-shadow:0 0 0 3px rgba(241,179,0,.16);
}
.ct-field__textarea { min-height:150px; resize:vertical; }

.ct-form__submit {
    display:inline-flex; align-items:center; gap:10px; border:0; cursor:pointer;
    background:#F1B300; color:#0a0a0a; font-weight:800; letter-spacing:2px;
    text-transform:uppercase; font-size:14px; padding:15px 34px; border-radius:4px;
    transition:background .25s ease, transform .25s ease;
}
.ct-form__submit:hover { background:#ffc400; transform:translateY(-2px); }

/* honeypot: visually hidden, bots see the field */
.ct-form__hp { position:absolute; left:-9999px; top:-9999px; height:0; overflow:hidden; }

.ct-form__success {
    background:rgba(241,179,0,.12); border:1px solid rgba(241,179,0,.4); color:#F1B300;
    border-radius:6px; padding:15px 18px; margin-bottom:22px; font-size:14.5px; line-height:1.6;
}
.ct-form__error {
    background:rgba(214,54,56,.14); border:1px solid rgba(214,54,56,.5); color:#ff9b9c;
    border-radius:6px; padding:15px 18px; margin-bottom:22px; font-size:14.5px; line-height:1.6;
}

/* ---------- responsive ---------- */
@media (max-width:900px) {
    .ct-grid { grid-template-columns:1fr; gap:32px; }
}
@media (max-width:680px) {
    .ct-inner { padding:0 18px; }
    .ct-hero { padding:108px 0 30px; }
    .ct-body { padding:14px 0 64px; }
    .ct-form { padding:24px 20px 28px; }
    .ct-form__row { grid-template-columns:1fr; gap:0; }
    .ct-form__submit { width:100%; justify-content:center; }
}

@media (prefers-reduced-motion: reduce) {
    .ct-info__block, .ct-field__input, .ct-field__textarea, .ct-form__submit { transition:none; }
}
