/* ============================================================
   Nenné Store — stile lavanda per le pagine WooCommerce
   (shop, categorie, prodotto, carrello, account). La home ha
   il suo front-page.php standalone e non è toccata da qui.
   ============================================================ */
:root{
  --bg:#F5F1FB; --surface:#FFFFFF; --surface-2:#EEE7F8;
  --ink:#241A33; --muted:#7B6E92;
  --primary:#6C4CA6; --accent:#8A5FCB; --gold:#B8912F;
  --line:rgba(36,26,51,.12); --line-strong:rgba(36,26,51,.22);
  --shadow:0 20px 55px -26px rgba(60,30,110,.5);
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#130E1C; --surface:#1D1629; --surface-2:#271D38;
    --ink:#F1EAFA; --muted:#B4A5CC;
    --primary:#BBA0EC; --accent:#BBA0EC; --gold:#D8B75E;
    --line:rgba(241,234,250,.14); --line-strong:rgba(241,234,250,.26);
    --shadow:0 24px 64px -30px rgba(0,0,0,.75);
  }
}

/* ---- base ---- */
body,
body.woocommerce,
body.woocommerce-page,
.site{ background:var(--bg) !important; color:var(--ink); }
.site-content{ color:var(--ink); }
a{ color:var(--accent); }
a:hover{ color:var(--primary); }
h1,h2,h3,h4,
.page-title,.entry-title,
.woocommerce-products-header__title,
.product_title,
.section-title,
.wc-block-grid__product-title{
  font-family:Georgia,"Times New Roman",serif !important;
  color:var(--ink); letter-spacing:-.01em;
}
.term-description,.woocommerce-result-count{ color:var(--muted); }

