body.store-page{margin:0;background:#fffaf1;color:#171715;font-family:'DM Sans',system-ui,sans-serif}
.store-page *{box-sizing:border-box}
.store-header{position:sticky;top:0;z-index:20;background:rgba(255,253,248,.95);backdrop-filter:blur(14px);border-bottom:1px solid #eee6d7;display:flex;align-items:center;gap:24px;padding:12px 5vw}
.store-header>a:first-child{margin-right:auto}
.store-header img{width:170px;display:block}
.store-back{font-weight:800;text-decoration:none;color:#191919}
.store-langs{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.store-langs button{font-size:13px;line-height:1;border:1px solid transparent;border-radius:999px;padding:9px 12px;font-weight:800;background:transparent;color:#5d574d;cursor:pointer}
.store-langs button:hover{background:#fff3c2}
.store-langs button.active{border-color:#e8c94e;background:#fff0a8;color:#171715}

.store-hero{padding:54px 5vw 30px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:54px;align-items:center;min-height:650px;overflow:hidden}
.store-hero-copy{max-width:680px}
.store-hero .eyebrow,.store-section .eyebrow{font-size:12px;letter-spacing:.22em;font-weight:800}
.store-hero h1{font:800 clamp(56px,6.8vw,96px)/.92 Manrope,sans-serif;letter-spacing:-.055em;margin:.14em 0 .2em}
.store-address{font-size:20px;font-weight:800;margin:0 0 4px}
.store-area{font-weight:700;color:#8f6b12;margin:0 0 16px}
.store-description{font-size:19px;line-height:1.58;max-width:620px}
.store-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.store-hero-media{position:relative;min-height:520px}
.store-hero-media:before{content:"";position:absolute;width:88%;height:88%;right:0;top:5%;background:#f7d94f;border-radius:45% 55% 52% 48%/42% 48% 52% 58%;transform:rotate(-4deg)}
.store-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:42% 58% 45% 55%/55% 45% 55% 45%;z-index:1;box-shadow:0 18px 45px rgba(53,36,13,.13)}
.store-doodle{position:absolute;z-index:2;right:-8px;top:8px;background:#fff0a9;border-radius:50%;width:140px;height:140px;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;transform:rotate(7deg);padding:20px}

.store-section{padding:58px 5vw}
.store-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}
.store-section-head h2,.store-section>h2{font:800 clamp(38px,4.6vw,64px)/1 Manrope,sans-serif;letter-spacing:-.045em;margin:.1em 0}
.store-section-head p{margin:0;color:#726c63}

.store-details-section{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding-top:28px;padding-bottom:36px}
.store-info-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;background:transparent;border:0}
.store-info-item{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding:24px 24px 22px;background:#fff;border:1px solid #eee5d4;border-radius:26px;box-shadow:0 12px 32px rgba(55,36,10,.05);min-height:100%}
.store-info-icon{width:44px;height:44px;border-radius:14px;background:#fff3c2;display:grid;place-items:center;font-size:22px;line-height:1;color:#171715;margin-top:1px}
.store-info-item strong{display:block;text-transform:uppercase;font-size:11px;letter-spacing:.14em;margin-bottom:8px;color:#8f6b12}
.store-info-item p{margin:0 0 5px;line-height:1.45}
.store-inline-link,.store-phone-link a{display:inline-flex;align-items:center;gap:6px;margin-top:8px;color:#171715;text-decoration:none;font-weight:800;font-size:14px}
.store-inline-link:hover,.store-phone-link a:hover{text-decoration:underline}
.store-inline-link.is-disabled,.store-phone-link a.is-disabled{opacity:.45;pointer-events:none;text-decoration:none}
.store-hours-list{display:grid;gap:7px}
.store-hours-list div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px dashed #ece1cd;padding-bottom:6px}
.store-hours-list div:last-child{border-bottom:0;padding-bottom:0}
.store-hours-list span{color:#766e63}
.store-address-image{width:100%;height:280px;border-radius:28px;overflow:hidden;background:#f7efe2}
.store-address-image[hidden]{display:none!important}
.store-address-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

.store-highlights{background:transparent;padding-top:42px;padding-bottom:42px}
.store-highlights .store-section-head{margin-bottom:20px}
.store-category-slider-shell{position:relative;display:flex;align-items:center;gap:14px}
.store-category-slider-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,28vw);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 10px;flex:1}
.store-category-slider-track::-webkit-scrollbar{display:none}
.store-category-slide{position:relative;height:260px;border-radius:28px;overflow:hidden;scroll-snap-align:start;background:#f4e8d8;box-shadow:0 12px 28px rgba(58,39,13,.07)}
.store-category-slide img{width:100%;height:100%;object-fit:cover;display:block}
.store-category-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,14,14,.05) 0%,rgba(14,14,14,.18) 45%,rgba(14,14,14,.72) 100%)}
.store-category-copy{position:absolute;left:20px;right:20px;bottom:18px;color:#fff;display:flex;flex-direction:column;gap:6px}
.store-category-copy span{font-size:11px;letter-spacing:.22em;font-weight:800;opacity:.9}
.store-category-copy strong{font:800 28px/1 Manrope,sans-serif;letter-spacing:-.03em}
.store-slider-nav{width:46px;height:46px;border:1px solid #e3d6c2;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:28px;line-height:1;color:#1a1a1a;cursor:pointer;box-shadow:0 8px 18px rgba(35,22,6,.06);flex:0 0 auto}
.store-slider-nav:hover{background:#fff7d8}

.store-gallery-section[hidden]{display:none!important}
.store-gallery-section{padding-top:36px}
.store-photo-strip{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:12px}
.store-photo-strip img,.store-photo-strip img:first-child{width:100%;height:330px;object-fit:cover;border-radius:24px;align-self:auto}

.store-order-band{background:#fff2c2;border-radius:30px;padding:40px}
.store-delivery{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.store-delivery a{display:none}
.store-delivery a.active{display:inline-flex}
.store-cta{background:#191919;color:white;border-radius:30px;padding:46px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.store-cta .eyebrow{color:#ffd749}
.store-cta h2{color:white;margin:.15em 0}
.store-cta p{color:#eee}
.store-cta .btn{background:#ffd749;color:#161616}
.store-footer-note{text-align:center;padding:24px;color:#7b7368}

@media(min-width:980px){
  .store-details-section:has(.store-address-image:not([hidden])){grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);align-items:start}
  .store-address-image{height:100%;min-height:260px}
}

@media(max-width:1050px){
  .store-hero{grid-template-columns:1fr 1fr;gap:28px}
  .store-info-band{grid-template-columns:1fr 1fr}
  .store-info-item:last-child{grid-column:1/-1}
  .store-category-slider-track{grid-auto-columns:minmax(240px,42vw)}
}

@media(max-width:760px){
  .store-header{padding:10px 18px;gap:10px;flex-wrap:wrap}
  .store-header>a:first-child{margin-right:auto}
  .store-header img{width:138px}
  .store-back{order:3;width:100%;font-size:14px;padding-top:3px}
  .store-langs{gap:4px}
  .store-langs button{font-size:11px;padding:8px 9px}

  .store-hero{display:flex;flex-direction:column;padding:34px 18px 20px;gap:26px;min-height:0}
  .store-hero-copy{order:1}
  .store-hero-media{order:2;width:100%;min-height:370px}
  .store-hero-media:before{width:92%;height:88%;right:-4%;top:6%}
  .store-hero-media img{border-radius:30% 70% 42% 58%/48% 38% 62% 52%}
  .store-doodle{width:98px;height:98px;font-size:12px;padding:10px}
  .store-hero h1{font-size:clamp(44px,13vw,62px)}
  .store-description{font-size:16px}
  .store-actions .btn{flex:1 1 45%}

  .store-section{padding:46px 18px}
  .store-section-head{display:block}
  .store-details-section{padding:18px 18px 34px;gap:16px}
  .store-info-band{grid-template-columns:1fr;gap:12px}
  .store-info-item{grid-template-columns:40px 1fr;padding:18px 18px 17px;border-radius:22px}
  .store-info-item:last-child{grid-column:auto}
  .store-info-icon{width:40px;height:40px;font-size:20px;border-radius:12px}
  .store-address-image{height:220px;border-radius:22px}

  .store-highlights{padding-top:34px;padding-bottom:34px}
  .store-category-slider-shell{gap:8px}
  .store-category-slider-track{grid-auto-columns:80%;gap:10px;padding-bottom:4px}
  .store-category-slide{height:220px;border-radius:22px}
  .store-category-copy strong{font-size:24px}
  .store-slider-nav{width:40px;height:40px;font-size:24px}

  .store-photo-strip{grid-template-columns:1fr 1fr;gap:10px}
  .store-photo-strip img,.store-photo-strip img:first-child{height:220px;border-radius:20px}
  .store-photo-strip img:first-child{grid-column:1/-1;height:260px}

  .store-order-band{padding:28px 22px}
  .store-cta{padding:30px 22px;display:block}
  .store-cta .btn{margin-top:18px}
}

/* ===== V29 LANDING INFO CARDS + ADDRESS IMAGE PLACEMENT ===== */
.store-details-section{
  display:block !important;
  padding-top:30px !important;
  padding-bottom:42px !important;
}
.store-info-band{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
.store-info-item{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  min-height:230px !important;
  padding:26px 26px 24px !important;
  border:1px solid rgba(224,209,187,.9) !important;
  border-radius:28px !important;
  background:linear-gradient(180deg,#fffefb 0%,#fffaf1 100%) !important;
  box-shadow:0 18px 42px rgba(58,38,11,.065) !important;
  overflow:hidden !important;
}
.store-info-item::before{
  content:"";
  position:absolute;
  width:130px;
  height:130px;
  border-radius:50%;
  right:-54px;
  top:-62px;
  background:rgba(255,220,82,.16);
  pointer-events:none;
}
.store-info-icon{
  width:46px !important;
  height:46px !important;
  margin:0 0 18px !important;
  border-radius:15px !important;
  background:#fff0a6 !important;
  display:grid !important;
  place-items:center !important;
  font-size:21px !important;
  box-shadow:0 7px 18px rgba(224,177,34,.13) !important;
  flex:0 0 auto !important;
}
.store-info-item>div{
  position:relative;
  z-index:1;
  min-width:0;
}
.store-info-item strong{
  font-size:11px !important;
  letter-spacing:.17em !important;
  margin-bottom:11px !important;
  color:#806411 !important;
}
.store-info-item p{
  font-size:16px !important;
  line-height:1.5 !important;
  color:#302d28 !important;
}
.store-inline-link,.store-phone-link a{
  margin-top:12px !important;
  font-size:14px !important;
  font-weight:900 !important;
  text-decoration:none !important;
}
.store-inline-link:not(.is-disabled):hover,.store-phone-link a:not(.is-disabled):hover{
  text-decoration:underline !important;
}
.store-hours-list{
  margin-top:2px !important;
  gap:6px !important;
}
.store-hours-list div{
  padding:0 0 6px !important;
  gap:12px !important;
  font-size:13px !important;
}
.store-hours-list div strong{
  margin:0 !important;
  letter-spacing:0 !important;
  color:#171715 !important;
  font-size:13px !important;
  text-transform:none !important;
}
.store-address-image{
  width:100% !important;
  height:125px !important;
  margin-top:18px !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:#f7efe2 !important;
  box-shadow:none !important;
}
.store-address-image[hidden]{display:none !important}
.store-address-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}
.store-info-contact .store-inline-link.is-disabled{
  display:inline-flex !important;
  padding:10px 12px !important;
  border-radius:999px !important;
  background:#f5efe5 !important;
  color:#9d9385 !important;
  font-weight:700 !important;
  font-size:13px !important;
}
@media(max-width:1050px){
  .store-info-band{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .store-info-item:last-child{grid-column:1/-1 !important}
}
@media(max-width:760px){
  .store-details-section{padding:20px 18px 34px !important}
  .store-info-band{grid-template-columns:1fr !important;gap:12px !important}
  .store-info-item{
    min-height:0 !important;
    border-radius:23px !important;
    padding:20px 19px !important;
  }
  .store-info-item:last-child{grid-column:auto !important}
  .store-info-icon{
    width:42px !important;
    height:42px !important;
    margin-bottom:14px !important;
  }
  .store-address-image{
    height:170px !important;
    margin-top:16px !important;
    border-radius:17px !important;
  }
}


/* ===== V30 INSTAGRAM SCREENSHOT PREVIEW ===== */
.store-instagram-preview{display:block;margin-top:16px;border-radius:18px;overflow:hidden;background:#f7efe3;border:1px solid #eee1ce;text-decoration:none;box-shadow:0 10px 24px rgba(44,29,8,.06)}
.store-instagram-preview[hidden]{display:none!important}
.store-instagram-preview img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top center}
.store-instagram-preview:not(.is-disabled):hover img{transform:scale(1.015)}
.store-instagram-preview img{transition:transform .25s ease}
.store-instagram-preview.is-disabled{pointer-events:none;opacity:.85}
@media(max-width:760px){.store-instagram-preview{border-radius:16px}.store-instagram-preview img{aspect-ratio:4/5}}

/* ===== V31 COMPACT EQUAL INFO CARDS ===== */
@media(min-width:1060px){
  .store-details-section{
    padding-top:24px !important;
    padding-bottom:34px !important;
  }
  .store-info-band{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
    align-items:stretch !important;
  }
  .store-info-item{
    height:300px !important;
    min-height:300px !important;
    max-height:300px !important;
    padding:20px 21px 18px !important;
    border-radius:24px !important;
    overflow:hidden !important;
  }
  .store-info-icon{
    width:39px !important;
    height:39px !important;
    margin:0 0 12px !important;
    border-radius:13px !important;
    font-size:18px !important;
  }
  .store-info-item strong{
    margin-bottom:7px !important;
    font-size:10px !important;
  }
  .store-info-item p{
    font-size:14px !important;
    line-height:1.38 !important;
    margin-bottom:3px !important;
  }
  .store-inline-link,.store-phone-link a{
    margin-top:6px !important;
    font-size:13px !important;
  }
  .store-hours-list{
    gap:3px !important;
  }
  .store-hours-list div{
    padding:0 0 3px !important;
    font-size:11.5px !important;
    line-height:1.22 !important;
  }
  .store-hours-list div strong{
    font-size:11.5px !important;
  }
  .store-address-image{
    height:105px !important;
    margin-top:10px !important;
    border-radius:14px !important;
  }
  .store-instagram-preview{
    height:150px !important;
    margin-top:9px !important;
    border-radius:14px !important;
  }
  .store-instagram-preview img{
    width:100% !important;
    height:100% !important;
    aspect-ratio:auto !important;
    object-fit:cover !important;
    object-position:top center !important;
  }
  .store-info-contact .store-inline-link.is-disabled{
    padding:7px 10px !important;
    font-size:12px !important;
  }
}

@media(min-width:761px) and (max-width:1059px){
  .store-info-band{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:12px !important;
  }
  .store-info-item,
  .store-info-item:last-child{
    grid-column:auto !important;
    min-height:310px !important;
    height:310px !important;
    max-height:310px !important;
    padding:18px !important;
  }
  .store-address-image{height:100px !important;margin-top:10px !important}
  .store-instagram-preview{height:145px !important;margin-top:9px !important}
  .store-instagram-preview img{height:100% !important;aspect-ratio:auto !important;object-fit:cover !important;object-position:top center !important}
  .store-hours-list div,.store-hours-list div strong{font-size:11px !important}
}

@media(max-width:760px){
  .store-info-band{gap:12px !important}
  .store-info-item{
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    padding:18px !important;
  }
  .store-address-image{height:145px !important;margin-top:12px !important}
  .store-instagram-preview{height:210px !important;margin-top:12px !important}
  .store-instagram-preview img{height:100% !important;aspect-ratio:auto !important;object-fit:cover !important;object-position:top center !important}
}
