/* TSEZ Elementor Product Builder */
.tsez-product-builder{--tsez-border:#e5e5e5;--tsez-muted:#707070;font-family:inherit;box-sizing:border-box}
.tsez-product-builder *{box-sizing:border-box}
.tsez-product-shell{display:flex;align-items:flex-start;gap:36px}
.tsez-gallery-col{flex:0 0 53%;min-width:0}
.tsez-info-col{flex:1;min-width:0}
.tsez-gallery-layout{display:flex;gap:16px;align-items:stretch}
.tsez-thumbs-carousel{width:76px;height:760px;display:block;flex:0 0 auto}
.tsez-thumbs{width:100%;height:100%;min-height:0;display:flex;flex-direction:column;gap:10px;overflow:auto;scrollbar-width:none;scroll-behavior:smooth;overscroll-behavior:contain}
.tsez-thumbs::-webkit-scrollbar{display:none}
.tsez-thumb{padding:0;border:1px solid transparent;background:#fff;border-radius:8px;overflow:hidden;cursor:pointer;aspect-ratio:1/1;flex:0 0 auto}
.tsez-thumb.is-active{border-color:#111}
.tsez-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.tsez-thumb-nav{--tsez-thumb-nav-size:30px;position:relative;width:100%;height:var(--tsez-thumb-nav-size);border:1px solid #e4e4e4;border-radius:7px;background:rgba(255,255,255,.96);cursor:pointer;display:none;align-items:center;justify-content:center;transition:opacity .2s ease,border-color .2s ease,background .2s ease}
.tsez-thumb-nav:hover{border-color:#111;background:#fff}
.tsez-thumb-nav span,.tsez-gallery-nav span{display:block;width:9px;height:9px;border-top:2px solid currentColor;border-left:2px solid currentColor}
.tsez-thumb-prev span{transform:rotate(45deg) translate(2px,2px)}
.tsez-thumb-next span{transform:rotate(225deg) translate(2px,2px)}
.tsez-main-image-wrap{position:relative;flex:1;height:760px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f4f0eb;border-radius:10px}
.tsez-main-image{width:100%;height:100%;object-fit:contain;display:block}
.tsez-gallery-nav{position:absolute;top:50%;z-index:3;width:46px;height:46px;margin-top:0;transform:translateY(-50%);border:0;border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 5px 20px rgba(0,0,0,.12);color:#111;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease}
.tsez-main-image-wrap:hover .tsez-gallery-nav,.tsez-main-image-wrap:focus-within .tsez-gallery-nav{opacity:1;visibility:visible}
.tsez-gallery-nav:hover{transform:translateY(-50%) scale(1.06)}
.tsez-gallery-nav:active{transform:translateY(-50%) scale(.96)}
.tsez-thumb-nav:active{transform:scale(.96)}
.tsez-gallery-prev{left:18px}
.tsez-gallery-next{right:18px}
.tsez-gallery-prev span{transform:rotate(-45deg) translate(2px,2px)}
.tsez-gallery-next span{transform:rotate(135deg) translate(2px,2px)}
.tsez-zoom-button{position:absolute;top:16px;right:16px;z-index:4;width:42px;height:42px;border-radius:50%;border:0;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.08);cursor:pointer;font-size:22px}
.tsez-badges{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.tsez-badge{display:inline-flex;align-items:center;min-height:32px;padding:0 14px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.03em}
.tsez-badge-sale{background:#070707;color:#fff}
.tsez-badge-new{background:#f5efe5;color:#b78335}
.tsez-product-title{margin:0 0 15px;font-size:38px;line-height:1.12;text-transform:uppercase}
.tsez-short-description{color:#555;font-size:15px;line-height:1.65;margin-bottom:18px}
.tsez-short-description p{margin:0}
.tsez-price{font-size:30px;margin-bottom:18px}
.tsez-price del{color:#9b9b9b;margin-right:12px;font-size:.75em}
.tsez-price ins{text-decoration:none}
.tsez-saving-box{display:flex;gap:14px;align-items:flex-start;border:1px solid #dcebd5;border-radius:8px;padding:15px 18px;margin-bottom:22px}
.tsez-saving-icon{font-size:20px;line-height:1;color:#3b8d33}
.tsez-saving-title{display:block;color:#3b8d33;font-size:14px}
.tsez-saving-box small{display:block;color:#333;margin-top:3px}
.tsez-viewers{display:flex;align-items:center;gap:7px;font-size:14px;margin:0 0 26px}
.tsez-eye{font-size:15px}
.tsez-size-guide-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:11px}
.tsez-variation-title,.tsez-variation-label{font-weight:700;font-size:13px;text-transform:uppercase}
.tsez-size-guide{color:inherit;text-decoration:none;font-size:13px}
.tsez-variation-group{margin-bottom:18px}
.tsez-variation-header{display:none}
.tsez-variation-options{display:flex;gap:10px;flex-wrap:wrap}
.tsez-variation-option{min-width:52px;height:46px;padding:0 14px;border:1px solid #ddd;border-radius:7px;background:#fff;color:#111;cursor:pointer;font:inherit}
.tsez-variation-option.is-selected{background:#050505;color:#fff;border-color:#050505}
.tsez-variation-option:disabled{opacity:.35;cursor:not-allowed}
.tsez-native-variation-form{display:none!important}
.tsez-buy-row{display:flex;gap:14px;margin-top:12px}
.tsez-qty{display:grid;grid-template-columns:42px 48px 42px;background:#f3f3f3;border-radius:7px;overflow:hidden}
.tsez-qty button,.tsez-qty input{border:0;background:transparent;text-align:center;font:inherit;min-width:0}
.tsez-qty button{cursor:pointer;font-size:20px}
.tsez-qty input{-moz-appearance:textfield}
.tsez-qty input::-webkit-outer-spin-button,.tsez-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.tsez-cart-button,.tsez-buy-now{border:0;border-radius:6px;cursor:pointer;font-weight:700;letter-spacing:.02em;transition:.2s ease}
.tsez-cart-button{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;background:#080a0d;color:#fff;min-height:54px}
.tsez-buy-now{display:block;width:100%;margin-top:12px;background:#c89b50;color:#fff;min-height:54px}
.tsez-cart-button:hover,.tsez-buy-now:hover{transform:translateY(-1px);filter:brightness(.96)}
.tsez-cart-button.is-loading,.tsez-buy-now.is-loading{opacity:.65;pointer-events:none}
.tsez-under-actions{display:flex;justify-content:space-between;gap:15px;margin:16px 0 18px;font-size:13px}
.tsez-message{display:none;margin:8px 0 14px;padding:10px 12px;border-radius:6px;font-size:13px}
.tsez-message.is-success{display:block;background:#eff9ed;color:#267324}
.tsez-message.is-error{display:block;background:#fff0f0;color:#a52a2a}
.tsez-payment-box{border:1px solid #e2e2e2;border-radius:8px;padding:18px;margin-top:10px}
.tsez-payment-heading{text-align:center;font-weight:700;font-size:13px;margin-bottom:16px}
.tsez-payment-methods{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.tsez-payment-chip{min-width:70px;min-height:46px;padding:7px 10px;border:1px solid #e2e2e2;background:#fff;border-radius:5px;text-align:center;font-weight:700;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.tsez-payment-chip img{display:block;width:auto;height:auto;max-width:58px;max-height:32px;object-fit:contain}
.tsez-trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}
.tsez-trust-grid span{text-align:center;font-size:11px;line-height:1.35;color:#4b4b4b}
.tsez-bottom-area{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;margin-top:42px;padding-top:10px}
.tsez-tab-buttons{display:flex;gap:30px;border-bottom:1px solid #eee}
.tsez-tab-button{border:0;border-bottom:2px solid transparent;background:transparent;padding:12px 0 10px;font-weight:700;font-size:12px;cursor:pointer}
.tsez-tab-button.is-active{border-bottom-color:#111}
.tsez-tab-panel{display:none;padding-top:16px;font-size:14px;line-height:1.65}
.tsez-tab-panel.is-active{display:block}
.tsez-tab-panel p:first-child{margin-top:0}
.tsez-feature-strip{background:#faf7f2;border-radius:9px;padding:25px 28px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-self:start}
.tsez-feature-item{display:flex;align-items:center;gap:11px;font-size:13px}
.tsez-feature-icon{font-size:26px;color:#c89b50}
.tsez-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:999999;display:none;align-items:center;justify-content:center;padding:40px}
.tsez-lightbox.is-open{display:flex}
.tsez-lightbox img{max-width:94vw;max-height:90vh;object-fit:contain}
.tsez-lightbox-close{position:absolute;top:18px;right:22px;border:0;background:transparent;color:#fff;font-size:42px;cursor:pointer}
.tsez-empty-notice{padding:20px;border:1px dashed #ccc;text-align:center}

@media (max-width:1024px){
  .tsez-product-shell{gap:24px}
  .tsez-product-title{font-size:30px}
  .tsez-main-image-wrap{height:560px}
  .tsez-thumbs-carousel{height:560px}
  .tsez-bottom-area{grid-template-columns:1fr}
}
@media (max-width:767px){
  .tsez-product-shell{display:block}
  .tsez-gallery-col,.tsez-info-col{width:100%;flex-basis:auto!important}
  .tsez-gallery-col{margin-bottom:28px}
  .tsez-gallery-layout{display:flex;flex-direction:column;gap:12px}
  .tsez-main-image-wrap{height:430px;order:1;touch-action:pan-y}
  /* Mobile thumbnail carousel: always fill the available width. This intentionally
     overrides Elementor's desktop thumbnail-width value so the rail cannot collapse. */
  .tsez-thumbs-carousel{width:100%!important;max-width:100%;height:78px;display:grid;grid-template-columns:34px minmax(0,1fr) 34px;grid-template-rows:78px;align-items:center;gap:7px;order:2;overflow:visible}
  .tsez-thumbs{width:100%!important;min-width:0;max-width:100%;height:78px;display:flex;flex-direction:row;align-items:center;gap:8px;overflow-x:auto;overflow-y:hidden;margin:0;padding:6px 3px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scroll-padding-inline:3px}
  .tsez-thumbs.tsez-thumbs-centered{justify-content:center}
  .tsez-thumb{flex:0 0 64px!important;width:64px!important;height:64px;aspect-ratio:auto;scroll-snap-align:start;position:relative}
  .tsez-thumb.is-active{border-color:transparent;box-shadow:inset 0 0 0 1px #111}
  .tsez-thumb-nav{display:flex;width:var(--tsez-thumb-nav-size)!important;height:var(--tsez-thumb-nav-size)!important;min-width:var(--tsez-thumb-nav-size);align-self:center;justify-self:center}
  .tsez-thumb-prev span{transform:rotate(-45deg) translate(2px,2px)}
  .tsez-thumb-next span{transform:rotate(135deg) translate(2px,2px)}
  .tsez-gallery-nav{opacity:1;visibility:visible;margin-top:0}
  .tsez-gallery-prev{left:10px}
  .tsez-gallery-next{right:10px}
  .tsez-product-title{font-size:28px}
  .tsez-price{font-size:26px}
  .tsez-buy-row{gap:9px}
  .tsez-qty{grid-template-columns:38px 42px 38px}
  .tsez-variation-option{min-width:48px;height:43px}
  .tsez-payment-box{padding:14px}
  .tsez-trust-grid{grid-template-columns:repeat(2,1fr)}
  .tsez-bottom-area{margin-top:30px}
  .tsez-tab-buttons{gap:18px;overflow-x:auto}
  .tsez-tab-button{white-space:nowrap}
  .tsez-feature-strip{grid-template-columns:repeat(2,1fr);padding:20px}
  .tsez-under-actions{font-size:12px}
}
@media (max-width:420px){
  .tsez-buy-row{display:grid;grid-template-columns:120px 1fr}
  .tsez-product-title{font-size:24px}
  .tsez-feature-strip{grid-template-columns:1fr}
}

.tsez-size-guide.size-guide-button{display:inline-flex;align-items:center;gap:7px;cursor:pointer}.tsez-size-guide-icon{line-height:1}

.tsez-size-guide.is-loading{opacity:.55;pointer-events:none}

.tsez-size-guide.tsez-size-chart-open{border:0;background:transparent;padding:0;color:inherit;font:inherit;display:inline-flex;align-items:center;gap:7px;cursor:pointer}
.tsez-size-chart-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px}
.tsez-size-chart-modal.is-open{display:flex}
.tsez-size-chart-overlay{position:absolute;inset:0;background:rgba(0,0,0,.62)}
.tsez-size-chart-dialog{position:relative;width:min(980px,94vw);max-height:88vh;overflow:auto;background:#fff;border-radius:14px;padding:30px;box-shadow:0 24px 80px rgba(0,0,0,.24)}
.tsez-size-chart-close{position:absolute;top:12px;right:16px;width:38px;height:38px;border:0;background:transparent;font-size:30px;cursor:pointer}
.tsez-size-chart-title{margin:0 45px 22px 0;font-size:28px}
.tsez-size-chart-scroll{overflow-x:auto}
.tsez-size-chart-table{width:100%;border-collapse:collapse;min-width:620px}
.tsez-size-chart-table th,.tsez-size-chart-table td{padding:13px 15px;border:1px solid #e3e3e3;text-align:center}
.tsez-size-chart-table th{background:#f6f4f1;font-weight:700}
.tsez-size-chart-table tbody tr:nth-child(even){background:#fbfbfb}
.tsez-size-chart-note{margin-top:20px;font-size:14px;line-height:1.65;color:#555}
body.tsez-size-chart-opened{overflow:hidden}
@media(max-width:767px){
  .tsez-size-chart-modal{padding:12px}
  .tsez-size-chart-dialog{width:96vw;padding:22px 16px}
  .tsez-size-chart-title{font-size:22px}
  .tsez-size-chart-table th,.tsez-size-chart-table td{padding:10px 11px;font-size:13px}
}

/* v1.9 performance: keep variation interactions compositor-light. */
.tsez-variation-option{transition:background-color .12s ease,color .12s ease,border-color .12s ease;will-change:auto}
.tsez-cart-button,.tsez-buy-now{transform:none!important}
@media (prefers-reduced-motion:reduce){
  .tsez-product-builder *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* ===== TSEZ Side Cart v1.10 ===== */
body.tsez-sidecart-opened{overflow:hidden!important}
.tsez-sidecart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.42);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease;z-index:999998}
.tsez-sidecart-overlay.is-open{opacity:1;visibility:visible}
.tsez-sidecart{position:fixed;top:0;right:0;width:min(430px,92vw);height:100dvh;background:#fff;z-index:999999;display:flex;flex-direction:column;transform:translate3d(100%,0,0);transition:transform .22s ease;box-shadow:-18px 0 50px rgba(0,0,0,.14);font-family:inherit;color:#111}
.tsez-sidecart.is-open{transform:translate3d(0,0,0)}
.tsez-sidecart-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid #ececec;min-height:70px}
.tsez-sidecart-head>div{display:flex;align-items:center;gap:9px;font-size:18px}
.tsez-sidecart-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#111;color:#fff;font-size:12px;line-height:1}
.tsez-sidecart-close{width:38px;height:38px;border:0;background:#f6f6f6;border-radius:50%;font-size:27px;line-height:1;cursor:pointer;color:#111}
.tsez-sidecart-items{flex:1;min-height:0;overflow:auto;padding:6px 22px;-webkit-overflow-scrolling:touch}
.tsez-sc-item{position:relative;display:grid;grid-template-columns:82px minmax(0,1fr) 30px;gap:14px;padding:18px 0;border-bottom:1px solid #eee;transition:opacity .15s ease}
.tsez-sc-item.is-loading{opacity:.45;pointer-events:none}
.tsez-sc-thumb{display:block;width:82px;height:96px;background:#f8f8f8;border-radius:7px;overflow:hidden}
.tsez-sc-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.tsez-sc-info{min-width:0}
.tsez-sc-name{display:block;color:#111;text-decoration:none;font-weight:700;font-size:14px;line-height:1.35;margin:1px 0 6px}
.tsez-sc-info .variation{margin:0 0 8px;font-size:11px;color:#666}
.tsez-sc-info .variation dt,.tsez-sc-info .variation dd{display:inline;margin:0 3px 0 0;padding:0}
.tsez-sc-info .variation p{margin:0;display:inline}
.tsez-sc-meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.tsez-sc-qty{display:grid;grid-template-columns:30px 38px 30px;height:34px;border:1px solid #ddd;border-radius:5px;overflow:hidden;background:#fff}
.tsez-sc-qty button,.tsez-sc-qty input{border:0;background:transparent;text-align:center;font:inherit;min-width:0;padding:0}
.tsez-sc-qty button{cursor:pointer;font-size:17px}
.tsez-sc-qty input{-moz-appearance:textfield;font-size:13px}
.tsez-sc-qty input::-webkit-outer-spin-button,.tsez-sc-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.tsez-sc-line-total{white-space:nowrap;font-size:13px}
.tsez-sc-remove{width:28px;height:28px;border:0;background:transparent;color:#888;font-size:23px;line-height:1;cursor:pointer;padding:0}
.tsez-sc-empty{display:flex;align-items:center;justify-content:center;min-height:220px;color:#666;text-align:center}
.tsez-sidecart-foot{border-top:1px solid #e9e9e9;padding:18px 22px 22px;background:#fff}
.tsez-sidecart-subtotal{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:16px;margin-bottom:8px}
.tsez-sidecart-subtotal strong{font-size:18px}
.tsez-sidecart-note{font-size:11px;color:#777;margin:0 0 14px}
.tsez-sidecart-checkout,.tsez-sidecart-viewcart{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;border-radius:6px;text-decoration:none!important;font-weight:700;letter-spacing:.01em}
.tsez-sidecart-checkout{background:#080a0d;color:#fff!important;margin-bottom:9px}
.tsez-sidecart-viewcart{background:#c89b50;color:#fff!important}
@media(max-width:767px){
  .tsez-sidecart{width:min(390px,94vw)}
  .tsez-sidecart-head{padding:16px 18px}
  .tsez-sidecart-items{padding:4px 18px}
  .tsez-sidecart-foot{padding:15px 18px 18px}
  .tsez-sc-item{grid-template-columns:72px minmax(0,1fr) 26px;gap:11px}
  .tsez-sc-thumb{width:72px;height:86px}
}
@media(prefers-reduced-motion:reduce){.tsez-sidecart,.tsez-sidecart-overlay{transition:none!important}}

/* ===== TSEZ Header Cart Widget ===== */
.tsez-header-cart-wrap{display:flex;width:100%}
.tsez-header-cart-trigger{position:relative;display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;padding:0;cursor:pointer;color:inherit;font:inherit;line-height:1}
.tsez-header-cart-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.tsez-header-cart-icon i,.tsez-header-cart-icon svg{display:block;width:1em;height:1em;line-height:1}
.tsez-header-cart-badge{position:absolute;top:-8px;right:-9px;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#e85c5c;color:#fff;font-size:10px;font-weight:700;line-height:18px;box-sizing:border-box}
.tsez-header-cart-badge.is-plain{position:static;background:transparent!important;color:inherit!important;min-width:0;height:auto;padding:0;border-radius:0;line-height:1}
.tsez-header-cart-subtotal{white-space:nowrap;font-size:13px;line-height:1.2}
.tsez-sidecart.tsez-cart-left{left:0;right:auto;transform:translate3d(-100%,0,0);box-shadow:18px 0 50px rgba(0,0,0,.14)}
.tsez-sidecart.tsez-cart-left.is-open{transform:translate3d(0,0,0)}
.tsez-sidecart.tsez-close-left .tsez-sidecart-head{flex-direction:row-reverse}
.tsez-sidecart.tsez-remove-center .tsez-sc-remove{top:50%;transform:translateY(-50%)}
.tsez-sidecart.tsez-remove-bottom .tsez-sc-remove{top:auto;bottom:10px}
.tsez-sidecart.tsez-no-remove .tsez-sc-remove{display:none!important}
.tsez-sidecart.tsez-no-close .tsez-sidecart-close{display:none!important}
.tsez-sidecart.tsez-no-dividers .tsez-sidecart-head,.tsez-sidecart.tsez-no-dividers .tsez-sidecart-foot,.tsez-sidecart.tsez-no-dividers .tsez-sc-item{border-color:transparent!important}
.tsez-sidecart.tsez-price-top .tsez-sc-meta-row{order:-1;margin-bottom:8px}
.tsez-sidecart.tsez-buttons-view-first .tsez-sidecart-viewcart{order:1;margin-bottom:9px}
.tsez-sidecart.tsez-buttons-view-first .tsez-sidecart-checkout{order:2;margin-bottom:0}
.tsez-sidecart.tsez-buttons-checkout-first .tsez-sidecart-checkout{order:1}
.tsez-sidecart.tsez-buttons-checkout-first .tsez-sidecart-viewcart{order:2}
.tsez-sidecart-foot{display:flex;flex-direction:column}
.tsez-header-cart-wrap.tsez-cart-hidden-empty{display:none!important}
.tsez-sidecart.tsez-remove-center .tsez-sc-remove{align-self:center!important;transform:none!important}
.tsez-sidecart.tsez-remove-bottom .tsez-sc-remove{align-self:end!important;top:auto!important;bottom:auto!important}
.tsez-sidecart.tsez-price-top .tsez-sc-info{display:flex;flex-direction:column}
.tsez-sidecart.tsez-price-top .tsez-sc-meta-row{order:-1;margin-top:0;margin-bottom:8px}
.tsez-sidecart .tsez-sidecart-close svg,.tsez-sidecart .tsez-sc-remove svg{width:1em;height:1em;display:block;margin:auto}
