/*
Theme Name: Argiva
Theme URI: http://localhost/argiva
Description: Tema brand per Argiva — caseificio di mozzarella di bufala, Piana del Sele. Child theme di Storefront. Palette navy/ocra/crema, font Playfair Display / Oswald / Work Sans.
Author: Argiva
Template: storefront
Version: 1.0.0
Text Domain: argiva
*/

/* ============================================================
   ARGIVA — DESIGN TOKENS
   ============================================================ */
:root {
	--argiva-navy:   #293A66;
	--argiva-navy-2: #1f2d50;
	--argiva-ocra:   #EDB949;
	--argiva-ocra-2: #e0a92f;
	--argiva-crema:  #F5EFE2;
	--argiva-slate:  #3A4358;
	--argiva-white:  #FFFFFF;
	--argiva-ink:    #20283f;

	--argiva-radius:    16px;
	--argiva-radius-sm: 10px;
	--argiva-shadow:    0 14px 40px -18px rgba(41,58,102,.35);
	--argiva-shadow-sm: 0 6px 20px -12px rgba(41,58,102,.4);

	--font-display: "Playfair Display", Georgia, serif;
	--font-label:   "Oswald", "Arial Narrow", sans-serif;
	--font-body:    "Work Sans", -apple-system, system-ui, sans-serif;
}

/* ============================================================
   BASE
   ============================================================ */
body {
	font-family: var(--font-body);
	font-weight: 400;
	color: var(--argiva-ink);
	background: var(--argiva-crema);
	line-height: 1.65;
}

/* Larghezza generosa per tutto il sito (header, footer, contenuti) */
.col-full {
	max-width: 1480px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 2rem;
	padding-right: 2rem;
	box-sizing: border-box;
}
.site-content { max-width: none; }

/* FRONT PAGE: libera il wrapper di contenuto cosi le sezioni vanno full-bleed */
.home #content > .col-full {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}
.home #content > .col-full > .woocommerce { width: 100%; }

h1, h2, h3, h4, .page-title, .entry-title {
	font-family: var(--font-display);
	color: var(--argiva-navy);
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1.15;
}

a { color: var(--argiva-navy); }
a:hover { color: var(--argiva-ocra-2); }

/* Section heading kicker style */
.argiva-kicker {
	font-family: var(--font-label);
	text-transform: uppercase;
	letter-spacing: .22em;
	font-weight: 400;
	font-size: .8rem;
	color: var(--argiva-ocra-2);
	display: block;
	margin-bottom: .6rem;
}

/* ============================================================
   HEADER — navy dominant
   ============================================================ */
.site-header {
	background-color: var(--argiva-navy) !important;
	border-bottom: 3px solid var(--argiva-ocra);
	padding-top: 1.2em;
	padding-bottom: 1.2em;
}
.site-header,
.site-header a,
.site-branding .site-title a,
.site-header .site-description {
	color: var(--argiva-crema) !important;
}
.site-title {
	font-family: var(--font-display);
	font-weight: 700;
	letter-spacing: .04em;
}
.site-description {
	font-family: var(--font-label);
	text-transform: uppercase;
	letter-spacing: .18em;
	font-size: .72rem;
	opacity: .85;
}

/* Primary nav — Oswald uppercase */
.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a {
	font-family: var(--font-label);
	text-transform: uppercase;
	letter-spacing: .12em;
	font-weight: 400;
	font-size: .92rem;
	color: var(--argiva-crema) !important;
}
.main-navigation ul.menu > li > a:hover,
.main-navigation ul.nav-menu > li > a:hover {
	color: var(--argiva-ocra) !important;
}
.main-navigation, .secondary-navigation { background-color: transparent !important; }

/* Cart in header */
.site-header-cart .cart-contents { color: var(--argiva-crema) !important; }
.site-header-cart .cart-contents:hover { color: var(--argiva-ocra) !important; }
.site-header-cart .widget_shopping_cart { background: var(--argiva-white); }

/* ============================================================
   BUTTONS — per brand guidelines
   Primario = ocra/text navy · Secondario = navy/text crema · Ghost = bordo navy
   ============================================================ */
.button,
button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	font-family: var(--font-label);
	text-transform: uppercase;
	letter-spacing: .1em;
	font-weight: 500;
	font-size: .9rem;
	border: none;
	border-radius: var(--argiva-radius-sm);
	padding: .85em 1.6em;
	transition: transform .15s ease, background-color .15s ease, box-shadow .15s ease;
}

