.add-overlay{z-index:50;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.add-overlay.theme-light-modal{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#18382f29}.add-dialog{background:linear-gradient(#fffffffa,#f1f7f3f5);border:1px solid #12423224;border-radius:18px;width:100%;max-width:500px;padding:22px;animation:.2s ease-out popIn;position:relative;box-shadow:0 20px 50px #14342b1f}.add-dialog-header{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.status-chip{color:#0f7057;letter-spacing:.01em;background:#0b9b731f;border:1px solid #0b9b733d;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.status-dot{background:#12ad81;border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 4px #0b9b731f}.add-dialog-body{grid-template-columns:88px 1fr;align-items:center;gap:14px;margin-bottom:12px;display:grid}.add-body-copy{color:#60736b;font-size:14px}.add-body-copy p{margin:0}.add-thumb{background:#f8fbf9fa;border:1px solid #12423224;border-radius:14px;place-items:center;width:88px;height:88px;display:grid;overflow:hidden}.add-thumb img{object-fit:cover;width:100%;height:100%}.dialog-actions{flex-wrap:wrap;gap:10px;margin-top:8px;display:flex}.icon-button.dialog-close{color:#18382f;cursor:pointer;background:#ffffffb3;border:1px solid #12423224;font-size:18px;line-height:1;position:absolute;top:10px;right:12px}@keyframes popIn{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-card.review-modal{max-height:calc(100vh - 40px);overflow-y:auto}.product-main{gap:18px;display:grid}.product-split{grid-template-columns:minmax(340px,1.05fr) 1fr;align-items:start;gap:32px;display:grid}.product-gallery{align-self:start;gap:14px;display:grid;position:sticky;top:120px}.product-media{background:#f6f2ea08;justify-content:center;align-items:center;height:420px;max-height:420px;padding:24px;display:flex;position:relative;overflow:hidden}.product-media-image,.product-media video{object-fit:contain;border-radius:22px;display:block}.product-media video{background:#0a0e14eb}.product-media-nav{z-index:2;width:42px;height:42px;color:var(--color-ivory);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0e1116b8;border:1px solid #f6f2ea38;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.product-media-nav:hover,.product-thumb-rail-nav:hover{background:#0e1116d1}.product-media-nav-prev{left:14px}.product-media-nav-next{right:14px}.product-media-counter{z-index:2;color:var(--color-ivory);letter-spacing:.06em;background:#0e1116b8;border:1px solid #f6f2ea2e;border-radius:999px;padding:6px 10px;font-size:.8rem;font-weight:700;position:absolute;bottom:14px;right:14px}.product-thumb-strip{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.product-thumb-rail{scroll-snap-type:x proximity;scrollbar-width:none;grid-auto-columns:minmax(92px,112px);grid-auto-flow:column;gap:10px;padding-bottom:2px;display:grid;overflow-x:auto}.product-thumb-rail::-webkit-scrollbar{display:none}.product-thumb-rail-nav{width:38px;height:38px;color:var(--color-ivory);cursor:pointer;background:#f6f2ea14;border:1px solid #f6f2ea2e;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.product-thumb{scroll-snap-align:start;cursor:pointer;background:#f6f2ea0d;border:1px solid #f6f2ea24;border-radius:16px;height:92px;padding:0;position:relative;overflow:hidden;box-shadow:0 10px 24px #00000029}.product-thumb:hover{transform:translateY(-1px)}.product-thumb.is-active{border-color:var(--color-accent);box-shadow:0 0 0 2px #2d6cdf33}.product-thumb-image,.product-thumb video{object-fit:cover;width:100%;height:92px;display:block}.product-thumb-type{color:var(--color-ivory);letter-spacing:.04em;background:#0e1116c2;border:1px solid #f6f2ea29;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.72rem;font-weight:700;display:inline-flex;position:absolute;bottom:10px;right:10px}.product-media-nav:focus-visible,.product-thumb-rail-nav:focus-visible,.product-thumb:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.product-main .details-card,.product-main .customization-card{border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:#f6f2ea0a;border:1px solid #f6f2ea29;padding:18px}.product-main .customization-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}:is(.product-main,.batch-customization-section) .customization-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px;display:grid}:is(.product-main,.batch-customization-section) .custom-field{gap:6px;font-weight:600;display:grid}:is(.product-main,.batch-customization-section) .custom-field.full{grid-column:1/-1}:is(.product-main,.batch-customization-section) .custom-field-input-row{align-items:stretch;gap:10px;display:flex}:is(.product-main,.batch-customization-section) .custom-field-input-row input{flex:auto;min-width:0}:is(.product-main,.batch-customization-section) .custom-field-inline-action{align-items:stretch;display:flex}:is(.product-main,.batch-customization-section) .custom-field-inline-action .button{white-space:nowrap}:is(.product-main,.batch-customization-section) .custom-field select,:is(.product-main,.batch-customization-section) .custom-field textarea{width:100%;color:var(--color-ivory);background:#f6f2ea0f;border:1px solid #f6f2ea33;border-radius:12px;padding:10px 12px}:is(.product-main,.batch-customization-section) .custom-field textarea{resize:vertical}.product-main .purchase-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.product-main .purchase-actions{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-left:auto;display:flex}.product-main .product-qty-group{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.product-main .batch-trigger{min-width:max-content}:is(.product-main,.batch-customization-section) .customization-grid.nested{margin-top:10px}.batch-modal{max-width:720px;max-height:calc(100vh - 40px);overflow-y:auto}.batch-helper-note{margin-top:-4px}.batch-field textarea{min-height:180px}.batch-preview-list{gap:10px;max-height:280px;padding-right:4px;display:grid;overflow-y:auto}.batch-preview-item{background:#f8fbf9f0;border:1px solid #12423224;border-radius:14px;padding:12px 14px}.batch-preview-item.has-error{background:#fff4f4f5;border-color:#c13f3f3d}.batch-preview-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.batch-preview-item p{word-break:break-word;margin:0 0 6px}.batch-preview-meta{color:#60736b;font-size:12px}.batch-customization-section{gap:14px;display:grid}.batch-customization-header h4{margin:0 0 4px}.batch-customization-header p{margin:0}.review-upload-list{flex-direction:column;gap:10px;margin-top:10px;display:flex}.review-upload-item{border:1px solid #e3e6eb;border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.review-upload-thumb{background:#f6f7f9;border-radius:8px;place-items:center;width:56px;height:56px;display:grid;overflow:hidden}.review-upload-thumb img{object-fit:contain;max-width:100%;max-height:100%}.review-upload-meta{flex-direction:column;flex:1;gap:6px;display:flex}.review-upload-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.review-upload-name{word-break:break-word;font-weight:600}.review-upload-status small{display:block}.review-card-body{flex-direction:column;gap:12px;display:flex}.review-text{flex:1}.review-media{flex-direction:column;flex:none;align-items:center;display:inline-flex}.review-media-main{border-radius:12px;justify-content:center;align-items:center;width:auto;max-width:320px;padding:10px;display:inline-flex;position:relative;overflow:hidden}.review-media-track{align-items:center;gap:5px;display:inline-flex}.review-media-item{justify-content:center;align-items:center;width:70px;height:70px;display:none}.review-media-item.visible{display:inline-flex}.review-media-item img{object-fit:contain;border-radius:8px;max-width:110px;max-height:60px;display:block}.carousel-nav{cursor:pointer;color:#f6f2eae6;opacity:0;background:#0e1116bf;border:none;border-radius:50%;justify-content:center;align-items:center;width:auto;height:auto;padding:4px;font-size:18px;line-height:1;transition:opacity .2s,color .2s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel-nav.left{left:10px}.carousel-nav.right{right:10px}.review-media-main:hover .carousel-nav.left,.review-media-main:hover .carousel-nav.right{opacity:1}.carousel-nav.left:disabled,.carousel-nav.right:disabled{opacity:.25;cursor:default}.review-media-main:hover .carousel-nav.left:disabled,.review-media-main:hover .carousel-nav.right:disabled{opacity:.25}.carousel-nav.left:not(:disabled):hover,.carousel-nav.right:not(:disabled):hover{color:#f6f2ea}.owner-reply{background:#00000008;border-left:3px solid #2d6cdf;border-radius:8px;margin-top:12px;padding:10px 12px}.owner-reply-label{margin:0 0 6px;font-weight:700}.owner-reply-body{margin:0}.product-reviews-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:10px;display:flex}.product-reviews-pager{align-items:center;gap:8px;display:inline-flex}.product-reviews-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}@media (min-width:900px){.review-card-body{flex-direction:row;align-items:flex-start}.review-media{margin-left:16px}.review-media-main img{max-height:50px}}@media (max-width:640px){.custom-field-input-row{flex-direction:column}.custom-field-inline-action .button,.purchase-actions{width:100%}}@media (max-width:980px){.product-split{grid-template-columns:1fr}.product-gallery{position:relative;top:auto}.product-media{height:320px;min-height:320px;max-height:320px;padding:18px}.product-thumb-strip{grid-template-columns:1fr}.product-thumb-rail{grid-auto-columns:minmax(88px,30vw);padding-bottom:6px}.product-thumb-rail-nav{display:none}:is(.product-main,.batch-customization-section) .customization-grid{grid-template-columns:1fr}}
