/* Landing-page additions retain the Sweet Chaos visual system. */
/* Decorative accents never share a layer with hero text or the ticket. */
.landing-page .photo-stack .star,.landing-page .photo-stack .photo-sparkle{display:none}
.hero-under-note .mini-sun,.kicker::before{flex-shrink:0}
.visit-faq{margin-top:65px;max-width:850px}.visit-faq h3{color:var(--cherry);font-size:1.7rem}
.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-160%);z-index:300;padding:12px 18px;background:var(--cream);color:var(--cherry);border:2px solid var(--cherry);border-radius:12px}.skip-link:focus{transform:none}
section[id],main[id]{scroll-margin-top:110px}.landing-page .hero-actions{gap:18px}.landing-page .photo-back{width:100%;height:72%;right:0;object-fit:cover}.landing-page .hero-logo{width:52%;bottom:7%}.landing-page .stamp{width:112px;height:112px;right:-2%;bottom:12%;font-size:.85rem}.landing-page .photo-ticket{top:0;left:9%}.art-caption{position:absolute;bottom:-18px;left:0;right:0;text-align:center;font-size:.69rem!important;font-style:italic;line-height:1.5;max-width:none!important}.landing-page .floating-cherries{width:108px;right:-16px}.landing-page .hero-grid{grid-template-columns:1fr 1fr;gap:55px}.landing-page .hero h1{font-size:clamp(3.6rem,5.8vw,6.4rem)}
.gallery-sticker{border:2px dashed var(--olive);outline:6px solid #e5e99a;border-radius:50%;background:#e5e99a;flex:none;width:125px;height:125px;display:grid;align-content:center;text-align:center;transform:rotate(10deg);font-family:var(--serif);font-style:italic;font-weight:900;color:var(--olive)}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:start}.gallery-card{margin:0;background:var(--paper);padding:12px;border:1px solid #edc5bd;border-radius:10px;box-shadow:7px 9px 0 #edc4c5;transform:rotate(1.5deg)}.gallery-card>img{width:100%;height:auto;object-fit:cover;border-radius:4px}.gallery-wide{grid-row:span 2;transform:rotate(-1.5deg)}.gallery-wide>img{aspect-ratio:4/3}.gallery-brand>img{height:220px;object-fit:contain;background:#fff4df}.gallery-card figcaption{padding:16px 10px 8px}.gallery-card figcaption strong,.gallery-card figcaption span{display:block}.gallery-card figcaption strong{font-family:var(--serif);color:var(--cherry);font-size:1.3rem}.gallery-card figcaption span{margin-top:5px;color:var(--muted);font-size:.8rem}.gallery-cherry{transform:rotate(-1deg)}.cherry-art{min-height:210px;background:#f9dce2;display:flex;align-items:center;justify-content:center;gap:20px;position:relative;padding:25px}.cherry-art>img{width:100px}.cherry-art>span{font-family:var(--display);font-size:1.8rem;line-height:1.2;color:var(--cherry);max-width:170px}.cherry-art .gallery-flower{position:absolute;width:35px;bottom:15px;right:20px}.gallery-note{text-align:center;color:var(--muted);font-size:.82rem;margin:35px 0 0}
.visit-grid,.contact-grid,.bombs-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.visit-grid h2,.contact-grid h2,.bombs-grid h2{margin:16px 0 25px}.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:26px 0}.visit-details dt{font-family:var(--serif);font-size:1.25rem;color:var(--cherry);font-weight:900;margin-bottom:10px}.visit-details dd{margin:0;line-height:1.7;color:var(--muted);font-size:.9rem}.map-postcard{background:#fffdf5;padding:12px;border:2px solid #e6b6bd;box-shadow:9px 11px 0 #efc5c1;border-radius:18px;transform:rotate(1deg);overflow:hidden}.map-postcard iframe{display:block;border:0;width:100%;height:360px;background:#eae7d5;border-radius:9px}.map-caption{display:flex;justify-content:space-between;gap:15px;padding:18px 5px 5px;flex-wrap:wrap;font-size:.9rem;font-weight:800;color:var(--cherry)}.map-note{font-size:.74rem;color:var(--muted);padding:0 5px;margin:8px 0}.contact-grid{align-items:start}.contact-details{display:flex;gap:35px;color:var(--muted);font-size:.9rem}.contact-details strong{color:var(--cherry)}.contact-cherries{transform:rotate(-12deg);margin:20px 0 0 35px;width:135px}
.paper-form{background:var(--paper);border:2px solid #a6193e;border-radius:18px 40px 18px 30px;padding:35px;box-shadow:9px 11px 0 #efc2c7}.paper-form h3{font-size:1.9rem;color:var(--cherry);margin-bottom:8px}.form-note{font-size:.82rem;color:var(--muted);line-height:1.6}.paper-form .btn{margin-top:24px;max-width:100%}.paper-form textarea{min-height:150px}.form-response{margin:24px 0 0;padding:15px;background:#edf0c8;border:1px dashed var(--olive);border-radius:10px;color:var(--olive);font-weight:700;line-height:1.6}.bombs-section{position:relative}.bombs-copy p{max-width:450px}.bombs-tag{display:inline-flex;gap:15px;align-items:center;border-block:2px dashed #b84e68;padding:13px 0;font-family:var(--serif);font-weight:700;font-style:italic;color:var(--cherry)}.signup-form{position:relative;overflow:hidden}.signup-form h3{position:relative;max-width:75%;font-family:var(--display);font-weight:400;font-size:2rem}.signup-form>.field{margin-top:18px}.signup-cherries{position:absolute;right:17px;top:16px;width:80px;transform:rotate(15deg)}.consent{display:flex;align-items:flex-start;gap:10px;margin-top:22px;font-size:.82rem;line-height:1.6;color:var(--muted)}.consent input{accent-color:var(--cherry);width:18px;height:18px;flex:none;margin-top:3px}.privacy-note{margin:20px 0 0}.copyright{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
@media(max-width:1050px){.landing-page .hero-grid{grid-template-columns:1fr;gap:30px}.landing-page .hero-copy{max-width:700px}.landing-page .hero h1{font-size:clamp(3.6rem,8vw,6.2rem)}.landing-page .photo-stack{max-width:650px;width:100%;margin:auto;min-height:540px}.landing-page .photo-ticket{left:4%;top:4%}.landing-page .hero{padding-top:50px}.visit-grid,.contact-grid,.bombs-grid{gap:35px}.gallery-grid{grid-template-columns:1.2fr 1fr}.cherry-art{flex-direction:column;gap:8px}.cherry-art>span{text-align:center;font-size:1.5rem}.gallery-sticker{width:100px;height:100px}.paper-form{padding:25px}}
@media(max-width:700px){section[id]{scroll-margin-top:90px}.landing-page .nav-inner{justify-content:space-between;gap:10px}.landing-page .nav-links a{font-size:.95rem}.landing-page .hero h1{font-size:clamp(3.25rem,11.3vw,5rem)}.landing-page .photo-stack{min-height:385px;margin-bottom:18px}.landing-page .photo-back{width:94%;right:3%;top:5%;height:75%}.landing-page .photo-ticket{font-size:.61rem;top:0}.landing-page .hero-logo{left:3%;width:49%;bottom:7%}.landing-page .stamp{width:88px;height:88px;bottom:12%;right:4%;font-size:.7rem}.landing-page .floating-cherries{width:80px;right:0;top:-15px}.art-caption{bottom:-22px;padding:0 12px}.gallery-grid,.visit-grid,.contact-grid,.bombs-grid{grid-template-columns:1fr;gap:35px}.gallery-wide{grid-row:auto}.gallery-brand>img{height:260px}.gallery-sticker{display:none}.gallery-grid{max-width:560px;margin:auto}.cherry-art{flex-direction:row;min-height:210px}.cherry-art>span{font-size:1.8rem;text-align:left}.map-postcard iframe{height:310px}.contact-grid{gap:25px}.contact-cherries{display:none}.visit-details{gap:15px}.paper-form{padding:25px 20px}.paper-form h3{font-size:1.65rem}.contact-details{gap:20px}.bombs-copy h2{font-size:clamp(2.5rem,9vw,4rem)}.landing-page .hero-actions .btn{width:auto}.signup-form h3{max-width:78%;padding-right:10px}.signup-cherries{width:60px;right:12px}.copyright span{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}

/* Confirmed shop details and the mother-daughter story. */
.contact-details{flex-wrap:wrap}.contact-details p{min-width:0;max-width:100%}.contact-details a{overflow-wrap:anywhere}
.social-row a{text-decoration:none;cursor:pointer}.social-row a:hover{background:var(--pink)}
.opening-calendar{margin-top:50px}.opening-calendar h3{font-size:1.8rem;color:var(--cherry)}
.opening-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:24px 0}
.opening-dates li{padding:18px;background:var(--paper);border:1px solid #d5a98a;border-radius:12px;color:var(--cherry);font-weight:800;line-height:1.5}
.about-story{max-width:960px}.about-story h2{margin:16px 0 24px}.story-intro,.story-signoff{font-family:var(--serif);font-size:1.4rem;font-weight:700;color:var(--cherry)}
.founder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:32px 0}.founder-card{padding:28px;background:var(--paper);border:2px solid var(--cherry);border-radius:16px 32px 16px 28px;box-shadow:5px 6px 0 #e9b6b2}.founder-card h3{font-size:2rem;color:var(--cherry);margin-bottom:10px}.founder-note{font-weight:800;color:var(--olive)}
@media(max-width:700px){.founder-grid,.opening-dates{grid-template-columns:1fr}.founder-card{padding:24px}.visit-details{grid-template-columns:1fr}.opening-dates{gap:10px}}

/* Center the hero whenever the storefront moves onto its own row. */
@media(max-width:1050px){
  .landing-page .hero-copy{width:100%;margin-inline:auto;text-align:center}
  .landing-page .hero-copy>h1,.landing-page .hero-copy>p{margin-inline:auto}
  .landing-page .hero-actions{justify-content:center}
  .landing-page .hero-under-note{justify-content:center}
  .landing-page .next-opening{margin-inline:auto;text-align:left}
}

.contact-estate{margin:22px 0;padding:18px;background:#edf0c8;border:1px solid #a5ad76;border-radius:12px 22px 12px 18px;color:var(--olive);line-height:1.5}
.contact-estate strong{font-family:var(--serif);font-size:1.1rem}.contact-estate p{font-size:.85rem;margin:8px 0}.contact-estate a{display:inline-flex;align-items:center;min-height:44px;font-weight:800;color:var(--cherry);text-underline-offset:4px}

/* A decorative directions badge in the frame, separate from the map controls. */
.map-storefront-badge{display:flex;align-items:center;gap:14px;padding:10px;margin:0 0 12px;background:#fff4df;border:2px solid var(--cherry);border-radius:12px 24px 12px 18px;text-decoration:none;color:var(--cherry)}
.map-storefront-badge>img{width:100px;height:75px;object-fit:cover;flex:none;border-radius:7px;border:2px solid var(--paper)}
.map-storefront-badge>span{min-width:0}.map-storefront-badge strong{display:block;font-family:var(--serif);font-size:1.15rem;line-height:1.3}.map-storefront-badge span span{display:block;font-size:.78rem;margin-top:5px;color:var(--ink)}.map-storefront-badge small{display:block;font-size:.65rem;color:var(--muted);margin-top:4px}.map-storefront-badge:hover{background:var(--pink)}.map-storefront-badge:focus-visible{outline:3px solid var(--olive);outline-offset:3px}
@media(max-width:380px){.map-storefront-badge{gap:10px;padding:8px}.map-storefront-badge>img{width:76px;height:64px}.map-storefront-badge strong{font-size:1rem}}

.opening-dates time{display:block}.calendar-download{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:10px;padding:8px 14px;border:1px solid var(--cherry);border-radius:30px;color:var(--cherry);background:#fff9ee;font-size:.8rem;font-weight:800;text-decoration:none}.calendar-download:hover{background:var(--pink)}.calendar-download:focus-visible{outline:3px solid var(--olive);outline-offset:3px}.opening-calendar .calendar-help{font-size:.8rem;color:var(--muted);max-width:700px}
