/* v133: scoped contact controls; inherits each public site's selected palette. */
.hp-contact { background:var(--hp-paper, #fff); border:1px solid var(--hp-line, #dce5f0); border-radius:var(--hp-radius, 24px); color:var(--hp-ink, #10243f); display:grid; gap:clamp(28px, 4vw, 64px); grid-template-columns:minmax(0, .8fr) minmax(0, 1.2fr); margin:70px auto 0; max-width:1220px; padding:clamp(22px, 4vw, 48px); scroll-margin-top:24px; }
.hp-contact, .hp-contact *, .pc-admin-panel, .pc-admin-panel * { box-sizing:border-box; }
.hp-contact-information, .hp-contact-form-panel, .hp-contact-field { min-width:0; }
.hp-contact .hp-contact-eyebrow { color:var(--hp-accent-deep, #0b4eab); font-size:12px; font-weight:800; letter-spacing:.09em; line-height:1.7; margin:0 0 12px; }
.hp-contact h2 { font-size:clamp(26px, 3vw, 38px); font-weight:800; letter-spacing:-.03em; line-height:1.3; margin:0; }
.hp-contact .hp-contact-intro { color:var(--hp-muted, #61718a); font-size:16px; line-height:1.85; margin:16px 0 0; }
.hp-contact-details { font-size:16px; line-height:1.9; margin:26px 0 0; overflow-wrap:anywhere; white-space:pre-wrap; }
.hp-contact-address { align-items:flex-start; border-top:1px solid var(--hp-line, #dce5f0); display:flex; gap:12px; margin-top:26px; padding-top:24px; }
.hp-contact-address > div { min-width:0; }
.hp-contact-address-icon { align-items:center; background:var(--hp-accent-soft, #e8f2ff); border-radius:12px; color:var(--hp-accent-deep, #0b4eab); display:flex; flex:0 0 42px; font-size:24px; font-weight:700; height:42px; justify-content:center; }
.hp-contact-address-label { color:var(--hp-muted, #61718a); display:block; font-size:13px; line-height:1.6; margin-bottom:5px; }
.hp-contact-address a, .hp-contact-note a { color:var(--hp-accent-deep, #0b4eab); overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:3px; }
.hp-contact-address a { font-size:16px; font-weight:700; }
.hp-contact h3 { font-size:21px; font-weight:800; line-height:1.4; margin:0; }
.hp-contact .hp-contact-required { color:var(--hp-muted, #61718a); font-size:13px; line-height:1.7; margin:7px 0 21px; }
.hp-contact-form { position:relative; }
.hp-contact-pair { display:grid; gap:18px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.hp-contact-field { margin-bottom:18px; }
.hp-contact-field label { display:block; font-size:14px; font-weight:700; line-height:1.7; margin-bottom:7px; }
.hp-contact-field input, .hp-contact-field textarea { appearance:none; background:var(--hp-paper-soft, #f5f8fc); border:1px solid var(--hp-line, #dce5f0); border-radius:10px; color:var(--hp-ink, #10243f); display:block; font-family:inherit; font-size:16px; line-height:1.5; margin:0; max-width:100%; min-height:46px; padding:11px 13px; width:100%; }
.hp-contact-field textarea { min-height:140px; resize:vertical; }
.hp-contact-field input:focus-visible, .hp-contact-field textarea:focus-visible, .hp-contact-submit:focus-visible, .hp-contact a:focus-visible { outline:3px solid var(--hp-accent, #1269d3); outline-offset:3px; }
.hp-contact .hp-contact-note { color:var(--hp-muted, #61718a); font-size:12px; line-height:1.8; margin:10px 0 0; }
.hp-contact-submit { align-items:center; background:var(--hp-accent, #1269d3); border:1px solid var(--hp-accent, #1269d3); border-radius:11px; color:var(--hp-paper, #fff); cursor:pointer; display:inline-flex; font-family:inherit; font-size:16px; font-weight:800; gap:12px; justify-content:center; line-height:1.5; margin-top:23px; min-height:48px; padding:11px 24px; }
.hp-contact-submit:hover { background:var(--hp-accent-deep, #0b4eab); }
.hp-contact-feedback { border:1px solid; border-radius:10px; font-size:14px; line-height:1.8; margin:0 0 20px; overflow-wrap:anywhere; padding:13px 15px; }
.hp-contact-feedback-success { background:#eaf8f0; border-color:#9fd0b4; color:#155a35; }
.hp-contact-feedback-error { background:#fff0f1; border-color:#e8aeb5; color:#8c1e2d; }
.hp-contact-honeypot, .pc-admin-sr-only { clip:rect(0,0,0,0); clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; white-space:nowrap; width:1px; }
.pc-admin-panel { background:#fff; border:1px solid #dce5f0; border-top:4px solid #1269d3; border-radius:14px; box-shadow:0 6px 24px #10243f08; color:#10243f; margin:0 0 24px; padding:clamp(20px, 3vw, 40px); scroll-margin-top:24px; }
.pc-admin-header { align-items:flex-start; display:flex; gap:15px; margin-bottom:26px; }
.pc-admin-header > div { min-width:0; }
.pc-admin-icon { align-items:center; background:#e8f2ff; border-radius:12px; color:#0b4eab; display:flex; flex:0 0 44px; font-size:26px; font-weight:700; height:44px; justify-content:center; }
.pc-admin-header h2 { font-size:22px; font-weight:800; line-height:1.5; margin:0 0 5px; }
.pc-admin-header p { color:#61718a; font-size:14px; line-height:1.8; margin:0; }
.pc-admin-fields { border:0; margin:0; min-width:0; padding:0; }
.pc-admin-fields:disabled { opacity:.65; }
.pc-admin-toggle-row { align-items:flex-start; background:#f5f8fc; border:1px solid #dce5f0; border-radius:11px; display:flex; gap:12px; margin-bottom:23px; padding:17px; }
.pc-admin-toggle-row input[type=checkbox] { accent-color:#1269d3; flex:0 0 22px; height:22px; margin:3px 0 0; width:22px; }
.pc-admin-toggle-row label { cursor:pointer; font-size:16px; font-weight:700; line-height:1.7; }
.pc-admin-toggle-row p, .pc-admin-field p { color:#61718a; font-size:13px; line-height:1.7; margin:6px 0 0; }
.pc-admin-field { margin-bottom:22px; min-width:0; }
.pc-admin-field label { display:block; font-size:15px; font-weight:700; line-height:1.7; margin-bottom:8px; }
.pc-admin-field input, .pc-admin-field textarea { background:#fff; border:1px solid #bdccdf; border-radius:8px; color:#10243f; display:block; font-family:inherit; font-size:16px; line-height:1.6; max-width:100%; min-height:46px; padding:10px 12px; width:100%; }
.pc-admin-field textarea { min-height:150px; resize:vertical; }
.pc-admin-language-grid { display:grid; gap:22px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.pc-admin-notice { background:#eff6ff; border:1px solid #c6dcf7; border-radius:10px; color:#214b80; font-size:14px; line-height:1.8; margin-bottom:22px; overflow-wrap:anywhere; padding:14px 16px; }
.pc-admin-notice a, .pc-admin-actions a { color:#0b4eab; text-decoration:underline; text-underline-offset:3px; }
.pc-admin-notice-success { background:#eaf8f0; border-color:#9fd0b4; color:#155a35; }
.pc-admin-notice-error { background:#fff0f1; border-color:#e8aeb5; color:#8c1e2d; }
.pc-admin-actions { align-items:center; border-top:1px solid #dce5f0; display:flex; flex-wrap:wrap; gap:18px; justify-content:space-between; padding-top:23px; }
.pc-admin-actions a { font-size:14px; font-weight:700; line-height:1.8; }
.pc-admin-save { background:#1269d3; border:1px solid #1269d3; border-radius:9px; color:#fff; cursor:pointer; font-family:inherit; font-size:16px; font-weight:700; line-height:1.5; min-height:46px; padding:10px 23px; }
.pc-admin-save:hover { background:#0b4eab; }
.pc-admin-fields :focus-visible { outline:3px solid #1269d3; outline-offset:3px; }
@media (max-width:800px) { .hp-contact { gap:32px; grid-template-columns:minmax(0,1fr); margin-top:46px; } .hp-contact-form-panel { border-top:1px solid var(--hp-line, #dce5f0); padding-top:28px; } .pc-admin-language-grid { gap:0; grid-template-columns:minmax(0,1fr); } }
@media (max-width:480px) { .hp-contact-pair { gap:0; grid-template-columns:minmax(0,1fr); } .hp-contact-submit { width:100%; } .pc-admin-actions { align-items:stretch; flex-direction:column-reverse; } .pc-admin-save { width:100%; } .pc-admin-header { gap:10px; } .pc-admin-header h2 { font-size:20px; } }
