/*
Theme Name: Ozone Cosmetics
Theme URI: https://ozonecosmetics.it
Author: Gruppo O-zone
Description: Tema e-commerce Ozone Cosmetics — "Minimalismo Caldo". Design da Claude Design, palette crema/oro/ebano, Cormorant Garamond + Inter. WooCommerce-ready.
Version: 0.1.1
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: ozone-cosmetics
*/

:root{
  --oz-cream:#FAF7F2;
  --oz-ebony:#2A1F18;
  --oz-gold:#B89968;
  --oz-gold-deep:#9A7B45;
  --oz-copper:#C97B5E;
  --oz-hairline:rgba(42,31,24,0.12);
  --oz-max:1320px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--oz-cream);color:var(--oz-ebony);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--oz-gold);color:var(--oz-cream)}

.oz-wrap{max-width:var(--oz-max);margin:0 auto;padding-left:clamp(20px,4vw,48px);padding-right:clamp(20px,4vw,48px)}
.oz-serif{font-family:'Cormorant Garamond',serif}

/* buttons */
.oz-cta{transition:background .18s ease}
.oz-cta:hover{background:#A6855A}
.oz-out{transition:background .18s ease,color .18s ease}
.oz-out:hover{background:var(--oz-ebony);color:var(--oz-cream)}

/* nav underline */
.oz-navlink{position:relative}
.oz-navlink::after{content:'';position:absolute;left:0;bottom:-4px;height:1px;width:0;background:var(--oz-gold);transition:width .2s ease}
.oz-navlink:hover::after{width:100%}
.oz-has-mega{position:relative}
.oz-mega{display:none}
.oz-has-mega:hover .oz-mega{display:block}

/* product card */
.oz-card{position:relative}
.oz-card .oz-quick{opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease}
.oz-card:hover .oz-quick{opacity:1;transform:translateY(0)}
.oz-cat:hover .oz-cat-arrow{transform:translateX(6px)}
.oz-cat-arrow{transition:transform .2s ease}

/* wordmark logo */
.oz-wordmark{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:24px;letter-spacing:0.16em;text-transform:uppercase;color:var(--oz-ebony);line-height:1;white-space:nowrap}
.oz-wordmark small{display:block;font-family:'Inter',sans-serif;font-size:8px;letter-spacing:0.34em;color:var(--oz-gold);margin-top:4px;font-weight:600}

/* mobile menu toggle (hidden on desktop) */
.oz-burger{display:none}

/* mobile nav panel */
.oz-mobile-nav{display:none;background:#FAF7F2;border-bottom:1px solid var(--oz-hairline);padding:6px clamp(20px,4vw,48px) 18px}
.oz-mobile-nav.open{display:block}
.oz-mobile-nav a{display:block;padding:15px 2px;border-bottom:1px solid rgba(42,31,24,0.08);font-size:14px;letter-spacing:0.06em;text-transform:uppercase;font-weight:500}
.oz-mobile-nav a:last-child{border-bottom:none}
@media (min-width:981px){.oz-mobile-nav{display:none!important}}

/* responsive */
@media (max-width:980px){
  .oz-grid-2{grid-template-columns:1fr!important}
  .oz-nav-desktop{display:none!important}
  .oz-burger{display:inline-flex!important}
  .oz-shop-grid{grid-template-columns:1fr!important}
  .oz-shop-aside{position:static!important}
  .oz-prod-grid{grid-template-columns:1fr!important}
  .oz-prod-info{position:static!important}
}
@media (max-width:560px){
  .oz-grid-4{grid-template-columns:1fr!important}
}

/* Header mobile: stringi spazi, riduci logo, evita overflow orizzontale */
html,body{overflow-x:hidden;max-width:100%}
@media (max-width:980px){
  .oz-headbar{gap:12px!important}
  .oz-headactions{gap:16px!important}
  .oz-headbar img,.oz-headbar .custom-logo{height:34px!important;width:auto!important}
}
@media (max-width:420px){
  .oz-wrap{padding-left:14px;padding-right:14px}
  .oz-headbar{gap:8px!important}
  .oz-headactions{gap:13px!important}
  .oz-headbar img,.oz-headbar .custom-logo{height:30px!important}
}

/* Hero mobile: testo più in alto + scrim chiaro per leggibilità su immagine */
@media (max-width:780px){
  .oz-hero{height:auto!important;min-height:60vh!important;justify-content:flex-start!important;background-position:70% center!important}
  .oz-hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(250,247,242,0.95) 0%,rgba(250,247,242,0.82) 42%,rgba(250,247,242,0.35) 100%)}
  .oz-hero-inner{padding-top:clamp(30px,9vw,60px);padding-bottom:clamp(28px,6vw,48px)}
  .oz-hero-inner h1{text-shadow:0 1px 14px rgba(250,247,242,0.6)}
}

