/* Public brand treatment: the footer's charcoal, red and restrained borders. */
:root { --shop-surface:#192232; --shop-surface-raised:#202b3b; --shop-border:#435064; --shop-text:#f3f5f8; --shop-muted:#c1cada; --shop-red:#f87171; }
body { background:#151d2a; }
.navbar { background:linear-gradient(120deg,#202a39,#151b29); border-bottom:1px solid #485164; }
.navbar .navbar-brand .brand-text { color:#f4f6fa; }
.navbar .nav-link:hover,.navbar .nav-link.active { color:#fca5a5 !important; }
.navbar .nav-link:focus-visible { outline:2px solid #fca5a5; outline-offset:4px; border-radius:4px; }
.staff-content { background:#f4f6f9; color:#242e3c; min-height:55vh; }
.public-content { background:#192232; color:var(--shop-text); min-height:55vh; }
.public-content p { line-height:1.7; }
.public-content a:not(.btn):not(.contact-directions):not(.contact-map-caption a) { color:#fda4a4; text-decoration:none; }
.public-content a:not(.btn):hover { text-decoration:underline; text-underline-offset:4px; }
.public-content a:focus-visible,.public-content button:focus-visible,.public-content summary:focus-visible { outline:3px solid #fda4a4; outline-offset:4px; }
.public-content .bg-light { background:#161f2d !important; }
.public-content .text-muted { color:var(--shop-muted) !important; }
.public-content .section-title,.public-content .gradient-text { color:var(--shop-text); background:none; -webkit-text-fill-color:currentColor; }
.public-content .section-title::after { background:#f87171; height:3px; }
.public-content .card,.public-content .testimonial-card,.public-content .stat-card,.credibility-card { background:linear-gradient(140deg,#243041,#1d2737); color:var(--shop-text); border:1px solid var(--shop-border); border-radius:16px; box-shadow:0 10px 26px #080e1624; }
.public-content .card-body { padding:1.65rem; }
.public-content .service-card { height:100%; border-top:3px solid #ef4444; }
.public-content .service-card:hover,.public-content .stat-card:hover,.public-content .testimonial-card:hover { transform:none; background:#263345; box-shadow:0 12px 26px #080e1624; }
.public-content .service-card .card-title,.public-content .service-card .card-text,.public-content .stat-label,.public-content .testimonial-info h3 { color:var(--shop-text); }
.public-content .service-card .service-icon,.public-content .testimonial-rating { color:#fca5a5; }
.public-content .service-card::before { display:none; }
.public-content .testimonial-info p,.public-content .testimonial-text { color:var(--shop-muted); }
.public-content .btn-primary-custom { background:#b91c1c; border:1px solid #ef6666; color:#fff; border-radius:9px; box-shadow:none; min-height:44px; }
.public-content .btn-primary-custom:hover { background:#991b1b; transform:none; color:#fff; text-decoration:none; }
.public-content .btn-outline-dark,.public-content .btn-secondary-custom,.public-content .btn-outline-secondary { color:#f4f6fa; border:1px solid #64748b; background:#263346; border-radius:9px; min-height:44px; }
.public-content .btn-outline-dark:hover,.public-content .btn-secondary-custom:hover,.public-content .btn-outline-secondary:hover { background:#34445b; color:#fff; }
.public-content .alert { color:#172033; }
.public-content .alert a { color:#8b1717 !important; text-decoration:underline !important; }
.public-content .form-control,.public-content .form-select { border:1px solid #98a3b4; border-radius:9px; min-height:44px; }
.public-content .form-control:focus,.public-content .form-select:focus { border-color:#f87171; box-shadow:0 0 0 3px #f8717130; }
.public-content .validation-message,.public-content .validation-errors { color:#fecaca; }
.public-content .table { --bs-table-color:#e8eef7; --bs-table-bg:transparent; --bs-table-border-color:#465266; }
.public-content .stats-section { background:linear-gradient(120deg,#1d2837,#131b28); border-bottom:1px solid #435064; padding-block:3rem !important; }
.public-content .stat-card { height:100%; padding:1.65rem 1.2rem; }
.public-content .stat-number { color:#fca5a5; font-size:clamp(2rem,3vw,2.75rem); }
.public-content .stat-message { font-size:clamp(1.4rem,2.4vw,1.8rem); padding-block:.4rem; }
.public-content .stat-card .small { color:var(--shop-muted); margin-top:.65rem; font-size:.8rem; line-height:1.5; }
.stat-details { display:inline-block; margin-top:.7rem; font-size:.8rem; }
.public-pathways { background:#1a2433; }
.public-floor { background:#131c29; border-top:1px solid #435064; }
.public-eyebrow { color:#fca5a5; font-size:.72rem; letter-spacing:.14em; font-weight:750; margin-bottom:.7rem; }
.public-page-heading { padding:3.75rem 0; background:linear-gradient(120deg,#242f40,#141d2b); border-bottom:1px solid #475369; border-top:3px solid #dc2626; }
.public-page-heading h1 { font-size:clamp(2rem,4vw,3.25rem); font-weight:750; max-width:900px; }
.public-page-heading p:last-child { margin-bottom:0; max-width:780px; color:var(--shop-muted); font-size:1.05rem; }
.feedback-section { padding:4rem 0; background:linear-gradient(130deg,#202b3c,#151d2b); border-top:1px solid #475369; }
.feedback-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.feedback-heading h2 { font-size:clamp(1.7rem,3vw,2.35rem); font-weight:700; margin-bottom:0; }
.verified-label { display:inline-flex; align-items:center; color:#e1e9f5; background:#314053; border:1px solid #64748b; border-radius:999px; padding:.5rem .8rem; font-size:.77rem; font-weight:650; }
.feedback-lead { color:var(--shop-muted); max-width:820px; margin:1.25rem 0 2rem; }
.feedback-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.feedback-card { background:#253143; border:1px solid #4b586d; border-top:3px solid #f87171; border-radius:12px; padding:1.4rem; min-width:0; }
.feedback-card h3 { font-size:1rem; font-weight:650; margin-bottom:1rem; }
.feedback-card .feedback-value { font-size:clamp(1.25rem,2.5vw,2rem); font-weight:750; color:#fca5a5; line-height:1.3; margin-bottom:.8rem; overflow-wrap:anywhere; }
.feedback-card p:not(.feedback-value) { color:#d2dbea; font-size:.85rem; line-height:1.5; }
.feedback-card small { color:#d2dbea; font-size:.75rem; }
.feedback-method,.feedback-state { color:var(--shop-muted); font-size:.85rem; margin-top:1.5rem; }
.feedback-state { padding:1.2rem; border:1px solid #526176; border-radius:10px; }
.feedback-welcome { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); align-items:center; gap:2rem; padding:clamp(1.5rem,4vw,3.25rem); overflow:hidden; border:1px solid #526176; border-top:3px solid #f87171; border-radius:20px; background:radial-gradient(ellipse at 95% 20%,#9f232329,transparent 65%),linear-gradient(135deg,#29364a,#182232); box-shadow:0 18px 42px #080e1633; }
.feedback-welcome::before { content:""; position:absolute; z-index:-1; inset:0; background:repeating-linear-gradient(130deg,transparent 0 60px,#ffffff03 60px 61px); pointer-events:none; }
.feedback-welcome h2 { font-size:clamp(2rem,4vw,3rem); font-weight:750; line-height:1.15; margin-bottom:1.3rem; }
.feedback-welcome .feedback-welcome-intro { color:#fca5a5; font-size:clamp(1.1rem,2vw,1.35rem); font-weight:650; line-height:1.5; }
.feedback-welcome-copy > p:not(.public-eyebrow):not(.feedback-welcome-intro) { color:#d2dbea; max-width:650px; }
.feedback-welcome-copy .feedback-welcome-note { margin-bottom:0; font-size:.9rem; }
.feedback-welcome-brand { display:flex; justify-content:center; }
.feedback-welcome-brand img { display:block; max-width:100%; width:300px; height:auto; filter:drop-shadow(0 12px 24px #080e1680); }
@media(max-width:767px) { .feedback-welcome { grid-template-columns:1fr; gap:1.5rem; } .feedback-welcome-brand { grid-row:1; } .feedback-welcome-brand img { width:160px; } }
.public-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.15rem; margin-top:1.7rem; }
.public-actions a:not(.btn) { display:inline-flex; align-items:center; min-height:44px; }
.credibility-card { padding:1.7rem; height:100%; }
.methodology-note { margin-top:2.5rem; padding:2rem; border:1px solid #526176; border-radius:12px; background:#1f2b3b; }
.survey-intro { max-width:860px; margin-bottom:2rem; }
.survey-intro .verified-label { margin-bottom:1rem; }
.survey-form { max-width:960px; }
.survey-group { border:1px solid #526176; border-radius:14px; background:#233043; padding:1.6rem; margin:0 0 1.5rem; }
.survey-group legend { float:none; width:auto; padding:0 .6rem; font-size:1.25rem; font-weight:700; }
.survey-scale { color:#d2dbea; font-size:.85rem; margin-bottom:1.5rem; }
.field-help { font-size:.82rem; margin:.6rem 0 0; line-height:1.5; }
.survey-group .field-help { color:#d2dbea; }
.survey-consent { display:flex; align-items:flex-start; gap:.7rem; line-height:1.6; }
.survey-consent input { margin-top:.35rem; flex:0 0 18px; width:18px; height:18px; accent-color:#b91c1c; }
.survey-invitation { padding:1.5rem; border:1px solid #77849a; border-left:3px solid #f87171; border-radius:10px; margin:1.5rem 0; }
.settings-days { display:flex; flex-wrap:wrap; gap:.7rem; }
.settings-days label { padding:.65rem .85rem; border:1px solid #c3ccda; border-radius:8px; background:#fff; }
.settings-days input { accent-color:#b91c1c; }
.feedback-admin-summary { display:flex; flex-wrap:wrap; gap:1.25rem; padding:1.1rem; border:1px solid #c3ccda; border-radius:10px; background:#fff; }
.response-ratings { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.response-ratings dt { font-size:.8rem; color:#566277; }
.response-ratings dd { margin-top:.3rem; overflow-wrap:anywhere; }
.private-feedback { padding:1.1rem; border:1px solid #c3ccda; border-radius:10px; background:#f3f5f8; }
.private-feedback p { white-space:pre-wrap; overflow-wrap:anywhere; margin-bottom:0; }
@media(min-width:1200px) and (max-width:1399px) { .navbar .navbar-brand .brand-text { font-size:1.1rem; } .navbar .navbar-nav .nav-link { margin-left:.6rem; font-size:.9rem; } }
@media(max-width:991px) { .feedback-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .response-ratings { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:575px) { .feedback-grid { grid-template-columns:1fr; } .feedback-section { padding:2.5rem 0; } .public-page-heading { padding:2.5rem 0; } .survey-group { padding:1.1rem; } .methodology-note { padding:1.2rem; } .public-actions .btn { width:100%; } .public-content .card-body { padding:1.2rem; } }
@media(prefers-reduced-motion:reduce) { .public-content * { scroll-behavior:auto !important; } }

.settings-form-controls { border:0; padding:0; margin:0; min-width:0; }

.admin-interface .public-eyebrow { color:#9f1239; }

.public-content .text-danger { color:#fca5a5 !important; }
.admin-interface .admin-section > legend { float:none; width:auto; padding:0 .4rem; }

.public-content .highlight-accent { color:#fca5a5; }
.public-content .card .card-title { color:var(--shop-text); }
.public-content .card .card-text { color:var(--shop-muted); }
.public-content .public-lift-card { background:#243041; color:var(--shop-text); border-color:var(--shop-border); }
.public-content .public-lift-card-heading span { color:#fca5a5; }
.public-content .lift-vehicle-type,.public-content .lift-service { color:var(--shop-muted); }
.public-content .contact-intro { color:var(--shop-muted); }
.public-content .contact-details-panel { background:linear-gradient(140deg,#243041,#1d2737); border-color:var(--shop-border); }
.public-content .contact-details-panel h3,.public-content .contact-details dd { color:var(--shop-text); }
.public-content .contact-details dt { color:var(--shop-muted); }
.public-content .contact-eyebrow { color:#fca5a5; }
.public-content .contact-map-panel { border-color:var(--shop-border); }
.public-content .contact-map-caption { background:#243041; color:var(--shop-muted); }
.public-content .contact-map-caption a { color:#fda4a4; }
.public-content .shop-dialog { background:#202b3b; color:var(--shop-text); border:1px solid #64748b; }
.public-content .btn-outline-danger { color:#fca5a5; border-color:#f87171; min-height:44px; }
.public-content .btn-outline-danger:hover { color:#fff; background:#991b1b; }

.public-content .form-text { color:var(--shop-muted); }

.public-content .service-card { scroll-margin-top:6rem; }
.public-content .service-detail { color:#b8c5d6; font-size:.9rem; line-height:1.6; }
.public-content .service-visit-panel { border:1px solid #435369; border-radius:1rem; padding:clamp(1.25rem,3vw,2.5rem); background:#202b3b; }
.public-content .service-visit-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-top:1.5rem; }
.public-content .service-visit address { line-height:1.7; }
.public-content .service-visit .service-actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.public-content .service-visit details { border-bottom:1px solid #435369; }
.public-content .service-visit summary { padding:.85rem .25rem; min-height:44px; cursor:pointer; font-weight:650; }
.public-content .service-visit summary:focus-visible { outline:3px solid #ff9992; outline-offset:3px; border-radius:.3rem; }
.public-content .service-visit details p { color:#b8c5d6; padding:0 .25rem .75rem; line-height:1.65; }
@media(max-width:767px) { .public-content .service-visit-grid { grid-template-columns:1fr; gap:1.5rem; } }