/* PRIMARIO — giallo ocra, testo navy (add-to-cart, checkout, alt) */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce #place_order,
.single_add_to_cart_button,
.argiva-btn-primary {
	background-color: var(--argiva-ocra) !important;
	color: var(--argiva-navy) !important;
	box-shadow: var(--argiva-shadow-sm);
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #place_order:hover,
.single_add_to_cart_button:hover,
.argiva-btn-primary:hover {
	background-color: var(--argiva-ocra-2) !important;
	color: var(--argiva-navy) !important;
	transform: translateY(-2px);
}

/* SECONDARIO — navy, testo crema (default buttons) */
.button,
button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	background-color: var(--argiva-navy);
	color: var(--argiva-crema) !important;
}
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
	background-color: var(--argiva-navy-2);
	color: var(--argiva-white) !important;
	transform: translateY(-2px);
}

/* GHOST — bordo navy trasparente */
.argiva-btn-ghost {
	background: transparent !important;
	color: var(--argiva-navy) !important;
	border: 2px solid var(--argiva-navy) !important;
	box-shadow: none;
}
.argiva-btn-ghost:hover {
	background: var(--argiva-navy) !important;
	color: var(--argiva-crema) !important;
}

/* ============================================================
   PRODUCT CARDS — rounded, warm, luminous
   ============================================================ */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: var(--argiva-white);
	border-radius: var(--argiva-radius);
	box-shadow: var(--argiva-shadow);
	padding: 1.2em 1.2em 1.6em;
	text-align: center;
	transition: transform .2s ease, box-shadow .2s ease;
	overflow: hidden;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 50px -20px rgba(41,58,102,.45);
}
.woocommerce ul.products li.product img {
	border-radius: var(--argiva-radius-sm);
	margin-bottom: 1em;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--argiva-navy);
	font-size: 1.25rem;
	padding-bottom: .3em;
}
.woocommerce ul.products li.product .price {
	color: var(--argiva-slate);
	font-family: var(--font-label);
	font-weight: 500;
	font-size: 1.1rem;
}
.woocommerce ul.products li.product .price ins { text-decoration: none; }

/* Add-to-cart nel loop = azione primaria (ocra) per brand */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product a.added_to_cart {
	background-color: var(--argiva-ocra) !important;
	color: var(--argiva-navy) !important;
	display: inline-block;
	margin-top: .4em;
	box-shadow: var(--argiva-shadow-sm);
}
.woocommerce ul.products li.product .button.add_to_cart_button:hover {
	background-color: var(--argiva-ocra-2) !important;
	transform: translateY(-2px);
}

/* Sale / status badge */
.woocommerce span.onsale,
.argiva-badge {
	background: var(--argiva-ocra);
	color: var(--argiva-navy);
	font-family: var(--font-label);
	text-transform: uppercase;
	letter-spacing: .1em;
	font-weight: 500;
	border-radius: 999px;
	min-height: auto;
	min-width: auto;
	padding: .35em .9em;
	line-height: 1;
}

/* Single product */
.woocommerce div.product .product_title { font-size: 2.4rem; }
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--argiva-navy);
	font-family: var(--font-label);
	font-weight: 600;
}
.woocommerce #reviews #comments h2,
.woocommerce-tabs .panel h2 { font-family: var(--font-display); }

/* ============================================================
   FOOTER — navy
   ============================================================ */
.site-footer {
	background-color: var(--argiva-navy) !important;
	color: var(--argiva-crema);
	border-top: 3px solid var(--argiva-ocra);
}
.site-footer a { color: var(--argiva-ocra) !important; }
.site-footer h1, .site-footer h2, .site-footer h3 { color: var(--argiva-white); }

/* ============================================================
   FORMS / INPUTS
   ============================================================ */
input[type="text"], input[type="email"], input[type="password"],
input[type="tel"], input[type="number"], textarea, select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	border: 1.5px solid #d9d2c4;
	border-radius: var(--argiva-radius-sm);
	background: var(--argiva-white);
	padding: .7em .9em;
}
input:focus, textarea:focus, select:focus {
	border-color: var(--argiva-ocra) !important;
	outline: none;
	box-shadow: 0 0 0 3px rgba(237,185,73,.25);
}