/* Footer: forza colore chiaro su TUTTI i link (colonne Linee/Shop/Aiuto + legali Iubenda) — erano tono su tono su fondo scuro */
footer a,footer a.iubenda-embed,footer a.iubenda-embed *{color:rgba(250,247,242,0.78)!important}
footer a:hover,footer a.iubenda-embed:hover{color:#FAF7F2!important}

/* Paginazione shop — orizzontale */
ul.page-numbers{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;justify-content:center;align-items:center}
ul.page-numbers li{margin:0;display:flex}
ul.page-numbers a.page-numbers,ul.page-numbers span.page-numbers{display:flex;min-width:44px;height:44px;align-items:center;justify-content:center;padding:0 14px;border:1px solid rgba(42,31,24,0.18);font-size:14px;letter-spacing:0.03em;color:#2A1F18;text-decoration:none;transition:border-color .15s,color .15s,background .15s}
ul.page-numbers a.page-numbers:hover{border-color:var(--oz-gold);color:var(--oz-gold)}
ul.page-numbers span.current{background:var(--oz-gold);border-color:var(--oz-gold);color:#FAF7F2}
ul.page-numbers .dots{border-color:transparent}

/* Tab/accordion scheda prodotto: Descrizione | Modalità d'uso | Ingredienti */
.oz-prodtabs .oz-tab{border-bottom:1px solid rgba(42,31,24,0.14)}
.oz-prodtabs .oz-tab-h{list-style:none;cursor:pointer;padding:18px 2px;font-size:23px;color:#2A1F18;display:flex;align-items:center;justify-content:space-between;gap:12px;outline:none}
.oz-prodtabs .oz-tab-h::-webkit-details-marker{display:none}
.oz-prodtabs .oz-tab-h::after{content:'+';color:var(--oz-gold);font-family:'Inter',sans-serif;font-size:22px;line-height:1;font-weight:400}
.oz-prodtabs .oz-tab[open] .oz-tab-h::after{content:'\2013'}
.oz-prodtabs .oz-tab-c{padding:0 2px 24px;font-size:15px;line-height:1.65;color:rgba(42,31,24,0.78)}
.oz-prodtabs .oz-tab-c p{margin:0 0 12px}
.oz-prodtabs .oz-tab-c p:last-child{margin-bottom:0}

/* Selettore Formato (Standard / Mini) */
.oz-formato .oz-fmt{flex:1;min-height:56px;padding:9px 14px;background:#FAF7F2;border:1px solid rgba(42,31,24,0.22);color:#2A1F18;font-family:'Inter',sans-serif;font-size:14px;font-weight:600;letter-spacing:0.04em;cursor:pointer;transition:border-color .15s,background .15s;text-align:center;line-height:1.2}
.oz-formato .oz-fmt:hover{border-color:var(--oz-gold)}
.oz-formato .oz-fmt.is-active{border-color:var(--oz-gold);background:#F1EBE1;box-shadow:inset 0 0 0 1px var(--oz-gold)}
.oz-formato .oz-fmt:focus-visible{outline:2px solid var(--oz-gold);outline-offset:2px}

/* ===== Hero mobile: compattazione + stat una riga above-the-fold ===== */
@media (max-width:768px){
  .oz-hero{height:auto!important;min-height:calc(100svh - 128px)!important;background-position:78% center!important}
  .oz-hero .oz-hero-inner{padding-bottom:16px!important}
  .oz-h-hero{font-size:clamp(33px,8.6vw,46px)!important;line-height:0.99!important}
  .oz-hero-sub{font-size:14.5px!important;line-height:1.5!important;margin-top:14px!important;max-width:30ch!important}
  .oz-hero-ctas{margin-top:20px!important;gap:9px!important;flex-wrap:nowrap!important}
  .oz-hero-ctas .oz-cta,.oz-hero-ctas .oz-out{flex:1 1 0;min-width:0;text-align:center;white-space:nowrap;padding:14px 8px!important;font-size:11.5px!important;letter-spacing:0.08em!important}
  /* barra stat: una sola riga divisa */
  .oz-hero-stats{gap:0!important;flex-wrap:nowrap!important;width:100%;justify-content:space-between;align-items:stretch}
  .oz-hero-stats .oz-stat{flex:1 1 0;min-width:0;justify-content:center;gap:0!important;padding:2px 6px}
  .oz-hero-stats .oz-stat + .oz-stat{border-left:1px solid rgba(42,31,24,0.2)}
  .oz-hero-stats .oz-stat-v{font-size:13px!important;line-height:1.15;text-align:center;white-space:nowrap}
  .oz-hero-stats .oz-stat-l{display:none!important}
}
@media (max-width:430px){
  .oz-h-hero{font-size:clamp(30px,8.4vw,40px)!important}
  .oz-hero-stats .oz-stat-v{font-size:12px!important}
}
