/* contact.css */
.page-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-soft) 100%);color:var(--white);padding:44px 0}
.page-hero .ph-kicker{font-size:11px;font-weight:700;color:var(--gold-line);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;display:block}
.page-hero h2{font-family:'Playfair Display',serif;font-size:34px;font-weight:800;color:var(--white);margin-bottom:8px}
.page-hero .ph-sub{font-size:15px;color:rgba(255,255,255,.72)}
.ph-breadcrumb{font-size:12px;color:rgba(255,255,255,.45);margin-bottom:10px}
.ph-breadcrumb a{color:var(--gold-line)}

.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}
.cc{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs);padding:20px 16px;text-align:center;border-top:4px solid var(--navy);transition:box-shadow var(--t),transform var(--t)}
.cc:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.cc-icon{font-size:28px;margin-bottom:10px;display:block}
.cc h3{font-family:'Playfair Display',serif;font-size:15px;font-weight:700;color:var(--navy);margin-bottom:8px}
.cc p,.cc a{font-size:14px;color:var(--text-mid);line-height:1.8;display:block}
.cc a{color:var(--navy-soft);font-weight:600}
.cc a:hover{color:var(--navy)}

.map-placeholder{background:linear-gradient(135deg,#D4DCE8,#C0CCE0);border:2px solid var(--border);border-radius:var(--radius);height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin-bottom:28px;color:var(--text-soft);text-align:center}
.map-placeholder span:first-child{font-size:36px}
.map-placeholder strong{font-size:15px;color:var(--navy)}
.map-placeholder small{font-size:12px}

.contact-form-wrap{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-xs);padding:30px;margin-bottom:28px}
.form-title{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--navy);margin-bottom:5px}
.form-subtitle{font-size:14px;color:var(--text-soft);margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.field{margin-bottom:16px}
.field label{display:block;font-size:14px;font-weight:700;color:var(--text-dark);margin-bottom:6px}
.field label .req{color:#DC2626;margin-left:2px}
.field input,.field select,.field textarea{width:100%;padding:11px 14px;border:2px solid var(--border);border-radius:var(--radius-sm);font-family:'Source Sans 3',sans-serif;font-size:15px;color:var(--text-dark);background:var(--page-bg);transition:border-color var(--t),background var(--t)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy-soft);background:var(--white)}
.field textarea{min-height:120px;resize:vertical;line-height:1.7}
.radio-group{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px}
.radio-label{display:flex;align-items:center;gap:8px;padding:9px 16px;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--page-bg);cursor:pointer;font-size:14px;font-weight:600;color:var(--text-dark);transition:all var(--t)}
.radio-label:hover{border-color:var(--navy-soft);background:var(--gold-pale)}
.radio-label input[type="radio"]{accent-color:var(--navy);width:16px;height:16px;flex-shrink:0}
.radio-label:has(input:checked){border-color:var(--navy);background:var(--navy);color:var(--white)}
.form-submit{background:var(--navy);color:var(--white);padding:13px 36px;font-size:16px;font-weight:700;font-family:'Source Sans 3',sans-serif;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--t);margin-top:6px}
.form-submit:hover{background:var(--navy-mid);transform:translateY(-1px);box-shadow:var(--shadow-md)}
.form-msg{padding:13px 18px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;margin-top:16px;display:none;border:2px solid}
.form-msg.ok{background:#ECFDF5;border-color:#6EE7B7;color:#065F46}
.form-msg.err{background:#FEF2F2;border-color:#FCA5A5;color:#991B1B}

.hours-table{width:100%;border-collapse:collapse;font-size:15px}
.hours-table tr{border-bottom:1px solid var(--border)}
.hours-table tr:last-child{border-bottom:none}
.hours-table td{padding:10px 8px}
.hours-table td:last-child{font-weight:700;color:var(--navy);text-align:right}
.closed-day{color:#DC2626 !important}

.admission-box{background:var(--gold-pale);border:1px solid var(--gold-line);border-radius:var(--radius);padding:20px}
.admission-box h4{font-family:'Playfair Display',serif;font-size:17px;font-weight:700;color:var(--navy);margin-bottom:14px}
.intake-note{background:var(--white);border:2px solid var(--navy-soft);border-radius:var(--radius-sm);padding:12px 16px;margin-top:16px;font-size:14px;color:var(--navy);font-weight:600;text-align:center}

/* ── INLINE STYLES CONVERTED TO CLASSES ─────────────────────────── */
.required-marker{color:#DC2626}
.sb-office-hours{padding:14px}

/* Page hero responsive */
@media(max-width:768px){
  .page-hero{padding:32px 0}
  .page-hero h2{font-size:28px;margin-bottom:6px}
  .page-hero .ph-sub{font-size:14px}
  .ph-breadcrumb{font-size:11px;margin-bottom:8px}
}
@media(max-width:640px){
  .page-hero{padding:24px 0}
  .page-hero h2{font-size:22px}
  .page-hero .ph-sub{font-size:13px}
  .ph-breadcrumb{font-size:10px}
}
@media(max-width:480px){
  .page-hero{padding:20px 0}
  .page-hero h2{font-size:18px}
  .page-hero .ph-sub{font-size:12px}
}

/* Contact cards responsive */
@media(max-width:960px){
  .contact-cards{grid-template-columns:1fr 1fr 1fr;gap:14px;margin-bottom:24px}
}
@media(max-width:768px){
  .contact-cards{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
  .cc{padding:18px 14px}
  .cc-icon{font-size:24px;margin-bottom:8px}
  .cc h3{font-size:14px;margin-bottom:6px}
  .cc p, .cc a{font-size:13px}
}
@media(max-width:640px){
  .contact-cards{grid-template-columns:1fr}
  .cc{padding:16px 14px}
  .cc-icon{font-size:22px}
}
@media(max-width:480px){
  .contact-cards{gap:10px;margin-bottom:16px}
  .cc{padding:14px 12px;border-top-width:3px}
  .cc h3{font-size:13px;margin-bottom:4px}
  .cc p, .cc a{font-size:12px;line-height:1.6}
}

/* Map placeholder responsive */
@media(max-width:768px){
  .map-placeholder{height:180px;gap:6px;margin-bottom:24px}
  .map-placeholder span:first-child{font-size:32px}
  .map-placeholder strong{font-size:14px}
}
@media(max-width:480px){
  .map-placeholder{height:150px;margin-bottom:20px}
  .map-placeholder span:first-child{font-size:28px}
  .map-placeholder strong{font-size:12px}
  .map-placeholder small{font-size:10px}
}

/* Contact form responsive */
@media(max-width:900px){
  .contact-form-wrap{padding:24px}
  .form-title{font-size:20px}
  .form-row{gap:14px;margin-bottom:14px}
  .field{margin-bottom:14px}
}
@media(max-width:768px){
  .contact-form-wrap{padding:20px;margin-bottom:24px}
  .form-title{font-size:18px;margin-bottom:4px}
  .form-subtitle{font-size:13px;margin-bottom:20px;padding-bottom:12px}
  .field label{font-size:13px;margin-bottom:5px}
  .field input, .field select, .field textarea{padding:10px 12px;font-size:14px}
  .form-row{margin-bottom:12px}
  .radio-group{gap:8px;margin-top:5px}
  .radio-label{padding:8px 14px;font-size:13px}
}
@media(max-width:640px){
  .contact-form-wrap{padding:18px}
  .form-row{grid-template-columns:1fr;gap:12px}
  .form-title{font-size:17px}
  .form-submit{padding:11px 28px;font-size:15px;margin-top:4px}
}
@media(max-width:480px){
  .contact-form-wrap{padding:14px;margin-bottom:18px}
  .form-title{font-size:15px}
  .form-subtitle{font-size:12px;margin-bottom:16px;padding-bottom:10px}
  .field label{font-size:12px}
  .field input, .field select, .field textarea{padding:9px 10px;font-size:13px}
  .field textarea{min-height:100px}
  .radio-group{gap:6px}
  .radio-label{padding:7px 12px;font-size:12px}
  .form-submit{padding:10px 20px;font-size:13px}
  .form-msg{font-size:13px;padding:10px 14px}
}

/* Hours table responsive */
@media(max-width:768px){
  .hours-table{font-size:14px}
  .hours-table td{padding:8px 6px}
}
@media(max-width:480px){
  .hours-table{font-size:12px}
  .hours-table td{padding:6px 4px}
}

/* Admission box responsive */
@media(max-width:768px){
  .admission-box{padding:18px}
  .admission-box h4{font-size:16px;margin-bottom:12px}
  .intake-note{padding:10px 14px;font-size:13px;margin-top:12px}
}
@media(max-width:480px){
  .admission-box{padding:14px}
  .admission-box h4{font-size:14px;margin-bottom:10px}
  .intake-note{padding:8px 12px;font-size:12px;margin-top:10px}
}

/* ── CONTACT PAGE THEME OVERRIDES ───────────────────────── */
[data-theme="dark"] .cc { background: #1A1E2E; border-color: #2C3248; border-top-color: #2A4070; }
[data-theme="dark"] .cc h3 { color: #D8E8FF; }
[data-theme="dark"] .cc p, [data-theme="dark"] .cc a { color: #93B4DC; }
[data-theme="dark"] .map-placeholder { background: linear-gradient(135deg,#141828,#1A2240); border-color: #2C3248; }
[data-theme="dark"] .contact-form-wrap { background: #1A1E2E; border-color: #2C3248; }
[data-theme="dark"] .form-title { color: #D8E8FF; }
[data-theme="dark"] .form-subtitle { color: #7A90B8; border-color: #2C3248; }
[data-theme="dark"] .field label { color: #D8E8FF; }
[data-theme="dark"] .field input,
[data-theme="dark"] .field select,
[data-theme="dark"] .field textarea {
  background: #141828; border-color: #2C3248;
  color: #D8E8FF;
}
[data-theme="dark"] .field input:focus,
[data-theme="dark"] .field select:focus,
[data-theme="dark"] .field textarea:focus { border-color: #4A7AB8; background: #1A1E2E; }
[data-theme="dark"] .radio-label { background: #141828; border-color: #2C3248; color: #D8E8FF; }
[data-theme="dark"] .radio-label:hover { background: #1E2A44; border-color: #4A6090; }
[data-theme="dark"] .hours-table tr { border-color: #2C3248; }
[data-theme="dark"] .hours-table td:last-child { color: var(--gold-line); }
[data-theme="dark"] .admission-box { background: #1E2440; border-color: #3A4A6A; }
[data-theme="dark"] .admission-box h4 { color: #D8E8FF; }
[data-theme="dark"] .intake-note { background: #141828; border-color: #3A4A6A; color: #93B4DC; }

[data-theme="brown"] .cc { background: #FFFAF3; border-color: #DEC89A; border-top-color: #5C3015; }
[data-theme="brown"] .cc h3 { color: #3B1F0A; }
[data-theme="brown"] .contact-form-wrap { background: #FFFAF3; border-color: #DEC89A; }
[data-theme="brown"] .form-subtitle { border-color: #DEC89A; }
[data-theme="brown"] .field input,
[data-theme="brown"] .field select,
[data-theme="brown"] .field textarea {
  background: #F5ECD8; border-color: #DEC89A; color: #2A1205;
}
[data-theme="brown"] .field input:focus,
[data-theme="brown"] .field select:focus,
[data-theme="brown"] .field textarea:focus { border-color: #8A5020; background: #FFFAF3; }
[data-theme="brown"] .radio-label { background: #F5E8CC; border-color: #DEC89A; color: #2A1205; }
[data-theme="brown"] .radio-label:hover { background: #F0D8A8; border-color: #B8750A; }
[data-theme="brown"] .hours-table td:last-child { color: #5C3015; }
[data-theme="brown"] .admission-box { background: #FFF0D0; border-color: var(--gold-line); }
[data-theme="brown"] .intake-note { background: #FFFAF3; border-color: #DEC89A; color: #5C3015; }