/* Notices */
.woocommerce-message,
.woocommerce-info {
	border-top-color: var(--argiva-ocra);
	border-radius: var(--argiva-radius-sm);
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--argiva-ocra-2); }

/* ============================================================
   HOMEPAGE
   ============================================================ */
.argiva-home { overflow-x: hidden; }
.argiva-home .col-full { max-width: 1200px; margin: 0 auto; padding-left: 1.5rem; padding-right: 1.5rem; }

/* HERO */
.argiva-hero {
	background:
		radial-gradient(1100px 500px at 85% -10%, rgba(237,185,73,.18), transparent 60%),
		linear-gradient(160deg, var(--argiva-navy) 0%, var(--argiva-navy-2) 100%);
	color: var(--argiva-crema);
	padding: clamp(3rem, 8vw, 7rem) 0;
}
.argiva-hero__inner {
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: 3rem;
	align-items: center;
}
.argiva-hero__title {
	font-family: var(--font-display);
	color: var(--argiva-white);
	font-weight: 700;
	font-size: clamp(2.4rem, 5.5vw, 4.4rem);
	line-height: 1.05;
	margin: .2em 0 .4em;
}
.argiva-hero__sub {
	font-size: clamp(1.05rem, 2vw, 1.4rem);
	font-weight: 300;
	color: var(--argiva-crema);
	max-width: 30ch;
	opacity: .92;
}
.argiva-hero__cta { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: 2rem; }
.argiva-hero .argiva-kicker { color: var(--argiva-ocra); }
.argiva-hero__cta .argiva-btn-ghost {
	color: var(--argiva-crema) !important;
	border-color: var(--argiva-crema) !important;
}
.argiva-hero__cta .argiva-btn-ghost:hover {
	background: var(--argiva-crema) !important;
	color: var(--argiva-navy) !important;
}
.argiva-hero__mark { display: flex; justify-content: center; }
.argiva-mark {
	width: clamp(180px, 26vw, 320px);
	height: auto;
	filter: drop-shadow(0 18px 40px rgba(0,0,0,.35));
}

/* VALORI / CHIPS */
.argiva-values {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
	justify-content: center;
	padding: 2.5rem 1.5rem;
}
.argiva-chip {
	font-family: var(--font-label);
	text-transform: uppercase;
	letter-spacing: .14em;
	font-size: .8rem;
	font-weight: 400;
	color: var(--argiva-navy);
	background: var(--argiva-white);
	border: 1.5px solid rgba(41,58,102,.15);
	border-radius: 999px;
	padding: .55em 1.2em;
	box-shadow: var(--argiva-shadow-sm);
}

/* SECTION HEADS */
.argiva-section-head { text-align: center; margin: 1rem auto 2.5rem; }
.argiva-section-head h2 { font-size: clamp(1.8rem, 3.5vw, 2.6rem); }
.argiva-products { padding: 2rem 1.5rem 4rem; }
.argiva-section-cta { text-align: center; margin-top: 2.5rem; }

/* STORIA */
.argiva-story {
	background: var(--argiva-white);
	padding: clamp(3rem, 7vw, 6rem) 0;
}
.argiva-story__inner { max-width: 760px; text-align: center; }
.argiva-story__title { font-size: clamp(1.9rem, 4vw, 3rem); margin-bottom: 1.2rem; }
.argiva-story p { font-size: 1.12rem; color: var(--argiva-slate); margin-bottom: 1.2rem; }

/* CTA BAND */
.argiva-band {
	background: var(--argiva-ocra);
	text-align: center;
	padding: clamp(2.5rem, 6vw, 4.5rem) 0;
}
.argiva-band h2 {
	font-family: var(--font-display);
	font-style: italic;
	color: var(--argiva-navy);
	font-size: clamp(1.8rem, 4vw, 3rem);
	margin-bottom: 1.5rem;
}
.argiva-band .argiva-btn-primary {
	background: var(--argiva-navy) !important;
	color: var(--argiva-crema) !important;
}
.argiva-band .argiva-btn-primary:hover { background: var(--argiva-navy-2) !important; }

/* RESPONSIVE */
@media (max-width: 768px) {
	.argiva-hero__inner { grid-template-columns: 1fr; text-align: center; }
	.argiva-hero__content { order: 2; }
	.argiva-hero__mark { order: 1; }
	.argiva-hero__sub { margin-left: auto; margin-right: auto; }
	.argiva-hero__cta { justify-content: center; }
}