/* ---- topbar (aggiunta via hook) ---- */
.nenne-topbar{
  background:var(--primary); color:#fff; text-align:center;
  font-size:.76rem; letter-spacing:.2em; text-transform:uppercase; padding:9px 12px;
}
@media (prefers-color-scheme:dark){ .nenne-topbar{ background:#33235C; color:#F1EAFA; } }

/* ---- header ---- */
#masthead,.site-header{
  background:color-mix(in srgb, var(--bg) 90%, transparent) !important;
  border-bottom:1px solid var(--line); box-shadow:none !important;
  position:sticky; top:0; z-index:100;
}
.site-header, .site-header a, .site-branding .site-title a{ color:var(--ink) !important; }
.site-header .custom-logo{
  border-radius:50%; height:52px !important; width:52px !important;
  object-fit:cover; border:1px solid var(--line);
  box-shadow:0 6px 18px -8px rgba(108,76,166,.6);
}
.main-navigation, .storefront-primary-navigation{ background:transparent !important; }
.main-navigation ul li a{
  color:var(--primary) !important; font-weight:600; text-transform:uppercase;
  letter-spacing:.06em; font-size:.82rem;
}
.main-navigation ul li a:hover,
.main-navigation ul li:hover > a,
.main-navigation ul li.current-menu-item > a{ color:var(--ink) !important; }
.main-navigation ul.menu ul.sub-menu, .main-navigation ul.nav-menu ul{
  background:var(--surface) !important; border:1px solid var(--line);
}
.site-header-cart .cart-contents, .site-header-cart .amount{ color:var(--ink) !important; }
.site-header-cart .count{ background:var(--accent) !important; color:#fff !important; border-color:var(--accent) !important; }
.site-search .widget_product_search input[type=search]{ border-radius:999px; }

/* ---- bottoni ---- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
button.button, .button, input[type=submit],
a.added_to_cart,
.wc-block-components-button{
  background:var(--primary) !important; color:#fff !important;
  border:0 !important; border-radius:999px !important;
  text-transform:uppercase; letter-spacing:.1em; font-weight:600;
  font-size:.78rem; padding:.8em 1.6em !important;
  transition:transform .2s, background .2s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.button:hover, input[type=submit]:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{
  background:var(--accent) !important; transform:translateY(-2px);
}

/* ---- griglia prodotti (card come la home) ---- */
.woocommerce ul.products li.product,
.wc-block-grid__product{
  background:var(--surface); border:1px solid var(--line);
  border-radius:16px; padding:12px 12px 18px; box-shadow:none;
  transition:transform .25s, box-shadow .25s;
}
.woocommerce ul.products li.product:hover,
.wc-block-grid__product:hover{ transform:translateY(-5px); box-shadow:var(--shadow); }
.woocommerce ul.products li.product a img{ border-radius:12px; margin-bottom:12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title{ font-family:Georgia,serif; color:var(--ink); font-size:1.05rem; padding:0 6px; }
.woocommerce ul.products li.product .price,
.wc-block-grid__product-price{ color:var(--ink) !important; padding:0 6px; }
.woocommerce ul.products li.product .price del{ color:var(--muted) !important; }
.woocommerce ul.products li.product .price ins{ color:var(--primary); text-decoration:none; }
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before{ color:var(--gold) !important; }

/* ---- badge sconto ---- */
.woocommerce span.onsale,
.wc-block-grid__product-onsale{
  background:var(--accent) !important; color:#fff !important;
  border-radius:999px; min-height:auto; min-width:auto; line-height:1.6;
}

/* ---- prodotto singolo / prezzi ---- */
.woocommerce div.product p.price,
.woocommerce div.product span.price{ color:var(--ink) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ background:var(--surface); border-bottom-color:var(--surface); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ color:var(--muted); }

/* ---- carrello / checkout / account: tabelle e form ---- */
.woocommerce table.shop_table,
.woocommerce table.shop_table td,
.woocommerce table.shop_table th{ border-color:var(--line); }
.woocommerce table.shop_table{ background:var(--surface); border-radius:14px; }
input:not([type=submit]), textarea, select, .input-text, .select2-selection{
  border:1px solid var(--line) !important; border-radius:10px !important;
  background:var(--surface) !important; color:var(--ink) !important;
}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #payment{ background:var(--surface); border:1px solid var(--line); border-radius:14px; }

/* ---- avvisi WooCommerce ---- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,.demo_store{
  background:var(--surface-2) !important; color:var(--ink) !important; border-top-color:var(--accent) !important;
}
.woocommerce-message::before,.woocommerce-info::before{ color:var(--accent) !important; }

/* ---- breadcrumb / ordinamento ---- */
.woocommerce-breadcrumb{ color:var(--muted); }
.woocommerce-breadcrumb a{ color:var(--accent); }
.woocommerce-ordering select{ color:var(--ink); }

/* ---- footer ---- */
.site-footer,#colophon{
  background:var(--surface-2) !important; color:var(--muted);
  border-top:1px solid var(--line);
}
.site-footer a{ color:var(--muted); }
.site-footer a:hover{ color:var(--accent); }
.storefront-handheld-footer-bar{ background:var(--primary) !important; }
.storefront-handheld-footer-bar a{ color:#fff !important; }

/* ---- pagina a tutta larghezza (sidebar rimossa via hook) ---- */
#primary,.content-area{ width:100% !important; float:none !important; margin:0 !important; }
#secondary{ display:none !important; }

/* ---- meno spazio in cima al contenuto: alzo il banner ---- */
.site-content, .site-content .col-full{ padding-top:0 !important; }
.storefront-breadcrumb{ padding-top:.5em !important; padding-bottom:0 !important; margin-bottom:0 !important; }
.storefront-primary-navigation{ padding-top:.1em !important; padding-bottom:.1em !important; }
#primary, .content-area, .site-main{ margin-top:0 !important; padding-top:0 !important; }

/* ---- header di reparto brandizzato (sostituisce il titolo default) ---- */
.woocommerce-products-header{ display:none !important; }
.nenne-cathead{
  text-align:center; position:relative;
  margin:0 0 14px; padding:6px 0 10px;
  border:0; border-radius:0; background:none; box-shadow:none;
  border-bottom:1px solid var(--line);
}
.nenne-cathead::after{ content:none; }
.nenne-cathead .eyebrow{ display:block; margin-bottom:2px; font-size:.66rem; }
.nenne-cathead__title{
  font-family:Georgia,"Times New Roman",serif !important; font-weight:700;
  font-size:clamp(1.5rem,3.4vw,2.2rem); line-height:1.1; letter-spacing:-.01em;
  margin:.02em 0 .08em; color:var(--ink);
}
.nenne-cathead__desc{ color:var(--muted); font-size:.9rem; max-width:62ch; margin:.1em auto 0; }
.nenne-chips{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:24px; }
.nenne-chips a{
  padding:9px 17px; border-radius:999px; border:1px solid var(--line-strong);
  font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
  background:color-mix(in srgb, var(--surface) 62%, transparent);
  transition:transform .18s, border-color .18s, color .18s, background .18s;
}
.nenne-chips a:hover{ border-color:var(--accent); color:var(--ink); transform:translateY(-1px); }
.nenne-chips a.is-current{ background:var(--primary); border-color:var(--primary); color:#fff; }

/* ---- griglia prodotti pulita ---- */
.woocommerce ul.products{
  display:grid !important; grid-template-columns:repeat(4,1fr);
  gap:22px; margin:0 !important; padding:0 !important; list-style:none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{ content:none !important; display:none !important; }
.woocommerce ul.products li.product{
  width:auto !important; margin:0 !important; float:none !important; clear:none !important;
}
.woocommerce ul.products li.product a img{ aspect-ratio:1; object-fit:cover; }
@media (max-width:900px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .woocommerce ul.products{ grid-template-columns:1fr; } }

/* ---- stato vuoto elegante ---- */
.nenne-empty{ text-align:center; padding:54px 20px 60px; }
.nenne-empty__title{ font-family:Georgia,serif; font-size:1.7rem; color:var(--ink); margin:0 0 8px; }
.nenne-empty p{ color:var(--muted); max-width:46ch; margin:0 auto; }
.nenne-empty .button{ margin-top:18px; display:inline-block; }
.woocommerce-info.nenne-hide{ display:none; }
