
:root{--ink:#4a2e20;--ink2:#6d4934;--cream:#fffaf3;--paper:#fffdf9;--peach:#efb37f;--salmon:#ee727b;--pink:#f6aeb5;--line:#eadacb;--muted:#7e685a;--shadow:0 14px 34px rgba(97,61,38,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:#eee7df;color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.site{max-width:1440px;margin:0 auto;background:var(--cream);box-shadow:0 0 0 1px rgba(77,47,33,.05),0 28px 80px rgba(74,44,28,.12);overflow:hidden}
.header{height:84px;display:flex;align-items:center;padding:0 64px;background:rgba(255,252,247,.97);position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(99,61,40,.07);backdrop-filter:blur(12px)}.brand{width:255px;height:54px;display:flex;align-items:center}.brand img{width:235px;height:auto;display:block}.nav{margin-left:auto;display:flex;align-items:center;gap:38px;font-size:14px;font-weight:600}.nav a{position:relative;padding:31px 0 27px}.nav a:hover{color:#df6d75}.nav a.active:after{content:'';position:absolute;width:27px;height:3px;border-radius:3px;background:#ed737c;left:50%;bottom:18px;transform:translateX(-50%)}.head-actions{display:flex;gap:14px;align-items:center;margin-left:36px;padding-left:25px;border-left:1px solid #e6d5c6}.icon-btn{width:30px;height:30px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;border-radius:8px;padding:5px}.icon-btn img{width:18px;height:18px;display:block}.icon-btn:hover{background:#f7e9dc}.cart-btn{width:30px;position:relative;padding:4px}.cart-btn img{width:20px;height:20px}.cart-badge{position:absolute;right:-8px;top:-7px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#ee747c;color:white;font-size:10px;border:2px solid var(--cream)}.menu-btn{display:none;border:0;background:transparent;font-size:23px;cursor:pointer}
.hero{min-height:520px;display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(255,249,241,.99) 0%,rgba(255,249,241,.95) 34%,rgba(255,249,241,.44) 56%,rgba(255,249,241,.02) 77%),url('../images/hero-banner.png');background-size:cover;background-position:center;position:relative}.hero-copy{width:590px;margin-left:70px;margin-top:-4px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.025em;margin-bottom:24px}.eyebrow span{color:#eb737b;margin-left:6px}.hero h1{font-family:'DM Serif Display',Georgia,serif;font-size:64px;line-height:1.02;font-weight:400;margin:0 0 18px;letter-spacing:-1.6px}.hero h1 .lylo-color{color:#ed727d}.hero h1 .ming-color{color:#bf6d28}.hero p{max-width:520px;font-size:16px;line-height:1.65;color:#694837;margin:0 0 29px}.hero-actions{display:flex;gap:14px}.btn{min-height:50px;padding:0 26px;border-radius:28px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;border:1.5px solid var(--ink);cursor:pointer}.btn-primary{background:#ee737b;color:white;border-color:#ee737b;box-shadow:0 12px 26px rgba(238,115,123,.22)}.btn-primary:hover{transform:translateY(-1px)}.btn-outline{background:rgba(255,251,245,.75)}
.profiles{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:min(1288px,calc(100% - 72px));padding:0 0 18px;margin:-34px auto 0;position:relative;z-index:3}.profile-card{min-height:270px;border-radius:18px;background:#fffdf9;border:1px solid #ead9c9;box-shadow:var(--shadow);display:grid;grid-template-columns:228px 1fr;align-items:center;padding:24px 28px 22px 22px;cursor:pointer;transition:.2s ease}.profile-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(97,61,38,.11)}.profile-image-wrap{width:214px;height:214px;display:grid;place-items:center;position:relative}.profile-image-wrap img{display:block;width:100%;height:100%;object-fit:contain}.profile-card[data-profile="mingming"] .profile-image-wrap{width:212px;height:224px;justify-self:center;align-items:start;padding-bottom:12px}.profile-card[data-profile="mingming"] .profile-image-wrap img{width:202px;height:202px;object-fit:contain;object-position:center top}.profile-copy h2{font-family:'DM Serif Display',Georgia,serif;font-size:38px;font-weight:400;margin:0 0 0;line-height:1}.profile-copy h2 span{font-family:'DM Sans';font-size:15px;color:#eb7881;vertical-align:top;margin-left:5px}.profile-copy h3{font-family:'Caveat',cursive;color:#c36d2b;font-size:27px;font-weight:600;margin:3px 0 12px;line-height:1.05}.facts{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;font-weight:600;margin-bottom:10px}.profile-copy p{font-size:12px;line-height:1.48;margin:0 0 12px;max-width:360px}.tags{display:flex;gap:7px;flex-wrap:wrap}.tags b{font-size:10px;padding:5px 12px;border-radius:99px;font-weight:500}.tags.pink b{background:#f8d2d6}.tags.orange b{background:#f7d7a8}.paw-dot{font-size:13px!important;color:#d98d44!important}
.section{padding:15px 64px 17px}.section-head{display:flex;justify-content:space-between;align-items:end;margin:10px 0 15px}.section-head h2{font-family:'DM Serif Display',Georgia,serif;font-size:28px;font-weight:400;margin:0}.section-head a{font-size:12px;color:#e46e76;font-weight:600}.stories{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.story{border-radius:15px;overflow:hidden;border:1px solid #eadbcd;background:#fffdf9;box-shadow:0 10px 24px rgba(88,54,35,.05);cursor:pointer}.story>img{width:100%;height:150px;object-fit:cover;display:block}.story-body{padding:12px 14px 14px;position:relative}.story-body small{display:flex;justify-content:space-between;font-size:9px;color:#b2774c}.story-body h3{font-family:'DM Serif Display',Georgia,serif;font-size:18px;font-weight:400;margin:8px 0 5px}.story-body p{font-size:11px;line-height:1.45;margin:0;padding-right:28px;color:#694a39}.story-body i{position:absolute;right:14px;bottom:12px;color:#d89c68;font-size:22px;font-style:normal}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product{background:#fffdf9;border:1px solid #eadbcd;border-radius:14px;overflow:hidden}.product>img{display:block;width:100%;height:164px;object-fit:cover;background:#fbebdb}.product-info{display:flex;align-items:end;justify-content:space-between;padding:11px 12px 13px;gap:10px}.product-info h3{font-size:11px;margin:0 0 8px;line-height:1.3}.product-info strong{font-size:12px}.add-cart{flex:0 0 34px;width:34px;height:34px;border:1px solid #dcbf9f;border-radius:9px;background:#fffaf3;cursor:pointer;display:grid;place-items:center;padding:7px}.add-cart img{width:18px;height:18px;display:block}.add-cart:hover{background:#f8e7d6}.instagram{padding-bottom:10px}.insta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.insta-grid button{padding:0;border:0;border-radius:11px;overflow:hidden;background:none;cursor:pointer}.insta-grid img{display:block;width:100%;aspect-ratio:1.33/1;object-fit:cover;transition:.2s}.insta-grid button:hover img{transform:scale(1.035)}
.footer{margin-top:5px;padding:20px 64px 12px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;background:linear-gradient(#fff7ed,#fff9f2);border-top:1px solid #f1e3d6;position:relative}.footer>img{width:210px}.footer>div:nth-of-type(1){text-align:center;font-size:12px}.footer>div:nth-of-type(1) p{margin:0;line-height:1.5}.footer>div:nth-of-type(1) span{display:block;color:#ed747d;margin-top:4px}.footer-social{display:flex;justify-content:flex-end;gap:16px}.footer-social button{width:30px;height:30px;border:0;background:none;cursor:pointer;display:grid;place-items:center;padding:5px;border-radius:8px}.footer-social button:hover{background:#f7e9dc}.footer-social img{width:18px;height:18px;display:block}.footer-bottom{grid-column:1/-1;border-top:1px solid #eee0d3;margin-top:14px;padding-top:10px;display:flex;justify-content:space-between;font-size:9px}.footer-bottom nav{display:flex;gap:25px}
.modal{width:min(580px,calc(100vw - 30px));border:0;border-radius:22px;background:#fffaf3;padding:28px;text-align:center;color:var(--ink);box-shadow:0 25px 80px rgba(38,21,12,.25)}.modal::backdrop,.lightbox::backdrop{background:rgba(48,30,21,.55);backdrop-filter:blur(4px)}.modal-close{position:absolute;right:14px;top:12px;border:0;background:#f6e6d8;border-radius:50%;width:34px;height:34px;font-size:23px;cursor:pointer}.modal>img{max-width:240px;max-height:220px;object-fit:contain}.modal h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400}.modal p{line-height:1.65;color:#765847}.story-modal>img{max-width:100%;width:100%;height:260px;object-fit:cover;border-radius:14px}.story-modal{text-align:left}.story-modal .modal-close{z-index:3}.story-modal small{color:#c37540}.lightbox{padding:0;border:0;background:transparent;max-width:min(900px,92vw)}.lightbox img{display:block;max-width:90vw;max-height:84vh;border-radius:18px}.modal-close.light{background:#fff;color:#442f24;z-index:2}.drawer-scrim{position:fixed;inset:0;background:rgba(46,29,20,.35);z-index:70;opacity:0;pointer-events:none;transition:.2s}.drawer-scrim.show{opacity:1;pointer-events:auto}.cart-drawer{position:fixed;right:0;top:0;width:min(420px,90vw);height:100dvh;background:#fffaf3;z-index:80;padding:25px;transform:translateX(105%);transition:.25s;box-shadow:-15px 0 50px rgba(41,22,12,.18)}.cart-drawer.open{transform:none}.cart-head{display:flex;justify-content:space-between;align-items:center}.cart-head h2{font-family:'DM Serif Display',serif;font-weight:400;font-size:28px}.cart-head button{border:0;background:none;font-size:28px;cursor:pointer}.cart-empty{padding:35px 0;color:#876d5e;font-size:13px}.cart-row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #eadbce}.cart-row small{display:block;margin-top:4px;color:#8c6d5c}.remove-item{border:0;background:none;color:#e26870;cursor:pointer}.cart-total{display:flex;justify-content:space-between;margin:25px 0}.checkout{width:100%;border:0}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#4b3022;color:white;padding:12px 18px;border-radius:12px;z-index:100;opacity:0;pointer-events:none;transition:.2s;font-size:12px}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1020px){.header{padding:0 28px}.nav{gap:20px}.head-actions{margin-left:22px;padding-left:18px}.social{display:none}.hero-copy{margin-left:45px}.profiles{grid-template-columns:1fr;width:calc(100% - 70px);margin-top:-26px;padding:0 0 16px}.profile-card{grid-template-columns:220px 1fr}.products{grid-template-columns:repeat(2,1fr)}.insta-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){html{scroll-padding-top:72px}.site{width:100%}.header{height:72px;padding:0 16px}.brand{width:190px}.brand img{width:182px}.head-actions{margin-left:auto;padding-left:0;border:0}.menu-btn{display:block}.nav{position:fixed;top:76px;left:10px;right:10px;display:none;flex-direction:column;gap:0;background:#fffaf3;border:1px solid #ead8c8;border-radius:16px;padding:8px;box-shadow:0 16px 40px rgba(51,30,17,.14)}.nav.open{display:flex}.nav a{width:100%;padding:12px 14px;border-radius:10px}.nav a.active:after{display:none}.hero{min-height:650px;align-items:flex-start;background-image:linear-gradient(180deg,rgba(255,249,241,.98) 0%,rgba(255,249,241,.97) 37%,rgba(255,249,241,.18) 63%,rgba(255,249,241,.05) 100%),url('../images/hero-banner.png');background-size:auto 100%;background-position:64% center}.hero-copy{width:auto;margin:38px 22px 0}.eyebrow{margin-bottom:16px}.hero h1{font-size:47px}.hero p{font-size:14px;max-width:360px}.hero-actions{flex-wrap:wrap}.profiles{width:calc(100% - 28px);margin-top:14px;padding:0 0 8px;gap:14px}.profile-card{grid-template-columns:1fr;text-align:center;padding:18px}.profile-image-wrap{width:200px;height:190px;margin:auto}.profile-card[data-profile="mingming"] .profile-image-wrap{width:185px;height:185px}.profile-card[data-profile="mingming"] .profile-image-wrap img{width:185px;height:185px}.facts,.tags{justify-content:center}.profile-copy p{margin-left:auto;margin-right:auto}.section{padding:15px 14px}.section-head h2{font-size:23px}.section-head a{font-size:10px}.stories{grid-template-columns:1fr}.story>img{height:190px}.products{grid-template-columns:1fr 1fr;gap:10px}.product>img{height:145px}.product-info{align-items:start}.insta-grid{grid-template-columns:repeat(3,1fr)}.footer{padding:24px 18px 12px;grid-template-columns:1fr;text-align:center;gap:12px}.footer>img{margin:auto}.footer-social{justify-content:center}.footer-bottom{flex-direction:column;gap:8px}.footer-bottom nav{justify-content:center;gap:12px}}
@media(max-width:420px){.brand{width:165px}.brand img{width:160px}.hero h1{font-size:42px}.products{grid-template-columns:1fr}.product>img{height:190px}.head-actions{gap:7px}.cart-btn{font-size:15px}}

/* v5 surgical polish: flat icons + correct rounded Mingming portrait */
.btn-icon{width:17px;height:17px;display:block;flex:0 0 17px;object-fit:contain}
.btn-outline .btn-icon{width:18px;height:18px;flex-basis:18px}
.profile-copy h2{display:flex;align-items:flex-start;gap:6px}
.profile-copy h3{display:flex;align-items:center;gap:5px}
.name-accent{display:block;object-fit:contain;flex:0 0 auto;margin-top:1px}
.heart-accent{width:15px;height:15px}
.paw-accent{width:14px;height:14px;margin-top:0}
.title-accent{width:17px;height:17px;display:inline-block;object-fit:contain;flex:0 0 auto}
.sparkle-accent{width:16px;height:16px}
.facts span{display:inline-flex;align-items:center;gap:4px}
.fact-icon{width:11px;height:11px;display:block;object-fit:contain}
.profile-card[data-profile="mingming"] .profile-image-wrap{padding-bottom:0;height:214px;align-items:center}
.profile-card[data-profile="mingming"] .profile-image-wrap img{width:204px;height:204px;object-position:center center}
@media(max-width:760px){.profile-card[data-profile="mingming"] .profile-image-wrap{width:190px;height:190px}.profile-card[data-profile="mingming"] .profile-image-wrap img{width:188px;height:188px}}


/* v6 surgical layout fix: hero curve, cream cards, 250x250 Mingming asset */
.hero{
  overflow:visible;
  z-index:1;
}
.hero::after{
  content:"";
  position:absolute;
  left:-2%;
  width:104%;
  bottom:-54px;
  height:112px;
  background:var(--cream);
  border-bottom-left-radius:50% 100%;
  border-bottom-right-radius:50% 100%;
  z-index:1;
  pointer-events:none;
}
.hero-copy{
  position:relative;
  z-index:2;
}
.profiles{
  width:min(1310px,calc(100% - 64px));
  margin:-78px auto 0;
  padding:0 0 18px;
  position:relative;
  z-index:3;
}
.profile-card{
  min-height:286px;
  grid-template-columns:250px 1fr;
  padding:22px 26px 22px 20px;
  background:#fcf8f2;
  border:1px solid #eadfce;
  box-shadow:0 12px 28px rgba(97,61,38,.07);
}
.profile-image-wrap{
  width:250px;
  height:250px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.profile-image-wrap img{
  max-width:250px;
  max-height:250px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.profile-card[data-profile="mingming"] .profile-image-wrap{
  width:250px;
  height:250px;
  padding:0;
  justify-self:start;
  align-items:center;
}
.profile-card[data-profile="mingming"] .profile-image-wrap img{
  width:250px;
  height:250px;
  max-width:250px;
  max-height:250px;
  object-fit:contain;
  object-position:center center;
}
.profile-copy h2{
  gap:8px;
}
.heart-accent{
  width:17px;
  height:17px;
}
.profile-copy p{
  color:#6a4a39;
}
@media(max-width:1020px){
  .hero::after{
    bottom:-44px;
    height:92px;
  }
  .profiles{
    grid-template-columns:1fr;
    width:calc(100% - 56px);
    margin:-64px auto 0;
    padding:0 0 16px;
  }
  .profile-card{
    grid-template-columns:250px 1fr;
  }
}
@media(max-width:760px){
  .hero::after{
    left:-4%;
    width:108%;
    bottom:-26px;
    height:58px;
  }
  .profiles{
    width:calc(100% - 24px);
    margin:6px auto 0;
    gap:14px;
    padding:0 0 8px;
  }
  .profile-card{
    min-height:unset;
    grid-template-columns:1fr;
    text-align:center;
    padding:18px 16px 20px;
  }
  .profile-image-wrap,
  .profile-card[data-profile="mingming"] .profile-image-wrap{
    width:220px;
    height:220px;
    margin:0 auto 6px;
    justify-self:center;
  }
  .profile-image-wrap img,
  .profile-card[data-profile="mingming"] .profile-image-wrap img{
    width:220px;
    height:220px;
    max-width:220px;
    max-height:220px;
  }
}
@media(max-width:420px){
  .profiles{
    width:calc(100% - 20px);
  }
  .profile-image-wrap,
  .profile-card[data-profile="mingming"] .profile-image-wrap{
    width:196px;
    height:196px;
  }
  .profile-image-wrap img,
  .profile-card[data-profile="mingming"] .profile-image-wrap img{
    width:196px;
    height:196px;
    max-width:196px;
    max-height:196px;
  }
}

/* v7 surgical correction: Lylo back to original size, Mingming only enlarged, clean bowl hero */
.hero{
  overflow:hidden;
  z-index:1;
  -webkit-clip-path:ellipse(160% 100% at 50% 0%);
  clip-path:ellipse(160% 100% at 50% 0%);
}
.hero::after{
  display:none;
}
.profiles{
  width:min(1288px,calc(100% - 72px));
  margin:-34px auto 0;
  padding:0 0 18px;
  position:relative;
  z-index:3;
}
.profile-card{
  min-height:270px;
  grid-template-columns:228px 1fr;
  padding:18px 28px 18px 22px;
  background:#fffaf4;
  border:1px solid #eadfce;
}
/* Lylo: restore the pre-v6 proportions. */
.profile-card[data-profile="lylo"] .profile-image-wrap{
  width:214px;
  height:214px;
  margin:0;
  justify-self:start;
}
.profile-card[data-profile="lylo"] .profile-image-wrap img{
  width:214px;
  height:214px;
  max-width:214px;
  max-height:214px;
  object-fit:contain;
  transform:none;
}
/* Mingming only: keep a 250x250 slot, then widen the tall PNG visually via CSS. */
.profile-card[data-profile="mingming"]{
  grid-template-columns:250px 1fr;
}
.profile-card[data-profile="mingming"] .profile-image-wrap{
  width:250px;
  height:250px;
  margin:0;
  padding:0;
  justify-self:start;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.profile-card[data-profile="mingming"] .profile-image-wrap img{
  width:250px;
  height:250px;
  max-width:250px;
  max-height:250px;
  object-fit:contain;
  object-position:center;
  transform:scaleX(1.24);
  transform-origin:center center;
}
@media(max-width:1020px){
  .hero{
    -webkit-clip-path:ellipse(190% 100% at 50% 0%);
    clip-path:ellipse(190% 100% at 50% 0%);
  }
  .profiles{
    grid-template-columns:1fr;
    width:calc(100% - 70px);
    margin-top:-26px;
  }
  .profile-card[data-profile="lylo"]{
    grid-template-columns:228px 1fr;
  }
  .profile-card[data-profile="mingming"]{
    grid-template-columns:250px 1fr;
  }
}
@media(max-width:760px){
  .hero{
    overflow:hidden;
    -webkit-clip-path:ellipse(240% 100% at 50% 0%);
    clip-path:ellipse(240% 100% at 50% 0%);
  }
  .profiles{
    width:calc(100% - 28px);
    margin-top:14px;
  }
  .profile-card[data-profile="lylo"],
  .profile-card[data-profile="mingming"]{
    grid-template-columns:1fr;
  }
  .profile-card[data-profile="lylo"] .profile-image-wrap{
    width:200px;
    height:190px;
    margin:0 auto;
    justify-self:center;
  }
  .profile-card[data-profile="lylo"] .profile-image-wrap img{
    width:200px;
    height:190px;
    max-width:200px;
    max-height:190px;
  }
  .profile-card[data-profile="mingming"] .profile-image-wrap{
    width:220px;
    height:220px;
    margin:0 auto;
    justify-self:center;
  }
  .profile-card[data-profile="mingming"] .profile-image-wrap img{
    width:220px;
    height:220px;
    max-width:220px;
    max-height:220px;
    transform:scaleX(1.22);
  }
}
@media(max-width:420px){
  .profile-card[data-profile="mingming"] .profile-image-wrap{
    width:205px;
    height:205px;
  }
  .profile-card[data-profile="mingming"] .profile-image-wrap img{
    width:205px;
    height:205px;
    max-width:205px;
    max-height:205px;
  }
}


/* v8 surgical: disable Mingming transform only */
.profile-card[data-profile="mingming"] .profile-image-wrap img{
  transform:none !important;
  transform-origin:center center !important;
}
@media(max-width:760px){
  .profile-card[data-profile="mingming"] .profile-image-wrap img{
    transform:none !important;
  }
}


/* v9 profile-card proportion polish: closer to approved mockup */
@media(min-width:1021px){
  .profiles{
    width:min(1180px,calc(100% - 96px));
    gap:16px;
  }
  .profile-card{
    min-height:294px;
    padding-right:22px;
  }
  .profile-copy p{
    max-width:185px;
    line-height:1.5;
  }
}


/* v10 surgical: profile name accent icons */
@media(min-width:761px){
  .profile-card .profile-copy h2{
    align-items:flex-start;
    gap:8px;
  }
  .profile-card[data-profile="lylo"] .heart-accent{
    width:18px;
    height:18px;
    margin-top:-1px;
    transform:none;
  }
  .profile-card[data-profile="mingming"] .paw-accent{
    width:18px;
    height:18px;
    margin-top:-5px;
    margin-left:1px;
    transform:rotate(-18deg);
    transform-origin:center center;
  }
}
@media(max-width:760px){
  .profile-card[data-profile="lylo"] .heart-accent{
    width:17px;
    height:17px;
    margin-top:0;
    transform:none;
  }
  .profile-card[data-profile="mingming"] .paw-accent{
    width:17px;
    height:17px;
    margin-top:-3px;
    margin-left:1px;
    transform:rotate(-16deg);
    transform-origin:center center;
  }
}


/* v11 surgical: Lylo heart icon bigger and straighter */
@media(min-width:761px){
  .profile-card[data-profile="lylo"] .heart-accent{
    width:25px !important;
    height:25px !important;
    margin-top:-4px;
    margin-left:-2px;
    transform:none !important;
    object-fit:contain;
  }
}
@media(max-width:760px){
  .profile-card[data-profile="lylo"] .heart-accent{
    width:25px !important;
    height:25px !important;
    margin-top:-3px;
    margin-left:-1px;
    transform:none !important;
    object-fit:contain;
  }
}


/* v12 surgical: Lylo heart lower and diagonally right like approved mockup */
.profile-card[data-profile="lylo"] .heart-accent{
  width:25px !important;
  height:25px !important;
  margin-top:6px !important;
  margin-left:2px !important;
  transform:translateY(2px) rotate(18deg) !important;
  transform-origin:center center !important;
}
@media(max-width:760px){
  .profile-card[data-profile="lylo"] .heart-accent{
    width:25px !important;
    height:25px !important;
    margin-top:5px !important;
    margin-left:2px !important;
    transform:translateY(2px) rotate(18deg) !important;
  }
}


/* v13 surgical: Mingming paw 25x25, diagonal right like Lylo */
.profile-card[data-profile="mingming"] .paw-accent{
  width:25px !important;
  height:25px !important;
  margin-top:6px !important;
  margin-left:2px !important;
  transform:translateY(2px) rotate(18deg) !important;
  transform-origin:center center !important;
}
@media(max-width:760px){
  .profile-card[data-profile="mingming"] .paw-accent{
    width:25px !important;
    height:25px !important;
    margin-top:5px !important;
    margin-left:2px !important;
    transform:translateY(2px) rotate(18deg) !important;
  }
}


/* v14 surgical: hero heading icons/decor like approved mockup */
.eyebrow{
  display:flex;
  align-items:center;
  gap:8px;
}
.eyebrow-heart{
  width:13px;
  height:13px;
  display:block;
  object-fit:contain;
  opacity:.95;
  transform:translateY(1px);
}
.hero h1{
  line-height:.98;
}
.ming-wrap{
  display:inline-flex;
  align-items:flex-start;
  gap:8px;
  white-space:nowrap;
}
.hero-paw{
  width:22px;
  height:22px;
  display:block;
  object-fit:contain;
  margin-top:8px;
  transform:rotate(16deg);
  transform-origin:center center;
}
.hero-decor{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
}
.hero-deco{
  position:absolute;
  display:block;
  object-fit:contain;
  opacity:.22;
  filter:saturate(.85);
}
.hero-deco-heart-1{
  width:20px;
  height:20px;
  left:53%;
  top:31%;
  transform:rotate(-14deg);
  opacity:.17;
}
.hero-deco-heart-2{
  width:18px;
  height:18px;
  right:11%;
  top:22%;
  transform:rotate(12deg);
  opacity:.18;
}
.hero-deco-paw{
  width:22px;
  height:22px;
  right:35%;
  top:43%;
  transform:rotate(12deg);
  opacity:.26;
}
@media(max-width:760px){
  .eyebrow{
    gap:7px;
  }
  .eyebrow-heart{
    width:12px;
    height:12px;
  }
  .ming-wrap{
    gap:6px;
  }
  .hero-paw{
    width:18px;
    height:18px;
    margin-top:6px;
  }
  .hero-deco-heart-1{
    left:60%;
    top:28%;
    width:16px;
    height:16px;
  }
  .hero-deco-heart-2{
    right:9%;
    top:22%;
    width:15px;
    height:15px;
  }
  .hero-deco-paw{
    right:22%;
    top:41%;
    width:18px;
    height:18px;
  }
}


/* v15 surgical: full-width site like Jejak Kucing, hero banner stays contained */
.site{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  background:var(--cream);
  box-shadow:none !important;
  overflow-x:hidden;
}
.header{
  width:100%;
  padding-left:clamp(18px, 3vw, 64px);
  padding-right:clamp(18px, 3vw, 64px);
}
.hero{
  width:min(1288px, calc(100% - 72px));
  min-height:520px;
  margin:16px auto 0;
  border-radius:28px;
  border:1px solid #eadfce;
  overflow:hidden;
}
.profiles{
  width:min(1288px, calc(100% - 72px));
}
.section{
  width:100%;
  padding-left:clamp(18px, 3vw, 64px);
  padding-right:clamp(18px, 3vw, 64px);
}
.section > .section-head,
.section > .stories,
.section > .products,
.section > .insta-grid{
  max-width:1288px;
  margin-left:auto;
  margin-right:auto;
}
.footer{
  width:100%;
  padding-left:clamp(18px, 3vw, 64px);
  padding-right:clamp(18px, 3vw, 64px);
}
.footer > img,
.footer > div,
.footer-bottom{
  max-width:none;
}
@media(max-width:1020px){
  .hero,
  .profiles{
    width:calc(100% - 56px);
  }
}
@media(max-width:760px){
  .hero{
    width:calc(100% - 24px);
    margin-top:12px;
    border-radius:24px;
  }
  .profiles{
    width:calc(100% - 24px);
  }
  .section,
  .footer,
  .header{
    padding-left:14px;
    padding-right:14px;
  }
}


/* v16 surgical: centered header container + cleaner nav/header actions + more profile overlap */
.header{
  padding:0 !important;
}
.header-inner{
  width:min(1288px, calc(100% - 72px));
  height:84px;
  margin:0 auto;
  display:grid;
  grid-template-columns:260px 1fr 260px;
  align-items:center;
  gap:18px;
}
.brand{
  width:235px;
  justify-self:start;
}
.brand img{
  width:235px;
}
.nav{
  margin:0;
  justify-self:center;
  gap:34px;
}
.nav a{
  padding:31px 0 27px;
}
.head-actions{
  margin-left:0;
  padding-left:18px;
  justify-self:end;
  gap:12px;
}
.icon-btn.social{
  width:28px;
  height:28px;
  padding:4px;
}
.icon-btn.social img{
  width:16px;
  height:16px;
}
.cart-btn{
  margin-left:2px;
}
.profiles{
  margin:-52px auto 0 !important;
}
@media(max-width:1180px){
  .header-inner{
    grid-template-columns:220px 1fr 220px;
    width:calc(100% - 56px);
  }
  .nav{
    gap:24px;
    font-size:13px;
  }
}
@media(max-width:1020px){
  .header-inner{
    width:calc(100% - 56px);
    grid-template-columns:220px 1fr 190px;
    gap:14px;
  }
  .head-actions{
    padding-left:14px;
  }
  .profiles{
    margin:-40px auto 0 !important;
  }
}
@media(max-width:760px){
  .header-inner{
    width:calc(100% - 24px);
    height:72px;
    grid-template-columns:1fr auto;
    gap:10px;
  }
  .brand{
    width:190px;
  }
  .brand img{
    width:182px;
  }
  .nav{
    justify-self:stretch;
  }
  .head-actions{
    padding-left:0;
    gap:8px;
  }
  .profiles{
    margin:8px auto 0 !important;
  }
}


/* v17 surgical: contain footer width like the rest of the layout */
.footer{
  width:min(1288px, calc(100% - 72px)) !important;
  margin:18px auto 0 !important;
  padding-left:32px !important;
  padding-right:32px !important;
  border-radius:22px 22px 0 0;
  overflow:hidden;
}
@media(max-width:1020px){
  .footer{
    width:calc(100% - 56px) !important;
  }
}
@media(max-width:760px){
  .footer{
    width:calc(100% - 24px) !important;
    margin-top:14px !important;
    padding-left:18px !important;
    padding-right:18px !important;
    border-radius:18px 18px 0 0;
  }
}


/* v18 surgical: bigger hero love + flat paw icons everywhere */
.eyebrow-heart{
  width:25px !important;
  height:25px !important;
  flex:0 0 25px;
  transform:translateY(1px);
}
.section-head h2{
  display:flex;
  align-items:center;
  gap:10px;
}
.section-paw{
  width:25px;
  height:25px;
  display:block;
  object-fit:contain;
  flex:0 0 25px;
}
.fact-icon,
.hero-paw,
.hero-deco-paw,
.paw-accent,
.btn-icon[src$="paw-white.svg"],
.section-paw{
  image-rendering:auto;
}
@media(max-width:760px){
  .eyebrow-heart{
    width:25px !important;
    height:25px !important;
    flex-basis:25px;
  }
  .section-head h2{
    gap:8px;
  }
  .section-paw{
    width:23px;
    height:23px;
    flex-basis:23px;
  }
}


/* v19 surgical: mockup-like serif headline + paw above second i in Mingming */
.hero h1{
  font-family:'DM Serif Display', Georgia, serif;
  font-weight:400;
  letter-spacing:-1.4px;
}
.ming-word{
  white-space:nowrap;
}
.ming-i{
  position:relative;
  display:inline-block;
}
.ming-i .hero-paw{
  position:absolute !important;
  width:22px !important;
  height:22px !important;
  left:50%;
  top:-16px;
  margin:0 !important;
  transform:translateX(-40%) rotate(14deg) !important;
  transform-origin:center center;
  pointer-events:none;
}
@media(max-width:760px){
  .ming-i .hero-paw{
    width:18px !important;
    height:18px !important;
    top:-13px;
    transform:translateX(-38%) rotate(14deg) !important;
  }
}


/* v20 surgical: soften section paw opacity */
.section-paw{
  opacity:.62 !important;
}
@media(max-width:760px){
  .section-paw{
    opacity:.58 !important;
  }
}


/* v21 surgical: footer love icon and font sizes bigger */
.footer > div:nth-of-type(1){
  text-align:center;
  font-size:18px !important;
}
.footer > div:nth-of-type(1) p{
  font-size:18px !important;
  line-height:1.55;
}
.footer > div:nth-of-type(1) span{
  display:block;
  color:#ed747d;
  margin-top:8px;
  font-size:26px !important;
  line-height:1;
}
.footer-bottom{
  font-size:12px !important;
  align-items:center;
}
.footer-bottom small{
  font-size:12px !important;
}
.footer-bottom nav a{
  font-size:12px !important;
}
@media(max-width:760px){
  .footer > div:nth-of-type(1){
    font-size:16px !important;
  }
  .footer > div:nth-of-type(1) p{
    font-size:16px !important;
  }
  .footer > div:nth-of-type(1) span{
    font-size:24px !important;
    margin-top:7px;
  }
  .footer-bottom,
  .footer-bottom small,
  .footer-bottom nav a{
    font-size:11px !important;
  }
}


/* v22 surgical: footer center text 14px + subtle side paw watermarks */
body{
  position:relative;
}
body::before,
body::after{
  content:"";
  position:fixed;
  top:190px;
  bottom:96px;
  width:120px;
  pointer-events:none;
  opacity:.095;
  z-index:0;
  background-image:url('../icons/paw.svg');
  background-repeat:repeat-y;
  background-size:42px 42px;
}
body::before{
  left:28px;
  background-position:center 0;
}
body::after{
  right:28px;
  background-position:center 22px;
}
.site{
  position:relative;
  z-index:1;
}
.footer > div:nth-of-type(1){
  font-size:14px !important;
}
.footer > div:nth-of-type(1) p{
  font-size:14px !important;
  line-height:1.55;
}
.footer > div:nth-of-type(1) span{
  font-size:24px !important;
}
@media(max-width:1400px){
  body::before,
  body::after{
    width:84px;
    opacity:.075;
    background-size:34px 34px;
  }
  body::before{ left:10px; }
  body::after{ right:10px; }
}
@media(max-width:1180px){
  body::before,
  body::after{
    display:none;
  }
}
@media(max-width:760px){
  .footer > div:nth-of-type(1){
    font-size:14px !important;
  }
  .footer > div:nth-of-type(1) p{
    font-size:14px !important;
  }
  .footer > div:nth-of-type(1) span{
    font-size:22px !important;
  }
}


/* v23 surgical: mobile hero image cover fix (remove white patches) */
@media(max-width:760px){
  .hero{
    min-height:640px !important;
    align-items:flex-start;
    overflow:hidden;
    -webkit-clip-path:none !important;
    clip-path:none !important;
    border-radius:26px;
    background-image:linear-gradient(180deg,rgba(255,249,241,.97) 0%,rgba(255,249,241,.92) 34%,rgba(255,249,241,.38) 58%,rgba(255,249,241,.12) 100%),url('../images/hero-banner.png') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center bottom !important;
  }
  .hero-copy{
    margin:34px 22px 0 !important;
    padding-right:6px;
    position:relative;
    z-index:2;
  }
}
@media(max-width:420px){
  .hero{
    min-height:610px !important;
    border-radius:22px;
    background-position:center bottom !important;
  }
  .hero-copy{
    margin:30px 18px 0 !important;
  }
}


/* v24 surgical: mobile hero option 2 - focus cat faces */
@media(max-width:760px){
  .hero{
    min-height:620px !important;
    background-image:linear-gradient(180deg,rgba(255,249,241,.98) 0%,rgba(255,249,241,.93) 33%,rgba(255,249,241,.44) 58%,rgba(255,249,241,.16) 100%),url('../images/hero-banner.png') !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:68% bottom !important;
  }
  .hero-copy{
    max-width:300px;
  }
}
@media(max-width:420px){
  .hero{
    min-height:590px !important;
    background-position:69% bottom !important;
  }
  .hero-copy{
    max-width:272px;
  }
}


/* v25 surgical: compact mobile hero + tighter crop to avoid white gaps */
@media (max-width: 760px){
  .hero{
    min-height: 540px !important;
    border-radius: 22px !important;
    background-image: linear-gradient(180deg, rgba(255,249,241,.98) 0%, rgba(255,249,241,.95) 24%, rgba(255,249,241,.72) 44%, rgba(255,249,241,.24) 66%, rgba(255,249,241,.10) 100%), url('../images/hero-banner.png') !important;
    background-size: 168% auto !important;
    background-repeat: no-repeat !important;
    background-position: 64% bottom !important;
  }
  .hero-copy{
    max-width: 256px !important;
    margin: 24px 16px 0 !important;
    padding-right: 0 !important;
  }
  .hero h1{
    font-size: 3.1rem !important;
    line-height: .95 !important;
    margin-bottom: 12px !important;
  }
  .hero p{
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
    margin-bottom: 16px !important;
    max-width: 240px !important;
  }
  .hero-actions{
    gap: 10px !important;
  }
  .btn{
    min-height: 50px !important;
    padding: 0 22px !important;
  }
}

@media (max-width: 420px){
  .hero{
    min-height: 510px !important;
    background-size: 176% auto !important;
    background-position: 63% bottom !important;
  }
  .hero-copy{
    max-width: 240px !important;
    margin: 20px 14px 0 !important;
  }
  .hero h1{
    font-size: 2.8rem !important;
  }
  .hero p{
    font-size: 0.92rem !important;
    max-width: 228px !important;
  }
  .btn{
    min-height: 48px !important;
    padding: 0 20px !important;
  }
}

@media (max-width: 380px){
  .hero{
    min-height: 495px !important;
    background-size: 182% auto !important;
    background-position: 62% bottom !important;
  }
  .hero-copy{
    max-width: 228px !important;
  }
}


/* v26 surgical: shift mobile hero image left so Lylo is less cropped */
@media (max-width: 760px){
  .hero{
    background-position: 58% bottom !important;
  }
}

@media (max-width: 420px){
  .hero{
    background-position: 57% bottom !important;
  }
}

@media (max-width: 380px){
  .hero{
    background-position: 56% bottom !important;
  }
}


/* v27 surgical: reveal more of Lylo on mobile hero */
@media (max-width: 760px){
  .hero{
    background-size: 158% auto !important;
    background-position: 44% bottom !important;
  }
}

@media (max-width: 420px){
  .hero{
    background-size: 164% auto !important;
    background-position: 41% bottom !important;
  }
}

@media (max-width: 380px){
  .hero{
    background-size: 168% auto !important;
    background-position: 39% bottom !important;
  }
}


/* v28 surgical: correct mobile hero crop to reveal more of Lylo on the right */
@media (max-width: 760px){
  .hero{
    background-position: 72% bottom !important;
  }
}

@media (max-width: 420px){
  .hero{
    background-position: 74% bottom !important;
  }
}

@media (max-width: 380px){
  .hero{
    background-position: 75% bottom !important;
  }
}


/* v29 surgical: Latest Stories 2 columns on mobile */
@media (max-width: 760px){
  #journal .stories{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  #journal .story>img{
    height:120px !important;
  }
  #journal .story-body{
    padding:10px 10px 12px !important;
  }
  #journal .story-body small{
    font-size:7px !important;
    gap:6px;
  }
  #journal .story-body h3{
    font-size:15px !important;
    line-height:1.15;
    margin:7px 0 5px;
  }
  #journal .story-body p{
    font-size:9px !important;
    line-height:1.4;
    padding-right:0;
  }
  #journal .story-body i{
    right:9px;
    bottom:8px;
    font-size:17px;
  }
}
@media (max-width: 380px){
  #journal .stories{
    gap:8px !important;
  }
  #journal .story>img{
    height:108px !important;
  }
}


/* v30 surgical: mobile profiles in 2 columns with compact cards */
@media (max-width: 760px){
  .profiles{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: calc(100% - 20px) !important;
    gap: 12px !important;
    margin-top: 12px !important;
    align-items: stretch;
  }
  .profile-card,
  .profile-card[data-profile="lylo"],
  .profile-card[data-profile="mingming"]{
    padding: 14px 12px 14px !important;
    min-height: 0 !important;
    border-radius: 18px !important;
    text-align: center !important;
    align-content: start;
  }
  .profile-image-wrap,
  .profile-card[data-profile="lylo"] .profile-image-wrap,
  .profile-card[data-profile="mingming"] .profile-image-wrap{
    width: 116px !important;
    height: 116px !important;
    margin: 0 auto 10px !important;
    padding: 0 !important;
    justify-self: center !important;
  }
  .profile-image-wrap img,
  .profile-card[data-profile="lylo"] .profile-image-wrap img,
  .profile-card[data-profile="mingming"] .profile-image-wrap img{
    width: 116px !important;
    height: 116px !important;
    object-fit: contain !important;
  }
  .profile-copy h2{
    justify-content: center !important;
    font-size: 25px !important;
    line-height: 1 !important;
    margin-bottom: 4px !important;
  }
  .profile-copy h3{
    justify-content: center !important;
    font-size: 18px !important;
    line-height: 1.05 !important;
    margin: 0 0 8px !important;
  }
  .facts{
    justify-content: center !important;
    gap: 6px 8px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    margin-bottom: 8px !important;
  }
  .profile-copy p{
    font-size: 11px !important;
    line-height: 1.42 !important;
    margin: 0 auto 8px !important;
    max-width: 100% !important;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .tags{
    justify-content: center !important;
    gap: 6px !important;
  }
  .tags b{
    font-size: 9px !important;
    padding: 4px 9px !important;
  }
  .tags b:nth-child(n+3){
    display: none;
  }
}

@media (max-width: 420px){
  .profiles{
    width: calc(100% - 16px) !important;
    gap: 10px !important;
  }
  .profile-card,
  .profile-card[data-profile="lylo"],
  .profile-card[data-profile="mingming"]{
    padding: 12px 10px 12px !important;
  }
  .profile-image-wrap,
  .profile-card[data-profile="lylo"] .profile-image-wrap,
  .profile-card[data-profile="mingming"] .profile-image-wrap{
    width: 108px !important;
    height: 108px !important;
    margin-bottom: 8px !important;
  }
  .profile-image-wrap img,
  .profile-card[data-profile="lylo"] .profile-image-wrap img,
  .profile-card[data-profile="mingming"] .profile-image-wrap img{
    width: 108px !important;
    height: 108px !important;
  }
  .profile-copy h2{
    font-size: 23px !important;
  }
  .profile-copy h3{
    font-size: 17px !important;
  }
  .facts{
    gap: 5px 7px !important;
    font-size: 9px !important;
  }
  .profile-copy p{
    font-size: 10.5px !important;
  }
  .tags b{
    font-size: 8.5px !important;
    padding: 4px 8px !important;
  }
}

@media (max-width: 340px){
  .profiles{
    grid-template-columns: 1fr !important;
  }
}


/* v31 surgical: compact mobile navigation dropdown */
@media (max-width: 760px) {
  .nav {
    position: fixed !important;
    top: 68px !important;
    left: 12px !important;
    right: 12px !important;
    bottom: auto !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100dvh - 84px) !important;

    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 4px !important;

    padding: 8px !important;
    margin: 0 !important;

    background: rgba(255, 250, 243, .98) !important;
    border: 1px solid #ead8c8 !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 42px rgba(74, 44, 28, .16) !important;
    backdrop-filter: blur(14px);
    overflow-y: auto;
    z-index: 60;
  }

  .nav.open {
    display: flex !important;
  }

  .nav a {
    width: 100% !important;
    padding: 11px 13px !important;
    margin: 0 !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    text-align: left !important;
  }

  .nav a:hover {
    background: #f8eee4;
  }

  .nav a.active {
    color: #d85f69 !important;
    background: #fbe7e8;
  }

  .nav a.active::after {
    display: none !important;
  }

  .menu-btn {
    width: 32px;
    height: 32px;
    display: grid !important;
    place-items: center;
    padding: 0;
    border-radius: 9px;
    line-height: 1;
  }

  .menu-btn:hover {
    background: #f7e9dc;
  }
}

/* Laravel v11: compact mobile hero title — keep Lylo & Mingming on one line */
@media (max-width: 760px){
  .hero-copy{
    width:calc(100% - 32px) !important;
    max-width:330px !important;
  }
  .hero-names{
    white-space:nowrap;
  }
  .hero h1{
    font-size:clamp(2.5rem, 7.2vw, 2.85rem) !important;
    line-height:.93 !important;
    letter-spacing:-1.3px !important;
    margin-bottom:10px !important;
  }
}

@media (max-width: 420px){
  .hero-copy{
    width:calc(100% - 28px) !important;
    max-width:none !important;
  }
  .hero h1{
    font-size:clamp(2.15rem, 10.5vw, 2.38rem) !important;
    line-height:.92 !important;
    letter-spacing:-1.15px !important;
    margin-bottom:9px !important;
  }
}

@media (max-width: 340px){
  .hero h1{
    font-size:2.08rem !important;
    letter-spacing:-1px !important;
  }
}


/* v12: keep Shop Favorites in 2 columns on compact phones (e.g. 360px) */
@media (max-width: 420px) {
  .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }
  .product > img {
    height: 136px !important;
  }
  .product-info {
    padding: 10px 9px 11px !important;
    gap: 7px !important;
    min-width: 0;
  }
  .product-info > div {
    min-width: 0;
  }
  .product-info h3 {
    font-size: 10px !important;
    line-height: 1.25 !important;
    margin-bottom: 7px !important;
    overflow-wrap: anywhere;
  }
  .product-info strong {
    font-size: 11px !important;
  }
  .add-cart {
    width: 32px !important;
    height: 32px !important;
    flex-basis: 32px !important;
    padding: 6px !important;
  }
}

/* v74 frontend: dynamic home products, no Instagram section, Articles nav/page */
.home-shop-section{padding-bottom:38px}
.product-image-empty{width:100%;height:164px;display:grid;place-items:center;background:#fbebdb;color:#9d7f6d;font-size:11px;font-weight:600}
.shop-empty{max-width:1288px;margin:0 auto;border:1px dashed #e3cdbb;border-radius:14px;padding:28px;text-align:center;color:#8a6c59;font-size:12px;background:#fffdf9}
.articles-page{min-height:68vh;padding:48px clamp(18px,3vw,64px) 44px}
.articles-hero,.articles-list{max-width:1288px;margin-left:auto;margin-right:auto}
.articles-hero{padding:10px 0 28px}
.articles-hero .eyebrow{margin-bottom:12px;color:#d86d50}
.articles-hero h1{font-family:'DM Serif Display',Georgia,serif;font-size:42px;line-height:1.08;font-weight:400;margin:0 0 10px}
.articles-hero p{margin:0;color:#765847;font-size:14px}
.articles-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.article-card{overflow:hidden;border:1px solid #eadbcd;border-radius:15px;background:#fffdf9;box-shadow:0 10px 24px rgba(88,54,35,.05)}
.article-card>img,.article-cover-empty{display:block;width:100%;height:190px;object-fit:cover;background:#fbebdb}
.article-cover-empty{display:grid;place-items:center;color:#a47b5d;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.article-card-body{padding:14px 15px 17px}
.article-card-body small{display:flex;justify-content:space-between;gap:10px;color:#b2774c;font-size:9px;font-weight:700;letter-spacing:.04em}
.article-card-body h2{font-family:'DM Serif Display',Georgia,serif;font-size:21px;font-weight:400;line-height:1.2;margin:9px 0 7px}
.article-card-body p{margin:0;color:#694a39;font-size:11px;line-height:1.55}
.articles-empty{grid-column:1/-1;border:1px dashed #e3cdbb;border-radius:14px;padding:36px;text-align:center;color:#8a6c59;font-size:12px;background:#fffdf9}
@media(max-width:1020px){.articles-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.home-shop-section{padding-bottom:28px}.product-image-empty{height:145px}.articles-page{padding:30px 14px 34px}.articles-hero h1{font-size:34px}.articles-list{grid-template-columns:1fr}.article-card>img,.article-cover-empty{height:205px}}
@media(max-width:420px){.product-image-empty{height:136px}.articles-hero h1{font-size:31px}}

/* v75 frontend: live Shop + Journal pages, CMS-backed latest stories */
.home-journal-section{padding-top:8px;padding-bottom:34px}
.story-image-empty{width:100%;height:150px;display:grid;place-items:center;background:linear-gradient(135deg,#fbe9dc,#fff5e8);color:#b9784d;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.stories-empty{border:1px dashed #e3cdbb;border-radius:14px;padding:28px;text-align:center;color:#8a6c59;font-size:12px;background:#fffdf9}
.add-cart:disabled,.shop-cart-button:disabled{opacity:.45;cursor:not-allowed;background:#f4eee8}

/* Shop */
.shop-page{min-height:70vh;padding-bottom:42px;background:var(--cream)}
.shop-hero{max-width:1288px;min-height:310px;margin:34px auto 28px;padding:42px 52px;border:1px solid #ead8c8;border-radius:28px;background:linear-gradient(115deg,#fff3e5 0%,#fffaf3 55%,#fae5df 100%);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:center;position:relative;overflow:hidden;box-shadow:0 16px 36px rgba(88,54,35,.06)}
.shop-hero:before,.shop-hero:after{content:'';position:absolute;border-radius:50%;background:rgba(239,179,127,.18);pointer-events:none}.shop-hero:before{width:210px;height:210px;right:-70px;top:-80px}.shop-hero:after{width:130px;height:130px;right:31%;bottom:-74px;background:rgba(246,174,181,.15)}
.shop-hero-copy{position:relative;z-index:2;max-width:640px}.shop-hero-copy .eyebrow{margin:0 0 14px;color:#cf6f52;font-size:11px;letter-spacing:.09em}.shop-hero-copy h1{font-family:'DM Serif Display',Georgia,serif;font-size:50px;line-height:1.02;font-weight:400;margin:0 0 14px;letter-spacing:-.8px}.shop-hero-copy h1 span{color:#df6d75}.shop-hero-copy p{max-width:560px;margin:0;color:#755744;font-size:14px;line-height:1.65}.shop-hero-badges{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.shop-hero-badges span{padding:8px 12px;border-radius:999px;background:rgba(255,253,249,.76);border:1px solid #ead3c0;font-size:10px;font-weight:700;color:#79543e}
.shop-hero-art{height:220px;position:relative;display:flex;align-items:flex-end;justify-content:center;gap:0;z-index:2}.shop-hero-art:before{content:'';position:absolute;width:310px;height:138px;bottom:5px;border-radius:50%;background:rgba(255,255,255,.58);filter:blur(.2px)}.shop-hero-art img{position:relative;display:block;object-fit:contain;filter:drop-shadow(0 16px 16px rgba(73,43,26,.12))}.shop-hero-art img:first-child{width:190px;height:190px;margin-right:-28px;z-index:2}.shop-hero-art img:last-child{width:178px;height:178px;z-index:3}
.shop-catalog{max-width:1288px;margin:0 auto}.shop-toolbar{padding:15px;border:1px solid #eadbcd;border-radius:18px;background:#fffdf9;box-shadow:0 10px 24px rgba(88,54,35,.04)}.shop-search{display:grid;grid-template-columns:minmax(240px,1fr) 190px auto;gap:10px}.shop-search-box{height:44px;border:1px solid #e3d0bf;border-radius:12px;background:#fffaf5;display:flex;align-items:center;gap:9px;padding:0 13px}.shop-search-box span{font-size:18px;color:#a1816c;transform:rotate(-15deg)}.shop-search-box input{min-width:0;width:100%;height:100%;border:0;outline:0;background:transparent;color:#4a2e20;font:inherit;font-size:12px}.shop-search select{height:44px;border:1px solid #e3d0bf;border-radius:12px;background:#fffaf5;color:#5d4334;padding:0 34px 0 12px;font-size:11px;outline:0}.shop-search>button{height:44px;padding:0 20px;border:0;border-radius:12px;background:#ee737b;color:#fff;font-size:11px;font-weight:700;cursor:pointer}.shop-search>button:hover{background:#e46770}
.shop-filter-row{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:12px}.shop-filter-chips,.shop-type-filter{display:flex;align-items:center;gap:7px;min-width:0}.shop-filter-chips{overflow-x:auto;scrollbar-width:none;padding-bottom:1px}.shop-filter-chips::-webkit-scrollbar{display:none}.shop-filter-chips a,.shop-type-filter a{white-space:nowrap;padding:7px 11px;border:1px solid #ead8c8;border-radius:999px;background:#fffaf5;color:#765847;font-size:10px;font-weight:700}.shop-filter-chips a:hover,.shop-type-filter a:hover,.shop-filter-chips a.active,.shop-type-filter a.active{background:#fae5e2;border-color:#f0c4c0;color:#cf5e67}
.shop-result-head{display:flex;justify-content:space-between;align-items:center;margin:20px 2px 12px;font-size:11px;color:#816654}.shop-result-head strong{color:#4a2e20}.shop-result-head a{color:#dc6972;font-weight:700}
.shop-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.shop-product-card{display:flex;flex-direction:column;min-width:0;border:1px solid #ead8c8;border-radius:17px;background:#fffdf9;overflow:hidden;box-shadow:0 10px 25px rgba(88,54,35,.045);transition:transform .2s ease,box-shadow .2s ease}.shop-product-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(88,54,35,.085)}.shop-product-media{height:228px;position:relative;background:#fbecde;overflow:hidden}.shop-product-media>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.shop-product-card:hover .shop-product-media>img{transform:scale(1.025)}.shop-product-no-image{height:100%;display:grid;place-items:center;color:#987a66;font-size:11px;font-weight:700;background:linear-gradient(145deg,#faeadc,#fff4e7)}.shop-product-badges{position:absolute;left:10px;top:10px;right:10px;display:flex;gap:6px;flex-wrap:wrap}.shop-product-badges span{padding:5px 8px;border-radius:999px;background:rgba(255,253,249,.92);border:1px solid rgba(219,191,166,.8);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.shop-product-badges .featured{background:#fde6e8;color:#cb5964;border-color:#f5c7cb}.shop-product-badges .sale{background:#f9e4cd;color:#a96128}.shop-product-badges .sold{background:#f1e9e3;color:#836e60}.shop-product-card.is-sold-out .shop-product-media>img{filter:saturate(.6);opacity:.72}
.shop-product-body{display:flex;flex:1;min-width:0;flex-direction:column;padding:13px 14px 14px}.shop-product-meta{text-transform:uppercase;letter-spacing:.07em;font-size:8px;font-weight:800;color:#bf7a49;margin-bottom:6px}.shop-product-body h2{font-family:'DM Serif Display',Georgia,serif;font-size:18px;font-weight:400;line-height:1.2;margin:0 0 6px;color:#4a2e20}.shop-product-body p{min-height:34px;margin:0;color:#7b6150;font-size:10px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shop-product-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:auto;padding-top:11px;border-top:1px solid #f0e4d9}.shop-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.shop-price small{width:100%;font-size:8px;color:#977b69;text-transform:uppercase;font-weight:700}.shop-price strong{font-size:13px}.shop-price del{font-size:9px;color:#aa9385}.shop-cart-button{width:36px!important;height:36px!important;flex-basis:36px!important;border-radius:10px!important}.shop-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:24px;padding:14px 16px;border:1px solid #ead8c8;border-radius:14px;background:#fffdf9;font-size:10px;font-weight:700}.shop-pagination>a:last-child,.shop-pagination>.disabled:last-child{text-align:right}.shop-pagination a{color:#d7646d}.shop-pagination .disabled{color:#b8a69a}.shop-page-empty{padding:62px 20px;text-align:center;border:1px dashed #e0cbbb;border-radius:18px;background:#fffdf9}.shop-page-empty>span{font-size:32px}.shop-page-empty h2{font-family:'DM Serif Display',serif;font-weight:400;font-size:27px;margin:10px 0 5px}.shop-page-empty p{font-size:11px;color:#806554;margin:0 0 20px}

/* Journal */
.journal-page{min-height:68vh;padding:45px clamp(18px,4vw,64px) 52px}.journal-hero,.journal-feed{max-width:1288px;margin-left:auto;margin-right:auto}.journal-hero{padding:8px 0 30px;max-width:1288px}.journal-hero .eyebrow{margin-bottom:12px;color:#d56d52;font-size:11px;letter-spacing:.09em}.journal-hero h1{font-family:'DM Serif Display',Georgia,serif;font-size:48px;line-height:1.04;font-weight:400;margin:0 0 12px}.journal-hero h1 span{color:#d76a73}.journal-hero p{max-width:650px;margin:0;color:#765847;font-size:13px;line-height:1.65}.journal-lead{display:grid;grid-template-columns:1.35fr .85fr;min-height:340px;border:1px solid #ead8c8;border-radius:22px;overflow:hidden;background:#fffdf9;box-shadow:0 13px 30px rgba(88,54,35,.055)}.journal-lead-media{min-height:340px;background:#f9e8da}.journal-lead-media img,.journal-lead-media .journal-cover-empty{display:block;width:100%;height:100%;min-height:340px;object-fit:cover}.journal-lead-copy{display:flex;flex-direction:column;justify-content:center;padding:38px 34px}.journal-lead-copy small,.journal-card-body small{display:flex;justify-content:space-between;gap:10px;color:#b6764d;font-size:8px;font-weight:800;letter-spacing:.07em}.journal-lead-copy h2{font-family:'DM Serif Display',Georgia,serif;font-size:32px;line-height:1.15;font-weight:400;margin:12px 0 10px}.journal-lead-copy p{margin:0;color:#705343;font-size:12px;line-height:1.65}.journal-lead-copy strong,.journal-card-body strong{margin-top:19px;color:#dc6871;font-size:10px}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:20px}.journal-card{overflow:hidden;border:1px solid #ead8c8;border-radius:16px;background:#fffdf9;box-shadow:0 10px 25px rgba(88,54,35,.045);transition:transform .2s ease,box-shadow .2s ease}.journal-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(88,54,35,.075)}.journal-card>img,.journal-card>.journal-cover-empty{display:block;width:100%;height:190px;object-fit:cover}.journal-cover-empty{display:grid!important;place-items:center;background:linear-gradient(135deg,#f9e9dc,#fff4e8);color:#ac7955;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.journal-card-body{padding:14px 15px 16px}.journal-card-body h2{font-family:'DM Serif Display',Georgia,serif;font-size:20px;line-height:1.2;font-weight:400;margin:9px 0 7px}.journal-card-body p{margin:0;color:#705343;font-size:10.5px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.journal-card-body strong{display:block;margin-top:13px}.journal-empty{padding:64px 20px;border:1px dashed #e1cdbc;border-radius:18px;text-align:center;background:#fffdf9}.journal-empty>span{font-size:30px}.journal-empty h2{font-family:'DM Serif Display',serif;font-size:26px;font-weight:400;margin:10px 0 5px}.journal-empty p{margin:0;color:#806554;font-size:11px}

/* Public CMS detail */
.content-detail-page{padding:42px clamp(18px,4vw,64px) 64px;min-height:68vh}.content-detail{max-width:1040px;margin:0 auto}.content-back{display:inline-flex;align-items:center;margin-bottom:25px;color:#d66770;font-size:10px;font-weight:700}.content-detail-head{text-align:left;max-width:900px;margin:0 auto 28px}.content-detail-head .eyebrow{margin-bottom:11px;color:#c9704e;font-size:10px}.content-detail-head h1{font-family:'DM Serif Display',Georgia,serif;font-size:48px;line-height:1.08;font-weight:400;margin:0 0 12px;max-width:860px}.content-detail-excerpt{margin:0;color:#735545;font-size:13px;line-height:1.68;max-width:760px}.content-detail-meta{display:flex;justify-content:flex-start;gap:14px;flex-wrap:wrap;margin-top:14px;color:#a18470;font-size:9px}.content-detail-meta span+span:before{content:'•';margin-right:14px}.content-detail-tags{display:flex;justify-content:flex-start;gap:7px;flex-wrap:wrap;margin-top:14px}.content-detail-tags span{padding:6px 9px;border-radius:999px;background:#f9e9df;color:#b86646;font-size:9px;font-weight:700}.content-detail-cover-shell{width:100%;aspect-ratio:2/1;max-height:460px;overflow:hidden;border-radius:22px;border:1px solid #ead8c8;background:#f8e9dc;box-shadow:0 13px 30px rgba(88,54,35,.055);margin:0 0 28px}.content-detail-cover{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.content-detail-reading{max-width:900px;margin:0 auto;padding:42px 48px 44px;border:1px solid #ead8c8;border-radius:22px;background:#fffdf9;box-shadow:0 12px 30px rgba(88,54,35,.045)}.content-detail-body{max-width:804px;margin:0;color:#51372a;font-size:14px;line-height:1.82;text-align:left}.content-detail-body>:first-child{margin-top:0}.content-detail-body>:last-child{margin-bottom:0}.content-detail-body h2,.content-detail-body h3,.content-detail-body h4{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.24;color:#472d20;margin:1.55em 0 .55em}.content-detail-body h2{font-size:29px}.content-detail-body h3{font-size:23px}.content-detail-body h4{font-size:19px}.content-detail-body p{margin:0 0 1.15em}.content-detail-body img{width:auto;max-width:100%;max-height:520px;height:auto;display:block;object-fit:cover;border-radius:15px;border:1px solid #eee0d4;margin:26px auto}.content-detail-body blockquote{margin:24px 0;padding:15px 18px;border-left:3px solid #ed7b82;background:#fff4ec;border-radius:0 12px 12px 0;color:#735545}.content-detail-body a{color:#d95f68;text-decoration:underline;text-underline-offset:2px}.content-detail-body ul,.content-detail-body ol{padding-left:1.45em;margin:0 0 1.25em}.content-detail-body li+li{margin-top:.35em}.content-detail-body hr{height:1px;border:0;background:#efe1d6;margin:30px 0}.content-detail-body table{width:100%;border-collapse:collapse;margin:22px 0;font-size:12px}.content-detail-body th,.content-detail-body td{padding:10px 11px;border:1px solid #eadbcf;text-align:left}.content-detail-body th{background:#fff4ec}

@media(max-width:1180px){
  .shop-hero,.shop-catalog{margin-left:28px;margin-right:28px}.shop-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-hero{grid-template-columns:minmax(0,1fr) 330px}.shop-hero-copy h1{font-size:44px}
}
@media(max-width:1020px){
  .shop-hero{grid-template-columns:1fr 280px;padding:34px}.shop-hero-art img:first-child{width:155px;height:155px}.shop-hero-art img:last-child{width:145px;height:145px}.shop-hero-art{height:180px}.shop-search{grid-template-columns:1fr 170px auto}.shop-filter-row{align-items:flex-start;flex-direction:column}.shop-type-filter{width:100%}.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-lead{grid-template-columns:1.15fr .85fr}
}
@media(max-width:760px){
  .story-image-empty{height:190px}.shop-page{padding-bottom:32px}.shop-hero{margin:16px 14px 18px;min-height:0;padding:26px 20px 18px;border-radius:20px;grid-template-columns:1fr}.shop-hero-copy h1{font-size:36px}.shop-hero-copy p{font-size:12px}.shop-hero-badges{margin-top:16px}.shop-hero-art{height:150px;margin-top:12px}.shop-hero-art:before{width:240px;height:105px}.shop-hero-art img:first-child{width:145px;height:145px}.shop-hero-art img:last-child{width:135px;height:135px}.shop-catalog{margin:0 14px}.shop-toolbar{padding:10px;border-radius:15px}.shop-search{grid-template-columns:1fr auto}.shop-search-box{grid-column:1/-1}.shop-search select{min-width:0;width:100%;height:40px}.shop-search>button{height:40px;padding:0 15px}.shop-filter-row{margin-top:10px}.shop-filter-chips{width:calc(100vw - 50px)}.shop-type-filter{overflow-x:auto;scrollbar-width:none}.shop-result-head{margin-top:16px}.shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shop-product-media{height:180px}.shop-product-body{padding:11px 10px 11px}.shop-product-body h2{font-size:16px}.shop-product-body p{min-height:30px;font-size:9.5px}.shop-product-bottom{margin-top:auto;padding-top:9px}.shop-price strong{font-size:12px}.shop-cart-button{width:33px!important;height:33px!important;flex-basis:33px!important}.shop-pagination{grid-template-columns:1fr 1fr;margin-top:18px}.shop-pagination>span:nth-child(2){grid-column:1/-1;grid-row:1;text-align:center}.shop-pagination>a:first-child,.shop-pagination>.disabled:first-child{grid-column:1;grid-row:2}.shop-pagination>a:last-child,.shop-pagination>.disabled:last-child{grid-column:2;grid-row:2}.journal-page{padding:28px 14px 38px}.journal-hero{padding:6px 3px 20px}.journal-hero h1{font-size:36px}.journal-lead{grid-template-columns:1fr;border-radius:17px}.journal-lead-media,.journal-lead-media img,.journal-lead-media .journal-cover-empty{min-height:0;height:220px}.journal-lead-copy{padding:22px 18px 24px}.journal-lead-copy h2{font-size:27px}.journal-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.journal-card>img,.journal-card>.journal-cover-empty{height:155px}.journal-card-body{padding:11px 10px 13px}.journal-card-body small{display:block}.journal-card-body small span{display:block;margin-top:4px}.journal-card-body h2{font-size:17px}.journal-card-body p{font-size:9.5px}.content-detail-page{padding:28px 14px 40px}.content-back{margin-bottom:17px}.content-detail-head{margin-bottom:20px}.content-detail-head h1{font-size:35px}.content-detail-excerpt{font-size:12px}.content-detail-cover-shell{aspect-ratio:16/10;max-height:none;border-radius:16px;margin-bottom:16px}.content-detail-reading{padding:23px 19px 26px;border-radius:17px}.content-detail-body{max-width:none;font-size:13px;line-height:1.74}.content-detail-body h2{font-size:25px}.content-detail-body h3{font-size:21px}.content-detail-body h4{font-size:18px}.content-detail-body img{max-height:360px;border-radius:12px;margin:20px auto}.content-detail-body blockquote{margin:20px 0;padding:13px 15px}
}
@media(max-width:420px){
  .shop-hero-copy h1{font-size:32px}.shop-hero-art{height:135px}.shop-product-media{height:145px}.shop-product-meta{font-size:7px}.shop-product-body h2{font-size:15px}.shop-product-body p{display:none}.shop-price del{width:100%}.shop-filter-chips{width:calc(100vw - 48px)}.journal-hero h1{font-size:32px}.journal-grid{grid-template-columns:1fr 1fr}.journal-card>img,.journal-card>.journal-cover-empty{height:130px}.journal-card-body h2{font-size:15px}.journal-card-body p{display:none}.journal-card-body strong{font-size:9px}.content-detail-head h1{font-size:31px}.content-detail-meta{gap:8px}.content-detail-meta span+span:before{margin-right:8px}.content-detail-reading{padding:21px 16px 24px}.content-detail-cover-shell{aspect-ratio:4/3}
}


/* v76 frontend polish: flat Shop badges + compact empty states */
.shop-hero-badges span{display:inline-flex;align-items:center;gap:7px}
.shop-badge-icon{display:block;object-fit:contain;flex:0 0 auto}
.shop-badge-heart{width:18px;height:18px}
.shop-badge-paw{width:15px;height:15px;opacity:.78}
.home-journal-section .stories-empty{width:min(520px,100%);margin-left:auto;margin-right:auto;padding:19px 24px}
.home-shop-section .shop-empty{width:min(520px,100%);padding:19px 24px}
.shop-page-empty{width:min(520px,100%);margin-left:auto;margin-right:auto;padding:42px 20px}
@media(max-width:760px){
  .shop-badge-heart{width:19px;height:19px}
  .shop-badge-paw{width:15px;height:15px}
  .home-journal-section .stories-empty,.home-shop-section .shop-empty{width:min(430px,100%);padding:17px 18px}
  .shop-page-empty{width:100%;padding:34px 18px}
}

/* v78 — AJAX Shop + persistent mobile quick navigation */
.shop-results-shell{position:relative;min-height:120px;transition:opacity .18s ease}
.shop-results-shell.is-loading{opacity:.52;pointer-events:none}
.shop-results-shell.is-loading:after{content:'';position:absolute;left:50%;top:76px;width:28px;height:28px;margin-left:-14px;border:3px solid rgba(237,115,124,.22);border-top-color:#ed737c;border-radius:50%;animation:lyloShopSpin .7s linear infinite;z-index:3}
@keyframes lyloShopSpin{to{transform:rotate(360deg)}}
.shop-empty-paw{width:30px;height:30px;object-fit:contain;opacity:.72}

.mobile-dock,.currency-sheet,.currency-sheet-scrim{display:none}

@media(max-width:760px){
  body{padding-bottom:74px}
  .footer{margin-bottom:0}
  .toast{bottom:86px}

  .mobile-dock{
    position:fixed;
    left:10px;
    right:10px;
    bottom:max(9px,env(safe-area-inset-bottom));
    height:58px;
    z-index:65;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    align-items:stretch;
    padding:4px;
    border:1px solid rgba(218,191,169,.92);
    border-radius:18px;
    background:rgba(255,252,247,.97);
    box-shadow:0 12px 34px rgba(66,39,24,.16);
    backdrop-filter:blur(14px);
  }
  .mobile-dock-item{
    position:relative;
    min-width:0;
    border:0;
    border-radius:13px;
    background:transparent;
    color:#5c4031;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    padding:4px 2px;
    font:inherit;
    font-size:8px;
    font-weight:700;
    cursor:pointer;
  }
  .mobile-dock-item:active{background:#faece4}
  .mobile-dock-item svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .mobile-currency-code{font-size:11px;line-height:20px;font-weight:800;letter-spacing:.02em;color:#db6871}
  .mobile-dock-badge{
    position:absolute;
    top:2px;
    left:calc(50% + 9px);
    min-width:16px;
    height:16px;
    padding:0 4px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:#ed737c;
    color:#fff;
    border:2px solid #fffaf3;
    font-size:8px;
    line-height:1;
  }

  .currency-sheet-scrim{
    display:block;
    position:fixed;
    inset:0;
    z-index:84;
    background:rgba(50,31,21,.32);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease;
  }
  .currency-sheet-scrim.show{opacity:1;pointer-events:auto}
  .currency-sheet{
    display:block;
    position:fixed;
    left:10px;
    right:10px;
    bottom:calc(max(9px,env(safe-area-inset-bottom)) + 67px);
    z-index:85;
    max-height:min(440px,65dvh);
    overflow:auto;
    padding:8px 12px 14px;
    border:1px solid #ead8c8;
    border-radius:20px;
    background:#fffaf3;
    box-shadow:0 20px 55px rgba(50,31,21,.22);
    transform:translateY(18px) scale(.98);
    opacity:0;
    pointer-events:none;
    transition:transform .2s ease,opacity .2s ease;
  }
  .currency-sheet.open{transform:none;opacity:1;pointer-events:auto}
  .currency-sheet-handle{width:36px;height:4px;border-radius:999px;background:#dcc9ba;margin:2px auto 8px}
  .currency-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px 10px}
  .currency-sheet-head>div{display:flex;flex-direction:column;gap:2px}
  .currency-sheet-head small{font-size:8px;font-weight:800;letter-spacing:.09em;color:#cf6c57}
  .currency-sheet-head strong{font-family:'DM Serif Display',Georgia,serif;font-size:20px;font-weight:400}
  .currency-sheet-head button{width:32px;height:32px;border:1px solid #ead8c8;border-radius:10px;background:#fffdf9;color:#6b4b39;font-size:20px;cursor:pointer}
  .currency-options{display:grid;gap:7px}
  .currency-option{width:100%;min-height:52px;border:1px solid #ead8c8;border-radius:13px;background:#fffdf9;display:grid;grid-template-columns:38px 1fr 22px;align-items:center;gap:10px;padding:8px 10px;text-align:left;color:#523829;cursor:pointer}
  .currency-option.active{border-color:#ef9ca2;background:#fff1ef}
  .currency-option-symbol{width:36px;height:36px;border-radius:10px;background:#f8e9df;display:grid;place-items:center;font-size:11px;font-weight:800;color:#c8656d}
  .currency-option>span:nth-child(2){display:flex;flex-direction:column;gap:2px}
  .currency-option strong{font-size:11px}
  .currency-option small{font-size:8.5px;color:#876c5b}
  .currency-option i{font-style:normal;font-size:13px;color:#d96670;opacity:0}
  .currency-option.active i{opacity:1}
  .currency-sheet>p{margin:10px 3px 0;color:#947a69;font-size:8.5px;line-height:1.45}
  body.currency-sheet-open{overflow:hidden}

  .shop-results-shell.is-loading:after{top:64px}
}

/* v79 — iPhone-safe mobile dock + bottom navigation/search drawers */
.mobile-sheet,.mobile-sheet-scrim{display:none}

@media(max-width:760px){
  html{-webkit-text-size-adjust:100%}
  body{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}

  /* Keep the dock viewport-fixed on iOS Safari/standalone mode. */
  .mobile-dock{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr));
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:9px!important;
    bottom:calc(9px + constant(safe-area-inset-bottom))!important;
    bottom:calc(9px + env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
    height:64px!important;
    padding:5px 4px!important;
    z-index:120!important;
    overflow:visible!important;
    isolation:isolate;
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
  }
  .mobile-dock-item{font-size:7.5px;gap:3px;padding:4px 1px;overflow:visible}
  .mobile-dock-item>svg{width:19px;height:19px}
  .mobile-currency-code{font-size:10px;line-height:19px}
  .mobile-dock-badge{top:3px;left:calc(50% + 7px)}

  .mobile-dock-search{justify-content:flex-end;padding-bottom:4px}
  .mobile-search-orb{
    width:50px;height:50px;
    margin-top:-22px;margin-bottom:0;
    border:4px solid #fffaf3;
    border-radius:17px;
    display:grid;place-items:center;
    background:#ed737c;color:#fff;
    box-shadow:0 8px 18px rgba(217,93,105,.28);
  }
  .mobile-search-orb svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .mobile-dock-search>span:last-child{line-height:11px;color:#d45f69;font-weight:800}

  .mobile-sheet-scrim{
    display:block;
    position:fixed;
    inset:0;
    z-index:130;
    background:rgba(54,34,23,.34);
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease;
    -webkit-backdrop-filter:blur(2px);
    backdrop-filter:blur(2px);
  }
  .mobile-sheet-scrim.show{opacity:1;pointer-events:auto}

  .mobile-sheet,
  .currency-sheet{
    display:block;
    position:fixed;
    left:10px;
    right:10px;
    bottom:82px;
    bottom:calc(82px + constant(safe-area-inset-bottom));
    bottom:calc(82px + env(safe-area-inset-bottom,0px));
    z-index:140;
    max-height:calc(100dvh - 112px - env(safe-area-inset-bottom,0px));
    overflow:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:8px 12px 14px;
    border:1px solid #ead8c8;
    border-radius:22px;
    background:#fffaf3;
    box-shadow:0 22px 60px rgba(50,31,21,.24);
    transform:translateY(24px) scale(.985);
    opacity:0;
    pointer-events:none;
    transition:transform .2s ease,opacity .2s ease;
  }
  .mobile-sheet.open,.currency-sheet.open{transform:none;opacity:1;pointer-events:auto}
  .mobile-sheet-handle{width:36px;height:4px;border-radius:999px;background:#dcc9ba;margin:2px auto 9px}
  .mobile-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:3px 2px 12px}
  .mobile-sheet-head>div{display:flex;min-width:0;flex-direction:column;gap:2px}
  .mobile-sheet-head small{font-size:8px;font-weight:800;letter-spacing:.1em;color:#d06455}
  .mobile-sheet-head strong{font-family:'DM Serif Display',Georgia,serif;font-size:23px;font-weight:400;line-height:1.05}
  .mobile-sheet-head span{margin-top:3px;color:#917565;font-size:9px;line-height:1.4}
  .mobile-sheet-head>button{flex:0 0 34px;width:34px;height:34px;border:1px solid #ead8c8;border-radius:11px;background:#fffdf9;color:#6b4b39;font-size:21px;line-height:1;cursor:pointer}
  body.mobile-sheet-open{overflow:hidden;touch-action:none}

  .mobile-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-bottom:2px}
  .mobile-menu-card{min-width:0;min-height:92px;padding:12px;border:1px solid #ead8c8;border-radius:14px;background:#fffdf9;display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:9px;align-content:center;color:#5a3c2c}
  .mobile-menu-card.active{border-color:#efafb0;background:#fff1ee}
  .mobile-menu-icon{grid-row:1/3;width:36px;height:36px;border-radius:11px;background:#f8e9df;display:grid;place-items:center;color:#cf6b5f;align-self:center}
  .mobile-menu-card.active .mobile-menu-icon{background:#f8dfe0;color:#d95f6a}
  .mobile-menu-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .mobile-menu-card strong{align-self:end;font-size:11px;line-height:1.2}
  .mobile-menu-card small{align-self:start;margin-top:3px;color:#947866;font-size:7.7px;line-height:1.35}

  .mobile-global-search-box{height:48px;border:1px solid #dfcbbb;border-radius:14px;background:#fffdf9;display:grid;grid-template-columns:22px 1fr 22px;align-items:center;gap:7px;padding:0 12px;position:relative}
  .mobile-global-search-box>svg{width:19px;height:19px;fill:none;stroke:#a17d67;stroke-width:1.8;stroke-linecap:round}
  .mobile-global-search-box input{min-width:0;width:100%;height:100%;border:0;outline:0;background:transparent;color:#4e3426;font:inherit;font-size:12px;-webkit-appearance:none;appearance:none}
  .mobile-search-spinner{width:16px;height:16px;border:2px solid rgba(237,115,124,.2);border-top-color:#ed737c;border-radius:50%;opacity:0}
  .mobile-search-spinner.show{opacity:1;animation:lyloShopSpin .7s linear infinite}
  .mobile-search-results{min-height:150px;padding-top:10px;transition:opacity .15s ease}
  .mobile-search-results.is-loading{opacity:.55}
  .mobile-search-empty{min-height:150px;border:1px dashed #e3cdbd;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:24px;color:#917565}
  .mobile-search-empty img{width:27px;height:27px;object-fit:contain;opacity:.62;margin-bottom:8px}
  .mobile-search-empty strong{color:#654737;font-size:11px}
  .mobile-search-empty span{margin-top:4px;font-size:8.5px}
  .mobile-search-group+ .mobile-search-group{margin-top:13px}
  .mobile-search-group h3{margin:0 2px 7px;color:#c96757;font-size:8px;text-transform:uppercase;letter-spacing:.09em}
  .mobile-search-list{display:grid;gap:7px}
  .mobile-search-result{min-width:0;min-height:62px;border:1px solid #ead8c8;border-radius:13px;background:#fffdf9;display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px;color:#543829}
  .mobile-search-result>img,.mobile-search-result-placeholder{width:50px;height:50px;border-radius:10px;display:block;object-fit:cover;background:#fae9dc}
  .mobile-search-result-placeholder{display:grid;place-items:center;color:#ba7953;font-size:7px;font-weight:800;letter-spacing:.07em}
  .mobile-search-result>span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:2px}
  .mobile-search-result small{color:#b8784d;font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-search-result strong{font-size:10.5px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-search-result em{color:#725545;font-size:8.5px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mobile-search-result>b{padding:4px 6px;border-radius:999px;background:#f1e9e3;color:#8b7161;font-size:7px;white-space:nowrap}
  .mobile-search-result>i{font-style:normal;color:#d4666d;font-size:15px;padding-right:3px}
  .mobile-search-result.content-result em{color:#957767}

  .currency-sheet{max-height:min(450px,62dvh)}
  .currency-options{display:grid;gap:7px}
  .currency-option{width:100%;min-height:52px;border:1px solid #ead8c8;border-radius:13px;background:#fffdf9;display:grid;grid-template-columns:38px 1fr 22px;align-items:center;gap:10px;padding:8px 10px;text-align:left;color:#523829;cursor:pointer}
  .currency-option.active{border-color:#ef9ca2;background:#fff1ef}
  .currency-option-symbol{width:36px;height:36px;border-radius:10px;background:#f8e9df;display:grid;place-items:center;font-size:11px;font-weight:800;color:#c8656d}
  .currency-option>span:nth-child(2){display:flex;flex-direction:column;gap:2px}
  .currency-option strong{font-size:11px}.currency-option small{font-size:8.5px;color:#876c5b}
  .currency-option i{font-style:normal;font-size:13px;color:#d96670;opacity:0}.currency-option.active i{opacity:1}

  /* The old header flyout is no longer used on mobile; both hamburger buttons open the bottom drawer. */
  .nav.open{display:none}

  /* Cart must sit above the persistent dock/sheets. */
  .drawer-scrim{z-index:180}
  .cart-drawer{z-index:190;padding-bottom:calc(25px + env(safe-area-inset-bottom,0px))}
  .toast{z-index:220;bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}

@media(max-width:380px){
  .mobile-dock{left:6px!important;right:6px!important}
  .mobile-search-orb{width:46px;height:46px;margin-top:-19px}
  .mobile-menu-grid{gap:7px}.mobile-menu-card{padding:10px;column-gap:7px}
}

/* v81 — storefront currency flags */
@media(max-width:760px){
  .mobile-currency-visual{min-height:20px;display:flex;align-items:center;justify-content:center;gap:4px}
  .mobile-currency-flag{width:23px;height:15px;display:block;object-fit:cover;border:1px solid rgba(90,58,40,.14);border-radius:2px;background:#fff;box-shadow:0 1px 2px rgba(80,54,38,.08)}
  .mobile-currency-flag[hidden]{display:none!important}
  .mobile-currency-visual.has-flag .mobile-currency-code{font-size:8px;line-height:15px;color:#7c5c49}
  .currency-option-flag{width:36px;height:25px;border-radius:3px;background:#f8f1eb;border:1px solid #ead8c8;display:grid;place-items:center;overflow:hidden}
  .currency-option-flag img{width:100%;height:100%;display:block;object-fit:cover}
  .currency-option-flag b{font-size:8px;line-height:1;color:#a26c57;letter-spacing:.04em}
}

/* v82 desktop header: compact currency flag switcher + account action */
.desktop-currency{position:relative;display:block}
.desktop-currency-trigger{height:34px;min-width:82px;padding:0 9px 0 7px;border:1px solid #ead8c8;border-radius:9px;background:#fffdf9;display:flex;align-items:center;gap:7px;cursor:pointer;transition:.18s ease}
.desktop-currency-trigger:hover,.desktop-currency.open .desktop-currency-trigger{background:#f9eee5;border-color:#dec4ad}
.desktop-currency-trigger>strong{font-size:10px;letter-spacing:.02em;font-weight:700;line-height:1}
.desktop-currency-trigger>svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.desktop-currency.open .desktop-currency-trigger>svg{transform:rotate(180deg)}
.desktop-currency-flag-wrap{width:25px;height:17px;flex:0 0 25px;border:1px solid #e4d3c4;border-radius:2px;overflow:hidden;background:#f5eee7;display:grid;place-items:center}
.desktop-currency-flag{width:100%;height:100%;display:block;object-fit:cover}
.desktop-currency-fallback{font-size:7px;font-weight:800;line-height:1;color:#8b6b57;letter-spacing:.01em}
.desktop-currency-menu{position:absolute;right:0;top:calc(100% + 9px);width:220px;padding:7px;border:1px solid #ead8c8;border-radius:13px;background:#fffdf9;box-shadow:0 18px 42px rgba(65,37,22,.14);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:.16s ease;z-index:90}
.desktop-currency.open .desktop-currency-menu{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.desktop-currency-option{width:100%;min-height:47px;padding:7px 8px;border:0;border-radius:9px;background:transparent;display:grid;grid-template-columns:30px minmax(0,1fr) 16px;align-items:center;gap:9px;text-align:left;cursor:pointer}
.desktop-currency-option:hover,.desktop-currency-option.active{background:#faeee6}
.desktop-currency-option-flag{width:30px;height:20px;border:1px solid #e4d3c4;border-radius:2px;background:#f5eee7;overflow:hidden;display:grid;place-items:center}
.desktop-currency-option-flag img{width:100%;height:100%;display:block;object-fit:cover}
.desktop-currency-option-flag b{font-size:7px;color:#856450}
.desktop-currency-option>span:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:1px}
.desktop-currency-option strong{font-size:10px;line-height:1.2}
.desktop-currency-option small{font-size:8px;color:#8c7060;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.desktop-currency-option>svg{width:15px;height:15px;fill:none;stroke:#df6d75;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.desktop-currency-option.active>svg{opacity:1}
.desktop-account svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1120px){.desktop-currency-trigger{min-width:72px;padding-right:7px}.desktop-currency-trigger>strong{font-size:9px}.desktop-currency-menu{right:-18px}}
@media(max-width:760px){.desktop-currency,.desktop-account{display:none!important}}

/* v83 — storefront cart feedback */
.add-cart.is-added{animation:lyloCartButtonPop .52s cubic-bezier(.2,.8,.3,1)}
.add-cart.is-added img{animation:lyloCartIconPop .52s cubic-bezier(.2,.8,.3,1)}
.cart-flyer{position:fixed;z-index:220;pointer-events:none;border-radius:14px;background:#fff3e9 center/58% no-repeat;border:1px solid rgba(226,180,151,.75);box-shadow:0 12px 30px rgba(72,42,25,.2);will-change:transform,opacity}
.cart-flyer.has-image{background-size:cover;background-color:#fffaf3}
.cart-badge-pop{animation:lyloCartBadgePop .46s cubic-bezier(.2,.8,.3,1)}
@keyframes lyloCartButtonPop{0%{transform:scale(1)}35%{transform:scale(.88) rotate(-4deg)}68%{transform:scale(1.12) rotate(3deg)}100%{transform:scale(1) rotate(0)}}
@keyframes lyloCartIconPop{0%,100%{transform:translateY(0)}45%{transform:translateY(-2px) scale(1.12)}}
@keyframes lyloCartBadgePop{0%{transform:scale(1)}42%{transform:scale(1.45)}75%{transform:scale(.9)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.add-cart.is-added,.add-cart.is-added img,.cart-badge-pop{animation:none}.cart-flyer{display:none}}

/* v85 — lighter mobile typography, footer replacement in navigation drawer */
@media(max-width:760px){
  /* The persistent dock + menu drawer replace the large desktop footer on phones. */
  .footer{display:none!important}

  .mobile-sheet{font-family:'DM Sans',system-ui,-apple-system,Segoe UI,sans-serif}
  .mobile-sheet-head small{font-weight:600}
  .mobile-sheet-head strong{
    font-family:'Fredoka','DM Sans',system-ui,sans-serif;
    font-weight:500;
    letter-spacing:-.015em;
  }
  .mobile-sheet-head span{font-weight:400}
  .mobile-menu-card strong{font-family:'Fredoka','DM Sans',system-ui,sans-serif;font-weight:500}
  .mobile-menu-card small{font-weight:400}
  .mobile-dock-item{font-weight:500}
  .mobile-dock-search>span:last-child{font-weight:600}
  .currency-option strong{font-weight:600}
  .mobile-search-result strong{font-weight:500}
  .mobile-search-result small,
  .mobile-search-group h3,
  .mobile-search-result-placeholder{font-weight:600}

  .mobile-menu-social{
    margin-top:12px;
    padding:12px 2px 2px;
    border-top:1px solid #ead8c8;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .mobile-menu-social-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
  .mobile-menu-social-copy small{font-size:7.5px;font-weight:600;letter-spacing:.1em;color:#cf6d5b}
  .mobile-menu-social-copy span{font-size:8px;line-height:1.35;color:#917565;font-weight:400}
  .mobile-menu-social-icons{display:flex;align-items:center;gap:5px;flex:0 0 auto}
  .mobile-menu-social-icons button{
    width:31px;height:31px;
    border:1px solid #ead8c8;
    border-radius:9px;
    background:#fffdf9;
    display:grid;place-items:center;
    padding:7px;
    cursor:pointer;
  }
  .mobile-menu-social-icons button:active{background:#faece4}
  .mobile-menu-social-icons img{width:15px;height:15px;display:block}
}
/* v88 — mobile short-page fill + flat CMS empty-state icon */
.journal-empty-paw{display:block;width:30px;height:30px;object-fit:contain;margin:0 auto 10px;opacity:.76}
@media(max-width:760px){
  body{background:var(--cream)}
  .site{
    min-height:calc(100dvh - 88px - env(safe-area-inset-bottom,0px));
    display:flex;
    flex-direction:column;
  }
  .site>main{flex:1 0 auto}
  .journal-empty-paw{width:28px;height:28px;margin-bottom:9px}
}


/* v89 — keep the storefront canvas filled on short desktop pages too */
.site{
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
.site>main{flex:1 0 auto}
@media(max-width:760px){
  .site{min-height:calc(100dvh - 88px - env(safe-area-inset-bottom,0px))}
}

/* v96 — real session cart, polished desktop drawer + full-screen mobile cart */
body.cart-drawer-open{overflow:hidden}
.cart-drawer{
  width:min(460px,100vw);
  padding:0;
  display:flex;
  flex-direction:column;
  background:#fffaf3;
  color:var(--ink);
  border-left:1px solid #ead9ca;
}
.cart-mobile-handle{display:none}
.cart-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:27px 28px 19px;border-bottom:1px solid #efdfd2;background:rgba(255,250,243,.97)}
.cart-head>div{display:flex;flex-direction:column;gap:3px}
.cart-head small{font-size:9px;line-height:1;color:#ec6f78;font-weight:700;letter-spacing:.13em}
.cart-head h2{margin:0;font-family:'DM Serif Display',Georgia,serif;font-weight:400;font-size:30px;line-height:1.12;color:#442c20}
.cart-head button{width:38px;height:38px;flex:0 0 38px;border:1px solid #ead7c6;border-radius:11px;background:#fffdf9;display:grid;place-items:center;padding:9px;color:#51362a;cursor:pointer;transition:.18s ease}
.cart-head button:hover{background:#faeee5;border-color:#dfc1aa}
.cart-head button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.cart-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:8px 27px 18px;overscroll-behavior:contain}
.cart-list::-webkit-scrollbar{width:5px}.cart-list::-webkit-scrollbar-thumb{background:#e4cdbb;border-radius:99px}.cart-list::-webkit-scrollbar-track{background:transparent}
.cart-item{position:relative;display:grid;grid-template-columns:84px minmax(0,1fr);gap:13px;padding:16px 0;border-bottom:1px solid #efdfd2;transition:opacity .16s ease}
.cart-item.is-updating{opacity:.48;pointer-events:none}
.cart-item-media{width:84px;height:84px;border:1px solid #ead8c8;border-radius:14px;background:#f9ede2;overflow:hidden;display:grid;place-items:center}
.cart-item-media>img{width:100%;height:100%;object-fit:cover;display:block}
.cart-item-placeholder{width:100%;height:100%;display:grid;place-items:center}.cart-item-placeholder img{width:27px;height:27px;opacity:.35}
.cart-item-content{min-width:0;display:flex;flex-direction:column}
.cart-item-head{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:start;gap:8px}
.cart-item-head>div{min-width:0;display:flex;flex-direction:column;gap:3px}
.cart-item-head strong{font-size:12px;line-height:1.35;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-item-head small{font-size:9px;line-height:1.35;color:#927363;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-remove{width:28px;height:28px;border:0;border-radius:8px;background:transparent;display:grid;place-items:center;padding:7px;color:#a78976;cursor:pointer}
.cart-remove:hover{background:#fdebea;color:#e46770}.cart-remove svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.cart-unit-price{display:flex;align-items:baseline;gap:7px;margin-top:8px}.cart-unit-price strong{font-size:11px}.cart-unit-price del{font-size:8.5px;color:#b29a8a}
.cart-item-bottom{margin-top:auto;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.cart-qty{height:32px;border:1px solid #e7d2c0;border-radius:10px;background:#fffdf9;display:grid;grid-template-columns:30px 34px 30px;align-items:center;overflow:hidden}
.cart-qty button{height:100%;border:0;background:transparent;color:#604334;font-size:16px;line-height:1;cursor:pointer}.cart-qty button:hover:not(:disabled){background:#f9eae0}.cart-qty button:disabled{opacity:.28;cursor:default}
.cart-qty span{font-size:10px;font-weight:700;text-align:center}
.cart-line-total{font-size:11px;white-space:nowrap}
.cart-footer{flex:0 0 auto;padding:20px 28px 26px;border-top:1px solid #ead9ca;background:#fffdf9;box-shadow:0 -12px 28px rgba(84,51,31,.035)}
.cart-summary-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.cart-summary-row span{font-size:12px}.cart-summary-row strong{font-size:17px}
.cart-footer>p{margin:7px 0 17px;font-size:9.5px;line-height:1.45;color:#9a7d6b}
.cart-footer .checkout{width:100%;min-height:50px;border-radius:14px;font-size:12px;box-shadow:0 10px 22px rgba(238,115,123,.17)}
.cart-footer .checkout:disabled{opacity:.42;box-shadow:none;cursor:not-allowed;transform:none}
.cart-continue{width:100%;height:39px;margin-top:7px;border:0;background:transparent;color:#765746;font-size:10px;font-weight:600;cursor:pointer}
.cart-continue:hover{color:#df6972}
.cart-empty{min-height:390px;padding:70px 26px 45px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#806555}
.cart-empty-icon{width:68px;height:68px;border-radius:22px;background:#fbe9e2;display:grid;place-items:center;margin-bottom:15px}.cart-empty-icon img{width:29px;height:29px;opacity:.72}
.cart-empty strong{font-family:'Fredoka','DM Sans',sans-serif;font-size:17px;font-weight:500;color:#51362a}.cart-empty p{max-width:250px;margin:7px auto 14px;font-size:10px;line-height:1.55;color:#987a68}
.cart-empty-shop{font-size:10px;font-weight:700;color:#df6972}
.cart-loading{min-height:310px;display:flex;flex-direction:column;gap:11px;align-items:center;justify-content:center;color:#8e7160;font-size:10px}.cart-loading span{width:27px;height:27px;border:2px solid #f1d8ca;border-top-color:#eb737b;border-radius:50%;animation:lyloCartSpin .7s linear infinite}.cart-loading b{font-weight:600}
.add-cart.is-loading{opacity:.55;pointer-events:none}.add-cart.is-loading img{animation:lyloCartSpin .75s linear infinite}
@keyframes lyloCartSpin{to{transform:rotate(360deg)}}

@media(max-width:760px){
  .drawer-scrim{background:rgba(52,34,24,.3)}
  .cart-drawer{
    inset:0;
    right:auto;
    top:auto;
    width:100%;
    max-width:none;
    height:100dvh;
    border:0;
    border-radius:0;
    transform:translateY(105%);
    padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px);
    box-shadow:0 -18px 50px rgba(43,25,15,.18);
  }
  .cart-drawer.open{transform:translateY(0)}
  .cart-mobile-handle{display:block;width:38px;height:4px;border-radius:99px;background:#d8c6b8;margin:7px auto 0}
  .cart-head{padding:13px 18px 14px;background:#fffaf3}.cart-head h2{font-family:'Fredoka','DM Sans',sans-serif;font-size:24px;font-weight:500}.cart-head small{font-size:8px}
  .cart-head button{width:36px;height:36px;flex-basis:36px}
  .cart-list{padding:5px 16px 15px;scrollbar-width:none}.cart-list::-webkit-scrollbar{display:none}
  .cart-item{grid-template-columns:76px minmax(0,1fr);gap:11px;padding:14px 0}.cart-item-media{width:76px;height:76px;border-radius:13px}
  .cart-item-head strong{font-size:11px}.cart-item-head small{font-size:8px}.cart-unit-price strong,.cart-line-total{font-size:10px}
  .cart-qty{height:31px;grid-template-columns:29px 32px 29px}
  .cart-footer{padding:15px 17px calc(13px + env(safe-area-inset-bottom,0px))}.cart-summary-row strong{font-size:16px}.cart-footer>p{margin-bottom:13px}
  .cart-footer .checkout{min-height:48px;border-radius:13px}.cart-continue{height:34px;margin-top:4px}
  .cart-empty{min-height:55dvh;padding:48px 24px}.cart-empty-icon{width:64px;height:64px}
  .toast{z-index:220}
}

/* v106 product card links */
.home-product-link{display:block;width:100%;height:164px;background:#fbebdb;overflow:hidden}
.home-product-link>img{display:block;width:100%;height:100%;object-fit:cover}
.product-info h3 a,.shop-product-body h2 a{color:inherit;text-decoration:none}
.product-info h3 a:hover,.shop-product-body h2 a:hover{color:#df6d75}
@media(max-width:760px){.home-product-link{height:145px}}
@media(max-width:420px){.home-product-link{height:190px}}
.product-option-link,.shop-option-button{display:grid!important;place-items:center;text-decoration:none;font-size:17px;font-weight:600;line-height:1}.shop-option-button{flex:0 0 34px;width:34px;height:34px;border:1px solid #dcbf9f;border-radius:9px;background:#fffaf3}.shop-option-button:hover,.product-option-link:hover{background:#f8e7d6}


/* v107 cart variant picker */
.cart-variant-trigger{appearance:none;-webkit-appearance:none;margin-top:4px;max-width:100%;width:max-content;min-height:27px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #e6cdbb;background:#fff8f2;border-radius:9px;padding:5px 9px;color:#6d4b3b;font:600 9px/1.2 'DM Sans',sans-serif;cursor:pointer;box-shadow:none}.cart-variant-trigger:hover{border-color:#dda98d;background:#fdf1e8}.cart-variant-trigger:disabled{opacity:.45;cursor:default}.cart-variant-trigger span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart-variant-trigger svg{width:12px;height:12px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.cart-variant-overlay[hidden]{display:none!important}
.cart-variant-overlay{position:fixed;inset:0;z-index:230;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .18s ease}.cart-variant-overlay.open{opacity:1;pointer-events:auto}.cart-variant-backdrop{position:absolute;inset:0;border:0;background:rgba(47,31,22,.36);backdrop-filter:blur(2px);cursor:default}.cart-variant-sheet{position:relative;z-index:1;width:min(430px,calc(100vw - 28px));max-height:min(650px,82dvh);display:flex;flex-direction:column;border:1px solid #ead5c4;border-radius:22px;background:#fffaf4;box-shadow:0 25px 80px rgba(47,29,18,.24);overflow:hidden}.cart-variant-handle{display:none}.cart-variant-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 22px 15px;border-bottom:1px solid #eedfd3}.cart-variant-head small{display:block;margin-bottom:4px;color:#eb7078;font-size:8px;font-weight:800;letter-spacing:.14em}.cart-variant-head h3{margin:0;font:500 21px/1.15 'Fredoka','DM Sans',sans-serif;color:#493226}.cart-variant-head>button{width:34px;height:34px;display:grid;place-items:center;border:1px solid #ead5c4;border-radius:10px;background:#fffdf9;color:#704d3b;cursor:pointer}.cart-variant-head svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.cart-variant-body{padding:16px 20px;overflow:auto;scrollbar-width:none}.cart-variant-body::-webkit-scrollbar{display:none}.cart-variant-options{display:grid;gap:9px}.cart-variant-option{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:12px;padding:12px 13px;border:1px solid #ead7c8;border-radius:13px;background:#fffdf9;color:#54382b;text-align:left;cursor:pointer}.cart-variant-option:hover:not(:disabled){border-color:#dfa98d;background:#fff8f1}.cart-variant-option.active{border-color:#ed747b;background:#fff1ef;box-shadow:inset 0 0 0 1px rgba(237,116,123,.1)}.cart-variant-option:disabled{opacity:.43;cursor:not-allowed}.cart-variant-option>span:first-child{min-width:0;display:flex;flex-direction:column;gap:3px}.cart-variant-option strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-variant-option small{font-size:8px;color:#9a7b68}.cart-variant-option-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap}.cart-variant-option-price b{font-size:10px}.cart-variant-option-price del{font-size:8px;color:#aa8f7e}.cart-variant-option i{font-style:normal;color:#ed6f78;font-size:13px;text-align:center}.cart-variant-footer{padding:13px 20px 18px;border-top:1px solid #eedfd3;background:#fffdf9}.cart-variant-footer .btn{width:100%;min-height:46px;border-radius:13px}.cart-variant-loading,.cart-variant-empty{min-height:150px;display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;color:#8e7160;font-size:10px}.cart-variant-loading span{width:23px;height:23px;border:2px solid #f0d7ca;border-top-color:#ec737b;border-radius:50%;animation:lyloCartSpin .7s linear infinite}
@media(max-width:760px){.cart-variant-overlay{place-items:end stretch}.cart-variant-sheet{width:100%;max-width:none;max-height:78dvh;border-radius:22px 22px 0 0;border-left:0;border-right:0;border-bottom:0;transform:translateY(18px);transition:transform .2s ease;padding-bottom:env(safe-area-inset-bottom,0px)}.cart-variant-overlay.open .cart-variant-sheet{transform:none}.cart-variant-handle{display:block;width:38px;height:4px;border-radius:99px;background:#d8c4b6;margin:8px auto 0}.cart-variant-head{padding:12px 17px 13px}.cart-variant-head h3{font-size:20px}.cart-variant-body{padding:14px 16px}.cart-variant-option{padding:12px}.cart-variant-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}.cart-variant-trigger span{max-width:125px}}


/* v119: keep desktop Latest Stories at 3 cards, fill mobile 2x2 with the 4th story */
@media (min-width: 761px){
  #journal .stories > .story:nth-child(n+4){display:none}
}

/* v122 — Article SEO + category foundation */
.article-category-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.article-category-nav a,.article-active-filter{border:1px solid #ead8c8;background:#fffdf9;border-radius:999px;color:#72513f;font-size:10px;font-weight:700}
.article-category-nav a{padding:8px 12px;transition:background .16s ease,border-color .16s ease,color .16s ease}
.article-category-nav a:hover,.article-category-nav a.active{background:#f9e9df;border-color:#edc9b8;color:#b85f46}
.article-active-filter{display:inline-flex;align-items:center;gap:10px;margin-top:12px;padding:7px 8px 7px 12px}
.article-active-filter a{padding:4px 8px;border-radius:999px;background:#f6dfd4;color:#a95642;font-size:9px}
.articles-pagination{max-width:1288px;margin:24px auto 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;font-size:10px;color:#8a6c59}
.articles-pagination a,.articles-pagination .disabled{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 13px;border:1px solid #ead8c8;border-radius:999px;background:#fffdf9;font-weight:700}
.articles-pagination a:last-child,.articles-pagination .disabled:last-child{justify-self:end}
.articles-pagination .disabled{opacity:.45}
.content-detail-category{margin-top:14px}
.content-detail-category a{display:inline-flex;padding:7px 10px;border:1px solid #efcfbe;border-radius:999px;background:#fff6ef;color:#aa5c43;font-size:9px;font-weight:800;letter-spacing:.02em}
.content-detail-tags a,.content-detail-tags span{display:inline-flex;padding:6px 9px;border-radius:999px;background:#f9e9df;color:#b86646;font-size:9px;font-weight:700}
.content-detail-tags a:hover{background:#f5ddcf;color:#a85037}
.content-related{max-width:900px;margin:34px auto 0}
.content-related-head{margin-bottom:14px}.content-related-head span{color:#c9704e;font-size:9px;font-weight:800;letter-spacing:.08em}.content-related-head h2{font-family:'DM Serif Display',Georgia,serif;font-size:28px;font-weight:400;margin:5px 0 0;color:#4d3326}
.content-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.content-related-grid .article-card>img,.content-related-grid .article-cover-empty{height:150px}
@media(max-width:760px){
  .article-category-nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.article-category-nav::-webkit-scrollbar{display:none}.article-category-nav a{white-space:nowrap}
  .articles-pagination{grid-template-columns:1fr 1fr}.articles-pagination>span:nth-child(2){grid-column:1/-1;grid-row:1;text-align:center}.articles-pagination>a:first-child,.articles-pagination>.disabled:first-child{grid-column:1;grid-row:2}.articles-pagination>a:last-child,.articles-pagination>.disabled:last-child{grid-column:2;grid-row:2}
  .content-related{margin-top:25px}.content-related-head h2{font-size:24px}.content-related-grid{grid-template-columns:1fr 1fr;gap:10px}.content-related-grid .article-card>img,.content-related-grid .article-cover-empty{height:130px}.content-related-grid .article-card-body p{display:none}
}
