:root{--ink:#26232a;--muted:#746b72;--paper:#fffaf7;--rose:#b8797b;--rose-deep:#8e535b;--rose-soft:#f6e6e5;--champ:#d8b08c;--line:#eadbd7;--dark:#2a2426;--shadow:0 18px 50px rgba(91,53,57,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.site-nav{background:rgba(255,250,247,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);box-shadow:0 5px 25px rgba(84,47,51,.05)}.navbar-brand{letter-spacing:-.02em}.brand-mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#2d2729,#5c3f43);color:#fff;font-weight:800;box-shadow:0 8px 18px rgba(61,40,43,.16)}.brand-logo{width:40px;height:40px;object-fit:contain;border-radius:10px}.nav-link{color:#50464b!important}.nav-link:hover{color:var(--rose-deep)!important}.search-box{width:245px}.search-box .form-control{border-color:var(--line);background:#fff}.icon-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:12px;padding:9px 11px;color:var(--ink);text-decoration:none;background:#fff}.cart-badge{position:absolute;top:-9px;right:-8px;background:var(--rose)!important;color:#fff!important;font-size:.65rem}.btn-dark{background:var(--dark);border-color:var(--dark)}.btn-dark:hover{background:#151214;border-color:#151214}.btn-outline-dark{border-color:#463b3f;color:#463b3f}.btn-outline-dark:hover{background:#463b3f;color:#fff}.eyebrow{font-size:.70rem;letter-spacing:.18em;font-weight:800;color:var(--rose-deep)}.hero-section{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 20%,#f8dedd 0,rgba(248,221,221,.65) 14%,transparent 35%),linear-gradient(180deg,#fff8f6 0%,#fffaf7 100%);min-height:610px}.hero-section:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--line)}.hero-section h1{letter-spacing:-.055em;max-width:800px}.hero-section .lead{color:#665c61;max-width:720px}.floating-shape{position:absolute;border-radius:50%;filter:blur(1px);opacity:.55}.shape-a{width:220px;height:220px;background:#eed0cf;right:-90px;top:80px;animation:float 8s ease-in-out infinite}.shape-b{width:130px;height:130px;background:#e0c2a6;left:-45px;bottom:55px;animation:float 6s ease-in-out infinite reverse}.hero-visual{position:relative;min-height:455px;display:grid;place-items:center}.hero-card-main{position:relative;z-index:3;width:min(100%,390px);min-height:360px;padding:42px;border-radius:36px;background:linear-gradient(145deg,#fff,#f7e9e7);border:1px solid #fff;box-shadow:0 28px 70px rgba(84,48,53,.16);display:flex;flex-direction:column;justify-content:center;animation:softLift 5s ease-in-out infinite}.hero-card-main i{color:var(--rose-deep)}.hero-card-main p{color:#756a70}.hero-orbit{position:absolute;border:1px solid rgba(184,121,123,.32);border-radius:50%;animation:spin 18s linear infinite}.orbit-1{width:460px;height:460px}.orbit-2{width:350px;height:350px;animation-direction:reverse;animation-duration:14s}.hero-glow{position:absolute;width:250px;height:250px;background:#efd0cf;border-radius:50%;filter:blur(35px);opacity:.4}.hero-trust{display:flex;flex-wrap:wrap;gap:18px;color:#6d6469;font-size:.9rem}.hero-trust i{color:var(--rose-deep)}.offer-ribbon{background:#2e2628;color:#fff}.offer-ribbon a{color:#fff;text-decoration:none}.offer-chip{padding:7px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;font-size:.82rem}.offer-dot{width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;background:var(--rose-soft);color:var(--rose-deep)}.category-card,.feature-card,.testimonial,.login-card,.filter-panel,.summary-card,.checkout-card,.table-card,.review-card,.contact-card,.story-card,.values-card,.offer-card,.admin-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 8px 30px rgba(85,50,55,.035)}.category-card{display:block;color:inherit;text-decoration:none;padding:28px;min-height:195px;transition:.25s}.category-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:#dbb7b6}.category-card.premium{background:linear-gradient(135deg,#2e2729,#554247);color:#fff;border-color:#554247}.category-card.premium p{color:#eadde0}.category-icon,.stat-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:var(--rose-soft);color:var(--rose-deep);margin-bottom:20px;font-size:1.25rem}.section-soft{background:linear-gradient(180deg,#faf0ef 0%,#fbf7f5 100%)}.product-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;transition:.25s;box-shadow:0 6px 20px rgba(85,50,55,.03)}.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.product-image-wrap{aspect-ratio:1/1;background:#f6efed;position:relative}.product-image,.detail-main-image img{width:100%;height:100%;object-fit:cover}.sale-badge,.sale-pill{background:var(--rose-deep)!important;color:#fff!important;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:800}.sale-badge{position:absolute;top:12px;left:12px}.product-title{min-height:48px}.line-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px}.image-placeholder{height:100%;display:grid;place-items:center;color:#c8a7a3;font-size:3rem}.editorial-banner{border-radius:30px;padding:38px;background:linear-gradient(110deg,#f3ddda,#fbf4ef);border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;overflow:hidden}.editorial-banner:after{content:"";width:220px;height:220px;border:1px solid #d9b1ae;border-radius:50%;position:absolute;right:-50px;top:-90px}.cta-panel{border:1px solid var(--line);border-radius:30px;padding:60px 25px;background:linear-gradient(135deg,#fff,#f4dfdc)}.feature-card{padding:22px;height:100%}.feature-card>i{font-size:1.5rem;color:var(--rose-deep)}.feature-card p{font-size:.88rem;color:var(--muted);margin:8px 0 0}.testimonial{padding:25px;height:100%}.stars,.rating-line i,.star-mini{color:#c49359;letter-spacing:.12em}.footer{background:#2a2426;color:#fff}.footer h5,.footer h6{color:#fff}.footer-muted{color:#cdbfc2}.footer-link{display:block;color:#d8c8cb;text-decoration:none;margin-top:8px}.footer-link:hover{color:#fff}.social-row{display:flex;gap:10px}.social-row a{width:38px;height:38px;border:1px solid #5a4b4f;border-radius:50%;display:grid;place-items:center;color:#dbcace}.footer-bottom{border-top:1px solid #4b3d41}.detail-main-image{aspect-ratio:1/1;background:#f6efed;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.thumb-btn{border:1px solid var(--line);border-radius:12px;background:#fff;padding:0;overflow:hidden;width:74px;height:74px}.thumb-btn img{width:100%;height:100%;object-fit:cover}.product-buy-box{border:1px solid var(--line);border-radius:22px;padding:22px;background:#fff}.mini-perk{padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff;font-size:.82rem;display:flex;gap:8px;align-items:center}.stock-pill,.status-pill{display:inline-flex;padding:7px 11px;border-radius:999px;background:#e8f5eb;color:#27683b;font-size:.78rem;font-weight:700}.stock-pill.out{background:#f5e6e6;color:#9b4b4f}.summary-card,.checkout-card,.filter-panel,.login-card,.table-card{padding:24px}.cart-item{display:flex;gap:18px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff}.cart-thumb,.checkout-thumb{width:86px;height:86px;background:#f6efed;border-radius:12px;overflow:hidden;flex:0 0 auto}.checkout-thumb{width:64px;height:64px}.cart-thumb img,.checkout-thumb img{width:100%;height:100%;object-fit:cover}.qty-wrap{width:90px}.payment-option{border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;gap:12px;align-items:flex-start}.account-prompt{display:flex;gap:12px;align-items:center;padding:15px;border:1px solid #e1c8c6;border-radius:16px;background:#fcf2f1}.account-prompt>i{font-size:1.4rem;color:var(--rose-deep)}.review-card{padding:24px}.contact-card,.story-card,.values-card,.offer-card{padding:30px}.contact-row{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.contact-row>i{font-size:1.25rem;color:var(--rose-deep)}.mw-760{max-width:760px}.value-row{display:flex;gap:14px;padding:17px 0;border-bottom:1px solid var(--line)}.value-row:last-child{border-bottom:0}.value-row>i{color:var(--rose-deep);font-size:1.15rem}.offer-card{transition:.25s}.offer-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.offer-value{font-size:2rem;font-weight:800;color:var(--rose-deep)}.coupon-code{display:inline-block;padding:8px 12px;border:1px dashed var(--rose-deep);border-radius:10px;font-weight:800;letter-spacing:.08em;color:var(--rose-deep)}.empty-state{text-align:center;border:1px dashed #dcbfbd;border-radius:24px;padding:50px;background:#fff}.success-hero{padding:70px 20px}.success-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#2e2729,#765257);color:#fff;display:grid;place-items:center;margin:0 auto 20px;font-size:2rem;box-shadow:0 15px 35px rgba(82,48,54,.2)}.payment-wait{max-width:650px;padding:70px 20px}.reveal{animation:fadeUp .7s ease both}.reveal-delay{animation-delay:.15s}@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}@keyframes softLift{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}@keyframes spin{to{transform:rotate(360deg)}}
/* Admin */.admin-body{background:#f8efed}.admin-layout{min-height:100vh;display:flex}.admin-sidebar{width:265px;background:linear-gradient(180deg,#32272a,#211b1d);color:#fff;padding:25px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;box-shadow:10px 0 35px rgba(48,30,33,.15)}.admin-brand{padding:10px 10px 25px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:17px}.admin-link{color:#d9cbce;text-decoration:none;padding:11px 13px;border-radius:12px;display:flex;gap:10px;align-items:center}.admin-link:hover,.admin-link.active{background:#533d42;color:#fff}.admin-main{flex:1;min-width:0}.admin-topbar{background:#fff;border-bottom:1px solid var(--line);padding:13px 0}.admin-stat{border:0;border-radius:22px;padding:23px;background:#fff;box-shadow:0 12px 35px rgba(81,49,54,.08);height:100%;position:relative;overflow:hidden}.admin-stat:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-25px;bottom:-35px;background:#f2d6d5}.admin-stat .stat-icon{margin-bottom:12px}.stat-products .stat-icon{background:#ead9f6;color:#744c93}.stat-orders .stat-icon{background:#dcebf8;color:#3d648a}.stat-customers .stat-icon{background:#e6f2df;color:#5d7e4b}.stat-revenue .stat-icon{background:#f4e4cf;color:#9a6d32}.stat-pending .stat-icon{background:#f8dede;color:#9b4b4f}.admin-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.admin-card{padding:22px}.table-card{box-shadow:0 10px 28px rgba(81,49,54,.055)}.table-card .table{margin-bottom:0}.admin-table img{width:56px;height:56px;object-fit:cover;border-radius:12px;background:#f6efed}.status-badge{padding:7px 10px;border-radius:999px;font-size:.73rem;font-weight:700}.status-Pending{background:#fff0d6;color:#986515}.status-Confirmed{background:#dff1e5;color:#2e7147}.status-Processing{background:#e7e2f8;color:#66529d}.status-Shipped{background:#dcebf8;color:#3d648a}.status-Delivered{background:#dcefe6;color:#2d754b}.status-Cancelled{background:#f4dcdc;color:#994e52}.img-preview{border:1px solid var(--line);border-radius:15px;padding:7px;background:#fff}.img-preview img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px}.settings-section{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.sidebar-pill{font-size:.72rem;color:#dfc5c9}.login-card{box-shadow:var(--shadow)}
@media(max-width:991.98px){.search-box{width:210px}.hero-section{min-height:auto}.hero-card-main{width:340px}.admin-sidebar{width:220px}}
@media(max-width:767.98px){.search-box{width:100%}.hero-section h1{font-size:2.8rem}.hero-visual{min-height:350px}.hero-card-main{min-height:300px}.orbit-1{width:330px;height:330px}.orbit-2{width:260px;height:260px}.editorial-banner{align-items:flex-start;flex-direction:column}.cart-item{align-items:flex-start;flex-wrap:wrap}.qty-wrap{width:80px}.admin-layout{display:block}.admin-sidebar{position:relative;width:auto;height:auto;min-height:auto}.admin-sidebar nav{display:grid;grid-template-columns:repeat(2,1fr)}.admin-sidebar .mt-auto{margin-top:12px!important;display:flex;gap:5px}.admin-sidebar .mt-auto .admin-link{flex:1}.admin-main .container-fluid{padding-left:12px!important;padding-right:12px!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.admin-user-button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:7px 10px;color:var(--ink)}.admin-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#f2d7d6,#d8b08c);color:#5b343a}.otp-input{letter-spacing:.45em;font-weight:800}.dropdown-menu{border:1px solid var(--line);border-radius:15px;padding:8px}.dropdown-item{border-radius:10px;padding:9px 12px}

.btn-rose{background:linear-gradient(135deg,var(--rose-deep),#b77b68);color:#fff;border:0;border-radius:12px;font-weight:700;box-shadow:0 10px 24px rgba(142,83,91,.18)}.btn-rose:hover{color:#fff;transform:translateY(-1px);box-shadow:0 14px 28px rgba(142,83,91,.24)}.admin-user-button{min-width:44px}.admin-user-button:focus{box-shadow:0 0 0 .2rem rgba(183,123,104,.14)}.admin-user-button .admin-avatar{box-shadow:inset 0 0 0 1px rgba(91,52,58,.08)}.admin-topbar .dropdown-menu{min-width:190px}.admin-topbar .dropdown-item i{color:var(--rose-deep)}


/* T-shirt customizer */
.customizer-shell{background:radial-gradient(circle at 85% 10%,rgba(183,123,104,.10),transparent 28%),linear-gradient(180deg,#fffdfc 0%,#fbf6f3 100%);min-height:calc(100vh - 90px)}
.customizer-intro{display:flex;align-items:end;justify-content:space-between;gap:24px}.customizer-intro h1{font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-.04em}.customizer-grid{display:grid;grid-template-columns:minmax(320px,440px) minmax(420px,1fr);gap:22px;align-items:start}.customizer-panel,.customizer-preview-card{background:rgba(255,255,255,.90);border:1px solid var(--line);border-radius:28px;box-shadow:0 24px 70px rgba(81,49,54,.08);backdrop-filter:blur(10px)}.step-label{display:flex;gap:12px;align-items:center}.step-label>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#f3e0da;color:var(--rose-deep);font-weight:800}.step-label small{display:block;color:#9d7d80;letter-spacing:.12em;font-weight:700}.step-label strong{display:block;font-size:1.05rem}.color-swatch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.color-swatch{border:1px solid var(--line);background:#fff;border-radius:13px;padding:8px;text-align:left;display:flex;align-items:center;gap:8px;transition:.2s ease}.color-swatch.selected{border-color:#b77b68;box-shadow:0 0 0 3px rgba(183,123,104,.13)}.color-swatch span{width:27px;height:27px;border-radius:9px;background:var(--swatch);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.color-swatch em{font-style:normal;font-size:.8rem;color:#5d4b4e}.selected-meta{font-size:.78rem;color:#8a7073;margin-top:9px}.side-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.side-choice:last-child{grid-column:1 / -1}.side-choice{border:1px solid var(--line);background:#fff;border-radius:15px;padding:12px;text-align:left;display:grid;grid-template-columns:30px 1fr;column-gap:10px;align-items:center;transition:.2s}.side-choice i{grid-row:span 2;font-size:1.2rem;color:var(--rose-deep)}.side-choice strong{font-size:.88rem}.side-choice span{font-size:.7rem;color:#8a7476}.side-choice.active{border-color:#b77b68;background:#fff8f5;box-shadow:0 0 0 3px rgba(183,123,104,.10)}.upload-tip{display:flex;gap:11px;border-radius:16px;padding:12px;background:#fff7ef;border:1px solid #eedccf;color:#735a54;font-size:.82rem}.upload-tip>i{color:#b77b68}.upload-side{padding:12px;border:1px dashed #decfca;border-radius:16px;background:#fff}.upload-status{font-size:.72rem;color:#987f83}.upload-status.ready{color:#357556;font-weight:700}.upload-actions{display:flex;gap:8px}.editor-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.customizer-note{display:flex;gap:10px;align-items:flex-start;font-size:.76rem;color:#7d686c}.customizer-note i{color:#b77b68}.customizer-preview-card{overflow:hidden;position:sticky;top:100px}.preview-toolbar,.preview-footer{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.preview-toolbar{border-bottom:1px solid var(--line)}.preview-toolbar strong{display:block;font-size:1.1rem;margin-top:3px}.preview-hint{font-size:.78rem;color:#8a7377}.shirt-stage-wrap{padding:8px 0;background:transparent}.shirt-stage{position:relative;width:min(100%,560px);aspect-ratio:5/6;margin:auto;display:grid;place-items:center;background:transparent;overflow:visible;touch-action:none}.shirt-svg{width:86%;height:92%;filter:drop-shadow(0 20px 30px rgba(73,45,45,.16));pointer-events:none}.print-area{position:absolute;left:5.4%;top:9.7%;width:89.2%;height:88%;border:0;border-radius:18px;box-sizing:border-box;transition:opacity .2s;pointer-events:none}.print-label{display:none}.design-layer{position:absolute;width:1px;height:1px;transform-origin:center;z-index:4;pointer-events:auto}.design-image{position:absolute;left:0;top:0;max-width:none;object-fit:contain;cursor:grab;user-select:none;touch-action:none;filter:drop-shadow(0 5px 10px rgba(30,20,20,.14));transform-origin:center}.design-image:active{cursor:grabbing}.design-handle{position:absolute;width:28px;height:28px;border-radius:50%;border:2px solid #fff;background:#b77b68;color:#fff;box-shadow:0 4px 10px rgba(70,40,40,.18);display:grid;place-items:center;z-index:8;font-size:.75rem;transform:translate(-50%,-50%)}.design-handle.resize{cursor:nwse-resize}.design-handle.rotate{cursor:grab}.preview-empty{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:5px;color:#8c7779;text-align:center;pointer-events:none}.preview-empty i{font-size:2.7rem;color:#c08d7d}.preview-empty strong{color:#604b4f}.preview-empty span{font-size:.75rem}.preview-footer{border-top:1px solid var(--line)}.preview-footer>div:first-child{display:flex;flex-direction:column;gap:3px}.preview-footer span{font-size:.78rem;color:#8a7476}.preview-side-pill{padding:7px 11px;background:#f5e5e1;color:#8a5a54;border-radius:999px;font-size:.72rem;font-weight:700}.text-rose{color:var(--rose-deep)}
@media(max-width:991.98px){.customizer-grid{grid-template-columns:1fr}.customizer-preview-card{position:relative;top:0}.customizer-intro{align-items:flex-start;flex-direction:column}.color-swatch-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:575.98px){.customizer-panel{padding:17px!important}.color-swatch-grid{grid-template-columns:repeat(2,1fr)}.side-choice-grid{grid-template-columns:1fr}.side-choice:last-child{grid-column:auto}.preview-toolbar,.preview-footer{padding:14px}.preview-hint{display:none}.shirt-stage{border-radius:20px}.editor-actions{grid-template-columns:1fr}.upload-actions .btn{font-size:.8rem}}
.shirt-view-toggle{display:flex;justify-content:center;gap:7px;padding:10px 0 0}.shirt-view-toggle button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 13px;font-size:.75rem;font-weight:700;color:#775f63}.shirt-view-toggle button.active{background:#5f3e42;color:#fff;border-color:#5f3e42}

.custom-cart-art{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.custom-cart-art img{width:34px;height:34px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:#faf7f5}.custom-cart-art span{font-size:.72rem;color:#8a7074}

.customize-hub-hero{background:linear-gradient(145deg,#fff8f6,#f7ece8);border:1px solid var(--line);border-radius:28px;box-shadow:0 20px 60px rgba(81,49,54,.08)}
.customize-hub-icon{width:56px;height:56px;border-radius:17px;display:grid;place-items:center;background:#f0d8d0;color:var(--rose-deep);font-size:1.35rem}
.step-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#ead0c8;color:#6e4b43;font-weight:800;flex:0 0 30px}
.customize-choice-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 14px 38px rgba(81,49,54,.06);transition:transform .25s ease,box-shadow .25s ease}
.customize-choice-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(81,49,54,.11)}
.customize-choice-image{position:relative;aspect-ratio:1/1;overflow:hidden;background:#f7f2ef}
.customize-choice-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.customize-choice-card:hover .customize-choice-image img{transform:scale(1.035)}
.customize-choice-badge{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);padding:7px 10px;border-radius:999px;font-size:.75rem;font-weight:700;color:var(--rose-deep);border:1px solid rgba(255,255,255,.7)}

.header-actions{margin-left:auto}.payment-option-disabled{opacity:.78;background:#fbf8f7}.payment-option-disabled .form-check-input{cursor:not-allowed}.payment-option-disabled strong{color:#6f6266}@media(max-width:991.98px){.header-actions{margin-left:0;width:100%;padding-top:.35rem}.header-actions .icon-btn,.header-actions .btn{margin-bottom:.35rem!important}}

/* Offer management enhancements */
.condition-box{border:1px solid var(--line);border-radius:18px;padding:18px;background:linear-gradient(180deg,#fffafa 0%,#fff 100%)}
.offer-admin-card{box-shadow:0 10px 30px rgba(82,48,54,.06)}
.offer-rule-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #e5d3d0;border-radius:999px;background:#fff8f7;color:#684b4f;font-size:.78rem;font-weight:700}
.offer-rule-chip i{font-size:.82rem;color:var(--rose-deep)}
.keychain-stage{position:relative;width:min(100%,560px);aspect-ratio:1/1;margin:auto;display:grid;place-items:center;touch-action:none}.keychain-mockup{position:absolute;width:58%;aspect-ratio:1/1;background:linear-gradient(145deg,#fff,#d7cbc7);box-shadow:0 28px 40px rgba(73,45,45,.18),inset 0 0 0 1px rgba(95,70,66,.12)}.keychain-mockup.square{border-radius:28px}.keychain-mockup.round{border-radius:50%}.keychain-design-layer{position:absolute;width:1px;height:1px;z-index:4;pointer-events:auto}.keychain-design-layer .design-image{position:absolute;left:0;top:0;max-width:none;object-fit:contain;cursor:grab;user-select:none;touch-action:none}.mug-stage{position:relative;width:min(100%,720px);height:580px;margin:auto;display:grid;place-items:center;touch-action:none;overflow:hidden;perspective:1250px;background:radial-gradient(circle at 50% 45%,#fff 0,#fbf5f2 65%,transparent 100%)}
.mug-rotator{position:relative;width:560px;height:410px;transform-style:preserve-3d;transition:transform .18s ease-out;will-change:transform;--mug-view:0deg;--mug-scale:1;--mug-shift:0px;--mug-side:0}
.mug-body{position:absolute;left:70px;top:42px;width:420px;height:315px;border-radius:22px 22px 48px 48px;background:linear-gradient(90deg,#d1c5c2 0%,#e9e3e1 8%,#fff 23%,#fbf9f8 46%,#f0ebe9 68%,#d1c8c5 100%);box-shadow:0 30px 45px rgba(73,45,45,.16),inset -12px 0 20px rgba(87,65,62,.07);transform-origin:50% 50%;transform:translate3d(0,0,8px) rotateY(var(--mug-view)) scaleX(var(--mug-scale));overflow:hidden;transition:transform .18s ease-out,filter .18s ease-out;filter:brightness(calc(1 - var(--mug-side) * .08))}
.mug-body:before{content:"";position:absolute;left:16px;right:16px;top:14px;height:28px;border-radius:50%;background:linear-gradient(180deg,#fff,#ece7e5);box-shadow:0 1px 0 rgba(90,64,61,.06);z-index:3}.mug-body:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(96,74,71,.20),transparent 17%,transparent 76%,rgba(78,57,55,.12));opacity:calc(.45 + var(--mug-side) * .4);pointer-events:none;z-index:4}.mug-rim{position:absolute;left:18px;right:18px;top:18px;height:22px;border-radius:50%;background:linear-gradient(180deg,#fff,#ebe6e4);z-index:5;box-shadow:0 2px 4px rgba(91,69,66,.08)}
.mug-handle{position:absolute;left:430px;top:96px;width:128px;height:180px;border:37px solid #d5cdca;border-left-color:transparent;border-radius:50%;transform-origin:18% 50%;transform:translate3d(calc(var(--mug-shift) * .65),0,-4px) rotateY(var(--mug-view)) scaleX(var(--mug-scale));box-shadow:0 10px 15px rgba(73,45,45,.08);transition:transform .18s ease-out;z-index:0}.mug-handle:after{content:"";position:absolute;inset:22px 8px 22px 34px;border-radius:50%;box-shadow:inset 0 0 16px rgba(89,68,65,.11)}
.mug-print-area{position:absolute;left:92px;top:55px;width:360px;height:265px;overflow:hidden;border-radius:22px;pointer-events:none;transform-origin:50% 50%;transform:translate3d(var(--mug-shift),0,14px) rotateY(var(--mug-view)) scaleX(var(--mug-scale));transition:transform .18s ease-out;z-index:6;box-shadow:inset 0 0 28px rgba(79,58,55,.05)}.mug-print-area:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,rgba(71,54,52,.10),transparent 15%,transparent 80%,rgba(71,54,52,.08));pointer-events:none}
.mug-design-layer{position:absolute;width:1px;height:1px;z-index:7;pointer-events:auto}.mug-design-layer .design-image{position:absolute;left:0;top:0;max-width:none;object-fit:contain;cursor:grab;user-select:none;touch-action:none;filter:drop-shadow(0 5px 10px rgba(30,20,20,.12));transform-origin:center}.mug-design-layer .design-image:active{cursor:grabbing}.mug-view-tip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#f7e7e3;color:#7c5c59;font-size:.72rem;font-weight:700}
@media(max-width:575.98px){.mug-stage{height:455px}.mug-rotator{transform:scale(.78);transform-origin:center}.customize-type-visual{height:200px}.keychain-ring{border-width:8px}}

/* v31 layout and Custom Studio polish */
.site-nav{z-index:1035;position:sticky;top:0}
main{position:relative;z-index:1;isolation:isolate}
.site-nav .navbar-collapse{position:relative;z-index:2}
.customizer-preview-card,.summary-card,.filter-panel{z-index:1}
@media(max-width:991.98px){.customizer-preview-card,.summary-card,.filter-panel{position:relative!important;top:auto!important}}
@media(max-width:767.98px){.site-nav .navbar-collapse{background:var(--paper);padding-top:8px}.site-nav{backdrop-filter:none}.header-actions{position:relative;z-index:3}}
.customize-type-card{display:block;height:100%;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;color:inherit;text-decoration:none;box-shadow:0 14px 36px rgba(81,49,54,.06);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.customize-type-card:hover{color:inherit;text-decoration:none;transform:translateY(-5px);box-shadow:0 22px 50px rgba(81,49,54,.11);border-color:#d7b1ad}
.customize-type-card.disabled{opacity:.55;pointer-events:none}
.customize-type-visual{height:220px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,#fff 0,#f8ebe8 72%);color:#a06e6d;position:relative;overflow:hidden}
.customize-type-visual:after{content:' ';position:absolute;inset:auto 15% 15px;height:15px;border-radius:50%;background:rgba(110,75,77,.08);filter:blur(7px)}
.customize-type-visual .customize-tshirt-icon{width:112px;height:112px;display:block;filter:drop-shadow(0 10px 12px rgba(84,52,55,.12));position:relative;z-index:1}
.customize-type-visual.mug i,.customize-type-visual.keychain i{font-size:5.25rem;line-height:1;position:relative;z-index:1;filter:drop-shadow(0 10px 12px rgba(84,52,55,.11))}
.customize-type-visual.mug i{font-size:5.1rem}
.customize-type-visual.keychain i{font-size:5rem}
@media(max-width:575.98px){.customize-type-visual{height:190px}.customize-type-visual .customize-tshirt-icon{width:96px;height:96px}.customize-type-visual.mug i{font-size:4.6rem}.customize-type-visual.keychain i{font-size:4.35rem}}

/* v31 cylindrical mug preview */
.mug-stage{overflow:hidden;perspective:1400px}
.mug-rotator{width:620px;height:430px;--mug-front-scale:1;--mug-side-width:18px;--mug-shift:0px;--mug-side:0;--mug-direction:1;transform-style:preserve-3d;position:relative}
.mug-shadow{position:absolute;left:108px;top:312px;width:390px;height:45px;border-radius:50%;background:rgba(72,48,49,.16);filter:blur(15px);transform:translateX(calc(var(--mug-shift) * .18)) scaleX(calc(.9 + var(--mug-side)*.15));opacity:.75;z-index:0}
.mug-side-wall{position:absolute;top:67px;width:var(--mug-side-width);height:286px;border-radius:50% 22px 22px 50%;background:linear-gradient(90deg,#a89a97 0%,#e8e0dd 40%,#fff 75%,#c8bbb8 100%);box-shadow:inset 0 0 18px rgba(65,48,45,.15),0 18px 28px rgba(73,45,45,.08);opacity:calc(.18 + var(--mug-side)*.82);transition:width .18s ease-out,opacity .18s ease-out,transform .18s ease-out;z-index:1}
.mug-side-wall-left{left:86px;transform:translateX(calc(var(--mug-shift) * -0.08));border-radius:50% 8px 8px 50%}
.mug-side-wall-right{left:484px;transform:translateX(calc(var(--mug-shift) * 0.08));border-radius:8px 50% 50% 8px}
.mug-body{left:84px;top:52px;width:420px;height:315px;border-radius:30px 48px 52px 30px;background:linear-gradient(90deg,#c8bbb8 0%,#f0e9e6 9%,#fff 23%,#fbf9f8 48%,#f1e8e6 68%,#c2b5b2 100%);box-shadow:inset 16px 0 24px rgba(74,55,52,.08),inset -18px 0 26px rgba(74,55,52,.10),0 30px 45px rgba(73,45,45,.16);transform-origin:center;transform:translate3d(calc(var(--mug-shift) * .14),0,8px) scaleX(var(--mug-front-scale));transition:transform .18s ease-out}
.mug-body:after{content:' ';position:absolute;left:0;right:0;bottom:-1px;height:38px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(90,69,66,.16),rgba(255,255,255,0) 62%);opacity:.7;pointer-events:none}
.mug-front-sheen{position:absolute;inset:18px 18px 24px;border-radius:22px 34px 36px 22px;background:linear-gradient(102deg,rgba(255,255,255,.76),rgba(255,255,255,0) 28%,rgba(255,255,255,.14) 63%,rgba(78,57,55,.12) 100%);mix-blend-mode:screen;pointer-events:none;z-index:3}
.mug-rim{left:10px;right:10px;top:2px;height:34px;border-radius:50%;background:radial-gradient(ellipse at 50% 45%,#d9d1ce 0 12%,#fff 13% 66%,#e7dfdd 67% 100%);box-shadow:0 5px 8px rgba(74,54,52,.10);z-index:5}
.mug-handle{left:485px;top:104px;width:125px;height:170px;border:34px solid #d0c5c1;border-left-color:transparent;border-radius:50%;transform-origin:18% 50%;transform:translate3d(calc(var(--mug-shift) * .42),0,-4px) rotateY(calc(var(--mug-direction) * var(--mug-view))) scaleX(calc(.84 + var(--mug-side)*.16));box-shadow:0 10px 15px rgba(73,45,45,.08),inset -6px 0 10px rgba(79,58,55,.10);transition:transform .18s ease-out;z-index:0}
.mug-print-area{left:102px;top:70px;width:365px;height:258px;border-radius:22px;transform-origin:center;transform:translate3d(calc(var(--mug-shift) * .14),0,14px) scaleX(var(--mug-front-scale));transition:transform .18s ease-out;z-index:6;box-shadow:inset 0 0 28px rgba(79,58,55,.05)}
.mug-print-area:before{content:' ';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,rgba(74,54,51,.16),transparent 16%,transparent 80%,rgba(74,54,51,.10));pointer-events:none;z-index:5}
.mug-design-layer .design-image{filter:drop-shadow(0 7px 12px rgba(30,20,20,.14))}
@media(max-width:575.98px){.mug-stage{height:500px}.mug-rotator{transform:scale(.72);transform-origin:center}.mug-body{left:98px}.mug-print-area{left:116px}.mug-handle{left:500px}.mug-side-wall-left{left:100px}.mug-side-wall-right{left:498px}}


/* v33 polish: Custom Studio apparel icon, cylindrical mug, and keychain artwork layering */
.customize-type-visual .customize-tshirt-icon{width:104px;height:104px;filter:drop-shadow(0 12px 16px rgba(84,52,55,.16));}
.customize-type-visual.mug i,.customize-type-visual.keychain i{width:88px;height:88px;display:grid;place-items:center;font-size:4.35rem;}
.customize-type-visual.mug i{font-size:4.55rem;}
.customize-type-visual.keychain i{font-size:4.35rem;}

/* Keychain: printable area is the actual positioned coordinate system. */
.keychain-print-area{position:absolute;left:21%;top:21%;width:58%;aspect-ratio:1/1;overflow:hidden;z-index:5;pointer-events:none;box-sizing:border-box;}
.keychain-print-area.square{border-radius:28px;}
.keychain-print-area.round{border-radius:50%;}
.keychain-design-layer{position:absolute;inset:0;width:auto;height:auto;z-index:8;pointer-events:auto;overflow:visible;}
.keychain-design-layer .design-image{position:absolute;left:50%;top:50%;z-index:9;max-width:none;display:block;visibility:visible;opacity:1;object-fit:contain;cursor:grab;user-select:none;touch-action:none;pointer-events:auto;}
.keychain-design-layer .design-image:active{cursor:grabbing;}
.keychain-mockup{z-index:2;}
.keychain-ring{z-index:1;}
#keychainEmpty{z-index:7;}

/* A more substantial cylindrical mug, inspired by the user's reference proportions: broad body, rounded shoulder, elliptical rim and depth-rich handle. */
.mug-stage{position:relative;perspective:1500px;isolation:isolate;}
.mug-rotator{width:640px;height:450px;position:relative;transform-style:preserve-3d;--mug-view:0deg;--mug-front-scale:1;--mug-side-width:28px;--mug-shift:0px;--mug-side:0;--mug-direction:1;}
.mug-shadow{position:absolute;left:116px;top:349px;width:410px;height:40px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(54,38,37,.26) 0%,rgba(54,38,37,.09) 52%,transparent 75%);filter:blur(10px);z-index:0;transform:translateX(calc(var(--mug-shift)*.16)) scaleX(calc(.92 + var(--mug-side)*.12));}
.mug-cylinder{position:absolute;left:94px;top:45px;width:432px;height:318px;transform-origin:50% 50%;transform:translate3d(calc(var(--mug-shift)*.12),0,24px) rotateY(var(--mug-view)) scaleX(var(--mug-front-scale));transform-style:preserve-3d;transition:transform .16s ease-out;z-index:4;}
.mug-body{position:absolute;inset:0;border-radius:16% 16% 13% 13% / 8% 8% 11% 11%;background:linear-gradient(90deg,#c6bbb7 0%,#e6dfdc 6%,#ffffff 18%,#fcfbfa 44%,#f5efed 67%,#e4dad7 84%,#b9adaa 100%);box-shadow:inset 18px 0 28px rgba(80,58,55,.10),inset -20px 0 28px rgba(80,58,55,.12),0 30px 46px rgba(71,45,44,.14);overflow:hidden;}
.mug-body:before{content:"";position:absolute;left:8px;right:8px;top:-2px;height:34px;border-radius:50%;background:radial-gradient(ellipse at center,#d9d2cf 0 11%,#fff 12% 60%,#e5dedb 61% 100%);box-shadow:0 4px 8px rgba(74,54,52,.13);z-index:6;}
.mug-body:after{content:"";position:absolute;left:0;right:0;bottom:0;height:54px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(90,69,66,.16) 0,rgba(255,255,255,0) 64%);z-index:2;}
.mug-side-highlight{position:absolute;inset:8px 8px 16px;border-radius:14% 14% 11% 11%;background:linear-gradient(102deg,rgba(255,255,255,.62) 0%,rgba(255,255,255,0) 24%,rgba(255,255,255,.13) 62%,rgba(78,57,55,.12) 100%);mix-blend-mode:screen;pointer-events:none;z-index:4;}
.mug-front-sheen{position:absolute;left:21px;top:34px;width:118px;height:240px;border-radius:45%;background:linear-gradient(90deg,rgba(255,255,255,.38),rgba(255,255,255,0));filter:blur(1px);opacity:.72;z-index:3;pointer-events:none;}
.mug-rim{position:absolute;left:14px;right:14px;top:8px;height:30px;border-radius:50%;border:1px solid rgba(197,187,183,.55);background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(230,223,220,.58));z-index:5;box-shadow:0 2px 5px rgba(78,58,54,.08);}
.mug-top-rim{position:absolute;left:106px;right:106px;top:-1px;height:44px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(216,209,206,.98) 0 16%,#fff 17% 64%,#e4dcda 65% 100%);box-shadow:0 5px 10px rgba(72,49,48,.12);opacity:.82;transform:translateZ(20px);z-index:7;}
.mug-bottom-foot{position:absolute;left:16px;right:16px;bottom:-7px;height:34px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(167,154,150,.32) 0,rgba(255,255,255,0) 65%);z-index:1;}
.mug-side-cap{position:absolute;top:26px;width:46px;height:266px;border-radius:50%;background:linear-gradient(90deg,#a89b97 0%,#e9e1de 34%,#fff 66%,#b7aaa6 100%);box-shadow:inset 0 0 16px rgba(61,47,44,.14);opacity:calc(.16 + var(--mug-side)*.84);z-index:2;transition:opacity .16s ease-out,transform .16s ease-out;}
.mug-side-cap-left{left:76px;transform:translateX(calc(var(--mug-shift)*-.07));}
.mug-side-cap-right{left:498px;transform:translateX(calc(var(--mug-shift)*.07));}
.mug-handle{position:absolute;left:496px;top:113px;width:142px;height:180px;border:36px solid #d2c7c4;border-left-color:transparent;border-radius:50%;transform-origin:18% 50%;transform:translate3d(calc(var(--mug-shift)*.46),0,0) rotateY(calc(var(--mug-direction)*var(--mug-view))) scaleX(calc(.90 + var(--mug-side)*.10));box-shadow:0 12px 17px rgba(72,49,48,.10),inset -7px 0 11px rgba(77,57,54,.11);transition:transform .16s ease-out;z-index:3;}
.mug-handle:after{content:"";position:absolute;inset:20px 8px 20px 32px;border-radius:50%;box-shadow:inset 0 0 18px rgba(80,60,57,.13);}
.mug-handle-shadow{position:absolute;left:512px;top:126px;width:122px;height:156px;border:28px solid rgba(90,68,65,.08);border-left-color:transparent;border-radius:50%;transform:translateX(calc(var(--mug-shift)*.44));z-index:1;pointer-events:none;}
.mug-print-area{position:absolute;left:130px;top:82px;width:360px;height:244px;border-radius:30px;overflow:hidden;pointer-events:none;transform-origin:50% 50%;transform:translate3d(calc(var(--mug-shift)*.14),0,30px) rotateY(var(--mug-view)) scaleX(var(--mug-front-scale));transition:transform .16s ease-out;z-index:8;box-shadow:inset 0 0 26px rgba(74,55,52,.07);}
.mug-print-area:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(73,55,52,.18),transparent 14%,transparent 77%,rgba(73,55,52,.12));pointer-events:none;z-index:10;}
.mug-design-layer{position:absolute;inset:0;width:auto;height:auto;z-index:11;pointer-events:auto;}
.mug-design-layer .design-image{display:block;visibility:visible;opacity:1;z-index:12;}
@media(max-width:575.98px){.mug-stage{height:500px}.mug-rotator{transform:scale(.72);transform-origin:center}.customize-type-visual .customize-tshirt-icon{width:92px;height:92px}.customize-type-visual.mug i{font-size:4.15rem}.customize-type-visual.keychain i{font-size:4rem}.keychain-print-area{left:21%;top:21%;width:58%;}.mug-print-area{left:132px;top:85px}.mug-handle{left:504px}}

/* v33 custom studio refinements */
.customize-type-visual .customize-tshirt-icon{width:118px;height:118px;object-fit:contain;}
.customize-type-visual.mug i,.customize-type-visual.keychain i{width:92px;height:92px;display:grid;place-items:center;font-size:4.25rem;}
.mug-stage{perspective:1400px;}
.mug-rotator{transform-style:preserve-3d;}
.keychain-design-layer .design-image{max-width:20px;max-height:20px;}
@media(max-width:575.98px){.customize-type-visual .customize-tshirt-icon{width:100px;height:100px}.customize-type-visual.mug i{font-size:4rem}.customize-type-visual.keychain i{font-size:3.9rem}}


/* v34 customizer visual refinement */
.customize-type-visual{height:220px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,#fff 0,#f8ebe8 72%);position:relative;overflow:hidden}
.customize-type-visual:after{content:"";position:absolute;left:20%;right:20%;bottom:18px;height:14px;border-radius:50%;background:rgba(110,75,77,.08);filter:blur(8px)}
.customize-product-icon{width:124px;height:124px;display:block;position:relative;z-index:1;filter:drop-shadow(0 12px 16px rgba(84,52,55,.13));overflow:visible}
.customize-tshirt-icon{width:124px;height:124px}
.customize-mug-icon{width:124px;height:124px}
.customize-keychain-icon{width:124px;height:124px}
@media(max-width:575.98px){.customize-type-visual{height:190px}.customize-product-icon{width:104px;height:104px}}

/* v34 mug mockup: static ceramic mug, no view rotation control. */
.mug-stage{position:relative;width:min(100%,720px);height:580px;margin:auto;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 46%,#fff 0,#fcf6f3 62%,rgba(252,246,243,0) 100%);perspective:none}
.mug-rotator{position:relative;width:640px;height:450px;transform:none!important;transform-style:flat!important}
.mug-ground-shadow{position:absolute;left:118px;top:353px;width:420px;height:46px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(78,57,55,.22) 0,rgba(78,57,55,.10) 48%,transparent 76%);filter:blur(9px);z-index:0}
.mug-handle-back{position:absolute;left:454px;top:102px;width:164px;height:214px;border:40px solid #d2c6c2;border-left-color:transparent;border-radius:50%;box-shadow:inset -5px 0 10px rgba(77,57,54,.12),0 12px 18px rgba(72,49,48,.08);z-index:1}
.mug-handle-back:after{content:"";position:absolute;left:22px;top:25px;width:90px;height:152px;border-radius:50%;border:1px solid rgba(130,109,105,.15);box-shadow:inset 0 0 14px rgba(75,57,54,.11)}
.mug-shell{position:absolute;left:86px;top:68px;width:420px;height:320px;z-index:3}
.mug-body{position:absolute;left:0;top:24px;width:420px;height:278px;border-radius:12% 12% 16% 16% / 9% 9% 13% 13%;background:linear-gradient(90deg,#cfc3bf 0%,#e9e3e0 6%,#fff 18%,#fcfbfa 45%,#f6f0ee 67%,#e3d9d5 85%,#bdb0ac 100%);box-shadow:inset 18px 0 28px rgba(77,57,54,.09),inset -20px 0 30px rgba(77,57,54,.13),0 28px 44px rgba(71,45,44,.16);overflow:visible}
.mug-body:before{content:"";position:absolute;left:-1px;right:-1px;top:-16px;height:54px;border-radius:50%;background:radial-gradient(ellipse at center,#d4cdca 0 15%,#fff 16% 61%,#e2dad7 62% 100%);box-shadow:0 4px 7px rgba(78,58,54,.12);z-index:9}
.mug-body:after{content:"";position:absolute;left:5px;right:5px;bottom:-10px;height:36px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(157,142,137,.30) 0,rgba(255,255,255,0) 64%);z-index:2}
.mug-print-surface{position:absolute;left:38px;top:34px;width:344px;height:214px;border-radius:28px 28px 44px 44px / 18px 18px 24px 24px;background:rgba(255,255,255,.04);box-shadow:inset 14px 0 18px rgba(101,79,75,.07),inset -15px 0 20px rgba(101,79,75,.09);z-index:2;pointer-events:none}
.mug-body-highlight{position:absolute;left:14px;top:42px;width:88px;height:210px;border-radius:45%;background:linear-gradient(90deg,rgba(255,255,255,.44),rgba(255,255,255,0));filter:blur(1px);opacity:.9;z-index:3;pointer-events:none}
.mug-body-shadow{position:absolute;right:0;top:22px;width:74px;height:238px;border-radius:40%;background:linear-gradient(90deg,rgba(96,70,66,0),rgba(96,70,66,.16));filter:blur(2px);z-index:3;pointer-events:none}
.mug-top-lip{position:absolute;left:-1px;top:0;width:422px;height:64px;border-radius:50%;background:linear-gradient(180deg,#fdfcfc 0%,#e3dbd8 100%);box-shadow:0 8px 12px rgba(76,58,55,.10);z-index:8}
.mug-top-inner{position:absolute;left:52px;top:11px;width:316px;height:38px;border-radius:50%;background:radial-gradient(ellipse at center,#d9d1ce 0 11%,#fff 12% 61%,#e4ddda 62% 100%);z-index:10}
.mug-bottom-lip{position:absolute;left:6px;top:314px;width:408px;height:24px;border-radius:50%;background:linear-gradient(180deg,rgba(193,181,177,.16),rgba(255,255,255,.72));z-index:1;filter:blur(.3px)}
.mug-handle-depth{position:absolute;left:466px;top:119px;width:142px;height:184px;border:28px solid rgba(92,69,65,.08);border-left-color:transparent;border-radius:50%;z-index:0}
.mug-handle-front{display:none}
.mug-print-area{position:absolute;left:38px;top:34px;width:344px;height:214px;border-radius:28px 28px 44px 44px / 18px 18px 24px 24px;overflow:hidden;transform:none!important;box-shadow:inset 0 0 24px rgba(78,58,55,.05);z-index:6;pointer-events:none}
.mug-print-area:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,rgba(77,57,54,.12),transparent 15%,transparent 80%,rgba(77,57,54,.10));pointer-events:none;z-index:12}
.mug-design-layer{position:absolute;inset:0;width:100%;height:100%;z-index:13;pointer-events:auto}
.mug-design-layer .design-image{display:block;visibility:visible;opacity:1;z-index:14;filter:drop-shadow(0 5px 9px rgba(30,20,20,.12));}
@media(max-width:575.98px){.mug-stage{height:500px}.mug-rotator{transform:scale(.78)!important;transform-origin:center}.mug-shell{left:82px}.mug-handle-back{left:450px}.mug-print-area{left:38px;top:34px}}

/* v34 keychain artwork cap: 4% of the normalized printable surface. The JavaScript is authoritative; CSS must not add a pixel cap. */
.keychain-design-layer .design-image{max-width:none;max-height:none}

/* v35 reference-based mug mockup + refined keychain card icon */
.customize-product-icon{width:124px;height:124px}
.customize-tshirt-icon,.customize-mug-icon,.customize-keychain-icon{width:124px;height:124px}
.customize-keychain-icon{filter:drop-shadow(0 12px 16px rgba(84,52,55,.13))}

.mug-stage{
  position:relative;
  width:min(100%,720px);
  height:580px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:radial-gradient(circle at 50% 44%,#fff 0,#fbf3f0 66%,rgba(251,243,240,0) 100%);
}
.mug-rotator{
  position:relative;
  width:560px;
  height:520px;
  transform:none!important;
  transform-style:flat!important;
  flex:0 0 auto;
}
.mug-reference-image{
  position:absolute;
  left:50%;
  top:50%;
  width:560px;
  height:auto;
  transform:translate(-50%,-50%);
  display:block;
  z-index:2;
  filter:drop-shadow(0 22px 24px rgba(74,51,49,.12));
  user-select:none;
  pointer-events:none;
}
.mug-print-area{
  position:absolute;
  left:72px;
  top:122px;
  width:330px;
  height:278px;
  overflow:hidden;
  border-radius:18% 18% 22% 22% / 11% 11% 12% 12%;
  z-index:4;
  pointer-events:none;
  background:rgba(255,255,255,.018);
  box-shadow:inset 0 0 24px rgba(77,57,54,.035);
}
.mug-print-area:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(90deg,rgba(120,96,91,.08),transparent 18%,transparent 78%,rgba(94,70,66,.09));
  pointer-events:none;
  z-index:20;
}
.mug-print-shine{
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(104deg,rgba(255,255,255,.16),transparent 25%,transparent 73%,rgba(78,57,54,.08));
  mix-blend-mode:screen;
  pointer-events:none;
  z-index:19;
}
.mug-design-layer{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:14;
  pointer-events:auto;
}
.mug-design-layer .design-image{
  display:block;
  visibility:visible;
  opacity:1;
  max-width:none;
  max-height:none;
  filter:drop-shadow(0 4px 7px rgba(30,20,20,.10));
}
.mug-stage .preview-empty{z-index:30}
@media(max-width:575.98px){
  .customize-product-icon,.customize-tshirt-icon,.customize-mug-icon,.customize-keychain-icon{width:104px;height:104px}
  .mug-stage{height:500px}
  .mug-rotator{transform:scale(.76)!important;transform-origin:center}
}


/* v36: reference-based mug mockup and enlarged front printable surface */
.mug-stage{
  position:relative;
  width:min(100%,760px);
  height:590px;
  margin:auto;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#fff;
  isolation:isolate;
}
.mug-rotator{
  position:relative;
  width:560px;
  height:530px;
  transform:none!important;
  transform-style:flat!important;
  flex:0 0 auto;
}
.mug-reference-image{
  position:absolute;
  left:50%;
  top:50%;
  width:560px;
  height:auto;
  transform:translate(-50%,-50%);
  display:block;
  z-index:2;
  filter:drop-shadow(0 20px 22px rgba(74,51,49,.10));
  user-select:none;
  pointer-events:none;
}
/* The front body is deliberately close to the full visible ceramic face. */
.mug-print-area{
  position:absolute;
  left:26px;
  top:70px;
  width:382px;
  height:397px;
  overflow:hidden;
  border-radius:10% 10% 14% 14% / 6% 6% 7% 7%;
  z-index:5;
  pointer-events:none;
  background:rgba(255,255,255,.015);
  box-shadow:inset 12px 0 20px rgba(72,52,49,.055), inset -16px 0 22px rgba(72,52,49,.07);
}
.mug-print-area:before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(90deg,rgba(120,95,90,.10),transparent 14%,transparent 78%,rgba(88,66,62,.10));
  pointer-events:none;
  z-index:20;
}
.mug-print-area:after{
  content:"";
  position:absolute;
  left:6%; right:6%; top:2%; height:8%;
  border-radius:50%;
  background:linear-gradient(180deg,rgba(255,255,255,.15),rgba(255,255,255,0));
  pointer-events:none;
  z-index:21;
}
.mug-design-layer{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:14;
  pointer-events:auto;
  touch-action:none;
}
.mug-design-layer .design-image{
  display:block;
  visibility:visible;
  opacity:1;
  max-width:none;
  max-height:none;
  object-fit:contain;
  filter:drop-shadow(0 3px 6px rgba(30,20,20,.08));
  touch-action:none;
  user-select:none;
}
.mug-stage .preview-empty{z-index:30;pointer-events:none}
@media(max-width:575.98px){
  .mug-stage{height:500px;background:#fff}
  .mug-rotator{transform:scale(.78)!important;transform-origin:center}
}


/* v37: keychain sizing, card icon refinement, and edge-safe mug placement */
.customize-type-visual .customize-keychain-icon{width:112px;height:112px;display:block;filter:drop-shadow(0 12px 16px rgba(84,52,55,.15));position:relative;z-index:1}
.keychain-stage{touch-action:none}
.keychain-design-layer{inset:0;pointer-events:auto;touch-action:none}
.keychain-design-layer .design-image{pointer-events:auto;touch-action:none;max-width:none;max-height:none}

/* Keep the mug artwork inside the true printable face while allowing its edge to touch the boundary. */
.mug-design-layer{inset:0;width:100%;height:100%;overflow:visible;pointer-events:auto;touch-action:none}
.mug-design-layer .design-image{pointer-events:auto;touch-action:none;cursor:grab}
.mug-design-layer .design-image:active{cursor:grabbing}
@media(max-width:575.98px){.customize-type-visual .customize-keychain-icon{width:102px;height:102px}}


/* v39: keychain card icon uses the same visual scale as the T-shirt and mug cards. */
.customize-type-visual .customize-keychain-icon{width:124px;height:124px;display:block;filter:drop-shadow(0 12px 16px rgba(84,52,55,.15));position:relative;z-index:1}
@media(max-width:575.98px){.customize-type-visual .customize-keychain-icon{width:104px;height:104px}}


/* v40: refined keychain card icon and 350% artwork slider. */
.customize-type-visual .customize-keychain-icon{width:124px;height:124px;display:block;position:relative;z-index:1;filter:drop-shadow(0 12px 16px rgba(84,52,55,.15))}
@media(max-width:575.98px){.customize-type-visual .customize-keychain-icon{width:104px;height:104px}}

/* v41: use the approved keychain card artwork image. */
.customize-type-visual .customize-keychain-icon{width:124px;height:124px;object-fit:contain;display:block;filter:drop-shadow(0 12px 16px rgba(84,52,55,.13));}
@media(max-width:575.98px){.customize-type-visual .customize-keychain-icon{width:104px;height:104px;}}


/* v42: square mug print area, centered placeholder, 350% slider, and edge-safe oversized artwork. */
.mug-rotator{width:560px;height:530px;}
.mug-reference-image{width:560px;}
.mug-print-area{left:55px;top:112px;width:360px;height:360px;aspect-ratio:1 / 1;border-radius:24px;overflow:hidden;}
.mug-print-area:before,.mug-print-area:after{border-radius:inherit;}
.mug-preview-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;text-align:center;padding:20px;pointer-events:none;z-index:25;}
.mug-preview-empty i{font-size:2rem;}
.mug-design-layer{inset:0;width:100%;height:100%;overflow:visible;}
.mug-design-layer .design-image{max-width:none;max-height:none;width:auto;height:auto;}
@media(max-width:575.98px){
  .mug-stage{height:500px;}
  .mug-rotator{transform:scale(.78)!important;transform-origin:center;}
  .mug-print-area{left:55px;top:112px;width:360px;height:360px;}
}


/* v43: mug printable area enlarged to a body-covering rectangle and placeholder centered correctly. */
.mug-print-area{
  left:38px;
  top:34px;
  width:375px;
  height:460px;
  aspect-ratio:auto;
  border-radius:22px;
  overflow:hidden;
  box-sizing:border-box;
}
.mug-preview-empty{
  position:absolute !important;
  inset:0 !important;
  left:0 !important;
  top:0 !important;
  width:100% !important;
  height:100% !important;
  transform:none !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:column !important;
  gap:6px !important;
  text-align:center !important;
  padding:20px !important;
  box-sizing:border-box !important;
  pointer-events:none !important;
  z-index:25 !important;
}
.mug-preview-empty i{margin:0 !important; line-height:1 !important;}
.mug-preview-empty strong,.mug-preview-empty span{display:block; width:100%; text-align:center;}
@media(max-width:575.98px){
  .mug-print-area{left:38px;top:34px;width:375px;height:460px;}
}


/* v44: mug artwork border mobility + slightly left-aligned print area. */
.mug-print-area{
  left:20px;
  top:34px;
  width:375px;
  height:460px;
  overflow:hidden;
}
.mug-design-layer{
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}
.mug-design-layer .design-image{
  pointer-events:auto;
}


/* v45: uploaded artwork replaces the empty-state placeholder in every customizer. */
.preview-empty.d-none{display:none !important;visibility:hidden !important;opacity:0 !important;}

/* v46 header alignment */
@media(min-width:992px){
  .site-nav .navbar-collapse{display:flex!important;align-items:center;flex-wrap:nowrap;min-width:0}
  .site-nav .navbar-nav{flex-wrap:nowrap;white-space:nowrap;min-width:0}
  .site-nav .navbar-nav .nav-link{white-space:nowrap;padding-left:.55rem;padding-right:.55rem}
  .site-nav .navbar-brand{white-space:nowrap;flex:0 0 auto}
  .site-nav .search-box{width:220px;max-width:220px}
  .site-nav form[role="search"],.site-nav .navbar-collapse>form{flex:0 1 220px;min-width:180px}
  .site-nav .header-actions{flex-wrap:nowrap!important;white-space:nowrap;flex:0 0 auto}
  .site-nav .header-actions .icon-btn,.site-nav .header-actions .btn{margin-bottom:0!important;white-space:nowrap}
}
@media(max-width:991.98px){.header-actions{flex-wrap:wrap!important}}

/* v46 custom-order thumbnails */
.custom-thumb-preview{width:100%;height:100%;object-fit:contain;background:#fff}
.cart-thumb.custom-preview,.checkout-thumb.custom-preview{background:#f7f1ef;padding:4px}
