/*
Theme Name: Livandia Store
Theme URI: https://livandia.com
Description: Tema child WooCommerce per Livandia, basato su Storefront. Design e-commerce generalista, leggero, SEO-friendly e orientato alla conversione.
Author: Livandia
Version: 0.9.0
Template: storefront
Text Domain: livandia-store
*/

:root {
  --lv-ink: #152033;
  --lv-ink-2: #24324a;
  --lv-muted: #64748b;
  --lv-bg: #f5f7fb;
  --lv-surface: #ffffff;
  --lv-line: #e5eaf1;
  --lv-primary: #2457e6;
  --lv-primary-dark: #1742bd;
  --lv-primary-soft: #eef3ff;
  --lv-accent: #0f9f77;
  --lv-accent-soft: #ecfaf6;
  --lv-warm: #f7b84b;
  --lv-danger: #cf3948;
  --lv-radius: 16px;
  --lv-radius-sm: 10px;
  --lv-shadow: 0 10px 30px rgba(21, 32, 51, .08);
  --lv-shadow-soft: 0 4px 16px rgba(21, 32, 51, .05);
  --lv-max: 1280px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--lv-bg);
  color: var(--lv-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--lv-primary); text-decoration-thickness: .08em; text-underline-offset: .16em; }
a:hover { color: var(--lv-primary-dark); }
.site { overflow: clip; }
.col-full { max-width: var(--lv-max); padding-left: 24px; padding-right: 24px; }

/* Header */
.livandia-topbar {
  background: #101827;
  color: #e6edf7;
  font-size: .88rem;
}
.livandia-topbar__inner {
  max-width: var(--lv-max);
  margin: 0 auto;
  padding: .55rem 24px;
  display: flex;
  gap: 1.1rem;
  justify-content: center;
  flex-wrap: wrap;
}
.livandia-topbar span { white-space: nowrap; }
.site-header {
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid var(--lv-line);
  box-shadow: 0 2px 14px rgba(21,32,51,.035);
  padding: 1rem 0 .7rem;
}
.site-branding .site-title,
.site-title { margin-bottom: 0; }
.site-branding .site-title a,
.site-title a {
  color: var(--lv-ink);
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
  font-size: 1.34rem;
  text-decoration: none;
}
.site-description { color: var(--lv-muted); margin-top: .2rem; }
.main-navigation { margin-top: .7rem; }
.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a {
  color: var(--lv-ink);
  font-weight: 700;
  font-size: .96rem;
}
.main-navigation ul.menu > li > a:hover,
.main-navigation ul.nav-menu > li > a:hover { color: var(--lv-primary); }
.site-search .widget_product_search form input[type="search"] {
  background: #fff;
  border: 1px solid var(--lv-line);
  border-radius: 999px;
  min-height: 46px;
  box-shadow: inset 0 0 0 1px transparent;
}
.site-search .widget_product_search form input[type="search"]:focus {
  border-color: #a9bdf8;
  box-shadow: 0 0 0 4px rgba(36,87,230,.08);
}
.site-header-cart .cart-contents { color: var(--lv-ink); font-weight: 700; }

/* Buttons */
button,
.button,
.added_to_cart,
input[type="button"],
input[type="reset"],
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--lv-primary);
  color: #fff;
  border: 0;
  border-radius: var(--lv-radius-sm);
  font-weight: 800;
  padding: .83rem 1.15rem;
  box-shadow: none;
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease;
}
button:hover,
.button:hover,
.added_to_cart:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background: var(--lv-primary-dark);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 7px 18px rgba(36,87,230,.18);
}
.livandia-btn--secondary {
  background: #fff !important;
  color: var(--lv-ink) !important;
  border: 1px solid var(--lv-line) !important;
}
.livandia-btn--secondary:hover {
  border-color: #c7d2e6 !important;
  box-shadow: var(--lv-shadow-soft) !important;
}

