/**
 * Public Website — Contact page (Phase 9)
 * Scoped `.pub-ct-*`.
 */

.pub-ct-header { background: var(--nkst-color-surface-alt, #f0f2f5); padding: 1.75rem 1rem; text-align: center; }
.pub-ct-header h1 { font-size: var(--nkst-font-xl, 22px); font-weight: 800; margin: 0 0 .5rem; color: var(--nkst-color-text, #1f2937); }
.pub-ct-header p { font-size: var(--nkst-font-sm, 14px); color: var(--nkst-color-text-muted, #6b7280); margin: 0; max-width: 52ch; margin-inline: auto; }

.pub-ct-section { max-width: 760px; margin: 0 auto; padding: 1.5rem 1rem; }
.pub-ct-section + .pub-ct-section { padding-top: 0; }
.pub-ct-section-title { font-size: var(--nkst-font-lg, 19px); font-weight: 800; color: var(--nkst-color-text, #1f2937); margin: 0 0 .85rem; }

/* Section 2 — Contact info */
.pub-ct-info-grid { display: grid; grid-template-columns: 1fr; gap: .65rem; }
@media (min-width: 560px) { .pub-ct-info-grid { grid-template-columns: repeat(3, 1fr); } }
.pub-ct-info-tile { background: #fff; border: 1px solid var(--nkst-color-border, #e5e7eb); border-radius: var(--nkst-radius-md, 12px); padding: 1.1rem .95rem; text-align: center; }
.pub-ct-info-icon { width: 42px; height: 42px; border-radius: 50%; background: rgba(30,58,138,.08); color: var(--nkst-color-primary, #1e3a8a); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; margin: 0 auto .6rem; }
.pub-ct-info-label { font-size: var(--nkst-font-2xs, 12px); font-weight: 700; text-transform: uppercase; letter-spacing: .02em; color: var(--nkst-color-text-muted, #6b7280); margin: 0 0 .2rem; }
.pub-ct-info-value { font-size: var(--nkst-font-sm, 14px); font-weight: 700; color: var(--nkst-color-text, #1f2937); margin: 0; text-decoration: none; word-break: break-word; }

/* Section 3 — Service times */
.pub-ct-service-grid { display: grid; grid-template-columns: 1fr; gap: .65rem; }
@media (min-width: 560px) { .pub-ct-service-grid { grid-template-columns: repeat(2, 1fr); } }
.pub-ct-service-card { background: #fff; border: 1px solid var(--nkst-color-border, #e5e7eb); border-radius: var(--nkst-radius-md, 12px); padding: 1rem; }
.pub-ct-service-title { font-size: var(--nkst-font-sm, 14px); font-weight: 800; color: var(--nkst-color-primary, #1e3a8a); margin: 0 0 .5rem; display: flex; align-items: center; gap: .4rem; }
.pub-ct-service-line { font-size: var(--nkst-font-xs, 13px); color: var(--nkst-color-text, #1f2937); margin: 0 0 .3rem; line-height: 1.5; }
.pub-ct-service-line:last-child { margin-bottom: 0; }

/* Section 4 — Form */
.pub-ct-form-card { background: #fff; border: 1px solid var(--nkst-color-border, #e5e7eb); border-radius: var(--nkst-radius-lg, 16px); padding: 1.25rem; }
.pub-ct-field { margin-bottom: 1rem; }
.pub-ct-field label { display: block; font-size: var(--nkst-font-xs, 13px); font-weight: 700; color: var(--nkst-color-text, #1f2937); margin-bottom: .35rem; }
.pub-ct-field input, .pub-ct-field textarea {
    width: 100%; padding: .75rem .9rem; border-radius: var(--nkst-radius-sm, 8px); border: 1px solid var(--nkst-color-border, #e5e7eb);
    font-size: 16px; font-family: inherit; box-sizing: border-box; min-height: 44px;
}
.pub-ct-field textarea { min-height: 130px; resize: vertical; }
.pub-ct-field input:focus, .pub-ct-field textarea:focus { outline: 2px solid var(--nkst-color-primary, #1e3a8a); outline-offset: 1px; }
.pub-ct-field-hint { font-size: var(--nkst-font-2xs, 12px); color: var(--nkst-color-text-muted, #6b7280); margin-top: .3rem; }
.pub-ct-row-2 { display: grid; grid-template-columns: 1fr; gap: 0; }
@media (min-width: 560px) { .pub-ct-row-2 { grid-template-columns: 1fr 1fr; gap: 1rem; } .pub-ct-row-2 .pub-ct-field { margin-bottom: 1rem; } }

.pub-ct-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.pub-ct-submit { width: 100%; min-height: 48px; font-size: var(--nkst-font-sm, 14px); display: flex; align-items: center; justify-content: center; }

.pub-ct-alert { border-radius: var(--nkst-radius-md, 12px); padding: .9rem 1rem; font-size: var(--nkst-font-sm, 14px); margin-bottom: 1rem; }
.pub-ct-alert-success { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.pub-ct-alert-error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }

/* Section 5 — Location */
.pub-ct-location-card { background: #fff; border: 1px solid var(--nkst-color-border, #e5e7eb); border-radius: var(--nkst-radius-md, 12px); padding: 1.1rem; display: flex; flex-direction: column; gap: .75rem; align-items: flex-start; }
.pub-ct-location-addr { font-size: var(--nkst-font-sm, 14px); color: var(--nkst-color-text, #1f2937); margin: 0; line-height: 1.6; }
.pub-ct-directions-btn { display: inline-flex; align-items: center; gap: .4rem; }

/* Section 6 — Social */
.pub-ct-social-row { display: flex; gap: .65rem; flex-wrap: wrap; }
.pub-ct-social-link { width: 44px; height: 44px; border-radius: 50%; background: var(--nkst-color-surface-alt, #f0f2f5); color: var(--nkst-color-primary, #1e3a8a); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; text-decoration: none; }
.pub-ct-social-link:hover { background: rgba(30,58,138,.12); }
