/* CarShine visual refresh — a calmer, more compact layer shared by public pages. */
:root {
  --ink: #0a0a0b;
  --panel: #121214;
  --muted: #a7a8ad;
  --line: rgba(255,255,255,.11);
  --red: #e52222;
  --red-light: #ff625a;
  --white: #f6f6f4;
}

body { background:#0a0a0b; }
body::before { background:radial-gradient(circle at 7% 4%,rgba(204,15,15,.1),transparent 27rem),radial-gradient(circle at 92% 33%,rgba(107,0,0,.09),transparent 31rem),#0a0a0b; }
.site-shell { max-width:1480px; border-inline-color:rgba(255,255,255,.055); }
.utility-bar { min-height:34px; padding-inline:clamp(1.15rem,3.5vw,3.5rem); color:#a0a0a4; font-size:.58rem; }
.utility-bar a { color:#dedee0; }
.utility-bar p { color:#85858a; }
.site-header { position:sticky; top:0; height:72px; padding-inline:clamp(1.15rem,3.5vw,3.5rem); background:rgba(10,10,11,.9); box-shadow:0 10px 28px rgba(0,0,0,.14); }
.brand { width:142px; height:58px; }
.brand img { width:142px; transform:scale(1.22); }
.main-nav { gap:clamp(.8rem,1.7vw,1.65rem); font-size:.64rem; letter-spacing:.09em; }
.main-nav>a:not(.nav-call) { color:#c5c5c9; }
.main-nav>a[href*="#booking"] { display:inline-flex; align-items:center; min-height:34px; padding:0 .72rem; border:1px solid rgba(255,255,255,.19); color:#fff; background:#171719; }
.main-nav>a[href*="#booking"]:hover { border-color:var(--red-light); color:#fff; background:#241010; }
.nav-call { padding:.68rem .86rem; border:0; background:linear-gradient(135deg,#f22b24,#cf1014); clip-path:none; box-shadow:0 8px 20px rgba(229,34,34,.2); }

.hero { min-height:590px; grid-template-columns:minmax(0,1.03fr) minmax(330px,.72fr); padding:clamp(3.4rem,7vw,6.2rem) clamp(1.2rem,5.5vw,5.6rem); }
.hero::after { opacity:.26; background:linear-gradient(90deg,#0a0a0b 7%,rgba(10,10,11,.88) 48%,rgba(10,10,11,.38)),url('/carshine-services.webp') center/cover; }
.hero-glow { opacity:.2; filter:blur(110px); }
h1 { font-size:clamp(3.6rem,7.2vw,6.9rem); line-height:.88; letter-spacing:.005em; }
h2 { line-height:.9; letter-spacing:.006em; }
.hero-copy { max-width:500px; font-size:.82rem; line-height:1.8; }
.hero-actions { margin:1.7rem 0 2.25rem; }
.hero-proof { max-width:480px; }
.hero-proof div { padding-top:.85rem; }
.button { min-height:43px; padding:.72rem 1rem; border-radius:3px; font-size:.65rem; }
.button-primary { border:0; clip-path:none; box-shadow:0 9px 23px rgba(229,34,34,.2); }
.button-ghost { border-color:rgba(255,255,255,.25); background:rgba(255,255,255,.02); }
.button:hover { transform:translateY(-2px); }
.marquee { border-block-color:rgba(255,255,255,.08); }
.marquee-track { min-height:44px; font-size:.62rem; }

.section { padding:clamp(3.8rem,7vw,6.4rem) clamp(1.2rem,5.5vw,5.6rem); }
.section-heading { margin-bottom:2.3rem; }
.heading-row { gap:clamp(1.5rem,5vw,5rem); }
.heading-row>p { max-width:370px; font-size:.78rem; }
.about-section { gap:clamp(2rem,6vw,5.5rem); }
.about-visual { border-radius:6px; overflow:hidden; }
.about-copy>p:not(.eyebrow),.social-copy>p:not(.eyebrow),.gallery-link-copy>p:not(.eyebrow) { font-size:.8rem; line-height:1.8; }
.benefit-list { margin-top:1.5rem; }
.benefit-list>div { padding-block:.85rem; }
.benefit-list h3 { font-size:1.35rem; }
.benefit-list p { font-size:.68rem; }
.service-grid { gap:1rem; }
.service-card,.service-showcase,.package-card,.gallery-page-card { border-radius:5px; }
.service-card { min-height:255px; padding:1.3rem; }
.service-card h3 { font-size:2.35rem; }
.service-card p,.service-card li { font-size:.64rem; }
.service-showcase { margin-top:1rem; }
.package-page-link { margin-top:1rem; padding:1rem 1.1rem; }

.gallery-link-section { padding:clamp(3.8rem,7vw,6.4rem) clamp(1.2rem,5.5vw,5.6rem); gap:clamp(2rem,6vw,5.5rem); }
.gallery-link-panel { min-height:240px; padding:1.45rem; border-radius:5px; }
.gallery-slideshow-section { grid-template-columns:minmax(230px,.72fr) minmax(340px,1fr); gap:clamp(2rem,6vw,5.5rem); padding:clamp(3.8rem,7vw,6.4rem) clamp(1.2rem,5.5vw,5.6rem); }
.gallery-slideshow-stage { min-height:350px; }
.gallery-slideshow { border-radius:5px; }

/* A compact social card replaces the oversized network panel. */
.social-section { grid-template-columns:minmax(260px,.9fr) minmax(280px,.7fr); gap:clamp(2rem,6vw,5.5rem); align-items:center; }
.social-widget { display:flex; align-items:center; gap:1rem; min-height:118px; padding:1rem 1.15rem; border:1px solid rgba(255,104,95,.42); border-radius:5px; overflow:visible; background:linear-gradient(112deg,rgba(229,34,34,.18),rgba(29,12,13,.9) 46%,#111215); box-shadow:0 16px 38px rgba(0,0,0,.22); transition:border-color .2s,transform .2s,background .2s; }
.social-widget:hover { border-color:#ff7369; background:linear-gradient(112deg,rgba(229,34,34,.3),rgba(34,12,13,.95) 47%,#121315); transform:translateY(-3px); }
.social-widget-icon { display:grid; place-items:center; flex:none; width:43px; height:43px; border-radius:50%; color:#fff; background:#1877f2; font:800 2rem/.9 Arial,sans-serif; }
.social-widget-body { display:grid; gap:.17rem; min-width:0; }
.social-widget-body small { color:#ffb4ae; font-size:.56rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.social-widget-body strong { color:#fff; font:700 1.75rem/.86 var(--font-display); letter-spacing:.02em; text-transform:uppercase; }
.social-widget-body em { overflow:hidden; color:#bbb; font-size:.63rem; font-style:normal; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
.social-widget-arrow { display:grid; place-items:center; flex:none; width:32px; height:32px; margin-left:auto; border:1px solid rgba(255,255,255,.26); border-radius:50%; color:#fff; font-size:1rem; }

.process-section,.faq-section { border-top-color:rgba(255,255,255,.08); }
.process-list { margin-top:2.2rem; }
.process-list li { padding-block:1rem; }
.faq-list details { border-radius:4px; }
.booking-section { gap:clamp(2rem,6vw,5.5rem); }
.booking-panel { border-radius:5px; box-shadow:0 18px 48px rgba(0,0,0,.25); }

.packages-hero,.gallery-page-hero,.member-hero { min-height:0; padding-block:clamp(3.2rem,6vw,5.4rem); }
.packages-hero-copy h1,.gallery-page-hero-copy h1 { font-size:clamp(3.5rem,6.3vw,6rem); }
.packages-hero-summary,.gallery-page-hero-panel { border-radius:5px; }
.package-catalog { padding-top:clamp(3rem,5vw,4.6rem); }
.gallery-portfolio { padding-top:clamp(3rem,5vw,4.6rem); }
.gallery-page-grid { gap:.8rem; }
.gallery-page-card { border-color:rgba(255,255,255,.13); }
.member-auth { gap:clamp(2rem,5vw,4.5rem); }
.member-auth-card,.member-panel,.member-wallet>div { border-radius:5px; }

.site-footer { padding:3.5rem clamp(1.2rem,5.5vw,5.6rem) 1.1rem; border-top-color:rgba(255,255,255,.08); }
.footer-grid { gap:1.7rem; padding-bottom:2.15rem; }
.footer-grid h3 { font-size:1.15rem; }
.footer-grid a,.footer-grid p { font-size:.64rem; }
.footer-brand>p { font-size:1.55rem; }
.footer-contact>a:first-of-type { font-size:1.35rem; }
.footer-facebook { display:inline-flex; align-items:center; min-height:28px; padding:.34rem .55rem; border:1px solid rgba(77,147,255,.52); border-radius:3px; color:#b9d5ff!important; background:rgba(24,119,242,.09); font-size:.58rem!important; font-weight:800; letter-spacing:.04em; }
.footer-facebook:hover { border-color:#85b9ff; color:#fff!important; background:rgba(24,119,242,.26); }
.footer-bottom { padding-top:1rem; font-size:.57rem; }

@media (max-width:1000px) {
  .site-header { height:68px; }
  .hero { min-height:520px; grid-template-columns:1fr; }
  .hero-art { display:none; }
  .gallery-slideshow-section,.social-section { grid-template-columns:1fr; }
  .social-widget { max-width:560px; }
}

@media (max-width:760px) {
  .utility-bar { display:none; }
  .site-header { top:0; }
  .main-nav>a[href*="#booking"] { min-height:auto; padding:0; border:0; background:transparent; }
  .main-nav>a[href*="#booking"]:hover { border:0; background:transparent; }
  h1 { font-size:clamp(3.2rem,15vw,4.6rem); }
  .hero { min-height:0; padding-block:4rem; }
  .hero-proof { gap:.7rem; }
  .section,.gallery-link-section,.gallery-slideshow-section { padding-block:3.75rem; }
  .service-card { min-height:0; }
  .gallery-slideshow-stage { min-height:265px; }
  .social-widget { min-height:100px; padding:.9rem; }
  .social-widget-body strong { font-size:1.5rem; }
  .social-widget-body em { white-space:normal; }
  .site-footer { padding-top:2.8rem; }
}

/* The source crest is square; public layouts use a cropped wordmark so it is never clipped or over-sized. */
.brand { display:flex; align-items:center; width:172px; height:56px; overflow:visible; }
.brand img { display:block; width:172px; height:56px; max-height:none; object-fit:contain; object-position:left center; transform:none!important; mix-blend-mode:normal!important; }
.footer-brand { display:flex; flex-direction:column; align-items:flex-start; }
.footer-brand img { display:block; width:190px; height:60px; max-width:100%; margin:0!important; object-fit:contain; object-position:left center; transform:none!important; mix-blend-mode:normal!important; }
.footer-brand img[src$="carshine-logo.webp"] { object-fit:cover; object-position:center 57%; }

@media (max-width:760px) {
  .brand { width:142px; height:48px; }
  .brand img { width:142px; height:48px; }
  .footer-brand img { width:168px; height:54px; }
}
