
/* Cheekys Creations V16 — Shopping Bag + Creator's Charter + Visual Layout System */
:root{
  --cc-ink:#12070D;
  --cc-pink:#E95A96;
  --cc-blush:#FFF3FA;
  --cc-soft:#FFF4FA;
  --cc-rose:#F9D2E7;
  --cc-wine:#462636;
  --cc-shadow:rgba(18,7,13,.2);
}
body[data-cheekys-v16="bag-layout"] .page-shell{isolation:isolate;}
body[data-cheekys-v16="bag-layout"] .main-flow{
  width:min(100% - 28px, 1260px);
  margin-inline:auto;
}
@media(min-width:980px){
  body[data-cheekys-v16="bag-layout"] .main-flow{width:min(100% - 56px, 1260px)}
  body[data-cheekys-v16="bag-layout"] .home-showcase,
  body[data-cheekys-v16="bag-layout"] .page-main{display:block;}
}
/* Header bag affordance */
.bag-status-button{
  --bag-bg:linear-gradient(135deg,#12070D,#462636 52%,#E95A96);
  appearance:none;border:2px solid var(--cc-ink);background:var(--bag-bg);color:var(--cc-soft);
  border-radius:999px;padding:.72rem 1rem;font-family:var(--font-display, Fredoka, sans-serif);
  font-weight:900;text-transform:uppercase;letter-spacing:.04em;box-shadow:3px 3px 0 var(--cc-ink);
  display:inline-flex;align-items:center;gap:.55rem;cursor:pointer;min-height:44px;white-space:nowrap;
}
.bag-status-button span,.mobile-bag-button span{background:var(--cc-soft);color:var(--cc-ink);min-width:1.55rem;height:1.55rem;border:1px solid var(--cc-ink);display:inline-grid;place-items:center;border-radius:999px;font-size:.78rem;line-height:1;font-weight:1000;}
.bag-status-button:hover{transform:translateY(-2px);box-shadow:4px 5px 0 var(--cc-ink)}
.bag-status-button:focus-visible,.mobile-bag-button:focus-visible,.cc-cart-primary:focus-visible,.cc-cart-ghost:focus-visible{outline:3px solid #fff;outline-offset:3px;}
@media(max-width:780px){
  .statement-header .bag-status-button{display:none!important;}
  .mobile-quickbar{grid-template-columns:1fr 1fr auto;}
}
.mobile-bag-button{
  appearance:none;border:2px solid var(--cc-ink);background:var(--cc-ink);color:var(--cc-soft);border-radius:16px;padding:.8rem .95rem;box-shadow:3px 3px 0 var(--cc-ink);font-weight:1000;letter-spacing:.02em;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.42rem;
}
/* Product surfaces: wider, tactile, not business cards */
body[data-cheekys-v16="bag-layout"] .product-card.product-surface.product-showroom-surface{
  border-radius:34px!important;
  background:
    radial-gradient(circle at 10% 0%,rgba(255,255,255,.98),rgba(255,244,250,.82) 28%,rgba(249,210,231,.74) 56%,rgba(255,255,255,.94) 100%)!important;
  box-shadow:0 0 0 2px var(--cc-ink), 9px 9px 0 var(--cc-ink), 0 18px 46px rgba(70,38,54,.20)!important;
  padding:clamp(12px,1.4vw,18px)!important;
  gap:clamp(12px,1.6vw,22px)!important;
  align-items:stretch!important;
  position:relative;overflow:hidden;
}
body[data-cheekys-v16="bag-layout"] .product-card.product-surface.product-showroom-surface::before{
  content:"";position:absolute;inset:8px;border:1px dashed rgba(18,7,13,.22);border-radius:28px;pointer-events:none;z-index:0;
}
body[data-cheekys-v16="bag-layout"] .product-card.product-surface.product-showroom-surface::after{
  content:"Cheekys";position:absolute;right:18px;bottom:10px;font-family:var(--font-display, Fredoka, sans-serif);font-size:clamp(2rem,5vw,5rem);font-weight:1000;color:rgba(233,90,150,.085);transform:rotate(-7deg);pointer-events:none;z-index:0;
}
body[data-cheekys-v16="bag-layout"] .product-stage.product-runway-stage{
  border-radius:26px!important;
  background:linear-gradient(145deg,#fff,#fff4fa 35%,#f9d2e7)!important;
  border:2px solid var(--cc-ink)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65), 5px 5px 0 var(--cc-ink)!important;
}
body[data-cheekys-v16="bag-layout"] .product-stage img{filter:drop-shadow(0 16px 18px rgba(18,7,13,.14));}
body[data-cheekys-v16="bag-layout"] .product-showroom-body.text-card,
body[data-cheekys-v16="bag-layout"] .product-body.product-surface-body{
  background:rgba(255,255,255,.78)!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.82)!important;border-radius:26px!important;
  box-shadow:inset 0 0 0 1px rgba(18,7,13,.08)!important;color:var(--cc-ink)!important;z-index:2;
}
body[data-cheekys-v16="bag-layout"] .product-showroom-body h3 a{color:var(--cc-ink)!important;text-decoration:none;}
body[data-cheekys-v16="bag-layout"] .product-showroom-body p{color:#2a111c!important;}
body[data-cheekys-v16="bag-layout"] .product-surface-actions{display:grid!important;grid-template-columns:1.05fr 1fr .86fr;gap:.58rem!important;align-items:stretch;}
body[data-cheekys-v16="bag-layout"] .cc-add-to-bag{appearance:none;cursor:pointer;border:3px solid var(--cc-ink);background:linear-gradient(135deg,#fff,#fff4fa 40%,#f9d2e7);color:var(--cc-ink);font-family:var(--font-display, Fredoka, sans-serif);font-weight:1000;text-transform:uppercase;letter-spacing:.035em;border-radius:16px;box-shadow:4px 4px 0 var(--cc-ink);min-height:52px;padding:.72rem .9rem;}
body[data-cheekys-v16="bag-layout"] .cc-add-to-bag:hover{transform:translateY(-2px);background:linear-gradient(135deg,#fff,#f9d2e7,#e95a96);color:#12070D;}
body[data-cheekys-v16="bag-layout"] .cta-slab.small-slab,body[data-cheekys-v16="bag-layout"] .ghost-slab.small-slab{min-height:52px;display:inline-flex;align-items:center;justify-content:center;}
@media(max-width:760px){
  body[data-cheekys-v16="bag-layout"] .product-card.product-surface.product-showroom-surface{border-radius:28px!important;box-shadow:0 0 0 2px var(--cc-ink), 5px 5px 0 var(--cc-ink)!important;padding:12px!important;}
  body[data-cheekys-v16="bag-layout"] .product-surface-actions{grid-template-columns:1fr!important;}
  body[data-cheekys-v16="bag-layout"] .cc-add-to-bag,body[data-cheekys-v16="bag-layout"] .cta-slab.small-slab,body[data-cheekys-v16="bag-layout"] .ghost-slab.small-slab{width:100%;min-height:54px;font-size:.95rem;}
}
/* Creator Charter */
.creator-charter-v16{margin:clamp(16px,2vw,24px) 0;padding:clamp(18px,2.8vw,30px);border:3px solid var(--cc-ink);border-radius:34px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,244,250,.9) 44%,rgba(249,210,231,.82));box-shadow:7px 7px 0 var(--cc-ink), 0 18px 42px rgba(70,38,54,.18);position:relative;overflow:hidden;}
.creator-charter-v16::before{content:"";position:absolute;inset:11px;border:1px dashed rgba(18,7,13,.24);border-radius:25px;pointer-events:none;}
.creator-charter-v16::after{content:"Baby Cheeky";position:absolute;right:20px;top:12px;color:rgba(233,90,150,.12);font-family:var(--font-display, Fredoka, sans-serif);font-weight:1000;font-size:clamp(2rem,6vw,5rem);transform:rotate(-4deg);}
.charter-grid-v16{display:grid;grid-template-columns:1fr 1.28fr;gap:clamp(16px,2vw,28px);position:relative;z-index:2;}
.charter-kid-panel,.charter-parent-panel{background:rgba(255,255,255,.78);border:1px solid rgba(18,7,13,.10);border-radius:26px;padding:clamp(16px,2vw,24px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.75);}
.charter-kicker{margin:0 0 8px;color:var(--cc-pink);font-weight:1000;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;}
.creator-charter-v16 h3{margin:.12rem 0 .42rem;color:var(--cc-ink);font-size:clamp(1.5rem,2.5vw,2.25rem);line-height:1.03;font-family:var(--font-display, Fredoka, sans-serif);}
.creator-charter-v16 p{color:#2a111c;line-height:1.45;}
.charter-preview-card{margin-top:1rem;border:2px solid var(--cc-ink);border-radius:22px;background:linear-gradient(135deg,#12070D,#462636 52%,#E95A96);color:var(--cc-soft);padding:1.1rem;box-shadow:4px 4px 0 var(--cc-ink);}
.charter-preview-card strong{display:block;font-size:clamp(1.35rem,3vw,2.4rem);font-family:var(--font-display, Fredoka, sans-serif);letter-spacing:.08em;text-transform:uppercase;word-break:break-word;}
.charter-preview-card span{display:block;margin-top:.22rem;color:#F9D2E7;font-weight:800;font-size:.84rem;}
.charter-spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:.72rem;margin-top:1rem;}
.charter-spec{border:1px solid rgba(18,7,13,.12);background:#fff;border-radius:18px;padding:.9rem;display:flex;gap:.7rem;align-items:flex-start;}
.charter-spec b{display:block;color:var(--cc-ink);font-size:.88rem;}.charter-spec small{display:block;color:#56364a;line-height:1.35;margin-top:.15rem;}
.charter-note{margin-top:.85rem;border-top:1px dashed rgba(18,7,13,.18);padding-top:.85rem;font-size:.88rem;color:#2a111c!important;}
@media(max-width:850px){.charter-grid-v16{grid-template-columns:1fr}.charter-spec-grid{grid-template-columns:1fr}.creator-charter-v16{border-radius:28px;box-shadow:5px 5px 0 var(--cc-ink)}}
/* Drawer */
.cc-cart-overlay{position:fixed;inset:0;background:rgba(18,7,13,.48);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9998;opacity:0;pointer-events:none;transition:opacity .22s ease;}
.cc-cart-overlay.is-open{opacity:1;pointer-events:auto;}
.cc-cart-drawer{position:fixed;inset:0 0 0 auto;width:min(100%,440px);background:linear-gradient(180deg,#fff,#fff4fa 70%,#f9d2e7);border-left:3px solid var(--cc-ink);box-shadow:-18px 0 54px rgba(18,7,13,.32);z-index:9999;transform:translateX(108%);transition:transform .28s cubic-bezier(.22,.89,.3,1);display:flex;flex-direction:column;color:var(--cc-ink);}
.cc-cart-drawer.is-open{transform:translateX(0)}
.cc-cart-head{padding:1.1rem 1.15rem;border-bottom:2px solid rgba(18,7,13,.14);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.52);}
.cc-cart-title{font-family:var(--font-display, Fredoka, sans-serif);font-size:1.45rem;font-weight:1000;margin:0;color:var(--cc-ink);}.cc-cart-sub{margin:.1rem 0 0;color:#684357;font-weight:800;font-size:.78rem;}
.cc-cart-close{appearance:none;border:2px solid var(--cc-ink);background:#fff;color:var(--cc-ink);border-radius:999px;width:42px;height:42px;font-weight:1000;box-shadow:2px 2px 0 var(--cc-ink);cursor:pointer;}
.cc-cart-items{flex:1;overflow:auto;padding:1rem;display:flex;flex-direction:column;gap:.82rem;}
.cc-cart-empty{text-align:center;margin:auto;color:#684357;font-weight:800;line-height:1.35;padding:2rem 1rem;}
.cc-cart-line{display:grid;grid-template-columns:72px 1fr auto;gap:.8rem;align-items:start;border:2px solid rgba(18,7,13,.12);background:rgba(255,255,255,.78);border-radius:22px;padding:.72rem;box-shadow:3px 3px 0 rgba(18,7,13,.12)}
.cc-cart-line img{width:72px;height:72px;object-fit:cover;border-radius:16px;border:1px solid rgba(18,7,13,.12);background:#fff;}
.cc-cart-line h4{margin:0;color:var(--cc-ink);font-family:var(--font-display, Fredoka, sans-serif);font-size:1rem;line-height:1.05}.cc-cart-line p{margin:.25rem 0 0;color:#56364a;font-size:.78rem;line-height:1.28}.cc-cart-line strong{font-family:var(--font-display, Fredoka, sans-serif);font-size:1rem}.cc-cart-remove{appearance:none;border:0;background:transparent;color:var(--cc-pink);font-weight:1000;padding:.2rem 0;margin-top:.3rem;cursor:pointer;text-decoration:underline;}
.cc-cart-foot{border-top:2px solid rgba(18,7,13,.14);padding:1rem 1.1rem 1.2rem;background:rgba(255,255,255,.72);}
.cc-cart-row{display:flex;justify-content:space-between;gap:1rem;margin:.42rem 0;font-weight:900;color:#2a111c}.cc-cart-row.donation{color:#096b48}.cc-cart-row.total{font-size:1.18rem;border-top:1px dashed rgba(18,7,13,.2);padding-top:.72rem;margin-top:.72rem;color:var(--cc-ink)}
.cc-cart-primary,.cc-cart-ghost{width:100%;min-height:54px;border-radius:17px;font-family:var(--font-display, Fredoka, sans-serif);font-weight:1000;text-transform:uppercase;letter-spacing:.035em;cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;}
.cc-cart-primary{border:3px solid var(--cc-ink);background:linear-gradient(135deg,#12070D,#462636 55%,#E95A96);color:var(--cc-soft);box-shadow:5px 5px 0 var(--cc-ink);margin-top:.8rem}.cc-cart-ghost{border:2px solid var(--cc-ink);background:#fff;color:var(--cc-ink);box-shadow:3px 3px 0 var(--cc-ink);margin-top:.65rem}.cc-cart-note{font-size:.74rem;line-height:1.35;color:#684357;text-align:center;margin:.72rem .2rem 0}
.cc-bag-toast{position:fixed;right:18px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:10000;background:#12070D;color:#FFF4FA;border:2px solid #FFF4FA;border-radius:18px;padding:.75rem 1rem;box-shadow:4px 4px 0 #E95A96;font-weight:1000;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .22s ease,transform .22s ease}.cc-bag-toast.show{opacity:1;transform:translateY(0)}
@media(max-width:520px){.cc-cart-drawer{width:100%;border-left:0}.cc-cart-line{grid-template-columns:64px 1fr;}.cc-cart-line strong{grid-column:2}.cc-bag-toast{left:14px;right:14px;text-align:center}}
@media(prefers-reduced-motion:reduce){.cc-cart-drawer,.cc-cart-overlay,.cc-bag-toast,.bag-status-button,.cc-add-to-bag{transition:none!important;animation:none!important}}
