:root{
  --cream:#f7f1e8;
  --cream2:#fffaf2;
  --ink:#1f1712;
  --muted:#82776b;
  --gold:#d8b86e;
  --gold2:#bf9250;
  --gold3:#9f6d28;
  --line:#eadcc6;
  --dark:#11100f;
  --dark2:#1d1a17;
  --shadow:0 18px 54px rgba(35,24,13,.12);
  --soft-shadow:0 10px 28px rgba(35,24,13,.08);
  font-family:Tahoma,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 50% -20%,#fff7e8 0,#f7f1e8 44%,#eee0cd 100%);color:var(--ink);padding-bottom:96px;min-height:100vh}
button,input,textarea,select{font-family:inherit}button{cursor:pointer}img{max-width:100%;display:block}
.dl-app{width:min(520px,100%);margin:0 auto;padding:0 14px 24px;position:relative}
.dl-header{position:sticky;top:0;z-index:15;margin:0 -14px 12px;padding:13px 14px 16px;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;background:linear-gradient(180deg,rgba(20,16,13,.98),rgba(20,16,13,.91));box-shadow:0 10px 28px rgba(0,0,0,.16);border-radius:0 0 30px 30px;overflow:hidden}
.dl-header:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% -45%,rgba(216,184,110,.34),transparent 48%),linear-gradient(90deg,rgba(255,255,255,.04),transparent,rgba(255,255,255,.04));pointer-events:none}
.round-icon{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid rgba(216,184,110,.38);background:rgba(255,255,255,.06);color:#fff;display:grid;place-items:center;font-size:27px;backdrop-filter:blur(10px)}
.round-icon.bag{font-size:17px}.round-icon b{position:absolute;top:-4px;left:-4px;background:linear-gradient(135deg,#e3c983,#b6843f);color:#fff;border-radius:999px;min-width:20px;height:20px;padding:0 5px;font-size:13px;display:grid;place-items:center;border:2px solid #15110e}.brand{text-align:center;position:relative}.brand .gift{width:36px;height:36px;margin:0 auto 2px;border-radius:50%;background:linear-gradient(135deg,#e7cf8f,#b7823b);display:grid;place-items:center;box-shadow:0 8px 18px rgba(205,162,72,.35);font-size:20px}.brand h1{margin:0;color:#f9ead0;font-family:Georgia,serif;letter-spacing:3px;font-size:20px;line-height:1.1}.brand p{margin:3px 0 0;color:#cbbfae;font-size:12px;letter-spacing:.7px}
.stepper{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:12px 0 12px}.stepper:before{content:"";position:absolute;top:19px;right:38px;left:38px;height:2px;background:linear-gradient(90deg,rgba(184,135,62,.28),rgba(184,135,62,.55),rgba(184,135,62,.28));z-index:0}.step{position:relative;z-index:1;border:0;background:transparent;color:#817565;display:grid;justify-items:center;gap:6px;font-size:11.5px;font-weight:800;padding:0}.step .num{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fff8ed;border:1px solid var(--line);box-shadow:var(--soft-shadow);color:#9f8462;font-weight:900}.step.active .num,.step.done .num{background:linear-gradient(135deg,#e5c876,#b47f36);color:#fff;border-color:#d0aa5a;box-shadow:0 10px 24px rgba(185,134,55,.28)}.step.active span{color:#3a2c21}
.capacity-card{background:linear-gradient(135deg,#fffaf2,#fff 60%,#f6ead9);border:1px solid rgba(232,214,183,.95);border-radius:26px;padding:15px;box-shadow:var(--shadow);margin-bottom:15px;overflow:hidden;position:relative}.capacity-card:after{content:"";position:absolute;inset:-80px -20px auto auto;width:160px;height:160px;background:radial-gradient(circle,rgba(216,184,110,.24),transparent 65%);pointer-events:none}.cap-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;position:relative;z-index:1}.cap-title{display:flex;gap:10px;align-items:center}.cap-icon{width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,#15110e,#2a211a);color:#d8b86e;display:grid;place-items:center;font-size:26px;box-shadow:0 12px 22px rgba(0,0,0,.15)}.cap-title span{display:block;color:#8b7f70;font-size:13px;letter-spacing:.7px}.cap-title strong{display:block;font-size:17px;margin-top:3px}.cap-count{text-align:left;color:#6f6254;font-size:13px;line-height:1.6}.cap-count strong{font-size:22px;color:#251b14}.cap-visual{margin:14px 0 10px}.cap-box{height:34px;background:#171512;border:1px solid rgba(216,184,110,.42);border-radius:13px;padding:5px;display:grid;grid-template-columns:repeat(6,1fr);gap:4px;box-shadow:inset 0 0 18px rgba(0,0,0,.35)}.cap-segment{overflow:hidden;border-radius:8px;background:rgba(255,255,255,.08)}.cap-segment span{display:block;height:100%;background:linear-gradient(90deg,#ffe4a2,#c99b4c,#ffe4a2);border-radius:inherit;position:relative;transition:width .75s cubic-bezier(.22,.61,.36,1)}.cap-segment span:after{content:"";position:absolute;top:0;bottom:0;width:35%;right:-40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent);animation:shine 1.7s linear infinite}@keyframes shine{to{right:115%}}.cap-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#827568;font-size:13px;line-height:1.7}.cap-meta b{white-space:nowrap;color:#7d5a1d;font-size:14px}.builder-hero,.section-title{background:linear-gradient(135deg,#171512,#2b2119);border-radius:28px;padding:22px;box-shadow:var(--shadow);color:#fff;margin-bottom:14px;position:relative;overflow:hidden}.builder-hero:before,.section-title:before{content:"";position:absolute;inset:-60px -20px auto auto;width:170px;height:170px;background:radial-gradient(circle,rgba(222,193,122,.32),transparent 65%)}.mockup-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.hero-label,.section-kicker{font-size:12px;letter-spacing:2.2px;color:#dab870;font-weight:900}.builder-hero h2,.section-title h2{margin:6px 0;font-size:26px}.builder-hero p,.section-title p{margin:0;color:#d7cdc1;font-size:14px;line-height:1.9}.mini-total{min-width:102px;background:rgba(255,255,255,.08);border:1px solid rgba(216,184,110,.26);border-radius:18px;padding:11px;text-align:center;backdrop-filter:blur(10px)}.mini-total span{display:block;color:#d8c9b9;font-size:12px}.mini-total strong{display:block;color:#f5d381;margin-top:5px;font-size:15px}.tabs{display:flex;gap:8px;overflow:auto;padding:2px 1px 10px;margin-bottom:4px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{border:1px solid var(--line);background:rgba(255,255,255,.74);border-radius:999px;padding:10px 15px;color:#75695c;font-weight:900;white-space:nowrap;box-shadow:0 8px 18px rgba(35,24,13,.05);transition:.15s}.tab.active{background:linear-gradient(135deg,#171512,#2a211b);border-color:#241d17;color:#f6d690;box-shadow:0 12px 22px rgba(0,0,0,.12)}.search-box{margin-bottom:12px}.search-box input,.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.94);border-radius:17px;padding:13px 14px;outline:none;color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}.search-box input:focus,.field input:focus,.field textarea:focus{border-color:#d4b16a;box-shadow:0 0 0 4px rgba(216,184,110,.16)}.selected-strip{display:flex;gap:9px;overflow:auto;margin:2px 0 12px;padding-bottom:4px;scrollbar-width:none}.selected-pill{display:flex;align-items:center;gap:7px;border:1px solid rgba(232,214,183,.95);background:rgba(255,255,255,.85);border-radius:999px;padding:6px 9px;white-space:nowrap;font-size:13px;font-weight:800;color:#594c3f}.selected-pill img{width:28px;height:28px;border-radius:50%;object-fit:cover}.selected-pill b{color:#a8752b}.notice{background:#fff7e8;border:1px solid #efd89b;color:#765618;border-radius:18px;padding:12px 13px;font-size:14px;line-height:1.8;margin:0 0 12px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card{border:1px solid rgba(232,214,183,.9);background:rgba(255,255,255,.82);border-radius:24px;padding:7px;box-shadow:0 12px 28px rgba(35,24,13,.08);overflow:hidden;transition:.18s}.product-card.selected{background:linear-gradient(180deg,#181513,#241d17);border-color:#d1aa5c;box-shadow:0 16px 34px rgba(0,0,0,.18)}.product-media{position:relative;border-radius:19px;overflow:hidden;background:#111;aspect-ratio:1/1.02}.product-media img{width:100%;height:100%;object-fit:cover}.product-media:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.52))}.qty-badge{position:absolute;top:9px;left:9px;z-index:2;min-width:29px;height:29px;border-radius:50%;background:linear-gradient(135deg,#e8c678,#ae7b36);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:900}.customizable-badge{position:absolute;right:8px;bottom:8px;z-index:2;background:rgba(18,15,12,.78);color:#f0d184;border:1px solid rgba(216,184,110,.36);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;letter-spacing:.8px}.product-body{padding:10px 4px 4px}.product-title{font-size:15px;font-weight:900;line-height:1.45;color:#332820;min-height:38px}.product-card.selected .product-title{color:#fff}.price{color:#b07c34;font-weight:900;font-size:14px;margin:5px 0}.product-actions{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:7px}.qty-control{height:34px;display:flex;align-items:center;gap:4px;background:#f7eddf;border-radius:999px;padding:3px;border:1px solid #eadcc6}.product-card.selected .qty-control{background:rgba(255,255,255,.1);border-color:rgba(216,184,110,.28)}.qty-control button{width:28px;height:28px;border-radius:50%;border:0;background:#fff;color:#8f6728;font-size:20px;font-weight:900}.qty-control span{min-width:22px;text-align:center;font-weight:900;color:#5a4c3e}.product-card.selected .qty-control span{color:#fff}.add-btn{height:34px;border:0;border-radius:999px;background:#15110e;color:#f6d690;padding:0 12px;font-weight:900}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-option{background:rgba(255,255,255,.88);border:1px solid rgba(232,214,183,.95);border-radius:24px;padding:8px;box-shadow:var(--soft-shadow);transition:.16s}.card-option.selected{background:#171512;border-color:#d7b66a;color:#fff}.card-option img{width:100%;aspect-ratio:1/1.18;object-fit:cover;border-radius:19px;background:#111}.card-option h3{font-size:15px;margin:10px 3px 4px;line-height:1.5}.card-option p{font-size:13px;margin:0 3px 4px;color:#8a7e71;display:flex;justify-content:space-between;gap:6px}.card-option.selected p{color:#e0d2bf}.section-title{background:linear-gradient(135deg,#191612,#2d2118)}.personalize-layout{display:grid;gap:14px}.accordion-card,.preview-card,.review-card,.customer-card{background:rgba(255,250,244,.88);border:1px solid rgba(232,214,183,.92);border-radius:28px;padding:15px;box-shadow:var(--shadow);backdrop-filter:blur(12px)}.personal-block{border-bottom:1px solid rgba(232,214,183,.78);padding:4px 0 16px;margin-bottom:15px}.personal-block:last-child{border-bottom:0;margin-bottom:0;padding-bottom:2px}.personal-block h3{margin:0 0 12px;font-size:17px;display:flex;align-items:center;gap:9px;color:#3a2f25}.personal-block h3 span{width:31px;height:31px;border-radius:12px;background:#191612;color:#e1c179;display:grid;place-items:center;font-size:13px;font-weight:900}.field{display:grid;gap:8px;margin-bottom:12px}.field label{display:flex;align-items:center;justify-content:space-between;color:#5f5346;font-size:14px;font-weight:900}.field small{color:#a69172;font-weight:700}.field textarea{min-height:104px;resize:vertical;line-height:1.8}.symbol-list,.font-list{display:flex;gap:8px;overflow:auto;padding-bottom:4px;scrollbar-width:none}.symbol-list::-webkit-scrollbar,.font-list::-webkit-scrollbar{display:none}.symbol-chip,.font-chip{min-width:72px;border:1px solid var(--line);background:#fff;border-radius:17px;padding:8px 9px;color:#5a4b3e;display:grid;justify-items:center;gap:3px;font-weight:900}.symbol-chip span{font-size:25px;line-height:1}.symbol-chip small{font-size:11px;color:#86796c;max-width:64px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.symbol-chip.active,.font-chip.active{background:linear-gradient(135deg,#191612,#2b2119);border-color:#d1aa5c;color:#f8d98b}.symbol-chip.active small{color:#e0d0b5}.font-chip strong{font-size:24px;color:#b18440}.font-chip.active strong{color:#f8d98b}.font-chip span{font-size:12px}.mini-symbol-img{width:27px;height:27px;border-radius:50%;object-fit:cover}.triple-preview-card{position:sticky;top:118px}.preview-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.preview-head strong{font-size:17px}.preview-head span{color:#a67934;font-size:14px;font-weight:900}.preview-stack{display:grid;gap:12px}.preview-mini{position:relative;min-height:180px;border-radius:24px;overflow:hidden;background:#161310;box-shadow:inset 0 0 0 1px rgba(216,184,110,.2)}.preview-mini img{width:100%;height:100%;min-height:180px;object-fit:cover;opacity:.78}.preview-mini:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,transparent,rgba(0,0,0,.45))}.preview-label{position:absolute;top:10px;right:10px;z-index:2;background:rgba(255,255,255,.12);border:1px solid rgba(216,184,110,.25);color:#f5d894;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;letter-spacing:.8px;backdrop-filter:blur(8px)}.engrave{position:absolute;z-index:3;color:#f0ce79;text-shadow:0 2px 9px rgba(0,0,0,.75);text-align:center;line-height:1.35;direction:ltr}.box-engrave{left:22px;right:22px;top:42%;font-size:27px}.product-engrave{left:16px;right:16px;top:49%;font-size:24px}.card-engrave{left:18px;right:18px;top:35%;font-size:19px;color:#2f241b;background:rgba(255,250,244,.66);border-radius:16px;padding:12px;text-shadow:none;direction:rtl;max-height:92px;overflow:hidden}.review-grid{display:grid;gap:14px}.review-hero{position:relative;height:330px;border-radius:32px;overflow:hidden;background:#111;box-shadow:var(--shadow);border:1px solid rgba(216,184,110,.28);margin-bottom:14px}.review-hero>img{width:100%;height:100%;object-fit:cover;opacity:.84}.review-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.72))}.review-hero .box-text{position:absolute;z-index:2;top:26%;left:20px;right:20px;text-align:center;color:#f0ce79;font-family:Georgia,serif;font-size:27px;line-height:1.35;text-shadow:0 3px 10px rgba(0,0,0,.9)}.review-products{position:absolute;left:14px;right:14px;bottom:14px;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.review-product-chip{position:relative;background:rgba(255,255,255,.11);border:1px solid rgba(226,199,130,.2);border-radius:14px;padding:5px;backdrop-filter:blur(8px)}.review-product-chip img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px}.review-product-chip span{position:absolute;top:4px;left:4px;background:#d2a85b;color:#fff;border-radius:999px;font-size:12px;font-weight:900;padding:2px 6px}.review-card h3,.customer-card h3{margin:0 0 12px;font-size:17px;color:#4d4136;display:flex;align-items:center;justify-content:space-between}.edit-link{border:0;background:transparent;color:#a1702a;font-size:14px;font-weight:900;padding:0}.summary-list{display:grid;gap:10px}.summary-item{display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(234,223,205,.78);padding-bottom:10px}.summary-item:last-child{border-bottom:0}.summary-item img{width:50px;height:50px;border-radius:15px;object-fit:cover;background:#111}.summary-item .name{font-size:15px;font-weight:900;line-height:1.45}.summary-item .sub{font-size:13px;color:var(--muted);margin-top:3px;line-height:1.7}.summary-item .amount{margin-right:auto;font-size:14px;font-weight:900;white-space:nowrap;color:#3b3027}.totals{margin-top:14px;border-top:1px solid rgba(234,223,205,.95);padding-top:12px;display:grid;gap:8px}.totals div{display:flex;justify-content:space-between;align-items:center}.totals span{color:#5f554b}.totals strong{color:#342a22}.totals .grand{font-size:20px;font-weight:900;color:#8a661e;background:#fff7e8;border-radius:16px;padding:11px 12px}.empty{padding:24px;text-align:center;color:var(--muted);grid-column:1/-1;background:rgba(255,255,255,.74);border:1px dashed var(--line);border-radius:19px}.bottom-bar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(520px,100%);background:linear-gradient(180deg,rgba(247,241,232,0),rgba(247,241,232,.96) 32%,rgba(247,241,232,1));padding:15px 14px 18px;z-index:20;display:grid;grid-template-columns:1fr 1.45fr;gap:10px;align-items:center}.bottom-summary{min-height:58px;border:1px solid rgba(234,223,205,.88);background:rgba(255,255,255,.84);border-radius:20px;padding:8px 10px;box-shadow:0 12px 28px rgba(33,25,17,.08);display:grid;align-content:center}.bottom-summary span{font-size:12px;color:var(--muted)}.bottom-summary strong{font-size:15px;color:#3b3027;margin-top:3px;display:block}.continue-btn{width:100%;height:58px;border:0;border-radius:20px;background:linear-gradient(135deg,#e4c77d,#bd8e45 56%,#a8752c);color:#fff;font-size:16px;font-weight:900;letter-spacing:.3px;box-shadow:0 16px 34px rgba(183,137,56,.34);display:flex;align-items:center;justify-content:center;gap:10px;transition:.2s}.continue-btn:before{content:"🎁";font-size:20px}.continue-btn:after{content:"←";font-size:21px;line-height:1}.continue-btn:disabled{background:#d8d0c6;color:#8a8178;box-shadow:none;cursor:not-allowed}.loading{opacity:.66;pointer-events:none}.shake{animation:shake .35s ease}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(4px)}75%{transform:translateX(-4px)}}.thankyou{display:grid;place-items:center;min-height:100vh;padding:24px}.thank-card{width:min(480px,100%);background:rgba(255,253,249,.95);border:1px solid rgba(234,223,205,.92);border-radius:30px;padding:30px;text-align:center;box-shadow:var(--shadow)}.thank-card .icon{font-size:58px;color:var(--gold);width:86px;height:86px;border-radius:50%;margin:0 auto 10px;background:#fff7e8;display:grid;place-items:center}.thank-card h1{margin:10px 0}.thank-card p{color:var(--muted);line-height:1.8}.thank-card code{background:#f7efe0;border-radius:12px;padding:7px 12px;color:#7c5b18;font-weight:900}.thank-card .continue-btn{text-decoration:none;margin-top:16px}.thank-card .continue-btn:after{content:""}
@media(max-width:380px){.dl-app{padding-left:10px;padding-right:10px}.grid{gap:9px}.brand h1{font-size:18px;letter-spacing:2px}.step{font-size:10.8px}.step .num{width:36px;height:36px}.bottom-bar{grid-template-columns:1fr}.bottom-summary{display:none}.mockup-hero{display:block}.mini-total{margin-top:12px}}
@media(min-width:680px){.dl-app{max-width:980px}.grid.product-grid{grid-template-columns:repeat(4,1fr)}.card-grid{grid-template-columns:repeat(3,1fr)}.personalize-layout{grid-template-columns:minmax(0,1fr) 390px;align-items:start}.bottom-bar{max-width:980px;grid-template-columns:300px 1fr}.review-grid{grid-template-columns:minmax(0,1fr) 410px;align-items:start}.customer-card{position:sticky;top:96px}.stepper:before{right:70px;left:70px}.dl-header{border-radius:0 0 24px 24px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ===== v1.4 real mockup UI override - cache bust + stronger mobile design ===== */
body.dl-premium-mobile{transition:background .25s ease,color .25s ease;}
body.step-1{background:#090a09;color:#f4ead8;}
body.step-1:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 50% -10%,rgba(210,170,88,.18),transparent 38%),radial-gradient(circle at 50% 35%,rgba(255,255,255,.045),transparent 45%),#0b0c0b;pointer-events:none;}
body.step-1 .dl-app{padding-top:6px;}
body.step-1 .dl-header{background:transparent;box-shadow:none;border-radius:0;padding-top:12px;margin-bottom:6px;}
body.step-1 .dl-header:before{display:none;}
body.step-1 .brand .gift{display:none;}
body.step-1 .brand h1{font-size:32px;letter-spacing:3.8px;color:#f1d69b;text-shadow:0 0 18px rgba(217,178,105,.18);}
body.step-1 .brand h1:after{content:"—  GIFT  —";display:block;font:700 12px/1.2 Arial,sans-serif;letter-spacing:6px;color:#e8d2a3;margin-top:4px;}
body.step-1 .brand p{display:none;}
body.step-1 .round-icon{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1);color:#f7ead1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 9px 20px rgba(0,0,0,.25);}
body.step-1 .round-icon b{background:linear-gradient(135deg,#f4d18b,#b78239);border-color:#0b0c0b;color:#111;}
body.step-1 .stepper{margin-top:12px;margin-bottom:20px;}
body.step-1 .stepper:before{background:rgba(255,255,255,.2);top:18px;}
body.step-1 .step .num{background:#181818;border-color:#2a2a2a;color:#ddd;box-shadow:0 8px 20px rgba(0,0,0,.35);}
body.step-1 .step span{color:#8a8580;text-transform:uppercase;letter-spacing:1.9px;font-size:11px;}
body.step-1 .step.active .num,body.step-1 .step.done .num{background:linear-gradient(135deg,#ffe6a6,#bc8640);color:#111;border-color:#e8c477;}
body.step-1 .step.active span{color:#e8ca8e;}
body.step-1 .capacity-card{background:rgba(18,18,18,.72);border-color:rgba(255,255,255,.09);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 16px 40px rgba(0,0,0,.3);border-radius:16px;padding:14px 16px;}
body.step-1 .capacity-card:after{display:none;}
body.step-1 .cap-title span{color:#fff;letter-spacing:.2px;text-transform:none;font-size:16px;}
body.step-1 .cap-title strong,body.step-1 .cap-count strong{color:#f1d49b;}
body.step-1 .cap-icon{display:none;}
body.step-1 .cap-count{color:#ddd;font-size:15px;}
body.step-1 .cap-box{height:22px;border-radius:8px;background:#202020;border-color:#272727;padding:3px;}
body.step-1 .cap-segment{border-radius:3px;background:#2b2b2b;}
body.step-1 .cap-segment span{background:linear-gradient(90deg,#fed98d,#d5a04e,#fed98d);border-radius:2px;}
body.step-1 .cap-meta{color:#8d8a85;font-size:12px;}
body.step-1 .cap-meta b{color:#f1cf89;}
body.step-1 .builder-hero{display:none;}
body.step-1 .tabs{margin:4px 0 10px;padding-bottom:8px;gap:18px;}
body.step-1 .tab{background:transparent;border:0;box-shadow:none;color:#9a9691;text-transform:uppercase;letter-spacing:2px;font-size:12px;border-radius:999px;padding:9px 2px;}
body.step-1 .tab.active{background:transparent;color:#f4d696;border:1px solid #d4ad68;padding:9px 22px;box-shadow:none;}
body.step-1 .search-box input{background:#111;border-color:#222;color:#fff;box-shadow:none;}
body.step-1 .selected-pill{background:#151515;border-color:#292929;color:#eee;}
body.step-1 .notice{background:rgba(218,183,108,.1);border-color:rgba(218,183,108,.35);color:#e7c988;}
body.step-1 .product-grid{gap:12px;}
body.step-1 .product-card{background:linear-gradient(180deg,#181818,#111);border:1px solid #2a2a2a;border-radius:9px;padding:0;box-shadow:none;}
body.step-1 .product-card.selected{border-color:#d3a95d;background:linear-gradient(180deg,#1f1d1a,#111);box-shadow:0 0 0 1px rgba(211,169,93,.22),0 12px 28px rgba(0,0,0,.34);}
body.step-1 .product-media{border-radius:9px 9px 0 0;aspect-ratio:1/1.12;background:radial-gradient(circle at 50% 35%,#242424,#0c0c0c 68%);}
body.step-1 .product-media img{object-fit:contain;padding:10px;filter:drop-shadow(0 12px 20px rgba(0,0,0,.5));}
body.step-1 .product-media:after{height:34%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.42));}
body.step-1 .customizable-badge{display:none;}
body.step-1 .qty-badge{background:#d3a45a;color:#111;border:1px solid rgba(255,255,255,.15);}
body.step-1 .product-body{padding:9px 11px 8px;}
body.step-1 .product-title{color:#fff;font-weight:500;font-size:14px;min-height:32px;}
body.step-1 .price{color:#d7d2ca;font-weight:500;margin:2px 0 8px;}
body.step-1 .product-actions{border-top:1px solid rgba(255,255,255,.05);padding-top:7px;display:grid;grid-template-columns:1fr 1fr;gap:8px;}
body.step-1 .customize-link{height:28px;border:0;background:transparent;color:#d3ae6e;font-size:13px;text-align:right;padding:0;}
body.step-1 .add-btn,body.step-1 .qty-control{height:29px;border:1px solid #272727;background:#1d1d1d;color:#e8ca88;border-radius:999px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
body.step-1 .add-btn{padding:0 12px;font-size:14px;font-weight:500;}
body.step-1 .qty-control{padding:2px;justify-content:space-between;}
body.step-1 .qty-control button{background:#282828;color:#e7c783;width:23px;height:23px;font-size:16px;}
body.step-1 .qty-control span{color:#fff;min-width:20px;font-size:14px;}
body.step-1 .bottom-bar{background:linear-gradient(180deg,rgba(9,10,9,0),#090a09 30%,#090a09);grid-template-columns:0 1fr;gap:0;padding:12px 14px 18px;}
body.step-1 .bottom-summary{display:none;}
body.step-1 .continue-btn{height:58px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#111;color:#f4d38e;letter-spacing:2.4px;font-size:14px;text-transform:uppercase;box-shadow:none;}
body.step-1 .continue-btn:before{content:"🎁";}
body.step-1 .continue-btn:after{display:none;}

body.step-2,body.step-3,body.step-4{background:#fbfaf6;color:#241f1a;}
body.step-2 .dl-header,body.step-3 .dl-header,body.step-4 .dl-header{background:transparent;box-shadow:none;border-radius:0;margin-bottom:8px;padding-top:18px;}
body.step-2 .dl-header:before,body.step-3 .dl-header:before,body.step-4 .dl-header:before{display:none;}
body.step-2 .brand .gift,body.step-3 .brand .gift,body.step-4 .brand .gift{width:26px;height:26px;background:transparent;box-shadow:none;color:#ba9149;font-size:22px;margin-bottom:1px;}
body.step-2 .brand h1,body.step-3 .brand h1,body.step-4 .brand h1{color:#58483b;font-size:23px;letter-spacing:2.3px;}
body.step-2 .brand p,body.step-3 .brand p,body.step-4 .brand p{text-transform:uppercase;color:#c09a50;font-size:10px;letter-spacing:1px;}
body.step-2 .round-icon,body.step-3 .round-icon,body.step-4 .round-icon{background:transparent;border:0;color:#5d5349;box-shadow:none;font-size:31px;}
body.step-2 .round-icon b,body.step-3 .round-icon b,body.step-4 .round-icon b{background:#c39a53;color:#fff;border-color:#fbfaf6;}
body.step-2 .stepper:before,body.step-3 .stepper:before,body.step-4 .stepper:before{background:#e7e2d9;top:20px;}
body.step-2 .step .num,body.step-3 .step .num,body.step-4 .step .num{background:#fbfaf6;border:1px solid #e4ded3;color:#b99b62;width:42px;height:42px;box-shadow:none;}
body.step-2 .step.active .num,body.step-2 .step.done .num,body.step-3 .step.active .num,body.step-3 .step.done .num,body.step-4 .step.active .num,body.step-4 .step.done .num{background:#c29a53;color:#fff;border-color:#c29a53;}
body.step-2 .step span,body.step-3 .step span,body.step-4 .step span{font-size:13px;font-weight:500;color:#918a80;}
body.step-2 .step.active span,body.step-3 .step.active span,body.step-4 .step.active span{color:#221e19;font-weight:800;}
body.step-2 .capacity-card,body.step-3 .capacity-card,body.step-4 .capacity-card{background:#fff;border:0;border-radius:13px;box-shadow:0 12px 32px rgba(41,31,22,.08);padding:14px 16px;}
body.step-2 .cap-icon,body.step-3 .cap-icon,body.step-4 .cap-icon{background:#fff9ef;color:#c29a53;border:1px solid #eadfce;box-shadow:none;}
body.step-2 .cap-title span,body.step-3 .cap-title span,body.step-4 .cap-title span{text-transform:uppercase;color:#8e8479;font-weight:800;}
body.step-2 .cap-box,body.step-3 .cap-box,body.step-4 .cap-box{background:transparent;border:0;padding:0;box-shadow:none;height:30px;gap:8px;}
body.step-2 .cap-segment,body.step-3 .cap-segment,body.step-4 .cap-segment{background:#f7f4ef;border:1px dashed #ddd4c8;border-radius:7px;position:relative;}
body.step-2 .cap-segment span,body.step-3 .cap-segment span,body.step-4 .cap-segment span{background:linear-gradient(135deg,#1a1816,#3c352f);border-radius:6px;}
body.step-2 .cap-segment span:before,body.step-3 .cap-segment span:before,body.step-4 .cap-segment span:before{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#d7b56a;font-size:16px;}
body.step-2 .cap-meta,body.step-3 .cap-meta,body.step-4 .cap-meta{display:none;}
body.step-2 .section-title,body.step-3 .section-title,body.step-4 .section-title{background:transparent;color:#4e463e;box-shadow:none;padding:18px 2px 8px;border-radius:0;margin-bottom:10px;}
body.step-2 .section-title:before,body.step-3 .section-title:before,body.step-4 .section-title:before{display:none;}
body.step-2 .section-kicker,body.step-3 .section-kicker,body.step-4 .section-kicker{color:#c19a55;font-size:19px;letter-spacing:.4px;}
body.step-2 .section-title h2,body.step-3 .section-title h2,body.step-4 .section-title h2{font-size:24px;font-weight:500;margin-top:4px;}
body.step-2 .section-title p,body.step-3 .section-title p,body.step-4 .section-title p{color:#92887e;font-size:15px;}
body.step-2 .tab{background:#fff;border-color:#eee4d5;box-shadow:none;}
body.step-2 .tab.active{background:#c29a53;color:#fff;border-color:#c29a53;}
body.step-3 .personalize-layout{gap:12px;}
body.step-3 .accordion-card,body.step-3 .preview-card,body.step-4 .review-card,body.step-4 .customer-card{background:#fff;border:0;border-radius:10px;box-shadow:0 12px 30px rgba(41,31,22,.08);}
body.step-3 .personal-block{border-bottom:8px solid #f7f4ef;margin:0 -8px 13px;padding:12px 8px 15px;}
body.step-3 .personal-block h3{text-transform:uppercase;font-size:14px;letter-spacing:.4px;}
body.step-3 .personal-block h3 span{background:transparent;color:#c29a53;width:auto;height:auto;font-size:14px;}
body.step-3 .field input,body.step-3 .field textarea{border-color:#e6dfd5;border-radius:7px;background:#fbfaf8;box-shadow:none;}
body.step-3 .font-list{display:grid;grid-template-columns:repeat(4,1fr);overflow:visible;gap:8px;}
body.step-3 .font-chip{min-width:0;border-radius:8px;padding:10px 4px;background:#fff;}
body.step-3 .font-chip.active,body.step-3 .symbol-chip.active{background:#fff;border-color:#c29a53;color:#c29a53;box-shadow:0 0 0 1px rgba(194,154,83,.12);}
body.step-3 .symbol-list{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible;gap:8px;}
body.step-3 .symbol-chip{min-width:0;height:58px;border-radius:8px;background:#fff;}
body.step-3 .symbol-chip span{font-size:26px;}
body.step-3 .triple-preview-card{background:#eee8dd;padding:0;border-radius:10px;overflow:hidden;position:relative;top:auto;}
body.step-3 .preview-head{position:absolute;z-index:5;top:0;right:0;background:#fff;border-radius:0 0 10px 0;padding:10px 16px;color:#8d713f;margin:0;gap:10px;}
body.step-3 .preview-stack{display:block;}
body.step-3 .preview-mini{display:none;min-height:500px;border-radius:0;background:#f1ede6;box-shadow:none;}
body.step-3 .preview-mini.product-preview{display:block;}
body.step-3 .preview-mini img{min-height:500px;opacity:1;object-fit:contain;padding:42px 16px 30px;background:linear-gradient(135deg,#f7f2e9,#dfd6ca);}
body.step-3 .preview-mini:after{background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.18));}
body.step-3 .preview-label{display:none;}
body.step-3 .product-engrave{top:48%;font-size:30px;color:#c29a53;text-shadow:0 3px 9px rgba(0,0,0,.18);}
body.step-3 .bottom-bar,body.step-2 .bottom-bar,body.step-4 .bottom-bar{background:linear-gradient(180deg,rgba(251,250,246,0),rgba(251,250,246,.95) 32%,#fbfaf6);}
body.step-3 .continue-btn,body.step-2 .continue-btn,body.step-4 .continue-btn{border-radius:9px;background:#c29a53;height:58px;letter-spacing:1px;text-transform:uppercase;box-shadow:0 12px 26px rgba(194,154,83,.25);}
body.step-3 .continue-btn:before,body.step-2 .continue-btn:before,body.step-4 .continue-btn:before{content:"";}
body.step-3 .continue-btn:after,body.step-2 .continue-btn:after{content:"→";}
body.step-4 .review-hero{background:#111;border-radius:0;height:360px;box-shadow:none;border:0;margin:0 -14px 14px;}
body.step-4 .review-card{border-radius:12px;background:#fff;}
body.step-4 .summary-item img{width:42px;height:42px;border-radius:7px;}
body.step-4 .totals .grand{background:transparent;color:#c29a53;border-top:1px solid #eee4d7;border-radius:0;font-size:21px;}

@media(min-width:460px) and (max-width:679px){
  body.step-3 .personalize-layout{grid-template-columns:1fr 1.22fr;align-items:start;}
  body.step-3 .accordion-card{padding:12px;}
  body.step-3 .preview-mini,body.step-3 .preview-mini img{min-height:640px;}
}
@media(max-width:380px){
  body.step-1 .brand h1{font-size:26px;letter-spacing:3px;}
  body.step-1 .tabs{gap:12px;}
  body.step-1 .tab{font-size:11px;letter-spacing:1.5px;}
  body.step-1 .product-body{padding:8px;}
  body.step-1 .customize-link,body.step-1 .add-btn{font-size:12px;}
  body.step-3 .font-list{grid-template-columns:repeat(2,1fr);}
}



body.dl-premium-mobile{
  --phone-w:430px;
  background:#ece5da!important;
  padding-bottom:108px!important;
  min-height:100vh;
}
body.dl-premium-mobile:before{
  content:"";
  position:fixed; inset:0; pointer-events:none;
  background:radial-gradient(circle at 50% -8%,rgba(255,255,255,.96),rgba(244,238,227,.92) 42%,rgba(221,211,194,.9));
  z-index:-2;
}
body.step-1:before{
  background:radial-gradient(circle at 50% -12%,#22201e 0,#11100f 43%,#050505 100%);
}
.dl-app{
  width:min(var(--phone-w),100%)!important;
  max-width:var(--phone-w)!important;
  margin:0 auto!important;
  min-height:100vh;
  padding:0 14px 24px!important;
  overflow:hidden;
}
@media(min-width:760px){
  .dl-app{
    margin:18px auto 18px!important;
    border-radius:38px;
    box-shadow:0 30px 100px rgba(26,18,9,.22),0 0 0 10px rgba(255,255,255,.34);
    background:rgba(255,250,244,.62);
  }
  body.step-1 .dl-app{background:rgba(17,16,15,.72);box-shadow:0 30px 100px rgba(0,0,0,.5),0 0 0 10px rgba(255,255,255,.04)}
}
.dl-header{
  position:relative!important;
  top:auto!important;
  margin:0 -14px 13px!important;
  min-height:116px;
  border-radius:0 0 32px 32px!important;
  grid-template-columns:44px 1fr 44px!important;
  background:rgba(255,250,244,.88)!important;
  color:var(--ink)!important;
  box-shadow:none!important;
}
body.step-1 .dl-header{background:#11100f!important;color:#fff!important;box-shadow:0 16px 50px rgba(0,0,0,.35)!important}
.dl-header:before{background:radial-gradient(circle at 50% -25%,rgba(211,174,96,.28),transparent 55%)!important}
.round-icon{width:40px!important;height:40px!important;background:rgba(255,255,255,.72)!important;color:#493a28!important;border:1px solid rgba(194,159,88,.36)!important;box-shadow:0 8px 24px rgba(31,25,18,.08)!important}
body.step-1 .round-icon{background:rgba(255,255,255,.07)!important;color:#fff!important;box-shadow:none!important}
.brand .gift{width:29px!important;height:29px!important;background:transparent!important;color:#c7a35a!important;box-shadow:none!important;font-size:22px!important}
.brand h1{color:#33261a!important;font-size:22px!important;letter-spacing:3px!important}
.brand p{text-transform:uppercase;color:#a18246!important;font-size:10.5px!important;letter-spacing:1px!important}
body.step-1 .brand h1{color:#f4d899!important}
body.step-1 .brand p{color:#d8c6a5!important}
.stepper{margin:8px 0 12px!important;gap:0!important;padding:0 2px!important}
.stepper:before{top:18px!important;right:34px!important;left:34px!important;background:#e8dfd2!important}
body.step-1 .stepper:before{background:rgba(218,188,120,.32)!important}
.step .num{width:36px!important;height:36px!important;background:rgba(255,255,255,.92)!important;border-color:#e4d8c7!important;color:#94784c!important;box-shadow:none!important}
.step.active .num,.step.done .num{background:linear-gradient(135deg,#ddc27b,#b7863d)!important;color:#fff!important;border-color:#c59a4e!important}
.step span{font-size:12px!important;font-weight:600!important;color:#8d8376!important;line-height:1.2!important}
.step.active span{color:#231b14!important;font-weight:900!important}
body.step-1 .step span{color:#bfb5a7!important}body.step-1 .step.active span{color:#f3d794!important}
body.step-1 .step.active span{color:#f3d794!important}
.capacity-card{
  border-radius:18px!important;
  padding:13px 14px!important;
  margin-bottom:14px!important;
  background:rgba(255,255,255,.9)!important;
  box-shadow:0 16px 48px rgba(45,32,15,.10)!important;
  border:1px solid rgba(235,222,202,.88)!important;
}
body.step-1 .capacity-card{background:#161514!important;border-color:rgba(255,255,255,.1)!important;color:#fff!important;box-shadow:0 18px 42px rgba(0,0,0,.35)!important}
body.step-1 .cap-title strong, body.step-1 .cap-count strong{color:#fff!important}
body.step-1 .cap-title span, body.step-1 .cap-count, body.step-1 .cap-meta{color:#d7c8ad!important}
.cap-icon{width:36px!important;height:36px!important;border-radius:12px!important;background:#f6ecd9!important;color:#b98c43!important;box-shadow:none!important}
body.step-1 .cap-icon{background:#24211c!important;color:#e4c274!important}
.cap-box{height:28px!important;border-radius:9px!important;background:#eee7de!important;border-color:#e6dccd!important;box-shadow:none!important}
body.step-1 .cap-box{background:#222!important;border-color:#333!important}
.cap-segment{border-radius:4px!important;background:rgba(0,0,0,.08)!important}.cap-segment span{border-radius:4px!important}
.builder-hero,.section-title{
  border-radius:22px!important;
  padding:18px 18px!important;
  margin-bottom:13px!important;
  background:#fff!important;
  color:#241b14!important;
  border:1px solid rgba(235,222,202,.88)!important;
  box-shadow:0 14px 38px rgba(30,20,8,.08)!important;
}
body.step-1 .builder-hero{background:#141312!important;color:#fff!important;border-color:rgba(255,255,255,.08)!important;box-shadow:none!important}
.builder-hero h2,.section-title h2{font-size:23px!important;margin:5px 0!important}.builder-hero p,.section-title p{font-size:13px!important;color:#857a6c!important}.section-kicker,.hero-label{font-size:11px!important;letter-spacing:1.6px!important;color:#b68a3f!important}
body.step-1 .builder-hero p{color:#cfc1aa!important}
.mini-total{background:#f7eedf!important;border-color:#ecd9b7!important;color:#6c5531!important;border-radius:16px!important}body.step-1 .mini-total{background:rgba(255,255,255,.07)!important}
.tabs{overflow:auto!important;display:flex!important;gap:8px!important;padding:2px 0 6px!important;margin-bottom:9px!important;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}
.tab{white-space:nowrap!important;border-radius:999px!important;padding:9px 15px!important;background:transparent!important;border:1px solid transparent!important;color:#7e7368!important;font-size:12px!important;letter-spacing:1px!important;text-transform:uppercase!important;min-width:auto!important}
.tab.active{background:#fff8e9!important;border-color:#c39a4b!important;color:#91641d!important;box-shadow:0 8px 20px rgba(172,127,51,.14)!important}
body.step-1 .tab{color:#bfb4a3!important}body.step-1 .tab.active{background:rgba(255,255,255,.05)!important;color:#f3d794!important;border-color:#c79b51!important;box-shadow:none!important}
.search-box input{height:44px!important;border-radius:15px!important;background:rgba(255,255,255,.9)!important}
body.step-1 .search-box input{background:#191817!important;border-color:#302d29!important;color:#fff!important}
.grid.product-grid,.grid.card-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.product-card{
  background:#181716!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:13px!important;
  overflow:hidden!important;
  min-height:auto!important;
  box-shadow:none!important;
}
.product-card.selected{border-color:#d2a756!important;box-shadow:0 0 0 1px rgba(210,167,86,.25)!important}
.product-media{height:142px!important;background:linear-gradient(180deg,#20201f,#111)!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:12px!important;border-radius:0!important}
.product-media img{height:118px!important;width:100%!important;object-fit:contain!important;filter:drop-shadow(0 18px 18px rgba(0,0,0,.45))!important}
.qty-badge{top:9px!important;left:9px!important;background:#caa358!important;color:#fff!important}
.customizable-badge{right:8px!important;top:8px!important;background:rgba(0,0,0,.45)!important;color:#e4c274!important;border:1px solid rgba(228,194,116,.4)!important;font-size:10px!important}
.product-body{padding:9px 10px 10px!important;color:#fff!important;background:linear-gradient(180deg,#181716,#121110)!important}.product-title{font-size:14px!important;line-height:1.45!important;color:#fff!important;min-height:34px!important}.price{font-size:13px!important;color:#c9b58f!important;margin-top:2px!important}.product-actions{margin-top:8px!important;display:grid!important;grid-template-columns:1fr auto!important;gap:6px!important;align-items:center!important}.customize-link,.add-btn,.qty-control{height:28px!important;border-radius:999px!important;font-size:12px!important}.customize-link{background:transparent!important;color:#d7bd82!important;border:0!important;text-align:right!important;padding:0!important}.add-btn{background:#22201e!important;border:1px solid #35312b!important;color:#f0d38e!important;padding:0 12px!important}.qty-control{background:#22201e!important;border:1px solid #35312b!important;color:#fff!important}.qty-control button{color:#f0d38e!important}
.card-option{background:#fff!important;border-radius:18px!important;box-shadow:0 10px 28px rgba(28,19,7,.08)!important;border-color:#eadcc6!important}.card-option img{height:150px!important;object-fit:cover!important}.card-option.selected{border-color:#c79a4d!important;box-shadow:0 0 0 2px rgba(199,154,77,.22)!important}
.personalize-layout,.review-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.premium-personalize{direction:rtl!important}.personalize-form-card,.preview-card,.review-card,.customer-card{border-radius:20px!important;box-shadow:0 14px 38px rgba(30,20,8,.08)!important;border:1px solid rgba(235,222,202,.88)!important;background:#fff!important}.personal-block{padding:14px!important;border-bottom:1px solid #f0e6d7!important}.personal-block h3{font-size:15px!important;margin:0 0 11px!important;color:#3a2a1d!important}.personal-block h3 span{background:#f5ead6!important;color:#a67829!important;border-radius:999px!important;padding:2px 7px!important;margin-left:6px!important}.field label{font-size:13px!important;color:#6f6254!important}.field input,.field textarea{border-radius:13px!important;border-color:#eadcc6!important;background:#fffdf9!important}.symbol-list,.font-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.symbol-chip,.font-chip{min-height:58px!important;border-radius:12px!important;background:#fffdf9!important;border:1px solid #eadcc6!important;color:#594a39!important;display:grid!important;place-items:center!important;gap:3px!important}.symbol-chip.active,.font-chip.active{background:#fff7e4!important;border-color:#c69945!important;box-shadow:0 8px 18px rgba(183,137,61,.12)!important}.font-chip strong{font-size:24px!important;color:#2b2927!important}.font-chip.active strong{color:#b27b2e!important}.preview-stack{display:grid!important;gap:10px!important}.preview-mini{border-radius:18px!important;min-height:230px!important;background:linear-gradient(180deg,#fdf8ef,#eee3d4)!important;border:1px solid #eadcc6!important;overflow:hidden!important;position:relative!important}.preview-mini img{width:100%!important;height:210px!important;object-fit:contain!important;padding:22px!important}.preview-label{position:absolute!important;top:10px!important;right:10px!important;background:rgba(255,255,255,.82)!important;border-radius:999px!important;padding:6px 10px!important;font-size:12px!important;color:#8b6627!important;z-index:2!important}.engrave{position:absolute!important;left:14%!important;right:14%!important;text-align:center!important;color:#c49a50!important;text-shadow:0 1px 0 rgba(255,255,255,.25)!important;font-size:20px!important;line-height:1.35!important;z-index:3!important}.box-engrave{top:45%!important}.product-engrave{top:57%!important}.card-engrave{top:46%!important;color:#6d5739!important;font-size:15px!important}.review-hero{border-radius:22px!important;background:linear-gradient(180deg,#111,#2a2825)!important;min-height:330px!important;box-shadow:0 18px 48px rgba(0,0,0,.20)!important}.review-hero img{height:290px!important;object-fit:contain!important}.review-products{display:flex!important;gap:6px!important;justify-content:center!important;bottom:12px!important}.review-product-chip{width:42px!important;height:42px!important;border-radius:12px!important;background:#fff!important;box-shadow:0 8px 20px rgba(0,0,0,.12)!important}.review-product-chip img{height:100%!important;object-fit:contain!important}.box-text{top:44px!important;color:#d8b86e!important;font-size:22px!important}.summary-item{grid-template-columns:44px 1fr auto!important;border-radius:14px!important}.summary-item img{width:40px!important;height:40px!important;border-radius:10px!important}.bottom-bar{position:fixed!important;right:50%!important;left:auto!important;bottom:0!important;transform:translateX(50%)!important;width:min(var(--phone-w),100%)!important;max-width:var(--phone-w)!important;border-radius:24px 24px 0 0!important;background:rgba(255,250,244,.92)!important;box-shadow:0 -16px 48px rgba(32,22,8,.16)!important;border:1px solid rgba(234,220,198,.85)!important;padding:10px 14px 12px!important;display:grid!important;grid-template-columns:1fr!important;gap:7px!important;z-index:99!important;backdrop-filter:blur(14px)!important}.continue-btn{height:54px!important;border-radius:15px!important;background:linear-gradient(135deg,#d0a957,#b98639)!important;color:#fff!important;font-size:15px!important;letter-spacing:1.4px!important;box-shadow:0 12px 25px rgba(178,126,43,.26)!important}.continue-btn:disabled{background:#d9d1c5!important;color:#8f877c!important;box-shadow:none!important}.bottom-summary{font-size:13px!important;color:#7b6d5f!important;display:flex!important;justify-content:space-between!important}.bottom-summary strong{color:#8c621f!important}.notice{border-radius:14px!important;background:#fff8e8!important;border:1px solid #ead3a7!important;color:#8c621f!important;font-size:13px!important}.selected-strip{display:flex!important;gap:8px!important;overflow:auto!important;padding:5px 0 10px!important}.selected-pill{min-width:130px!important;border-radius:999px!important;background:rgba(255,255,255,.95)!important;border:1px solid #eadcc6!important;padding:5px 8px!important;display:flex!important;align-items:center!important;gap:6px!important;color:#4d3d2a!important}.selected-pill img{width:28px!important;height:28px!important;border-radius:50%!important;object-fit:cover!important}.selected-pill span{font-size:12px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-pill b{font-size:12px!important;color:#9b6a23!important}


.theme-switch-wrap{display:flex;justify-content:center;margin:-4px 0 10px;position:relative;z-index:3}
.theme-toggle{border:1px solid rgba(198,157,77,.38);background:rgba(255,255,255,.78);color:#6b5634;border-radius:999px;height:34px;padding:0 12px;display:inline-flex;align-items:center;gap:8px;font-weight:900;font-size:13px;box-shadow:0 10px 26px rgba(30,20,8,.08);backdrop-filter:blur(12px)}
.theme-dot{width:15px;height:15px;border-radius:50%;background:linear-gradient(135deg,#fff7e4,#c99a45);box-shadow:inset 0 0 0 1px rgba(157,110,34,.18)}
body.theme-dark .theme-toggle{background:rgba(20,18,16,.82);color:#f4d58a;border-color:rgba(216,184,110,.45)}
body.theme-dark .theme-dot{background:linear-gradient(135deg,#141312,#caa358)}

/* حالت روشن: حتی صفحه اول هم روشن و کرم/طلایی باشد */
body.theme-light.step-1:before{background:radial-gradient(circle at 50% -10%,#fff 0,#f7f1e8 48%,#eadfce 100%)!important}
body.theme-light.step-1 .dl-app{background:rgba(255,250,244,.66)!important;box-shadow:0 30px 100px rgba(26,18,9,.16),0 0 0 10px rgba(255,255,255,.28)!important}
body.theme-light.step-1 .dl-header{background:rgba(255,250,244,.90)!important;color:#2c2118!important;box-shadow:none!important}
body.theme-light.step-1 .round-icon{background:rgba(255,255,255,.72)!important;color:#493a28!important;border-color:rgba(194,159,88,.36)!important}
body.theme-light.step-1 .brand h1{color:#33261a!important}
body.theme-light.step-1 .brand p{color:#9f7b3f!important}
body.theme-light.step-1 .stepper:before{background:#e8dfd2!important}
body.theme-light.step-1 .step span{color:#8d8376!important}
body.theme-light.step-1 .step.active span{color:#231b14!important}
body.theme-light.step-1 .capacity-card{background:rgba(255,255,255,.92)!important;color:#241b14!important;border-color:rgba(235,222,202,.88)!important;box-shadow:0 16px 48px rgba(45,32,15,.10)!important}
body.theme-light.step-1 .cap-title strong,body.theme-light.step-1 .cap-count strong{color:#241b14!important}
body.theme-light.step-1 .cap-title span,body.theme-light.step-1 .cap-count,body.theme-light.step-1 .cap-meta{color:#74685c!important}
body.theme-light.step-1 .cap-icon{background:#f6ecd9!important;color:#b98c43!important}
body.theme-light.step-1 .cap-box{background:#eee7de!important;border-color:#e6dccd!important}
body.theme-light.step-1 .builder-hero{background:#fff!important;color:#241b14!important;border-color:rgba(235,222,202,.88)!important;box-shadow:0 14px 38px rgba(30,20,8,.08)!important}
body.theme-light.step-1 .builder-hero p{color:#857a6c!important}
body.theme-light.step-1 .mini-total{background:#f7eedf!important;border-color:#ecd9b7!important;color:#6c5531!important}
body.theme-light.step-1 .tab{color:#7e7368!important}
body.theme-light.step-1 .tab.active{background:#fff8e9!important;border-color:#c39a4b!important;color:#91641d!important;box-shadow:0 8px 20px rgba(172,127,51,.14)!important}
body.theme-light.step-1 .search-box input{background:rgba(255,255,255,.9)!important;border-color:#eadcc6!important;color:#1f1712!important}
body.theme-light.step-1 .product-card{background:#fff!important;border-color:#eadcc6!important;box-shadow:0 12px 28px rgba(35,24,13,.08)!important}
body.theme-light.step-1 .product-card.selected{background:#fff9ee!important;border-color:#d2a756!important;box-shadow:0 0 0 1px rgba(210,167,86,.28),0 14px 28px rgba(35,24,13,.08)!important}
body.theme-light.step-1 .product-media{background:linear-gradient(180deg,#fff8ec,#f0e1ca)!important}
body.theme-light.step-1 .product-media img{filter:drop-shadow(0 14px 18px rgba(80,55,20,.16))!important}
body.theme-light.step-1 .product-body{background:#fff!important;color:#241b14!important}
body.theme-light.step-1 .product-card.selected .product-body{background:#fff9ee!important}
body.theme-light.step-1 .product-title{color:#241b14!important}
body.theme-light.step-1 .customize-link{color:#9c6d28!important}
body.theme-light.step-1 .add-btn,body.theme-light.step-1 .qty-control{background:#fff6e5!important;border-color:#e6cf9d!important;color:#8d611e!important}
body.theme-light.step-1 .qty-control span{color:#4b3b28!important}
body.theme-light.step-1 .bottom-bar{background:rgba(255,250,244,.92)!important}

/* حالت مشکی طلایی */
body.theme-dark:before{background:radial-gradient(circle at 50% -12%,#22201e 0,#11100f 45%,#050505 100%)!important}
body.theme-dark .dl-app{background:rgba(17,16,15,.76)!important;box-shadow:0 30px 100px rgba(0,0,0,.5),0 0 0 10px rgba(255,255,255,.04)!important}
body.theme-dark .dl-header{background:#11100f!important;color:#fff!important;box-shadow:0 16px 50px rgba(0,0,0,.35)!important}
body.theme-dark .round-icon{background:rgba(255,255,255,.07)!important;color:#fff!important}
body.theme-dark .brand h1{color:#f4d899!important}
body.theme-dark .brand p{color:#d8c6a5!important}
body.theme-dark .capacity-card{background:#161514!important;border-color:rgba(255,255,255,.1)!important;color:#fff!important;box-shadow:0 18px 42px rgba(0,0,0,.35)!important}
body.theme-dark .cap-title strong,body.theme-dark .cap-count strong{color:#fff!important}
body.theme-dark .cap-title span,body.theme-dark .cap-count,body.theme-dark .cap-meta{color:#d7c8ad!important}
body.theme-dark .builder-hero,body.theme-dark .section-title{background:#141312!important;color:#fff!important;border-color:rgba(255,255,255,.08)!important}
body.theme-dark .builder-hero p,body.theme-dark .section-title p{color:#cfc1aa!important}
body.theme-dark .tab{color:#bfb4a3!important}
body.theme-dark .tab.active{background:rgba(255,255,255,.05)!important;color:#f3d794!important;border-color:#c79b51!important;box-shadow:none!important}
body.theme-dark .search-box input{background:#191817!important;border-color:#302d29!important;color:#fff!important}
body.theme-dark .product-card{background:#181716!important;border-color:rgba(255,255,255,.10)!important;box-shadow:none!important}
body.theme-dark .product-body{background:linear-gradient(180deg,#181716,#121110)!important;color:#fff!important}
body.theme-dark .product-title{color:#fff!important}
body.theme-dark .bottom-bar{background:rgba(18,16,14,.92)!important;border-color:rgba(216,184,110,.16)!important}
body.theme-dark .bottom-summary{color:#d7c8ad!important}
body.theme-dark .bottom-summary strong{color:#f4d58a!important}

.product-card{cursor:pointer}.product-actions button{cursor:pointer}
.product-modal-backdrop{position:fixed;inset:0;background:rgba(12,10,8,.58);z-index:100000;display:grid;place-items:end center;padding:18px;opacity:0;transition:.18s ease;backdrop-filter:blur(10px)}
.product-modal-backdrop.show{opacity:1}.product-modal{width:min(430px,100%);background:#fffaf3;border:1px solid #eadcc6;border-radius:28px 28px 22px 22px;box-shadow:0 30px 90px rgba(0,0,0,.34);overflow:hidden;position:relative;transform:translateY(18px);transition:.22s ease}.product-modal-backdrop.show .product-modal{transform:translateY(0)}
.modal-close{position:absolute;top:12px;left:12px;z-index:4;width:36px;height:36px;border-radius:50%;border:1px solid rgba(216,184,110,.38);background:rgba(255,255,255,.82);color:#5d4522;font-size:26px;line-height:1}.modal-media{height:245px;background:linear-gradient(180deg,#f9efdc,#e8d5b7);display:grid;place-items:center}.modal-media img{width:100%;height:100%;object-fit:contain;padding:30px;filter:drop-shadow(0 18px 24px rgba(50,32,8,.18))}.modal-body{padding:18px}.modal-kicker{font-size:12px;font-weight:900;color:#b68132;letter-spacing:1.2px}.modal-body h3{margin:6px 0 8px;font-size:23px;color:#241b14}.modal-body p{margin:0;color:#6f6254;font-size:15px;line-height:2}.modal-meta{display:grid;gap:7px;margin:14px 0;background:#fff;border:1px solid #eadcc6;border-radius:16px;padding:11px}.modal-meta span{font-size:14px;color:#75695c}.modal-meta b{color:#2b2118}.modal-actions{display:flex;align-items:center;justify-content:center;gap:10px}.modal-add,.modal-qty{border:0;background:linear-gradient(135deg,#d0a957,#b98639);color:#fff;border-radius:999px;height:44px;padding:0 22px;font-weight:900}.modal-qty{width:44px;padding:0;font-size:24px}.modal-actions strong{min-width:34px;text-align:center;color:#3a2d21;font-size:20px}
body.theme-dark .product-modal{background:#171512;border-color:rgba(216,184,110,.28)}body.theme-dark .modal-media{background:linear-gradient(180deg,#24211d,#11100f)}body.theme-dark .modal-body h3{color:#fff}body.theme-dark .modal-body p,body.theme-dark .modal-meta span{color:#d6c9b6}body.theme-dark .modal-meta{background:#211d18;border-color:rgba(216,184,110,.22)}body.theme-dark .modal-meta b{color:#f4d58a}body.theme-dark .modal-actions strong{color:#fff}

/* دسکتاپ واقعی: دیگر داخل قاب موبایل قفل نیست */
@media(min-width:860px){
  body.layout-desktop{padding-bottom:118px!important}
  body.layout-desktop .dl-app{--phone-w:1180px;width:min(1180px,calc(100% - 56px))!important;max-width:1180px!important;padding:0 24px 34px!important;overflow:visible!important;border-radius:30px!important}
  body.layout-desktop .dl-header{min-height:92px!important;border-radius:0 0 26px 26px!important;grid-template-columns:56px 1fr 56px!important;margin:0 -24px 14px!important;padding:16px 24px!important}
  body.layout-desktop .brand h1{font-size:27px!important}body.layout-desktop .brand p{font-size:12px!important}
  body.layout-desktop .theme-switch-wrap{justify-content:flex-start;margin:0 0 12px}
  body.layout-desktop .stepper{max-width:720px;margin:12px auto 18px!important}
  body.layout-desktop .capacity-card{max-width:920px;margin:0 auto 18px!important}
  body.layout-desktop .builder-hero{display:flex;align-items:center;justify-content:space-between}
  body.layout-desktop .grid.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
  body.layout-desktop .grid.card-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}
  body.layout-desktop .product-media{height:205px!important}body.layout-desktop .product-media img{height:170px!important}
  body.layout-desktop .personalize-layout{grid-template-columns:minmax(360px,460px) 1fr!important;align-items:start!important;gap:20px!important}
  body.layout-desktop .preview-stack{grid-template-columns:repeat(3,minmax(0,1fr))!important}body.layout-desktop .preview-mini{min-height:300px!important}
  body.layout-desktop .review-grid{grid-template-columns:1.35fr .75fr!important;gap:20px!important;align-items:start!important}
  body.layout-desktop .review-hero{min-height:420px!important}body.layout-desktop .review-hero img{height:370px!important}
  body.layout-desktop .bottom-bar{--phone-w:1180px;width:min(1180px,calc(100% - 56px))!important;max-width:1180px!important;grid-template-columns:1fr 320px!important;align-items:center!important;border-radius:24px 24px 0 0!important;padding:12px 18px!important}
  body.layout-desktop .bottom-summary{font-size:15px!important}body.layout-desktop .continue-btn{height:56px!important}
  body.layout-desktop .product-modal-backdrop{place-items:center}.product-modal{border-radius:28px!important}
}
@media(max-width:859px){body.layout-mobile .product-modal-backdrop{place-items:end center}}





/* کارت محصول: عکس باید تمام کادر تصویر را بگیرد، نه اینکه با padding و contain وسط کادر بماند */
.product-card .product-media,
body.theme-light.step-1 .product-card .product-media,
body.theme-dark .product-card .product-media,
body.layout-desktop .product-card .product-media{
  padding:0!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  border-radius:14px 14px 0 0!important;
  background:#151312!important;
  display:block!important;
}
.product-card .product-media img,
body.theme-light.step-1 .product-card .product-media img,
body.theme-dark .product-card .product-media img,
body.layout-desktop .product-card .product-media img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  object-position:center!important;
  padding:0!important;
  transform:none!important;
  filter:none!important;
  display:block!important;
}
body.theme-light.step-1 .product-card .product-media{background:linear-gradient(145deg,#fff7e8,#ead7ba)!important}
body.theme-dark .product-card .product-media{background:#111!important}
.product-card .product-media:after{height:36%!important;z-index:1!important}
.product-card .qty-badge,.product-card .customizable-badge{z-index:3!important}
body.layout-desktop .grid.product-grid{align-items:start!important}
body.layout-desktop .product-card{border-radius:18px!important}
body.layout-desktop .product-body{min-height:104px!important}

/* مرحله حک متن: هیچ پیشنمایشی مخفی نشود؛ سه کارت مستقل برای محصول، جعبه و کارت تبریک */
body.step-3 .triple-preview-card,
body.step-3 .preview-card.triple-preview-card,
body.layout-desktop.step-3 .triple-preview-card{
  background:#fff!important;
  border:1px solid #eadcc6!important;
  border-radius:22px!important;
  overflow:visible!important;
  padding:14px!important;
  position:relative!important;
  top:auto!important;
  box-shadow:0 14px 38px rgba(30,20,8,.08)!important;
}
body.step-3 .preview-head{
  position:relative!important;
  inset:auto!important;
  background:transparent!important;
  border-radius:0!important;
  padding:0 2px 12px!important;
  margin:0!important;
  color:#3d2c1f!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}
body.step-3 .preview-head strong{font-size:17px!important;color:#2b2118!important}
body.step-3 .preview-head span{font-size:14px!important;color:#a67829!important;font-weight:900!important}
body.step-3 .preview-stack,
body.layout-mobile.step-3 .preview-stack,
body.layout-desktop.step-3 .preview-stack{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
}
body.step-3 .preview-mini,
body.step-3 .preview-mini.product-preview,
body.step-3 .preview-mini.box-preview,
body.step-3 .preview-mini.greeting-preview,
body.layout-desktop.step-3 .preview-mini,
body.layout-mobile.step-3 .preview-mini{
  display:block!important;
  min-height:250px!important;
  height:250px!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,#fbf6ef,#ede3d6)!important;
  border:1px solid #eee1ce!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 12px 24px rgba(38,26,12,.06)!important;
  position:relative!important;
}
body.step-3 .preview-mini img,
body.step-3 .preview-mini.product-preview img,
body.step-3 .preview-mini.box-preview img,
body.step-3 .preview-mini.greeting-preview img,
body.layout-desktop.step-3 .preview-mini img,
body.layout-mobile.step-3 .preview-mini img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:44px 20px 28px!important;
  background:transparent!important;
  opacity:1!important;
  filter:drop-shadow(0 16px 22px rgba(70,45,12,.14))!important;
}
body.step-3 .preview-mini:after,
body.step-3 .preview-mini.product-preview:after,
body.step-3 .preview-mini.box-preview:after,
body.step-3 .preview-mini.greeting-preview:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.22))!important;
  pointer-events:none!important;
}
body.step-3 .preview-label,
body.step-3 .box-preview .preview-label,
body.step-3 .product-preview .preview-label,
body.step-3 .greeting-preview .preview-label{
  display:inline-flex!important;
  position:absolute!important;
  top:12px!important;
  right:12px!important;
  z-index:5!important;
  background:rgba(255,255,255,.86)!important;
  border:1px solid #e6d4b6!important;
  color:#8b6020!important;
  border-radius:999px!important;
  padding:6px 11px!important;
  font-size:13px!important;
  font-weight:900!important;
}
body.step-3 .engrave,
body.step-3 .box-engrave,
body.step-3 .product-engrave,
body.step-3 .card-engrave{
  position:absolute!important;
  z-index:6!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:80%!important;
  max-width:260px!important;
  text-align:center!important;
  color:#c29a53!important;
  text-shadow:0 2px 6px rgba(0,0,0,.16)!important;
  line-height:1.4!important;
  pointer-events:none!important;
  overflow:hidden!important;
  display:block!important;
}
body.step-3 .box-engrave{top:62%!important;font-size:23px!important}
body.step-3 .product-engrave{top:62%!important;font-size:23px!important}
body.step-3 .card-engrave{top:48%!important;font-size:16px!important;color:#6b5134!important;background:rgba(255,255,255,.62)!important;border-radius:14px!important;padding:9px 10px!important;max-height:96px!important;text-shadow:none!important}

@media(min-width:860px){
  body.layout-desktop.step-3 .personalize-layout{grid-template-columns:430px 1fr!important;align-items:start!important;gap:20px!important}
  body.layout-desktop.step-3 .preview-stack{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
  body.layout-desktop.step-3 .preview-mini{height:320px!important;min-height:320px!important}
  body.layout-desktop.step-3 .box-engrave,body.layout-desktop.step-3 .product-engrave{font-size:24px!important}
  body.layout-desktop.step-3 .card-engrave{font-size:16px!important}
}
@media(max-width:859px){
  body.layout-mobile.step-3 .preview-stack{grid-template-columns:1fr!important}
  body.layout-mobile.step-3 .preview-mini{height:235px!important;min-height:235px!important}
}

/* حالت مشکی طلایی برای پیشنمایش‌ها */
body.theme-dark.step-3 .triple-preview-card{background:#171512!important;border-color:rgba(216,184,110,.26)!important}
body.theme-dark.step-3 .preview-head strong{color:#fff!important}
body.theme-dark.step-3 .preview-mini{background:linear-gradient(145deg,#24211d,#11100f)!important;border-color:rgba(216,184,110,.22)!important}
body.theme-dark.step-3 .preview-label{background:rgba(20,18,15,.82)!important;border-color:rgba(216,184,110,.34)!important;color:#f4d58a!important}
body.theme-dark.step-3 .card-engrave{background:rgba(20,18,15,.70)!important;color:#f4d58a!important}

/* ===== v1.7.1 product details modal polish ===== */
.product-modal-backdrop{
  padding:18px!important;
  align-items:center!important;
  justify-items:center!important;
}
.product-modal{
  width:min(760px,calc(100vw - 28px))!important;
  max-height:calc(100vh - 36px)!important;
  display:grid!important;
  grid-template-columns:minmax(260px,45%) 1fr!important;
  border-radius:28px!important;
  overflow:hidden!important;
}
.modal-media{
  height:auto!important;
  min-height:390px!important;
  width:100%!important;
  overflow:hidden!important;
  background:linear-gradient(145deg,#fff4df,#d9c09a)!important;
}
.modal-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  padding:0!important;
  filter:none!important;
  display:block!important;
}
.modal-body{
  padding:24px 24px 20px!important;
  overflow:auto!important;
  max-height:calc(100vh - 36px)!important;
}
.modal-body h3{font-size:26px!important;line-height:1.5!important;margin-bottom:8px!important}
.modal-body p{font-size:15px!important;line-height:2.05!important;color:#6a5d50!important;max-height:145px!important;overflow:auto!important;padding-left:4px!important}
.modal-meta{grid-template-columns:1fr!important;margin:16px 0!important}
.modal-actions{justify-content:flex-start!important;margin-top:12px!important}
.modal-add{width:100%!important;height:50px!important;border-radius:16px!important}
.modal-qty{height:44px!important;width:44px!important;display:grid!important;place-items:center!important}
.modal-close{top:14px!important;left:14px!important;background:rgba(255,255,255,.92)!important;box-shadow:0 8px 18px rgba(0,0,0,.12)!important}
body.theme-dark .modal-media{background:linear-gradient(145deg,#28231d,#0f0e0d)!important}
@media(max-width:859px){
  .product-modal-backdrop{place-items:end center!important;padding:12px!important}
  .product-modal{width:100%!important;max-height:calc(100vh - 24px)!important;display:block!important;border-radius:26px 26px 18px 18px!important}
  .modal-media{height:250px!important;min-height:250px!important}
  .modal-body{max-height:calc(100vh - 286px)!important;padding:18px 18px 20px!important}
  .modal-body h3{font-size:22px!important}
  .modal-body p{max-height:108px!important}
}




/* مینی‌سبد مرحله محصولات */
.selected-cart-mini{
  margin:8px 0 14px!important;
  padding:10px!important;
  border:1px solid #eadcc6!important;
  background:rgba(255,250,244,.92)!important;
  border-radius:18px!important;
  box-shadow:0 12px 28px rgba(45,32,15,.08)!important;
  position:relative!important;
  z-index:5!important;
}
.selected-cart-head{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:8px!important;color:#4b3b28!important;font-size:14px!important;font-weight:900!important}
.selected-cart-head span{color:#9b6a23!important;font-size:13px!important}
.selected-strip{display:flex!important;gap:8px!important;overflow:auto!important;padding:1px 0 2px!important;scrollbar-width:none!important}
.selected-strip::-webkit-scrollbar{display:none!important}
.selected-pill{
  min-width:196px!important;
  max-width:230px!important;
  border-radius:16px!important;
  background:#fff!important;
  border:1px solid #eadcc6!important;
  padding:7px 8px!important;
  display:grid!important;
  grid-template-columns:24px 34px 1fr auto!important;
  align-items:center!important;
  gap:7px!important;
  color:#3c2d1e!important;
  box-shadow:0 8px 18px rgba(30,20,8,.06)!important;
}
.selected-pill img{width:34px!important;height:34px!important;border-radius:10px!important;object-fit:cover!important;background:#111!important}
.selected-pill span{font-size:13px!important;font-weight:900!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;line-height:1.3!important}
.pill-remove{width:24px!important;height:24px!important;border:0!important;border-radius:50%!important;background:#f3eadb!important;color:#6b5134!important;font-size:19px!important;font-weight:900!important;display:grid!important;place-items:center!important;line-height:1!important;cursor:pointer!important}
.pill-qty{height:30px!important;display:flex!important;align-items:center!important;gap:3px!important;background:#f8f0e2!important;border:1px solid #ead7b9!important;border-radius:999px!important;padding:2px!important}
.pill-qty button{width:24px!important;height:24px!important;border:0!important;border-radius:50%!important;background:#211b15!important;color:#f6d690!important;font-size:17px!important;font-weight:900!important;display:grid!important;place-items:center!important;cursor:pointer!important}
.pill-qty b{min-width:18px!important;text-align:center!important;color:#5d4422!important;font-size:13px!important}
body.theme-dark .selected-cart-mini{background:rgba(20,18,15,.92)!important;border-color:rgba(216,184,110,.22)!important;box-shadow:none!important}
body.theme-dark .selected-cart-head{color:#fff!important}body.theme-dark .selected-cart-head span{color:#f4d58a!important}
body.theme-dark .selected-pill{background:#191715!important;border-color:rgba(216,184,110,.22)!important;color:#fff!important}
body.theme-dark .pill-remove{background:#2d261e!important;color:#f4d58a!important}body.theme-dark .pill-qty{background:#211d18!important;border-color:rgba(216,184,110,.22)!important}body.theme-dark .pill-qty b{color:#fff!important}

/* مرکزسازی دقیق متن در پیش‌نمایش‌ها */
body.step-3 .preview-mini{display:grid!important;place-items:center!important}
body.step-3 .preview-mini img,
body.layout-mobile.step-3 .preview-mini img,
body.layout-desktop.step-3 .preview-mini img{
  position:absolute!important;
  inset:0!important;
  margin:auto!important;
  width:76%!important;
  height:76%!important;
  max-width:360px!important;
  max-height:360px!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  z-index:1!important;
}
body.step-3 .engrave,
body.step-3 .box-engrave,
body.step-3 .product-engrave,
body.step-3 .card-engrave{
  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  width:72%!important;
  max-width:260px!important;
  height:92px!important;
  max-height:92px!important;
  padding:6px 8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-wrap:balance!important;
  line-height:1.35!important;
  direction:rtl!important;
  z-index:7!important;
  overflow:hidden!important;
}
body.step-3 .card-engrave{height:108px!important;max-height:108px!important;background:rgba(255,255,255,.58)!important;border:1px solid rgba(234,220,198,.65)!important;border-radius:16px!important;text-shadow:none!important;color:#604a32!important}
body.step-3 .box-engrave,body.step-3 .product-engrave{background:transparent!important;border:0!important;color:#c29a53!important;text-shadow:0 2px 8px rgba(0,0,0,.18)!important}

/* نسخه موبایل: شبیه موکاپ، پیش‌نمایش کنار فرم؛ روی موبایل خیلی کوچک خودکار تک‌ستونه می‌شود */
@media(min-width:430px) and (max-width:859px){
  body.layout-mobile.step-3 .personalize-layout{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:start!important;
    gap:10px!important;
  }
  body.layout-mobile.step-3 .personalize-form-card,
  body.layout-mobile.step-3 .triple-preview-card{padding:10px!important;border-radius:18px!important}
  body.layout-mobile.step-3 .personal-block{padding-bottom:11px!important;margin-bottom:11px!important}
  body.layout-mobile.step-3 .personal-block h3{font-size:14px!important;gap:6px!important;margin-bottom:8px!important}
  body.layout-mobile.step-3 .personal-block h3 span{width:25px!important;height:25px!important;border-radius:9px!important;font-size:11px!important}
  body.layout-mobile.step-3 .field{gap:6px!important;margin-bottom:9px!important}
  body.layout-mobile.step-3 .field label{font-size:12px!important}
  body.layout-mobile.step-3 .field input,body.layout-mobile.step-3 .field textarea{font-size:14px!important;padding:10px 9px!important;border-radius:12px!important}
  body.layout-mobile.step-3 .field textarea{min-height:78px!important}
  body.layout-mobile.step-3 .font-list{grid-template-columns:repeat(2,1fr)!important;display:grid!important;gap:6px!important}
  body.layout-mobile.step-3 .font-chip{min-width:0!important;padding:7px 4px!important;border-radius:12px!important}
  body.layout-mobile.step-3 .font-chip strong{font-size:20px!important}
  body.layout-mobile.step-3 .font-chip span{font-size:11px!important}
  body.layout-mobile.step-3 .symbol-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;overflow:visible!important}
  body.layout-mobile.step-3 .symbol-chip{min-width:0!important;height:47px!important;border-radius:12px!important;padding:5px 3px!important}
  body.layout-mobile.step-3 .symbol-chip span{font-size:20px!important}.symbol-chip small{font-size:10px!important}
  body.layout-mobile.step-3 .preview-head{padding-bottom:8px!important}
  body.layout-mobile.step-3 .preview-head strong{font-size:14px!important}.preview-head span{font-size:12px!important}
  body.layout-mobile.step-3 .preview-stack{grid-template-columns:1fr!important;gap:8px!important}
  body.layout-mobile.step-3 .preview-mini{height:158px!important;min-height:158px!important;border-radius:16px!important}
  body.layout-mobile.step-3 .preview-label{font-size:11px!important;padding:5px 8px!important;top:8px!important;right:8px!important}
  body.layout-mobile.step-3 .engrave{height:62px!important;max-height:62px!important;width:76%!important;font-size:18px!important;max-width:150px!important}
  body.layout-mobile.step-3 .card-engrave{height:70px!important;max-height:70px!important;font-size:13px!important}
}
@media(max-width:429px){
  body.layout-mobile.step-3 .personalize-layout{grid-template-columns:1fr!important}
  body.layout-mobile.step-3 .preview-mini{height:230px!important;min-height:230px!important}
}



:root{--dl-site-font:var(--dl-ui-font,'IRANYekanX',Tahoma,Arial,sans-serif);}
body,button,input,textarea,select{font-family:var(--dl-ui-font)!important;}


/* Symbol dropdown: default closed */
.symbol-dropdown{
  border:1px solid #eadcc6!important;
  background:#fffdf8!important;
  border-radius:15px!important;
  overflow:hidden!important;
  box-shadow:0 8px 18px rgba(40,28,12,.04)!important;
}
.symbol-dropdown summary{
  list-style:none!important;
  display:grid!important;
  grid-template-columns:44px 1fr auto!important;
  align-items:center!important;
  gap:9px!important;
  min-height:56px!important;
  padding:8px 10px!important;
  cursor:pointer!important;
  color:#4a3827!important;
  user-select:none!important;
}
.symbol-dropdown summary::-webkit-details-marker{display:none!important}
.symbol-dropdown summary:after{
  content:"⌄"!important;
  width:28px!important;height:28px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;
  background:#f5ead7!important;color:#9b6a23!important;font-weight:900!important;
  transition:transform .18s ease!important;
}
.symbol-dropdown[open] summary:after{transform:rotate(180deg)!important}
.symbol-dropdown summary .summary-icon{width:38px!important;height:38px!important;border-radius:12px!important;background:#f8efdf!important;border:1px solid #ead7b9!important;display:grid!important;place-items:center!important;color:#9b6a23!important;font-size:22px!important;overflow:hidden!important}
.symbol-dropdown summary .summary-icon img{width:22px!important;height:22px!important;object-fit:contain!important;padding:0!important}
.symbol-dropdown summary b{font-size:14px!important;font-weight:900!important;color:#3e2e20!important}
.symbol-dropdown summary em{font-style:normal!important;font-size:12px!important;color:#a67829!important;font-weight:900!important;white-space:nowrap!important}
details.symbol-dropdown:not([open]) .symbol-list{display:none!important}
.symbol-dropdown[open] .symbol-list{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  padding:10px!important;
  border-top:1px solid #f0e3d0!important;
  background:linear-gradient(180deg,#fffdf8,#fff8ec)!important;
}
.symbol-dropdown[open] .symbol-chip{min-width:0!important}
body.theme-dark .symbol-dropdown{background:#191714!important;border-color:rgba(216,184,110,.22)!important;box-shadow:none!important}
body.theme-dark .symbol-dropdown summary{color:#fff!important}
body.theme-dark .symbol-dropdown summary .summary-icon{background:#241f19!important;border-color:rgba(216,184,110,.24)!important;color:#f4d58a!important}
body.theme-dark .symbol-dropdown summary b{color:#fff!important}
body.theme-dark .symbol-dropdown summary em{color:#f4d58a!important}
body.theme-dark .symbol-dropdown summary:after{background:#2d251b!important;color:#f4d58a!important}
body.theme-dark .symbol-dropdown[open] .symbol-list{background:#151310!important;border-top-color:rgba(216,184,110,.16)!important}

@media(min-width:430px) and (max-width:859px){
  body.layout-mobile.step-3 .symbol-dropdown summary{grid-template-columns:34px 1fr auto!important;min-height:46px!important;padding:6px 7px!important;gap:6px!important}
  body.layout-mobile.step-3 .symbol-dropdown summary .summary-icon{width:31px!important;height:31px!important;font-size:19px!important;border-radius:10px!important}
  body.layout-mobile.step-3 .symbol-dropdown summary b{font-size:12px!important}
  body.layout-mobile.step-3 .symbol-dropdown summary em{font-size:10px!important}
  body.layout-mobile.step-3 .symbol-dropdown summary:after{width:22px!important;height:22px!important;font-size:13px!important}
  body.layout-mobile.step-3 .symbol-dropdown[open] .symbol-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:7px!important}
}
@media(max-width:429px){
  body.layout-mobile.step-3 .symbol-dropdown[open] .symbol-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}



.symbol-dropdown summary{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) auto!important;
  min-height:46px!important;
  padding:6px 9px!important;
  gap:8px!important;
  align-items:center!important;
}
.symbol-dropdown summary:after{display:none!important;content:none!important}
.symbol-dropdown summary b{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:14px!important;
  line-height:1.3!important;
}
.symbol-dropdown summary .summary-icon{
  width:34px!important;
  height:34px!important;
  border-radius:11px!important;
  font-size:20px!important;
}
.symbol-dropdown summary .summary-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  justify-self:end!important;
  white-space:nowrap!important;
  color:#a67829!important;
  font-weight:900!important;
  font-size:12px!important;
  line-height:1!important;
  padding:5px 8px!important;
  border-radius:999px!important;
  background:transparent!important;
}
.symbol-dropdown summary .summary-action em{
  font-style:normal!important;
  font-size:12px!important;
  color:#a67829!important;
  font-weight:900!important;
}
.symbol-dropdown summary .summary-action i{
  width:23px!important;
  height:23px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#f5ead7!important;
  color:#9b6a23!important;
  font-style:normal!important;
  font-weight:900!important;
  font-size:14px!important;
  transition:transform .18s ease!important;
}
.symbol-dropdown[open] summary .summary-action i{transform:rotate(180deg)!important}
body.theme-dark .symbol-dropdown summary .summary-action,
body.theme-dark .symbol-dropdown summary .summary-action em{color:#f4d58a!important}
body.theme-dark .symbol-dropdown summary .summary-action i{background:#2d251b!important;color:#f4d58a!important}
@media(min-width:430px) and (max-width:859px){
  body.layout-mobile.step-3 .symbol-dropdown summary{grid-template-columns:30px minmax(0,1fr) auto!important;min-height:40px!important;padding:5px 6px!important;gap:5px!important}
  body.layout-mobile.step-3 .symbol-dropdown summary .summary-icon{width:28px!important;height:28px!important;font-size:17px!important;border-radius:9px!important}
  body.layout-mobile.step-3 .symbol-dropdown summary b{font-size:12px!important}
  body.layout-mobile.step-3 .symbol-dropdown summary .summary-action{gap:4px!important;padding:3px 4px!important}
  body.layout-mobile.step-3 .symbol-dropdown summary .summary-action em{font-size:10px!important}
  body.layout-mobile.step-3 .symbol-dropdown summary .summary-action i{width:19px!important;height:19px!important;font-size:12px!important}
}
@media(max-width:429px){
  body.layout-mobile.step-3 .symbol-dropdown summary{grid-template-columns:30px minmax(0,1fr) auto!important;min-height:40px!important;padding:5px 6px!important;gap:5px!important}
  body.layout-mobile.step-3 .symbol-dropdown summary .summary-action em{font-size:10px!important}
  body.layout-mobile.step-3 .symbol-dropdown summary .summary-action i{width:19px!important;height:19px!important;font-size:12px!important}
}




/* ستون پیش‌نمایش مرحله حک متن هنگام اسکرول همراه کاربر می‌ماند */
body.step-3 .personalize-layout,
body.layout-mobile.step-3 .personalize-layout,
body.layout-desktop.step-3 .personalize-layout{
  align-items:start!important;
  overflow:visible!important;
}
body.step-3 .triple-preview-card,
body.step-3 .preview-card.triple-preview-card,
body.layout-mobile.step-3 .triple-preview-card,
body.layout-desktop.step-3 .triple-preview-card{
  position:sticky!important;
  top:14px!important;
  align-self:start!important;
  z-index:8!important;
  max-height:calc(100vh - 128px)!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
}
body.step-3 .triple-preview-card::-webkit-scrollbar{width:0;height:0}
@media(min-width:860px){
  body.layout-desktop.step-3 .triple-preview-card{top:88px!important;max-height:calc(100vh - 170px)!important}
}
@media(min-width:430px) and (max-width:859px){
  body.layout-mobile.step-3 .triple-preview-card{top:10px!important;max-height:calc(100vh - 166px)!important}
}
@media(max-width:429px){
  body.layout-mobile.step-3 .triple-preview-card{position:relative!important;top:auto!important;max-height:none!important;overflow:visible!important}
}

/* خلاصه پایین صفحه: به جای متن، عکس محصولات انتخابی نمایش داده شود */
.bottom-summary{
  direction:rtl!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-height:64px!important;
  padding:9px 12px!important;
}
.bottom-summary > span{display:none!important}
.bottom-summary > strong{
  margin:0!important;
  white-space:nowrap!important;
  color:#8c621f!important;
  font-size:17px!important;
  font-weight:950!important;
  text-align:left!important;
  direction:rtl!important;
}
.bottom-thumbs{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0!important;
  min-width:0!important;
  flex:1 1 auto!important;
  overflow:hidden!important;
  padding-inline-start:4px!important;
}
.bottom-thumb{
  width:38px!important;
  height:38px!important;
  border-radius:14px!important;
  overflow:visible!important;
  background:#171512!important;
  border:2px solid #fffaf2!important;
  box-shadow:0 7px 18px rgba(48,34,13,.14)!important;
  position:relative!important;
  margin-inline-end:-8px!important;
  flex:0 0 auto!important;
  display:grid!important;
  place-items:center!important;
  color:#7b5518!important;
  font-size:13px!important;
  font-weight:950!important;
}
.bottom-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;border-radius:13px!important}
.bottom-thumb b{
  position:absolute!important;
  left:-4px!important;
  top:-6px!important;
  z-index:2!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 4px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#d5ad57,#a8752c)!important;
  color:#fff!important;
  font-size:11px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #fffaf2!important;
}
.bottom-thumb.more{background:#fff7e8!important;border-color:#eadcc6!important;margin-inline-end:0!important}
.bottom-empty{font-size:13px!important;color:#8d8175!important;font-weight:900!important;white-space:nowrap!important}
body.theme-dark .bottom-summary{background:rgba(18,16,14,.92)!important;border-color:rgba(216,184,110,.18)!important}
body.theme-dark .bottom-summary > strong{color:#f4d58a!important}
body.theme-dark .bottom-thumb{border-color:#231f1a!important;box-shadow:0 8px 22px rgba(0,0,0,.28)!important}
body.theme-dark .bottom-empty{color:#d7c8ad!important}

@media(max-width:380px){
  .bottom-summary{display:flex!important;min-height:56px!important}
  .bottom-thumb{width:32px!important;height:32px!important;border-radius:11px!important}
  .bottom-summary > strong{font-size:15px!important}
}




/* اجازه بده position: sticky داخل نسخه موبایل هم کار کند */
body.step-3,
body.step-3 .dl-app,
body.step-3 #stepContent,
body.step-3 .premium-personalize,
body.step-3 .personalize-layout,
body.layout-mobile.step-3 .dl-app,
body.layout-mobile.step-3 #stepContent,
body.layout-mobile.step-3 .premium-personalize,
body.layout-mobile.step-3 .personalize-layout{
  overflow:visible!important;
}

body.layout-mobile.step-3 .personalize-layout{
  align-items:start!important;
}
body.layout-mobile.step-3 .triple-preview-card,
body.layout-mobile.step-3 .preview-card.triple-preview-card{
  position:sticky!important;
  top:12px!important;
  align-self:start!important;
  z-index:25!important;
  max-height:calc(100vh - 172px)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
}

/* اگر صفحه خیلی باریک شد، باز هم پیش‌نمایش Sticky بماند، ولی با ارتفاع کنترل‌شده */
@media(max-width:429px){
  body.layout-mobile.step-3 .triple-preview-card,
  body.layout-mobile.step-3 .preview-card.triple-preview-card{
    position:sticky!important;
    top:8px!important;
    max-height:calc(100vh - 172px)!important;
    overflow-y:auto!important;
  }
}

/* v1.50.6.63 - product/card personalization policy */
.personalization-restriction-notice{border-color:#edcf91;background:#fff8e8;color:#6d5018;font-weight:700}
.product-personalization-list{display:grid;gap:12px;margin:0 0 14px}
.product-personalization-item{display:grid;gap:10px;padding:13px;border:1px solid rgba(224,202,166,.92);border-radius:18px;background:rgba(255,255,255,.72)}
.product-personalization-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.product-personalization-head strong{font-size:15px;color:#35291f}
.product-personalization-head span{white-space:nowrap;border-radius:999px;padding:4px 8px;background:#f3e7d5;color:#80643d;font-size:12px;font-weight:800}
.personalization-limit-error{display:block;color:#a52b2b;font-size:13px;font-weight:700;line-height:1.8}
.personalization-limit-error[hidden]{display:none!important}
.field label small.is-over{color:#b42318!important;font-weight:900}
.card-personalization-badge{width:max-content;max-width:100%;margin:6px 3px 9px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:900;line-height:1.5}
.card-personalization-badge.is-enabled{background:#f5ead3;color:#7e5c20}
.card-personalization-badge.is-disabled{background:#f1efec;color:#7a7168}
.card-option.selected .card-personalization-badge.is-enabled{background:rgba(224,190,112,.16);color:#f0d38e}
.card-option.selected .card-personalization-badge.is-disabled{background:rgba(255,255,255,.1);color:#d8cec2}
@media(max-width:760px){.product-personalization-item{padding:11px}.product-personalization-head{align-items:flex-start}.card-personalization-badge{font-size:10px}}

/* فاصله بین عکس‌های کوچک پایین صفحه */
.bottom-thumbs{
  gap:8px!important;
  justify-content:flex-start!important;
  padding-inline-start:2px!important;
  padding-inline-end:2px!important;
}
.bottom-thumb{
  margin-inline-end:0!important;
  margin-inline-start:0!important;
  border-width:1px!important;
}
@media(max-width:380px){
  .bottom-thumbs{gap:6px!important}
}


/* v1.15 capacity bar fix: keep the gold fill visible and animate safely */
.cap-segment span{
  display:block!important;
  height:100%!important;
  min-width:0!important;
  background:linear-gradient(90deg,#ffe4a2,#c99b4c,#ffe4a2)!important;
  border-radius:inherit!important;
  transition:width .75s cubic-bezier(.22,.61,.36,1)!important;
}
.cap-segment span:after{
  content:""!important;
}


/* v1.17 final review + order flow */
.review-grid-final{align-items:start!important}
.pro-review-hero{height:360px!important}
.review-main{display:grid!important;gap:14px!important}
.review-personal-card h3,.checkout-card h3{margin-top:0!important}
.personal-review-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.personal-review-item{
  border:1px solid rgba(232,214,183,.9)!important;
  background:linear-gradient(180deg,#fffdf8,#fff6e9)!important;
  border-radius:20px!important;
  padding:12px!important;
  min-height:106px!important;
  display:grid!important;
  gap:7px!important;
}
.personal-review-item b{font-size:13px!important;color:#8b6a35!important}
.personal-review-item strong{
  font-size:18px!important;
  line-height:1.65!important;
  color:#2c2118!important;
  word-break:break-word!important;
}
.personal-review-item span{font-size:12px!important;color:#817465!important}
.pro-summary-item{align-items:flex-start!important}
.pro-summary-item img{width:58px!important;height:58px!important}
.checkout-card{
  position:sticky!important;
  top:112px!important;
}
.checkout-card .field textarea{min-height:92px!important}
.checkout-status{
  display:grid!important;
  gap:8px!important;
  margin-top:8px!important;
}
.checkout-status div{
  border:1px solid rgba(232,214,183,.9)!important;
  background:#fff8eb!important;
  border-radius:17px!important;
  padding:10px 12px!important;
}
.checkout-status b{display:block!important;font-size:13px!important;color:#8c621f!important;margin-bottom:5px!important}
.checkout-status span{font-size:13px!important;color:#5f5346!important;line-height:1.7!important}
.field select{
  border:1px solid var(--line)!important;
  background:rgba(255,255,255,.94)!important;
  border-radius:17px!important;
  padding:13px 14px!important;
  outline:none!important;
  color:var(--ink)!important;
}
body.theme-dark .personal-review-item,
body.theme-dark .checkout-status div{background:#1a1714!important;border-color:rgba(216,184,110,.2)!important}
body.theme-dark .personal-review-item strong{color:#fff!important}
body.theme-dark .field select{background:#191715!important;color:#fff!important;border-color:rgba(216,184,110,.24)!important}
@media(max-width:720px){
  .personal-review-grid{grid-template-columns:1fr!important}
  .checkout-card{position:relative!important;top:auto!important}
  .pro-review-hero{height:300px!important}
}


/* v1.17 optimization: reduce heavy effects in personalize on mobile */
@media(max-width:720px){
  .premium-personalize .accordion-card,
  .premium-personalize .preview-card,
  .triple-preview-card,
  .checkout-card{
    backdrop-filter:none!important;
  }
  .preview-mini img{will-change:auto!important}
  .engrave{contain:layout paint!important}
}
.gateway-hint{
  font-size:13px!important;
  color:#8b7760!important;
  line-height:1.8!important;
}


/* v1.18 dark theme polish: remove white cards in card/personalize/review */
body.theme-dark .card-option{
  background:#171512!important;
  border-color:rgba(216,184,110,.24)!important;
  color:#fff!important;
  box-shadow:0 16px 38px rgba(0,0,0,.28)!important;
}
body.theme-dark .card-option.selected{
  background:linear-gradient(180deg,#201b14,#12100e)!important;
  border-color:#d0a954!important;
  box-shadow:0 0 0 1px rgba(208,169,84,.25),0 18px 42px rgba(0,0,0,.36)!important;
}
body.theme-dark .card-option h3,
body.theme-dark .card-option .name{color:#fff!important}
body.theme-dark .card-option p,
body.theme-dark .card-option span{color:#d5c4a6!important}
body.theme-dark .card-option img{background:#111!important}

body.theme-dark .accordion-card,
body.theme-dark .preview-card,
body.theme-dark .review-card,
body.theme-dark .customer-card,
body.theme-dark .checkout-card{
  background:#171512!important;
  border-color:rgba(216,184,110,.22)!important;
  color:#fff!important;
  box-shadow:0 18px 52px rgba(0,0,0,.32)!important;
}
body.theme-dark .personal-block{border-bottom-color:rgba(216,184,110,.16)!important}
body.theme-dark .personal-block h3,
body.theme-dark .review-card h3,
body.theme-dark .customer-card h3,
body.theme-dark .checkout-card h3{color:#fff!important}
body.theme-dark .personal-block h3 span{
  background:#2a2319!important;
  color:#f4d58a!important;
  border:1px solid rgba(216,184,110,.24)!important;
}
body.theme-dark .field label{color:#d9c8aa!important}
body.theme-dark .field small{color:#b99a61!important}
body.theme-dark .field input,
body.theme-dark .field textarea,
body.theme-dark .field select{
  background:#11100f!important;
  border-color:rgba(216,184,110,.24)!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.theme-dark .field input::placeholder,
body.theme-dark .field textarea::placeholder{color:#8e806d!important}
body.theme-dark .font-chip,
body.theme-dark .symbol-chip{
  background:#12100f!important;
  border-color:rgba(216,184,110,.22)!important;
  color:#fff!important;
}
body.theme-dark .font-chip strong{color:#f1d083!important}
body.theme-dark .font-chip span,
body.theme-dark .symbol-chip small{color:#c8b896!important}
body.theme-dark .font-chip.active,
body.theme-dark .symbol-chip.active{
  background:linear-gradient(180deg,#2a2117,#15110e)!important;
  border-color:#d0a954!important;
  color:#f8d98b!important;
}

body.theme-dark .summary-list{color:#fff!important}
body.theme-dark .summary-item,
body.theme-dark .pro-summary-item{
  border-bottom-color:rgba(216,184,110,.16)!important;
  background:transparent!important;
}
body.theme-dark .summary-item .name,
body.theme-dark .pro-summary-item .name{color:#fff!important}
body.theme-dark .summary-item .sub,
body.theme-dark .pro-summary-item .sub{color:#c8b896!important}
body.theme-dark .summary-item .amount,
body.theme-dark .pro-summary-item .amount{color:#f4d58a!important}
body.theme-dark .totals{
  border-top-color:rgba(216,184,110,.18)!important;
}
body.theme-dark .totals span{color:#d5c4a6!important}
body.theme-dark .totals strong{color:#fff!important}
body.theme-dark .totals .grand,
body.theme-dark .pro-totals .grand{
  background:#221b13!important;
  color:#f4d58a!important;
  border:1px solid rgba(216,184,110,.24)!important;
}
body.theme-dark .personal-review-item{
  background:linear-gradient(180deg,#1d1914,#12100f)!important;
  border-color:rgba(216,184,110,.22)!important;
}
body.theme-dark .personal-review-item b{color:#f4d58a!important}
body.theme-dark .personal-review-item strong{color:#fff!important}
body.theme-dark .personal-review-item span{color:#c8b896!important}
body.theme-dark .checkout-status div{
  background:#12100f!important;
  border-color:rgba(216,184,110,.22)!important;
}
body.theme-dark .checkout-status b{color:#f4d58a!important}
body.theme-dark .checkout-status span{color:#d5c4a6!important}
body.theme-dark .edit-link{color:#f4d58a!important}
body.theme-dark .notice{
  background:#1e1812!important;
  border-color:rgba(216,184,110,.22)!important;
  color:#e4d3b6!important;
}


/* v1.19 bottom summary clarity + centered review text */
.bottom-summary{gap:14px!important}
.bottom-summary-main{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex:1 1 auto!important;
  min-width:0!important;
}
.bottom-meta{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}
.bottom-line-chip,
.bottom-line-more{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  max-width:220px!important;
  min-height:30px!important;
  padding:4px 10px!important;
  border-radius:999px!important;
  background:rgba(255,250,244,.88)!important;
  border:1px solid rgba(232,214,183,.96)!important;
  color:#4b3928!important;
  font-size:13px!important;
  font-weight:900!important;
  box-shadow:0 7px 18px rgba(36,24,10,.06)!important;
}
.bottom-line-chip em{
  font-style:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  max-width:130px!important;
}
.bottom-line-chip small{
  font-size:12px!important;
  color:#9b6a23!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.bottom-line-chip.card{background:#fff7e8!important}
.bottom-line-more{background:#f6eee2!important;color:#6e5a45!important}
.bottom-thumb b{
  min-width:24px!important;
  height:20px!important;
  font-size:11px!important;
  padding:0 5px!important;
}
.summary-item .name,
.pro-summary-item .name,
.summary-item .sub,
.pro-summary-item .sub,
.summary-item .amount,
.pro-summary-item .amount{
  text-align:center!important;
}
.summary-item .amount,
.pro-summary-item .amount{
  min-width:116px!important;
}
body.theme-dark .bottom-line-chip,
body.theme-dark .bottom-line-more{
  background:#191512!important;
  border-color:rgba(216,184,110,.22)!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(0,0,0,.22)!important;
}
body.theme-dark .bottom-line-chip small{color:#f4d58a!important}
body.theme-dark .bottom-line-more{color:#d5c4a6!important}
@media(max-width:680px){
  .bottom-summary-main{gap:8px!important;align-items:flex-start!important}
  .bottom-meta{justify-content:flex-start!important}
  .bottom-line-chip,
  .bottom-line-more{max-width:170px!important;font-size:12px!important;padding:4px 8px!important}
  .bottom-line-chip em{max-width:92px!important}
}


/* v1.24 mobile bottom navigation clean: remove selected-items summary from mobile */
.bottom-prev-btn{
  width:100%;
  height:58px;
  border:1px solid rgba(185,137,57,.34);
  border-radius:20px;
  background:rgba(255,250,244,.94);
  color:#8a5f1f;
  font-size:16px;
  font-weight:950;
  display:none;
  align-items:center;
  justify-content:center;
  gap:8px;
  box-shadow:0 10px 24px rgba(35,24,13,.08);
}
.bottom-prev-btn:before{content:"→";font-size:20px;line-height:1}
.bottom-prev-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
body.theme-dark .bottom-prev-btn{background:#171512!important;color:#f4d58a!important;border-color:rgba(216,184,110,.24)!important}
body.layout-mobile .bottom-summary{display:none!important}
body.layout-mobile .bottom-prev-btn{display:flex!important}
body.layout-mobile .bottom-bar{
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  padding:10px 12px 12px!important;
  min-height:auto!important;
}
body.layout-mobile.step-1 .bottom-bar{grid-template-columns:1fr!important}
body.layout-mobile.step-1 .bottom-prev-btn{display:none!important}
body.layout-mobile .continue-btn{height:56px!important;margin:0!important}
body.layout-mobile .continue-btn span,
body.layout-mobile .bottom-prev-btn span{white-space:nowrap!important}
@media(min-width:680px){.bottom-prev-btn{display:none!important}}


/* v1.25 mobile bottom summary compact: keep summary but make it small */
body.layout-mobile .bottom-summary{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:50px!important;
  height:50px!important;
  padding:5px 8px!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:rgba(255,250,244,.96)!important;
  border:1px solid rgba(232,214,183,.92)!important;
  box-shadow:0 8px 20px rgba(35,24,13,.10)!important;
}
body.layout-mobile .bottom-summary-main{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  min-width:0!important;
  flex:1 1 auto!important;
}
body.layout-mobile .bottom-meta{
  display:none!important;
}
body.layout-mobile .bottom-thumbs{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:3px!important;
  overflow:hidden!important;
  max-width:86px!important;
  min-width:0!important;
  padding:0!important;
}
body.layout-mobile .bottom-thumb{
  width:26px!important;
  height:26px!important;
  border-radius:9px!important;
  border:1px solid rgba(216,184,110,.35)!important;
  margin:0!important;
  box-shadow:none!important;
}
body.layout-mobile .bottom-thumb img{
  border-radius:8px!important;
  object-fit:cover!important;
}
body.layout-mobile .bottom-thumb b{
  top:-5px!important;
  left:-5px!important;
  min-width:17px!important;
  height:17px!important;
  padding:0 3px!important;
  font-size:10px!important;
  border-width:1px!important;
}
body.layout-mobile .bottom-thumb.more{
  width:26px!important;
  height:26px!important;
  font-size:11px!important;
  border-radius:9px!important;
}
body.layout-mobile .bottom-summary > strong{
  font-size:14px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  color:#8a5f1f!important;
  margin:0!important;
  text-align:left!important;
  direction:rtl!important;
}
body.layout-mobile .bottom-empty{
  font-size:12px!important;
  white-space:nowrap!important;
}
body.layout-mobile .bottom-prev-btn,
body.layout-mobile .continue-btn{
  height:50px!important;
  border-radius:16px!important;
  font-size:14px!important;
}
body.layout-mobile .bottom-prev-btn:before,
body.layout-mobile .continue-btn:after{
  font-size:17px!important;
}
body.layout-mobile .continue-btn:before{
  font-size:16px!important;
}
body.layout-mobile .bottom-bar{
  grid-template-columns:82px minmax(0,1fr) minmax(132px,1.18fr)!important;
  gap:7px!important;
  padding:7px 9px 9px!important;
  min-height:66px!important;
}
body.layout-mobile.step-1 .bottom-bar{
  grid-template-columns:minmax(0,1fr) minmax(145px,1.2fr)!important;
}
body.layout-mobile.step-1 .bottom-summary{
  display:flex!important;
}
body.layout-mobile.step-1 .bottom-prev-btn{
  display:none!important;
}
body.layout-mobile.step-1 .continue-btn{
  height:50px!important;
}
body.theme-dark.layout-mobile .bottom-summary{
  background:rgba(18,16,14,.96)!important;
  border-color:rgba(216,184,110,.22)!important;
}
body.theme-dark.layout-mobile .bottom-summary > strong{
  color:#f4d58a!important;
}
body.theme-dark.layout-mobile .bottom-thumb{
  border-color:rgba(216,184,110,.24)!important;
}
@media(max-width:390px){
  body.layout-mobile .bottom-bar{
    grid-template-columns:76px minmax(0,1fr) minmax(122px,1.12fr)!important;
    gap:5px!important;
    padding-inline:7px!important;
  }
  body.layout-mobile.step-1 .bottom-bar{
    grid-template-columns:minmax(0,1fr) minmax(132px,1.12fr)!important;
  }
  body.layout-mobile .bottom-summary > strong{font-size:13px!important}
  body.layout-mobile .bottom-thumbs{max-width:58px!important}
  body.layout-mobile .bottom-thumb{width:23px!important;height:23px!important}
  body.layout-mobile .bottom-prev-btn,
  body.layout-mobile .continue-btn{font-size:13px!important}
}

/* v1.26 Galaxy S8+ mobile personalize: form and preview side-by-side */
@media(max-width:760px) and (min-width:340px){
  body.layout-mobile.step-3 .dl-app{
    width:100%!important;
    max-width:100%!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }
  body.layout-mobile.step-3 .personalize-title{
    padding:14px!important;
    border-radius:18px!important;
    margin-bottom:10px!important;
  }
  body.layout-mobile.step-3 .personalize-title h2{font-size:18px!important;margin:4px 0!important}
  body.layout-mobile.step-3 .personalize-title p{display:none!important}
  body.layout-mobile.step-3 .personalize-layout,
  body.layout-mobile.step-3 .premium-personalize{
    display:grid!important;
    grid-template-columns:minmax(178px,1.24fr) minmax(128px,.86fr)!important;
    gap:8px!important;
    align-items:start!important;
    direction:rtl!important;
  }
  body.layout-mobile.step-3 .personalize-form-card{
    grid-column:1!important;
    min-width:0!important;
    padding:9px!important;
    border-radius:17px!important;
  }
  body.layout-mobile.step-3 .triple-preview-card,
  body.layout-mobile.step-3 .preview-card.triple-preview-card{
    grid-column:2!important;
    min-width:0!important;
    position:sticky!important;
    top:8px!important;
    max-height:calc(100vh - 150px)!important;
    overflow-y:auto!important;
    padding:8px!important;
    border-radius:17px!important;
  }
  body.layout-mobile.step-3 .preview-head{
    display:block!important;
    margin-bottom:6px!important;
    padding-bottom:0!important;
  }
  body.layout-mobile.step-3 .preview-head strong{font-size:13px!important;line-height:1.4!important}
  body.layout-mobile.step-3 .preview-head span{display:none!important}
  body.layout-mobile.step-3 .preview-stack{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
  body.layout-mobile.step-3 .preview-mini,
  body.layout-mobile.step-3 .preview-mini.product-preview,
  body.layout-mobile.step-3 .preview-mini.box-preview,
  body.layout-mobile.step-3 .preview-mini.greeting-preview{
    height:112px!important;
    min-height:112px!important;
    border-radius:13px!important;
  }
  body.layout-mobile.step-3 .preview-mini img,
  body.layout-mobile.step-3 .preview-mini.product-preview img,
  body.layout-mobile.step-3 .preview-mini.box-preview img,
  body.layout-mobile.step-3 .preview-mini.greeting-preview img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:contain!important;
    padding:9px!important;
  }
  body.layout-mobile.step-3 .preview-label{
    top:6px!important;
    right:6px!important;
    padding:3px 6px!important;
    font-size:10px!important;
    max-width:90%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body.layout-mobile.step-3 .engrave{
    width:78%!important;
    max-width:110px!important;
    height:38px!important;
    max-height:38px!important;
    font-size:14px!important;
    line-height:1.25!important;
  }
  body.layout-mobile.step-3 .card-engrave{
    height:44px!important;
    max-height:44px!important;
    font-size:11px!important;
  }
  body.layout-mobile.step-3 .personal-block{
    padding:9px 0!important;
    margin-bottom:8px!important;
  }
  body.layout-mobile.step-3 .personal-block h3{
    font-size:13px!important;
    gap:5px!important;
    margin-bottom:7px!important;
  }
  body.layout-mobile.step-3 .personal-block h3 span{
    width:22px!important;
    height:22px!important;
    font-size:10px!important;
    border-radius:8px!important;
  }
  body.layout-mobile.step-3 .field{gap:5px!important;margin-bottom:8px!important}
  body.layout-mobile.step-3 .field label{font-size:11px!important;line-height:1.4!important}
  body.layout-mobile.step-3 .field input,
  body.layout-mobile.step-3 .field textarea{
    font-size:13px!important;
    padding:8px 7px!important;
    border-radius:10px!important;
  }
  body.layout-mobile.step-3 .field textarea{min-height:64px!important}
  body.layout-mobile.step-3 .font-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:5px!important;
  }
  body.layout-mobile.step-3 .font-chip{
    min-width:0!important;
    min-height:48px!important;
    padding:5px 3px!important;
    border-radius:10px!important;
  }
  body.layout-mobile.step-3 .font-chip strong{font-size:18px!important}
  body.layout-mobile.step-3 .font-chip span{font-size:10px!important}
  body.layout-mobile.step-3 .symbol-dropdown summary{
    min-height:38px!important;
    grid-template-columns:27px minmax(0,1fr) auto!important;
    padding:5px!important;
    border-radius:12px!important;
  }
  body.layout-mobile.step-3 .symbol-dropdown summary .summary-icon{
    width:26px!important;
    height:26px!important;
    font-size:16px!important;
  }
  body.layout-mobile.step-3 .symbol-dropdown summary b{font-size:11px!important}
  body.layout-mobile.step-3 .symbol-dropdown summary .summary-action em{display:none!important}
}
@media(max-width:339px){
  body.layout-mobile.step-3 .personalize-layout,
  body.layout-mobile.step-3 .premium-personalize{grid-template-columns:1fr!important}
}


/* v1.27 product gallery + raw personalization + shipping */
.product-gallery-modal{position:relative!important}
.gallery-arrow{
  position:absolute!important;top:50%!important;transform:translateY(-50%)!important;z-index:4!important;
  width:38px!important;height:38px!important;border:1px solid rgba(216,184,110,.45)!important;border-radius:50%!important;
  background:rgba(18,15,12,.72)!important;color:#f7d98c!important;font-size:30px!important;display:grid!important;place-items:center!important;
  backdrop-filter:blur(8px)!important;
}
.gallery-prev{right:12px!important}.gallery-next{left:12px!important}
.gallery-count{
  position:absolute!important;bottom:10px!important;left:50%!important;transform:translateX(-50%)!important;z-index:4!important;
  background:rgba(18,15,12,.78)!important;color:#f7d98c!important;border:1px solid rgba(216,184,110,.38)!important;
  border-radius:999px!important;padding:4px 10px!important;font-size:13px!important;font-weight:900!important;
}
.raw-check{
  display:flex!important;align-items:center!important;gap:8px!important;margin:0 0 10px!important;
  padding:10px 12px!important;border:1px solid rgba(216,184,110,.25)!important;border-radius:14px!important;
  background:#fff8e8!important;color:#7b5518!important;font-size:14px!important;font-weight:900!important;
}
.raw-check input{width:auto!important}
body.theme-dark .raw-check{background:#1d1711!important;color:#f4d58a!important;border-color:rgba(216,184,110,.22)!important}

/* ===== v1.28 full product image + province/city shipping selector ===== */
.product-gallery-modal{
  background:#fff!important;
  padding:14px!important;
}
.product-gallery-modal img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  background:#fff!important;
}
.checkout-card select:disabled{
  opacity:.62!important;
  cursor:not-allowed!important;
  background:#f1eee8!important;
}
@media(min-width:860px){
  .product-modal .product-gallery-modal{
    min-height:420px!important;
  }
}
@media(max-width:859px){
  .product-modal-backdrop{overflow:auto!important;align-items:flex-end!important}
  .product-modal{
    display:flex!important;
    flex-direction:column!important;
    overflow:auto!important;
    max-height:calc(100dvh - 24px)!important;
  }
  .product-modal .product-gallery-modal{
    height:min(48dvh,390px)!important;
    min-height:270px!important;
    flex:0 0 auto!important;
    padding:12px!important;
  }
  .product-modal .modal-body{
    max-height:none!important;
    overflow:visible!important;
    flex:0 0 auto!important;
  }
}


/* ===== v1.29 definitive no-crop product gallery =====
   Keep the intrinsic image ratio. Unlike width:100% + height:100%, this
   cannot crop the uploaded image even when older modal rules are cached. */
.product-modal .product-gallery-modal{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  padding:16px!important;
  background:#fff!important;
}
.product-modal .product-gallery-modal > img,
.product-modal .product-gallery-modal > .gallery-image-full{
  flex:0 1 auto!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:scale-down!important;
  object-position:center center!important;
  margin:auto!important;
  padding:0!important;
  display:block!important;
  transform:none!important;
}
@media(max-width:859px){
  .product-modal .product-gallery-modal{
    height:clamp(300px,52dvh,470px)!important;
    min-height:300px!important;
    max-height:52dvh!important;
    flex:0 0 auto!important;
  }
  .product-modal .product-gallery-modal > img,
  .product-modal .product-gallery-modal > .gallery-image-full{
    max-width:calc(100% - 4px)!important;
    max-height:calc(52dvh - 32px)!important;
  }
}
@media(min-width:860px){
  .product-modal .product-gallery-modal{
    height:calc(100vh - 72px)!important;
    min-height:420px!important;
    max-height:720px!important;
  }
  .product-modal .product-gallery-modal > img,
  .product-modal .product-gallery-modal > .gallery-image-full{
    max-height:calc(100vh - 108px)!important;
  }
}


/* ===== v1.30 capacity bar joined / no checkmarks ===== */
.cap-visual{overflow:hidden}
.cap-box,
body.step-2 .cap-box,body.step-3 .cap-box,body.step-4 .cap-box{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:0!important;
  padding:3px!important;
  overflow:hidden!important;
  border-radius:14px!important;
}
.cap-segment,
body.step-2 .cap-segment,body.step-3 .cap-segment,body.step-4 .cap-segment{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  position:relative!important;
}
.cap-segment + .cap-segment{
  box-shadow:inset 1px 0 0 rgba(255,255,255,.12)!important;
}
body.theme-light .cap-segment + .cap-segment,
body.theme-light.step-1 .cap-segment + .cap-segment,
body.step-2 .cap-segment + .cap-segment,body.step-3 .cap-segment + .cap-segment,body.step-4 .cap-segment + .cap-segment{
  box-shadow:inset 1px 0 0 rgba(99,74,35,.08)!important;
}
.cap-segment:first-child, .cap-segment:first-child span{border-radius:10px 0 0 10px!important}
.cap-segment:last-child, .cap-segment:last-child span{border-radius:0 10px 10px 0!important}
.cap-segment span,
body.step-2 .cap-segment span,body.step-3 .cap-segment span,body.step-4 .cap-segment span{
  display:block!important;
  height:100%!important;
  border-radius:0!important;
}
.cap-segment span:before,
body.step-2 .cap-segment span:before,body.step-3 .cap-segment span:before,body.step-4 .cap-segment span:before{
  content:none!important;
  display:none!important;
}


/* ===== v1.32 capacity bar flat inner seam ===== */
.cap-segment.leading-fill span{
  border-top-left-radius:0!important;
  border-bottom-left-radius:0!important;
}


/* ===== v1.34 definitive no rounded inner seams ===== */
.cap-box,
body.step-1 .cap-box,body.step-2 .cap-box,body.step-3 .cap-box,body.step-4 .cap-box{
  overflow:hidden!important;
}
.cap-segment,
.cap-segment:first-child,
.cap-segment:last-child,
.cap-segment span,
.cap-segment:first-child span,
.cap-segment:last-child span,
body.step-1 .cap-segment,body.step-2 .cap-segment,body.step-3 .cap-segment,body.step-4 .cap-segment,
body.step-1 .cap-segment span,body.step-2 .cap-segment span,body.step-3 .cap-segment span,body.step-4 .cap-segment span{
  border-radius:0!important;
}
.cap-segment.leading-fill span{
  border-radius:0!important;
}


/* Final centered brand header */
.dl-header,
body.layout-desktop .dl-header{
  grid-template-columns:minmax(0,1fr)!important;
  justify-items:center!important;
}
.dl-header .brand{
  width:100%!important;
  max-width:760px!important;
  margin:0 auto!important;
}

/* v1.37 mobile navigation, bottom-cart removal and greeting-card zoom */
.bottom-thumb{position:relative!important;overflow:visible!important}
.bottom-remove{
  position:absolute;top:-8px;right:-8px;z-index:5;width:19px;height:19px;border:1px solid #fff;border-radius:50%;
  background:#a53232;color:#fff;display:grid;place-items:center;padding:0;font:900 14px/1 Arial,sans-serif;
  box-shadow:0 5px 12px rgba(92,20,20,.32);cursor:pointer
}
.bottom-remove:hover{background:#7f1f1f;transform:scale(1.06)}
body.layout-mobile .bottom-remove{width:17px;height:17px;top:-7px;right:-7px;font-size:14px}
body.theme-dark .bottom-remove{border-color:#171512}

.card-zoom-trigger{display:block;width:100%;padding:0;border:0;background:transparent;position:relative;cursor:zoom-in;border-radius:19px;overflow:hidden}
.card-zoom-trigger img{display:block}
.card-zoom-trigger span{position:absolute;left:8px;bottom:8px;background:rgba(17,14,11,.76);color:#f5d894;border:1px solid rgba(216,184,110,.36);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:900;backdrop-filter:blur(8px)}
.card-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(12,10,8,.78);display:grid;place-items:center;padding:18px;backdrop-filter:blur(10px);animation:dlFadeIn .16s ease}
.card-lightbox-panel{width:min(720px,100%);max-height:92vh;background:#fffaf4;border:1px solid rgba(216,184,110,.5);border-radius:26px;padding:14px;position:relative;box-shadow:0 28px 90px rgba(0,0,0,.42);display:grid;gap:12px}
.card-lightbox-panel>img{width:100%;height:auto;max-height:76vh;object-fit:contain;border-radius:19px;background:#171512}
.card-lightbox-panel>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 7px 4px}
.card-lightbox-panel strong{font-size:17px;color:#30251d}.card-lightbox-panel span{font-size:14px;color:#9b6a23;font-weight:900}
.card-lightbox-close{position:absolute;top:21px;right:21px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:rgba(17,14,11,.84);color:#fff;font-size:27px;display:grid;place-items:center;cursor:pointer}
@keyframes dlFadeIn{from{opacity:0}to{opacity:1}}
.woo-profile-badge{grid-column:1/-1;background:#eef8f2;border:1px solid #b9ddc6;color:#257047;border-radius:14px;padding:10px 12px;font-size:13px;font-weight:900;margin-bottom:10px}
body.theme-dark .woo-profile-badge{background:#142018;border-color:#2f5840;color:#a9e0bc}

body.layout-mobile .bottom-prev-btn:before{content:"→"!important}
body.layout-mobile .continue-btn:after{content:"←"!important}
body.layout-mobile .bottom-prev-btn,body.layout-mobile .continue-btn{letter-spacing:0!important;font-weight:950!important}
@media(max-width:390px){
  body.layout-mobile .bottom-prev-btn span,body.layout-mobile .continue-btn span{font-size:12px!important}
  .card-lightbox{padding:9px}.card-lightbox-panel{border-radius:20px;padding:9px}.card-lightbox-close{top:14px;right:14px}
}



/* ===== v1.40 multi-pack cart ===== */
.pack-cart-dock{position:fixed;right:max(14px,calc(50% - 246px));bottom:94px;z-index:31;border:1px solid rgba(197,154,78,.34);background:rgba(255,252,247,.96);color:#3f3020;border-radius:999px;padding:10px 14px;display:flex;align-items:center;gap:9px;box-shadow:0 14px 38px rgba(47,31,12,.18);font-weight:900;cursor:pointer;backdrop-filter:blur(12px)}
.pack-cart-dock b{min-width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#e9dfd1;color:#5d4b32;font-size:13px}.pack-cart-dock.has-items{background:linear-gradient(135deg,#1b1712,#2b2219);color:#f4d995;border-color:#c79a4c}.pack-cart-dock.has-items b{background:#c99a4e;color:#fff}
.multi-pack-status,.pack-save-hint{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 13px;padding:11px 13px;border:1px solid #ead9bc;border-radius:16px;background:#fff9ec;color:#5e4a2d;font-size:14px}.multi-pack-status button{border:0;border-radius:12px;background:#1d1813;color:#f3d58d;padding:8px 11px;font-weight:900}.pack-save-hint b{color:#6f501d}.pack-save-hint span{white-space:nowrap}
.bottom-total-stack{display:grid;justify-items:end;gap:1px}.bottom-total-stack small{font-size:11px;color:#9a7b43;white-space:nowrap}
.pack-cart-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(15,11,8,.58);backdrop-filter:blur(5px);display:flex;justify-content:flex-start;opacity:0;transition:opacity .2s}.pack-cart-backdrop.show{opacity:1}.pack-cart-drawer{width:min(620px,100%);height:100%;overflow:auto;background:#fbf7f0;border-left:1px solid rgba(223,197,153,.72);box-shadow:24px 0 70px rgba(0,0,0,.22);padding:18px 18px 110px;transform:translateX(-24px);transition:transform .22s}.pack-cart-backdrop.show .pack-cart-drawer{transform:none}.pack-cart-drawer>header{position:sticky;top:-18px;z-index:4;margin:-18px -18px 14px;padding:18px;background:rgba(251,247,240,.96);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eadfce}.pack-cart-drawer header span{font-size:13px;color:#9a7a43}.pack-cart-drawer header h2{margin:3px 0 0;font-size:22px}.pack-cart-close{width:38px;height:38px;border-radius:50%;border:1px solid #e2d2b7;background:#fff;font-size:27px;color:#6b5433}
.pack-cart-list{display:grid;gap:10px}.pack-cart-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:11px;align-items:center;background:#fff;border:1px solid #eadfce;border-radius:20px;padding:10px;box-shadow:0 9px 24px rgba(41,28,12,.06)}.pack-cart-item>img{width:64px;height:64px;object-fit:cover;border-radius:15px;background:#eee}.pack-cart-info{display:grid;gap:3px;min-width:0}.pack-cart-info strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pack-cart-info span{font-size:12px;color:#837665}.pack-cart-info b{font-size:13px;color:#9b6d25}.pack-cart-qty{display:flex;align-items:center;gap:6px;background:#f7efe3;border:1px solid #eadcc7;border-radius:999px;padding:4px}.pack-cart-qty button{width:28px;height:28px;border:0;border-radius:50%;background:#fff;color:#8b6428;font-size:19px}.pack-cart-qty span{min-width:20px;text-align:center;font-weight:900}.pack-cart-actions{grid-column:2/-1;display:flex;gap:7px;justify-content:flex-end}.pack-cart-actions button,.pack-cart-toolbar button{border:1px solid #e3d2b6;background:#fff;border-radius:10px;padding:7px 10px;font-size:12px;font-weight:900;color:#59452b}.pack-cart-actions .danger{color:#a03e3e;border-color:#efd0d0;background:#fff7f7}.pack-cart-warning{margin-top:11px;border:1px solid #ebc97f;background:#fff5d9;color:#72531f;border-radius:15px;padding:10px 12px;font-size:13px}.pack-cart-toolbar{display:flex;justify-content:flex-start;margin:12px 0}.pack-cart-toolbar button{background:#1c1813;color:#f2d38b;border-color:#1c1813;padding:10px 14px}.pack-cart-empty{padding:26px;text-align:center;border:1px dashed #d8c8ae;border-radius:18px;color:#8e7e68;background:#fff}.pack-cart-checkout{margin-top:16px;border-top:1px solid #e5d9c7;padding-top:16px}.pack-cart-checkout h3{margin:0 0 12px}.pack-checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pack-checkout-fields .field{margin:0}.pack-checkout-fields .field.full{grid-column:1/-1}.pack-cart-totals{display:grid;gap:8px;margin-top:14px;border:1px solid #e5d6bc;background:#fff;border-radius:17px;padding:12px}.pack-cart-totals>div{display:flex;justify-content:space-between;gap:10px}.pack-cart-totals .grand{border-top:1px solid #eadfce;padding-top:9px;font-size:18px;color:#815e1e}.cart-finalize-btn{width:100%;height:56px;margin-top:12px;border:0;border-radius:17px;background:linear-gradient(135deg,#d7b568,#a97831);color:#fff;font-weight:900;font-size:16px;box-shadow:0 14px 30px rgba(169,120,49,.25)}.cart-finalize-btn:disabled{background:#d4cec5;color:#8c857b;box-shadow:none}.dl-toast{position:fixed;left:50%;bottom:165px;z-index:1200;transform:translate(-50%,14px);opacity:0;background:#1d1813;color:#f4d895;border:1px solid rgba(240,208,139,.3);border-radius:999px;padding:11px 16px;font-size:14px;font-weight:900;box-shadow:0 14px 36px rgba(0,0,0,.28);transition:.2s}.dl-toast.show{opacity:1;transform:translate(-50%,0)}
body.theme-dark .pack-cart-dock{background:#211d18;color:#f4d793;border-color:#5e4a2d}body.theme-dark .pack-cart-drawer{background:#171512;color:#fff;border-color:#3b3329}body.theme-dark .pack-cart-drawer>header{background:rgba(23,21,18,.96);border-color:#3a332a}body.theme-dark .pack-cart-item,body.theme-dark .pack-cart-checkout .field input,body.theme-dark .pack-cart-checkout .field textarea,body.theme-dark .pack-cart-checkout .field select,body.theme-dark .pack-cart-totals{background:#221f1b;color:#fff;border-color:#3a332b}body.theme-dark .pack-cart-info span{color:#b9ac99}
@media(max-width:620px){.pack-cart-dock{right:12px;bottom:94px}.pack-cart-drawer{padding:14px 14px 110px}.pack-cart-drawer>header{top:-14px;margin:-14px -14px 12px;padding:14px}.pack-cart-item{grid-template-columns:54px minmax(0,1fr);}.pack-cart-item>img{width:54px;height:54px}.pack-cart-qty{grid-column:1/2;grid-row:2}.pack-cart-actions{grid-column:2/3}.pack-checkout-fields{grid-template-columns:1fr}.pack-checkout-fields .field.full{grid-column:auto}.multi-pack-status,.pack-save-hint{align-items:flex-start;flex-direction:column}.pack-save-hint span{white-space:normal}}


/* v1.40: direct quantity editing for saved packs */
.pack-cart-qty input{
  width:48px;height:34px;border:1px solid rgba(202,168,99,.42);border-radius:10px;
  background:#fff;color:#2d2118;text-align:center;font:inherit;font-weight:900;outline:none;
  appearance:textfield;-moz-appearance:textfield;
}
.pack-cart-qty input::-webkit-outer-spin-button,.pack-cart-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pack-cart-qty input:focus{border-color:#c49a45;box-shadow:0 0 0 3px rgba(196,154,69,.14)}
body.theme-dark .pack-cart-qty input{background:#211d18;color:#f5d58b;border-color:rgba(216,184,110,.34)}

.stepper{grid-template-columns:repeat(5,minmax(0,1fr))!important}
body.step-5 .stepper:before{background:#e8dfd2!important}
body.step-5 .capacity-card{display:none!important}
.review-only-layout{grid-template-columns:minmax(0,1fr)!important}
.review-only-layout .review-main{max-width:920px;margin:0 auto;width:100%}
.compact-pack-cart .pack-cart-simple-footer{position:sticky;bottom:-110px;margin:16px -18px -110px;padding:15px 18px 22px;background:linear-gradient(180deg,rgba(251,247,240,.2),#fbf7f0 22%);border-top:1px solid #e5d9c7;display:grid;gap:11px;z-index:3}
.compact-pack-cart .pack-cart-simple-footer>div{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid #eadfce;border-radius:16px;padding:11px 13px}
.compact-pack-cart .pack-cart-simple-footer span{font-size:13px;color:#74695c}.compact-pack-cart .pack-cart-simple-footer b{font-size:17px;color:#7e5b20}
.checkout-page-v141{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:14px;align-items:start}
.checkout-main-v141,.checkout-side-v141{display:grid;gap:14px}.checkout-side-v141{position:sticky;top:92px}
.checkout-card-v141{position:static!important}.checkout-pack-list{display:grid;gap:9px}
.checkout-pack-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px;border:1px solid #eadfce;background:#fff;border-radius:17px}
.checkout-pack-row img{width:54px;height:54px;border-radius:13px;object-fit:cover;background:#eee}.checkout-pack-row>div{display:grid;gap:3px;min-width:0}.checkout-pack-row strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkout-pack-row span{font-size:12px;color:#7f7365}.checkout-pack-row>b{font-size:13px;color:#8f6628;white-space:nowrap}.checkout-pack-row button{border:1px solid #dfceb2;background:#fff;border-radius:10px;padding:7px 9px;color:#735422;font-size:12px;font-weight:900}
.empty-checkout{display:flex;gap:9px;flex-wrap:wrap}.empty-checkout button{border:0;border-radius:14px;padding:11px 15px;background:#1c1813;color:#f1d18b;font-weight:900}.empty-checkout button+button{background:#fff;border:1px solid #dfceb2;color:#725321}
@media(max-width:859px){
  .stepper{overflow:visible!important}.stepper:before{right:25px!important;left:25px!important}.step .num{width:32px!important;height:32px!important;font-size:12px!important}.step span{font-size:10px!important;max-width:62px;text-align:center}.stepper:before{top:16px!important}
  .checkout-page-v141{grid-template-columns:1fr}.checkout-side-v141{position:static}.checkout-pack-row{grid-template-columns:48px minmax(0,1fr) auto}.checkout-pack-row img{width:48px;height:48px}.checkout-pack-row>b{grid-column:2}.checkout-pack-row button{grid-column:3;grid-row:1/3}.compact-pack-cart .pack-cart-simple-footer{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}
}
@media(max-width:390px){.step span{font-size:10px!important}.step .num{width:29px!important;height:29px!important}.stepper:before{top:14px!important;right:20px!important;left:20px!important}.checkout-pack-row{grid-template-columns:44px minmax(0,1fr)}.checkout-pack-row img{width:44px;height:44px}.checkout-pack-row>b{grid-column:2}.checkout-pack-row button{grid-column:1/-1;grid-row:auto}}

/* checkout account login */
.checkout-login-strip{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 12px;margin:-3px 0 14px;border:1px solid #eadfcf;background:#fffaf2;border-radius:14px;font-size:14px;color:#6f6254}.checkout-login-strip button{border:0;background:transparent;color:#a2712d;font-weight:900;padding:2px 4px;cursor:pointer}.customer-login-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px}.customer-login-backdrop{position:absolute;inset:0;background:rgba(20,16,12,.55);backdrop-filter:blur(4px)}.customer-login-box{position:relative;width:min(360px,100%);background:#fff;border:1px solid #eadbc4;border-radius:22px;padding:24px 20px 20px;box-shadow:0 28px 90px rgba(0,0,0,.28);text-align:center}.customer-login-close{position:absolute;top:10px;left:10px;width:32px;height:32px;border:0;border-radius:50%;background:#f5eee4;font-size:23px;color:#6f6254}.customer-login-brand{font-family:Georgia,serif;letter-spacing:2px;color:#8f682c;font-weight:900}.customer-login-brand span{color:#2a2119}.customer-login-box h3{margin:13px 0 5px}.customer-login-box p{margin:0 0 16px;color:#827568;font-size:13px;line-height:1.8}.customer-login-box label{display:grid;gap:7px;text-align:right;font-size:14px;font-weight:900;color:#5d5043}.customer-login-box input{width:100%;height:48px;border:1px solid #dfd1be;border-radius:14px;padding:0 13px;outline:none;background:#fff}.customer-login-box input:focus{border-color:#c69a52;box-shadow:0 0 0 4px rgba(198,154,82,.13)}.customer-login-box #customerSendOtp,.customer-login-box #customerVerifyOtp{width:100%;height:48px;border:0;border-radius:14px;margin-top:12px;background:#1f1a15;color:#f3d28b;font-weight:900}.customer-login-box button:disabled{opacity:.55}.login-secondary{width:100%;border:0;background:transparent;color:#8c672d;font-weight:900;margin-top:9px}.otp-compact{text-align:center;letter-spacing:8px;font-size:22px;direction:ltr}.login-error{background:#fff0f0;border:1px solid #efcaca;color:#9a3232;border-radius:12px;padding:9px;margin-bottom:10px;font-size:13px}.woo-profile-badge{background:#eff8f0!important;border-color:#cce4cf!important;color:#2b6d38!important}


/* ===== v1.44 mobile polish, fast selected-products drawer and fixed controls ===== */
.selected-drawer-toggle,
.selected-products-sheet{display:none}

.pack-cart-controls{grid-column:2/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.pack-cart-qty{direction:ltr;flex:0 0 auto!important;display:grid!important;grid-template-columns:36px 44px 36px!important;align-items:center!important;gap:4px!important;padding:4px!important;border-radius:14px!important}
.pack-cart-qty button{width:36px!important;height:36px!important;min-width:36px!important;border-radius:10px!important;display:grid!important;place-items:center!important;padding:0!important;line-height:1!important;font-size:22px!important;font-weight:900!important;cursor:pointer}
.pack-cart-qty input{width:44px!important;height:36px!important;min-width:0!important;padding:0 3px!important;border-radius:10px!important;font-size:15px!important;line-height:36px!important}
.pack-cart-actions{grid-column:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;min-width:0}
.pack-cart-actions button{min-height:36px;padding:7px 10px!important;white-space:nowrap}

@media(max-width:859px){
  html,body{max-width:100%;overflow-x:hidden}
  body{padding-bottom:calc(84px + env(safe-area-inset-bottom))!important}
  .dl-app{width:100%!important;max-width:100%!important;margin:0 auto!important;padding-left:10px!important;padding-right:10px!important;padding-bottom:26px!important}
  #stepContent{min-width:0!important}
  .bottom-bar{
    width:min(520px,100%)!important;
    min-height:74px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 50px minmax(0,1fr)!important;
    align-items:center!important;
    gap:6px!important;
    padding:9px 8px calc(9px + env(safe-area-inset-bottom))!important;
    background:linear-gradient(180deg,rgba(248,242,233,.12),rgba(248,242,233,.98) 28%,#f8f2e9)!important;
    overflow:visible!important;
  }
  body.theme-dark .bottom-bar{background:linear-gradient(180deg,rgba(17,15,13,.08),rgba(17,15,13,.97) 28%,#110f0d)!important}
  body.layout-mobile .bottom-summary{display:none!important}
  body.layout-mobile .bottom-prev-btn,
  body.layout-mobile .continue-btn{
    width:100%!important;
    min-width:0!important;
    height:54px!important;
    min-height:54px!important;
    margin:0!important;
    padding:0 8px!important;
    border-radius:15px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    overflow:hidden!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    box-sizing:border-box!important;
  }
  body.layout-mobile .bottom-prev-btn span,
  body.layout-mobile .continue-btn span{display:block!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:12px!important;line-height:1.25!important}
  body.layout-mobile .bottom-prev-btn:before,
  body.layout-mobile .continue-btn:after{flex:0 0 auto!important;font-size:17px!important}
  body.layout-mobile.step-1 .bottom-prev-btn{display:flex!important;visibility:hidden!important;pointer-events:none!important}
  body.layout-mobile.step-1 .bottom-bar{grid-template-columns:minmax(0,1fr) 50px minmax(0,1fr)!important}
  .selected-drawer-toggle{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:1fr!important;
    place-items:center!important;
    width:50px!important;
    height:50px!important;
    padding:0!important;
    border:1px solid rgba(184,133,47,.42)!important;
    border-radius:50%!important;
    background:linear-gradient(145deg,#fffdf8,#f4e4c4)!important;
    color:#9c6b20!important;
    box-shadow:0 8px 20px rgba(66,43,12,.15)!important;
    position:relative!important;
    z-index:52!important;
    cursor:pointer!important;
    transition:transform .11s ease,background .11s ease!important;
  }
  .selected-drawer-toggle .selected-heart{font-size:20px!important;line-height:1!important;transform:translateY(2px)!important}
  .selected-drawer-toggle i{position:absolute!important;top:3px!important;font-style:normal!important;font-size:14px!important;line-height:1!important;transition:transform .11s ease!important}
  .selected-drawer-toggle b{position:absolute!important;top:-5px!important;left:-5px!important;min-width:20px!important;height:20px!important;padding:0 4px!important;border-radius:999px!important;background:#ba8533!important;color:#fff!important;border:2px solid #faf5ed!important;font-size:11px!important;display:grid!important;place-items:center!important}
  .selected-drawer-toggle:disabled{opacity:.45!important;cursor:default!important;box-shadow:none!important}
  body.selected-drawer-open .selected-drawer-toggle{transform:translateY(-2px)!important;background:linear-gradient(145deg,#2a2118,#17130f)!important;color:#f1cf80!important}
  body.selected-drawer-open .selected-drawer-toggle i{transform:rotate(180deg)!important}
  body.theme-dark .selected-drawer-toggle{background:#211c16!important;color:#f2d083!important;border-color:rgba(216,184,110,.34)!important}
  body.theme-dark .selected-drawer-toggle b{border-color:#15120f!important}

  .selected-products-sheet{
    display:block!important;
    position:fixed!important;
    left:50%!important;
    bottom:calc(72px + env(safe-area-inset-bottom))!important;
    width:min(520px,100%)!important;
    max-height:min(42vh,330px)!important;
    z-index:50!important;
    padding:10px 10px 12px!important;
    background:rgba(255,252,247,.985)!important;
    border:1px solid rgba(220,196,153,.82)!important;
    border-bottom:0!important;
    border-radius:20px 20px 0 0!important;
    box-shadow:0 -14px 40px rgba(42,29,11,.16)!important;
    transform:translate3d(-50%,calc(100% + 16px),0)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .12s cubic-bezier(.2,.72,.25,1),opacity .08s linear,visibility 0s linear .12s!important;
    will-change:transform!important;
    contain:layout paint!important;
  }
  .selected-products-sheet.open{
    transform:translate3d(-50%,0,0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:transform .12s cubic-bezier(.2,.72,.25,1),opacity .08s linear!important;
  }
  .selected-products-sheet>header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:2px 4px 9px!important;border-bottom:1px solid #ecdfca!important}
  .selected-products-sheet>header strong{font-size:14px!important;color:#392c20!important}
  .selected-products-sheet>header span{font-size:12px!important;color:#9d742f!important;font-weight:900!important}
  .selected-products-list{display:grid!important;gap:7px!important;max-height:calc(min(42vh,330px) - 48px)!important;overflow:auto!important;padding-top:8px!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
  .selected-products-row{display:grid!important;grid-template-columns:44px minmax(0,1fr) auto!important;align-items:center!important;gap:9px!important;padding:7px!important;background:#fff!important;border:1px solid #eadfce!important;border-radius:13px!important;box-shadow:0 5px 14px rgba(45,31,13,.045)!important}
  .selected-products-row img{width:44px!important;height:44px!important;border-radius:10px!important;object-fit:cover!important;background:#eee!important}
  .selected-products-row>div{display:grid!important;gap:2px!important;min-width:0!important}
  .selected-products-row strong{font-size:13px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#382d23!important}
  .selected-products-row span{font-size:11px!important;color:#85796c!important}
  .selected-products-row button{height:34px!important;border:1px solid #efcece!important;border-radius:10px!important;background:#fff6f6!important;color:#a23f3f!important;padding:0 10px!important;font-size:11px!important;font-weight:900!important;cursor:pointer!important}
  .selected-products-empty{padding:20px 8px!important;text-align:center!important;color:#8d8173!important;font-size:13px!important}
  body.theme-dark .selected-products-sheet{background:rgba(24,21,18,.99)!important;border-color:rgba(216,184,110,.2)!important;box-shadow:0 -18px 44px rgba(0,0,0,.42)!important}
  body.theme-dark .selected-products-sheet>header{border-color:#3b3328!important}
  body.theme-dark .selected-products-sheet>header strong{color:#f4d995!important}
  body.theme-dark .selected-products-row{background:#211d19!important;border-color:#3a3229!important}
  body.theme-dark .selected-products-row strong{color:#fff!important}
  body.theme-dark .selected-products-row span{color:#b8ab99!important}
  body.selected-drawer-open .pack-cart-dock{opacity:0!important;pointer-events:none!important;transform:translateY(8px)!important}
  body.step-5 .selected-drawer-toggle{visibility:hidden!important;pointer-events:none!important}

  .pack-cart-drawer{width:100%!important;max-width:520px!important}
  .pack-cart-item{grid-template-columns:54px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;padding:10px!important}
  .pack-cart-item>img{grid-column:1!important;grid-row:1!important;width:54px!important;height:54px!important}
  .pack-cart-info{grid-column:2!important;grid-row:1!important}
  .pack-cart-controls{grid-column:1/-1!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;padding-top:8px!important;border-top:1px solid #eee3d2!important}
  .pack-cart-actions{margin-right:auto!important;flex-wrap:wrap!important}
  .pack-cart-actions button{min-height:36px!important;padding:7px 9px!important}
  body.theme-dark .pack-cart-controls{border-color:#3a332a!important}

  .pack-checkout-fields{grid-template-columns:1fr!important}
  .pack-checkout-fields .field.full{grid-column:auto!important}
  .field input,.field textarea,.field select{font-size:18px!important}
  .customer-login-box input{font-size:18px!important;pointer-events:auto!important;user-select:text!important;-webkit-user-select:text!important;touch-action:manipulation!important}
  .customer-login-box{max-height:calc(100dvh - 24px)!important;overflow:auto!important}
}

@media(max-width:390px){
  .dl-app{padding-left:7px!important;padding-right:7px!important}
  .bottom-bar{grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr)!important;gap:4px!important;padding-left:6px!important;padding-right:6px!important}
  .selected-drawer-toggle{width:46px!important;height:46px!important}
  body.layout-mobile .bottom-prev-btn,body.layout-mobile .continue-btn{height:50px!important;min-height:50px!important;padding:0 5px!important;border-radius:13px!important}
  body.layout-mobile .bottom-prev-btn span,body.layout-mobile .continue-btn span{font-size:11px!important}
  .section-title,.builder-hero,.review-card,.customer-card,.accordion-card,.preview-card{border-radius:18px!important}
  .section-title h2,.builder-hero h2{font-size:21px!important}
  .grid{gap:8px!important}
  .product-card,.card-option{border-radius:17px!important}
  .pack-cart-controls{align-items:stretch!important;flex-direction:column!important}
  .pack-cart-qty{align-self:flex-start!important}
  .pack-cart-actions{width:100%!important;justify-content:stretch!important}
  .pack-cart-actions button{flex:1 1 auto!important}
}

@media(min-width:860px){
  .selected-drawer-toggle,.selected-products-sheet{display:none!important}
}

@media(prefers-reduced-motion:reduce){
  .selected-products-sheet,.selected-drawer-toggle,.selected-drawer-toggle i{transition:none!important}
}

/* v1.44 checkout bottom bar uses two stable buttons */
@media(max-width:859px){
  body.layout-mobile.step-5 .bottom-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  body.layout-mobile.step-5 .selected-drawer-toggle{display:none!important}
}


/* ===== v1.45 clean and clear mobile bottom navigation ===== */
@media (max-width:859px){
  body{padding-bottom:calc(104px + env(safe-area-inset-bottom))!important}
  body.layout-mobile .pack-cart-dock{display:none!important}
  body.layout-mobile .bottom-bar{
    left:50%!important;
    right:auto!important;
    bottom:6px!important;
    transform:translateX(-50%)!important;
    width:min(508px,calc(100% - 12px))!important;
    min-height:76px!important;
    grid-template-columns:minmax(0,1fr) 66px minmax(0,1fr)!important;
    gap:8px!important;
    align-items:end!important;
    padding:10px 10px calc(10px + env(safe-area-inset-bottom))!important;
    border:1px solid rgba(213,187,142,.72)!important;
    border-radius:22px!important;
    background:rgba(255,252,247,.985)!important;
    box-shadow:0 -8px 30px rgba(50,34,13,.14),0 10px 24px rgba(50,34,13,.10)!important;
    overflow:visible!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    z-index:60!important;
  }
  body.theme-dark.layout-mobile .bottom-bar{
    background:rgba(25,22,18,.99)!important;
    border-color:rgba(216,184,110,.25)!important;
    box-shadow:0 -8px 30px rgba(0,0,0,.32)!important;
  }
  body.layout-mobile.step-1 .bottom-bar,
  body.layout-mobile.step-2 .bottom-bar,
  body.layout-mobile.step-3 .bottom-bar,
  body.layout-mobile.step-4 .bottom-bar{
    grid-template-columns:minmax(0,1fr) 66px minmax(0,1fr)!important;
  }
  body.layout-mobile .bottom-summary{display:none!important}
  body.layout-mobile .bottom-prev-btn,
  body.layout-mobile .continue-btn{
    height:52px!important;
    min-height:52px!important;
    border-radius:15px!important;
    padding:0 10px!important;
    margin:0!important;
    align-self:end!important;
    box-shadow:none!important;
    font-size:13px!important;
    line-height:1.25!important;
  }
  body.layout-mobile .bottom-prev-btn{
    border:1px solid #dfcfb4!important;
    background:#fffaf2!important;
    color:#6f5732!important;
  }
  body.theme-dark.layout-mobile .bottom-prev-btn{
    border-color:#514432!important;
    background:#27221c!important;
    color:#f0d292!important;
  }
  body.layout-mobile .continue-btn{
    border:1px solid #bd8834!important;
    background:linear-gradient(135deg,#e0bc68,#bf8730)!important;
    color:#fff!important;
  }
  body.layout-mobile .bottom-prev-btn span,
  body.layout-mobile .continue-btn span{
    font-size:12px!important;
    font-weight:900!important;
    line-height:1.35!important;
    max-width:100%!important;
    white-space:normal!important;
    text-align:center!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  body.layout-mobile .bottom-prev-btn:before,
  body.layout-mobile .continue-btn:after{font-size:16px!important}
  body.layout-mobile.step-1 .bottom-prev-btn{
    display:flex!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.layout-mobile .selected-drawer-toggle{
    display:grid!important;
    grid-template-rows:12px 22px 12px!important;
    place-items:center!important;
    align-content:center!important;
    width:62px!important;
    height:62px!important;
    min-width:62px!important;
    padding:3px 0 4px!important;
    margin:0 auto 6px!important;
    border:1px solid #c89748!important;
    border-radius:20px!important;
    background:linear-gradient(180deg,#fffdf8,#f5e5c8)!important;
    color:#8f641f!important;
    box-shadow:0 7px 18px rgba(84,55,15,.16)!important;
    position:relative!important;
    z-index:65!important;
    transform:none!important;
    transition:background .09s ease,color .09s ease,border-color .09s ease!important;
  }
  body.layout-mobile .selected-drawer-toggle .selected-toggle-arrow{
    position:static!important;
    display:block!important;
    font-style:normal!important;
    font-size:13px!important;
    line-height:1!important;
    transform:none!important;
    transition:transform .09s ease!important;
  }
  body.layout-mobile .selected-drawer-toggle .selected-heart{
    display:block!important;
    font-size:21px!important;
    line-height:1!important;
    transform:none!important;
  }
  body.layout-mobile .selected-drawer-toggle .selected-toggle-label{
    display:block!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:900!important;
    white-space:nowrap!important;
  }
  body.layout-mobile .selected-drawer-toggle b{
    top:-6px!important;
    left:-5px!important;
    min-width:21px!important;
    height:21px!important;
    padding:0 4px!important;
    border:2px solid #fffaf3!important;
    border-radius:999px!important;
    background:#b67d28!important;
    color:#fff!important;
    font-size:11px!important;
    box-shadow:0 3px 8px rgba(74,48,12,.18)!important;
  }
  body.layout-mobile.selected-drawer-open .selected-drawer-toggle{
    transform:none!important;
    background:linear-gradient(180deg,#2c241b,#17130f)!important;
    color:#f1d18a!important;
    border-color:#c79746!important;
  }
  body.layout-mobile.selected-drawer-open .selected-drawer-toggle .selected-toggle-arrow{transform:rotate(180deg)!important}
  body.theme-dark.layout-mobile .selected-drawer-toggle{
    background:linear-gradient(180deg,#2b251e,#1c1814)!important;
    color:#f0d08a!important;
    border-color:#725b37!important;
  }
  body.theme-dark.layout-mobile .selected-drawer-toggle b{border-color:#191511!important}

  body.layout-mobile .selected-products-sheet{
    left:50%!important;
    bottom:calc(88px + env(safe-area-inset-bottom))!important;
    width:min(508px,calc(100% - 12px))!important;
    max-height:min(52vh,390px)!important;
    padding:13px 12px 14px!important;
    border:1px solid rgba(213,187,142,.76)!important;
    border-radius:22px 22px 16px 16px!important;
    background:#fffdf9!important;
    box-shadow:0 -16px 42px rgba(48,32,12,.18)!important;
    transform:translate3d(-50%,calc(100% + 20px),0)!important;
    transition:transform .10s cubic-bezier(.2,.72,.25,1),opacity .07s linear,visibility 0s linear .10s!important;
    contain:layout paint!important;
  }
  body.layout-mobile .selected-products-sheet:before{
    content:""!important;
    display:block!important;
    width:42px!important;
    height:4px!important;
    margin:-4px auto 9px!important;
    border-radius:999px!important;
    background:#ddcfb8!important;
  }
  body.layout-mobile .selected-products-sheet.open{
    transform:translate3d(-50%,0,0)!important;
    transition:transform .10s cubic-bezier(.2,.72,.25,1),opacity .07s linear!important;
  }
  body.layout-mobile .selected-products-sheet>header{
    padding:0 2px 10px!important;
    border-bottom:1px solid #eadcc6!important;
  }
  body.layout-mobile .selected-products-sheet>header strong{font-size:15px!important}
  body.layout-mobile .selected-products-sheet>header span{
    min-width:55px!important;
    padding:5px 8px!important;
    border-radius:999px!important;
    background:#f7ead4!important;
    text-align:center!important;
    font-size:11px!important;
  }
  body.layout-mobile .selected-products-list{
    gap:8px!important;
    max-height:calc(min(52vh,390px) - 62px)!important;
    padding-top:10px!important;
  }
  body.layout-mobile .selected-products-row{
    grid-template-columns:48px minmax(0,1fr) 42px!important;
    gap:10px!important;
    min-height:62px!important;
    padding:7px!important;
    border-radius:14px!important;
    background:#fff!important;
    border:1px solid #eadfce!important;
    box-shadow:none!important;
  }
  body.layout-mobile .selected-products-row img{
    width:48px!important;
    height:48px!important;
    border-radius:11px!important;
  }
  body.layout-mobile .selected-products-row strong{font-size:13px!important}
  body.layout-mobile .selected-products-row span{font-size:11px!important;line-height:1.55!important}
  body.layout-mobile .selected-products-row button{
    width:38px!important;
    height:38px!important;
    padding:0!important;
    border-radius:12px!important;
    font-size:0!important;
    display:grid!important;
    place-items:center!important;
  }
  body.layout-mobile .selected-products-row button:after{
    content:"×"!important;
    font-size:21px!important;
    line-height:1!important;
  }
  body.theme-dark.layout-mobile .selected-products-sheet{
    background:#1b1814!important;
    border-color:#4b3f31!important;
  }
  body.theme-dark.layout-mobile .selected-products-sheet:before{background:#5b4b37!important}
  body.theme-dark.layout-mobile .selected-products-sheet>header{border-color:#40362a!important}
  body.theme-dark.layout-mobile .selected-products-sheet>header span{background:#2d261e!important;color:#efcf88!important}
  body.theme-dark.layout-mobile .selected-products-row{background:#24201b!important;border-color:#40362c!important}
  body.layout-mobile.step-5 .bottom-bar{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  body.layout-mobile.step-5 .selected-drawer-toggle{display:none!important}
}
@media (max-width:380px){
  body.layout-mobile .bottom-bar{
    grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr)!important;
    gap:5px!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }
  body.layout-mobile .selected-drawer-toggle{
    width:56px!important;
    min-width:56px!important;
    height:58px!important;
    border-radius:18px!important;
  }
  body.layout-mobile .bottom-prev-btn,
  body.layout-mobile .continue-btn{padding-left:6px!important;padding-right:6px!important}
  body.layout-mobile .bottom-prev-btn span,
  body.layout-mobile .continue-btn span{font-size:11px!important}
}


/* ===== v1.46 stable mobile navigation, scrollable selected items and floating pack cart ===== */
.selected-products-backdrop{display:none}
.pack-cart-icon{display:none}
@media (max-width:859px){
  html,body{max-width:100%!important;overflow-x:hidden!important}
  body{padding-bottom:calc(100px + env(safe-area-inset-bottom))!important}

  /* Simple two-button navigation. The selected-items heart floats above its centre. */
  body.layout-mobile .bottom-bar{
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    bottom:0!important;
    transform:translateX(-50%)!important;
    width:min(520px,100%)!important;
    min-height:78px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-areas:"prev next"!important;
    gap:10px!important;
    align-items:end!important;
    padding:12px 10px calc(10px + env(safe-area-inset-bottom))!important;
    border:1px solid rgba(220,196,153,.82)!important;
    border-bottom:0!important;
    border-radius:22px 22px 0 0!important;
    background:#fffaf3!important;
    box-shadow:0 -12px 34px rgba(48,32,12,.16)!important;
    overflow:visible!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    z-index:80!important;
  }
  body.theme-dark.layout-mobile .bottom-bar{
    background:#191511!important;
    border-color:rgba(216,184,110,.26)!important;
    box-shadow:0 -12px 34px rgba(0,0,0,.38)!important;
  }
  body.layout-mobile .bottom-summary{display:none!important}
  body.layout-mobile .bottom-prev-btn{grid-area:prev!important}
  body.layout-mobile .continue-btn{grid-area:next!important}
  body.layout-mobile .bottom-prev-btn,
  body.layout-mobile .continue-btn{
    width:100%!important;
    min-width:0!important;
    height:54px!important;
    min-height:54px!important;
    margin:0!important;
    padding:0 10px!important;
    border-radius:15px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    overflow:hidden!important;
    font-size:13px!important;
    line-height:1.35!important;
    box-sizing:border-box!important;
  }
  body.layout-mobile .bottom-prev-btn span,
  body.layout-mobile .continue-btn span{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    text-align:center!important;
    line-height:1.35!important;
    font-size:12px!important;
    font-weight:900!important;
    overflow:hidden!important;
  }
  body.layout-mobile .bottom-prev-btn:before,
  body.layout-mobile .continue-btn:after{font-size:17px!important;flex:0 0 auto!important}
  body.layout-mobile.step-1 .bottom-prev-btn{display:none!important}
  body.layout-mobile.step-1 .continue-btn{grid-column:1/-1!important;grid-area:auto!important;padding-left:58px!important;padding-right:58px!important}
  body.layout-mobile.step-5 .bottom-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}

  /* Fast circular selected-products control, centred above navigation. */
  body.layout-mobile .selected-drawer-toggle{
    display:grid!important;
    position:absolute!important;
    left:50%!important;
    right:auto!important;
    top:-29px!important;
    bottom:auto!important;
    transform:translateX(-50%)!important;
    width:56px!important;
    height:56px!important;
    min-width:56px!important;
    margin:0!important;
    padding:0!important;
    border:2px solid #fffaf3!important;
    border-radius:50%!important;
    background:linear-gradient(145deg,#2a2118,#15110e)!important;
    color:#f0ce7b!important;
    box-shadow:0 9px 24px rgba(48,31,9,.25),0 0 0 1px #c59443!important;
    place-items:center!important;
    z-index:86!important;
    transition:transform .08s ease,background .08s ease!important;
  }
  body.layout-mobile .selected-drawer-toggle .selected-heart{display:block!important;font-size:22px!important;line-height:1!important;transform:none!important}
  body.layout-mobile .selected-drawer-toggle .selected-toggle-arrow{position:absolute!important;top:5px!important;font-size:12px!important;line-height:1!important;font-style:normal!important;transition:transform .08s ease!important}
  body.layout-mobile .selected-drawer-toggle .selected-toggle-label{display:none!important}
  body.layout-mobile .selected-drawer-toggle b{
    position:absolute!important;
    top:-6px!important;
    left:-6px!important;
    min-width:22px!important;
    height:22px!important;
    padding:0 5px!important;
    display:grid!important;
    place-items:center!important;
    border:2px solid #fffaf3!important;
    border-radius:999px!important;
    background:#c28c36!important;
    color:#fff!important;
    font-size:11px!important;
    box-shadow:0 3px 8px rgba(58,36,8,.20)!important;
  }
  body.layout-mobile.selected-drawer-open .selected-drawer-toggle{transform:translateX(-50%)!important;background:#c08a35!important;color:#fff!important}
  body.layout-mobile.selected-drawer-open .selected-drawer-toggle .selected-toggle-arrow{transform:rotate(180deg)!important}
  body.theme-dark.layout-mobile .selected-drawer-toggle{border-color:#191511!important}
  body.theme-dark.layout-mobile .selected-drawer-toggle b{border-color:#191511!important}
  body.layout-mobile.step-5 .selected-drawer-toggle{display:none!important}

  /* Restore the compact floating pack-cart manager. */
  body.layout-mobile .pack-cart-dock{
    display:grid!important;
    position:fixed!important;
    right:13px!important;
    left:auto!important;
    bottom:calc(94px + env(safe-area-inset-bottom))!important;
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    padding:0!important;
    border:1px solid #c79645!important;
    border-radius:50%!important;
    background:#fffaf3!important;
    color:#7d5b22!important;
    box-shadow:0 12px 28px rgba(55,36,10,.20)!important;
    place-items:center!important;
    z-index:76!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    transition:opacity .08s ease,transform .08s ease!important;
  }
  body.layout-mobile .pack-cart-dock .pack-cart-icon{display:grid!important;place-items:center!important;width:27px!important;height:27px!important}
  body.layout-mobile .pack-cart-dock .pack-cart-icon svg{display:block!important;width:27px!important;height:27px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
  body.layout-mobile .pack-cart-dock .pack-cart-label{display:none!important}
  body.layout-mobile .pack-cart-dock b{
    position:absolute!important;
    top:-5px!important;
    left:-5px!important;
    min-width:22px!important;
    height:22px!important;
    padding:0 5px!important;
    display:grid!important;
    place-items:center!important;
    border-radius:999px!important;
    border:2px solid #fffaf3!important;
    background:#c18b35!important;
    color:#fff!important;
    font-size:11px!important;
  }
  body.layout-mobile .pack-cart-dock.has-items{background:linear-gradient(145deg,#282018,#15110e)!important;color:#f1d184!important}
  body.theme-dark.layout-mobile .pack-cart-dock{background:#211c17!important;color:#f1d184!important;border-color:#6c5533!important}
  body.theme-dark.layout-mobile .pack-cart-dock b{border-color:#191511!important}
  body.layout-mobile.selected-drawer-open .pack-cart-dock{opacity:0!important;pointer-events:none!important;transform:translateY(8px)!important}

  /* Backdrop keeps the page quiet while the sheet is open. */
  body.layout-mobile .selected-products-backdrop{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:68!important;
    border:0!important;
    padding:0!important;
    background:rgba(32,23,13,.20)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .08s linear,visibility 0s linear .08s!important;
  }
  body.layout-mobile .selected-products-backdrop.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transition:opacity .08s linear!important}

  /* Fixed-height flex sheet. Only the list scrolls, so touch scrolling is reliable. */
  body.layout-mobile .selected-products-sheet{
    display:flex!important;
    flex-direction:column!important;
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    bottom:calc(88px + env(safe-area-inset-bottom))!important;
    width:min(520px,calc(100% - 12px))!important;
    height:min(64dvh,470px)!important;
    max-height:calc(100dvh - 116px - env(safe-area-inset-bottom))!important;
    min-height:210px!important;
    padding:10px 10px 12px!important;
    border:1px solid rgba(214,187,142,.86)!important;
    border-radius:22px 22px 14px 14px!important;
    background:#fffdf9!important;
    box-shadow:0 -16px 44px rgba(48,32,12,.22)!important;
    overflow:hidden!important;
    contain:none!important;
    z-index:72!important;
    transform:translate3d(-50%,calc(100% + 24px),0)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .09s cubic-bezier(.2,.75,.25,1),opacity .06s linear,visibility 0s linear .09s!important;
    will-change:transform!important;
  }
  body.layout-mobile .selected-products-sheet.open{
    transform:translate3d(-50%,0,0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:transform .09s cubic-bezier(.2,.75,.25,1),opacity .06s linear!important;
  }
  body.layout-mobile .selected-products-sheet:before{
    content:""!important;
    flex:0 0 auto!important;
    width:42px!important;
    height:4px!important;
    margin:-3px auto 7px!important;
    border-radius:999px!important;
    background:#ddcfb8!important;
  }
  body.layout-mobile .selected-products-sheet>header{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    padding:1px 2px 10px!important;
    border-bottom:1px solid #eadcc6!important;
  }
  body.layout-mobile .selected-products-sheet>header>div{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important}
  body.layout-mobile .selected-products-sheet>header strong{font-size:15px!important;color:#382c20!important;white-space:nowrap!important}
  body.layout-mobile .selected-products-sheet>header span{padding:4px 8px!important;border-radius:999px!important;background:#f6ead6!important;color:#966b26!important;font-size:11px!important;font-weight:900!important;white-space:nowrap!important}
  body.layout-mobile .selected-products-close{display:grid!important;place-items:center!important;flex:0 0 34px!important;width:34px!important;height:34px!important;padding:0!important;border:1px solid #e4d3b8!important;border-radius:50%!important;background:#fff!important;color:#73562d!important;font-size:23px!important;line-height:1!important}
  body.layout-mobile .selected-products-list{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    display:block!important;
    overflow-x:hidden!important;
    overflow-y:scroll!important;
    padding:10px 2px 16px!important;
    margin:0!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-y!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:thin!important;
    scrollbar-color:#caa45f transparent!important;
    outline:none!important;
  }
  body.layout-mobile .selected-products-list::-webkit-scrollbar{width:5px!important}
  body.layout-mobile .selected-products-list::-webkit-scrollbar-thumb{background:#caa45f!important;border-radius:999px!important}
  body.layout-mobile .selected-products-row{
    display:grid!important;
    grid-template-columns:50px minmax(0,1fr) 40px!important;
    align-items:center!important;
    gap:9px!important;
    min-height:64px!important;
    margin:0 0 8px!important;
    padding:7px!important;
    border:1px solid #eadfce!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  body.layout-mobile .selected-products-row:last-child{margin-bottom:0!important}
  body.layout-mobile .selected-products-row img{width:50px!important;height:50px!important;border-radius:11px!important;object-fit:cover!important;background:#eee!important}
  body.layout-mobile .selected-products-row>div{min-width:0!important;display:grid!important;gap:3px!important}
  body.layout-mobile .selected-products-row strong{font-size:13px!important;line-height:1.45!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#382d23!important}
  body.layout-mobile .selected-products-row span{font-size:11px!important;line-height:1.55!important;color:#85796c!important}
  body.layout-mobile .selected-products-row button{display:grid!important;place-items:center!important;width:38px!important;height:38px!important;padding:0!important;border:1px solid #efd0d0!important;border-radius:12px!important;background:#fff6f6!important;color:#a23f3f!important;font-size:0!important}
  body.layout-mobile .selected-products-row button:after{content:"×"!important;font-size:22px!important;line-height:1!important}
  body.theme-dark.layout-mobile .selected-products-sheet{background:#1b1814!important;border-color:#4a3e30!important;box-shadow:0 -16px 44px rgba(0,0,0,.48)!important}
  body.theme-dark.layout-mobile .selected-products-sheet:before{background:#584a38!important}
  body.theme-dark.layout-mobile .selected-products-sheet>header{border-color:#40362a!important}
  body.theme-dark.layout-mobile .selected-products-sheet>header strong{color:#f4d995!important}
  body.theme-dark.layout-mobile .selected-products-sheet>header span{background:#2d261e!important;color:#efcf88!important}
  body.theme-dark.layout-mobile .selected-products-close{background:#27221c!important;border-color:#504431!important;color:#f0d18b!important}
  body.theme-dark.layout-mobile .selected-products-row{background:#24201b!important;border-color:#40362c!important}
  body.theme-dark.layout-mobile .selected-products-row strong{color:#fff!important}
  body.theme-dark.layout-mobile .selected-products-row span{color:#b8ab99!important}
}

@media (max-width:360px){
  body.layout-mobile .bottom-bar{gap:7px!important;padding-left:7px!important;padding-right:7px!important}
  body.layout-mobile .bottom-prev-btn,body.layout-mobile .continue-btn{padding-left:7px!important;padding-right:7px!important}
  body.layout-mobile .pack-cart-dock{right:8px!important;width:54px!important;height:54px!important;min-width:54px!important}
  body.layout-mobile .selected-products-sheet{width:calc(100% - 8px)!important}
}


/* ===== v1.47 final responsive mobile bottom navigation ===== */
@media (max-width:859px){
  :root{--dl-mobile-nav-h:78px;--dl-mobile-nav-gap:7px;--dl-mobile-center:48px}
  html,body{max-width:100%!important;overflow-x:hidden!important}
  body.layout-mobile{padding-bottom:calc(var(--dl-mobile-nav-h) + 24px + env(safe-area-inset-bottom))!important}

  body.layout-mobile .bottom-bar{
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    bottom:0!important;
    transform:translateX(-50%)!important;
    width:min(520px,100%)!important;
    min-height:var(--dl-mobile-nav-h)!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) var(--dl-mobile-center) minmax(0,1fr)!important;
    grid-template-areas:"prev toggle next"!important;
    align-items:center!important;
    gap:var(--dl-mobile-nav-gap)!important;
    padding:10px 8px calc(10px + env(safe-area-inset-bottom))!important;
    margin:0!important;
    border:1px solid rgba(218,193,149,.78)!important;
    border-bottom:0!important;
    border-radius:20px 20px 0 0!important;
    background:rgba(255,250,243,.98)!important;
    box-shadow:0 -10px 28px rgba(55,37,15,.14)!important;
    overflow:visible!important;
    z-index:80!important;
    box-sizing:border-box!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  body.theme-dark.layout-mobile .bottom-bar{
    background:rgba(25,21,17,.98)!important;
    border-color:rgba(216,184,110,.28)!important;
    box-shadow:0 -10px 30px rgba(0,0,0,.38)!important;
  }
  body.layout-mobile .bottom-summary{display:none!important}

  body.layout-mobile .bottom-prev-btn,
  body.layout-mobile .continue-btn{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:54px!important;
    min-height:54px!important;
    margin:0!important;
    padding:0 11px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    border-radius:14px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    letter-spacing:0!important;
    font-weight:900!important;
    line-height:1!important;
  }
  body.layout-mobile .bottom-prev-btn{grid-area:prev!important}
  body.layout-mobile .continue-btn{grid-area:next!important}
  body.layout-mobile .bottom-prev-btn span,
  body.layout-mobile .continue-btn span{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:13px!important;
    line-height:1.2!important;
    font-weight:950!important;
    text-align:center!important;
  }
  body.layout-mobile .continue-btn:before{content:none!important;display:none!important}
  body.layout-mobile .bottom-prev-btn:before{content:"→"!important;font-size:18px!important;line-height:1!important;flex:0 0 auto!important}
  body.layout-mobile .continue-btn:after{content:"←"!important;font-size:18px!important;line-height:1!important;flex:0 0 auto!important}
  body.layout-mobile.step-1 .bottom-prev-btn{
    display:flex!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.layout-mobile.step-5 .selected-drawer-toggle{visibility:hidden!important;pointer-events:none!important}

  body.layout-mobile .selected-drawer-toggle{
    grid-area:toggle!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:translateY(-7px)!important;
    width:var(--dl-mobile-center)!important;
    height:var(--dl-mobile-center)!important;
    min-width:var(--dl-mobile-center)!important;
    max-width:var(--dl-mobile-center)!important;
    min-height:var(--dl-mobile-center)!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    align-self:center!important;
    border:2px solid #fffaf3!important;
    border-radius:50%!important;
    background:#1d1712!important;
    color:#efcb76!important;
    box-shadow:0 7px 18px rgba(47,30,8,.22),0 0 0 1px #bd8c40!important;
    z-index:84!important;
    box-sizing:border-box!important;
    transition:transform .10s ease,background .10s ease!important;
  }
  body.theme-dark.layout-mobile .selected-drawer-toggle{border-color:#191511!important}
  body.layout-mobile .selected-drawer-toggle .selected-heart{
    display:block!important;
    font-size:19px!important;
    line-height:1!important;
    transform:translateY(3px)!important;
  }
  body.layout-mobile .selected-drawer-toggle .selected-toggle-label{display:none!important}
  body.layout-mobile .selected-drawer-toggle .selected-toggle-arrow{
    position:absolute!important;
    top:8px!important;
    left:50%!important;
    width:7px!important;
    height:7px!important;
    margin-left:-3.5px!important;
    border-top:1.5px solid currentColor!important;
    border-left:1.5px solid currentColor!important;
    transform:rotate(45deg)!important;
    transform-origin:center!important;
    font-size:0!important;
    line-height:0!important;
    transition:transform .10s ease,top .10s ease!important;
  }
  body.layout-mobile.selected-drawer-open .selected-drawer-toggle{
    transform:translateY(-7px)!important;
    background:#bf8935!important;
    color:#fff!important;
  }
  body.layout-mobile.selected-drawer-open .selected-drawer-toggle .selected-toggle-arrow{
    top:6px!important;
    transform:rotate(225deg)!important;
  }
  body.layout-mobile .selected-drawer-toggle b{
    position:absolute!important;
    top:-5px!important;
    left:-5px!important;
    min-width:20px!important;
    height:20px!important;
    padding:0 5px!important;
    display:grid!important;
    place-items:center!important;
    border:2px solid #fffaf3!important;
    border-radius:999px!important;
    background:#bd8732!important;
    color:#fff!important;
    font-size:10px!important;
    line-height:1!important;
    box-shadow:0 2px 7px rgba(53,34,9,.20)!important;
  }
  body.theme-dark.layout-mobile .selected-drawer-toggle b{border-color:#191511!important}

  /* Floating pack-cart remains separate and never alters navigation widths. */
  body.layout-mobile .pack-cart-dock{
    position:fixed!important;
    left:auto!important;
    right:max(10px,calc((100vw - 520px)/2 + 10px))!important;
    top:auto!important;
    bottom:calc(var(--dl-mobile-nav-h) + 16px + env(safe-area-inset-bottom))!important;
    transform:none!important;
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid #c39243!important;
    border-radius:50%!important;
    background:#fffaf3!important;
    color:#77551f!important;
    box-shadow:0 9px 23px rgba(52,34,10,.20)!important;
    z-index:76!important;
    box-sizing:border-box!important;
  }
  body.layout-mobile .pack-cart-dock .pack-cart-icon,
  body.layout-mobile .pack-cart-dock .pack-cart-icon svg{width:24px!important;height:24px!important}
  body.layout-mobile .pack-cart-dock .pack-cart-label{display:none!important}
  body.layout-mobile .pack-cart-dock b{
    top:-5px!important;
    left:-5px!important;
    min-width:20px!important;
    height:20px!important;
    padding:0 5px!important;
    font-size:10px!important;
  }
  body.layout-mobile.selected-drawer-open .pack-cart-dock{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

  /* Drawer has a real fixed viewport and its list is the only scrolling region. */
  body.layout-mobile .selected-products-sheet{
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:calc(var(--dl-mobile-nav-h) + env(safe-area-inset-bottom))!important;
    transform:translate(-50%,110%)!important;
    width:min(520px,calc(100% - 10px))!important;
    height:min(56dvh,430px)!important;
    max-height:calc(100dvh - var(--dl-mobile-nav-h) - 34px - env(safe-area-inset-bottom))!important;
    min-height:210px!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border:1px solid #dfceb1!important;
    border-bottom:0!important;
    border-radius:20px 20px 0 0!important;
    background:#fffaf3!important;
    box-shadow:0 -15px 40px rgba(48,31,11,.22)!important;
    z-index:79!important;
    box-sizing:border-box!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .12s ease-out,visibility 0s linear .12s!important;
    contain:layout paint!important;
  }
  body.layout-mobile .selected-products-sheet.open{
    transform:translate(-50%,0)!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:transform .12s ease-out!important;
  }
  body.layout-mobile .selected-products-sheet>header{flex:0 0 auto!important}
  body.layout-mobile .selected-products-list{
    flex:1 1 0!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:0!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
    -webkit-overflow-scrolling:touch!important;
    padding:10px 7px 18px!important;
    box-sizing:border-box!important;
    scrollbar-gutter:stable!important;
  }
  body.layout-mobile.selected-drawer-open{overflow:hidden!important}
}

@media (max-width:359px){
  :root{--dl-mobile-nav-h:74px;--dl-mobile-nav-gap:5px;--dl-mobile-center:44px}
  body.layout-mobile .bottom-bar{padding-left:6px!important;padding-right:6px!important}
  body.layout-mobile .bottom-prev-btn,
  body.layout-mobile .continue-btn{height:50px!important;min-height:50px!important;padding:0 7px!important;border-radius:13px!important;gap:5px!important}
  body.layout-mobile .bottom-prev-btn span,
  body.layout-mobile .continue-btn span{font-size:12px!important}
  body.layout-mobile .bottom-prev-btn:before,
  body.layout-mobile .continue-btn:after{font-size:16px!important}
  body.layout-mobile .pack-cart-dock{right:7px!important;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important}
  body.layout-mobile .selected-products-sheet{width:calc(100% - 6px)!important}
}

@media (max-width:859px) and (max-height:520px) and (orientation:landscape){
  :root{--dl-mobile-nav-h:66px;--dl-mobile-center:42px}
  body.layout-mobile .bottom-bar{padding-top:7px!important;padding-bottom:calc(7px + env(safe-area-inset-bottom))!important}
  body.layout-mobile .bottom-prev-btn,
  body.layout-mobile .continue-btn{height:46px!important;min-height:46px!important}
  body.layout-mobile .selected-products-sheet{height:min(68dvh,330px)!important;min-height:170px!important}
  body.layout-mobile .pack-cart-dock{width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important}
}


/* ===== v1.48 unified mobile navigation + clean arrow control ===== */
@media (max-width:859px){
  :root{
    --dl-mobile-nav-h:80px;
    --dl-mobile-nav-gap:8px;
    --dl-mobile-center:52px;
  }
  body.layout-mobile{
    padding-bottom:calc(var(--dl-mobile-nav-h) + 22px + env(safe-area-inset-bottom))!important;
  }
  body.layout-mobile .bottom-bar{
    grid-template-columns:minmax(0,1fr) var(--dl-mobile-center) minmax(0,1fr)!important;
    grid-template-areas:"prev toggle next"!important;
    gap:var(--dl-mobile-nav-gap)!important;
    min-height:var(--dl-mobile-nav-h)!important;
    padding:10px 9px calc(10px + env(safe-area-inset-bottom))!important;
    border-radius:20px 20px 0 0!important;
    background:#fffaf3!important;
    box-shadow:0 -9px 28px rgba(48,31,11,.16)!important;
    isolation:isolate!important;
  }
  body.theme-dark.layout-mobile .bottom-bar{
    background:#1a1713!important;
    box-shadow:0 -10px 30px rgba(0,0,0,.44)!important;
  }
  body.layout-mobile .bottom-summary{
    display:none!important;
    visibility:hidden!important;
    position:absolute!important;
    width:0!important;
    height:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }
  body.layout-mobile .bottom-prev-btn,
  body.layout-mobile .continue-btn{
    width:100%!important;
    min-width:0!important;
    height:56px!important;
    min-height:56px!important;
    padding:0 12px!important;
    border-radius:15px!important;
    gap:7px!important;
    overflow:hidden!important;
  }
  body.layout-mobile .bottom-prev-btn span,
  body.layout-mobile .continue-btn span{
    font-size:13px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.layout-mobile .bottom-prev-btn:before,
  body.layout-mobile .continue-btn:after{
    font-size:19px!important;
    flex:0 0 auto!important;
  }
  /* Step one keeps the same three-part layout as all later steps. */
  body.layout-mobile.step-1 .bottom-prev-btn{
    display:flex!important;
    visibility:visible!important;
    opacity:.42!important;
    pointer-events:none!important;
    filter:saturate(.55)!important;
  }
  body.theme-dark.layout-mobile.step-1 .bottom-prev-btn{opacity:.48!important}

  body.layout-mobile .selected-drawer-toggle{
    grid-area:toggle!important;
    width:var(--dl-mobile-center)!important;
    height:var(--dl-mobile-center)!important;
    min-width:var(--dl-mobile-center)!important;
    min-height:var(--dl-mobile-center)!important;
    transform:translateY(-8px)!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    border:2px solid #fffaf3!important;
    border-radius:50%!important;
    background:#1c1712!important;
    color:#edca75!important;
    box-shadow:0 8px 20px rgba(43,28,8,.24),0 0 0 1px #bd8b3e!important;
    overflow:visible!important;
  }
  body.theme-dark.layout-mobile .selected-drawer-toggle{border-color:#1a1713!important}
  body.layout-mobile .selected-drawer-toggle .selected-heart,
  body.layout-mobile .selected-drawer-toggle .selected-toggle-arrow{display:none!important}
  body.layout-mobile .selected-drawer-toggle .selected-arrow-icon{
    display:grid!important;
    place-items:center!important;
    width:25px!important;
    height:25px!important;
    transition:transform .11s ease!important;
  }
  body.layout-mobile .selected-drawer-toggle .selected-arrow-icon svg{
    display:block!important;
    width:25px!important;
    height:25px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2.15!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  body.layout-mobile.selected-drawer-open .selected-drawer-toggle{
    transform:translateY(-8px)!important;
    background:#be8834!important;
    color:#fff!important;
  }
  body.layout-mobile.selected-drawer-open .selected-drawer-toggle .selected-arrow-icon{
    transform:rotate(180deg)!important;
  }
  body.layout-mobile .selected-drawer-toggle b{
    top:-5px!important;
    left:-5px!important;
    min-width:20px!important;
    height:20px!important;
    padding:0 5px!important;
    font-size:10px!important;
  }

  body.layout-mobile .pack-cart-dock{
    bottom:calc(var(--dl-mobile-nav-h) + 14px + env(safe-area-inset-bottom))!important;
  }
  body.layout-mobile .selected-products-sheet{
    bottom:calc(var(--dl-mobile-nav-h) + env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:359px){
  :root{--dl-mobile-nav-h:76px;--dl-mobile-nav-gap:6px;--dl-mobile-center:48px}
  body.layout-mobile .bottom-bar{padding-left:6px!important;padding-right:6px!important}
  body.layout-mobile .bottom-prev-btn,
  body.layout-mobile .continue-btn{
    height:52px!important;
    min-height:52px!important;
    padding:0 8px!important;
    gap:5px!important;
  }
  body.layout-mobile .bottom-prev-btn span,
  body.layout-mobile .continue-btn span{font-size:12px!important}
  body.layout-mobile .selected-drawer-toggle .selected-arrow-icon,
  body.layout-mobile .selected-drawer-toggle .selected-arrow-icon svg{width:23px!important;height:23px!important}
}

@media (min-width:480px) and (max-width:859px){
  body.layout-mobile .bottom-bar{padding-left:12px!important;padding-right:12px!important;gap:10px!important}
  body.layout-mobile .bottom-prev-btn span,
  body.layout-mobile .continue-btn span{font-size:14px!important}
}

/* v1.49 checkout coupon */
.checkout-coupon-box{margin:14px 0;padding:13px;border:1px solid rgba(197,154,78,.34);border-radius:17px;background:rgba(255,250,240,.72)}
.checkout-coupon-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.checkout-coupon-head strong{display:block;font-size:15px}.checkout-coupon-head span{display:block;margin-top:3px;font-size:12px;color:var(--muted)}
.checkout-coupon-head>button{border:0;background:transparent;color:#a63b36;font-weight:900;padding:4px 6px}
.checkout-coupon-form{display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:7px}.checkout-coupon-form input{min-width:0;height:44px;border:1px solid var(--line);border-radius:12px;padding:0 12px;background:#fff;direction:ltr;text-align:left;font:inherit}.checkout-coupon-form button{height:44px;border:0;border-radius:12px;background:#1b1713;color:#f5d48b;font-weight:900;font:inherit}.checkout-coupon-form button:disabled{opacity:.6}
.checkout-coupon-message{margin-top:8px;border-radius:10px;padding:8px 10px;font-size:12px;line-height:1.8}.checkout-coupon-message.success{background:#eff9f1;color:#28713c}.checkout-coupon-message.error{background:#fff1ef;color:#9b3d36}.checkout-coupon-box.is-applied{border-color:#9fbe8c;background:#f6fbf3}.checkout-totals-v141 .discount-row b{color:#2f7a45}
body.theme-dark .checkout-coupon-box{background:#171511;border-color:rgba(222,184,101,.28)}body.theme-dark .checkout-coupon-form input{background:#0f0e0c;color:#fff;border-color:#3d3325}body.theme-dark .checkout-coupon-form button{background:linear-gradient(135deg,#efd386,#bb8736);color:#17120b}body.theme-dark .checkout-coupon-box.is-applied{background:#131a12;border-color:#58784d}
@media(max-width:380px){.checkout-coupon-form{grid-template-columns:minmax(0,1fr) 68px}.checkout-coupon-box{padding:11px}.checkout-coupon-form input,.checkout-coupon-form button{height:42px}}
/* v1.50.4 — توضیح انتقال اطلاعات و پرداخت به Checkout ووکامرس */
.compact-pack-cart .pack-cart-simple-footer>div{flex-wrap:wrap}
.compact-pack-cart .pack-cart-simple-footer>div small{flex:0 0 100%;font-size:12px;line-height:1.8;color:#8a7a64;font-weight:600}

/* ======================================================================
   Dreamland Gift Builder v1.50.5.3 — White + Gold Skin
   Visual-only override. No business logic / payment / order flow changes.
   ====================================================================== */
:root{
  --dl-wg-gold:#c49a4b;
  --dl-wg-gold-strong:#aa7b2f;
  --dl-wg-gold-soft:#ead8ad;
  --dl-wg-gold-pale:#fffaf0;
  --dl-wg-ink:#2d2924;
  --dl-wg-muted:#7f7467;
  --dl-wg-white:#fff;
}

html,body{background:#fff!important;}
body:before{background:#fff!important;opacity:1!important;}
body.theme-dark:before,
body.theme-light:before{background:#fff!important;}

body .dl-app{
  background:#fff!important;
  border:1px solid var(--dl-wg-gold-soft)!important;
  box-shadow:0 20px 70px rgba(77,55,18,.08)!important;
}
body .dl-header{
  background:#fff!important;
  color:var(--dl-wg-ink)!important;
  border-bottom:1px solid var(--dl-wg-gold-soft)!important;
  box-shadow:none!important;
}
body .brand h1{color:var(--dl-wg-ink)!important;}
body .brand p{color:var(--dl-wg-gold-strong)!important;}
body .round-icon,
body .theme-toggle{
  background:#fff!important;
  color:var(--dl-wg-gold-strong)!important;
  border:1px solid var(--dl-wg-gold)!important;
  box-shadow:none!important;
}
body .theme-dot{background:var(--dl-wg-gold)!important;box-shadow:none!important;}

/* Main cards / sections */
body .capacity-card,
body .builder-hero,
body .section-title,
body .accordion-card,
body .preview-card,
body .review-card,
body .customer-card,
body .triple-preview-card,
body .personal-review-item,
body .checkout-status div,
body .selected-cart-mini,
body .symbol-dropdown,
body .product-modal,
body .pack-cart-panel,
body .pack-cart-sheet,
body .customer-sheet,
body .card-option,
body .product-card{
  background:#fff!important;
  color:var(--dl-wg-ink)!important;
  border:1px solid var(--dl-wg-gold-soft)!important;
  box-shadow:0 10px 30px rgba(91,65,22,.06)!important;
}
body .builder-hero:before,
body .section-title:before,
body .capacity-card:after{display:none!important;}
body .builder-hero h2,
body .section-title h2,
body .builder-hero p,
body .section-title p,
body .preview-head strong,
body .personal-block h3,
body .product-title,
body .card-option h3,
body .card-option .name{
  color:var(--dl-wg-ink)!important;
}
body .hero-label,
body .section-kicker,
body .preview-head span,
body .price,
body .customize-link{color:var(--dl-wg-gold-strong)!important;}
body .builder-hero p,
body .section-title p,
body .card-option p,
body .card-option span,
body .cap-title span,
body .cap-count,
body .cap-meta{color:var(--dl-wg-muted)!important;}

/* Capacity indicator */
body .cap-icon{
  background:#fff!important;
  color:var(--dl-wg-gold-strong)!important;
  border:1px solid var(--dl-wg-gold)!important;
  box-shadow:none!important;
}
body .cap-title strong,
body .cap-count strong{color:var(--dl-wg-ink)!important;}
body .cap-box{
  background:#fff!important;
  border:1px solid var(--dl-wg-gold)!important;
  box-shadow:none!important;
}
body .cap-segment{background:#f4ede0!important;border:1px solid #f1e3c4!important;}
body .cap-segment span{background:linear-gradient(90deg,#d8b56c,#b98536,#d8b56c)!important;}

/* Tabs / chips */
body .tab,
body .symbol-chip,
body .font-chip,
body .selected-pill,
body .bottom-line-chip,
body .bottom-line-more{
  background:#fff!important;
  color:var(--dl-wg-ink)!important;
  border:1px solid var(--dl-wg-gold-soft)!important;
  box-shadow:none!important;
}
body .tab.active,
body .symbol-chip.active,
body .font-chip.active{
  background:var(--dl-wg-gold-pale)!important;
  color:var(--dl-wg-gold-strong)!important;
  border-color:var(--dl-wg-gold)!important;
  box-shadow:0 6px 18px rgba(173,125,42,.09)!important;
}
body .symbol-chip.active small,
body .font-chip.active span{color:var(--dl-wg-gold-strong)!important;}

/* Search and fields */
body .search-box input,
body .field input,
body .field textarea,
body .field select,
body input,
body textarea,
body select{
  background:#fff!important;
  color:var(--dl-wg-ink)!important;
  border-color:var(--dl-wg-gold-soft)!important;
}
body .search-box input:focus,
body .field input:focus,
body .field textarea:focus,
body .field select:focus{
  border-color:var(--dl-wg-gold)!important;
  box-shadow:0 0 0 3px rgba(196,154,75,.12)!important;
}

/* Products */
body .product-card{background:#fff!important;}
body .product-body{background:#fff!important;color:var(--dl-wg-ink)!important;}
body .product-card.selected,
body .product-card.selected .product-body{
  background:var(--dl-wg-gold-pale)!important;
  color:var(--dl-wg-ink)!important;
  border-color:var(--dl-wg-gold)!important;
  box-shadow:0 10px 28px rgba(173,125,42,.12)!important;
}
body .product-card.selected .product-title,
body .product-card.selected .qty-control span{color:var(--dl-wg-ink)!important;}
body .product-media{background:#fff!important;}
body .product-media:after{background:linear-gradient(180deg,transparent,rgba(0,0,0,.08))!important;}
body .customizable-badge{
  background:#fff!important;
  color:var(--dl-wg-gold-strong)!important;
  border:1px solid var(--dl-wg-gold)!important;
}
body .qty-control,
body .product-card.selected .qty-control{
  background:#fff!important;
  border:1px solid var(--dl-wg-gold-soft)!important;
}
body .qty-control button,
body .add-btn{
  background:#fff!important;
  color:var(--dl-wg-gold-strong)!important;
  border:1px solid var(--dl-wg-gold)!important;
  box-shadow:none!important;
}

/* Cards / selections */
body .card-option.selected{
  background:var(--dl-wg-gold-pale)!important;
  color:var(--dl-wg-ink)!important;
  border-color:var(--dl-wg-gold)!important;
}
body .card-option.selected p{color:var(--dl-wg-muted)!important;}
body .personal-block{border-bottom-color:#f0e3c6!important;}
body .personal-block h3 span{
  background:#fff!important;
  color:var(--dl-wg-gold-strong)!important;
  border:1px solid var(--dl-wg-gold)!important;
}

/* Preview remains neutral so product photos stay readable, only border becomes gold */
body .preview-mini{
  background:#fff!important;
  border:1px solid var(--dl-wg-gold-soft)!important;
  box-shadow:none!important;
}
body .preview-label{
  background:#fff!important;
  color:var(--dl-wg-gold-strong)!important;
  border:1px solid var(--dl-wg-gold)!important;
}

/* Bottom bar + main actions */
body .bottom-bar,
body.theme-dark .bottom-bar,
body.theme-light .bottom-bar{
  background:rgba(255,255,255,.97)!important;
  border:1px solid var(--dl-wg-gold)!important;
  box-shadow:0 -10px 35px rgba(92,66,22,.08)!important;
}
body .bottom-summary,
body.theme-dark .bottom-summary{
  background:#fff!important;
  color:var(--dl-wg-muted)!important;
  border-color:var(--dl-wg-gold-soft)!important;
}
body .bottom-summary > strong,
body.theme-dark .bottom-summary > strong{color:var(--dl-wg-gold-strong)!important;}
body .continue-btn,
body .bottom-prev-btn,
body.theme-dark .bottom-prev-btn{
  background:#fff!important;
  color:var(--dl-wg-gold-strong)!important;
  border:2px solid var(--dl-wg-gold)!important;
  box-shadow:0 8px 20px rgba(173,125,42,.10)!important;
}
body .continue-btn:hover,
body .bottom-prev-btn:hover,
body .add-btn:hover,
body .qty-control button:hover{
  background:var(--dl-wg-gold-pale)!important;
}
body .continue-btn:disabled{
  background:#fff!important;
  color:#aaa096!important;
  border-color:#ddd1bd!important;
  box-shadow:none!important;
}

/* Drawers / dropdowns */
body .selected-products-sheet,
body .selected-products-drawer,
body .symbol-dropdown[open] .symbol-list{
  background:#fff!important;
  border-color:var(--dl-wg-gold-soft)!important;
}
body .selected-products-row,
body .selected-pill{
  background:#fff!important;
  border-color:var(--dl-wg-gold-soft)!important;
  color:var(--dl-wg-ink)!important;
}
body .pill-remove,
body .pill-qty,
body .pill-qty button{
  background:#fff!important;
  color:var(--dl-wg-gold-strong)!important;
  border:1px solid var(--dl-wg-gold-soft)!important;
}

/* Notices */
body .notice{
  background:#fff!important;
  border:1px solid var(--dl-wg-gold)!important;
  color:#735622!important;
}

/* Make dark-theme-specific rules visually identical to the white/gold skin */
body.theme-dark,
body.theme-light{background:#fff!important;color:var(--dl-wg-ink)!important;}

/* =========================================================
   Dreamland UI polish patch — category icons + RTL mobile fix
   Static-only patch; intentionally appended last to win cascade.
   ========================================================= */

/* Persian shaping / mobile text integrity */
html[dir="rtl"] body,
html[dir="rtl"] button,
html[dir="rtl"] input,
html[dir="rtl"] textarea,
html[dir="rtl"] select,
html[dir="rtl"] option,
html[dir="rtl"] .dl-app,
html[dir="rtl"] .bottom-bar,
html[dir="rtl"] .selected-products-sheet{
  letter-spacing:0!important;
  word-spacing:normal!important;
  font-kerning:normal!important;
  font-variant-ligatures:common-ligatures contextual!important;
  font-feature-settings:"kern" 1,"liga" 1,"clig" 1,"calt" 1!important;
  text-rendering:optimizeLegibility!important;
  -webkit-font-smoothing:antialiased!important;
  -moz-osx-font-smoothing:grayscale!important;
}
html[dir="rtl"] .brand h1{letter-spacing:1.2px!important;}
html[dir="rtl"] .hero-label,
html[dir="rtl"] .section-kicker,
html[dir="rtl"] .customizable-badge,
html[dir="rtl"] .continue-btn,
html[dir="rtl"] .bottom-prev-btn{letter-spacing:0!important;}

/* Product categories as custom icon tiles */
.product-category-tabs{
  display:flex!important;
  align-items:stretch!important;
  gap:9px!important;
  overflow-x:auto!important;
  padding:4px 1px 10px!important;
  margin-bottom:6px!important;
  scroll-snap-type:x proximity!important;
}
.product-category-tabs .category-icon-tab{
  flex:0 0 76px!important;
  min-width:76px!important;
  min-height:88px!important;
  padding:7px 5px 8px!important;
  border-radius:18px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  white-space:normal!important;
  text-align:center!important;
  scroll-snap-align:start!important;
  background:#fff!important;
  border:1px solid var(--dl-wg-gold-soft,#eadcc6)!important;
  color:#6f5932!important;
  box-shadow:0 7px 18px rgba(91,65,22,.05)!important;
}
.product-category-tabs .category-icon-tab.active{
  background:var(--dl-wg-gold-pale,#fff8e8)!important;
  color:var(--dl-wg-gold-strong,#8f6422)!important;
  border-color:var(--dl-wg-gold,#c79b49)!important;
  box-shadow:0 8px 20px rgba(173,125,42,.11)!important;
}
.category-icon-wrap{
  width:46px!important;
  height:46px!important;
  border-radius:15px!important;
  display:grid!important;
  place-items:center!important;
  background:#fff!important;
  border:1px solid #efe0c1!important;
  color:#9c6d28!important;
  transition:.16s ease!important;
}
.category-icon-tab.active .category-icon-wrap{
  background:#fffdf8!important;
  border-color:#d7b36a!important;
  transform:translateY(-1px)!important;
}
.category-custom-svg{width:29px!important;height:29px!important;display:block!important;}
.category-icon-label{
  display:block!important;
  max-width:68px!important;
  color:inherit!important;
  font-size:12.5px!important;
  font-weight:900!important;
  line-height:1.45!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Remove the explanatory capacity sentence while preserving price alignment */
.cap-meta-spacer{display:block!important;min-height:1px!important;flex:1 1 auto!important;}

/* Product +/- buttons: square, clear, touch-friendly */
body .qty-control,
body .product-card.selected .qty-control{
  min-height:38px!important;
  height:38px!important;
  padding:2px!important;
  gap:4px!important;
  border-radius:11px!important;
  background:#faf5ec!important;
  border:1px solid #ead8b8!important;
}
body .qty-control button,
body .product-card.selected .qty-control button{
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:8px!important;
  border:1px solid #ddc79e!important;
  background:#f1e7d7!important;
  color:#7f5920!important;
  font-size:21px!important;
  line-height:1!important;
  box-shadow:none!important;
}
body .qty-control span{
  min-width:24px!important;
  display:grid!important;
  place-items:center!important;
  font-size:14px!important;
  line-height:1!important;
}
body .qty-control button:active{transform:scale(.94)!important;}

/* Inline selected basket: image-only tiles, quantity underneath */
.selected-cart-mini{padding:10px!important;}
.selected-cart-head{margin-bottom:8px!important;}
.selected-strip{
  gap:8px!important;
  align-items:stretch!important;
  padding:2px 1px 6px!important;
  margin:0!important;
}
body .selected-pill.selected-thumb-card{
  position:relative!important;
  flex:0 0 74px!important;
  width:74px!important;
  min-width:74px!important;
  padding:6px!important;
  border-radius:15px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-items:center!important;
  align-content:start!important;
  gap:5px!important;
  background:#fff!important;
  border:1px solid #eadcc6!important;
  white-space:normal!important;
}
.selected-thumb-media{
  width:60px!important;
  height:60px!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  border-radius:12px!important;
  background:#fff!important;
  border:1px solid #f0e7da!important;
}
body .selected-pill.selected-thumb-card .selected-thumb-media img{
  width:100%!important;
  height:100%!important;
  padding:4px!important;
  border-radius:0!important;
  object-fit:contain!important;
  background:#fff!important;
}
.selected-thumb-count{
  width:100%!important;
  text-align:center!important;
  color:#6f5932!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.4!important;
}
body .selected-pill.selected-thumb-card .pill-remove{
  position:absolute!important;
  top:2px!important;
  left:2px!important;
  z-index:3!important;
  width:22px!important;
  height:22px!important;
  padding:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:#fff!important;
  color:#8b6327!important;
  border:1px solid #e2cfaa!important;
  font-size:17px!important;
  line-height:1!important;
}
body .selected-pill.selected-thumb-card .pill-qty{
  width:100%!important;
  height:28px!important;
  display:grid!important;
  grid-template-columns:24px 1fr 24px!important;
  align-items:center!important;
  gap:2px!important;
  padding:1px!important;
  border-radius:8px!important;
  background:#faf5ec!important;
  border:1px solid #ead8b8!important;
}
body .selected-pill.selected-thumb-card .pill-qty button{
  width:24px!important;
  height:24px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:6px!important;
  border:1px solid #dfca9f!important;
  background:#f1e7d7!important;
  color:#7f5920!important;
  font-size:17px!important;
  line-height:1!important;
}
body .selected-pill.selected-thumb-card .pill-qty b{
  min-width:0!important;
  text-align:center!important;
  font-size:12px!important;
  line-height:1!important;
  color:#5e4a2d!important;
}

/* Selected-products drawer: no product title, only image and chosen quantity */
.selected-products-list{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
  align-items:start!important;
}
body .selected-products-row.selected-products-thumb-card{
  position:relative!important;
  min-width:0!important;
  padding:7px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-items:center!important;
  gap:5px!important;
  border-radius:15px!important;
  background:#fff!important;
  border:1px solid #eadcc6!important;
}
.selected-products-thumb-media{
  width:100%!important;
  aspect-ratio:1/1!important;
  display:grid!important;
  place-items:center!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #f0e7da!important;
}
body .selected-products-row.selected-products-thumb-card .selected-products-thumb-media img{
  width:100%!important;
  height:100%!important;
  padding:5px!important;
  object-fit:contain!important;
  background:#fff!important;
  border-radius:0!important;
}
.selected-products-thumb-qty{
  color:#6f5932!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.4!important;
}
body .selected-products-thumb-remove{
  position:absolute!important;
  top:3px!important;
  left:3px!important;
  width:23px!important;
  height:23px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#8b6327!important;
  border:1px solid #e2cfaa!important;
  font-size:17px!important;
  line-height:1!important;
}

/* Close buttons: centered, clean X on all dialogs/drawers */
body .modal-close,
body .card-lightbox-close,
body .pack-cart-close,
body .selected-products-close,
body .customer-sheet-close{
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  text-align:center!important;
  font-family:Arial,Tahoma,sans-serif!important;
  font-weight:400!important;
  line-height:1!important;
  text-indent:0!important;
}
body .modal-close,
body .card-lightbox-close,
body .pack-cart-close,
body .selected-products-close{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#7b5824!important;
  border:1px solid #dcc28f!important;
  font-size:25px!important;
  box-shadow:0 5px 14px rgba(86,60,18,.08)!important;
}

/* Bottom navigation: previous / next are proportional and centered */
body .bottom-bar,
body.theme-light .bottom-bar,
body.theme-dark .bottom-bar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr)!important;
  align-items:center!important;
  gap:9px!important;
}
body .bottom-prev-btn,
body .continue-btn,
body.theme-dark .bottom-prev-btn{
  width:100%!important;
  min-width:0!important;
  height:50px!important;
  min-height:50px!important;
  padding:0 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  text-align:center!important;
  border-radius:14px!important;
}
body .bottom-prev-btn span,
body .continue-btn span{
  display:block!important;
  flex:0 1 auto!important;
  min-width:0!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:1.2!important;
}
body.step-1 .bottom-prev-btn{
  display:flex!important;
  visibility:visible!important;
  opacity:.45!important;
  pointer-events:none!important;
}

/* Middle selected-items button becomes an unmistakable cart circle */
body .selected-drawer-toggle{
  width:52px!important;
  min-width:52px!important;
  height:52px!important;
  min-height:52px!important;
  padding:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  position:relative!important;
  overflow:visible!important;
  background:linear-gradient(145deg,#c79a49,#a9792e)!important;
  color:#fff!important;
  border:1px solid #b88835!important;
  box-shadow:0 8px 20px rgba(142,99,31,.18)!important;
}
body .selected-drawer-toggle .selected-toggle-label{display:none!important;}
body .selected-drawer-toggle .selected-arrow-icon{
  width:26px!important;
  height:26px!important;
  display:grid!important;
  place-items:center!important;
  color:#fff!important;
  transform:none!important;
  margin:0!important;
}
body .selected-drawer-toggle .selected-cart-svg{
  width:25px!important;
  height:25px!important;
  display:block!important;
  fill:none!important;
  stroke:#fff!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
body .selected-drawer-toggle b,
body #selectedDrawerBadge{
  position:absolute!important;
  top:-5px!important;
  left:-5px!important;
  min-width:20px!important;
  height:20px!important;
  padding:0 5px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#8c6221!important;
  border:1px solid #c79a49!important;
  font-size:11px!important;
  line-height:1!important;
}
body .selected-drawer-toggle:disabled{opacity:.48!important;filter:grayscale(.15)!important;}

@media (min-width:860px){
  .product-category-tabs .category-icon-tab{flex-basis:82px!important;min-width:82px!important;min-height:92px!important;}
  .category-icon-wrap{width:50px!important;height:50px!important;}
  .category-custom-svg{width:31px!important;height:31px!important;}
  .selected-products-list{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  body .bottom-bar{grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr)!important;gap:10px!important;}
  body .selected-drawer-toggle{width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;}
}

@media (max-width:859px){
  html[dir="rtl"] body,
  html[dir="rtl"] button,
  html[dir="rtl"] input,
  html[dir="rtl"] textarea,
  html[dir="rtl"] select{
    font-synthesis:none!important;
  }
  .product-category-tabs{gap:7px!important;padding-bottom:8px!important;}
  .product-category-tabs .category-icon-tab{flex-basis:70px!important;min-width:70px!important;min-height:82px!important;border-radius:16px!important;}
  .category-icon-wrap{width:42px!important;height:42px!important;border-radius:13px!important;}
  .category-custom-svg{width:27px!important;height:27px!important;}
  .category-icon-label{font-size:11.5px!important;max-width:62px!important;}

  body .product-card .qty-control{height:36px!important;min-height:36px!important;}
  body .product-card .qty-control button{width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;border-radius:8px!important;}

  body .bottom-bar,
  body.layout-mobile .bottom-bar,
  body.theme-light.layout-mobile .bottom-bar,
  body.theme-dark.layout-mobile .bottom-bar{
    grid-template-columns:minmax(0,1fr) 50px minmax(0,1fr)!important;
    grid-template-areas:"prev cart next"!important;
    gap:7px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  body.layout-mobile .bottom-prev-btn{grid-area:prev!important;display:flex!important;visibility:visible!important;}
  body.layout-mobile .selected-drawer-toggle{grid-area:cart!important;width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;justify-self:center!important;align-self:center!important;}
  body.layout-mobile .continue-btn{grid-area:next!important;grid-column:auto!important;}
  body.layout-mobile.step-1 .bottom-prev-btn{display:flex!important;visibility:visible!important;opacity:.45!important;pointer-events:none!important;}
  body.layout-mobile.step-1 .continue-btn{grid-column:auto!important;grid-area:next!important;padding-left:8px!important;padding-right:8px!important;}
  body.layout-mobile .bottom-prev-btn,
  body.layout-mobile .continue-btn{height:48px!important;min-height:48px!important;padding:0 7px!important;border-radius:13px!important;}
  body.layout-mobile .bottom-prev-btn span,
  body.layout-mobile .continue-btn span{font-size:12.5px!important;line-height:1.25!important;}
  body.layout-mobile .bottom-prev-btn:before,
  body.layout-mobile .continue-btn:after{font-size:16px!important;line-height:1!important;}
  body.layout-mobile .selected-drawer-toggle .selected-arrow-icon{width:24px!important;height:24px!important;}
  body.layout-mobile .selected-drawer-toggle .selected-cart-svg{width:24px!important;height:24px!important;}
  .selected-products-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}

@media (max-width:380px){
  body.layout-mobile .bottom-bar{grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr)!important;gap:5px!important;padding-left:6px!important;padding-right:6px!important;}
  body.layout-mobile .selected-drawer-toggle{width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;}
  body.layout-mobile .bottom-prev-btn,
  body.layout-mobile .continue-btn{height:46px!important;min-height:46px!important;padding:0 5px!important;}
  body.layout-mobile .bottom-prev-btn span,
  body.layout-mobile .continue-btn span{font-size:11.5px!important;}
  .selected-products-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;}
}

/* =========================================================
   Dreamland UI hotfix 1.50.5.3.2
   iPhone Persian shaping + centered cart + step-1 nav + category icons
   ========================================================= */

/* iOS Safari: keep the site-selected UI font. The previous mobile hotfix
   replaced --dl-ui-font with a bundled IRANYekanX face via !important; when
   that optional font package is not installed, Safari falls back to a system
   font and the configured site font appears to be missing only on mobile. */
@supports (-webkit-touch-callout: none) {
  html[dir="rtl"],
  html[dir="rtl"] body,
  html[dir="rtl"] button,
  html[dir="rtl"] input,
  html[dir="rtl"] textarea,
  html[dir="rtl"] select,
  html[dir="rtl"] option,
  html[dir="rtl"] .dl-app{
    font-family:var(--dl-ui-font)!important;
    font-feature-settings:normal!important;
    font-variant-ligatures:normal!important;
    font-kerning:auto!important;
    text-rendering:auto!important;
    letter-spacing:0!important;
    word-spacing:normal!important;
    -webkit-text-size-adjust:100%!important;
    font-synthesis:weight style!important;
  }
}

/* Product and greeting-card category rows share the same icon-tile UI. */
.card-category-tabs{
  display:flex!important;
  align-items:stretch!important;
  gap:9px!important;
  overflow-x:auto!important;
  padding:4px 1px 10px!important;
  margin-bottom:6px!important;
  scrollbar-width:none!important;
  scroll-snap-type:x proximity!important;
}
.card-category-tabs::-webkit-scrollbar{display:none!important;}
.card-category-tabs .category-icon-tab{
  flex:0 0 76px!important;
  min-width:76px!important;
  min-height:88px!important;
  padding:7px 5px 8px!important;
  border-radius:18px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  white-space:normal!important;
  text-align:center!important;
  scroll-snap-align:start!important;
  background:#fff!important;
  border:1px solid var(--dl-wg-gold-soft,#eadcc6)!important;
  color:#6f5932!important;
  box-shadow:0 7px 18px rgba(91,65,22,.05)!important;
}
.card-category-tabs .category-icon-tab.active{
  background:var(--dl-wg-gold-pale,#fff8e8)!important;
  color:var(--dl-wg-gold-strong,#8f6422)!important;
  border-color:var(--dl-wg-gold,#c79b49)!important;
}

/* The previous button does not exist visually on the first step. */
body.step-1 .bottom-prev-btn.is-step1-hidden,
body.layout-mobile.step-1 .bottom-prev-btn.is-step1-hidden{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
body.step-1 .bottom-bar,
body.layout-mobile.step-1 .bottom-bar,
body.theme-light.layout-mobile.step-1 .bottom-bar,
body.theme-dark.layout-mobile.step-1 .bottom-bar{
  grid-template-columns:minmax(0,1fr) 52px!important;
  grid-template-areas:"next cart"!important;
}
body.layout-mobile.step-1 .continue-btn{
  grid-area:next!important;
  grid-column:auto!important;
}
body.layout-mobile.step-1 .selected-drawer-toggle{
  grid-area:cart!important;
}

/* Center the entire cart circle and the white cart glyph independently
   from badges / old transforms. */
body .selected-drawer-toggle,
body.layout-mobile .selected-drawer-toggle,
body.layout-mobile.selected-drawer-open .selected-drawer-toggle{
  transform:none!important;
  translate:none!important;
  align-self:center!important;
  justify-self:center!important;
}
body .selected-drawer-toggle .selected-arrow-icon,
body.layout-mobile .selected-drawer-toggle .selected-arrow-icon,
body.layout-mobile.selected-drawer-open .selected-drawer-toggle .selected-arrow-icon{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:25px!important;
  height:25px!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  transform:translate(-50%,-50%)!important;
  transition:none!important;
  color:#fff!important;
  pointer-events:none!important;
}
body .selected-drawer-toggle .selected-cart-svg,
body.layout-mobile .selected-drawer-toggle .selected-cart-svg{
  position:absolute!important;
  inset:0!important;
  width:25px!important;
  height:25px!important;
  margin:auto!important;
  display:block!important;
  fill:currentColor!important;
  stroke:none!important;
  overflow:visible!important;
}
body .selected-drawer-toggle .selected-cart-svg .cart-solid{
  fill:#fff!important;
  stroke:none!important;
}

@media (max-width:859px){
  .card-category-tabs{gap:7px!important;padding-bottom:8px!important;}
  .card-category-tabs .category-icon-tab{
    flex-basis:70px!important;
    min-width:70px!important;
    min-height:82px!important;
    border-radius:16px!important;
  }
  body.layout-mobile.step-1 .bottom-bar{
    grid-template-columns:minmax(0,1fr) 50px!important;
    grid-template-areas:"next cart"!important;
  }
}
@media (max-width:380px){
  body.layout-mobile.step-1 .bottom-bar{
    grid-template-columns:minmax(0,1fr) 46px!important;
    grid-template-areas:"next cart"!important;
  }
}


/* =========================================================
   Dreamland UI hotfix 1.50.5.3.3
   compact selected drawer + iOS Persian shaping + milk product cards
   ========================================================= */

/* iOS: never apply tracking to Persian UI text. Non-zero letter-spacing can
   break contextual joining in WebKit/CoreText. The JS also pins --dl-ui-font
   to Apple's native shaping stack after the uploaded site-font rule loads. */
html.dl-ios[dir="rtl"] body,
html.dl-ios[dir="rtl"] body button,
html.dl-ios[dir="rtl"] body input,
html.dl-ios[dir="rtl"] body textarea,
html.dl-ios[dir="rtl"] body select,
html.dl-ios[dir="rtl"] body option,
html.dl-ios[dir="rtl"] body .dl-app,
html.dl-ios[dir="rtl"] body .dl-app *{
  letter-spacing:normal!important;
  word-spacing:normal!important;
  font-kerning:auto!important;
  font-variant-ligatures:normal!important;
  font-feature-settings:normal!important;
  text-rendering:auto!important;
}

/* Main product tiles: milk-white instead of gold-filled when selected. */
body .product-card,
body .product-body,
body .product-card.selected,
body .product-card.selected .product-body{
  background:#fffdf7!important;
  color:var(--dl-wg-ink,#2d2924)!important;
}
body .product-card.selected{
  border-color:var(--dl-wg-gold,#c49a4b)!important;
  box-shadow:0 10px 26px rgba(122,88,27,.09)!important;
}
body .product-media,
body .product-media img{background:#fff!important;}

/* Inline selected basket is read-only for quantity. Quantity can only be
   changed from the actual product card. */
body .selected-cart-mini .pill-qty{display:none!important;}
body .selected-cart-mini .selected-thumb-count{
  display:block!important;
  margin-top:2px!important;
  font-size:12px!important;
  font-weight:900!important;
  color:#6f5932!important;
  text-align:center!important;
}

/* Mobile selected-products drawer: override old display:block rules with a
   compact thumbnail grid so a single photo can never stretch to drawer width. */
@media (max-width:859px){
  body.layout-mobile .selected-products-sheet{
    height:min(62dvh,360px)!important;
    min-height:190px!important;
  }
  body.layout-mobile .selected-products-list{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    align-content:start!important;
    align-items:start!important;
    gap:7px!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:8px 8px 18px!important;
    margin:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  body.layout-mobile .selected-products-row.selected-products-thumb-card{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    justify-items:center!important;
    align-items:start!important;
    gap:4px!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:5px!important;
    border-radius:13px!important;
    background:#fffdf8!important;
    border:1px solid #eadcc6!important;
    box-shadow:none!important;
  }
  body.layout-mobile .selected-products-row.selected-products-thumb-card .selected-products-thumb-media{
    width:100%!important;
    height:auto!important;
    max-width:86px!important;
    aspect-ratio:1/1!important;
    margin:0 auto!important;
    border-radius:10px!important;
    background:#fff!important;
    overflow:hidden!important;
  }
  body.layout-mobile .selected-products-row.selected-products-thumb-card .selected-products-thumb-media img{
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:100%!important;
    padding:4px!important;
    object-fit:contain!important;
    object-position:center!important;
    border-radius:0!important;
    background:#fff!important;
  }
  body.layout-mobile .selected-products-row.selected-products-thumb-card .selected-products-thumb-qty{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    text-align:center!important;
    font-size:11.5px!important;
    line-height:1.45!important;
    font-weight:900!important;
    color:#6f5932!important;
  }
  body.layout-mobile .selected-products-row.selected-products-thumb-card .selected-products-thumb-remove{
    top:2px!important;
    left:2px!important;
    width:20px!important;
    height:20px!important;
    min-width:20px!important;
    min-height:20px!important;
    font-size:15px!important;
  }
}
@media (max-width:380px){
  body.layout-mobile .selected-products-list{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* v1.50.5.3.4 — editable brand/category media */
.dl-header .brand .brand-logo-img{display:block;width:auto;max-width:min(210px,72vw);height:58px;object-fit:contain;object-position:center;margin:0 auto 5px;background:transparent}
.category-icon-wrap .category-custom-image{display:block;width:30px;height:30px;object-fit:contain;object-position:center;margin:auto;background:transparent;border:0;border-radius:0}
@media(max-width:640px){.dl-header .brand .brand-logo-img{height:50px;max-width:68vw}.category-icon-wrap .category-custom-image{width:28px;height:28px}}


/* =========================================================
   Dreamland UI/packing hotfix 1.50.5.3.5
   ========================================================= */

/* Light theme must stay white on every step, including step 1. */
body.theme-light,
body.theme-light .dl-app{
  background:#fff!important;
}

/* Larger logo; tagline was removed from markup in this build. */
.dl-header .brand .brand-logo-img{
  height:76px!important;
  max-width:min(285px,82vw)!important;
  margin:0 auto!important;
}
@media(max-width:640px){
  .dl-header .brand .brand-logo-img{
    height:66px!important;
    max-width:78vw!important;
  }
}

/* Greeting cards are portrait-oriented instead of square-ish. */
.card-option .card-zoom-trigger{
  aspect-ratio:3/4!important;
  border-radius:18px!important;
  background:#fffdf8!important;
}
.card-option .card-zoom-trigger img,
.card-option img{
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  background:#fffdf8!important;
}

/* Capacity-full modal. */
.capacity-full-backdrop{
  position:fixed;inset:0;z-index:130000;background:rgba(18,14,9,.48);
  display:grid;place-items:center;padding:22px;opacity:0;transition:.18s ease;
  backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);
}
.capacity-full-backdrop.show{opacity:1}
.capacity-full-popup{
  width:min(360px,100%);background:#fffdf8;border:1px solid #c79b49;border-radius:24px;
  padding:22px;text-align:center;box-shadow:0 26px 80px rgba(67,43,10,.24);
  transform:translateY(10px) scale(.98);transition:.18s ease;
}
.capacity-full-backdrop.show .capacity-full-popup{transform:none}
.capacity-full-icon{
  width:48px;height:48px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;
  background:#fff3d8;border:1px solid #c79b49;color:#9a681e;font-size:26px;font-weight:900;
}
.capacity-full-popup h3{margin:0 0 7px;color:#2e271e;font-size:19px}
.capacity-full-popup p{margin:0;color:#736451;font-size:14px;line-height:1.9}
.capacity-full-popup button{
  width:100%;height:44px;margin-top:15px;border:1px solid #c79b49;border-radius:14px;
  background:#c79b49;color:#fff;font-weight:900;cursor:pointer;
}

/* Selected-products drawer: exactly one delete X, optically centered. */
body .selected-products-row.selected-products-thumb-card .selected-products-thumb-remove{
  position:absolute!important;top:3px!important;left:3px!important;
  width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;
  padding:0!important;margin:0!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;font-size:0!important;line-height:1!important;
  background:#fffaf0!important;border:1px solid #d9b46d!important;color:#7b5722!important;
  box-shadow:0 3px 8px rgba(68,44,10,.10)!important;
}
body .selected-products-row.selected-products-thumb-card .selected-products-thumb-remove::before{content:none!important}
body .selected-products-row.selected-products-thumb-card .selected-products-thumb-remove::after{
  content:"×"!important;position:static!important;display:block!important;
  width:auto!important;height:auto!important;margin:0!important;padding:0!important;
  transform:translateY(-.5px)!important;font-size:19px!important;font-weight:500!important;line-height:1!important;
  color:currentColor!important;background:transparent!important;border:0!important;
}


/* =========================================================
   Dreamland v1.50.5.3.6 — strict fixed-orientation packing UI fixes
   ========================================================= */

/* Step 1 must visually match later steps: pure white page/header, no gold veil. */
body.theme-light.step-1,
body.theme-light.step-1::before,
body.theme-light.step-1 .dl-app,
body.theme-light.layout-mobile.step-1,
body.theme-light.layout-mobile.step-1::before,
body.theme-light.layout-mobile.step-1 .dl-app{
  background:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
}
body.theme-light.step-1 .dl-header,
body.theme-light.layout-mobile.step-1 .dl-header{
  background:#fff!important;
  background-image:none!important;
  color:var(--dl-wg-ink,#2d2924)!important;
  box-shadow:none!important;
  border-bottom:1px solid var(--dl-wg-gold-soft,#ead7b5)!important;
}
body.theme-light.step-1 .dl-header::before,
body.theme-light.layout-mobile.step-1 .dl-header::before,
body.theme-light.step-1 .dl-header:before,
body.theme-light.layout-mobile.step-1 .dl-header:before{
  content:none!important;
  display:none!important;
  background:none!important;
  opacity:0!important;
}
body.theme-light.step-1 #stepContent,
body.theme-light.step-1 main,
body.theme-light.step-1 .builder-hero,
body.theme-light.step-1 .capacity-card,
body.theme-light.step-1 .selected-cart-mini,
body.theme-light.step-1 .search-box,
body.theme-light.step-1 .search-box input{
  background:#fff!important;
  background-image:none!important;
}
/* Product page remains white; product/photo tiles are neutral, never gold-filled. */
body.theme-light.step-1 .product-grid,
body.theme-light.step-1 .product-card,
body.theme-light.step-1 .product-card.selected,
body.theme-light.step-1 .product-body,
body.theme-light.step-1 .product-card.selected .product-body{
  background:#fff!important;
  background-image:none!important;
}
body.theme-light.step-1 .product-media,
body.theme-light.step-1 .product-card .product-media,
body.theme-light.step-1 .product-card.selected .product-media,
body.theme-light.step-1 .product-media img,
body.theme-light.step-1 .product-card .product-media img{
  background:#fffdf8!important;
  background-image:none!important;
}
body.theme-light.step-1 .product-card.selected{
  border-color:var(--dl-wg-gold,#c49a4b)!important;
  box-shadow:0 10px 26px rgba(122,88,27,.08)!important;
}

/* Exactly one remove icon in selected-products drawer, centered by SVG geometry. */
body .selected-products-row.selected-products-thumb-card .selected-products-thumb-remove,
body.layout-mobile .selected-products-row.selected-products-thumb-card .selected-products-thumb-remove{
  position:absolute!important;
  top:4px!important;
  left:4px!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#fff!important;
  border:1px solid #d9b46d!important;
  color:#79551d!important;
  font-size:0!important;
  line-height:1!important;
  overflow:hidden!important;
}
body .selected-products-row.selected-products-thumb-card .selected-products-thumb-remove::before,
body .selected-products-row.selected-products-thumb-card .selected-products-thumb-remove::after{
  content:none!important;
  display:none!important;
}
body .selected-products-row.selected-products-thumb-card .selected-products-thumb-remove svg{
  display:block!important;
  width:12px!important;
  height:12px!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  overflow:visible!important;
  pointer-events:none!important;
}
body .selected-products-row.selected-products-thumb-card .selected-products-thumb-remove svg path{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
/* Old lower thumbnail delete control is retired. */
body .bottom-thumb .bottom-remove,
body .bottom-remove{display:none!important;}


/* ===== v1.50.6 box gallery + floor capacity compatibility + direct checkout + readable engraving ===== */

/* Search: compact and unobtrusive */
.search-box.compact-search{
  width:min(100%,330px)!important;
  margin:4px 0 12px auto!important;
  position:relative!important;
}
.search-box.compact-search:before{
  content:"⌕";
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  color:#aa7d39;
  font-size:20px;
  line-height:1;
  pointer-events:none;
}
.search-box.compact-search input{
  height:42px!important;
  min-height:42px!important;
  padding:0 38px 0 12px!important;
  border-radius:12px!important;
  font-size:14px!important;
  box-shadow:0 6px 18px rgba(43,31,17,.05)!important;
}

/* Capacity uses real floor packing; item count is informational only. */
.cap-dimensions{
  display:block!important;
  margin-top:3px!important;
  color:#9a8c7c!important;
  font-size:11px!important;
  font-weight:700!important;
}
.cap-count span{font-size:11px!important;color:#988b7c!important}
body.theme-dark .cap-dimensions,body.theme-dark .cap-count span{color:#c6b89f!important}

/* All three previews stay visible and the selected text has a separate readable strip. */
body.step-3 .readable-preview-stack{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
}
body.step-3 .preview-unit{
  display:grid!important;
  gap:7px!important;
  min-width:0!important;
}
body.step-3 .preview-unit .preview-mini,
body.layout-mobile.step-3 .preview-unit .preview-mini,
body.layout-desktop.step-3 .preview-unit .preview-mini{
  display:grid!important;
  place-items:center!important;
  min-height:240px!important;
  height:240px!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
body.step-3 .preview-unit .preview-mini img,
body.layout-mobile.step-3 .preview-unit .preview-mini img,
body.layout-desktop.step-3 .preview-unit .preview-mini img{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:contain!important;
  padding:24px 12px 18px!important;
  opacity:.96!important;
  background:linear-gradient(145deg,#f5efe6,#ded4c6)!important;
}
body.step-3 .preview-unit .preview-mini:after{
  background:linear-gradient(180deg,rgba(12,10,8,.02),rgba(12,10,8,.16))!important;
}
body.step-3 .preview-unit .engrave,
body.step-3 .preview-unit .product-engrave,
body.step-3 .preview-unit .box-engrave{
  top:54%!important;
  left:50%!important;
  right:auto!important;
  transform:translate(-50%,-50%)!important;
  width:78%!important;
  max-width:360px!important;
  height:auto!important;
  min-height:46px!important;
  max-height:96px!important;
  padding:9px 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(20,16,12,.82)!important;
  border:1px solid rgba(226,190,112,.72)!important;
  border-radius:14px!important;
  color:#ffe7aa!important;
  text-shadow:0 2px 5px rgba(0,0,0,.92)!important;
  -webkit-text-stroke:.18px rgba(0,0,0,.45)!important;
  font-weight:800!important;
  line-height:1.7!important;
  text-align:center!important;
  overflow:hidden!important;
  z-index:4!important;
  backdrop-filter:blur(4px)!important;
}
body.step-3 .preview-unit .card-engrave{
  top:52%!important;
  left:50%!important;
  right:auto!important;
  transform:translate(-50%,-50%)!important;
  width:82%!important;
  max-width:380px!important;
  height:auto!important;
  min-height:58px!important;
  max-height:118px!important;
  padding:10px 13px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(128,96,51,.28)!important;
  border-radius:14px!important;
  color:#3e2c1c!important;
  text-shadow:none!important;
  font-weight:800!important;
  line-height:1.9!important;
  text-align:center!important;
  overflow:hidden!important;
  z-index:4!important;
  backdrop-filter:blur(4px)!important;
}
.preview-readable-strip{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:start!important;
  gap:9px!important;
  padding:10px 12px!important;
  border:1px solid #eadfce!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#2d241d!important;
  box-shadow:0 7px 18px rgba(42,31,18,.05)!important;
}
.preview-readable-strip b{
  color:#a67832!important;
  font-size:12px!important;
  white-space:nowrap!important;
}
.preview-readable-strip span{
  min-width:0!important;
  overflow-wrap:anywhere!important;
  white-space:pre-wrap!important;
  font-size:16px!important;
  line-height:1.8!important;
  font-weight:800!important;
}
body.theme-dark .preview-readable-strip{background:#171512!important;border-color:#3b3024!important;color:#fff!important}
body.theme-dark .preview-readable-strip b{color:#f0cf80!important}

/* Final review: box gallery and high-contrast personalization text. */
.review-box-gallery{
  margin:0 0 14px!important;
  padding:12px!important;
  border:1px solid #eadfce!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(42,31,18,.06)!important;
}
.review-box-gallery-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-bottom:9px!important;
}
.review-box-gallery-head strong{font-size:14px!important;color:#41362c!important}
.review-box-gallery-head span{font-size:12px!important;color:#9a7b45!important}
.review-box-thumbs{
  display:flex!important;
  gap:8px!important;
  overflow-x:auto!important;
  padding-bottom:3px!important;
  scrollbar-width:none!important;
}
.review-box-thumbs::-webkit-scrollbar{display:none!important}
.review-box-thumb{
  flex:0 0 78px!important;
  width:78px!important;
  height:66px!important;
  padding:3px!important;
  border:1px solid #e5d8c5!important;
  border-radius:11px!important;
  background:#faf7f2!important;
  cursor:pointer!important;
}
.review-box-thumb.active{
  border-color:#bf8d3e!important;
  box-shadow:0 0 0 2px rgba(191,141,62,.16)!important;
}
.review-box-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:8px!important;
}
.review-box-gallery-hero>img{
  object-fit:contain!important;
  background:linear-gradient(145deg,#f4eee5,#d9cfbf)!important;
}
.readable-review-box-text{
  background:rgba(18,14,10,.86)!important;
  color:#ffe6a7!important;
  border:1px solid rgba(230,194,111,.72)!important;
  border-radius:13px!important;
  padding:8px 12px!important;
  text-shadow:0 2px 5px #000!important;
  font-weight:900!important;
  max-width:78%!important;
  overflow-wrap:anywhere!important;
}
.personal-review-item .readable-personal-text{
  display:block!important;
  margin:7px 0!important;
  padding:10px 11px!important;
  border:1px solid #eadcc8!important;
  border-radius:11px!important;
  background:#fffdf9!important;
  color:#2d231a!important;
  font-size:17px!important;
  line-height:1.9!important;
  font-weight:900!important;
  overflow-wrap:anywhere!important;
  white-space:pre-wrap!important;
}
.personal-review-item .card-review-text{font-size:16px!important}
body.theme-dark .review-box-gallery{background:#171512!important;border-color:#3a3024!important}
body.theme-dark .review-box-gallery-head strong{color:#fff!important}
body.theme-dark .personal-review-item .readable-personal-text{background:#0f0e0c!important;border-color:#3a3024!important;color:#fff!important}

.review-secondary-actions{
  display:flex!important;
  justify-content:center!important;
  margin:10px 0 2px!important;
}
.review-secondary-actions button{
  border:1px solid #d8bd8a!important;
  background:#fffaf1!important;
  color:#8b652a!important;
  border-radius:13px!important;
  min-height:44px!important;
  padding:0 16px!important;
  font:inherit!important;
  font-size:13px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
body.theme-dark .review-secondary-actions button{background:#171512!important;border-color:#5d482b!important;color:#f0ce82!important}
.direct-checkout-hint{border-color:rgba(190,139,57,.35)!important}

/* Make the primary review action explicit and readable. */
body.step-4 .continue-btn span{font-weight:950!important}
@media (min-width:860px){
  body.step-3 .readable-preview-stack{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:start!important;
  }
  body.step-3 .preview-unit .preview-mini,
  body.layout-desktop.step-3 .preview-unit .preview-mini{
    height:300px!important;
    min-height:300px!important;
  }
  .review-box-thumb{flex-basis:92px!important;width:92px!important;height:76px!important}
}
@media (max-width:420px){
  .search-box.compact-search{width:min(100%,285px)!important}
  body.step-3 .preview-unit .preview-mini,
  body.layout-mobile.step-3 .preview-unit .preview-mini{
    height:220px!important;
    min-height:220px!important;
  }
  body.step-3 .preview-unit .engrave{width:84%!important;font-size:18px!important}
  body.step-3 .preview-unit .card-engrave{width:86%!important;font-size:14px!important}
  body.layout-mobile.step-4 .continue-btn span{font-size:12px!important}
}
body.theme-dark .search-box.compact-search input{background:#191817!important;border-color:#302d29!important;color:#fff!important}
body.theme-dark .search-box.compact-search:before{color:#e2bd72!important}


/* ============================================================
   v1.50.6.1 - UI/desktop/review patch on REAL cumulative chain
   ============================================================ */

/* Four real steps: older five-column rule caused right-side drift. */
body .stepper,
body.layout-desktop .stepper,
body.layout-mobile .stepper{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  width:min(760px,100%)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  justify-items:center!important;
}
body .stepper:before{right:12.5%!important;left:12.5%!important;}

/* Black + gold bottom navigation and guaranteed desktop visibility. */
body .bottom-bar,
body.theme-light .bottom-bar,
body.theme-dark .bottom-bar{
  background:linear-gradient(180deg,rgba(29,24,19,.98),rgba(13,12,10,.99))!important;
  border:1px solid rgba(216,184,110,.58)!important;
  box-shadow:0 -12px 34px rgba(0,0,0,.20),inset 0 1px rgba(255,230,170,.08)!important;
}
body .continue-btn,
body .bottom-prev-btn,
body.theme-dark .bottom-prev-btn{
  background:linear-gradient(135deg,#211b16,#100e0c)!important;
  color:#f3d58c!important;
  border:1px solid rgba(216,184,110,.74)!important;
  box-shadow:0 8px 20px rgba(0,0,0,.20)!important;
}
body .continue-btn:disabled{background:#191612!important;color:#8b7d64!important;border-color:#4e432f!important;}
body .selected-drawer-toggle{
  background:linear-gradient(135deg,#d9b45c,#9c6d23)!important;
  color:#17120d!important;
  border:1px solid #f0d788!important;
}
@media(min-width:860px){
  body.layout-desktop .bottom-bar{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    grid-template-columns:minmax(230px,1fr) 62px minmax(230px,1fr)!important;
    width:min(1180px,calc(100% - 56px))!important;
    max-width:1180px!important;
    gap:16px!important;
    padding:13px 18px!important;
    z-index:100!important;
  }
  body.layout-desktop .bottom-prev-btn,
  body.layout-desktop .continue-btn{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    min-height:54px!important;
    height:54px!important;
    font-size:17px!important;
  }
  body.layout-desktop .selected-drawer-toggle{display:grid!important;visibility:visible!important;opacity:1!important;}
}

/* Dark header logo remains visible and receives a restrained gold glow. */
body.theme-dark .brand-logo-img{
  filter:brightness(1.12) contrast(1.06) drop-shadow(0 0 5px rgba(242,205,119,.62)) drop-shadow(0 0 14px rgba(190,137,48,.34))!important;
}
body.theme-dark .brand h1{color:#f4d688!important;text-shadow:0 0 10px rgba(216,184,110,.42)!important;}

/* Card: price directly below + wide add/select button. */
.card-price-under{
  margin:8px 3px 5px!important;
  color:#a9792d!important;
  font-size:16px!important;
  font-weight:950!important;
  text-align:center!important;
}
.card-option.selected .card-price-under{color:#f4d58c!important;}
.card-add-wide{
  width:100%!important;
  min-height:44px!important;
  border:1px solid rgba(216,184,110,.72)!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#211b16,#100e0c)!important;
  color:#f4d58c!important;
  font:inherit!important;
  font-weight:900!important;
  cursor:pointer!important;
  margin-top:7px!important;
}
.card-add-wide.selected{background:linear-gradient(135deg,#ddb959,#a77427)!important;color:#fff!important;}

/* Personalization preview is intentionally abstract: white text boxes only. */
body.step-3 .text-only-preview-stack{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
body.step-3 .text-only-preview,
body.layout-mobile.step-3 .text-only-preview,
body.layout-desktop.step-3 .text-only-preview{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  height:220px!important;
  min-height:220px!important;
  padding:18px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #e8d8bd!important;
  border-radius:18px!important;
  box-shadow:0 12px 28px rgba(50,35,16,.07)!important;
}
body.step-3 .text-only-preview:after{display:none!important;}
body.step-3 .text-only-preview .preview-label{position:absolute!important;top:12px!important;right:12px!important;}
body.step-3 .text-only-preview .engrave,
body.step-3 .text-only-preview .product-engrave,
body.step-3 .text-only-preview .box-engrave,
body.step-3 .text-only-preview .card-engrave{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:100%!important;
  min-height:82px!important;
  max-height:none!important;
  padding:14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  color:#30261e!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  text-shadow:none!important;
  -webkit-text-stroke:0!important;
  backdrop-filter:none!important;
  overflow-wrap:anywhere!important;
  white-space:pre-wrap!important;
}
body.step-3 .text-only-preview-card .preview-readable-strip{display:none!important;}
@media(min-width:860px){
  body.step-3 .text-only-preview-stack{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  body.layout-desktop.step-3 .text-only-preview{height:300px!important;min-height:300px!important;}
}

/* Review box: larger white canvas, no product chips, engraving exactly centered. */
.clean-review-box{
  position:relative!important;
  min-height:430px!important;
  padding:28px!important;
  background:#fff!important;
  border:1px solid #e8d8bd!important;
  overflow:hidden!important;
}
.clean-review-box>img{
  width:100%!important;
  height:380px!important;
  max-height:380px!important;
  object-fit:contain!important;
  background:#fff!important;
}
.clean-review-box .review-products{display:none!important;}
.clean-review-box .readable-review-box-text{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  transform:translate(-50%,-50%)!important;
  width:68%!important;
  max-width:68%!important;
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:8px 12px!important;
  background:rgba(255,255,255,.78)!important;
  color:#2b221b!important;
  border:1px solid rgba(184,135,62,.38)!important;
  text-shadow:none!important;
  box-shadow:0 6px 22px rgba(0,0,0,.05)!important;
}
.review-secondary-actions{justify-content:flex-start!important;}
.review-secondary-actions button{
  min-width:290px!important;
  min-height:54px!important;
  padding:0 22px!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#211b16,#100e0c)!important;
  border:1px solid rgba(216,184,110,.70)!important;
  color:#f4d58c!important;
  font-size:16px!important;
  box-shadow:0 10px 24px rgba(0,0,0,.12)!important;
}
@media(max-width:859px){.review-secondary-actions{justify-content:center!important}.review-secondary-actions button{width:100%!important;min-width:0!important}}


/* ===== v1.50.6.2 hotfix: split light/dark bottom bar + restore next button + selected drawer open ===== */
body.theme-light .bottom-bar{
  background:linear-gradient(180deg,rgba(255,252,247,.985),#fbf6ee)!important;
  border:1px solid rgba(213,187,142,.72)!important;
  box-shadow:0 -8px 30px rgba(50,34,13,.14),0 10px 24px rgba(50,34,13,.10)!important;
}
body.theme-light .bottom-prev-btn{
  background:#fffaf2!important;
  color:#6f5732!important;
  border:1px solid #dfcfb4!important;
  box-shadow:none!important;
}
body.theme-light .continue-btn{
  background:linear-gradient(135deg,#e0bc68,#bf8730)!important;
  color:#fff!important;
  border:1px solid #bd8834!important;
  box-shadow:none!important;
}
body.theme-light .selected-drawer-toggle{
  background:linear-gradient(180deg,#fffdf8,#f5e5c8)!important;
  color:#8f641f!important;
  border:1px solid #c89748!important;
  box-shadow:0 7px 18px rgba(84,55,15,.16)!important;
}
body.theme-dark .bottom-bar{
  background:linear-gradient(180deg,rgba(25,22,18,.99),#171411)!important;
  border:1px solid rgba(216,184,110,.30)!important;
  box-shadow:0 -8px 30px rgba(0,0,0,.32)!important;
}
body.theme-dark .bottom-prev-btn{
  background:#27221c!important;
  color:#f0d292!important;
  border:1px solid #514432!important;
}
body.theme-dark .continue-btn{
  background:linear-gradient(135deg,#d3ab53,#a96f22)!important;
  color:#fff!important;
  border:1px solid rgba(216,184,110,.52)!important;
}
body.theme-dark .selected-drawer-toggle{
  background:linear-gradient(180deg,#2b251e,#1c1814)!important;
  color:#f0d08a!important;
  border:1px solid #725b37!important;
}
body .bottom-bar,
body .bottom-prev-btn,
body .continue-btn,
body .selected-drawer-toggle{pointer-events:auto!important}

@media (min-width:860px){
  body.layout-desktop .bottom-bar{
    display:grid!important;
    grid-template-columns:minmax(230px,1fr) 62px minmax(230px,1fr)!important;
    gap:16px!important;
    padding:13px 18px!important;
    visibility:visible!important;
    opacity:1!important;
  }
  body.layout-desktop .bottom-prev-btn,
  body.layout-desktop .continue-btn{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    min-height:54px!important;
    height:54px!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body.layout-desktop .selected-drawer-toggle{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  body.layout-desktop.step-1 .continue-btn{display:flex!important;visibility:visible!important;opacity:1!important}
  body.layout-desktop.step-1 .bottom-prev-btn{visibility:hidden!important;pointer-events:none!important}
}

@media (max-width:859px){
  body.layout-mobile .bottom-bar,
  body.layout-mobile.step-1 .bottom-bar,
  body.layout-mobile.step-2 .bottom-bar,
  body.layout-mobile.step-3 .bottom-bar,
  body.layout-mobile.step-4 .bottom-bar{
    grid-template-columns:minmax(0,1fr) 66px minmax(0,1fr)!important;
    gap:8px!important;
  }
  body.layout-mobile .bottom-summary{display:none!important}
  body.layout-mobile .bottom-prev-btn,
  body.layout-mobile .continue-btn{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    width:100%!important;
  }
  body.layout-mobile.step-1 .bottom-prev-btn{
    display:flex!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.layout-mobile.step-1 .continue-btn{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  body.layout-mobile .selected-drawer-toggle{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    z-index:75!important;
  }
  body.layout-mobile .selected-products-backdrop{
    display:block!important;
    z-index:119!important;
  }
  body.layout-mobile .selected-products-sheet{
    display:flex!important;
    z-index:120!important;
  }
  body.layout-mobile .selected-products-sheet.open{
    display:flex!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}


/* ===== v1.50.6.3 hotfix: next button visibility + clean light theme + working selected-cart sheet ===== */
body.theme-light .multi-pack-status button,
body.theme-light #inlineCartOpen,
body.theme-light #newPackBtn,
body.theme-light .review-secondary-actions button,
body.theme-light .pack-cart-toolbar button,
body.theme-light .pack-cart-actions button:not(.danger){
  background:linear-gradient(135deg,#fffaf2,#f4e6cf)!important;
  color:#6f5732!important;
  border:1px solid #dfcfb4!important;
  box-shadow:none!important;
}
body.theme-light .pack-cart-actions button.danger{
  background:#fff4f2!important;
  color:#9c4238!important;
  border:1px solid #e8c3bc!important;
}
body.theme-light .multi-pack-status,
body.theme-light .pack-save-hint,
body.theme-light .pack-cart-warning{
  background:#fffaf2!important;
  color:#6f5732!important;
  border-color:#eadcc6!important;
}
body.theme-light .selected-pill,
body.theme-light .card-option,
body.theme-light .accordion-card,
body.theme-light .preview-card,
body.theme-light .review-card,
body.theme-light .customer-card{background:#fff!important}

/* Review summary thumbs should look clean on white. */
body .summary-item.pro-summary-item img,
body .summary-item img,
body .pro-summary-item img{
  background:#fff!important;
  object-fit:contain!important;
  padding:6px!important;
  border:1px solid #eadcc6!important;
  box-shadow:none!important;
}

/* Mobile bottom bar: always 3 visible slots = prev / selected-cart / next. */
@media (max-width:859px){
  body.layout-mobile .pack-cart-dock{display:none!important}
  body.layout-mobile .bottom-bar,
  body.layout-mobile.step-1 .bottom-bar,
  body.layout-mobile.step-2 .bottom-bar,
  body.layout-mobile.step-3 .bottom-bar,
  body.layout-mobile.step-4 .bottom-bar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 66px minmax(0,1fr)!important;
    grid-auto-rows:minmax(52px,auto)!important;
    align-items:end!important;
    gap:8px!important;
    overflow:visible!important;
  }
  body.layout-mobile .bottom-summary{display:none!important}
  body.layout-mobile .bottom-prev-btn{grid-column:1/2!important;grid-row:1!important}
  body.layout-mobile .selected-drawer-toggle{grid-column:2/3!important;grid-row:1!important}
  body.layout-mobile .continue-btn{grid-column:3/4!important;grid-row:1!important}
  body.layout-mobile .bottom-prev-btn,
  body.layout-mobile .continue-btn{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
  }
  body.layout-mobile .continue-btn span,
  body.layout-mobile .bottom-prev-btn span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    text-align:center!important;
  }
  body.layout-mobile.step-1 .bottom-prev-btn{
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.layout-mobile.step-1 .continue-btn{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  body.theme-light.layout-mobile .bottom-bar{
    background:linear-gradient(180deg,rgba(255,252,247,.985),#fbf6ee)!important;
    border:1px solid rgba(213,187,142,.72)!important;
  }
  body.theme-light.layout-mobile .bottom-prev-btn{
    background:#fffaf2!important;
    color:#6f5732!important;
    border:1px solid #dfcfb4!important;
  }
  body.theme-light.layout-mobile .continue-btn{
    background:linear-gradient(135deg,#e0bc68,#bf8730)!important;
    color:#fff!important;
    border:1px solid #bd8834!important;
  }
  body.theme-light.layout-mobile .selected-drawer-toggle{
    background:linear-gradient(180deg,#fffdf8,#f5e5c8)!important;
    color:#8f641f!important;
    border:1px solid #c89748!important;
  }
}

/* Desktop selected-cart sheet must be visible when opened. */
@media (min-width:860px){
  body.layout-desktop .selected-products-backdrop{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:119!important;
    border:0!important;
    padding:0!important;
    background:rgba(32,23,13,.16)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .10s linear,visibility 0s linear .10s!important;
  }
  body.layout-desktop .selected-products-backdrop.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  body.layout-desktop .selected-products-sheet{
    display:flex!important;
    flex-direction:column!important;
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    bottom:96px!important;
    width:min(560px,calc(100% - 40px))!important;
    max-height:min(62vh,500px)!important;
    min-height:220px!important;
    padding:12px 12px 14px!important;
    border:1px solid rgba(214,187,142,.86)!important;
    border-radius:24px 24px 16px 16px!important;
    background:#fffdf9!important;
    box-shadow:0 -16px 44px rgba(48,32,12,.22)!important;
    overflow:hidden!important;
    z-index:120!important;
    transform:translate3d(-50%,calc(100% + 24px),0)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .10s cubic-bezier(.2,.75,.25,1),opacity .08s linear,visibility 0s linear .10s!important;
  }
  body.layout-desktop .selected-products-sheet.open{
    transform:translate3d(-50%,0,0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  body.theme-dark.layout-desktop .selected-products-sheet{
    background:#171512!important;
    border-color:#3a3024!important;
  }
  body.theme-dark.layout-desktop .selected-products-sheet>header strong{color:#fff!important}
}


/* =========================================================
   v1.50.6.4 FINAL LIGHT/NAV OVERRIDE
   Authoritative rules placed last on purpose.
   ========================================================= */

/* Step 1 uses the exact same 3-slot geometry as later steps.
   Previous stays invisible but keeps its slot, cart stays centered,
   and Next stays fully expanded. */
html body.step-1 .bottom-bar,
html body.layout-mobile.step-1 .bottom-bar,
html body.layout-desktop.step-1 .bottom-bar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 66px minmax(0,1fr)!important;
  grid-template-areas:"prev cart next"!important;
  align-items:center!important;
  gap:10px!important;
  overflow:visible!important;
}
html body.step-1 .bottom-prev-btn,
html body.step-1 .bottom-prev-btn.is-step1-hidden,
html body.layout-mobile.step-1 .bottom-prev-btn,
html body.layout-desktop.step-1 .bottom-prev-btn{
  grid-area:prev!important;
  display:flex!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  width:100%!important;
  min-width:0!important;
}
html body.step-1 .selected-drawer-toggle,
html body.layout-mobile.step-1 .selected-drawer-toggle,
html body.layout-desktop.step-1 .selected-drawer-toggle{
  grid-area:cart!important;
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  justify-self:center!important;
  align-self:center!important;
}
html body.step-1 .continue-btn,
html body.layout-mobile.step-1 .continue-btn,
html body.layout-desktop.step-1 .continue-btn{
  grid-area:next!important;
  grid-column:auto!important;
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:54px!important;
  min-height:54px!important;
  padding:0 14px!important;
  margin:0!important;
  border-radius:15px!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  letter-spacing:0!important;
  text-transform:none!important;
  overflow:visible!important;
}
html body.step-1 .continue-btn span{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:950!important;
}
html body.step-1 .continue-btn:before{
  content:none!important;
  display:none!important;
}
html body.step-1 .continue-btn:after{
  content:"←"!important;
  display:inline-block!important;
  flex:0 0 auto!important;
  margin-right:8px!important;
  font-size:19px!important;
  line-height:1!important;
}

@media(max-width:859px){
  html body.layout-mobile.step-1 .bottom-bar{
    grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr)!important;
    gap:8px!important;
  }
  html body.layout-mobile.step-1 .continue-btn span{font-size:13px!important}
}

/* LIGHT THEME: no operational button is allowed to fall back to black. */
html body.theme-light .bottom-bar{
  background:linear-gradient(180deg,rgba(255,252,247,.99),#fbf6ee)!important;
  border-color:#e4ceb0!important;
  box-shadow:0 -8px 30px rgba(80,55,20,.12)!important;
}
html body.theme-light .continue-btn{
  background:linear-gradient(135deg,#e3bf68,#c38b30)!important;
  color:#fff!important;
  border:1px solid #c18d39!important;
  box-shadow:0 8px 20px rgba(185,132,42,.18)!important;
}
html body.theme-light .continue-btn:disabled{
  background:#eee5d8!important;
  color:#a2937d!important;
  border-color:#dfd1bd!important;
  box-shadow:none!important;
}
html body.theme-light .bottom-prev-btn{
  background:#fffaf2!important;
  color:#70572f!important;
  border:1px solid #dfcfb4!important;
  box-shadow:none!important;
}
html body.theme-light .selected-drawer-toggle{
  background:linear-gradient(180deg,#fffdf8,#f4e3c5)!important;
  color:#91651f!important;
  border-color:#c99746!important;
  box-shadow:0 7px 18px rgba(84,55,15,.12)!important;
}
html body.theme-light .pack-cart-dock,
html body.theme-light .pack-cart-dock.has-items{
  background:linear-gradient(180deg,#fffaf0,#f4e3c5)!important;
  color:#6f5328!important;
  border:1px solid #d1a657!important;
  box-shadow:0 10px 26px rgba(88,58,14,.13)!important;
}
html body.theme-light .pack-cart-dock b,
html body.theme-light .pack-cart-dock.has-items b{
  background:#d3a344!important;
  color:#fff!important;
}
html body.theme-light .card-add-wide,
html body.theme-light .card-add-wide:not(.selected){
  background:linear-gradient(180deg,#fffaf2,#f1dfbf)!important;
  color:#805d26!important;
  border:1px solid #d4ad66!important;
  box-shadow:none!important;
}
html body.theme-light .card-add-wide.selected{
  background:linear-gradient(135deg,#e1bc5d,#bd8429)!important;
  color:#fff!important;
  border-color:#c69239!important;
}
html body.theme-light .multi-pack-status button,
html body.theme-light #inlineCartOpen,
html body.theme-light .pack-cart-toolbar button,
html body.theme-light .review-secondary-actions button,
html body.theme-light .pack-cart-actions button:not(.danger){
  background:linear-gradient(180deg,#fffaf2,#f2e2c7)!important;
  color:#70552d!important;
  border:1px solid #ddc8a5!important;
  box-shadow:none!important;
}
html body.theme-light .pack-cart-actions button.danger{
  background:#fff5f3!important;
  color:#a1493e!important;
  border-color:#e5c5bf!important;
}
html body.theme-light.step-1 .add-btn{
  background:linear-gradient(180deg,#fff9ec,#f1dfbd)!important;
  color:#805b21!important;
  border:1px solid #d8b36d!important;
  box-shadow:none!important;
}
html body.theme-light .cart-finalize-btn{
  background:linear-gradient(135deg,#e0ba60,#b9802c)!important;
  color:#fff!important;
  border:1px solid #bd8735!important;
}

/* Keep selected cards light in light mode instead of turning the whole card black. */
html body.theme-light .card-option.selected{
  background:#fffaf0!important;
  color:#3c3024!important;
  border-color:#d2a451!important;
  box-shadow:0 12px 26px rgba(108,73,20,.10)!important;
}
html body.theme-light .card-option.selected h3{color:#3c3024!important}
html body.theme-light .card-option.selected .card-price-under{color:#a97628!important}

/* Review product thumbnails stay white, especially for black products. */
html body .summary-item.pro-summary-item img,
html body .summary-item img,
html body .pro-summary-item img{
  background:#fff!important;
  object-fit:contain!important;
  padding:7px!important;
  border:1px solid #eadcc6!important;
  box-shadow:none!important;
}


/* ===== v1.50.6.5 hotfix: remove capacity icon + larger white review box + text exactly on box ===== */
.cap-title{align-items:flex-start!important}
.cap-title .cap-icon,
body .cap-title .cap-icon,
body.layout-mobile .cap-title .cap-icon,
body.layout-desktop .cap-title .cap-icon{
  display:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Review hero should use the whole inner frame, with a larger white canvas. */
.review-only-layout .review-main,
.review-grid.review-only-layout .review-main{
  width:100%!important;
  max-width:1120px!important;
}

.clean-review-box,
.review-hero.clean-review-box,
.review-box-gallery-hero.clean-review-box{
  position:relative!important;
  min-height:520px!important;
  height:auto!important;
  padding:14px!important;
  background:#fff!important;
  border:1px solid #e6d7bd!important;
  border-radius:26px!important;
  overflow:hidden!important;
}

.clean-review-box > img,
.review-box-gallery-hero.clean-review-box > img,
.review-hero.clean-review-box > img{
  display:block!important;
  width:100%!important;
  height:490px!important;
  max-height:none!important;
  min-height:490px!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#fff!important;
  padding:0!important;
  margin:0 auto!important;
}

/* Remove old dark overlay and any pill background behind text. */
.clean-review-box:after,
.review-hero.clean-review-box:after{display:none!important}
.clean-review-box .readable-review-box-text,
.clean-review-box .box-text,
.review-hero.clean-review-box .box-text,
.review-box-gallery-hero.clean-review-box .readable-review-box-text{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  transform:translate(-50%,-50%)!important;
  width:40%!important;
  max-width:40%!important;
  min-height:auto!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#fff!important;
  text-shadow:0 2px 10px rgba(0,0,0,.55)!important;
  backdrop-filter:none!important;
  overflow:hidden!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.45!important;
  z-index:4!important;
}

/* On small screens, keep it centered and inside the visible box area. */
@media (max-width:859px){
  .clean-review-box,
  .review-hero.clean-review-box,
  .review-box-gallery-hero.clean-review-box{
    min-height:400px!important;
    padding:10px!important;
  }
  .clean-review-box > img,
  .review-box-gallery-hero.clean-review-box > img,
  .review-hero.clean-review-box > img{
    height:372px!important;
    min-height:372px!important;
  }
  .clean-review-box .readable-review-box-text,
  .clean-review-box .box-text,
  .review-hero.clean-review-box .box-text,
  .review-box-gallery-hero.clean-review-box .readable-review-box-text{
    width:46%!important;
    max-width:46%!important;
    font-size:20px!important;
  }
}


/* ===== v1.50.6.6 hotfix: full-width review page ===== */
.review-grid.review-only-layout,
.review-only-layout{
  width:100%!important;
  max-width:none!important;
  grid-template-columns:minmax(0,1fr)!important;
}

.review-only-layout .review-main,
.review-grid.review-only-layout .review-main,
body .review-only-layout .review-main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

.review-only-layout .review-card,
.review-only-layout .review-hero,
.review-only-layout .review-box-gallery,
.review-only-layout .review-secondary-actions{
  width:100%!important;
  max-width:none!important;
}

@media (min-width:860px){
  body.layout-desktop.step-4 #stepContent,
  body.layout-desktop.step-4 .review-grid.review-only-layout,
  body.layout-desktop.step-4 .review-main{
    width:100%!important;
    max-width:none!important;
  }
}


/* ===== v1.50.6.7 hotfix: force step-4 full-width even when layout-desktop class is missing ===== */
body.step-4 .dl-app,
body[data-step="4"] .dl-app,
body.step-4 main,
body[data-step="4"] main{
  width:min(1280px,calc(100vw - 32px))!important;
  max-width:1280px!important;
  padding-left:16px!important;
  padding-right:16px!important;
}

body.step-4 #stepContent,
body[data-step="4"] #stepContent,
body.step-4 .section-title,
body.step-4 .pack-save-hint,
body.step-4 .review-grid.review-only-layout,
body.step-4 .review-only-layout,
body.step-4 .review-main,
body.step-4 .review-card,
body.step-4 .review-hero,
body.step-4 .review-box-gallery,
body.step-4 .review-secondary-actions,
body[data-step="4"] #stepContent,
body[data-step="4"] .review-grid.review-only-layout,
body[data-step="4"] .review-main{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}

body.step-4 .review-grid.review-only-layout,
body[data-step="4"] .review-grid.review-only-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:14px!important;
}

body.step-4 .review-only-layout .review-main,
body[data-step="4"] .review-only-layout .review-main{
  display:grid!important;
  gap:14px!important;
}

@media (max-width:859px){
  body.step-4 .dl-app,
  body[data-step="4"] .dl-app,
  body.step-4 main,
  body[data-step="4"] main{
    width:100%!important;
    max-width:100%!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
}

/* ===== v1.50.6.11: product video gallery + variable products ===== */
.variable-badge{position:absolute;left:8px;bottom:8px;z-index:3;background:rgba(255,255,255,.9);border:1px solid rgba(193,145,68,.55);color:#8a611f;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:900;backdrop-filter:blur(6px)}
body.theme-dark .variable-badge{background:rgba(24,20,16,.88);color:#f0d18a;border-color:rgba(216,184,110,.4)}
.variable-add-btn{min-width:88px!important}
.product-variant-title{font-size:14px;font-weight:900;color:#5b4934;margin:14px 0 8px}.product-variant-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.product-variant-choice{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:9px 11px;border:1px solid #e5d3b7;border-radius:14px;background:#fff;color:#403329;font-weight:900}.product-variant-choice b{color:#a87125;font-size:13px}.product-variant-choice:hover{border-color:#c99a4a;background:#fff9ed}.variant-help{display:block;width:100%;text-align:center;color:#8b765b;font-size:13px}.selected-thumb-count small{display:block;color:#a8752b;font-size:11px;line-height:1.2;margin-bottom:2px}
body.theme-dark .product-variant-title{color:#f2d99e}body.theme-dark .product-variant-choice{background:#241f19;border-color:#4b3e2d;color:#fff}body.theme-dark .product-variant-choice b{color:#f0d18a}body.theme-dark .variant-help{color:#c4b69d}
.product-gallery-modal .gallery-media-slot{width:100%;height:100%;min-height:0;display:grid;place-items:center;overflow:hidden}.product-gallery-modal .gallery-media-slot>img.gallery-image-full,.product-gallery-modal .gallery-media-slot>video.gallery-video-full{display:block;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;margin:auto!important;background:#111}.product-gallery-modal .gallery-video-full{width:100%!important;height:100%!important;object-fit:contain!important}
@media(max-width:520px){.product-variant-options{grid-template-columns:1fr}.product-variant-choice{min-height:46px}.variable-add-btn{min-width:78px!important;padding-inline:8px!important}}

/* ===== v1.50.6.12 search/video/variable polish ===== */
.product-grid .product-card[hidden]{display:none!important}
.product-grid .search-empty[hidden]{display:none!important}
.variable-badge{position:absolute;left:8px;bottom:8px;z-index:3;background:rgba(255,250,242,.94);color:#95671f;border:1px solid rgba(208,161,76,.55);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:950}
.product-variant-title{font-weight:950;margin:14px 0 8px;color:#5d4932}
.product-variant-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}
.product-variant-choice{min-height:48px;border:1px solid #e6d7bd;border-radius:14px;background:#fffaf2;color:#55422d;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 11px;font-weight:900}
.product-variant-choice b{color:#a8792d;white-space:nowrap}
.gallery-video-full{display:block;width:100%;height:100%;max-height:100%;object-fit:contain;background:#000}

/* v1.50.6.24: engraving belongs to the primary box image only. */
.clean-review-box .readable-review-box-text.is-gallery-secondary{display:none!important}
/* ===== v1.50.6.28: product description expands with entered line breaks ===== */
.product-modal .modal-body p{
  max-height:none!important;
  overflow:visible!important;
  height:auto!important;
}



/* v1.50.6.41 - personalization polish */
.mini-symbol-img{
  width:30px!important;
  height:30px!important;
  max-width:30px!important;
  max-height:30px!important;
  object-fit:cover!important;
  border-radius:8px!important;
  display:block!important;
}
body.step-3 .text-only-preview .box-engrave,
body.step-3 .preview-unit .box-engrave{
  color:#c79b43!important;
}
.clean-review-box .readable-review-box-text,
.clean-review-box .box-text,
.review-hero.clean-review-box .box-text,
.review-box-gallery-hero.clean-review-box .readable-review-box-text{
  color:#d4a845!important;
  text-shadow:0 1px 3px rgba(60,38,8,.28)!important;
}


/* ===== v1.50.6.43: image symbols in final review ===== */
.review-symbol-line{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  max-width:100%!important;
  vertical-align:middle!important;
}
.review-symbol-img{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  object-fit:contain!important;
  border-radius:5px!important;
  background:transparent!important;
  box-shadow:none!important;
  flex:0 0 30px!important;
}
.review-symbol-char{
  display:inline-block!important;
  line-height:1!important;
  flex:0 0 auto!important;
}
.review-symbol-copy{
  display:inline-block!important;
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.personal-review-item .readable-personal-text .review-symbol-line{
  width:100%!important;
}
.clean-review-box .readable-review-box-text .review-symbol-img{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  flex-basis:32px!important;
}


/* ===== v1.50.6.45: admin-controlled font sizes + image symbols in live preview ===== */
.font-chip .font-admin-size-note{
  display:block!important;
  font-size:10px!important;
  line-height:1.2!important;
  color:#9a876d!important;
  white-space:nowrap!important;
  font-family:var(--dl-ui-font,inherit)!important;
  font-weight:700!important;
}
.font-chip.active .font-admin-size-note{color:#a8752b!important;}
.live-symbol-line{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  max-width:100%!important;
  vertical-align:middle!important;
}
.live-symbol-img{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  object-fit:contain!important;
  border-radius:5px!important;
  background:transparent!important;
  box-shadow:none!important;
  flex:0 0 30px!important;
}
.live-symbol-char{display:inline-block!important;line-height:1!important;flex:0 0 auto!important;}
.live-symbol-copy{display:inline-block!important;min-width:0!important;overflow-wrap:anywhere!important;}
body.step-3 .text-only-preview .engrave .live-symbol-line{width:100%!important;}
@media(max-width:520px){.live-symbol-img{width:26px!important;height:26px!important;min-width:26px!important;max-width:26px!important;flex-basis:26px!important;}}

/* ===== v1.50.6.46: keep uploaded image symbols small inside live engraving preview =====
   Older generic .preview-mini img rules are intentionally strong because they size
   product/gallery images. Image symbols live inside .engrave, so override those rules
   with a more specific selector instead of weakening the primary preview image styles. */
body.step-3 .preview-mini .engrave img.live-symbol-img,
body.step-3 .preview-mini .product-engrave img.live-symbol-img,
body.step-3 .preview-mini .box-engrave img.live-symbol-img,
body.step-3 .text-only-preview .engrave img.live-symbol-img,
body.step-3 .text-only-preview .product-engrave img.live-symbol-img,
body.step-3 .text-only-preview .box-engrave img.live-symbol-img,
body.step-3 .preview-unit .engrave img.live-symbol-img,
body.step-3 .preview-unit .product-engrave img.live-symbol-img,
body.step-3 .preview-unit .box-engrave img.live-symbol-img,
body.layout-desktop.step-3 .preview-mini .engrave img.live-symbol-img,
body.layout-mobile.step-3 .preview-mini .engrave img.live-symbol-img{
  position:static!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  margin:0!important;
  padding:0!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  max-width:30px!important;
  max-height:30px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
  z-index:auto!important;
  border-radius:5px!important;
  box-shadow:none!important;
  flex:0 0 30px!important;
}
body.step-3 .preview-mini .engrave .live-symbol-line,
body.step-3 .text-only-preview .engrave .live-symbol-line,
body.step-3 .preview-unit .engrave .live-symbol-line{
  position:relative!important;
  z-index:3!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
  max-width:100%!important;
}
body.step-3 .preview-mini .engrave .live-symbol-copy,
body.step-3 .text-only-preview .engrave .live-symbol-copy,
body.step-3 .preview-unit .engrave .live-symbol-copy{
  flex:0 1 auto!important;
  min-width:0!important;
}
body.step-3 .preview-mini .engrave .live-symbol-copy:empty,
body.step-3 .text-only-preview .engrave .live-symbol-copy:empty,
body.step-3 .preview-unit .engrave .live-symbol-copy:empty{
  display:none!important;
}
@media(max-width:520px){
  body.layout-mobile.step-3 .preview-mini .engrave img.live-symbol-img,
  body.layout-mobile.step-3 .preview-mini .product-engrave img.live-symbol-img,
  body.layout-mobile.step-3 .preview-mini .box-engrave img.live-symbol-img,
  body.layout-mobile.step-3 .text-only-preview .engrave img.live-symbol-img{
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    min-height:24px!important;
    max-width:24px!important;
    max-height:24px!important;
    flex-basis:24px!important;
  }
}

/* v1.50.6.48 — per-variant inventory state */
.product-variant-choice>span{display:grid;gap:2px;text-align:start}.product-variant-choice>span small{font-size:11px;font-weight:700;color:#8c7a64}.product-variant-choice.out-of-stock,.product-variant-choice:disabled{opacity:.52;cursor:not-allowed;background:#f5f1eb;border-style:dashed}.product-variant-choice.out-of-stock>span small{color:#a9574f}.product-variant-choice.out-of-stock:hover,.product-variant-choice:disabled:hover{background:#f5f1eb;border-color:#e5d3b7}body.theme-dark .product-variant-choice.out-of-stock,body.theme-dark .product-variant-choice:disabled{background:#1f1b17;border-color:#443a2f}body.theme-dark .product-variant-choice>span small{color:#bcae99}

/* v1.50.6.51 — image performance without touching original media quality. */
body.step-1 .product-card{content-visibility:auto;contain-intrinsic-size:300px 220px}
body.step-1 .product-media img{image-rendering:auto}

/* ===== v1.50.6.52: greeting-card gallery lightbox ===== */
.card-lightbox-media{position:relative!important;display:grid!important;place-items:center!important;padding:0!important;border-radius:19px!important;background:#171512!important;overflow:hidden!important;min-height:260px!important;max-height:76vh!important}
.card-lightbox-media>img{display:block!important;width:100%!important;height:auto!important;max-height:76vh!important;object-fit:contain!important;background:#171512!important}
.card-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(17,14,11,.78);color:#f5d894;font-size:32px;line-height:1;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px)}
.card-lightbox-nav.prev{left:12px}.card-lightbox-nav.next{right:12px}.card-lightbox-nav[hidden]{display:none!important}
.card-lightbox-count{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:3;background:rgba(17,14,11,.76);color:#f5d894!important;border:1px solid rgba(216,184,110,.36);border-radius:999px;padding:5px 9px;font-size:12px!important;font-weight:900!important}
@media(max-width:520px){.card-lightbox-nav{width:36px;height:36px;font-size:27px}.card-lightbox-nav.prev{left:7px}.card-lightbox-nav.next{right:7px}.card-lightbox-media{min-height:220px!important}}


/* ===== v1.50.6.53: polished greeting-card gallery ===== */
.card-lightbox{padding:18px!important;background:rgba(20,17,14,.76)!important;backdrop-filter:blur(14px)!important}
.card-lightbox-panel{width:min(860px,100%)!important;max-height:94vh!important;border-radius:28px!important;padding:14px!important;gap:10px!important;background:#fffaf4!important;border:1px solid rgba(216,184,110,.46)!important;box-shadow:0 30px 100px rgba(0,0,0,.38)!important;overflow:hidden!important}
.card-lightbox-stage{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:min(68vh,640px)!important;min-height:320px!important;padding:18px 64px!important;border-radius:20px!important;background:linear-gradient(145deg,#f8f3ec 0%,#f1e9dd 100%)!important;overflow:hidden!important;direction:ltr!important}
.card-lightbox-frame{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;padding:0!important;background:transparent!important;overflow:hidden!important}
.card-lightbox-frame>img{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;background:transparent!important;border-radius:14px!important;box-shadow:0 10px 32px rgba(48,37,29,.10)!important}
.card-lightbox-nav{top:50%!important;width:44px!important;height:44px!important;border:1px solid rgba(155,106,35,.24)!important;background:rgba(255,250,244,.94)!important;color:#9b6a23!important;box-shadow:0 6px 18px rgba(48,37,29,.14)!important;backdrop-filter:blur(10px)!important;transition:transform .16s ease,background .16s ease,border-color .16s ease!important}
.card-lightbox-nav:hover{background:#fff!important;border-color:rgba(155,106,35,.48)!important;transform:translateY(-50%) scale(1.05)!important}
.card-lightbox-nav.prev{left:12px!important}.card-lightbox-nav.next{right:12px!important}
.card-lightbox-count{bottom:12px!important;background:rgba(255,250,244,.94)!important;color:#8c5d1b!important;border:1px solid rgba(155,106,35,.22)!important;box-shadow:0 4px 14px rgba(48,37,29,.10)!important;padding:5px 10px!important}
.card-lightbox-thumbs{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;width:100%!important;overflow-x:auto!important;overscroll-behavior-inline:contain!important;scrollbar-width:thin!important;padding:3px 2px 5px!important;direction:ltr!important}
.card-lightbox-thumb{flex:0 0 68px!important;width:68px!important;height:68px!important;border:2px solid transparent!important;border-radius:13px!important;padding:3px!important;background:#f6efe6!important;cursor:pointer!important;overflow:hidden!important;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease,background .16s ease!important}
.card-lightbox-thumb:hover{transform:translateY(-1px)!important;border-color:rgba(216,184,110,.62)!important;background:#fffaf4!important}
.card-lightbox-thumb.active{border-color:#c9942e!important;background:#fff!important;box-shadow:0 4px 14px rgba(155,106,35,.18)!important}
.card-lightbox-thumb img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;border-radius:9px!important;background:#fff!important}
.card-lightbox-meta{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;padding:3px 7px 1px!important;direction:rtl!important}
.card-lightbox-meta strong{font-size:17px!important;color:#30251d!important}.card-lightbox-meta span{font-size:14px!important;color:#9b6a23!important;font-weight:900!important}
@media(max-width:700px){
  .card-lightbox{padding:8px!important}.card-lightbox-panel{padding:8px!important;border-radius:20px!important;max-height:96vh!important}
  .card-lightbox-stage{height:min(61vh,520px)!important;min-height:250px!important;padding:14px 48px!important;border-radius:15px!important}
  .card-lightbox-nav{width:38px!important;height:38px!important;font-size:27px!important}.card-lightbox-nav.prev{left:6px!important}.card-lightbox-nav.next{right:6px!important}
  .card-lightbox-close{top:12px!important;right:12px!important;width:36px!important;height:36px!important}
  .card-lightbox-thumb{flex-basis:58px!important;width:58px!important;height:58px!important;border-radius:11px!important}
  .card-lightbox-meta{padding-inline:4px!important}.card-lightbox-meta strong{font-size:15px!important}
}
@media(max-width:420px){
  .card-lightbox-stage{height:min(57vh,450px)!important;min-height:220px!important;padding-inline:42px!important}
  .card-lightbox-thumb{flex-basis:52px!important;width:52px!important;height:52px!important}
}

/* v1.50.6.56 - single column inline previews */
body.step-3 .personalize-layout{display:block!important}
body.step-3 .personalize-form-card{width:100%!important}
body.step-3 .triple-preview-card{display:none!important}
body.step-3 .inline-live-preview{margin-top:16px!important;padding-top:14px!important;border-top:1px solid #eadcc6!important}
body.step-3 .inline-live-preview .preview-head{position:static!important;background:transparent!important;padding:0 0 10px!important}
body.step-3 .inline-live-preview .preview-mini{width:100%!important;min-height:220px!important}
body.step-3 .box-engrave{font-size:clamp(12px,4vw,28px)!important;max-width:72%!important;left:14%!important;right:14%!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;word-break:break-word!important;transform-origin:center!important}

/* v1.50.6.57 - Mobile Full Width Builder */
@media(max-width:700px){
  body.step-3 #dlApp,
  body.step-3 .dl-app,
  body.step-3 .theme-switch-wrap,
  body.step-3 main,
  body.step-3 .step-content,
  body.step-3 .personalize-layout,
  body.step-3 .personalize-form-card{
    width:100%!important;
    max-width:100%!important;
  }

  body.step-3 .personalize-layout{
    padding-left:0!important;
    padding-right:0!important;
  }

  body.step-3 .personalize-form-card{
    border-radius:20px!important;
  }
}

/* v1.50.6.58 - mobile step 3 true full width */
@media(max-width:760px){
  body.layout-mobile.step-3,
  body.layout-mobile.step-3 .dl-app,
  body.layout-mobile.step-3 #stepContent,
  body.layout-mobile.step-3 main,
  body.layout-mobile.step-3 .section-title.personalize-title,
  body.layout-mobile.step-3 .capacity-card,
  body.layout-mobile.step-3 .personalize-layout,
  body.layout-mobile.step-3 .premium-personalize,
  body.layout-mobile.step-3 .personalize-form-card,
  body.layout-mobile.step-3 .accordion-card,
  body.layout-mobile.step-3 .personal-block,
  body.layout-mobile.step-3 .inline-live-preview,
  body.layout-mobile.step-3 .preview-card.inline-live-preview,
  body.layout-mobile.step-3 .preview-mini{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }

  body.layout-mobile.step-3 .dl-app{
    padding-left:8px!important;
    padding-right:8px!important;
  }

  body.layout-mobile.step-3 #stepContent,
  body.layout-mobile.step-3 main{
    display:block!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  body.layout-mobile.step-3 .personalize-layout,
  body.layout-mobile.step-3 .premium-personalize{
    display:block!important;
    grid-template-columns:1fr!important;
    gap:0!important;
  }

  body.layout-mobile.step-3 .section-title.personalize-title,
  body.layout-mobile.step-3 .capacity-card,
  body.layout-mobile.step-3 .personalize-form-card{
    display:block!important;
  }

  body.layout-mobile.step-3 .section-title.personalize-title{
    padding:14px!important;
    margin-bottom:10px!important;
  }

  body.layout-mobile.step-3 .capacity-card,
  body.layout-mobile.step-3 .personalize-form-card{
    padding-left:10px!important;
    padding-right:10px!important;
  }
}

/* v1.50.6.59 - override legacy mobile split layout */
@media(max-width:760px){
  html body.layout-mobile.step-3 .dl-app,
  html body.layout-mobile.step-3 #dApp,
  html body.layout-mobile.step-3 #stepContent,
  html body.layout-mobile.step-3 main,
  html body.layout-mobile.step-3 .premium-personalize,
  html body.layout-mobile.step-3 .personalize-layout{
    width:100%!important;
    max-width:100%!important;
    display:block!important;
    grid-template-columns:none!important;
    transform:none!important;
  }

  html body.layout-mobile.step-3 .personalize-form-card,
  html body.layout-mobile.step-3 .accordion-card,
  html body.layout-mobile.step-3 .inline-live-preview,
  html body.layout-mobile.step-3 .preview-card{
    width:100%!important;
    max-width:100%!important;
    min-width:100%!important;
    flex:none!important;
    grid-column:auto!important;
  }

  html body.layout-mobile.step-3 .dl-app{
    padding-left:8px!important;
    padding-right:8px!important;
  }
}

/* v1.50.6.60 - remove mobile phone frame restriction on step 3 */
@media(max-width:760px){
  html body.dl-ios.step-3,
  html body.dl-premium-mobile.step-3,
  html body.layout-mobile.step-3{
    padding-left:0!important;
    padding-right:0!important;
  }

  html body.layout-mobile.step-3 #dlApp,
  html body.layout-mobile.step-3 .dl-app,
  html body.layout-mobile.step-3 #stepContent,
  html body.layout-mobile.step-3 main#stepContent,
  html body.layout-mobile.step-3 main{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:8px!important;
    padding-right:8px!important;
    box-sizing:border-box!important;
  }

  html body.layout-mobile.step-3 .personalize-layout,
  html body.layout-mobile.step-3 .premium-personalize,
  html body.layout-mobile.step-3 .personalize-form-card,
  html body.layout-mobile.step-3 .accordion-card{
    width:100%!important;
    max-width:none!important;
    grid-template-columns:1fr!important;
    grid-column:1 / -1!important;
    box-sizing:border-box!important;
  }
}

/* v1.50.6.61 - mobile preview width only fix */
@media(max-width:760px){
 body.layout-mobile.step-3 .triple-preview-card,
 body.layout-mobile.step-3 .preview-card.triple-preview-card,
 body.layout-mobile.step-3 .preview-card.inline-live-preview,
 body.layout-mobile.step-3 .inline-live-preview,
 body.layout-mobile.step-3 .preview-stack,
 body.layout-mobile.step-3 .preview-mini{
   width:100%!important;
   max-width:100%!important;
   min-width:0!important;
   grid-column:1 / -1!important;
   box-sizing:border-box!important;
 }
}

/* v1.50.6.62 - force the complete personalization and inline-preview column to full mobile width */
@media(max-width:760px){
  html body.layout-mobile.step-3 #stepContent > .personalize-layout.premium-personalize{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-template-columns:none!important;
    box-sizing:border-box!important;
  }

  html body.layout-mobile.step-3 #stepContent > .personalize-layout.premium-personalize > .personalize-form-card{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-column:1 / -1!important;
    flex:0 0 100%!important;
    justify-self:stretch!important;
    box-sizing:border-box!important;
  }

  html body.layout-mobile.step-3 .personalize-form-card > .personal-block,
  html body.layout-mobile.step-3 .personalize-form-card > .personal-block > .inline-live-preview,
  html body.layout-mobile.step-3 .personalize-form-card > .personal-block > .inline-live-preview > .preview-mini{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
}

body .personalization-restriction-notice{
  border-color:#edcf91!important;
  background:#fff8e8!important;
  color:#6d5018!important;
}


/* v1.50.6.65 — official Dreamland light/dark logos */
.dl-header .brand.brand-theme-logo{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:104px;
}
.dl-header .brand.brand-theme-logo .brand-logo-img{
  width:min(230px,70vw)!important;
  max-width:min(230px,70vw)!important;
  height:auto!important;
  max-height:118px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
  background:transparent!important;
  filter:none!important;
}
body.theme-light .brand-theme-logo .brand-logo-light{display:block!important;}
body.theme-light .brand-theme-logo .brand-logo-dark{display:none!important;}
body.theme-dark .brand-theme-logo .brand-logo-light{display:none!important;}
body.theme-dark .brand-theme-logo .brand-logo-dark{display:block!important;}
@media(max-width:640px){
  .dl-header .brand.brand-theme-logo{min-height:90px;}
  .dl-header .brand.brand-theme-logo .brand-logo-img{
    width:min(200px,64vw)!important;
    max-width:min(200px,64vw)!important;
    max-height:102px!important;
  }
}


/* ===== v1.50.6.66 — global UI typography enlargement ===== */
body{font-size:17px}
button,input,textarea,select,option{font-size:inherit}


/* ===== v1.50.6.69 — requested visual polish ===== */
/* Stronger current-pack total card */
html body .mini-total{
  background:linear-gradient(135deg,#f3d77f 0%,#d8aa4e 52%,#bd8430 100%)!important;
  border:1px solid #af7725!important;
  box-shadow:0 10px 24px rgba(165,111,30,.22)!important;
  color:#3c2a12!important;
}
html body .mini-total span{color:#604218!important;font-weight:900!important;font-size:14px!important;}
html body .mini-total strong{color:#2f210f!important;font-size:19px!important;font-weight:950!important;}

/* Stronger floating pack-cart icon */
html body .pack-cart-dock,
html body.theme-light .pack-cart-dock,
html body.theme-light .pack-cart-dock.has-items{
  background:linear-gradient(145deg,#f2d278,#c58d34)!important;
  color:#4a3315!important;
  border-color:#a97022!important;
  box-shadow:0 10px 26px rgba(123,78,17,.24)!important;
}
html body .pack-cart-dock .pack-cart-icon svg{
  stroke:#3f2b12!important;
  stroke-width:2.5!important;
  opacity:1!important;
}
html body .pack-cart-dock b,
html body.theme-light .pack-cart-dock b,
html body.theme-light .pack-cart-dock.has-items b{
  background:#8d5d1b!important;
  color:#fff!important;
  border-color:#f4d889!important;
}

/* Uploaded symbol thumbnails must be fully visible, never cropped. */
html body .symbol-chip .mini-symbol-img{
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
  min-height:50px!important;
  max-width:50px!important;
  max-height:50px!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:4px!important;
  padding:2px!important;
  background:transparent!important;
}
html body .symbol-dropdown summary .summary-icon img.mini-symbol-img{object-fit:contain!important;object-position:center!important;}

/* Personalization previews: give the larger live text enough room. */
html body.step-3 .text-only-preview .engrave,
html body.step-3 .text-only-preview .product-engrave,
html body.step-3 .text-only-preview .box-engrave,
html body.step-3 .text-only-preview .card-engrave{
  min-height:118px!important;
  padding:18px!important;
  line-height:1.42!important;
}
html body.step-3 .text-only-preview{height:250px!important;min-height:250px!important;}
@media(min-width:860px){html body.layout-desktop.step-3 .text-only-preview{height:330px!important;min-height:330px!important;}}

/* Final review engraving text: larger readable surfaces. */
html body .personal-review-item .readable-personal-text{
  min-height:74px!important;
  padding:14px 16px!important;
  line-height:1.55!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
html body .clean-review-box .readable-review-box-text{
  width:82%!important;
  max-width:82%!important;
  min-height:92px!important;
  padding:14px 18px!important;
  line-height:1.4!important;
  font-weight:950!important;
}

/* RTL flow: next step must point to the left. */
html[dir="rtl"] body.step-2 .continue-btn:after,
html[dir="rtl"] body.step-3 .continue-btn:after{content:"←"!important;}


/* ===== v1.50.6.70 — cart icon, symbol cards and opt-in raw toggles ===== */
/* The pack-cart SVG itself gets an explicit dark stroke so theme rules cannot wash it out. */
html body .pack-cart-dock,
html body.theme-light .pack-cart-dock,
html body.theme-light .pack-cart-dock.has-items{
  background:linear-gradient(145deg,#e2b352 0%,#c2872f 100%)!important;
  color:#33210c!important;
  border-color:#9e691c!important;
  box-shadow:0 10px 28px rgba(111,68,11,.28)!important;
}
html body .pack-cart-dock .pack-cart-icon{
  color:#2f1e0a!important;
  opacity:1!important;
}
html body .pack-cart-dock .pack-cart-icon svg,
html body .pack-cart-dock .pack-cart-icon svg path,
html body .pack-cart-dock .pack-cart-icon svg circle{
  stroke:#2f1e0a!important;
  stroke-width:3!important;
  fill:none!important;
  opacity:1!important;
}
html body .pack-cart-dock b,
html body.theme-light .pack-cart-dock b,
html body.theme-light .pack-cart-dock.has-items b{
  background:#6d4513!important;
  color:#fff!important;
  border-color:#f5d887!important;
}

/* Symbol choices: narrower cards, more height, no cropped image or escaped label. */
html body.step-3 .symbol-dropdown .symbol-list{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,240px))!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:12px!important;
  overflow:visible!important;
  width:100%!important;
}
html body.step-3 .symbol-dropdown .symbol-chip{
  width:100%!important;
  min-width:0!important;
  max-width:240px!important;
  min-height:112px!important;
  height:auto!important;
  padding:12px 10px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-rows:56px auto!important;
  align-content:center!important;
  justify-items:center!important;
  gap:8px!important;
  overflow:hidden!important;
}
html body.step-3 .symbol-dropdown .symbol-chip .mini-symbol-img{
  width:54px!important;
  height:54px!important;
  min-width:54px!important;
  min-height:54px!important;
  max-width:54px!important;
  max-height:54px!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:2px!important;
  margin:0 auto!important;
}
html body.step-3 .symbol-dropdown .symbol-chip > span:not(.summary-icon){
  line-height:1!important;
}
html body.step-3 .symbol-dropdown .symbol-chip small{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:22px!important;
  margin:0!important;
  padding:0 2px!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-align:center!important;
  line-height:1.45!important;
  font-size:13px!important;
}
@media(max-width:720px){
  html body.step-3 .symbol-dropdown .symbol-list{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  html body.step-3 .symbol-dropdown .symbol-chip{
    max-width:none!important;
    min-height:104px!important;
    padding:10px 6px!important;
    grid-template-rows:50px auto!important;
  }
  html body.step-3 .symbol-dropdown .symbol-chip .mini-symbol-img{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    max-width:48px!important;
    max-height:48px!important;
  }
  html body.step-3 .symbol-dropdown .symbol-chip small{font-size:12px!important;line-height:1.4!important;}
}
@media(max-width:430px){
  html body.step-3 .symbol-dropdown .symbol-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}


/* ===== v1.50.6.71 — visible gold cart icon + smart box engraving fit ===== */
/* Keep the floating cart light, but make the actual cart glyph unmistakably gold. */
html body #packCartBtn.pack-cart-dock,
html body.theme-light #packCartBtn.pack-cart-dock,
html body.theme-light #packCartBtn.pack-cart-dock.has-items{
  background:linear-gradient(180deg,#fffaf0 0%,#f9ecd0 100%)!important;
  border:2px solid #c8922f!important;
  color:#c8922f!important;
  box-shadow:0 10px 28px rgba(155,103,24,.22)!important;
}
html body #packCartBtn.pack-cart-dock .pack-cart-icon,
html body.layout-mobile #packCartBtn.pack-cart-dock .pack-cart-icon{
  color:#c8922f!important;
  opacity:1!important;
  filter:drop-shadow(0 1px 0 rgba(119,72,7,.18))!important;
}
html body #packCartBtn.pack-cart-dock .pack-cart-icon svg,
html body #packCartBtn.pack-cart-dock .pack-cart-icon svg path,
html body #packCartBtn.pack-cart-dock .pack-cart-icon svg circle,
html body.layout-mobile #packCartBtn.pack-cart-dock .pack-cart-icon svg,
html body.layout-mobile #packCartBtn.pack-cart-dock .pack-cart-icon svg path,
html body.layout-mobile #packCartBtn.pack-cart-dock .pack-cart-icon svg circle{
  stroke:#c8922f!important;
  stroke-width:3.2!important;
  fill:none!important;
  opacity:1!important;
}
html body #packCartBtn.pack-cart-dock b{
  background:#c8922f!important;
  color:#fff!important;
  border-color:#fff8e7!important;
}
body.theme-dark #packCartBtn.pack-cart-dock{
  background:#211b13!important;
  border-color:#d6a447!important;
  color:#e0b45b!important;
}
body.theme-dark #packCartBtn.pack-cart-dock .pack-cart-icon svg,
body.theme-dark #packCartBtn.pack-cart-dock .pack-cart-icon svg path,
body.theme-dark #packCartBtn.pack-cart-dock .pack-cart-icon svg circle{stroke:#e0b45b!important;}

/* Box text is positioned/sized by JS against the ACTUAL object-fit image rectangle. */
html body .clean-review-box .readable-review-box-text,
html body .review-hero.clean-review-box .box-text,
html body .review-box-gallery-hero.clean-review-box .readable-review-box-text{
  overflow:hidden!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  box-sizing:border-box!important;
  max-inline-size:none!important;
}
/* Image symbols shrink together with the smart text size instead of forcing overflow. */
html body .clean-review-box .readable-review-box-text .review-symbol-img{
  width:1.05em!important;
  height:1.05em!important;
  min-width:1.05em!important;
  min-height:1.05em!important;
  max-width:1.05em!important;
  max-height:1.05em!important;
  flex:0 0 1.05em!important;
  object-fit:contain!important;
}
html body .clean-review-box .readable-review-box-text .review-symbol-line{
  max-width:100%!important;
  min-width:0!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  line-height:1.2!important;
}
html body .clean-review-box .readable-review-box-text .review-symbol-copy{
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}


/* ===== v1.50.6.72 — actual bottom-cart glyph gold + stricter box-text containment ===== */
/* The visible middle bottom-bar cart is selectedDrawerToggle (not packCartBtn). */
html body .selected-drawer-toggle .selected-arrow-icon,
html body.layout-mobile .selected-drawer-toggle .selected-arrow-icon,
html body.layout-desktop .selected-drawer-toggle .selected-arrow-icon{
  color:#c8922f!important;
  opacity:1!important;
}
html body .selected-drawer-toggle .selected-cart-svg,
html body.layout-mobile .selected-drawer-toggle .selected-cart-svg,
html body.layout-desktop .selected-drawer-toggle .selected-cart-svg{
  color:#c8922f!important;
  fill:#c8922f!important;
  stroke:none!important;
  opacity:1!important;
  filter:drop-shadow(0 1px 0 rgba(115,72,12,.18))!important;
}
html body .selected-drawer-toggle .selected-cart-svg .cart-solid,
html body.layout-mobile .selected-drawer-toggle .selected-cart-svg .cart-solid,
html body.layout-desktop .selected-drawer-toggle .selected-cart-svg .cart-solid{
  fill:#c8922f!important;
  stroke:none!important;
  opacity:1!important;
}
/* Keep enough contrast behind the gold glyph in light theme. */
html body.theme-light .selected-drawer-toggle{
  background:linear-gradient(180deg,#fffdf8 0%,#f7ead2 100%)!important;
  border:1.5px solid #c8922f!important;
}
html body.theme-dark .selected-drawer-toggle .selected-arrow-icon,
html body.theme-dark .selected-drawer-toggle .selected-cart-svg,
html body.theme-dark .selected-drawer-toggle .selected-cart-svg .cart-solid{
  color:#e0b45b!important;
  fill:#e0b45b!important;
}

/* Final review: symbol + copy stay centered inside the JS safe zone. */
html body .clean-review-box .readable-review-box-text .review-symbol-line{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.18em!important;
  overflow:hidden!important;
}
html body .clean-review-box .readable-review-box-text .review-symbol-copy{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  line-height:1.08!important;
}
html body .clean-review-box .readable-review-box-text .review-symbol-char,
html body .clean-review-box .readable-review-box-text .review-symbol-img{
  flex:0 0 auto!important;
}


/* ===== v1.50.6.74 — final review box: symbol + text stay on ONE centered row ===== */
html body .clean-review-box .readable-review-box-text{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
html body .clean-review-box .readable-review-box-text .review-symbol-line{
  display:inline-flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  gap:.22em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
html body .clean-review-box .readable-review-box-text .review-symbol-copy{
  display:inline-block!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
  line-height:1.08!important;
}
html body .clean-review-box .readable-review-box-text .review-symbol-char,
html body .clean-review-box .readable-review-box-text .review-symbol-img{
  flex:0 0 auto!important;
  align-self:center!important;
}


/* ===== v1.50.6.75 — box engraving: 15-char lines, centered block ===== */
html body .clean-review-box .readable-review-box-text .review-symbol-copy,
html body #boxLiveText .live-symbol-copy{
  text-align:center!important;
  line-height:1.12!important;
}
html body .clean-review-box .readable-review-box-text .review-symbol-line,
html body #boxLiveText .live-symbol-line{
  align-items:center!important;
  justify-content:center!important;
}
\n\n/* ===== v1.50.6.76 — align symbol with first line + extra side breathing room ===== */\nhtml body .clean-review-box .readable-review-box-text .review-symbol-line{\n  align-items:flex-start!important;\n  justify-content:center!important;\n}\nhtml body .clean-review-box .readable-review-box-text .review-symbol-char,\nhtml body .clean-review-box .readable-review-box-text .review-symbol-img{\n  align-self:flex-start!important;\n  margin-top:.08em!important;\n}\nhtml body .clean-review-box .readable-review-box-text .review-symbol-copy{\n  line-height:1.08!important;\n}\n/* Keep the live box preview visually consistent when the 15-char rule creates 2 lines. */\nhtml body #boxLiveText .live-symbol-line{\n  align-items:flex-start!important;\n  justify-content:center!important;\n}\nhtml body #boxLiveText .live-symbol-char,\nhtml body #boxLiveText .live-symbol-img{\n  align-self:flex-start!important;\n  margin-top:.08em!important;\n}\nhtml body #boxLiveText .live-symbol-copy{\n  line-height:1.08!important;\n}\n

/* ===== v1.50.6.77 — live box preview symbol aligns with first text line ===== */
html body #boxLiveText{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
html body #boxLiveText .live-symbol-line{
  display:inline-flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  gap:.20em!important;
  width:auto!important;
  max-width:100%!important;
}
html body #boxLiveText .live-symbol-char,
html body #boxLiveText .live-symbol-img{
  align-self:flex-start!important;
  margin-top:.05em!important;
  flex:0 0 auto!important;
}
html body #boxLiveText .live-symbol-copy{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  line-height:1.04!important;
  text-align:center!important;
}
html body #boxLiveText .live-symbol-copy br{
  content:"";
}


/* ===== v1.50.6.81 — admin font calibration controls real rendered glyph size ===== */
html body #productLiveText,
html body #boxLiveText,
html body #cardLiveText{
  font-size:var(--dl-preview-font-size,inherit)!important;
}
html body #productLiveText .live-symbol-copy,
html body #productLiveText .live-symbol-char,
html body #boxLiveText .live-symbol-copy,
html body #boxLiveText .live-symbol-char,
html body #cardLiveText .live-symbol-copy,
html body #cardLiveText .live-symbol-char{
  font-size:inherit!important;
}
html body .personal-review-item .readable-personal-text .review-symbol-copy,
html body .personal-review-item .readable-personal-text .review-symbol-char,
html body .clean-review-box .readable-review-box-text .review-symbol-copy,
html body .clean-review-box .readable-review-box-text .review-symbol-char{
  font-size:inherit!important;
}


/* ===== v1.50.6.82 — live font calibration uses the exact admin px value ===== */
html body.step-3 #productLiveText,
html body.step-3 #boxLiveText,
html body.step-3 #cardLiveText{
  font-size:var(--dl-preview-font-size)!important;
}
html body.step-3 #productLiveText .live-symbol-copy,
html body.step-3 #productLiveText .live-symbol-char,
html body.step-3 #boxLiveText .live-symbol-copy,
html body.step-3 #boxLiveText .live-symbol-char,
html body.step-3 #cardLiveText .live-symbol-copy,
html body.step-3 #cardLiveText .live-symbol-char{
  font-size:inherit!important;
}
/* The live text-only cards are intentionally generous: calibration should not be
   silently normalized by older fixed font-size rules. */
html body.step-3 .text-only-preview #productLiveText,
html body.step-3 .text-only-preview #boxLiveText,
html body.step-3 .text-only-preview #cardLiveText{
  max-width:88%!important;
  width:auto!important;
}


/* ===== v1.50.6.83 — compact personalization summary uses exact per-context calibration ===== */
html body .personal-review-item .readable-personal-text[data-font-cal]{
  font-size:inherit; /* inline calibrated !important value on the element wins */
}
html body .personal-review-item .readable-personal-text[data-font-cal] .review-symbol-copy,
html body .personal-review-item .readable-personal-text[data-font-cal] .review-symbol-char{
  font-size:inherit!important;
}
html body .personal-review-item .readable-personal-text[data-font-cal] .review-symbol-img{
  width:1.05em!important;
  height:1.05em!important;
  min-width:1.05em!important;
  min-height:1.05em!important;
  max-width:1.05em!important;
  max-height:1.05em!important;
  flex:0 0 1.05em!important;
  object-fit:contain!important;
}


/* ===== v1.50.6.84 — real compact font calibration + aligned review item rows ===== */
/* A legacy broad rule (.personal-review-item span) forced every nested symbol row to
   12px. Make the actual engraving row inherit the calibrated size from its <strong>. */
html body .personal-review-item .readable-personal-text[data-font-cal] .review-symbol-line,
html body .personal-review-item .readable-personal-text[data-font-cal] .review-symbol-copy,
html body .personal-review-item .readable-personal-text[data-font-cal] .review-symbol-char{
  font-size:inherit!important;
}
html body .personal-review-item .readable-personal-text[data-font-cal] .review-symbol-line{
  line-height:inherit!important;
}
/* Only the direct metadata line below each preview should stay small. */
html body .personal-review-item > span{
  font-size:12px!important;
  color:#817465!important;
}

/* Review summary rows: image, product information and amount are always one row. */
html body.step-4 .summary-list .summary-item.pro-summary-item{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr) minmax(116px,max-content)!important;
  align-items:center!important;
  column-gap:14px!important;
  row-gap:0!important;
  width:100%!important;
}
html body.step-4 .summary-list .summary-item.pro-summary-item > img{
  grid-column:1!important;
  justify-self:center!important;
  align-self:center!important;
  margin:0!important;
}
html body.step-4 .summary-list .summary-item.pro-summary-item > div:not(.amount){
  grid-column:2!important;
  min-width:0!important;
  width:100%!important;
  justify-self:stretch!important;
  align-self:center!important;
  direction:rtl!important;
  text-align:right!important;
}
html body.step-4 .summary-list .summary-item.pro-summary-item .name,
html body.step-4 .summary-list .summary-item.pro-summary-item .sub{
  text-align:right!important;
  margin-right:0!important;
  margin-left:0!important;
}
html body.step-4 .summary-list .summary-item.pro-summary-item .amount{
  grid-column:3!important;
  align-self:center!important;
  justify-self:end!important;
  margin:0!important;
  min-width:116px!important;
  text-align:left!important;
  white-space:nowrap!important;
}
@media(max-width:700px){
  html body.step-4 .summary-list .summary-item.pro-summary-item{
    grid-template-columns:54px minmax(0,1fr) minmax(86px,max-content)!important;
    column-gap:9px!important;
  }
  html body.step-4 .summary-list .summary-item.pro-summary-item .amount{
    min-width:86px!important;
    font-size:13px!important;
  }
}


/* ===== v1.50.6.85 — symbols scale with calibrated font size ===== */
/* Live personalization previews: uploaded-image symbols used to be fixed at 30/24px.
   Use em so the symbol grows/shrinks together with the exact per-font calibration. */
html body.step-3 #productLiveText img.live-symbol-img,
html body.step-3 #boxLiveText img.live-symbol-img,
html body.step-3 #cardLiveText img.live-symbol-img,
html body.step-3 .text-only-preview #productLiveText img.live-symbol-img,
html body.step-3 .text-only-preview #boxLiveText img.live-symbol-img,
html body.step-3 .text-only-preview #cardLiveText img.live-symbol-img{
  width:1em!important;
  height:1em!important;
  min-width:1em!important;
  min-height:1em!important;
  max-width:1em!important;
  max-height:1em!important;
  flex:0 0 1em!important;
  object-fit:contain!important;
  object-position:center!important;
}
html body.step-3 #productLiveText .live-symbol-char,
html body.step-3 #boxLiveText .live-symbol-char,
html body.step-3 #cardLiveText .live-symbol-char{
  font-size:1em!important;
  line-height:1!important;
}
/* Keep the symbol/text spacing proportional too. */
html body.step-3 #productLiveText .live-symbol-line,
html body.step-3 #boxLiveText .live-symbol-line,
html body.step-3 #cardLiveText .live-symbol-line{
  gap:.20em!important;
}
/* Compact personalization summary follows its calibrated context size. */
html body .personal-review-item .readable-personal-text[data-font-cal] img.review-symbol-img{
  width:1em!important;
  height:1em!important;
  min-width:1em!important;
  min-height:1em!important;
  max-width:1em!important;
  max-height:1em!important;
  flex:0 0 1em!important;
}
html body .personal-review-item .readable-personal-text[data-font-cal] .review-symbol-char{
  font-size:1em!important;
  line-height:1!important;
}
/* Final box review also scales the symbol with whatever size Auto-Fit resolves to. */
html body .clean-review-box .readable-review-box-text img.review-symbol-img{
  width:1em!important;
  height:1em!important;
  min-width:1em!important;
  min-height:1em!important;
  max-width:1em!important;
  max-height:1em!important;
  flex:0 0 1em!important;
}
html body .clean-review-box .readable-review-box-text .review-symbol-char{
  font-size:1em!important;
  line-height:1!important;
}


/* ===== v1.50.6.88 — cart quantity controls, separated personalization cards, review validation ===== */
body .selected-products-row.selected-products-thumb-card{
  padding-bottom:10px!important;
}
body .selected-products-variant-label{
  display:block!important;
  min-height:16px!important;
  color:#8b7a64!important;
  font-size:11px!important;
  line-height:1.4!important;
  text-align:center!important;
}
body .selected-products-qty-control{
  display:grid!important;
  grid-template-columns:28px minmax(28px,auto) 28px!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  direction:ltr!important;
  margin-top:1px!important;
}
body .selected-products-qty-control button{
  position:static!important;
  width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;
  padding:0!important;margin:0!important;border-radius:9px!important;
  border:1px solid #ddc28e!important;background:#fff9ee!important;color:#94651f!important;
  display:grid!important;place-items:center!important;font-size:18px!important;font-weight:900!important;line-height:1!important;
  box-shadow:none!important;
}
body .selected-products-qty-control button::before,
body .selected-products-qty-control button::after{content:none!important;display:none!important}
body .selected-products-qty-control strong{font-size:14px!important;color:#513c20!important;text-align:center!important;min-width:28px!important}
body.theme-dark .selected-products-qty-control button{background:#30271d!important;border-color:#685536!important;color:#efca78!important}
body.theme-dark .selected-products-qty-control strong{color:#fff!important}

/* Make the three personalization areas visually independent cards instead of one connected block. */
html body.step-3 .personalize-form-card{
  display:grid!important;
  gap:18px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
html body.step-3 .personalize-form-card > .personal-block{
  position:relative!important;
  margin:0!important;
  padding:20px!important;
  border:1px solid #ead8b8!important;
  border-radius:23px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(63,42,16,.055)!important;
  overflow:hidden!important;
}
html body.step-3 .personalize-form-card > .personal-block::before{
  content:""!important;position:absolute!important;top:0!important;right:0!important;left:0!important;height:4px!important;
  background:linear-gradient(90deg,#c79239,#edcf8a)!important;
}
html body.step-3 .personalize-form-card > .box-personalization-block::before{background:linear-gradient(90deg,#9f793e,#dab46d)!important}
html body.step-3 .personalize-form-card > .card-personalization-block::before{background:linear-gradient(90deg,#b28d5a,#ead7b7)!important}
html body.step-3 .personalize-form-card > .personal-block h3{font-size:18px!important;margin-bottom:16px!important}
body.theme-dark.step-3 .personalize-form-card > .personal-block{background:#1d1915!important;border-color:#4a3d2e!important;box-shadow:0 14px 34px rgba(0,0,0,.22)!important}
@media(max-width:700px){html body.step-3 .personalize-form-card{gap:13px!important}html body.step-3 .personalize-form-card>.personal-block{padding:15px!important;border-radius:18px!important}}

html body.step-4 .continue-btn.needs-attention{
  background:linear-gradient(135deg,#d6a33e,#b87924)!important;
  color:#fff!important;opacity:1!important;cursor:pointer!important;
}


/* ===== v1.50.6.91 — mobile selected-products quantity controls ===== */
@media (max-width:859px){
  body.layout-mobile .selected-products-row.selected-products-thumb-card{
    overflow:hidden!important;
    padding:5px 4px 7px!important;
    gap:4px!important;
  }
  body.layout-mobile .selected-products-row.selected-products-thumb-card .selected-products-qty-control{
    display:grid!important;
    grid-template-columns:24px minmax(18px,1fr) 24px!important;
    align-items:center!important;
    justify-content:stretch!important;
    gap:2px!important;
    width:100%!important;
    max-width:76px!important;
    min-width:0!important;
    margin:1px auto 0!important;
    padding:0!important;
    direction:ltr!important;
    box-sizing:border-box!important;
  }
  body.layout-mobile .selected-products-row.selected-products-thumb-card .selected-products-qty-control button{
    position:static!important;
    display:grid!important;
    place-items:center!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    min-height:24px!important;
    max-width:24px!important;
    max-height:24px!important;
    padding:0!important;
    margin:0!important;
    border:1px solid #dfc793!important;
    border-radius:7px!important;
    background:#fffaf1!important;
    color:#8f631d!important;
    font-family:Arial,Tahoma,sans-serif!important;
    font-size:16px!important;
    font-weight:700!important;
    line-height:1!important;
    text-indent:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  body.layout-mobile .selected-products-row.selected-products-thumb-card .selected-products-qty-control button::before,
  body.layout-mobile .selected-products-row.selected-products-thumb-card .selected-products-qty-control button::after{
    content:none!important;
    display:none!important;
  }
  body.layout-mobile .selected-products-row.selected-products-thumb-card .selected-products-qty-control strong{
    display:block!important;
    min-width:18px!important;
    width:auto!important;
    padding:0!important;
    margin:0!important;
    color:#513c20!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:24px!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }
  body.layout-mobile .selected-products-row.selected-products-thumb-card .selected-products-thumb-remove{
    top:3px!important;
    left:3px!important;
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    min-height:22px!important;
    max-width:22px!important;
    max-height:22px!important;
  }
  body.theme-dark.layout-mobile .selected-products-row.selected-products-thumb-card .selected-products-qty-control button{
    background:#2d251c!important;
    border-color:#6a5533!important;
    color:#efca78!important;
  }
  body.theme-dark.layout-mobile .selected-products-row.selected-products-thumb-card .selected-products-qty-control strong{
    color:#fff!important;
  }
}

@media (max-width:420px) and (min-width:381px){
  body.layout-mobile .selected-products-list{
    gap:6px!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }
  body.layout-mobile .selected-products-row.selected-products-thumb-card .selected-products-thumb-media{
    max-width:78px!important;
  }
}
