/* Omnia Sana - Shop page: toolbar, filter, grid/list, cards. Loaded only on Woo archive. */

/* ---- Toolbar ---- */
.os-shop-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 18px;}
.os-shop-toolbar .os-search{flex:1 1 300px;max-width:440px;margin:0;}
.os-search-clear{background:none;border:0;color:var(--os-text-dim);font-size:20px;line-height:1;cursor:pointer;padding:0 2px;flex:none;transition:color .2s ease;}
.os-search-clear:hover{color:var(--os-text);}
.os-shop-tools{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap;}

/* Segmented grid/list toggle */
.os-viewtoggle{display:inline-flex;background:var(--os-bg-soft);border:1px solid var(--os-border);border-radius:999px;padding:4px;gap:2px;}
.os-viewtoggle button{width:42px;height:36px;display:grid;place-items:center;border:0;background:transparent;color:var(--os-text-dim);border-radius:999px;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .1s ease;}
.os-viewtoggle button svg{width:18px;height:18px;}
.os-viewtoggle button:hover{color:var(--os-text-muted);}
.os-viewtoggle button.is-active{background:var(--os-accent);color:#fff;}
.os-viewtoggle button:active{transform:scale(.96);}

/* Filter toggle + ordering share the pill look */
.os-filter-toggle{display:inline-flex;align-items:center;gap:9px;background:var(--os-bg-soft);border:1px solid var(--os-border);color:var(--os-text);border-radius:999px;padding:10px 18px;font-family:var(--os-sans);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .1s ease;}
.os-filter-toggle:hover{background:var(--os-bg-softer);}
.os-filter-toggle:active{transform:scale(.96);}
.os-filter-toggle svg{width:16px;height:16px;flex:none;}
.os-filter-toggle .os-chevron{transition:transform .28s ease;}
.os-filter-toggle[aria-expanded="true"] .os-chevron{transform:rotate(180deg);}
.os-filter-count{background:var(--os-accent);color:#fff;border-radius:999px;font-size:11px;min-width:18px;height:18px;display:inline-grid;place-items:center;padding:0 5px;font-variant-numeric:tabular-nums;}

/* Ordering select restyle to match pills */
.os-woo .woocommerce-ordering{margin:0;}
.os-woo .woocommerce-ordering select.orderby{background:var(--os-bg-soft);color:var(--os-text);border:1px solid var(--os-border);border-radius:999px;padding:10px 38px 10px 16px;font-family:var(--os-sans);font-size:14px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23c2c9bf' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}

/* ---- Collapsible category filter ---- */
.os-filter-panel{overflow:hidden;max-height:0;opacity:0;transition:max-height .32s cubic-bezier(.2,0,0,1),opacity .25s ease,margin .32s ease;}
.os-filter-panel.is-open{max-height:260px;opacity:1;margin:0 0 22px;}
.os-filter-inner{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center;background:var(--os-bg-soft);border:1px solid var(--os-border);border-radius:var(--os-radius);padding:16px 18px;}
.os-filter-inner .os-filter-label{font-family:var(--os-sans);font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--os-text-dim);margin-right:4px;}
.os-cat{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-family:var(--os-sans);font-size:14px;color:var(--os-text-muted);user-select:none;padding:6px 4px;transition:color .2s ease;}
.os-cat:hover{color:var(--os-text);}
.os-cat input{position:absolute;opacity:0;width:0;height:0;}
.os-cat .os-check{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--os-text-dim);display:grid;place-items:center;flex:none;transition:background-color .18s ease,border-color .18s ease;}
.os-cat .os-check svg{width:13px;height:13px;color:#fff;opacity:0;transform:scale(.4);transition:opacity .18s ease,transform .18s cubic-bezier(.2,0,0,1);}
.os-cat input:checked + .os-check{background:var(--os-accent);border-color:var(--os-accent);}
.os-cat input:checked + .os-check svg{opacity:1;transform:scale(1);}
.os-cat input:focus-visible + .os-check{outline:2px solid var(--os-accent-hover);outline-offset:2px;}
.os-filter-clear{margin-left:auto;background:none;border:0;color:var(--os-accent-hover);font-family:var(--os-sans);font-size:13px;font-weight:600;cursor:pointer;padding:6px 4px;}
.os-filter-clear:hover{text-decoration:underline;}

/* ---- Result count / no results ---- */
.os-woo .woocommerce-result-count{color:var(--os-text-dim);font-family:var(--os-sans);font-size:14px;margin:0 0 16px;}
.os-shop-empty{display:none;text-align:center;color:var(--os-text-muted);font-family:var(--os-serif);font-size:22px;padding:56px 0;}

/* ---- Product grid (3-up) ---- */
.os-woo ul.products{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:26px !important;margin:0 !important;padding:0 !important;list-style:none !important;}
.os-woo ul.products::before,.os-woo ul.products::after{content:none !important;display:none !important;}
.os-woo ul.products li.product{clear:none !important;}
@media(max-width:900px){.os-woo ul.products{grid-template-columns:repeat(2,1fr) !important;}}
@media(max-width:560px){.os-woo ul.products{grid-template-columns:1fr !important;}}

/* ---- Cards ---- */
.os-woo ul.products li.product{width:auto !important;max-width:none !important;min-width:0 !important;float:none !important;margin:0 !important;display:flex;flex-direction:column;padding:18px;border:1px solid var(--os-border);box-shadow:0 1px 2px rgba(0,0,0,.18);transition:transform .25s cubic-bezier(.2,0,0,1),background-color .25s ease,box-shadow .25s ease;}
.os-woo ul.products li.product:hover{transform:translateY(-5px);background:var(--os-bg-softer);box-shadow:0 10px 24px rgba(0,0,0,.28),0 3px 8px rgba(0,0,0,.2);}
.os-woo ul.products li.product > a.woocommerce-LoopProduct-link{display:block;}
.os-woo ul.products li.product img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:var(--os-bg);border-radius:var(--os-radius-sm);margin-bottom:16px;outline:1px solid rgba(255,255,255,.10);outline-offset:-1px;}
.os-woo ul.products li.product .woocommerce-loop-product__title{font-size:19px;line-height:1.25;text-wrap:balance;padding:2px 2px 6px;}
.os-woo ul.products li.product .price{font-size:16px;font-variant-numeric:tabular-nums;margin-bottom:14px;}
.os-woo ul.products li.product .price ins{font-weight:600;}

/* Actions: two buttons */
.os-card-actions{margin-top:auto;display:flex;flex-direction:column;gap:9px;}
.os-woo ul.products li.product .os-card-actions .button{width:100%;text-align:center;margin:0 !important;padding:11px 18px !important;}
.os-woo ul.products li.product .os-card-actions .button:active{transform:scale(.96);}
/* Buy Now = ghost/outline, fills on hover; Add to cart keeps solid accent */
.os-woo ul.products li.product a.os-buynow{background:transparent !important;color:var(--os-accent-hover) !important;box-shadow:inset 0 0 0 1.5px var(--os-accent) !important;}
.os-woo ul.products li.product a.os-buynow:hover{background:var(--os-accent) !important;color:#fff !important;}
/* Buy Now on single product page */
.os-woo button.os-buynow-single.button{background:transparent !important;color:var(--os-accent-hover) !important;box-shadow:inset 0 0 0 1.5px var(--os-accent) !important;margin-left:12px !important;vertical-align:top;}
.os-woo button.os-buynow-single.button:hover{background:var(--os-accent) !important;color:#fff !important;}
.os-woo button.os-buynow-single.button:active{transform:scale(.96);}

/* Loading state on ajax add to cart */
.os-woo ul.products li.product .button.loading{opacity:.75;pointer-events:none;}
.os-woo ul.products li.product .button.added{margin-bottom:0;}
.os-woo ul.products li.product a.added_to_cart{display:none;} /* hide Woo's auto 'View cart' link; header cart covers it */

/* ---- List view ---- */
body.os-view-list .os-woo ul.products{grid-template-columns:1fr !important;gap:14px !important;}
body.os-view-list .os-woo ul.products li.product{flex-direction:row;align-items:center;text-align:left;padding:16px 20px;gap:24px;}
body.os-view-list .os-woo ul.products li.product > a.woocommerce-LoopProduct-link{display:flex;align-items:center;gap:20px;flex:1 1 auto;min-width:0;}
body.os-view-list .os-woo ul.products li.product img{width:104px;height:104px;aspect-ratio:1/1;margin:0;flex:none;}
body.os-view-list .os-woo ul.products li.product .woocommerce-loop-product__title{padding:0;flex:1 1 auto;}
body.os-view-list .os-woo ul.products li.product .price{margin:0 8px 0 0;flex:none;min-width:70px;text-align:right;}
body.os-view-list .os-woo ul.products li.product .os-card-actions{margin:0;flex-direction:row;flex:none;width:auto;}
body.os-view-list .os-woo ul.products li.product .os-card-actions .button{width:auto;white-space:nowrap;}
@media(max-width:640px){
  body.os-view-list .os-woo ul.products li.product{flex-wrap:wrap;}
  body.os-view-list .os-woo ul.products li.product .os-card-actions{width:100%;margin-top:6px;}
  body.os-view-list .os-woo ul.products li.product .os-card-actions .button{flex:1;}
}

/* Staggered card entrance */
@keyframes osCardIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
.os-woo ul.products li.product{animation:osCardIn .5s cubic-bezier(.2,0,0,1) both;}
.os-woo ul.products li.product:nth-child(1){animation-delay:.02s;}
.os-woo ul.products li.product:nth-child(2){animation-delay:.08s;}
.os-woo ul.products li.product:nth-child(3){animation-delay:.14s;}
.os-woo ul.products li.product:nth-child(4){animation-delay:.20s;}
.os-woo ul.products li.product:nth-child(5){animation-delay:.26s;}
.os-woo ul.products li.product:nth-child(n+6){animation-delay:.30s;}
@media(prefers-reduced-motion:reduce){.os-woo ul.products li.product{animation:none;}}
