
:root{--bg:#f5f8ff;--surface:#ffffff;--surface-soft:#f8fbff;--line:#dbe4f2;--line-strong:#ccd8ea;--text:#10213f;--muted:#60708d;--primary:#2c6de5;--primary-dark:#1949ad;--shadow:0 22px 50px rgba(16,33,63,.08);--radius:22px;--radius-lg:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#f6f8fc 0%,#eef3fb 100%);color:var(--text)}a{color:inherit}.container{width:min(1120px, calc(100% - 32px));margin:0 auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(219,228,242,.9)}.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:inline-flex;align-items:center;text-decoration:none;color:#3d74c4;font-size:clamp(2rem,3vw,2.9rem);font-weight:800;letter-spacing:-.04em}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 14px 30px rgba(16,33,63,.08);cursor:pointer;padding:0}.menu-toggle-inner{display:flex;flex-direction:column;gap:5px}.menu-toggle-inner span{display:block;width:22px;height:2px;border-radius:999px;background:var(--text)}.site-nav{display:none;flex-direction:column;gap:8px;position:absolute;top:calc(100% + 10px);left:16px;right:16px;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:24px;padding:16px;box-shadow:var(--shadow)}.site-nav.open{display:flex}.site-nav a{text-decoration:none;color:var(--text);font-size:1.15rem;font-weight:700;padding:8px 4px}.site-nav a:hover{color:var(--primary-dark)}.hero{padding:clamp(48px,10vw,92px) 0 28px}.hero-grid{display:grid;gap:28px}.hero-card{padding:clamp(24px,4vw,44px);border-radius:36px;background:radial-gradient(circle at top right, rgba(44,109,229,.08), transparent 28%),linear-gradient(180deg,#fdfefe 0%,#f4f8ff 100%);border:1px solid #dfe8f5;box-shadow:var(--shadow)}.hero h1{margin:0 0 18px;font-size:clamp(3.2rem,10vw,6.4rem);line-height:.95;letter-spacing:-.06em}.hero p{margin:0;max-width:860px;font-size:clamp(1.2rem,3.2vw,2rem);line-height:1.35;color:var(--muted)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:64px;padding:0 32px;border-radius:999px;text-decoration:none;font-weight:800;font-size:1.1rem;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}.button:hover{transform:translateY(-1px)}.button-primary{color:#fff;background:linear-gradient(180deg,var(--primary) 0%, #2863d1 100%);box-shadow:0 16px 30px rgba(44,109,229,.26)}.button-secondary{color:var(--primary-dark);background:var(--surface);border:1px solid var(--line-strong)}.section{padding:24px 0 20px}.section-title{margin:0 0 18px;font-size:clamp(2.2rem,6vw,3.6rem);line-height:1;letter-spacing:-.05em}.info-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;box-shadow:0 10px 30px rgba(16,33,63,.05)}.info-card p{margin:0;color:var(--muted);font-size:1.18rem;line-height:1.45}.stores-grid{display:grid;gap:18px}.store-card{display:block;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 10px 28px rgba(16,33,63,.05);transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}.store-card:hover{transform:translateY(-2px);border-color:#bfd1ed;box-shadow:0 18px 36px rgba(16,33,63,.08)}.store-card h3{margin:0 0 10px;font-size:clamp(1.7rem,4vw,2.15rem);line-height:1.05;letter-spacing:-.03em;color:var(--text)}.store-card p{margin:0;color:var(--muted);font-size:1.05rem;line-height:1.4}.store-card .cta{display:inline-flex;align-items:center;gap:8px;margin-top:16px;color:var(--primary-dark);font-weight:800;text-decoration:none}.store-card .cta::after{content:"→";font-size:1rem}.site-footer{padding:44px 0 56px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--muted);font-size:.98rem}.footer-version{font-weight:700;color:#4e6284}@media (min-width:768px){.container{width:min(1160px, calc(100% - 56px))}.site-nav{display:flex !important;position:static;flex-direction:row;align-items:center;gap:40px;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}.site-nav a{padding:0;font-size:1.1rem;font-weight:800;color:var(--text)}.menu-toggle{display:none}.hero-grid{grid-template-columns:1fr}.stores-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1080px){.stores-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}


/* v0.2.10 logo integration */
.brand img{
  display:block;
  height:clamp(42px, 10vw, 80px);
  width:auto;
}
@media (min-width:768px){
  .brand img{
    height:44px;
  }
}
@media (min-width:1024px){
  .brand img{
    height:48px;
  }
}



/* v0.3.1 shop template */
.shop-page{
  padding:40px 0 56px;
}
.shop-hero-card{
  background:
    radial-gradient(circle at top right, rgba(44,109,229,.08), transparent 28%),
    linear-gradient(180deg,#fdfefe 0%,#f4f8ff 100%);
  border:1px solid #dfe8f5;
  border-radius:36px;
  box-shadow:var(--shadow);
  padding:28px;
}
.shop-eyebrow{
  margin:0 0 12px;
  color:var(--primary-dark);
  font-size:.95rem;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.shop-title{
  margin:0 0 14px;
  font-size:clamp(3rem,8vw,5rem);
  line-height:.92;
  letter-spacing:-.06em;
}
.shop-subtitle{
  margin:0;
  color:var(--muted);
  font-size:clamp(1.15rem,3vw,1.7rem);
  line-height:1.35;
  max-width:760px;
}
.shop-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:28px;
}
.shop-grid{
  display:grid;
  gap:18px;
  margin-top:24px;
}
.info-grid{
  display:grid;
  gap:18px;
}
.info-item{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:24px;
  padding:22px;
  box-shadow:0 10px 28px rgba(16,33,63,.05);
}
.info-label{
  display:block;
  margin:0 0 10px;
  color:var(--primary-dark);
  font-size:.92rem;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.info-value{
  margin:0;
  color:var(--text);
  font-size:1.15rem;
  line-height:1.45;
}
.info-value a{
  color:var(--text);
  text-decoration:none;
}
.map-card{
  overflow:hidden;
  border-radius:28px;
  border:1px solid var(--line);
  background:var(--surface);
  box-shadow:0 10px 28px rgba(16,33,63,.05);
}
.map-frame{
  display:block;
  width:100%;
  min-height:340px;
  border:0;
}
.shop-description{
  margin-top:10px;
}
.shop-description .info-card p{
  font-size:1.14rem;
}
@media (min-width:768px){
  .shop-page{
    padding:56px 0 72px;
  }
  .shop-hero-card{
    padding:38px;
  }
  .info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}



/* v0.3.1.2 Cerea micro-fixes */
.social-icons{
  display:flex;
  gap:12px;
  align-items:center;
  margin-top:6px;
}
.social-icon{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--primary-dark);
  text-decoration:none;
  box-shadow:0 8px 20px rgba(16,33,63,.05);
}
.social-icon svg{
  width:20px !important;
  height:20px !important;
  min-width:20px;
  min-height:20px;
  max-width:20px;
  max-height:20px;
  display:block;
  flex:0 0 20px;
}
.map-simple{
  margin-top:8px;
  overflow:hidden;
  border-radius:18px;
}
.map-simple iframe{
  display:block;
  width:100%;
  height:300px;
  border:0;
  border-radius:inherit;
}



/* v0.3.1.3 unified info card */
.info-main{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.info-row{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.info-icon{
  font-size:1.4rem;
  line-height:1;
  margin-top:2px;
  flex:0 0 auto;
}
.info-main strong{
  display:inline-block;
  margin-bottom:4px;
}


/* v0.3.1.4 SVG info icons */
.info-row{
  display:flex;
  gap:14px;
  align-items:flex-start;
}
.info-icon{
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--primary-dark);
  opacity:.9;
  margin-top:2px;
}
.info-icon svg{
  width:22px;
  height:22px;
  display:block;
}


/* v0.3.1.5 Cerea polish */
.info-row strong{
  font-weight:700;
  font-size:.95rem;
}
.info-row{
  padding-bottom:4px;
}
.info-icon{
  color:var(--primary);
  opacity:.85;
}
.info-row-social{
  align-items:center;
}
.social-inline{
  display:flex;
  align-items:center;
  gap:12px;
}


/* v0.3.1.7 Cerea final polish */
.shop-actions .button-primary{
  min-width: 340px;
  max-width: 100%;
}
.info-main{
  gap:20px;
}
.info-row{
  gap:14px;
  padding-bottom:6px;
}
.info-row:last-child{
  padding-bottom:0;
}
.info-row strong{
  font-weight:700;
  font-size:.95rem;
}
.info-icon{
  color:var(--primary);
  opacity:.85;
}
.info-row-social{
  align-items:center;
}
.info-row-social .social-inline{
  display:flex;
  align-items:center;
  gap:12px;
}
.info-row-social .social-icons{
  margin-top:0;
}
.map-simple iframe{
  border-radius:24px;
  box-shadow:0 10px 28px rgba(16,33,63,.05);
}
@media (max-width:480px){
  .shop-actions .button-primary{
    min-width: 0;
    width: 100%;
  }
}


/* v0.3.1.8 ultra polish */
.info-main{
  gap:22px;
}
.info-row{
  gap:16px;
}
.info-row strong{
  display:block;
  margin-bottom:2px;
}
.info-row-social{
  align-items:flex-start;
}
.info-row-social .info-icon{
  margin-top:10px;
}
.social-inline{
  display:flex;
  align-items:center;
  gap:14px;
}
.hours-list{
  display:grid;
  gap:4px;
}
.hours-line{
  display:grid;
  grid-template-columns:86px 1fr;
  gap:10px;
}
.hours-day{
  font-weight:700;
}
.button-icon{
  width:18px;
  height:18px;
  display:inline-block;
  margin-right:10px;
  vertical-align:-3px;
}
.map-simple iframe{
  border-radius:26px;
  box-shadow:0 12px 28px rgba(16,33,63,.06);
}


/* v0.3.2 Cerea gallery */
.shop-gallery{
  margin-top:4px;
}
.gallery-grid{
  display:grid;
  gap:14px;
}
.gallery-main,
.gallery-side{
  display:block;
  overflow:hidden;
  border-radius:24px;
  border:1px solid var(--line);
  background:var(--surface);
  box-shadow:0 10px 28px rgba(16,33,63,.05);
}
.gallery-main img,
.gallery-side img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.gallery-main{
  aspect-ratio: 4 / 3;
}
.gallery-thumbs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.gallery-side{
  aspect-ratio: 4 / 3;
}
.gallery-caption{
  margin:10px 0 0;
  color:var(--muted);
  font-size:.98rem;
}
.gallery-extra{
  display:grid;
  gap:14px;
  margin-top:14px;
}
.gallery-extra-three{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media (min-width:768px){
  .gallery-extra-three{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (min-width:768px){
  .gallery-grid{
    grid-template-columns:1.35fr 1fr;
    align-items:stretch;
  }
  .gallery-thumbs{
    grid-template-columns:1fr;
    grid-template-rows:1fr 1fr;
  }
  .gallery-main,
  .gallery-side{
    aspect-ratio:auto;
    min-height:100%;
  }
}


/* v0.3.2.1 lightbox */
.lightbox{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.85);
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  transition:.25s ease;
  z-index:9999;
  padding:24px;
}
.lightbox.open{
  opacity:1;
  visibility:visible;
}
.lightbox-img{
  max-width:100%;
  max-height:85vh;
  border-radius:16px;
  box-shadow:0 20px 60px rgba(0,0,0,.4);
}
.lightbox-close{
  position:absolute;
  top:20px;
  right:20px;
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
.gallery-main,
.gallery-side{
  cursor:zoom-in;
}


/* v0.3.2.2 premium gallery */
.lightbox{
  backdrop-filter: blur(4px);
}
.lightbox.open .lightbox-img{
  transform:scale(1);
  opacity:1;
}
.lightbox-img{
  max-width:94%;
  max-height:86vh;
  border-radius:18px;
  box-shadow:0 24px 70px rgba(0,0,0,.45);
  transform:scale(.96);
  opacity:.92;
  transition:transform .22s ease, opacity .22s ease;
}
.lightbox-close{
  top:calc(env(safe-area-inset-top, 0px) + 22px);
  right:18px;
  width:52px;
  height:52px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 10px 26px rgba(0,0,0,.25);
}
.lightbox-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color: transparent;
}
.lightbox-prev{left:14px;}
.lightbox-next{right:14px;}
.lightbox-nav svg{
  width:20px;
  height:20px;
  display:block;
}
@media (max-width:640px){
  .lightbox-nav{
    bottom:20px;
    top:auto;
    transform:none;
  }
  .lightbox-prev{left:calc(50% - 58px);}
  .lightbox-next{right:calc(50% - 58px);}
}


/* v0.3.2.3 premium gallery final polish */
.lightbox-img{
  max-width:96%;
}
.lightbox-close{
  background:rgba(0,0,0,.5);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.16);
}
.lightbox-nav{
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 10px 26px rgba(0,0,0,.22);
}


/* v0.3.2.4 split info/description on wide screens */
.shop-info-layout{
  display:grid;
  gap:22px;
}
.shop-info-layout > .section{
  padding-top:0;
}
@media (min-width:900px){
  .shop-info-layout{
    grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);
    align-items:start;
  }
  .shop-info-layout .section{
    margin:0;
  }
  .shop-info-layout .info-card,
  .shop-info-layout .info-main{
    height:100%;
  }
  .shop-info-layout .shop-description .info-card{
    min-height:100%;
  }
}


/* v0.3.2.5 hero + info top layout */
.shop-top-layout{
  display:grid;
  gap:22px;
}
@media (min-width:900px){
  .shop-top-layout{
    grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);
    align-items:stretch;
  }
  .shop-top-layout .shop-hero-card{
    height:100%;
    margin:0;
  }
  .shop-top-layout .section{
    margin:0;
    padding-top:0;
  }
  .shop-top-layout .info-card.info-main{
    height:100%;
  }
}
/* override previous 0.3.2.4 split */
.shop-info-layout{
  display:block;
}
@media (min-width:900px){
  .shop-info-layout{
    display:block;
  }
}


/* v0.3.2.6 hero/info balance */
@media (min-width:900px){
  .shop-top-layout{
    align-items:stretch;
  }
  .shop-hero-card{
    padding:36px;
  }
}


/* v0.3.2.8 fixed top layout from v0.3.2.6 */
.shop-top-layout{
  display:grid;
  gap:22px;
}
.shop-top-layout .shop-hero-card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
}
.shop-top-layout .shop-title{
  margin:0 0 16px;
  font-size:clamp(2.8rem,7vw,4.8rem);
}
.shop-top-layout .shop-subtitle{
  margin:0;
  max-width:none;
  font-size:clamp(1rem,2.1vw,1.55rem);
  line-height:1.38;
}
.shop-top-layout .shop-actions{
  margin-top:24px;
  width:100%;
}
.shop-top-layout .shop-actions .button-primary{
  width:auto;
  max-width:100%;
  min-width:0;
  min-height:58px;
  padding:0 28px;
  align-self:flex-start;
  white-space:nowrap;
  background:linear-gradient(135deg,#2f5edb,#214bb5);
  color:#fff;
  font-weight:800;
  text-shadow:0 1px 1px rgba(0,0,0,.12);
}
.shop-top-layout .section{
  padding-top:0;
  margin:0;
}
.shop-top-layout .info-card.info-main{
  height:100%;
}
@media (min-width:768px){
  .shop-top-layout{
    grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);
    align-items:stretch;
  }
  .shop-top-layout > *{
    min-width:0;
  }
  .shop-top-layout .shop-hero-card,
  .shop-top-layout .info-card.info-main{
    min-height:100%;
  }
}
@media (min-width:1100px){
  .shop-top-layout{
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  }
}
@media (max-width:767px){
  .shop-top-layout{
    display:block;
  }
}


/* v0.3.2.9 final alignment */
.shop-top-layout .info-card.info-main{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:32px;
  gap:22px;
}
.shop-top-layout .info-card .info-row{
  margin-bottom:8px;
}
.shop-top-layout .hours-list{
  margin-top:6px;
  gap:6px;
}
@media (min-width:768px){
  .shop-top-layout .info-card.info-main{
    padding:36px;
  }
}


/* v0.3.2.10 definitive top-card alignment */
@media (min-width:768px){
  .shop-top-layout{
    align-items:stretch;
  }
  .shop-top-layout > *{
    min-width:0;
  }
  .shop-top-layout .shop-hero-card,
  .shop-top-layout .section{
    height:100%;
  }
  .shop-top-layout .shop-hero-card{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
  }
  .shop-top-layout .info-card.info-main{
    height:100%;
  }
}


/* v0.3.2.11 bottom alignment fix */
@media (min-width:768px){
  .shop-top-layout{
    align-items:start;
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .shop-top-layout .shop-hero-card,
  .shop-top-layout .info-card{
    height:auto;
    align-self:start;
  }
}


/* v0.3.2.12 precise baseline fix */
@media (min-width:768px){
  .shop-top-layout{
    align-items:start !important;
  }
  .shop-top-layout .shop-hero-card{
    min-height:0 !important;
    height:auto !important;
    padding-bottom:26px !important;
  }
  .shop-top-layout .section,
  .shop-top-layout .info-card.info-main{
    min-height:0 !important;
    height:auto !important;
  }
  .shop-top-layout .shop-actions{
    margin-top:18px !important;
  }
}


/* v0.3.2.13 shared-height top cards */
@media (min-width:768px){
  .shop-top-layout{
    align-items:stretch !important;
    grid-template-columns:minmax(0,1fr) minmax(320px,.95fr) !important;
    gap:22px !important;
  }

  .shop-top-layout > section{
    display:flex;
    min-width:0;
    margin:0;
    align-self:stretch !important;
  }

  .shop-top-layout > .section{
    padding-top:0;
  }

  .shop-top-layout .shop-hero-card{
    width:100%;
    min-height:100% !important;
    height:100% !important;
    padding:28px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    align-items:flex-start !important;
  }

  .shop-top-layout .info-card.info-main{
    width:100%;
    min-height:100% !important;
    height:100% !important;
    padding:32px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    gap:22px !important;
  }

  .shop-top-layout .shop-subtitle{
    max-width:none;
  }

  .shop-top-layout .shop-actions{
    margin-top:24px !important;
    width:100%;
  }

  .shop-top-layout .shop-actions .button-primary{
    width:auto !important;
    min-width:0 !important;
    max-width:100%;
    align-self:flex-start;
    white-space:nowrap;
  }
}

@media (min-width:1100px){
  .shop-top-layout{
    grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr) !important;
  }
}


/* v0.3.2.14 top-content alignment */
@media (min-width:768px){
  .shop-top-layout .shop-hero-card{
    justify-content:flex-start !important;
  }
  .shop-top-layout .shop-actions{
    margin-top:auto !important;
    width:100%;
  }
  .shop-top-layout .shop-actions .button-primary{
    align-self:flex-start !important;
  }
}


/* v0.3.2.15 rebuilt top block */
.shop-top-rebuild{
  padding-top:0;
}
.shop-top-grid{
  display:grid;
  gap:22px;
}
.shop-top-panel{
  min-width:0;
}
.shop-top-panel .info-card.info-main{
  margin:0;
}
.shop-top-hero{
  background:
    radial-gradient(circle at top right, rgba(44,109,229,.08), transparent 28%),
    linear-gradient(180deg,#fdfefe 0%,#f4f8ff 100%);
  border:1px solid #dfe8f5;
  border-radius:36px;
  box-shadow:var(--shadow);
  padding:28px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.shop-top-hero .shop-title{
  margin:0 0 16px;
  font-size:clamp(2.8rem,7vw,4.8rem);
}
.shop-top-hero .shop-subtitle{
  margin:0;
  max-width:none;
  color:var(--muted);
  font-size:clamp(1rem,2.1vw,1.55rem);
  line-height:1.38;
}
.shop-top-hero .shop-actions{
  margin-top:24px;
  width:100%;
}
.shop-top-hero .button-primary{
  width:auto;
  max-width:100%;
  min-width:0;
  min-height:58px;
  padding:0 28px;
  align-self:flex-start;
  white-space:nowrap;
  background:linear-gradient(135deg,#2f5edb,#214bb5);
  color:#fff;
  font-weight:800;
  text-shadow:0 1px 1px rgba(0,0,0,.12);
}
.shop-top-info .info-card.info-main{
  padding:32px;
  height:100%;
  display:flex;
  flex-direction:column;
  gap:22px;
}
@media (min-width:768px){
  .shop-top-grid{
    grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);
    align-items:stretch;
  }
  .shop-top-panel{
    display:flex;
  }
  .shop-top-hero,
  .shop-top-info .info-card.info-main{
    width:100%;
    height:100%;
  }
  .shop-top-hero{
    justify-content:flex-start;
  }
  .shop-top-hero .shop-actions{
    margin-top:auto;
  }
}
@media (min-width:1100px){
  .shop-top-grid{
    grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);
  }
}


/* v0.3.2.16 fixed two-column top grid */
@media (min-width:768px){
  .shop-top-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:24px !important;
    align-items:stretch !important;
  }

  .shop-top-panel{
    display:flex !important;
    min-width:0 !important;
    align-self:stretch !important;
  }

  .shop-top-hero,
  .shop-top-info .info-card.info-main{
    width:100% !important;
    height:100% !important;
  }
}


/* v0.3.3.0 rollout template */
.info-placeholder{
  color:var(--muted);
}
.info-placeholder strong{
  color:var(--text);
}
.info-note{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 12px;
  border-radius:999px;
  background:var(--surface-soft);
  border:1px solid var(--line);
  color:var(--muted);
  font-size:.95rem;
}


/* v0.3.3.10 social row polish */
.info-row-social{
  align-items:center;
}
.info-row-social .info-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.info-row-social .social-inline{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.info-row-social .social-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  color:#2f5edb;
  text-decoration:none;
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
  border-radius:0;
}
.info-row-social .social-icon svg{
  width:100%;
  height:100%;
  display:block;
}
.info-row-social .social-icon-facebook{
  width:34px;
  height:34px;
}
.info-row-social .social-icon-instagram{
  width:31px;
  height:31px;
}











/* v0.3.3.14 social icon ratio test 20/80/80 */
.info-row-social{
  align-items:center;
}
.info-row-social .info-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.info-row-social .info-icon svg{
  width:20px;
  height:20px;
}
.info-row-social .social-inline{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.info-row-social .social-icon{
  width:80px;
  height:80px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
  border-radius:0;
}
.info-row-social .social-icon svg{
  display:block;
}
.info-row-social .social-icon-facebook svg{
  width:80px;
  height:80px;
}
.info-row-social .social-icon-instagram svg{
  width:80px;
  height:80px;
}


/* v0.3.3.15 fix social svg forced sizing */
.info-row-social .info-icon svg{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  min-height:20px !important;
  max-width:20px !important;
  max-height:20px !important;
  flex:0 0 20px !important;
}
.info-row-social .social-inline{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  flex-wrap:wrap !important;
}
.info-row-social .social-icon{
  width:80px !important;
  height:80px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
  flex:0 0 80px !important;
}
.info-row-social .social-icon svg{
  display:block !important;
}
.info-row-social .social-icon-facebook svg{
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  max-width:40px !important;
  max-height:40px !important;
  flex:0 0 40px !important;
}
.info-row-social .social-icon-instagram svg{
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  max-width:40px !important;
  max-height:40px !important;
  flex:0 0 40px !important;
}



.info-row-social .info-icon svg{
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  min-height:20px !important;
  max-width:20px !important;
  max-height:20px !important;
  flex:0 0 20px !important;
}
.info-row-social .social-inline{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  flex-wrap:wrap !important;
}
.info-row-social .social-icon{
  width:80px !important;
  height:80px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
  flex:0 0 80px !important;
}
.info-row-social .social-icon img,
.info-row-social .social-icon svg{
  display:block !important;
}
.info-row-social .social-icon-facebook img{
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  min-height:52px !important;
  max-width:52px !important;
  max-height:52px !important;
  object-fit:contain !important;
}
.info-row-social .social-icon-instagram svg{
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  min-height:52px !important;
  max-width:52px !important;
  max-height:52px !important;
  flex:0 0 52px !important;
}



.info-row-social .social-inline{
  gap: 14px !important;
}
.info-row-social .social-icon{
  width: 80px !important;
  height: 80px !important;
  flex: 0 0 80px !important;
}
.info-row-social .social-icon-facebook img{
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
}
.info-row-social .social-icon-instagram svg{
  width: 60px !important;
  height: 60px !important;
  min-width: 60px !important;
  min-height: 60px !important;
  max-width: 60px !important;
  max-height: 60px !important;
  flex: 0 0 60px !important;
}



.info-row-social .social-inline{
  gap: 10px !important;
}
.info-row-social .social-icon{
  width: 64px !important;
  height: 64px !important;
  flex: 0 0 64px !important;
}
.info-row-social .social-icon-facebook img{
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
}
.info-row-social .social-icon-instagram svg{
  width: 60px !important;
  height: 60px !important;
  min-width: 60px !important;
  min-height: 60px !important;
  max-width: 60px !important;
  max-height: 60px !important;
  flex: 0 0 60px !important;
}


/* v0.3.4.0 automatic dark theme */
@media (prefers-color-scheme: dark){
  :root{
    color-scheme: dark;
  }

  html, body{
    background:#0d1117;
    color:#e6edf3;
  }

  body{
    background:
      radial-gradient(circle at top, rgba(47,94,219,.18), transparent 30%),
      linear-gradient(180deg, #0d1117 0%, #111827 100%);
  }

  a{
    color:#9ec1ff;
  }

  .site-header{
    background:rgba(13,17,23,.82);
    border-bottom:1px solid rgba(255,255,255,.08);
    box-shadow:0 10px 30px rgba(0,0,0,.28);
    backdrop-filter:blur(14px);
  }

  .site-nav a,
  .menu-toggle{
    color:#e6edf3;
  }

  .hero,
  .shop-top-hero{
    background:
      radial-gradient(circle at top right, rgba(88,166,255,.16), transparent 28%),
      linear-gradient(180deg, #111827 0%, #161b22 100%);
    border-color:rgba(255,255,255,.08);
    box-shadow:0 20px 50px rgba(0,0,0,.32);
  }

  .hero-card h1,
  .shop-title,
  .section-title,
  .info-card strong{
    color:#f0f6fc;
  }

  .hero-card p,
  .shop-subtitle,
  .info-card,
  .shop-description p,
  .gallery-caption,
  .footer-inner,
  .hours-line,
  .hours-day{
    color:#c9d1d9;
  }

  .section,
  main,
  .shop-page{
    background:transparent;
  }

  .info-card,
  .store-card,
  .map-simple,
  .gallery-main,
  .gallery-side,
  .lightbox-content,
  .shop-top-info .info-card.info-main{
    background:#161b22;
    border:1px solid rgba(255,255,255,.08);
    box-shadow:0 18px 40px rgba(0,0,0,.28);
  }

  .store-card:hover,
  .store-card:focus-visible{
    border-color:rgba(88,166,255,.45);
    box-shadow:0 22px 50px rgba(0,0,0,.34);
  }

  .button,
  .button-secondary,
  .shop-hero-card .btn,
  .shop-top-hero .button-primary{
    box-shadow:0 14px 30px rgba(0,0,0,.25);
  }

  .button-secondary{
    background:#161b22;
    color:#e6edf3;
    border:1px solid rgba(255,255,255,.10);
  }

  .button-secondary:hover,
  .button-secondary:focus-visible{
    background:#1c2532;
  }

  .site-footer{
    background:#0f141b;
    border-top:1px solid rgba(255,255,255,.08);
    color:#9da7b3;
  }

  .footer-version{
    color:#dbe7ff;
  }

  .stores-grid .store-card .cta{
    color:#9ec1ff;
  }

  .info-note{
    background:#111827;
    border-color:rgba(255,255,255,.08);
    color:#c9d1d9;
  }

  .hours-line + .hours-line{
    border-top:1px solid rgba(255,255,255,.06);
  }

  .social-icon{
    color:#9ec1ff;
  }

  .menu-toggle-inner span{
    background:#e6edf3;
  }

  .brand img{
    filter:brightness(1.05) contrast(1.02);
  }

  .map-simple iframe{
    filter:grayscale(.15) invert(.9) hue-rotate(180deg) contrast(.95) brightness(.9);
  }
}


/* v0.3.4.1 dark refinement */
@media (prefers-color-scheme: dark){
  .hero{
    background:
      radial-gradient(circle at top right, rgba(88,166,255,.16), transparent 28%),
      linear-gradient(180deg, #111827 0%, #161b22 100%) !important;
    color:#e6edf3 !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:0 20px 50px rgba(0,0,0,.32) !important;
  }

  .hero h1,
  .hero .section-title{
    color:#f0f6fc !important;
  }

  .hero p,
  .hero .lead,
  .hero .subtitle{
    color:#c9d1d9 !important;
  }

  .hero .button-secondary{
    background:#1c2532 !important;
    color:#e6edf3 !important;
    border:1px solid rgba(255,255,255,.10) !important;
  }

  .hero .button-secondary:hover,
  .hero .button-secondary:focus-visible{
    background:#243041 !important;
  }

  .section-about,
  .about-card,
  .about-box{
    background:transparent !important;
  }

  .section-about .info-card,
  .section-about .content-card,
  .section-about .about-card,
  .section-about .about-box{
    background:linear-gradient(180deg, #161b22 0%, #1c2532 100%) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:0 18px 40px rgba(0,0,0,.28) !important;
    color:#c9d1d9 !important;
  }

  .stores-grid .store-card,
  .store-card{
    background:linear-gradient(180deg, #161b22 0%, #1c2532 100%) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:0 18px 40px rgba(0,0,0,.28) !important;
  }

  .stores-grid .store-card h3,
  .stores-grid .store-card .store-title,
  .store-card h3,
  .store-card .store-title{
    color:#dbe7ff !important;
  }

  .stores-grid .store-card p,
  .stores-grid .store-card .store-address,
  .store-card p,
  .store-card .store-address{
    color:#c9d1d9 !important;
  }

  .stores-grid .store-card .cta,
  .store-card .cta{
    color:#9ec1ff !important;
  }

  .map-simple,
  .map-wrap,
  .map-card{
    background:#111827 !important;
    border:1px solid rgba(255,255,255,.08) !important;
  }

  .map-simple iframe,
  .map-wrap iframe,
  .map-card iframe{
    border-radius:inherit !important;
  }
}


/* v0.3.4.2 dark theme stabilization */
@media (prefers-color-scheme: dark){
  :root{
    color-scheme: dark;
  }

  html, body{
    background:#05070c !important;
    color:#eaf1ff !important;
  }

  body{
    background:
      radial-gradient(circle at top center, rgba(56,110,255,.18), transparent 26%),
      radial-gradient(circle at 20% 65%, rgba(20,46,106,.20), transparent 35%),
      linear-gradient(180deg, #05070c 0%, #07101d 48%, #04070d 100%) !important;
  }

  .site-header{
    background:rgba(10,14,24,.88) !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    box-shadow:0 10px 30px rgba(0,0,0,.32) !important;
    backdrop-filter:blur(14px) !important;
  }

  .site-header,
  .header-inner,
  .site-nav,
  .brand{
    color:#eaf1ff !important;
  }

  .brand img{
    filter:brightness(1.04) contrast(1.02) !important;
  }

  .menu-toggle{
    background:#f3f5f8 !important;
    border:1px solid rgba(255,255,255,.22) !important;
    box-shadow:0 10px 24px rgba(0,0,0,.24) !important;
    color:#0f1723 !important;
  }

  .menu-toggle-inner span{
    background:#d7dde5 !important;
  }

  /* Mobile/open menu cleanup */
  .site-nav.is-open,
  .mobile-nav,
  .nav-panel,
  .menu-panel{
    background:linear-gradient(180deg, #0e1624 0%, #131d2c 100%) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    color:#eaf1ff !important;
    box-shadow:0 22px 50px rgba(0,0,0,.34) !important;
  }

  .site-nav.is-open a,
  .mobile-nav a,
  .nav-panel a,
  .menu-panel a{
    color:#eaf1ff !important;
  }

  .site-nav.is-open a:hover,
  .site-nav.is-open a:focus-visible,
  .mobile-nav a:hover,
  .mobile-nav a:focus-visible,
  .nav-panel a:hover,
  .nav-panel a:focus-visible,
  .menu-panel a:hover,
  .menu-panel a:focus-visible{
    color:#9ec1ff !important;
  }

  /* Global section titles */
  .section-title,
  .shop-title,
  .hero-card h1,
  .hero h1,
  h1, h2, h3{
    color:#f6f8fc !important;
  }

  /* Hero hierarchy */
  .hero,
  .shop-top-hero{
    background:
      radial-gradient(circle at top right, rgba(88,166,255,.18), transparent 28%),
      linear-gradient(180deg, #0d1626 0%, #141c2a 100%) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:0 22px 50px rgba(0,0,0,.34) !important;
  }

  .hero p,
  .hero .lead,
  .hero .subtitle,
  .shop-subtitle{
    color:#b4c0d8 !important;
  }

  .hero .button-secondary{
    background:#141c2a !important;
    color:#eef4ff !important;
    border:1px solid rgba(255,255,255,.10) !important;
  }

  .hero .button-secondary:hover,
  .hero .button-secondary:focus-visible{
    background:#1a2434 !important;
  }

  /* Remove any bright home blocks */
  .hero,
  .hero *,
  .hero-card,
  .hero-panel{
    text-shadow:none !important;
  }

  /* Hierarchical cards */
  .info-card,
  .shop-top-info .info-card.info-main,
  .content-card,
  .about-card,
  .about-box{
    background:linear-gradient(180deg, #111925 0%, #171f2d 100%) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:0 18px 40px rgba(0,0,0,.28) !important;
    color:#dbe5f5 !important;
  }

  .stores-grid .store-card,
  .store-card{
    background:linear-gradient(180deg, #141c28 0%, #1b2331 100%) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:0 18px 40px rgba(0,0,0,.28) !important;
  }

  .stores-grid .store-card h3,
  .stores-grid .store-card .store-title,
  .store-card h3,
  .store-card .store-title{
    color:#dfe9ff !important;
  }

  .stores-grid .store-card p,
  .stores-grid .store-card .store-address,
  .store-card p,
  .store-card .store-address{
    color:#b9c5dc !important;
  }

  .stores-grid .store-card .cta,
  .store-card .cta{
    color:#a9c8ff !important;
  }

  .section-about,
  .about-section{
    background:transparent !important;
  }

  .section-about .info-card,
  .section-about .content-card,
  .section-about .about-card,
  .section-about .about-box{
    background:linear-gradient(180deg, #111925 0%, #171f2d 100%) !important;
  }

  .info-card strong,
  .footer-version{
    color:#f4f7fd !important;
  }

  .info-card,
  .shop-description p,
  .gallery-caption,
  .footer-inner,
  .hours-line,
  .hours-day{
    color:#c8d4ea !important;
  }

  a{
    color:#9ec1ff !important;
  }

  .button,
  .button-primary,
  .shop-top-hero .button-primary{
    box-shadow:0 14px 30px rgba(0,0,0,.25) !important;
  }

  .site-footer{
    background:linear-gradient(180deg, #0e1520 0%, #131b29 100%) !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
    color:#a8b4ca !important;
  }

  /* Maps: no white flash container */
  .map-simple,
  .map-wrap,
  .map-card{
    background:#0f1723 !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:0 18px 40px rgba(0,0,0,.24) !important;
  }

  .map-simple iframe,
  .map-wrap iframe,
  .map-card iframe{
    border-radius:inherit !important;
    background:#0f1723 !important;
    filter:grayscale(.15) invert(.9) hue-rotate(180deg) contrast(.95) brightness(.9) !important;
  }
}


/* v0.3.4.3 final dark fixes */
@media (prefers-color-scheme: dark){

  /* HERO HOME FIX */
  .hero-home,
  .home-hero,
  .hero{
    background:linear-gradient(180deg,#0d1626 0%,#141c2a 100%) !important;
    border:1px solid rgba(255,255,255,.08) !important;
  }

  /* MENU MOBILE FIX */
  .site-nav.is-open,
  .mobile-nav,
  .menu-panel,
  .nav-overlay{
    background:#0f1723 !important;
    z-index:9999 !important;
  }

  /* MAP FIX (remove forced filter) */
  .map-simple iframe,
  .map-wrap iframe,
  .map-card iframe{
    filter:none !important;
    background:#0f1723 !important;
  }

  /* TEXT CONTRAST */
  p, .text, .subtitle{
    color:#cfd8ea !important;
  }

  /* BUTTON BOOST */
  .button-primary{
    filter:brightness(1.05) !important;
  }
}


/* v0.3.4.4 hamburger fix + gradient refinement */
@media (prefers-color-scheme: dark){
  body{
    background:#05070c !important;
  }

  /* keep premium gradients only where useful */
  .hero,
  .shop-top-hero,
  .section-about,
  .about-section{
    background:
      radial-gradient(circle at top right, rgba(88,166,255,.18), transparent 28%),
      linear-gradient(180deg, #0d1626 0%, #141c2a 100%) !important;
  }

  .site-header{
    background:rgba(10,14,24,.88) !important;
  }

  .menu-toggle{
    background:linear-gradient(180deg,#182233 0%, #111927 100%) !important;
    border:1px solid rgba(255,255,255,.10) !important;
    box-shadow:0 10px 24px rgba(0,0,0,.34) !important;
    color:#eef4ff !important;
  }

  .menu-toggle:hover,
  .menu-toggle:focus-visible{
    background:linear-gradient(180deg,#1d2a3f 0%, #142033 100%) !important;
    border-color:rgba(158,193,255,.28) !important;
  }

  .menu-toggle-inner span{
    background:#eef4ff !important;
    opacity:1 !important;
  }

  /* mobile nav panel */
  .site-nav.is-open,
  .mobile-nav,
  .menu-panel,
  .nav-overlay{
    background:linear-gradient(180deg,#0f1723 0%, #141d2c 100%) !important;
  }

  /* maps: dark container, normal map rendering */
  .map-simple,
  .map-wrap,
  .map-card{
    background:#0f1723 !important;
  }

  .map-simple iframe,
  .map-wrap iframe,
  .map-card iframe{
    filter:none !important;
    background:#0f1723 !important;
  }
}


/* v0.3.4.5 home + mobile menu fix */
@media (prefers-color-scheme: dark){

  /* HOME HERO: target as many known variants as possible */
  .hero-home,
  .home-hero,
  .home-page .hero,
  body.home .hero,
  .page-home .hero,
  .landing-hero,
  .intro-hero{
    background:
      radial-gradient(circle at top right, rgba(88,166,255,.16), transparent 30%),
      linear-gradient(180deg, #0f1724 0%, #171f2d 100%) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:0 22px 50px rgba(0,0,0,.34) !important;
    color:#eaf1ff !important;
  }

  .hero-home h1,
  .home-hero h1,
  .home-page .hero h1,
  body.home .hero h1,
  .page-home .hero h1,
  .landing-hero h1,
  .intro-hero h1{
    color:#f6f8fc !important;
    opacity:1 !important;
  }

  .hero-home p,
  .hero-home .lead,
  .hero-home .subtitle,
  .home-hero p,
  .home-page .hero p,
  body.home .hero p,
  .page-home .hero p,
  .landing-hero p,
  .intro-hero p{
    color:#c9d4e8 !important;
    opacity:1 !important;
  }

  /* kill bright descendants often used in light mode */
  .hero-home *,
  .home-hero *,
  .home-page .hero *,
  body.home .hero *,
  .page-home .hero *,
  .landing-hero *,
  .intro-hero *{
    color:inherit;
  }

  .hero-home .button-secondary,
  .home-hero .button-secondary,
  .home-page .hero .button-secondary,
  body.home .hero .button-secondary,
  .page-home .hero .button-secondary,
  .landing-hero .button-secondary,
  .intro-hero .button-secondary{
    background:#151d2b !important;
    color:#f2f6ff !important;
    border:1px solid rgba(255,255,255,.10) !important;
  }

  /* MOBILE MENU OPEN */
  .site-nav.is-open,
  .site-nav.is-open ul,
  .site-nav.is-open li,
  .site-nav.is-open a,
  .mobile-nav,
  .mobile-nav ul,
  .mobile-nav li,
  .mobile-nav a,
  .menu-panel,
  .menu-panel ul,
  .menu-panel li,
  .menu-panel a,
  .nav-drawer,
  .nav-drawer ul,
  .nav-drawer li,
  .nav-drawer a,
  .menu-open,
  .menu-open ul,
  .menu-open li,
  .menu-open a{
    background:linear-gradient(180deg, #0f1723 0%, #141d2c 100%) !important;
    color:#eef4ff !important;
    border-color:rgba(255,255,255,.08) !important;
  }

  .site-nav.is-open a:hover,
  .site-nav.is-open a:focus-visible,
  .mobile-nav a:hover,
  .mobile-nav a:focus-visible,
  .menu-panel a:hover,
  .menu-panel a:focus-visible,
  .nav-drawer a:hover,
  .nav-drawer a:focus-visible,
  .menu-open a:hover,
  .menu-open a:focus-visible{
    color:#9ec1ff !important;
  }

  .nav-overlay,
  .menu-overlay,
  .site-nav-overlay{
    background:rgba(5,7,12,.74) !important;
    backdrop-filter:blur(6px) !important;
  }

  /* ensure hamburger stays coherent */
  .menu-toggle{
    background:linear-gradient(180deg,#182233 0%, #111927 100%) !important;
    color:#eef4ff !important;
  }

  .menu-toggle-inner span{
    background:#eef4ff !important;
    opacity:1 !important;
  }
}


/* v0.3.4.6 hero-copy + site-nav.open fix */
@media (prefers-color-scheme: dark){

  /* real home hero surface */
  .hero-card{
    background:
      radial-gradient(circle at top right, rgba(88,166,255,.16), transparent 28%),
      linear-gradient(180deg, #0f1724 0%, #171f2d 100%) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:0 22px 50px rgba(0,0,0,.34) !important;
    color:#eaf1ff !important;
  }

  .hero-card h1{
    color:#f6f8fc !important;
    opacity:1 !important;
  }

  .hero-card p,
  .hero-card .lead,
  .hero-card .subtitle{
    color:#c9d4e8 !important;
    opacity:1 !important;
  }

  .hero-card .button-secondary{
    background:#151d2b !important;
    color:#f2f6ff !important;
    border:1px solid rgba(255,255,255,.10) !important;
  }

  /* real open mobile menu */
  .site-nav.open{
    display:flex !important;
    background:linear-gradient(180deg, #0f1723 0%, #141d2c 100%) !important;
    border:1px solid rgba(255,255,255,.08) !important;
    box-shadow:0 22px 50px rgba(0,0,0,.34) !important;
  }

  .site-nav.open a{
    color:#eef4ff !important;
    background:transparent !important;
  }

  .site-nav.open a:hover,
  .site-nav.open a:focus-visible,
  .site-nav.open a[aria-current="page"]{
    color:#9ec1ff !important;
  }
}


/* v0.3.4.7 hero tone alignment */
@media (prefers-color-scheme: dark){
  .hero-card{
    background:
      radial-gradient(circle at top right, rgba(88,166,255,.10), transparent 24%),
      linear-gradient(180deg, #0d1420 0%, #121927 100%) !important;
  }
}


/* v0.3.4.8 hero section background fix */
@media (prefers-color-scheme: dark){
  .hero{
    background:linear-gradient(180deg, #05070c 0%, #09101a 100%) !important;
  }
}


/* v0.3.4.9 dark micro polish */
@media (prefers-color-scheme: dark){
  .hero{
    border-top: 1px solid rgba(255,255,255,.04) !important;
    border-bottom: 1px solid rgba(255,255,255,.04) !important;
  }

  .hero-card{
    box-shadow: 0 16px 34px rgba(0,0,0,.22) !important;
    border-color: rgba(255,255,255,.07) !important;
  }

  .hero-card .button-secondary{
    border-color: rgba(255,255,255,.08) !important;
    box-shadow: 0 10px 22px rgba(0,0,0,.18) !important;
  }
}


/* v0.3.4.10 hero background flattening */
@media (prefers-color-scheme: dark){
  .hero{
    background: linear-gradient(180deg, #05070c 0%, #070b12 100%) !important;
  }
}


/* v0.3.4.11 hero unify + rename */
.hero{
  background: transparent !important;
}


/* v0.3.4.12 hero border removal */
@media (prefers-color-scheme: dark){
  .hero{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
}


/* v0.3.4.13 dark surface alignment — global */
@media (prefers-color-scheme: dark){
  .hero-card,
  .info-card,
  .store-card,
  .content-card,
  .about-card,
  .about-box,
  .shop-top-info .info-card.info-main{
    background:
      radial-gradient(120% 120% at 100% 0%, rgba(80,120,255,0.10) 0%, rgba(80,120,255,0) 60%),
      linear-gradient(180deg, #0b1220 0%, #0a101a 100%) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow:
      0 20px 40px rgba(0,0,0,0.35),
      inset 0 1px 0 rgba(255,255,255,0.03) !important;
  }

  .hero{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
}


@media (prefers-color-scheme: light), (prefers-color-scheme: no-preference){
/* v0.3.5.0 light surface alignment */
.hero-card,
.info-card,
.store-card,
.content-card,
.about-card,
.about-box,
.shop-top-info .info-card.info-main{
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(58,110,240,0.08) 0%, rgba(58,110,240,0) 60%),
    linear-gradient(180deg, #fbfdff 0%, #f4f8ff 100%) !important;
  border: 1px solid rgba(36,73,126,0.10) !important;
  box-shadow:
    0 18px 36px rgba(19,42,79,0.10),
    inset 0 1px 0 rgba(255,255,255,0.70) !important;
}

/* keep section hero neutral in light too */
.hero{
  background: transparent !important;
}

/* unify text contrast on light surfaces */
.hero-card,
.info-card,
.store-card,
.content-card,
.about-card,
.about-box{
  color:#243449 !important;
}

.hero-card h1,
.hero-card h2,
.info-card strong,
.store-card h3,
.store-card .store-title{
  color:#152235 !important;
}

.store-card p,
.store-card .store-address,
.hero-card p,
.info-card,
.about-card,
.about-box{
  color:#42546c !important;
}
}

/* v0.4.0.0 homepage map + store list split layout */
.section-subtitle{
  margin: .35rem 0 0;
  color: var(--text-soft, #5f7187);
}

.locator-section{
  margin-top: 2rem;
}

.locator-section-head{
  margin: 0;
  min-height: 0;
}

.locator-section-kicker{
  margin:0 0 14px;
  color:var(--muted);
  font-size:clamp(1rem,2.2vw,1.08rem);
  font-weight:700;
}


.locator-layout{
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(320px, 1fr);
  gap: 1.25rem;
  align-items: stretch;
}

.locator-map-wrap{
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(58,110,240,0.08) 0%, rgba(58,110,240,0) 60%),
    linear-gradient(180deg, #fbfdff 0%, #f4f8ff 100%);
  border: 1px solid rgba(36,73,126,0.10);
  border-radius: 20px;
  box-shadow:
    0 18px 36px rgba(19,42,79,0.10),
    inset 0 1px 0 rgba(255,255,255,0.70);
  overflow: hidden;
  min-height: 430px;
}

.locator-map{
  width: 100%;
  height: 100%;
  min-height: 430px;
  border: 0;
  display: block;
}

.locator-list{
  display: grid;
  gap: .85rem;
}

.locator-card{
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(58,110,240,0.08) 0%, rgba(58,110,240,0) 60%),
    linear-gradient(180deg, #fbfdff 0%, #f4f8ff 100%);
  border: 1px solid rgba(36,73,126,0.10);
  border-radius: 18px;
  box-shadow:
    0 18px 36px rgba(19,42,79,0.10),
    inset 0 1px 0 rgba(255,255,255,0.70);
  padding: 1rem 1.05rem;
  text-decoration: none;
  color: inherit;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.locator-card:hover,
.locator-card:focus-visible{
  transform: translateY(-1px);
  box-shadow:
    0 20px 40px rgba(19,42,79,0.13),
    inset 0 1px 0 rgba(255,255,255,0.70);
  border-color: rgba(58,110,240,0.22);
}

.locator-card-city{
  display: block;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #5f7187;
  margin-bottom: .28rem;
}

.locator-card strong{
  display: block;
  font-size: 1rem;
  color: #152235;
}

.locator-card-cta{
  display: inline-block;
  margin-top: .45rem;
  color: #2f5edb;
  font-weight: 700;
  font-size: .92rem;
}

@media (max-width: 900px){
  .locator-layout{
    grid-template-columns: 1fr;
  }

  .locator-map-wrap,
  .locator-map{
    min-height: 320px;
  }

  .locator-list{
    order: -1;
  }
}

@media (prefers-color-scheme: dark){
  .section-subtitle{
    color: #b8c4d8;
  }

  .locator-map-wrap,
  .locator-card{
    background:
      radial-gradient(120% 120% at 100% 0%, rgba(80,120,255,0.10) 0%, rgba(80,120,255,0) 60%),
      linear-gradient(180deg, #0b1220 0%, #0a101a 100%) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow:
      0 20px 40px rgba(0,0,0,0.35),
      inset 0 1px 0 rgba(255,255,255,0.03) !important;
  }

  .locator-card-city{
    color: #9fb2cb;
  }

  .locator-card strong{
    color: #eef4ff;
  }

  .locator-card-cta{
    color: #a9c8ff;
  }

  .locator-map-wrap{
    background: #0f1723 !important;
  }
}


/* v0.4.0.1 mobile locator simplified */
.locator-mobile-cta-wrap{
  display:none;
}

@media (max-width: 900px){
  .locator-section .section-head{
    margin-bottom: .8rem;
  }

  .locator-layout{
    gap: .9rem;
  }

  .locator-list{
    display: none !important;
  }

  .locator-map-wrap{
    min-height: 300px;
  }

  .locator-map{
    min-height: 300px;
  }

  .locator-mobile-cta-wrap{
    display:block;
    margin-top: .85rem;
  }

  .locator-mobile-cta{
    width: 100%;
    display:flex;
    justify-content: center;
    text-align: center;
  }
}


/* v0.4.0.3 custom Google Maps integration */
.locator-map{
  width: 100%;
  height: 100%;
  min-height: 430px;
  border: 0;
  display: block;
}

.locator-card.is-active{
  border-color: rgba(58,110,240,0.32);
  box-shadow:
    0 20px 40px rgba(19,42,79,0.16),
    inset 0 1px 0 rgba(255,255,255,0.70);
}

@media (prefers-color-scheme: dark){
  .locator-card.is-active{
    border-color: rgba(169,200,255,0.32) !important;
    box-shadow:
      0 20px 40px rgba(0,0,0,0.38),
      inset 0 1px 0 rgba(255,255,255,0.04) !important;
  }
}


#map{position:relative;}
#map-status{
position:absolute;
inset:0;
display:flex;
align-items:center;
justify-content:center;
background:#111;
color:#fff;
font-size:14px;
z-index:2;
}


/* v0.4.1.1 Google Maps debug */
.locator-map-wrap{
  position: relative;
}

.locator-map-status{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  text-align: center;
  font: 600 14px/1.4 system-ui, sans-serif;
  color: #173056;
  background: linear-gradient(180deg, rgba(251,253,255,0.96) 0%, rgba(244,248,255,0.96) 100%);
  z-index: 2;
}

.locator-map-status.is-hidden{
  display: none;
}

@media (prefers-color-scheme: dark){
  .locator-map-status{
    color: #dfe9f8;
    background: rgba(10,16,26,0.92);
  }
}


/* v0.4.1.1 CTA text contrast refinement */
.button-primary,
.shop-actions .button-primary,
.shop-top-layout .shop-actions .button-primary,
.shop-top-hero .button-primary,
.locator-mobile-cta{
  color:#f8fafc !important;
  -webkit-text-fill-color:#f8fafc;
  text-shadow:0 1px 2px rgba(0,0,0,.22);
}


/* v0.4.2.5 homepage map refinement */
.locator-map-wrap{
  position: relative;
}

.locator-map-ui{
  position: absolute;
  top: 16px;
  left: 16px;
  right: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  z-index: 1;
  pointer-events: none;
}

.locator-map-kicker,
.locator-map-hint{
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: .55rem .85rem;
  border-radius: 999px;
  backdrop-filter: blur(12px);
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(36,73,126,0.10);
  box-shadow: 0 10px 24px rgba(19,42,79,0.10);
  color: #173056;
  font-size: .85rem;
  font-weight: 700;
}

.locator-map-hint{
  font-weight: 600;
  color: #38506e;
}

.locator-map-panel{
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 1;
  padding: 1rem 1rem 1.05rem;
  border-radius: 20px;
  background: rgba(255,255,255,0.90);
  border: 1px solid rgba(36,73,126,0.10);
  box-shadow: 0 20px 36px rgba(19,42,79,0.14);
  backdrop-filter: blur(16px);
}

.locator-map-panel-city{
  display: block;
  margin-bottom: .28rem;
  color: #5f7187;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.locator-map-panel-name{
  display: block;
  font-size: 1.05rem;
  color: #13213a;
}

.locator-map-panel-text{
  margin: .35rem 0 0;
  color: #4f6582;
  font-size: .92rem;
  line-height: 1.5;
}

.locator-map-panel-actions{
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: .85rem;
}

.locator-map-panel-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: .72rem 1rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #2f5edb 0%, #4d7dff 100%);
  color: #f8fafc;
  text-decoration: none;
  font-weight: 700;
  box-shadow: 0 12px 22px rgba(47,94,219,0.22);
}

.locator-map-panel-link-secondary{
  background: rgba(255,255,255,0.72);
  color: #173056;
  border: 1px solid rgba(36,73,126,0.12);
  box-shadow: none;
}

.locator-map-panel.is-empty .locator-map-panel-link-secondary{
  opacity: .75;
}

.locator-map-infowindow{
  min-width: 190px;
  font: 14px/1.45 system-ui, sans-serif;
  color: #173056;
  padding: 2px 2px 4px;
}

.locator-map-infowindow-city{
  display: block;
  margin-bottom: 2px;
  color: #5f7187;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.locator-map-infowindow-name{
  display: block;
  margin-bottom: 8px;
}

.locator-map-infowindow-actions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.locator-map-infowindow-actions a{
  color: #2f5edb;
  font-weight: 700;
  text-decoration: none;
}

.locator-card.is-active{
  transform: translateY(-1px);
}

@media (max-width: 900px){
  .locator-map-wrap,
  .locator-map{
    min-height: 540px;
  }

  .locator-map-ui{
    flex-direction: column;
    align-items: flex-start;
    right: 12px;
    left: 12px;
    top: 12px;
  }

  .locator-map-kicker,
  .locator-map-hint{
    min-height: 34px;
    padding: .5rem .75rem;
    font-size: .78rem;
  }

  .locator-map-panel{
    left: 12px;
    right: 12px;
    bottom: 12px;
    padding: .9rem .9rem .95rem;
    border-radius: 18px;
  }

  .locator-map-panel-text{
    font-size: .88rem;
  }

  .locator-map-panel-link{
    flex: 1 1 140px;
  }
}

@media (prefers-color-scheme: dark){
  .locator-map-kicker,
  .locator-map-hint,
  .locator-map-panel{
    background: rgba(10,16,26,0.82);
    border-color: rgba(255,255,255,0.08);
    color: #e7effd;
    box-shadow: 0 20px 36px rgba(0,0,0,0.28);
  }

  .locator-map-hint,
  .locator-map-panel-text,
  .locator-map-panel-city,
  .locator-map-infowindow-city{
    color: #9fb2cb;
  }

  .locator-map-panel-name,
  .locator-map-infowindow,
  .locator-map-infowindow-name{
    color: #eef4ff;
  }

  .locator-map-panel-link-secondary{
    background: rgba(255,255,255,0.06);
    color: #eef4ff;
    border-color: rgba(255,255,255,0.08);
  }
}


/* v0.4.2.5 map panel interaction cleanup */
.locator-map-panel.is-hidden{
  display:none;
}


/* v0.4.2.5 map geolocation refinement */
.locator-map-actions{
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
}

.locator-geo-button{
  appearance: none;
  border: 0;
  min-height: 42px;
  padding: .78rem 1rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.92);
  color: #173056;
  font: inherit;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(19,42,79,0.12);
  border: 1px solid rgba(36,73,126,0.10);
  cursor: pointer;
}

.locator-geo-button:hover,
.locator-geo-button:focus-visible{
  transform: translateY(-1px);
}

.locator-geo-button:disabled{
  opacity: .8;
  cursor: wait;
}

@media (max-width: 900px){
  .locator-map-actions{
    top: 12px;
    left: 12px;
    right: 12px;
  }

  .locator-geo-button{
    width: 100%;
    justify-content: center;
  }
}

@media (prefers-color-scheme: dark){
  .locator-geo-button{
    background: rgba(10,16,26,0.88);
    color: #eef4ff;
    border-color: rgba(255,255,255,0.08);
    box-shadow: 0 20px 36px rgba(0,0,0,0.28);
  }
}


/* v0.4.2.5 lazy map */
.locator-map-wrap{content-visibility:auto;contain-intrinsic-size:640px}
.locator-map-status{backdrop-filter:blur(6px)}


/* v0.4.2.5 locator layout alignment */
.locator-section .container{
  width:min(1120px, calc(100% - 32px));
  margin:0 auto;
}

.locator-map-wrap{
  border-radius: 28px;
  min-height: 360px;
}

.locator-map{
  min-height: 360px;
}

.locator-mobile-cta-wrap{
  margin-top: 1rem;
}

@media (max-width: 900px){
  .locator-map-wrap{
    min-height: 340px;
  }

  .locator-map{
    min-height: 340px;
  }
}


/* v0.4.3.3 homepage hero slider cleanup */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hero-slider{position:relative;overflow:hidden;border-radius:36px;min-height:clamp(420px,64vw,620px);box-shadow:var(--shadow);background:#0f1a2e}
.hero-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .55s ease}
.hero-slide.is-active{opacity:1;pointer-events:auto;z-index:1}
.hero-slide-media,.hero-slide-media img{display:block;width:100%;height:100%}
.hero-slide-media{position:absolute;inset:0}
.hero-slide-media img{object-fit:cover}
.hero-slide-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(5,11,20,.32) 0%, rgba(5,11,20,.62) 48%, rgba(5,11,20,.82) 100%),radial-gradient(circle at top right, rgba(44,109,229,.18), rgba(44,109,229,0) 36%)}
.hero-slide-content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(420px,64vw,620px);padding:clamp(24px,4.6vw,42px);background:none!important;border:0!important;box-shadow:none!important;color:#f8fbff}
.hero-slide-eyebrow{display:inline-flex;align-self:flex-start;margin-bottom:12px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.10);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);font-size:.74rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#f8fbff}
.hero-slide-content h1,.hero-slide-title{margin:0 0 12px;max-width:760px;font-size:clamp(2.6rem,8vw,5.2rem);line-height:.96;letter-spacing:-.06em;color:#fff;text-wrap:balance;text-shadow:0 2px 12px rgba(0,0,0,.24)}
.hero-slide-content p{max-width:680px;color:rgba(248,251,255,.97)!important;font-size:clamp(1.02rem,2.5vw,1.28rem);line-height:1.38;text-shadow:0 1px 3px rgba(0,0,0,.28)}
.hero-slide-content .actions{margin-top:24px;align-items:center}
.hero-button-light{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.2)!important;color:#f8fafc!important;backdrop-filter:blur(10px)}
.hero-button-light:hover{border-color:rgba(255,255,255,.35)!important;background:rgba(255,255,255,.18)!important}
.hero-slide-content .button{min-height:60px}
.hero-slide-content .button-primary{box-shadow:0 14px 26px rgba(44,109,229,.22)}
.hero-slider-dots{position:absolute;left:26px;right:26px;bottom:24px;z-index:3;display:flex;align-items:center;gap:10px}
.hero-slider-dot{appearance:none;border:0;padding:0;width:11px;height:11px;border-radius:999px;background:rgba(255,255,255,.38);cursor:pointer;transition:transform .18s ease, background-color .18s ease}
.hero-slider-dot.is-active{width:32px;background:#fff}
.hero-slider-dot:hover{transform:scale(1.05)}
@media (max-width:767px){.hero{padding:24px 0 18px}.hero-slider{min-height:470px;border-radius:30px}.hero-slide-content{min-height:470px;padding:20px 18px 68px}.hero-slide-content .actions{display:grid;grid-template-columns:1fr;gap:10px}.hero-slide-title,.hero-slide-content h1{max-width:100%}.hero-slider-dots{left:18px;right:18px;bottom:16px}}
@media (prefers-reduced-motion: reduce){.hero-slide{transition:none}}


/* v0.4.3.3 homepage hero slider cleanup */
.hero-slide-content p{max-width:34ch}
.hero-slide-content .actions{margin-top:18px}
.hero-slide-content .actions .button + .button{display:none}
@media (max-width:767px){
  .hero-slider{min-height:450px}
  .hero-slide-content{min-height:450px;padding:18px 18px 64px}
  .hero-slide-content p{font-size:1rem}
}


/* v0.4.3.5 about section refresh */
.section-about{padding-top:34px}
.about-intro{max-width:840px;margin-bottom:22px}
.about-lead{margin:0;max-width:820px;color:var(--muted);font-size:clamp(1.08rem,2.6vw,1.32rem);line-height:1.6}
.about-grid{display:grid;gap:16px}
.about-card{display:flex;align-items:flex-start;gap:16px;background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 10px 28px rgba(16,33,63,.05);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.about-card:hover{transform:translateY(-2px);border-color:#bfd1ed;box-shadow:0 18px 36px rgba(16,33,63,.08)}
.about-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 52px;width:52px;height:52px;border-radius:18px;background:rgba(44,109,229,.1);color:var(--primary-dark);box-shadow:inset 0 0 0 1px rgba(44,109,229,.08)}
.about-icon svg{display:block;width:24px;height:24px}
.about-card-copy h3{margin:0 0 8px;font-size:1.22rem;line-height:1.1;letter-spacing:-.02em}
.about-card-copy p{margin:0;color:var(--muted);font-size:1rem;line-height:1.45}
@media (min-width:768px){.about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-card{padding:24px}}


/* v0.4.3.7 locator interaction polish */
.locator-card{scroll-margin:96px;transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, background-color .18s ease}
.locator-card[aria-current="true"] .locator-card-cta{color:#173056;font-weight:800}
.locator-card.is-active{background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(244,248,255,0.98));}
.locator-map-panel{transition:transform .22s ease, opacity .22s ease, box-shadow .22s ease}
.locator-map-panel.is-just-activated{animation:locatorPanelPulse .26s ease}
@keyframes locatorPanelPulse{0%{transform:translateY(8px);opacity:.78}100%{transform:translateY(0);opacity:1}}
@media (prefers-color-scheme: dark){.locator-card.is-active{background:linear-gradient(180deg, rgba(18,26,40,0.98), rgba(12,18,30,0.98));}.locator-card[aria-current="true"] .locator-card-cta{color:#eef4ff}}


/* v0.4.3.8 visual polish */
.hero-slide-overlay{background:linear-gradient(180deg, rgba(5,11,20,.14) 0%, rgba(5,11,20,.34) 48%, rgba(5,11,20,.56) 100%),radial-gradient(circle at top right, rgba(44,109,229,.12), rgba(44,109,229,0) 38%)}
.hero-slide-content h1,.hero-slide-title{text-shadow:0 2px 14px rgba(0,0,0,.18)}
.hero-slide-content p{text-shadow:0 1px 3px rgba(0,0,0,.22)}

@media (min-width:768px){
  .locator-section .container{width:min(1160px, calc(100% - 56px));}
  .locator-layout{grid-template-columns:minmax(0, 1.6fr) minmax(300px, .9fr);gap:1.5rem;}
}

@media (max-width:900px){
  .locator-section .container{width:min(1120px, calc(100% - 32px));}
  .locator-layout{gap:1rem;}
  .locator-map-wrap{display:flex;flex-direction:column;min-height:auto;}
  .locator-map{height:260px;min-height:260px;}
  .locator-map-panel{position:static;left:auto;right:auto;bottom:auto;margin:12px 12px 14px;padding:1rem;border-radius:18px;backdrop-filter:none;}
  .locator-map-panel-actions{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;}
  .locator-map-panel-link{width:100%;min-height:50px;padding:.85rem 1rem;}
}

@media (max-width:520px){
  .hero-slider,.hero-slide-content{min-height:clamp(360px, 74vw, 520px);}
  .locator-map{height:232px;min-height:232px;}
  .locator-geo-button{min-height:54px;font-size:1rem;padding:.9rem 1rem;}
  .locator-map-panel-text{font-size:1rem;line-height:1.45;}
  .locator-map-panel-name{font-size:1.12rem;}
}

@media (prefers-color-scheme: dark){
  .hero-slide-overlay{background:linear-gradient(180deg, rgba(3,7,14,.22) 0%, rgba(3,7,14,.46) 48%, rgba(3,7,14,.68) 100%),radial-gradient(circle at top right, rgba(44,109,229,.16), rgba(44,109,229,0) 38%)}
  .locator-map-panel{background:rgba(8,13,22,.94);border-color:rgba(255,255,255,.08);}
}


/* v0.4.3.10 light hero readability + taller mobile map */
@media (prefers-color-scheme: light), (prefers-color-scheme: no-preference){
  .hero-slide-overlay{
    background:linear-gradient(180deg, rgba(5,11,20,.22) 0%, rgba(5,11,20,.42) 48%, rgba(5,11,20,.62) 100%),radial-gradient(circle at top right, rgba(44,109,229,.14), rgba(44,109,229,0) 38%);
  }
  .hero-slide-content h1,
  .hero-slide-title{
    color:#ffffff !important;
    text-shadow:0 3px 18px rgba(0,0,0,.42), 0 1px 3px rgba(0,0,0,.35) !important;
  }
  .hero-slide-content p{
    color:rgba(255,255,255,.98) !important;
    text-shadow:0 2px 8px rgba(0,0,0,.34) !important;
  }
  .hero-slide-eyebrow{
    color:#ffffff;
    background:rgba(255,255,255,.18);
    border-color:rgba(255,255,255,.28);
    box-shadow:0 10px 20px rgba(7,14,28,.14);
  }
}

@media (max-width:900px){
  .locator-map{height:290px;min-height:290px;}
}

@media (max-width:520px){
  .locator-map{height:264px;min-height:264px;}
}



/* v0.4.4.5 homepage map responsive height tuning */
.locator-map-wrap{
  min-height: 332px;
}

.locator-map{
  min-height: 332px;
}

@media (max-width: 1200px){
  .locator-map-wrap,
  .locator-map{
    min-height: 360px;
  }
}

@media (max-width: 900px){
  .locator-map-wrap,
  .locator-map{
    min-height: 460px;
  }
}

@media (max-width: 640px){
  .locator-map-wrap,
  .locator-map{
    min-height: 53vh;
  }
}

/* v0.4.4.5 mobile bar always visible */
.store-card{position:relative}.store-badge{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;margin-bottom:14px;border-radius:999px;background:rgba(44,109,229,.1);color:var(--primary-dark);font-size:.88rem;font-weight:800;letter-spacing:.01em}.store-card-map-link{display:block;margin-top:10px;color:var(--muted);font-size:.92rem;font-weight:700}
.shop-mobile-bar{position:fixed;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 10px);z-index:120;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:10px;border-radius:22px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(219,228,242,.95);box-shadow:0 18px 36px rgba(16,33,63,.12)}
.shop-mobile-bar-link{display:inline-flex;align-items:center;justify-content:center;min-height:54px;border-radius:16px;text-decoration:none;font-weight:800;background:var(--surface);border:1px solid var(--line);color:var(--text)}
.shop-mobile-bar-link-primary{background:linear-gradient(180deg,var(--primary) 0%, #2863d1 100%);color:#fff;border-color:transparent;box-shadow:0 16px 30px rgba(44,109,229,.22)}
.shop-page{padding-bottom:112px}
@media (max-width:767px){.site-footer{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))}}
@media (min-width:768px){.shop-mobile-bar{display:none}}
@media (prefers-color-scheme: dark){.store-card-map-link{color:#aebcda}.store-badge{background:rgba(86,138,255,.16);color:#dce8ff}.shop-mobile-bar{background:rgba(10,18,34,.9);border-color:rgba(95,122,167,.36)}.shop-mobile-bar-link{background:rgba(11,18,30,.9);border-color:rgba(95,122,167,.36);color:#eef4ff}}


/* v0.4.5.0 locator cards richer info */
.locator-card{position:relative;padding-right:4.4rem}
.locator-card-province{position:absolute;top:1rem;right:1rem;display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:30px;padding:0 .7rem;border-radius:999px;background:rgba(44,109,229,.1);color:var(--primary-dark);font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.locator-card-address{display:block;margin-top:.45rem;color:#5f7187;font-size:.92rem;line-height:1.42}
.locator-map-panel-address{margin:.4rem 0 0;color:#173056;font-size:.92rem;font-weight:700;line-height:1.45}
@media (prefers-color-scheme: dark){.locator-card-province{background:rgba(86,138,255,.16);color:#dce8ff}.locator-card-address,.locator-map-panel-address{color:#c7d5ea}}
@media (max-width:900px){.locator-card{padding-right:1.05rem}.locator-card-province{position:static;top:auto;right:auto;margin:0 0 .42rem;min-width:0;align-self:flex-start}}


/* v0.4.6.0 phone protection */
.shop-phone{display:inline-block;font-weight:700;color:var(--primary-dark);margin:.15rem 0 .8rem}.shop-phone.is-ready{letter-spacing:.01em}.button-call{min-height:52px;padding:0 22px;font-size:1rem}.info-phone-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:10px}.info-phone-actions .button{margin:0}.shop-mobile-bar-link.is-disabled{pointer-events:none;opacity:.65}.shop-mobile-bar-link.is-ready{pointer-events:auto;opacity:1}

/* v0.4.6.0 fixes */
.hero-slide-content .nowrap{display:inline-block;white-space:nowrap}
@media (max-width: 767px){.hero-slide-content h1{font-size:clamp(2.25rem,7.8vw,3.6rem);line-height:.94}}
.shop-phone.js-phone-text{font-weight:600;color:var(--muted)}
.shop-phone.is-revealed{color:var(--primary-dark);font-weight:700}
body.dark-theme .shop-phone.is-revealed{color:var(--text-light)}


/* v0.4.6.0 lavora con noi */
.jobs-hero{padding-bottom:18px}
.jobs-hero-grid,.jobs-cta-grid,.jobs-areas-grid,.jobs-values-grid,.jobs-profile-grid,.jobs-tasks-grid{display:grid;gap:18px}
.jobs-hero-card{position:relative;overflow:hidden}
.jobs-hero-card::after{content:"";position:absolute;inset:auto -60px -80px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle, rgba(44,109,229,.18) 0%, rgba(44,109,229,0) 72%);pointer-events:none}
.jobs-eyebrow,.jobs-card-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:8px 14px;border-radius:999px;background:rgba(44,109,229,.1);color:var(--primary-dark);font-weight:800;font-size:.92rem;letter-spacing:.01em}
.jobs-lead{max-width:760px}
.jobs-hero-actions{margin-top:24px}
.jobs-info-card,.jobs-value-card,.jobs-task-card,.jobs-area-card,.jobs-contact-card{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 10px 28px rgba(16,33,63,.05)}
.jobs-info-card p,.jobs-value-card p,.jobs-task-card p,.jobs-area-card p,.jobs-contact-card p{margin:0;color:var(--muted);font-size:1.04rem;line-height:1.5}
.jobs-info-card strong,.jobs-area-card strong,.jobs-contact-card strong{display:block;margin:0 0 10px;font-size:1.22rem;line-height:1.15;letter-spacing:-.02em}
.jobs-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.jobs-stat{padding:18px;border-radius:22px;background:linear-gradient(180deg,#f8fbff 0%,#eef4ff 100%);border:1px solid #d7e4f8}
.jobs-stat strong{display:block;font-size:2rem;line-height:1;color:var(--primary-dark);letter-spacing:-.05em}
.jobs-stat span{display:block;margin-top:8px;color:var(--muted);font-weight:700}
.jobs-values-grid,.jobs-profile-grid,.jobs-tasks-grid,.jobs-areas-grid,.jobs-cta-grid{grid-template-columns:1fr}
.jobs-list{margin:0;padding-left:20px;color:var(--muted);font-size:1.04rem;line-height:1.55}
.jobs-list li+li{margin-top:8px}
.jobs-section-intro{max-width:760px;margin:0 0 20px;color:var(--muted);font-size:1.1rem;line-height:1.5}
.jobs-area-card .jobs-area-meta{display:inline-flex;margin-top:14px;padding:8px 12px;border-radius:999px;background:#eef4ff;color:var(--primary-dark);font-weight:800;font-size:.92rem}
.jobs-contact-card .button{margin-top:18px}
.jobs-note{margin-top:16px;color:var(--muted);font-size:.98rem}
.jobs-footer-link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;color:var(--primary-dark);font-weight:800;text-decoration:none}
.jobs-footer-link::after{content:"→"}
@media (min-width:768px){
  .jobs-hero-grid{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);align-items:stretch}
  .jobs-values-grid,.jobs-profile-grid,.jobs-tasks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jobs-areas-grid,.jobs-cta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (prefers-color-scheme: dark){
  .jobs-eyebrow,.jobs-card-kicker{background:rgba(106,156,255,.16);color:#c8dcff}
  .jobs-stat{background:linear-gradient(180deg,rgba(36,49,74,.95) 0%, rgba(22,30,47,.98) 100%);border-color:rgba(117,150,210,.26)}
  .jobs-area-card .jobs-area-meta{background:rgba(106,156,255,.14);color:#c8dcff}
}


/* v0.4.6.1 lavora con noi form and dark alignment */
.jobs-feedback-section{padding-top:0;padding-bottom:8px}
.jobs-feedback{padding:18px 20px;border-radius:22px;border:1px solid var(--line);font-weight:700;box-shadow:0 10px 28px rgba(16,33,63,.05)}
.jobs-feedback-success{background:linear-gradient(180deg,#f3fbf7 0%,#e7f7ef 100%);color:#14643d;border-color:#cbe9d7}
.jobs-feedback-error{background:linear-gradient(180deg,#fff7f7 0%,#ffefef 100%);color:#8d2330;border-color:#f0c9ce}
.jobs-application-grid{display:grid;gap:18px}
.jobs-contact-card--sticky{align-self:start}
.jobs-form-wrap{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 10px 28px rgba(16,33,63,.05)}
.jobs-form-grid{display:grid;gap:16px}
.jobs-field{display:flex;flex-direction:column;gap:8px}
.jobs-field span{font-weight:800;letter-spacing:-.01em}
.jobs-field input,.jobs-field select,.jobs-field textarea{width:100%;min-height:56px;padding:14px 16px;border-radius:18px;border:1px solid var(--line-strong);background:#fff;color:var(--text);font:inherit;outline:none;transition:border-color .15s ease, box-shadow .15s ease, background .15s ease}
.jobs-field textarea{min-height:160px;resize:vertical}
.jobs-field input[type="file"]{padding:12px;background:var(--surface-soft)}
.jobs-field small{color:var(--muted);font-size:.92rem;line-height:1.45}
.jobs-field input:focus,.jobs-field select:focus,.jobs-field textarea:focus{border-color:rgba(44,109,229,.55);box-shadow:0 0 0 4px rgba(44,109,229,.12)}
.jobs-checkbox{display:flex;gap:12px;align-items:flex-start;padding-top:4px}
.jobs-checkbox input{margin-top:4px;transform:scale(1.15)}
.jobs-checkbox span{color:var(--muted);font-size:.98rem;line-height:1.45}
.jobs-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:22px}
.jobs-list-compact{margin-top:14px}
.jobs-list-compact li+li{margin-top:6px}
@media (min-width:768px){.jobs-application-grid{grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)}.jobs-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jobs-field-full{grid-column:1 / -1}}
@media (prefers-color-scheme: dark){.jobs-hero-card,.jobs-info-card,.jobs-value-card,.jobs-task-card,.jobs-area-card,.jobs-contact-card,.jobs-form-wrap{background:linear-gradient(180deg,#161b22 0%,#1c2532 100%) !important;border-color:rgba(255,255,255,.08) !important;box-shadow:0 18px 40px rgba(0,0,0,.28) !important}.jobs-hero h1,.jobs-info-card strong,.jobs-value-card strong,.jobs-task-card strong,.jobs-area-card strong,.jobs-contact-card strong,.jobs-field span{color:#f0f6fc}.jobs-hero p,.jobs-section-intro,.jobs-info-card p,.jobs-value-card p,.jobs-task-card p,.jobs-area-card p,.jobs-contact-card p,.jobs-list,.jobs-list li,.jobs-note,.jobs-checkbox span,.jobs-field small,.jobs-stat span{color:#c9d1d9}.jobs-field input,.jobs-field select,.jobs-field textarea{background:#111827;color:#eef4ff;border-color:rgba(117,150,210,.26)}.jobs-field input[type="file"]{background:#0f1724}.jobs-field input:focus,.jobs-field select:focus,.jobs-field textarea:focus{border-color:rgba(106,156,255,.55);box-shadow:0 0 0 4px rgba(106,156,255,.14)}.jobs-feedback{border-color:rgba(255,255,255,.08);box-shadow:0 18px 40px rgba(0,0,0,.28)}.jobs-feedback-success{background:linear-gradient(180deg,rgba(22,70,50,.96) 0%, rgba(14,44,31,.98) 100%);color:#d8ffe9;border-color:rgba(82,194,134,.24)}.jobs-feedback-error{background:linear-gradient(180deg,rgba(88,28,35,.96) 0%, rgba(54,19,24,.98) 100%);color:#ffd9df;border-color:rgba(233,103,122,.24)}}


/* v0.4.6.4 lavora con noi compact redesign */
.jobs-hero-grid--single{grid-template-columns:1fr !important}
.jobs-section-compact{padding-top:18px;padding-bottom:10px}
.jobs-feedback-shell{max-width:900px}
.jobs-split-grid{display:grid;gap:18px}
.jobs-values-grid--compact,.jobs-profile-grid--compact{display:grid;gap:14px}
.jobs-values-grid--compact .jobs-value-card,
.jobs-profile-grid--compact .jobs-info-card{padding:20px}
.jobs-values-grid--compact .jobs-value-card strong,
.jobs-profile-grid--compact .jobs-info-card strong{display:block;margin:0 0 10px;font-size:1.12rem;line-height:1.15}
.jobs-list-tight{font-size:1rem;line-height:1.45}
.jobs-list-tight li+li{margin-top:6px}
.jobs-section-intro-tight{max-width:720px;margin-bottom:16px;font-size:1.02rem}
.jobs-store-pills{display:flex;flex-wrap:wrap;gap:10px}
.jobs-store-pill{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border-radius:999px;background:rgba(44,109,229,.08);border:1px solid rgba(44,109,229,.12);color:var(--primary-dark);font-weight:800;font-size:.95rem}
.jobs-apply-card{background:var(--surface);border:1px solid var(--line);border-radius:32px;padding:22px;box-shadow:0 16px 34px rgba(16,33,63,.06)}
.jobs-apply-head{display:grid;gap:16px;margin-bottom:18px}
.jobs-form-title{margin-bottom:12px}
.jobs-apply-note{padding:18px;border-radius:22px;background:linear-gradient(180deg,#f8fbff 0%,#eef4ff 100%);border:1px solid #d7e4f8}
.jobs-apply-note strong{display:block;margin-bottom:6px;font-size:1rem;line-height:1.2}
.jobs-apply-note p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.45}
.jobs-form--compact{margin-top:0}
.jobs-form-grid--compact{gap:14px}
.jobs-form--compact .jobs-field span{font-size:.95rem}
.jobs-form--compact .jobs-field input,
.jobs-form--compact .jobs-field select,
.jobs-form--compact .jobs-field textarea{min-height:54px;border-radius:16px;background:var(--surface-soft)}
.jobs-form--compact .jobs-field textarea{min-height:120px}
.jobs-upload-field input[type="file"]{padding:14px}
.jobs-form-actions--compact{margin-top:18px}
@media (min-width:768px){
  .jobs-split-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .jobs-values-grid--compact,.jobs-profile-grid--compact{grid-template-columns:1fr}
  .jobs-apply-head{grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);align-items:start}
  .jobs-form-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-color-scheme: dark){
  .jobs-hero-card,
  .jobs-info-card,
  .jobs-value-card,
  .jobs-task-card,
  .jobs-area-card,
  .jobs-contact-card,
  .jobs-form-wrap,
  .jobs-apply-card{
    background:
      radial-gradient(120% 120% at 100% 0%, rgba(80,120,255,0.10) 0%, rgba(80,120,255,0) 60%),
      linear-gradient(180deg, #0b1220 0%, #0a101a 100%) !important;
    border:1px solid rgba(255,255,255,0.08) !important;
    box-shadow:0 20px 40px rgba(0,0,0,0.35), inset 0 1px 0 rgba(255,255,255,0.03) !important;
  }
  .jobs-hero h1,
  .jobs-info-card strong,
  .jobs-value-card strong,
  .jobs-task-card strong,
  .jobs-area-card strong,
  .jobs-contact-card strong,
  .jobs-field span,
  .jobs-form-title,
  .jobs-apply-note strong{color:#eef4ff}
  .jobs-hero p,
  .jobs-section-intro,
  .jobs-info-card p,
  .jobs-value-card p,
  .jobs-task-card p,
  .jobs-area-card p,
  .jobs-contact-card p,
  .jobs-list,
  .jobs-list li,
  .jobs-note,
  .jobs-checkbox span,
  .jobs-field small,
  .jobs-stat span,
  .jobs-apply-note p{color:#b8c7e0}
  .jobs-store-pill,
  .jobs-eyebrow,
  .jobs-card-kicker,
  .jobs-area-card .jobs-area-meta{background:rgba(86,138,255,.16);color:#dce8ff;border-color:rgba(95,122,167,.36)}
  .jobs-stat,
  .jobs-apply-note{background:linear-gradient(180deg,rgba(18,26,40,.98),rgba(12,18,30,.98));border-color:rgba(95,122,167,.36)}
  .jobs-form--compact .jobs-field input,
  .jobs-form--compact .jobs-field select,
  .jobs-form--compact .jobs-field textarea{background:#0f1724;color:#eef4ff;border-color:rgba(95,122,167,.36)}
  .jobs-form--compact .jobs-field input[type="file"]{background:#0f1724}
}


.jobs-feedback-shell-inline {
  margin-top: 1rem;
}

.jobs-apply-head .jobs-feedback {
  margin-bottom: 0;
}


.jobs-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;}

.local-nearby{margin-top:.9rem;}
