.shop-services{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}.shop-services button{padding:24px;text-align:left;border:1px solid var(--line);border-radius:16px;background:var(--card,#fffaf1);color:var(--ink);font:inherit;cursor:pointer}.shop-services b{display:block;font-size:19px;margin-bottom:8px}.custom-fields{display:grid;gap:14px;margin:18px 0}#drawer label{display:grid;gap:6px;margin:12px 0;color:var(--ink)}#drawer input,#drawer select,#drawer textarea{width:100%;padding:12px;border:1px solid var(--line);background:var(--card,#fffaf1);border-radius:10px;font:inherit;color:var(--ink);box-sizing:border-box}#drawer textarea{min-height:90px}#drawer fieldset{border:1px solid var(--line);border-radius:12px;padding:16px;margin:14px 0}#drawer .zoom-trigger{display:block;width:100%;padding:0;border:0;background:#fffaf1;border-radius:14px;overflow:hidden;cursor:zoom-in}#drawer .zoom-trigger img{width:100%;height:auto;max-height:420px;object-fit:contain}.photo-zoom{width:min(94vw,1000px);max-height:92dvh;background:#fffaf1;border:0;border-radius:16px;padding:18px}.photo-zoom::backdrop{background:#000b}.photo-zoom>button{float:right;border:0;background:none;font-size:24px;padding:8px}.zoom-scroll{overflow:auto;max-height:75dvh}.zoom-scroll img{width:100%;height:auto;display:block}.photo-zoom label{display:flex;gap:16px;align-items:center}.order-cart-line{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.order-cart-line>img{width:90px;height:90px;object-fit:contain;border-radius:12px;background:#fffaf1;flex-shrink:0}.order-cart-line>div{min-width:0;flex:1}.order-cart-line input{max-width:100px}.order-total{padding:18px 0;font-size:20px}.order-total p{font-size:14px}.review-list{display:grid;gap:14px}.review-list article{border:1px solid var(--line);border-radius:12px;padding:18px}.review-list small{display:block;color:var(--muted);margin-top:6px}.review-list img{max-width:180px;height:auto;border-radius:12px}.reviews{padding-top:20px;margin-top:24px;border-top:1px solid var(--line)}#custom-message,#kit-message,#group-message,#order-request-message{color:var(--ink);line-height:1.5}.track-shell{max-width:850px;margin:40px auto;padding:20px}.track-card{background:var(--card,#fffaf1);border:1px solid var(--line);border-radius:16px;padding:24px;margin:18px 0}.track-card label{display:grid;gap:6px;margin:12px 0}.track-card input,.track-card select,.track-card textarea{padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--card,#fffaf1);color:var(--ink)}.track-stages{list-style:none;padding:0;display:grid;gap:12px}.track-stages li{padding:12px;border-left:3px solid var(--line)}.track-stages .done{border-color:#aa7824}.track-stages .current{background:#aa782417;border-color:#aa7824;font-weight:700}.track-stages small{display:block;font-weight:400;color:var(--muted)}@media(max-width:700px){.shop-services{grid-template-columns:1fr;gap:9px}.shop-services button{padding:16px}.shop-services b{font-size:17px}.track-shell{margin:16px auto;padding:14px}.track-card{padding:18px}.order-cart-line>img{width:72px;height:72px}}

.engraving-uploads{border:1px solid #d8c9ad;border-radius:16px;padding:14px;margin:12px 0}.engraving-uploads legend{font-weight:700;padding:0 6px}.engraving-uploads p{font-size:.88rem}.engraving-upload{display:block;margin:12px 0;padding:12px;border:1px dashed #bda985;border-radius:12px}.engraving-upload input{display:block;width:100%;margin:8px 0}.engraving-preview{display:block;max-width:100%;width:150px;max-height:150px;object-fit:contain;margin:10px auto;border-radius:10px}.engraving-preview[hidden]{display:none}.engraving-uploads textarea{display:block;width:100%;min-height:88px;margin-top:8px}

/* Product image lightbox: touch gestures and accessible controls. */
.enhanced-zoom{position:fixed;inset:0;margin:auto;width:min(96vw,900px);height:min(90dvh,850px);max-width:none;max-height:none;padding:14px;border:1px solid #d7c5a6;border-radius:22px;background:#fffaf1;color:#49341b;box-shadow:0 20px 70px #0005;overflow:hidden}
.enhanced-zoom::backdrop{background:#1b140de0;backdrop-filter:blur(7px)}
.enhanced-zoom .zoom-close{position:absolute;right:18px;top:18px;z-index:2;width:44px;height:44px;border-radius:50%;background:#fff8ed;color:#4b351e;box-shadow:0 3px 12px #0002}
.enhanced-zoom .zoom-stage{height:calc(100% - 72px);display:grid;place-items:center;overflow:hidden;touch-action:none;cursor:grab;user-select:none}
.enhanced-zoom .zoom-stage:active{cursor:grabbing}
.enhanced-zoom .zoom-stage img{width:100%;height:100%;object-fit:contain;transform-origin:center;will-change:transform;pointer-events:none}
.enhanced-zoom .zoom-controls{height:66px;display:flex;align-items:center;justify-content:center;gap:12px}
.enhanced-zoom .zoom-controls button{min-width:44px;min-height:44px;border-radius:12px;background:#eee0c7;color:#4b351e}
.enhanced-zoom .zoom-controls input{width:min(38vw,220px);accent-color:#9d702f}
@media(max-width:800px){.enhanced-zoom{width:100vw;height:100dvh;border-radius:0;padding:12px}.enhanced-zoom .zoom-stage{height:calc(100% - 78px)}}
@media(prefers-reduced-motion:reduce){.enhanced-zoom img{transition:none!important}}

/* Unified, readable mobile panels: menu, favorites and cart. */
@media(max-width:800px){
 #veil{z-index:70;background:rgba(33,23,13,.55);backdrop-filter:blur(3px);align-items:flex-end;justify-content:center}
 #veil .drawer{box-sizing:border-box;position:relative;width:100%;max-width:100%;height:min(92dvh,880px);max-height:92dvh;padding:22px 18px max(28px,env(safe-area-inset-bottom));border-radius:24px 24px 0 0;overflow-y:auto;overscroll-behavior:contain;background:#fffaf2;color:#392b1d;box-shadow:0 -14px 45px #24190d30;animation:none!important}
 #veil .drawer::before{content:"";position:sticky;top:-22px;display:block;align-self:center;flex:0 0 auto;width:38px;height:4px;border-radius:10px;background:#d3c1a5;margin:-8px auto 14px}
 #veil .drawer>.x{position:sticky;top:0;align-self:flex-end;z-index:4;width:44px;height:44px;margin:0 0 -40px;background:#f0e4d0;color:#48351e;border:1px solid #e0ceb0;border-radius:50%;font-size:19px;box-shadow:none}
 #veil .drawer>h2,#veil .drawer .mobile-menu-content>h2{margin:4px 54px 12px 0;font-size:clamp(22px,6vw,27px);line-height:1.2;color:#392b1d}
 #veil .drawer .notice{font-size:13px;line-height:1.65;color:#76634e;margin:6px 0 20px}
 #veil .drawer .row,#veil .drawer .order-cart-line{display:flex;align-items:center;gap:12px;min-width:0;padding:15px 0;border-bottom:1px solid #e7dac5}
 #veil .drawer .row>div,#veil .drawer .order-cart-line>div{min-width:0;flex:1}
 #veil .drawer .row img,#veil .drawer .order-cart-line>img{width:76px;height:76px;flex:0 0 76px;object-fit:contain;border-radius:14px;background:#f3eadb}
 #veil .drawer .row b,#veil .drawer .order-cart-line h3{font-size:14px;line-height:1.4;overflow-wrap:anywhere}
 #veil .drawer .row p,#veil .drawer .order-cart-line p{font-size:12px;line-height:1.5;margin:5px 0}
 #veil .drawer .row .primary,#veil .drawer .order-cart-line .primary{min-height:42px;padding:10px 12px;font-size:12px;white-space:normal}
 #veil .drawer button{touch-action:manipulation}
 #veil .drawer button:focus-visible{outline:3px solid #c08b43;outline-offset:2px}
 #veil .drawer .favorite-empty{padding:24px 16px;background:#f5ead7;border:1px solid #e4d3b9;border-radius:16px;text-align:center}
 #veil .drawer .favorite-empty p{line-height:1.6}
 #veil .drawer #custom-cart-lines{display:grid;gap:6px}
 #veil .drawer .order-total{background:#f5ead7;padding:16px;border-radius:16px;margin:16px 0}
 #veil .drawer #request-order{display:grid;gap:12px}
 #veil .drawer #request-order label{font-size:13px;font-weight:650}
 #veil .drawer #request-order input,#veil .drawer #request-order textarea{font-size:16px;min-height:46px}
 #veil .drawer .menu-group-title{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8a6b41;margin:24px 0 10px}
 #veil .drawer .menu-links{display:grid;gap:8px}
 #veil .drawer .menu-links button{width:100%;min-height:54px;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:13px 16px;border:1px solid #e6d7bf;border-radius:14px;background:#fffdf8;color:#45331f;font-size:15px;font-weight:650}
 #veil .drawer .menu-links button span{font-size:24px;color:#a07b43}
 #veil .drawer .menu-links button:active{background:#f0e3ce}
 #cart-drawer{z-index:75;width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0}
 #cart-drawer .cart-heading{position:sticky;top:0;z-index:2}
 #cart-drawer .cart-content{padding-bottom:calc(36px + env(safe-area-inset-bottom))}
}
@media(min-width:801px){#veil .drawer{max-width:min(540px,100%)}#veil.detailView .drawer{max-width:min(880px,90%)}}

/* Accessible product customization and mobile cart layout */
.cart-art{display:inline-flex;vertical-align:top;flex-direction:column;gap:5px;width:calc(50% - 8px);max-width:150px;margin:8px 6px 8px 0;padding:8px;border:1px solid #e1d1b6;border-radius:12px;background:#fffdf8}
.cart-art img{display:block;width:100%;height:92px;object-fit:contain;border-radius:8px}
.cart-art figcaption{font-size:11px;overflow-wrap:anywhere;line-height:1.4;color:#725c40}
#custom-cart-lines .order-cart-line{align-items:flex-start}
#custom-cart-lines .order-cart-line>div{min-width:0}
#custom-cart-lines .order-cart-line select,#custom-cart-lines .order-cart-line input{width:100%;max-width:100%;min-height:44px}
#custom-cart-lines .order-cart-line label{display:block;margin:10px 0}
#custom-cart-lines .order-cart-line .textbtn{min-height:44px}
.engraving-upload .engraving-preview{max-height:160px}
@media(max-width:800px){#custom-cart-lines .order-cart-line>img{width:66px;height:66px;flex-basis:66px}.cart-art{width:calc(50% - 8px)}#request-order{padding:16px 0}}
@media(prefers-reduced-motion:reduce){.enhanced-zoom .zoom-stage img{will-change:auto}}

/* Mobile cart: tactile quantity controls, shipping and totals */
#custom-cart-lines .cart-qty-wrap{margin:12px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13px;font-weight:700}
#custom-cart-lines .cart-qty{display:inline-flex;align-items:center;overflow:hidden;border:1px solid #ddc9aa;border-radius:13px;background:#fffdf8}
#custom-cart-lines .cart-qty button{width:46px;height:46px;min-width:46px;border:0;background:#f1e4cf;color:#4b351d;font-size:23px;font-weight:600;cursor:pointer}
#custom-cart-lines .cart-qty button:disabled{opacity:.35;cursor:not-allowed}
#custom-cart-lines .cart-qty output{min-width:42px;text-align:center;font-size:16px;font-variant-numeric:tabular-nums}
#custom-cart-lines .cart-qty button:focus-visible{outline:3px solid #a67a39;outline-offset:-3px}
#request-order .cart-shipping{border:1px solid #e4d2b6;border-radius:16px;padding:16px;margin:20px 0;background:#fffaf1}
#request-order .cart-shipping legend{font-size:16px;font-weight:800;padding:0 8px;color:#5a3f22}
#request-order .cart-shipping label{display:block;margin:12px 0}
#request-order .cart-shipping input{display:block;width:100%;box-sizing:border-box}
#request-order .cart-section-heading{margin:22px 0 12px;font-size:17px}
.order-total .cart-summary-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0}
.order-total .cart-summary-line b{white-space:nowrap}
@media(max-width:800px){#custom-cart-lines .order-cart-line{padding:18px 0}#request-order .cart-shipping{padding:13px}}

/* Product personalization: clean mobile upload cards and unobstructed sheet */
#veil .drawer .custom-fields{min-width:0;width:100%}
#veil .drawer .custom-fields>label{display:block;min-width:0;width:100%;margin:0 0 20px}
#veil .drawer .custom-fields select{display:block;box-sizing:border-box;width:100%;max-width:100%;min-height:52px;margin-top:9px;padding:12px 40px 12px 14px;border:1px solid #d8c8ae;border-radius:14px;background:#fffdf9;color:#4b351e;font-size:15px;line-height:1.4}
#veil .drawer .engraving-uploads{box-sizing:border-box;min-width:0;width:100%;margin:24px 0;padding:20px 16px;border:1px solid #e4d6c1;border-radius:20px;background:#fffaf2}
#veil .drawer .engraving-uploads legend{padding:0 8px;font-size:16px;font-weight:750;line-height:1.4;color:#4b351e}
#veil .drawer .engraving-uploads>p{font-size:13px;line-height:1.65;color:#76644d;margin:4px 0 18px}
#veil .drawer label.engraving-upload{position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;width:100%;margin:0 0 14px;padding:16px;border:1px solid #e0ceb1;border-radius:16px;background:#fffdf9;cursor:pointer;overflow:hidden}
#veil .drawer .engraving-side{font-size:14px;font-weight:750;color:#4a321d}
#veil .drawer .engraving-drop{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:62px;padding:12px;border:1px dashed #bda47e;border-radius:12px;background:#f8f0e3}
#veil .drawer .engraving-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:#ead8b9;color:#6d4a20;font-size:24px;font-weight:800}
#veil .drawer .engraving-cta{font-size:14px;font-weight:750;color:#69491f}
#veil .drawer .engraving-hint{flex-basis:100%;font-size:12px;color:#826d53}
#veil .drawer .engraving-upload input[type=file]{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;clip-path:inset(50%)!important}
#veil .drawer .engraving-upload:focus-within{outline:3px solid #b58948;outline-offset:2px}
#veil .drawer .engraving-upload small{font-size:11px;line-height:1.5;color:#7c6952;overflow-wrap:anywhere}
#veil .drawer .engraving-preview:not([hidden]){display:block;width:100%;max-height:190px;object-fit:contain;padding:8px;border:1px solid #e2d4bf;border-radius:12px;background:#fff}
#veil .drawer .engraving-uploads>label:not(.engraving-upload){display:block;width:100%;font-size:13px;font-weight:700;line-height:1.5}
#veil .drawer .engraving-uploads textarea{box-sizing:border-box;display:block;width:100%;min-height:104px;margin-top:9px;padding:13px;border:1px solid #d8c8ae;border-radius:12px;background:#fffdf9;color:#4b351e;font-size:16px;line-height:1.5;resize:vertical}
@media(max-width:800px){
 #veil .drawer{padding:18px 16px calc(28px + env(safe-area-inset-bottom))}
 #veil .drawer>.x{position:sticky;top:0;float:right;display:grid;place-items:center;margin:0 0 -44px 0;z-index:10;width:44px;height:44px}
 #veil .drawer .detailLayout{min-width:0;width:100%;gap:22px}
 #veil .drawer .detailLayout>div{min-width:0}
 #veil .drawer .engraving-uploads{padding:17px 12px;margin:20px 0}
 #veil .drawer label.engraving-upload{padding:14px 12px}
 #veil .drawer .engraving-drop{gap:10px}
}

/* Compact mobile product sheet, accessible controls and round engraving previews */
#veil .drawer .sheet-handle{position:sticky;top:0;z-index:12;width:48px;height:20px;margin:-16px auto 8px;touch-action:pan-y;cursor:grab}
#veil .drawer .sheet-handle::after{content:"";display:block;width:42px;height:5px;margin:7px auto;background:#c7b294;border-radius:9px}
#veil .drawer .product-sheet-heading{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -16px 14px;padding:14px 70px 14px 18px;background:#fffaf2;border-bottom:1px solid #e7d7be;color:#49341d;font-size:14px;font-weight:750;box-shadow:0 3px 10px #38220d0a}
#veil .drawer .product-sheet-heading strong{white-space:nowrap;font-size:14px}
#veil .drawer .engraving-circle{display:grid;place-items:center;width:min(160px,65%);aspect-ratio:1;margin:4px auto;border:3px solid #b58b4e;border-radius:50%;overflow:hidden;background:#f3e7d3;box-shadow:inset 0 0 0 3px #fff9ed}
#veil .drawer .engraving-circle img.engraving-preview:not([hidden]){width:100%;height:100%;max-height:none;padding:0;border:0;border-radius:50%;object-fit:contain;background:#fff}
#veil .drawer .engraving-remove{display:block;align-self:center;min-height:44px;padding:8px 14px;border:1px solid #d8c2a3;border-radius:10px;background:#fff8ed;color:#704f2a;font-size:13px;font-weight:700}
#veil .drawer .engraving-remove[hidden]{display:none}
#veil .drawer .product-steps{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 10px}
#veil .drawer .product-steps span{padding:7px 9px;border-radius:20px;background:#f0e3cd;color:#6b4b27;font-size:11px;font-weight:750}
#veil .drawer #custom-product>button[type=submit]{position:sticky;bottom:0;z-index:7;min-height:52px;margin:16px 0 0;box-shadow:0 -8px 18px #fffaf2}
#veil .drawer .detailLayout h2{font-size:clamp(22px,5.4vw,30px);line-height:1.2}
@media(max-width:800px){#veil .drawer>.x{position:sticky;top:0;z-index:15}#veil .drawer .product-sheet-heading{top:0}#veil .drawer .detailLayout{padding-bottom:20px}}
@media(prefers-reduced-motion:no-preference){#veil:not([hidden]) .drawer{animation:sheet-enter .18s ease-out}@keyframes sheet-enter{from{opacity:.9;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}

#veil .drawer .purchase-actions{display:grid;gap:9px;position:sticky;bottom:0;z-index:8;padding:10px 0 max(12px,env(safe-area-inset-bottom));background:#fffaf2;border-top:1px solid #e7d7be}#veil .drawer .purchase-actions .primary{position:static!important;margin:0!important;box-shadow:none!important}#veil .drawer .buy-now{min-height:48px;width:100%;border:1px solid #9a723f;border-radius:12px;background:transparent;color:#614421;font:inherit;font-weight:700;cursor:pointer}

/* A single drag indicator for every sheet, and a real closing transition */
#veil .drawer::before{content:none!important;display:none!important}
#veil .drawer .sheet-handle{flex:0 0 28px!important;width:70px!important;height:28px!important;min-height:28px;margin:-12px auto 0!important;position:sticky;top:0;z-index:20;touch-action:pan-y}
#veil .drawer .sheet-handle::after{width:44px;height:5px;margin:10px auto;background:#c7b294;border-radius:99px}
#veil .drawer.sheet-closing{animation:sheet-dismiss .2s ease-in forwards!important;pointer-events:none}
@keyframes sheet-dismiss{from{transform:translateY(0);opacity:1}to{transform:translateY(105%);opacity:.8}}
@media(prefers-reduced-motion:reduce){#veil .drawer.sheet-closing{animation:none!important}}

/* Mobile-first visual refinement: warm neutrals and accessible product sheets */
#veil .drawer{--sheet-ink:#39291b;--sheet-muted:#786653;--sheet-line:#e8dac5;color:var(--sheet-ink);background:#fdf9f1;box-sizing:border-box}
#veil .drawer h2,#veil .drawer .sheet-title{font-size:clamp(23px,5.8vw,30px);line-height:1.18;letter-spacing:-.025em;font-weight:750;margin:12px 0 16px}
#veil .drawer h3{font-size:clamp(17px,4.4vw,21px);line-height:1.3;letter-spacing:-.012em}
#veil .drawer p,#veil .drawer label{line-height:1.55}
#veil .drawer .notice{color:var(--sheet-muted);font-size:13px}
#veil .drawer>.x{background:#f2e6d4;border:1px solid #e1d0b7;border-radius:50%;color:#49331e;box-shadow:none}
#veil .drawer>.x:active{transform:scale(.96)}
#veil .drawer .favorite-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;min-height:min(58dvh,440px);padding:24px 18px;max-width:440px;margin:0 auto}
#veil .drawer .favorite-empty-icon{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:#f4e9d9;color:#956f3c;border:1px solid #e6d3b8;font-size:56px;line-height:1}
#veil .drawer .favorite-empty h3{margin:8px 0 0;font-size:22px}
#veil .drawer .favorite-empty p{max-width:300px;margin:0;color:#77634f;font-size:14px}
#veil .drawer .favorite-empty .primary{margin-top:12px;min-height:48px;min-width:175px}
#veil .drawer .detailLayout{gap:20px}
#veil .drawer .detailGallery,#veil .drawer .detailImg{border-radius:16px;overflow:hidden}
#veil .drawer .detailImg{object-fit:contain;background:#f6eee2}
#veil .drawer .price{font-size:clamp(23px,6vw,29px);font-weight:800;letter-spacing:-.02em;color:#46301b}
#veil .drawer .engraving-uploads{border-radius:16px;border-color:#e3d2b9;background:#fffaf2}
#veil .drawer .engraving-upload{border-radius:13px;background:#fffdf9}
#veil .drawer input:not([type=file]):not([type=checkbox]),#veil .drawer select,#veil .drawer textarea{max-width:100%;min-height:46px;box-sizing:border-box;border-radius:11px;font-size:16px}
#veil .drawer textarea{min-height:104px}
#veil .drawer :is(input,select,textarea,button):focus-visible{outline:2px solid #ae8245;outline-offset:2px}
#veil .drawer .row{min-width:0;padding:14px 0;border-color:#e8dac5}
#veil .drawer .row img{border-radius:12px;background:#f5ecde;object-fit:contain}
#veil .drawer .row>div{min-width:0}
#veil .drawer .primary{transition:filter .15s ease,transform .15s ease}
#veil .drawer .primary:active{filter:brightness(.94);transform:scale(.99)}
@media(max-width:380px){#veil .drawer{padding-left:14px!important;padding-right:14px!important}#veil .drawer .product-sheet-heading{padding-right:56px;font-size:12px}#veil .drawer .product-steps span{font-size:10px;padding:6px 7px}#veil .drawer .favorite-empty{min-height:52dvh}}
@media(max-height:540px) and (orientation:landscape){#veil .drawer .favorite-empty{min-height:260px}#veil .drawer .detailImg{height:180px}}
@media(prefers-reduced-motion:reduce){#veil .drawer .primary,#veil .drawer>.x{transition:none}}

/* Refinamento final: legibilidade, ações e espaço útil em telas pequenas */
#veil .drawer{scrollbar-gutter:stable;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#veil .drawer .sheet-handle{flex-shrink:0}
#veil .drawer>.x{min-width:44px;min-height:44px;touch-action:manipulation}
#veil .drawer .product-sheet-heading{min-height:48px;box-sizing:border-box;line-height:1.35}
#veil .drawer .product-sheet-heading span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#veil .drawer .favorite-empty{box-sizing:border-box}
#veil .drawer .row{gap:12px;align-items:center}
#veil .drawer .row .favorite-photo{width:68px;height:68px;flex-shrink:0;object-fit:contain}
#veil .drawer .row .remove{font-size:12px;text-underline-offset:3px}
#veil .drawer .row .primary{min-width:92px;min-height:44px;padding:9px 12px;font-size:12px}
#veil .drawer .engraving-drop{min-height:76px;justify-content:center}
#veil .drawer .engraving-circle{max-width:150px}
#veil .drawer .engraving-side{letter-spacing:.015em}
#veil .drawer .product-steps{margin-block:14px}
#veil .drawer #custom-product{min-width:0}
#veil .drawer .purchase-actions{border-radius:0;padding-bottom:max(12px,env(safe-area-inset-bottom))}
@media(max-width:440px){#veil .drawer .row{display:grid;grid-template-columns:68px minmax(0,1fr);gap:10px}#veil .drawer .row .primary{grid-column:2;justify-self:start;width:auto}#veil .drawer .row .favorite-photo{grid-row:span 2}#veil .drawer .favorite-empty{padding-inline:12px}}
@media(max-height:560px){#veil .drawer{max-height:calc(100dvh - 12px);height:calc(100dvh - 12px)}#veil .drawer .purchase-actions{position:static}}

/* Single, stable product toolbar: handle, title, price and close never overlap */
#veil .drawer>.sheet-top{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:minmax(0,1fr) auto 48px;align-items:center;column-gap:10px;min-height:83px;flex-shrink:0;margin:-18px -16px 16px;padding:24px 16px 8px;background:#fdf9f1;border-bottom:1px solid #e8dac5;box-shadow:0 4px 14px #38220d08;box-sizing:border-box}
#veil .drawer>.sheet-top .sheet-handle{position:absolute!important;top:7px!important;left:50%;transform:translateX(-50%);width:70px!important;height:18px!important;margin:0!important;min-height:18px!important;z-index:2}
#veil .drawer>.sheet-top .sheet-handle::after{margin:5px auto!important}
#veil .drawer>.sheet-top .product-sheet-heading{display:contents}
#veil .drawer>.sheet-top .product-sheet-heading span{grid-column:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(14px,3.6vw,17px);font-weight:750}
#veil .drawer>.sheet-top .product-sheet-heading strong{grid-column:2;white-space:nowrap;font-size:clamp(13px,3.5vw,16px);font-weight:800}
#veil .drawer>.sheet-top>.x{grid-column:3;position:static!important;float:none!important;margin:0!important;justify-self:end;align-self:center;width:46px;height:46px;min-width:46px;min-height:46px;z-index:1}
#veil .drawer>.sheet-top:not(:has(.product-sheet-heading)){grid-template-columns:1fr 48px}
#veil .drawer>.sheet-top:not(:has(.product-sheet-heading))>.x{grid-column:2}
#veil .drawer .detail-quantity{margin:18px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
#veil .drawer .detail-quantity>label{font-weight:750;font-size:15px}
#veil .drawer .detail-quantity-control{display:inline-grid;grid-template-columns:46px 60px 46px;align-items:center;overflow:hidden;border:1px solid #d7c4a8;border-radius:13px;background:#fffdf9}
#veil .drawer .detail-quantity-control button{height:46px;border:0;background:#efe2cc;color:#49331e;font-size:25px;cursor:pointer}
#veil .drawer .detail-quantity-control button:active{background:#e0c8a6}
#veil .drawer .detail-quantity-control input[type=number]{width:60px;min-width:0;min-height:46px;height:46px;margin:0;padding:0 3px;border:0;border-radius:0;text-align:center;font-size:16px;font-weight:750;appearance:textfield;-moz-appearance:textfield}
#veil .drawer .detail-quantity-control input::-webkit-inner-spin-button,#veil .drawer .detail-quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
@media(max-width:380px){#veil .drawer>.sheet-top{column-gap:6px;grid-template-columns:minmax(0,1fr) auto 44px;padding-inline:12px}#veil .drawer>.sheet-top>.x{width:44px;height:44px;min-width:44px}}

/* Arte de gravação: duas prévias estáveis, sem distorção nem sobreposição */
#veil .drawer .engraving-uploads{min-width:0;box-sizing:border-box}
#veil .drawer .engraving-upload{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden}
#veil .drawer .engraving-upload .engraving-circle{display:grid;place-items:center;position:relative;flex:none;width:min(170px,65vw);height:auto;max-width:100%;aspect-ratio:1/1;margin:8px auto;border:3px solid #b58b4e;border-radius:50%;background:#f4e7d4;overflow:hidden;box-sizing:border-box}
#veil .drawer .engraving-upload .engraving-circle:has(img[hidden])::after{content:"Prévia da arte";font-size:12px;color:#8a7458;text-align:center}
#veil .drawer .engraving-upload .engraving-circle img.engraving-preview:not([hidden]){display:block!important;position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;min-height:0!important;margin:0!important;padding:10px!important;border:0!important;border-radius:50%!important;object-fit:contain!important;box-sizing:border-box;background:#fffdf8}
#veil .drawer .engraving-upload .engraving-preview[hidden]{display:none!important}
#veil .drawer .engraving-upload small{display:block;overflow-wrap:anywhere;font-size:12px;color:#786653}
#veil .drawer .engraving-upload .engraving-remove{align-self:center;min-height:42px}
@media(min-width:640px){#veil .drawer .engraving-uploads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}#veil .drawer .engraving-uploads legend{grid-column:1/-1}#veil .drawer .engraving-uploads>label:not(.engraving-upload){grid-column:1/-1}}

/* Fix: toolbar must never overlap the product photo or clip the close button */
#veil .drawer{position:relative;isolation:isolate;overflow-x:hidden}
#veil .drawer>.sheet-top{position:sticky!important;top:0!important;left:0;right:0;z-index:100!important;display:grid!important;grid-template-columns:minmax(0,1fr) max-content 46px!important;align-items:center!important;gap:8px!important;width:100%!important;min-width:0;min-height:86px!important;margin:0 0 16px!important;padding:25px 0 10px!important;background:#fdf9f1!important;border-bottom:1px solid #e8dac5;box-shadow:0 6px 12px #39291b0d;transform:none!important;overflow:visible!important}
#veil .drawer>.sheet-top::before{content:"";position:absolute;inset:0 -18px;background:#fdf9f1;z-index:-1;pointer-events:none}
#veil .drawer>.sheet-top .sheet-handle{position:absolute!important;top:3px!important;left:50%!important;transform:translateX(-50%)!important;height:18px!important}
#veil .drawer>.sheet-top .product-sheet-heading{display:contents!important}
#veil .drawer>.sheet-top .product-sheet-heading span{grid-column:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:clamp(13px,3.5vw,16px);line-height:1.3}
#veil .drawer>.sheet-top .product-sheet-heading strong{grid-column:2;white-space:nowrap;font-size:clamp(13px,3.5vw,16px)}
#veil .drawer>.sheet-top>.x{grid-column:3!important;display:grid!important;place-items:center!important;position:relative!important;inset:auto!important;float:none!important;margin:0!important;padding:0!important;width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;opacity:1!important;visibility:visible!important;transform:none!important;background:#f0e3d1!important;border:1px solid #ddc9aa!important;border-radius:50%!important;color:#49331e!important;font-size:24px!important;line-height:1!important}
#veil .drawer>.sheet-top:not(:has(.product-sheet-heading)){grid-template-columns:minmax(0,1fr) 46px!important}
#veil .drawer>.sheet-top:not(:has(.product-sheet-heading))>.x{grid-column:2!important}
#veil .drawer>.detailLayout{position:relative;z-index:0;min-width:0}
#veil .drawer #custom-product>button[type=submit]{position:static!important;margin:18px 0 0!important;box-shadow:none!important}
@media(max-width:380px){#veil .drawer>.sheet-top{grid-template-columns:minmax(0,1fr) max-content 44px!important;gap:5px!important}#veil .drawer>.sheet-top>.x{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}}

/* Video review: prevent scrolled content from bleeding above the toolbar */
#veil .drawer{overflow-y:auto!important;overflow-x:hidden!important;scroll-padding-top:92px}
#veil .drawer>.sheet-top{z-index:200!important;isolation:isolate;background:#fdf9f1!important}
#veil .drawer>.sheet-top::before{inset:-2px -20px -1px!important;background:#fdf9f1!important;z-index:-1!important}
#veil .drawer .engraving-upload{padding:12px!important;gap:7px!important}
#veil .drawer .engraving-upload .engraving-drop{min-height:60px!important;padding:10px!important}
#veil .drawer .engraving-upload .engraving-circle{width:116px!important;max-width:45vw!important;margin:3px auto 5px!important}
#veil .drawer .engraving-upload .engraving-side{font-size:12px}
#veil .drawer .engraving-upload small{font-size:11px}
#veil .drawer .engraving-upload .engraving-circle:has(img[hidden])::after{font-size:11px}
#veil .drawer .engraving-uploads{gap:10px!important}
#veil .drawer .engraving-upload .engraving-icon{width:30px;height:30px}
@media(max-width:390px){#veil .drawer .engraving-upload .engraving-circle{width:102px!important}}

/* Fix from mobile screenshots: hide empty preview label once art loads */
#veil .drawer .engraving-upload .engraving-circle::after{content:none!important;display:none!important}
#veil .drawer .engraving-upload .engraving-circle:not(.has-art){background:#f6eee1}
#veil .drawer .engraving-upload .engraving-circle:not(.has-art)::before{content:"Prévia da arte";font-size:11px;color:#806b52;text-align:center;padding:8px}
#veil .drawer .engraving-upload .engraving-circle.has-art::before{content:none!important;display:none!important}
#veil .drawer .engraving-upload .engraving-circle img.engraving-preview:not([hidden]){z-index:1}
#veil .drawer{padding-top:0!important}
#veil .drawer>.sheet-top{margin-top:0!important;flex-shrink:0!important}
#veil .drawer>.sheet-top::before{inset:0 -24px -1px!important;background:#fdf9f1!important}
#veil .drawer>.detailLayout{flex:1 0 auto}

/* Structural fix: fixed toolbar and independent scroll region; no image can pass above header */
#veil .drawer{display:flex!important;flex-direction:column!important;overflow:hidden!important;padding-top:0!important;padding-bottom:0!important;min-height:0}
#veil .drawer>.sheet-top{position:relative!important;top:auto!important;flex:0 0 auto!important;min-height:94px!important;width:100%!important;margin:0!important;padding:29px 0 12px!important;z-index:5!important;background:#fdf9f1!important}
#veil .drawer>.sheet-top::before{inset:0 -24px -1px!important}
#veil .drawer>.sheet-scroll-content{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px 0 max(22px,env(safe-area-inset-bottom))}
#veil .drawer>.sheet-scroll-content>.detailLayout{min-width:0}
#veil .drawer>.sheet-scroll-content>.sheet-top{display:none}
@media(max-height:560px){#veil .drawer>.sheet-scroll-content{padding-bottom:12px}}

/* Engraving upload: stable image preview and separate remove action */
#veil .drawer .engraving-circle{position:relative;overflow:hidden!important}
#veil .drawer .engraving-circle img.engraving-preview[hidden]{display:none!important;visibility:hidden!important}
#veil .drawer .engraving-circle img.engraving-preview:not([hidden]){display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;font-size:0!important;color:transparent!important}
#veil .drawer .engraving-circle.has-art::before,#veil .drawer .engraving-circle.has-art::after{display:none!important;content:none!important}
#veil .drawer .engraving-uploads>.engraving-remove{justify-self:center;align-self:center;margin:-4px auto 12px;min-height:44px}
#veil .drawer .engraving-uploads>.engraving-remove[hidden]{display:none!important}

/* Restore native file picker interaction on touch devices */
#veil .drawer .engraving-upload{position:relative!important;cursor:pointer}
#veil .drawer .engraving-upload input[type=file]{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;opacity:0!important;clip-path:none!important;clip:auto!important;overflow:visible!important;z-index:5!important;cursor:pointer!important;pointer-events:auto!important}
#veil .drawer .engraving-upload .engraving-drop{pointer-events:none}
#veil .drawer .engraving-upload .engraving-circle{pointer-events:none}
#veil .drawer .engraving-uploads>.engraving-remove{position:relative;z-index:6;cursor:pointer}

/* Direct purchase is visually distinct from adding to the cart */
#veil .drawer .detail-purchase-actions{display:grid;gap:10px;margin-top:16px}
#veil .drawer .detail-purchase-actions .buy-now-direct{display:block;width:100%;min-height:52px;border:1px solid #9d753b;border-radius:14px;background:#fffaf1;color:#553b24;font:inherit;font-weight:700;cursor:pointer}
#veil .drawer .detail-purchase-actions .buy-now-direct:focus-visible{outline:3px solid #bd934c;outline-offset:2px}
#veil .drawer .detail-purchase-actions button:disabled{opacity:.55;cursor:not-allowed}

/* Mobile purchase and customization refinements */
#veil .drawer .detail-purchase-actions{position:sticky;bottom:0;z-index:7;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;padding:12px 0 max(12px,env(safe-area-inset-bottom));margin-bottom:0;background:linear-gradient(to bottom,rgba(253,249,241,.96),#fdf9f1 24%);border-top:1px solid #e5d7c0}
#veil .drawer .detail-purchase-actions button{min-width:0;min-height:50px!important;margin:0!important;padding:10px 8px!important;font-size:13px!important;line-height:1.25!important;white-space:normal}
#veil .drawer .detail-purchase-actions .buy-now-direct{background:#9b6d2c;color:#fffaf1;border-color:#9b6d2c}
#veil .drawer .detail-purchase-actions .buy-now-direct:hover{background:#805521}
#veil .drawer .engraving-upload:focus-within{outline:2px solid #a67d41;outline-offset:2px}
#veil .drawer .photoThumbnails{scroll-snap-type:x proximity}
#veil .drawer .photoThumbnails button{scroll-snap-align:start;min-width:56px}
#veil .drawer .detailGallery .detailImg{object-fit:contain}
@media(max-width:360px){#veil .drawer .detail-purchase-actions button{font-size:11px!important}}