/* Homepage */
.livandia-home { padding-bottom: 3.5rem; }
.livandia-hero {
  padding: 2.1rem 0 1.3rem;
}
.livandia-hero__card {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 85% 20%, rgba(255,255,255,.21), transparent 24%),
    linear-gradient(120deg, #17295c 0%, #2457e6 62%, #4477ef 100%);
  border-radius: 24px;
  min-height: 390px;
  padding: clamp(2rem, 5vw, 4.6rem);
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 2rem;
  align-items: center;
  box-shadow: 0 20px 60px rgba(23,41,92,.22);
}
.livandia-hero__content { max-width: 690px; position: relative; z-index: 2; }
.livandia-kicker {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .38rem .68rem;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  color: #eef3ff;
  font-weight: 800;
  font-size: .82rem;
  letter-spacing: .02em;
  margin-bottom: 1rem;
}
.livandia-hero h1 {
  color: #fff;
  font-size: clamp(2.2rem, 5vw, 4.4rem);
  line-height: 1.02;
  letter-spacing: -.045em;
  margin: 0 0 1rem;
  max-width: 760px;
}
.livandia-hero p {
  color: #dce6ff;
  font-size: clamp(1rem, 1.8vw, 1.18rem);
  max-width: 660px;
  margin: 0 0 1.5rem;
}
.livandia-hero__actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.livandia-hero__actions .button {
  background: #fff;
  color: #17315f;
}
.livandia-hero__actions .button:hover { background: #f4f7ff; color: #17315f; }
.livandia-hero__actions .livandia-btn--ghost {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255,255,255,.35);
}
.livandia-hero__visual {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  transform: rotate(-2deg);
}
.livandia-hero__tile {
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 18px;
  padding: 1rem;
  min-height: 120px;
  color: var(--lv-ink);
  box-shadow: 0 14px 30px rgba(7,18,53,.15);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.livandia-hero__tile strong { font-size: 1.05rem; }
.livandia-hero__tile span { color: var(--lv-muted); font-size: .9rem; }
.livandia-hero__tile--accent { background: var(--lv-accent-soft); min-height: 165px; }
.livandia-hero__tile--warm { background: #fff7e7; min-height: 150px; }
.livandia-hero__tile--blue { background: var(--lv-primary-soft); }

.livandia-benefits {
  margin: 1rem auto 2.2rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .8rem;
}
.livandia-benefit {
  background: #fff;
  border: 1px solid var(--lv-line);
  border-radius: 14px;
  padding: 1rem 1.1rem;
  box-shadow: var(--lv-shadow-soft);
}
.livandia-benefit strong { display: block; color: var(--lv-ink); font-size: .95rem; }
.livandia-benefit span { color: var(--lv-muted); font-size: .86rem; }

.livandia-section { padding: 1.2rem 0 2.4rem; }
.livandia-section__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.1rem;
}
.livandia-section__head h2 {
  margin: 0;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
  letter-spacing: -.02em;
}
.livandia-section__head p { margin: .25rem 0 0; color: var(--lv-muted); }
.livandia-section__head a { font-weight: 800; text-decoration: none; }

.livandia-categories {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.livandia-category {
  background: #fff;
  border: 1px solid var(--lv-line);
  border-radius: var(--lv-radius);
  overflow: hidden;
  text-decoration: none;
  color: var(--lv-ink);
  min-height: 220px;
  position: relative;
  box-shadow: var(--lv-shadow-soft);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.livandia-category:hover {
  color: var(--lv-ink);
  transform: translateY(-3px);
  box-shadow: var(--lv-shadow);
  border-color: #d3dbe9;
}
.livandia-category__image {
  height: 145px;
  background: linear-gradient(135deg, #edf2ff 0%, #f8faff 100%);
  overflow: hidden;
}
.livandia-category__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.livandia-category__body { padding: .95rem 1rem 1rem; }
.livandia-category__body strong { display: block; font-size: 1rem; }
.livandia-category__body span { color: var(--lv-muted); font-size: .86rem; }

.livandia-promo {
  background: linear-gradient(120deg, #0d7058, #11a67c);
  color: #fff;
  border-radius: 20px;
  padding: 1.7rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  margin: .5rem 0 2rem;
  box-shadow: 0 14px 36px rgba(15,159,119,.18);
}
.livandia-promo h2 { color: #fff; margin: 0 0 .3rem; }
.livandia-promo p { margin: 0; color: #dff8f0; }
.livandia-promo .button { background: #fff; color: #0b5e49; white-space: nowrap; }

/* WooCommerce catalog */
.woocommerce-products-header,
.page-header {
  background: linear-gradient(135deg,#fff 0%,#f2f5ff 100%);
  border: 1px solid var(--lv-line);
  border-radius: var(--lv-radius);
  padding: 1.4rem 1.6rem;
  margin-bottom: 1.6rem;
}
.woocommerce-products-header__title,
.entry-title,
h1,h2,h3 { color: var(--lv-ink); }
ul.products { margin-left: -.5rem; margin-right: -.5rem; }
ul.products li.product {
  background: var(--lv-surface);
  border: 1px solid var(--lv-line);
  border-radius: var(--lv-radius);
  padding: 1rem;
  box-shadow: var(--lv-shadow-soft);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
ul.products li.product:hover {
  transform: translateY(-3px);
  box-shadow: var(--lv-shadow);
  border-color: #d5deec;
}
ul.products li.product img {
  border-radius: 11px;
  background: #fff;
}
ul.products li.product .woocommerce-loop-product__title {
  color: var(--lv-ink);
  font-weight: 800;
  line-height: 1.35;
  min-height: 2.7em;
}
ul.products li.product .price,
.single-product div.product p.price,
.single-product div.product span.price {
  color: var(--lv-primary);
  font-weight: 900;
}
.onsale {
  background: var(--lv-accent);
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: .3rem .65rem;
  font-weight: 900;
}

/* Product page */
.single-product div.product {
  background: #fff;
  border: 1px solid var(--lv-line);
  border-radius: var(--lv-radius);
  padding: 1.5rem;
  box-shadow: var(--lv-shadow-soft);
}
.single-product div.product .woocommerce-product-gallery img { border-radius: 13px; }
.product_meta { color: var(--lv-muted); font-size: .92rem; }
.woocommerce-tabs ul.tabs li a { font-weight: 800; }

/* Cart / checkout */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: 10px;
  border: 1px solid var(--lv-line);
  background: #fff;
}
.woocommerce-cart-form,
.cart_totals,
.woocommerce-checkout-review-order,
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-account .entry-content {
  background: #fff;
  border: 1px solid var(--lv-line);
  border-radius: var(--lv-radius);
  padding: 1rem;
}
input[type="text"], input[type="email"], input[type="tel"], input[type="password"],
input[type="number"], input[type="search"], textarea, select {
  background: #fff;
  border: 1px solid #d9e0eb;
  border-radius: 9px;
  min-height: 42px;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--lv-primary);
  box-shadow: 0 0 0 3px rgba(36,87,230,.09);
  outline: 0;
}

/* Footer */
.site-footer {
  background: #101827;
  color: #cbd5e1;
  padding: 2.7rem 0 2rem;
}
.site-footer a { color: #fff; }
.site-footer a:hover { color: #c9d5ff; }
.site-info { color: #94a3b8; }
.livandia-footer-intro {
  border-bottom: 1px solid rgba(255,255,255,.1);
  padding-bottom: 1.4rem;
  margin-bottom: 1.4rem;
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: end;
}
.livandia-footer-intro strong { color: #fff; font-size: 1.15rem; letter-spacing: .08em; }
.livandia-footer-intro p { margin: .25rem 0 0; color: #94a3b8; max-width: 650px; }

@media (max-width: 1024px) {
  .livandia-hero__card { grid-template-columns: 1fr; min-height: auto; }
  .livandia-hero__visual { grid-template-columns: repeat(4,1fr); transform: none; }
  .livandia-hero__tile { min-height: 105px; }
  .livandia-benefits, .livandia-categories { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .col-full { padding-left: 16px; padding-right: 16px; }
  .site-header { padding: .7rem 0; }
  .livandia-topbar__inner { padding-left: 16px; padding-right: 16px; gap: .55rem .9rem; }
  .livandia-hero { padding-top: 1rem; }
  .livandia-hero__card { padding: 1.4rem; border-radius: 18px; }
  .livandia-hero__visual { grid-template-columns: 1fr 1fr; gap: .7rem; }
  .livandia-benefits, .livandia-categories { grid-template-columns: 1fr 1fr; gap: .7rem; }
  .livandia-category { min-height: 190px; }
  .livandia-category__image { height: 120px; }
  .livandia-promo { align-items: flex-start; flex-direction: column; padding: 1.35rem; }
  .livandia-section__head { align-items: flex-start; flex-direction: column; }
  .woocommerce-products-header, .page-header { padding: 1rem; }
  ul.products li.product { padding: .8rem; }
  .single-product div.product { padding: 1rem; }
  .livandia-footer-intro { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 480px) {
  .livandia-benefits, .livandia-categories { grid-template-columns: 1fr; }
  .livandia-hero__visual { grid-template-columns: 1fr 1fr; }
}


/* ===== Livandia v0.3: compact commerce header ===== */
@media (min-width: 768px) {
  .site-header {
    padding-top: .55rem;
    padding-bottom: .45rem;
  }
  .site-header .site-branding,
  .site-header .site-search,
  .site-header .site-header-cart {
    margin-bottom: .45rem;
  }
  .site-branding .site-title a,
  .site-title a {
    font-size: 1.42rem;
    letter-spacing: .13em;
  }
  .main-navigation {
    margin-top: .1rem;
  }
  .main-navigation ul.menu > li > a,
  .main-navigation ul.nav-menu > li > a {
    padding-top: .7rem;
    padding-bottom: .7rem;
  }
  .site-header-cart .cart-contents {
    padding-top: .7rem;
    padding-bottom: .7rem;
  }
}

.livandia-category-nav {
  background: #fff;
  border-bottom: 1px solid var(--lv-line);
}
.livandia-category-nav__inner {
  max-width: var(--lv-max);
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: .2rem;
  overflow-x: auto;
  scrollbar-width: thin;
}
.livandia-category-nav a {
  flex: 0 0 auto;
  display: inline-block;
  padding: .72rem .8rem;
  color: var(--lv-ink-2);
  text-decoration: none;
  font-size: .9rem;
  font-weight: 750;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
}
.livandia-category-nav a:hover {
  color: var(--lv-primary);
  border-bottom-color: var(--lv-primary);
}

/* Service pages should not dominate primary navigation. */
.main-navigation .menu-item.livandia-service-menu-item > a {
  color: var(--lv-muted);
  font-weight: 650;
}

/* More compact hero now that header is smaller. */
.livandia-hero { padding-top: 1.35rem; }

/* Currency/cart area */
.site-header-cart .cart-contents .amount { font-weight: 900; }
.site-header-cart .cart-contents .count { color: var(--lv-muted); }

/* Logged-in WordPress admin bar is not visible to customers; keep layout clean below it. */
.admin-bar .livandia-topbar { position: relative; }

@media (max-width: 767px) {
  .livandia-category-nav__inner { padding-left: 16px; padding-right: 16px; }
  .livandia-category-nav a { padding: .62rem .7rem; font-size: .86rem; }
}


/* === Livandia v0.9 Go-Live polish === */
.site-header .col-full { display:flex; align-items:center; flex-wrap:wrap; column-gap:2rem; }
.site-header .site-branding { width:auto; margin-right:auto; margin-bottom:0; }
.site-header .site-search { width:min(360px,35vw); margin:0 0 0 auto; }
.site-header .site-header-cart { width:auto; margin:0 0 0 1rem; }
.storefront-primary-navigation { width:100%; border-top:1px solid var(--lv-line); margin-top:.8rem; }
.storefront-primary-navigation .col-full { min-height:54px; }
.main-navigation { margin-top:0; width:auto; }
.main-navigation ul.menu > li > a, .main-navigation ul.nav-menu > li > a { padding:1rem 1.1rem; }

.livandia-category-nav { background:#fff; border-bottom:1px solid var(--lv-line); }
.livandia-category-nav__inner { max-width:var(--lv-max); margin:0 auto; padding:.65rem 24px; display:flex; gap:.5rem; overflow:auto; scrollbar-width:none; }
.livandia-category-nav__inner::-webkit-scrollbar { display:none; }
.livandia-category-nav a { flex:0 0 auto; text-decoration:none; color:var(--lv-ink-2); font-size:.88rem; font-weight:750; background:#f7f9fc; border:1px solid var(--lv-line); border-radius:999px; padding:.5rem .85rem; }
.livandia-category-nav a:hover { color:var(--lv-primary); border-color:#b9c8f8; background:#fff; }

/* Product cards: consistent marketplace-ready proportions */
ul.products li.product { display:flex; flex-direction:column; }
ul.products li.product img { aspect-ratio:1/1; object-fit:contain; padding:.35rem; }
ul.products li.product .woocommerce-loop-product__title { min-height:2.8em; line-height:1.4; font-size:.96rem; }
ul.products li.product .price { color:var(--lv-ink); font-size:1.05rem; font-weight:850; margin-top:auto; }
ul.products li.product .button { width:100%; text-align:center; margin-top:.8rem; }
.onsale { background:#fff7e7; color:#8a5b00; border:1px solid #f3d18e; border-radius:999px; font-weight:800; }

/* Single product */
.single-product div.product { background:#fff; border:1px solid var(--lv-line); border-radius:20px; padding:clamp(1rem,3vw,2rem); box-shadow:var(--lv-shadow-soft); }
.single-product div.product .product_title { font-size:clamp(1.7rem,3vw,2.5rem); line-height:1.08; letter-spacing:-.025em; }
.single-product div.product p.price { color:var(--lv-ink); font-size:1.5rem; font-weight:900; }
.livandia-product-trust { display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; margin:1.2rem 0 0; }
.livandia-product-trust span { background:#f7f9fc; border:1px solid var(--lv-line); border-radius:10px; padding:.65rem .7rem; color:var(--lv-ink-2); font-size:.82rem; font-weight:700; text-align:center; }

/* Cart & checkout */
.woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order, .woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields { background:#fff; border:1px solid var(--lv-line); border-radius:16px; padding:1rem; box-shadow:var(--lv-shadow-soft); }
.woocommerce-checkout input.input-text, .woocommerce-checkout select, .woocommerce-checkout textarea, .woocommerce-cart input.input-text { border:1px solid #d8dfeb; border-radius:9px; background:#fff; }

/* Footer */
.site-footer { background:#101827; color:#dfe7f3; padding:0; }
.site-footer a { color:#eef4ff; }
.site-footer a:hover { color:#fff; }
.livandia-footer-intro { max-width:var(--lv-max); margin:0 auto; padding:2rem 24px 1.2rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; border-bottom:1px solid rgba(255,255,255,.12); }
.livandia-footer-intro strong { color:#fff; font-size:1.35rem; letter-spacing:.12em; }
.livandia-footer-intro p { margin:.35rem 0 0; max-width:760px; color:#b9c4d3; }
.livandia-footer-links { max-width:var(--lv-max); margin:0 auto; padding:1.3rem 24px 2rem; display:grid; grid-template-columns:2fr 1fr 1fr; gap:2rem; }
.livandia-footer-links h3 { color:#fff; font-size:.92rem; margin:0 0 .7rem; }
.livandia-footer-links ul { list-style:none; margin:0; padding:0; }
.livandia-footer-links li { margin:.35rem 0; }
.livandia-footer-links a { text-decoration:none; font-size:.9rem; color:#c7d1df; }
.livandia-footer-meta { grid-column:1/-1; border-top:1px solid rgba(255,255,255,.1); padding-top:1rem; color:#93a0b2; font-size:.82rem; }
.site-info { display:none; }

/* No sidebar on commerce screens */
.woocommerce-page #primary, .woocommerce-page .content-area { width:100%; float:none; margin:0; }
.woocommerce-page #secondary { display:none; }

/* Basic accessible focus */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline:3px solid rgba(36,87,230,.28); outline-offset:2px; }

@media (max-width: 900px) {
  .site-header .site-search { order:3; width:100%; margin:.8rem 0 0; }
  .livandia-benefits { grid-template-columns:repeat(2,1fr); }
  .livandia-categories { grid-template-columns:repeat(2,1fr); }
  .livandia-product-trust { grid-template-columns:1fr; }
  .livandia-footer-links { grid-template-columns:1fr 1fr; }
}
@media (max-width: 600px) {
  .livandia-topbar__inner { justify-content:flex-start; flex-wrap:nowrap; overflow:auto; }
  .site-header .col-full { gap:.8rem; }
  .site-branding .site-title a, .site-title a { font-size:1.1rem; }
  .livandia-hero { padding-top:1rem; }
  .livandia-hero__card { grid-template-columns:1fr; min-height:auto; padding:1.4rem; border-radius:18px; }
  .livandia-hero__visual { display:none; }
  .livandia-benefits, .livandia-categories { grid-template-columns:1fr 1fr; }
  .livandia-section__head { align-items:flex-start; flex-direction:column; }
  .livandia-promo { align-items:flex-start; flex-direction:column; padding:1.3rem; }
  ul.products.columns-4 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
  ul.products.columns-4 li.product { width:auto !important; float:none !important; margin:0 !important; padding:.7rem; }
  .livandia-footer-intro { flex-direction:column; align-items:flex-start; }
  .livandia-footer-links { grid-template-columns:1fr; }
}
