/* ==========================================================================
   Tata Surgical: WooCommerce (catalogue mode)
   ========================================================================== */

.wc-page{padding-block:1.75rem 4.5rem}

/* Notices */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;margin:0 0 1.5rem;padding:1rem 1.25rem;border-radius:8px;border:1px solid var(--line);background:var(--mist);font-size:.95rem}
.woocommerce-error{background:#fdecea;border-color:#f5c2bc;color:#7a1c12}
.woocommerce-message{background:#e8f5ee;border-color:#bfe3cc}
.woocommerce-message .button,.woocommerce-info .button{float:right;margin-left:1rem;font-weight:600}

/* Archive header */
.shop-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem 3rem;flex-wrap:wrap;margin:1rem 0 1.75rem;padding-bottom:1.75rem;border-bottom:1px solid var(--line)}
.shop-head__text{max-width:760px}
.shop-head__title{margin:0;font-size:clamp(1.8rem,1.3rem + 1.8vw,2.6rem);font-weight:600;line-height:1.12;letter-spacing:-.02em}
.shop-head__desc{margin-top:.85rem;color:var(--ink-2);font-size:1rem}
.shop-head__desc-inner p{margin:0 0 .75rem}
.shop-head__desc.is-collapsed .shop-head__desc-inner{max-height:4.9em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
.shop-head__search{display:inline-flex;align-items:center;gap:.55rem;padding:.75rem 1rem;border:1px solid var(--line);border-radius:var(--r);background:var(--mist);color:var(--muted);font-size:.9rem;cursor:text;min-width:280px}
.shop-head__search:hover{border-color:var(--brand);color:var(--ink)}

.subcats{display:flex;flex-wrap:wrap;gap:.5rem;margin:-.5rem 0 2rem}
.subcats a{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .9rem;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:.9rem;text-decoration:none;background:#fff}
.subcats a:hover{border-color:var(--brand);color:var(--brand)}
.subcats span{font-size:.75rem;color:var(--muted)}

/* Layout */
.shop-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:2.5rem;align-items:start}
.shop-side{position:sticky;top:96px;display:grid;gap:1.5rem}
.admin-bar .shop-side{top:128px}
.cat-nav__title{margin-bottom:.6rem;font-size:.875rem;font-weight:600;color:var(--muted)}
.cat-nav ul{display:grid;gap:.1rem}
.cat-nav a{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:6px;color:var(--ink);font-size:.93rem;text-decoration:none;line-height:1.3}
.cat-nav a .icon{width:18px;height:18px;color:var(--brand);opacity:.8}
.cat-nav a:hover{background:var(--mist);color:var(--brand)}
.cat-nav a.is-active{background:var(--brand-tint);color:var(--brand);font-weight:600}
.cat-nav ul ul{margin:.15rem 0 .35rem 1.65rem;padding-left:.6rem;border-left:1px solid var(--line)}
.cat-nav ul ul a{padding:.35rem .5rem;font-size:.875rem}
.side-custom{padding:1.25rem;border-radius:10px;background:var(--brand);color:#fff}
.side-custom__title{font-weight:600;font-size:1.02rem;margin-bottom:.3rem}
.side-custom p{font-size:.875rem;color:#d3dbee;margin-bottom:1rem}
.side-custom .btn--primary{background:#fff;color:var(--brand)}
.side-custom .btn--primary:hover{background:var(--brand-tint)}

/* Toolbar */
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}
.woocommerce-result-count{margin:0;font-size:.9rem;color:var(--muted)}
.woocommerce-ordering{margin:0}
.woocommerce-ordering select{padding:.55rem 2.2rem .55rem .8rem;border:1px solid var(--line);border-radius:var(--r);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%232c2d2d' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right .8rem center;-webkit-appearance:none;appearance:none;font-size:.9rem;cursor:pointer}

/* Product grid */
.woocommerce ul.products,ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin:0;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products.columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product,.woocommerce ul.products[class*=columns-] li.product,.woocommerce-page ul.products[class*=columns-] li.product{float:none;width:auto;margin:0;padding:0;clear:none}
.p-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}
.p-card:hover{border-color:#b6c1d6;box-shadow:0 18px 36px -28px rgba(26,37,71,.5)}
.p-card__media{display:block;aspect-ratio:1/1;background:var(--mist);border-bottom:1px solid var(--line)}
.p-card__media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;padding:6%;margin:0!important}
.p-card__body{display:flex;flex-direction:column;flex:1;padding:1rem 1.1rem 1.1rem}
.p-card__cat{font-size:.78rem;color:var(--muted);margin-bottom:.25rem}
.p-card__title{margin:0;font-size:.98rem!important;font-weight:600;line-height:1.35;padding:0!important}
.p-card__title a{color:var(--ink);text-decoration:none}
.p-card__title a:hover{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.p-card__code{margin-top:.4rem;font-size:.8125rem;color:var(--muted)}
.p-card__code b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.p-card__actions{display:grid;grid-template-columns:auto 1fr;gap:.5rem;margin-top:auto;padding-top:1rem}
.btn.is-added{background:var(--brand-tint);color:var(--brand);border-color:var(--brand-tint)}

/* Single product */
.single-product div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem 4rem;align-items:start;margin-top:1.25rem}
.woocommerce div.product div.images.woocommerce-product-gallery,.woocommerce-page div.product div.images.woocommerce-product-gallery{float:none;width:auto;margin:0;position:relative}
.woocommerce div.product div.summary.entry-summary,.woocommerce-page div.product div.summary.entry-summary{float:none;width:auto;margin:0}
.woocommerce-product-gallery__wrapper{margin:0;border:1px solid var(--line);border-radius:12px;background:var(--mist);overflow:hidden}
.woocommerce-product-gallery__image img{mix-blend-mode:multiply}
.woocommerce-product-gallery .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none}
.woocommerce-product-gallery .flex-control-thumbs li{width:auto!important;float:none!important}
.woocommerce-product-gallery .flex-control-thumbs img{border:1px solid var(--line);border-radius:6px;opacity:.7;cursor:pointer;background:var(--mist)}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,.woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1;border-color:var(--brand)}
.woocommerce-product-gallery__trigger{position:absolute;top:.75rem;right:.75rem;z-index:5;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--line);font-size:0;text-decoration:none}
.woocommerce-product-gallery__trigger::before{content:"";width:16px;height:16px;border:2px solid var(--ink);border-radius:50%;box-sizing:border-box}
.product_title{margin:0;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem);font-weight:600;line-height:1.15;letter-spacing:-.018em}
.p-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:.75rem;font-size:.9rem;color:var(--muted)}
.p-code{padding:.25rem .65rem;border-radius:4px;background:var(--brand-tint);color:var(--brand)}
.p-code b{font-weight:700;font-variant-numeric:tabular-nums}
.p-cats a{color:var(--ink-2)}
.woocommerce-product-details__short-description{margin-top:1.25rem;color:var(--ink-2);font-size:1.02rem;line-height:1.65}
.woocommerce-product-details__short-description p{margin:0 0 .75rem}
.p-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:1.5rem 0 0;border-top:1px solid var(--line)}
.p-specs div{padding:.75rem 0;border-bottom:1px solid var(--line)}
.p-specs div:nth-child(odd){padding-right:1rem}
.p-specs dt{font-size:.8125rem;color:var(--muted)}
.p-specs dd{margin:.1rem 0 0;font-weight:600}
.p-quote{margin-top:1.75rem;padding:1.25rem;border:1px solid var(--line);border-radius:12px;background:var(--mist)}
.p-quote__row{display:flex;flex-wrap:wrap;gap:.75rem}
.p-quote__row .btn{flex:1;min-width:200px}
.qty--lg{background:#fff}
.qty--lg button{width:44px;height:48px}
.qty--lg input{width:84px;height:48px;font-size:1rem}
.p-quote__note{margin-top:.75rem;font-size:.8125rem;color:var(--muted)}
.p-quote__wa{display:inline-flex;align-items:center;gap:.45rem;margin-top:.85rem;color:var(--wa);font-weight:600;font-size:.9rem;text-decoration:none}
.p-quote__wa:hover{text-decoration:underline;text-underline-offset:3px}
.p-custom{display:grid;grid-template-columns:40px minmax(0,1fr);gap:.9rem;margin-top:1.25rem;padding:1.1rem 1.25rem;border:1px dashed #b6c1d6;border-radius:10px}
.p-custom__ico{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:var(--brand-tint);color:var(--brand)}
.p-custom__title{font-weight:600}
.p-custom p{font-size:.9rem;color:var(--ink-2)}
.p-custom a{font-weight:600}
.p-assure{display:grid;gap:.55rem;margin-top:1.5rem;font-size:.9rem;color:var(--ink-2)}
.p-assure li{display:flex;gap:.6rem;align-items:center}
.p-assure .icon{color:var(--brand)}

/* Tabs */
.woocommerce-tabs{grid-column:1/-1;margin-top:2rem}
.woocommerce-tabs ul.tabs{display:flex;gap:.25rem;margin:0;padding:0;list-style:none;border-bottom:1px solid var(--line);overflow-x:auto}
.woocommerce-tabs ul.tabs::before,.woocommerce-tabs ul.tabs::after{display:none}
.woocommerce-tabs ul.tabs li{margin:0;padding:0;border:0;background:none;border-radius:0}
.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce-tabs ul.tabs li a{display:block;padding:.9rem 1.1rem;color:var(--muted);font-weight:600;text-decoration:none;white-space:nowrap;box-shadow:inset 0 -2px 0 transparent}
.woocommerce-tabs ul.tabs li.active a{color:var(--brand);box-shadow:inset 0 -2px 0 var(--brand)}
.woocommerce-Tabs-panel{max-width:820px;padding-top:1.75rem;font-size:1.02rem;line-height:1.7}
.woocommerce-Tabs-panel>h2:first-child{display:none}
.woocommerce-Tabs-panel h2{font-size:1.5rem;font-weight:600;margin:2rem 0 .75rem}
.woocommerce-Tabs-panel h3{font-size:1.2rem;font-weight:600;margin:1.5rem 0 .5rem}
.woocommerce-Tabs-panel ul{list-style:disc;padding-left:1.3rem;margin:0 0 1rem}
.woocommerce-Tabs-panel table,.shop_attributes{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.95rem}
.woocommerce-Tabs-panel th,.woocommerce-Tabs-panel td{padding:.65rem .8rem;border-bottom:1px solid var(--line);text-align:left}
.woocommerce-Tabs-panel th{background:var(--mist);font-weight:600;width:30%}
.shop_attributes p{margin:0}

/* Related */
.related.products,.upsells.products{grid-column:1/-1;margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--line)}
.related.products>h2,.upsells.products>h2{margin:0 0 1.5rem;font-size:1.5rem;font-weight:600}

/* Responsive */
@media (max-width:1100px){
  .shop-layout{grid-template-columns:minmax(0,1fr)}
  .shop-side{position:static;order:2}
  .woocommerce ul.products.columns-4{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .single-product div.product{grid-template-columns:minmax(0,1fr)}
  .woocommerce ul.products,ul.products,.woocommerce ul.products.columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:520px){
  .woocommerce ul.products,ul.products,.woocommerce ul.products.columns-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
  .p-card__body{padding:.75rem .75rem .85rem}
  .p-card__title{font-size:.9rem!important}
  .p-card__cat{display:none}
  .p-card__actions{grid-template-columns:minmax(0,1fr);padding-top:.75rem}
  .p-card__actions .btn--outline{display:none}
  .p-card__actions .btn{padding-inline:.5rem;font-size:.8125rem}
  .shop-head__search{min-width:0;width:100%}
  .p-specs{grid-template-columns:minmax(0,1fr)}
  .p-specs div:nth-child(odd){padding-right:0}
}
