/* Tara product experience — loaded only on single-product pages. */
body.single-product{
  --tara-product-gap:28px;
  --tara-product-border:#e4e9f0;
  --tara-product-soft:#f7f9fc;
  --tara-product-shadow:0 14px 38px rgba(31,42,64,.075);
}
body.single-product .site-main{padding-top:22px;min-width:0}
body.single-product .woocommerce{min-width:0}
body.single-product .woocommerce div.product{
  display:grid;direction:ltr;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:var(--tara-product-gap);align-items:start;
  width:100%;max-width:var(--tara-content);margin-inline:auto;padding:0!important;min-width:0
}
body.single-product .woocommerce div.product>*{direction:rtl;min-width:0}
body.single-product .woocommerce div.product::before,body.single-product .woocommerce div.product::after{display:none!important}
body.single-product .woocommerce div.product>.onsale{display:none!important}
body.single-product .woocommerce div.product>.tara-product-gallery,
body.single-product .woocommerce div.product>.woocommerce-product-gallery{grid-column:1;grid-row:1;float:none!important;width:100%!important;margin:0!important;min-width:0}
body.single-product .woocommerce div.product>.summary{grid-column:2;grid-row:1;float:none!important;width:100%!important;min-width:0;margin:0!important;padding:24px;border:1px solid var(--tara-product-border);border-radius:24px;background:#fff;box-shadow:var(--tara-product-shadow);position:sticky;top:96px}
.admin-bar.single-product .woocommerce div.product>.summary{top:128px}
body.single-product .woocommerce div.product>.woocommerce-tabs,
body.single-product .woocommerce div.product>.related,
body.single-product .woocommerce div.product>.upsells{grid-column:1/-1;float:none!important;width:100%!important;min-width:0}

/* Summary */
body.single-product .woocommerce div.product .product_title{margin:0 0 8px!important;font-size:clamp(1.42rem,2.05vw,1.9rem)!important;line-height:1.58!important;font-weight:850!important;letter-spacing:-.012em}
body.single-product .summary .woocommerce-product-rating{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 12px!important;font-size:.78rem}
body.single-product .summary .star-rating{float:none!important;margin:0!important}
body.single-product .summary .woocommerce-review-link{color:var(--tara-muted);font-size:.76rem;text-decoration:none}
body.single-product .woocommerce div.product>.summary>p.price,body.single-product .woocommerce div.product>.summary>span.price,body.single-product .summary .woocommerce-variation-price .price{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin:8px 0 14px!important;color:var(--tara-primary)!important;font-size:clamp(1.08rem,1.6vw,1.34rem)!important;line-height:1.55;font-weight:850!important}
body.single-product .woocommerce div.product>.summary>p.price del,body.single-product .woocommerce div.product>.summary>span.price del,body.single-product .summary .woocommerce-variation-price .price del{order:2;margin:0;color:#9aa3b4!important;font-size:.72em;font-weight:550;opacity:1}
body.single-product .summary .price ins{text-decoration:none}
body.single-product .woocommerce-product-details__short-description{margin:0 0 14px;color:#586276;font-size:.88rem;line-height:1.95}
body.single-product .woocommerce-product-details__short-description p:last-child{margin-bottom:0}
body.single-product .product_meta{display:flex;flex-wrap:wrap;gap:7px 13px;margin:14px 0 0!important;padding-top:13px;border-top:1px solid #edf0f4;color:#7b8495;font-size:.74rem}
body.single-product .product_meta>span{display:inline-flex;align-items:center;gap:4px}
body.single-product .product_meta a{color:#606b80;text-decoration:none}
body.single-product .product_meta a:hover{color:var(--tara-primary)}

/* Context chips */
.tara-product-context{display:flex;flex-wrap:wrap;gap:6px;margin:11px 0 15px}
.tara-product-context-chip{display:inline-flex;align-items:center;gap:6px;min-height:31px;padding:5px 9px;border:1px solid #e5eaf0;border-radius:999px;background:#f8fafc;color:#657085;font-size:.7rem;font-weight:650}
.tara-product-context-chip .tara-icon{width:14px;height:14px}
.tara-product-context-chip.is-stock{color:#2f6e45;background:#f1faf4;border-color:#d9ebdf}
.tara-product-context-chip.is-out{color:#a74646;background:#fff5f5;border-color:#f0dada}

/* Tara fallback gallery */
.tara-product-gallery{position:relative;min-width:0}
.tara-product-gallery-stage{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;aspect-ratio:1/1;max-height:650px;border:1px solid var(--tara-product-border);border-radius:26px;background:linear-gradient(145deg,#fff,#f1f5fa);box-shadow:0 12px 34px rgba(25,35,55,.07);touch-action:pan-y;cursor:zoom-in}
.tara-product-gallery-main{display:block;width:100%;height:100%;padding:24px;object-fit:contain;transition:transform .2s ease,opacity .14s ease}
.tara-product-gallery-stage:hover .tara-product-gallery-main{transform:scale(1.012)}
.tara-product-gallery-badge{position:absolute;z-index:3;top:16px;right:16px;display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 10px;border-radius:999px;background:var(--tara-primary);color:#fff;font-size:.68rem;font-weight:820;box-shadow:0 6px 16px rgba(33,91,170,.2)}
.tara-product-gallery-zoom{position:absolute!important;z-index:3;left:16px;bottom:16px;width:46px!important;height:46px!important;min-height:46px!important;border:1px solid #e6ebf2!important;border-radius:14px!important;background:#fff!important;color:var(--tara-secondary)!important;box-shadow:0 8px 22px rgba(30,42,64,.1)!important}
.tara-product-gallery-thumbs{display:flex;gap:9px;overflow-x:auto;margin-top:10px;padding:2px 2px 5px;scrollbar-width:thin;scroll-snap-type:x proximity}
.tara-product-gallery-thumb{position:relative;flex:0 0 76px;width:76px;height:76px;min-height:76px!important;padding:5px!important;border:1px solid #e4e9f0!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important;overflow:hidden;scroll-snap-align:start;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.tara-product-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;border-radius:9px}
.tara-product-gallery-thumb:hover{transform:translateY(-1px)!important}
.tara-product-gallery-thumb.is-active{border-color:var(--tara-primary)!important;box-shadow:0 0 0 3px rgba(33,91,170,.10)!important}
.tara-product-gallery-thumb.is-active::after{content:"";position:absolute;top:7px;right:7px;width:8px;height:8px;border:2px solid #fff;border-radius:50%;background:var(--tara-primary);box-shadow:0 1px 4px rgba(0,0,0,.14)}

/* Native WooCommerce gallery receives the same visual language when its 10.9+ variation gallery is enabled. */
body.single-product .woocommerce-product-gallery{position:relative!important}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper{overflow:hidden;margin:0!important;border:1px solid var(--tara-product-border);border-radius:26px;background:linear-gradient(145deg,#fff,#f1f5fa);box-shadow:0 12px 34px rgba(25,35,55,.07)}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image{margin:0!important;background:transparent}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image a{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img{display:block;width:100%!important;height:100%!important;max-height:650px;object-fit:contain;padding:24px;margin:0!important}
body.single-product .woocommerce-product-gallery .flex-control-thumbs{display:flex!important;gap:9px;overflow-x:auto;margin:10px 0 0!important;padding:2px!important;list-style:none;scrollbar-width:thin}
body.single-product .woocommerce-product-gallery .flex-control-thumbs li{float:none!important;flex:0 0 76px;width:76px!important;margin:0!important}
body.single-product .woocommerce-product-gallery .flex-control-thumbs img{width:76px!important;height:76px!important;padding:5px;border:1px solid #e4e9f0;border-radius:14px;object-fit:cover;background:#fff;opacity:1!important}
body.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active{border-color:var(--tara-primary);box-shadow:0 0 0 3px rgba(33,91,170,.10)}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger{top:16px!important;right:auto!important;left:16px!important;width:46px!important;height:46px!important;border:1px solid #e6ebf2;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(30,42,64,.1)}

/* Lightbox */
.tara-product-lightbox{position:fixed;z-index:100000;inset:0;display:flex;align-items:center;justify-content:center;padding:38px;background:rgba(16,22,36,.88);opacity:0;transition:opacity .16s ease}
.tara-product-lightbox[hidden]{display:none}.tara-product-lightbox.is-open{opacity:1}
.tara-product-lightbox-inner{display:flex;align-items:center;justify-content:center;width:min(92vw,1180px);height:min(88vh,900px)}
.tara-product-lightbox-inner img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.tara-product-lightbox .tara-icon-button{position:absolute;z-index:2;width:48px;height:48px;border-color:rgba(255,255,255,.22)!important;background:rgba(255,255,255,.14)!important;color:#fff!important;box-shadow:none!important}
.tara-product-lightbox-close{top:18px;left:18px}.tara-product-lightbox-prev{right:18px;top:50%;transform:translateY(-50%);font-size:30px}.tara-product-lightbox-next{left:18px;top:50%;transform:translateY(-50%);font-size:30px}.tara-lightbox-open{overflow:hidden}

/* Purchase area */
body.single-product .summary form.cart{margin:17px 0 0!important;padding:14px;border:1px solid #e1e7ef;border-radius:18px;background:var(--tara-product-soft)}
body.single-product .summary form.cart:not(.variations_form){display:flex;align-items:center;gap:9px;flex-wrap:wrap}
body.single-product .summary form.cart .quantity{float:none!important;margin:0!important}
body.single-product .summary form.cart .single_add_to_cart_button{flex:1;min-width:190px;min-height:48px!important;border-radius:12px!important;font-size:.86rem!important;font-weight:850!important;box-shadow:0 9px 20px rgba(33,91,170,.18)!important}
body.single-product .summary form.cart .single_add_to_cart_button.disabled{opacity:.45;box-shadow:none!important}
.tara-quantity-stepper{display:grid!important;grid-template-columns:38px 46px 38px;align-items:center;overflow:hidden;height:48px;border:1px solid #dbe2eb;border-radius:12px;background:#fff}
.tara-quantity-stepper .qty{width:46px!important;min-height:46px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;text-align:center;-moz-appearance:textfield}
.tara-quantity-stepper .qty::-webkit-inner-spin-button,.tara-quantity-stepper .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.tara-qty-btn{display:flex!important;align-items:center;justify-content:center;width:38px!important;height:46px!important;min-height:46px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--tara-secondary)!important;box-shadow:none!important;font-size:1.12rem!important;transform:none!important}
.tara-qty-btn:hover{background:#edf2f7!important;color:var(--tara-primary)!important;transform:none!important;box-shadow:none!important}

/* Variable products */
body.single-product .summary form.cart.variations_form{display:block}
body.single-product form.variations_form table.variations{display:block!important;width:100%!important;margin:0 0 11px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;white-space:normal!important;overflow:visible!important}
body.single-product form.variations_form table.variations tbody,body.single-product form.variations_form table.variations tr{display:block!important}
body.single-product form.variations_form table.variations tr{margin-bottom:13px}
body.single-product form.variations_form table.variations th,body.single-product form.variations_form table.variations td{display:block!important;width:100%!important;padding:0!important;border:0!important;background:transparent!important}
body.single-product form.variations_form table.variations th.label{margin-bottom:7px}
body.single-product form.variations_form table.variations th.label label{font-size:.76rem;font-weight:800}
body.single-product form.variations_form select{min-height:45px;border-radius:12px}
body.single-product form.variations_form select.tara-has-pills{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important}
.tara-variation-pills{display:flex;flex-wrap:wrap;gap:7px}
.tara-variation-pill{display:inline-flex!important;align-items:center;justify-content:center;min-width:45px!important;min-height:42px!important;padding:8px 12px!important;border:1px solid #dce3ec!important;border-radius:11px!important;background:#fff!important;color:#4c556a!important;box-shadow:none!important;font-size:.75rem!important;font-weight:720!important;transform:none!important;transition:border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease!important}
.tara-variation-pill:hover:not(:disabled){border-color:#9cb7da!important;background:#f5f8fd!important;color:var(--tara-primary)!important;transform:none!important;box-shadow:none!important}
.tara-variation-pill.is-selected{border-color:var(--tara-primary)!important;background:#eef4ff!important;color:var(--tara-primary)!important;box-shadow:0 0 0 3px rgba(33,91,170,.08)!important}
.tara-variation-pill:disabled{opacity:.34;text-decoration:line-through;cursor:not-allowed}
body.single-product .reset_variations{display:inline-flex;margin-top:7px;color:#8790a2!important;font-size:.71rem;text-decoration:none}
body.single-product .woocommerce-variation{width:100%}
body.single-product .woocommerce-variation-availability p{margin:6px 0 0;font-size:.74rem}
body.single-product .woocommerce-variation-price{margin-top:7px}
body.single-product .summary form.cart.variations_form .woocommerce-variation-add-to-cart{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:9px}
body.single-product .summary form.cart.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button{flex:1;min-width:190px}

/* Tabs, attributes and reviews */
body.single-product .woocommerce-tabs{margin-top:4px;padding-top:4px}
body.single-product .woocommerce-tabs ul.tabs{display:flex;gap:6px;overflow-x:auto;width:max-content;max-width:100%;margin:0 0 12px!important;padding:5px!important;border:0!important;border-radius:15px;background:#edf2f7;scrollbar-width:none}
body.single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar{display:none}
body.single-product .woocommerce-tabs ul.tabs::before,body.single-product .woocommerce-tabs ul.tabs li::before,body.single-product .woocommerce-tabs ul.tabs li::after{display:none!important}
body.single-product .woocommerce-tabs ul.tabs li{flex:0 0 auto;margin:0!important;padding:0!important;border:0!important;border-radius:11px!important;background:transparent!important}
body.single-product .woocommerce-tabs ul.tabs li a{display:flex!important;align-items:center;justify-content:center;min-height:40px;padding:8px 14px!important;border-radius:11px;color:#667084!important;font-size:.76rem;font-weight:720!important;white-space:nowrap}
body.single-product .woocommerce-tabs ul.tabs li.active a{background:#fff;color:var(--tara-primary)!important;box-shadow:0 4px 12px rgba(30,40,60,.08);font-weight:800!important}
body.single-product .woocommerce-tabs .panel{margin:0!important;padding:22px!important;border:1px solid #e5eaf0;border-radius:20px;background:#fff;box-shadow:0 9px 28px rgba(30,40,60,.05)}
body.single-product .woocommerce-tabs .panel>h2:first-child{margin:0 0 14px;font-size:1.05rem;font-weight:850}
body.single-product .woocommerce-tabs .panel p,body.single-product .woocommerce-tabs .panel li{color:#566075;font-size:.88rem;line-height:1.95}
body.single-product table.woocommerce-product-attributes{display:table!important;width:100%!important;overflow:hidden!important;white-space:normal!important;margin:0!important;border:1px solid #e4e9f0!important;border-radius:15px!important;background:#fff!important;box-shadow:none!important}
body.single-product table.woocommerce-product-attributes tbody{display:table-row-group!important}
body.single-product table.woocommerce-product-attributes tr{display:table-row!important}
body.single-product table.woocommerce-product-attributes th,body.single-product table.woocommerce-product-attributes td{display:table-cell!important;padding:13px 14px!important;border:0!important;border-bottom:1px solid #edf0f4!important;white-space:normal!important;text-align:start!important;vertical-align:middle!important}
body.single-product table.woocommerce-product-attributes tr:last-child th,body.single-product table.woocommerce-product-attributes tr:last-child td{border-bottom:0!important}
body.single-product table.woocommerce-product-attributes th{width:28%;min-width:160px;background:#f4f7fb!important;color:#424b60;font-size:.76rem;font-weight:800}
body.single-product table.woocommerce-product-attributes td{color:#596377;font-size:.78rem}
body.single-product table.woocommerce-product-attributes td p{margin:0!important;color:inherit!important;line-height:1.8}
body.single-product table.woocommerce-product-attributes tr:nth-child(even) th{background:#f8fafc!important}
body.single-product table.woocommerce-product-attributes tr:nth-child(even) td{background:#fcfdff!important}
body.single-product #reviews #comments ol.commentlist{margin:0;padding:0;list-style:none}
body.single-product #reviews #comments ol.commentlist li{margin:0 0 12px;padding:14px;border:1px solid #e8ecf2;border-radius:14px;background:#fafbfd}
body.single-product #reviews #comments ol.commentlist li img.avatar{float:right!important;width:42px!important;height:42px!important;margin:0 0 0 10px!important;border:0!important;border-radius:50%!important;padding:0!important}
body.single-product #review_form_wrapper{margin-top:18px;padding-top:18px;border-top:1px solid #edf0f4}
body.single-product .comment-form-rating{display:flex;align-items:center;gap:9px;flex-wrap:wrap}

body.single-product section.related,body.single-product section.upsells{margin-top:8px}
body.single-product section.related>h2,body.single-product section.upsells>h2{margin:0 0 15px;font-size:1.14rem;font-weight:850}

/* Mobile buy bar */
.tara-mobile-buybar{display:none}

@media(max-width:1024px){
  body.single-product{--tara-product-gap:20px}
  body.single-product .woocommerce div.product{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr)}
  body.single-product .woocommerce div.product>.summary{padding:19px;top:88px}
  .tara-product-gallery-stage,body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image{max-height:560px}
}
@media(max-width:782px){.admin-bar.single-product .woocommerce div.product>.summary{top:auto}}
@media(max-width:767px){
  body.single-product .site-main{padding-top:10px}
  body.single-product .woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:0!important}
  body.single-product .woocommerce div.product>.tara-product-gallery,body.single-product .woocommerce div.product>.woocommerce-product-gallery,
  body.single-product .woocommerce div.product>.summary,body.single-product .woocommerce div.product>.woocommerce-tabs,
  body.single-product .woocommerce div.product>.related,body.single-product .woocommerce div.product>.upsells{grid-column:1;grid-row:auto}
  body.single-product .woocommerce div.product>.summary{position:static;padding:15px;border-radius:18px;box-shadow:0 9px 25px rgba(31,42,64,.06)}
  body.single-product .woocommerce div.product .product_title{font-size:1.2rem!important;line-height:1.65!important}
  body.single-product .woocommerce div.product>.summary>p.price,body.single-product .woocommerce div.product>.summary>span.price,body.single-product .summary .woocommerce-variation-price .price{font-size:1.03rem!important}
  body.single-product .woocommerce-product-details__short-description{font-size:.8rem;line-height:1.9}
  .tara-product-context{gap:5px}.tara-product-context-chip{font-size:.66rem}
  .tara-product-gallery-stage,body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper{border-radius:18px}
  .tara-product-gallery-stage{max-height:none;aspect-ratio:1/1}.tara-product-gallery-main,body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img{padding:14px}
  .tara-product-gallery-badge{top:10px;right:10px}.tara-product-gallery-zoom{left:10px;bottom:10px;width:44px!important;height:44px!important;min-height:44px!important}
  .tara-product-gallery-thumbs,body.single-product .woocommerce-product-gallery .flex-control-thumbs{gap:7px;margin-top:8px!important}
  .tara-product-gallery-thumb,body.single-product .woocommerce-product-gallery .flex-control-thumbs li,body.single-product .woocommerce-product-gallery .flex-control-thumbs img{flex-basis:64px;width:64px!important;height:64px!important;min-height:64px!important;border-radius:12px!important}
  body.single-product .summary form.cart{margin-top:13px!important;padding:11px;border-radius:14px}
  body.single-product .summary form.cart .single_add_to_cart_button{min-width:0;min-height:48px!important;font-size:.8rem!important}
  body.single-product .summary form.cart.variations_form .woocommerce-variation-add-to-cart{gap:8px}
  body.single-product .summary form.cart.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button{min-width:0}
  .tara-variation-pills{gap:6px}.tara-variation-pill{min-height:42px!important;padding:7px 10px!important;font-size:.7rem!important}
  body.single-product .woocommerce-tabs{margin-top:0}.single-product .woocommerce-tabs ul.tabs{padding:4px!important;border-radius:14px}.single-product .woocommerce-tabs ul.tabs li a{min-height:39px;padding:7px 11px!important;font-size:.7rem}
  body.single-product .woocommerce-tabs .panel{padding:14px!important;border-radius:15px}.single-product .woocommerce-tabs .panel>h2:first-child{font-size:.94rem}.single-product .woocommerce-tabs .panel p,.single-product .woocommerce-tabs .panel li{font-size:.78rem;line-height:1.9}
  body.single-product table.woocommerce-product-attributes th,body.single-product table.woocommerce-product-attributes td{padding:10px 9px!important}.single-product table.woocommerce-product-attributes th{width:38%;min-width:108px;font-size:.68rem}.single-product table.woocommerce-product-attributes td{font-size:.7rem}
  body.single-product section.related>h2,body.single-product section.upsells>h2{font-size:1rem}
  .tara-has-mobile-buybar{padding-bottom:78px}
  .tara-mobile-buybar{position:fixed;z-index:9996;right:6px;left:6px;bottom:6px;display:flex;align-items:center;gap:8px;min-height:62px;padding:7px;border:1px solid #dfe5ed;border-radius:16px;background:#fff;box-shadow:0 18px 48px rgba(28,35,53,.2);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
  .tara-mobile-buybar.is-visible{opacity:1;visibility:visible;transform:none}.tara-mobile-buybar-price{flex:0 1 42%;overflow:hidden;color:var(--tara-primary);font-size:.74rem;font-weight:850;line-height:1.55}.tara-mobile-buybar-button{flex:1;min-height:48px!important;padding:8px 11px!important;border-radius:11px!important;font-size:.75rem!important;font-weight:830!important}.tara-mobile-buybar-button:disabled{opacity:.45}
}
@media(max-width:390px){
  body.single-product .summary form.cart:not(.variations_form){display:grid;grid-template-columns:auto minmax(0,1fr)}
  body.single-product .summary form.cart .single_add_to_cart_button{width:100%}
  .tara-mobile-buybar-price{font-size:.69rem}
}
@media(prefers-reduced-motion:reduce){
  .tara-product-gallery-main,.tara-mobile-buybar,.tara-product-gallery-thumb,.tara-variation-pill{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .tara-product-gallery-stage:hover .tara-product-gallery-main{transform:none!important}
}
