/* Ported from Shopify sections/zynbe-cart.liquid — keep in sync with parts/cart.php (page-cart.php) */
.zct{ padding-bottom:8px; }
  .zct__head{ display:flex; align-items:center; gap:10px; padding:12px 14px 0; }
  .zct__back{ width:34px; height:34px; border-radius:50%; background:#fff; border:1px solid #F0E3DB; display:grid; place-items:center; font-size:15px; color:#2B1A17; text-decoration:none; flex:none; }
  .zct__title{ margin:0; font-family:Fraunces,'Playfair Display',Georgia,serif; font-weight:700; font-size:19px; color:#2B1A17; }
  .zct__title small{ font-size:12px; font-weight:600; color:#A1938E; font-family:Manrope,sans-serif; margin-left:6px; }
  .zct__clear{ margin-left:auto; font-size:11.5px; font-weight:700; color:#A1938E; background:none; border:none; cursor:pointer; font-family:inherit; }

  .zct__fdp{ margin:12px 14px 0; background:#fff; border:1px solid #F0E3DB; border-radius:14px; padding:12px 14px; }
  .zct__fdpt{ margin:0; font-size:12px; font-weight:700; color:#6D5D59; }
  .zct__fdpt b{ color:var(--zc); }
  .zct__fdpt .okc{ color:#1D7A46; }
  .zct__fdpbar{ height:7px; border-radius:4px; background:#F0DAD3; margin-top:8px; overflow:hidden; }
  .zct__fdpfill{ height:100%; border-radius:4px; background:linear-gradient(90deg,var(--zc),#A8404E); transition:width .35s ease; }
  .zct__fdphint{ display:flex; justify-content:space-between; font-size:9.5px; font-weight:700; color:#A1938E; margin-top:5px; }

  .zct__items{ margin:12px 14px 0; display:flex; flex-direction:column; gap:10px; }
  .zct__it{ position:relative; display:flex; gap:11px; background:#fff; border:1px solid #F0E3DB; border-radius:16px; padding:11px; transition:opacity .2s ease; }
  .zct__it.is-busy{ opacity:.5; pointer-events:none; }
  .zct__img{ width:74px; height:92px; border-radius:11px; background:#F0E3DB; flex:none; overflow:hidden; display:block; }
  .zct__img img{ width:100%; height:100%; object-fit:cover; display:block; }
  .zct__mid{ flex:1; min-width:0; display:flex; flex-direction:column; }
  .zct__name{ font-size:13px; font-weight:700; line-height:1.3; color:#2B1A17; text-decoration:none; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; padding-right:18px; }
  .zct__var{ font-size:11px; color:#A1938E; margin-top:2px; }
  .zct__var b{ color:#6D5D59; }
  .zct__bottom{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; }
  .zct__price{ font-size:15px; font-weight:800; color:var(--zc); }
  .zct__price s{ font-size:10.5px; color:#A1938E; font-weight:600; margin-left:4px; }
  .zct__qty{ display:flex; align-items:center; border:1.5px solid #F0E3DB; border-radius:999px; overflow:hidden; }
  .zct__qty button{ width:30px; height:30px; background:#fff; border:none; font-size:15px; font-weight:700; color:var(--zc); cursor:pointer; font-family:inherit; }
  .zct__qtyn{ min-width:26px; text-align:center; font-size:13px; font-weight:800; color:#2B1A17; }
  .zct__rm{ position:absolute; top:9px; right:11px; background:none; border:none; color:#A1938E; font-size:13px; cursor:pointer; padding:2px; }

  .zct__gift{ margin:12px 14px 0; display:flex; align-items:center; gap:10px; background:#E7F5EC; border:1px dashed #9CD4B0; border-radius:14px; padding:11px 14px; }
  .zct__giftic{ font-size:18px; }
  .zct__gift p{ margin:0; font-size:12px; font-weight:700; color:#1D7A46; }
  .zct__gift p small{ display:block; font-weight:600; color:#4E8B65; font-size:10.5px; margin-top:1px; }

  .zct__addon{ margin-top:16px; }
  .zct__addonhead{ display:flex; justify-content:space-between; align-items:baseline; padding:0 16px 9px; }
  .zct__addonhead h3{ margin:0; font-family:Fraunces,'Playfair Display',Georgia,serif; font-weight:600; font-size:15px; color:#2B1A17; }
  .zct__addonhead span{ font-size:10.5px; font-weight:700; color:#A1938E; }
  .zct__addonrow{ display:flex; gap:9px; overflow-x:auto; padding:0 14px 4px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .zct__addonrow::-webkit-scrollbar{ display:none; }
  .zct__ad{ flex:0 0 118px; background:#fff; border:1px solid #F0E3DB; border-radius:13px; overflow:hidden; }
  .zct__adimg{ display:block; aspect-ratio:1/1; background:#F0E3DB; overflow:hidden; }
  .zct__adimg img{ width:100%; height:100%; object-fit:cover; display:block; }
  .zct__adbody{ padding:7px 8px 9px; }
  .zct__adname{ font-size:10px; font-weight:600; color:#6D5D59; line-height:1.3; height:26px; overflow:hidden; }
  .zct__adfoot{ display:flex; justify-content:space-between; align-items:center; margin-top:3px; }
  .zct__adprice{ font-size:12.5px; font-weight:800; color:var(--zc); }
  .zct__adplus{ width:24px; height:24px; border-radius:50%; background:var(--zc); color:#fff; border:none; font-size:13px; font-weight:800; display:grid; place-items:center; cursor:pointer; }
  .zct__adplus.is-done{ background:#1D7A46; }

  .zct__sum{ margin:16px 14px 0; background:#fff; border:1px solid #F0E3DB; border-radius:16px; padding:14px; }
  .zct__coupon{ display:flex; gap:8px; margin-bottom:6px; }
  .zct__coupon input{ flex:1; min-width:0; background:#FBF6F1; border:1.5px solid #F0E3DB; border-radius:11px; padding:10px 12px; font-size:12.5px; color:#2B1A17; font-family:inherit; outline:none; }
  .zct__coupon input:focus{ border-color:var(--zc); background:#fff; }
  .zct__coupon button{ background:#2B1A17; color:#fff; border:none; border-radius:11px; font-weight:800; font-size:12px; padding:0 16px; cursor:pointer; font-family:inherit; }
  .zct__codemsg{ margin:0 0 8px; font-size:11px; font-weight:700; color:#1D7A46; }
  .zct__srow{ display:flex; justify-content:space-between; font-size:12.5px; color:#6D5D59; padding:4px 0; }
  .zct__srow b{ color:#2B1A17; font-weight:700; }
  .zct__srow b.ok{ color:#1D7A46; }
  .zct__srow.note{ font-size:11px; color:#A1938E; }
  .zct__srow.grand{ border-top:1px dashed #F0E3DB; margin-top:7px; padding-top:11px; font-size:14px; font-weight:800; color:#2B1A17; }
  .zct__srow.grand b{ font-size:19px; color:var(--zc); }
  .zct__srow.grand em{ font-style:normal; font-size:11px; font-weight:700; color:#A1938E; }
  .zct__adv{ margin-top:10px; background:#FCE4EE; border-radius:11px; padding:9px 12px; font-size:11px; line-height:1.5; color:#8A2B50; }
  .zct__chip{ display:inline-block; background:#fff; color:#C2185B; font-weight:800; font-size:9.5px; padding:2px 7px; border-radius:6px; margin-right:4px; }

  .zct__tline{ text-align:center; font-size:10.5px; color:#A1938E; padding:12px 24px 4px; line-height:1.6; }
  .zct__tline b{ color:#6D5D59; }

  .zct__cta{
    position:sticky; bottom:0; z-index:70;
    background:rgba(255,255,255,.97);
    -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
    border-top:1px solid #F0E3DB;
    padding:11px 14px calc(13px + env(safe-area-inset-bottom,0px));
    display:flex; align-items:center; gap:11px; margin-top:10px;
  }
  .zct__amt b{ font-size:18px; font-weight:800; color:var(--zc); }
  .zct__amt span{ display:block; font-size:9px; font-weight:700; color:#A1938E; text-transform:uppercase; letter-spacing:.05em; white-space:nowrap; }
  .zct__btn{ flex:1; height:50px; border:none; border-radius:14px; background:var(--zc); color:#fff; font-family:inherit; font-weight:800; font-size:14.5px; cursor:pointer; box-shadow:0 6px 16px rgba(122,31,43,.32); }
  .zct__btn small{ display:block; font-size:9.5px; font-weight:600; opacity:.85; margin-top:1px; }

  .zct__empty{ text-align:center; padding:70px 30px; }
  .zct__empty span{ font-size:42px; display:block; margin-bottom:12px; }
  .zct__empty p{ margin:0; font-family:Fraunces,'Playfair Display',Georgia,serif; font-size:20px; font-weight:600; color:#2B1A17; }
  .zct__empty small{ display:block; font-size:12.5px; color:#A1938E; margin:6px 0 20px; }
  .zct__emptybtn{ display:inline-block; background:var(--zc); color:#fff; font-weight:800; font-size:13.5px; padding:13px 28px; border-radius:999px; text-decoration:none; }

  @media (min-width:1024px){
    .zct{ max-width:720px; margin:0 auto; padding:16px 0 40px; }
    .zct__cta{ position:static; background:none; border:0; backdrop-filter:none; padding:16px 14px; }
  }

/* ── WordPress additions ── */
a.zct__btn{ text-decoration:none; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.zct__codemsg.is-err{ color:#B42318; }
.zct__img img{ width:74px; height:92px; object-fit:cover; }
.woocommerce-notices-wrapper:empty{ display:none; }
