/*
Theme Name: Kadence Welly to Belly
Template: kadence
Description: Child theme BloomySeeds, Editorial Vintage V7 su Kadence. Design dal mockup V4 approvato il 7 Luglio 2026.
Version: 0.3.0
*/

:root {
	--wtb-green: #2A5443;
	--wtb-ink: #22453A;
	--wtb-terracotta: #C96A2E;
	--wtb-gold: #C09A3A;
	--wtb-cream: #FAF8F0;
	--wtb-cream-tint: #F3EFE0;
	--wtb-card: #FFFDF6;
	--wtb-hairline: rgba(192, 154, 58, 0.45);
	--wtb-muted: #5E7268;
}

/* ---------- Tipografia base ---------- */

body {
	background: var(--wtb-cream);
	color: var(--wtb-ink);
	font-family: 'Crimson Text', Georgia, serif;
	font-size: 18px;
}

h1, h2, h3, h4,
.site-title,
.entry-title,
.product_title {
	font-family: 'Playfair Display', Georgia, serif;
	color: var(--wtb-ink);
}

h1 { text-wrap: balance; }

/* ---------- Bottoni ---------- */

.button,
button[type="submit"],
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #respond input#submit {
	background: var(--wtb-terracotta);
	color: #FFF6EC;
	border-radius: 4px;
	font-family: 'Crimson Text', Georgia, serif;
	font-weight: 600;
	letter-spacing: 0.02em;
	transition: transform 0.12s ease, background 0.15s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.wp-block-button__link:hover {
	background: #B45A22;
	color: #FFF6EC;
}

.button:active,
.wp-block-button__link:active,
.woocommerce a.button:active {
	transform: scale(0.96);
}

/* ---------- Card prodotto ---------- */

.woocommerce ul.products li.product {
	background: var(--wtb-card);
	border: 1px solid var(--wtb-hairline);
	border-radius: 4px;
	padding: 14px 12px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: 'Crimson Text', Georgia, serif;
	font-weight: 600;
	color: var(--wtb-ink);
}

.woocommerce ul.products li.product .price { color: var(--wtb-muted); }

/* ---------- Ticker ---------- */

.wtb-ticker {
	background: var(--wtb-green);
	color: var(--wtb-cream);
	overflow: hidden;
	padding: 8px 0;
	font-size: 14.5px;
	font-family: 'Crimson Text', Georgia, serif;
}

.wtb-track { display: inline-flex; white-space: nowrap; will-change: transform; }
.wtb-set { display: inline-flex; align-items: center; }
.wtb-item { padding: 0 0.5em; }
.wtb-sep { color: var(--wtb-gold); padding: 0 0.35em; }
.wtb-msg { color: #EFD9A8; }

@media (prefers-reduced-motion: no-preference) {
	.wtb-track { animation: wtb-ticker 55s linear infinite; }
	.wtb-ticker:hover .wtb-track,
	.wtb-ticker:active .wtb-track { animation-play-state: paused; }
	@keyframes wtb-ticker { to { transform: translateX(-50%); } }
	.wtb-rays { transform-origin: 13px 13px; animation: wtb-spin 28s linear infinite; }
	@keyframes wtb-spin { to { transform: rotate(360deg); } }
}

/* ---------- Weather card ---------- */

.wtb-weather {
	margin: 16px auto 0;
	max-width: 720px;
	border: 1px solid var(--wtb-hairline);
	background: var(--wtb-card);
	border-radius: 4px;
	padding: 12px 14px;
	display: flex;
	gap: 12px;
	align-items: flex-start;
}

.wtb-weather svg { flex: none; margin-top: 2px; }
.wtb-weather p { margin: 0; font-size: 16px; }

.wtb-weather a {
	color: var(--wtb-green);
	font-weight: 600;
	text-decoration-color: var(--wtb-gold);
	text-underline-offset: 3px;
	font-size: 15.5px;
}

.wtb-weather .wtb-src { display: block; font-size: 12px; color: var(--wtb-muted); margin-top: 3px; }

/* ---------- Sezioni homepage ---------- */

.wtb-eyebrow {
	font-size: 13px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wtb-gold);
	font-weight: 600;
	margin: 0 0 10px;
}

.wtb-hero { padding: 30px 0 8px; }

.wtb-hero h1 {
	font-size: clamp(34px, 5vw, 52px);
	line-height: 1.13;
	margin: 0 0 12px;
}

.wtb-sub { font-size: 19px; color: var(--wtb-muted); margin: 0 0 18px; }

.wtb-cta {
	display: inline-block;
	background: var(--wtb-terracotta);
	color: #FFF6EC !important;
	font-weight: 600;
	font-size: 17px;
	padding: 13px 26px;
	border-radius: 4px;
	text-decoration: none;
	letter-spacing: 0.02em;
	transition: transform 0.12s ease, background 0.15s ease;
}

.wtb-cta:hover { background: #B45A22; }
.wtb-cta:active { transform: scale(0.96); }

.wtb-plate { margin: 26px auto 0; max-width: 560px; perspective: 800px; }
.wtb-plate img { border-radius: 4px; border: 1px solid var(--wtb-hairline); width: 100%; height: auto; }
.wtb-plate figcaption { font-size: 13.5px; color: var(--wtb-muted); margin-top: 8px; font-style: italic; text-align: center; }

.wtb-rule { border: none; border-top: 1px solid var(--wtb-hairline); margin: 34px auto; max-width: 920px; }

.wtb-bundle {
	background: var(--wtb-cream-tint);
	border: 1px solid var(--wtb-hairline);
	border-radius: 4px;
	padding: 24px 22px;
	max-width: 720px;
	margin: 6px auto 0;
}

.wtb-bundle ul { margin: 10px 0 16px; padding-left: 20px; font-size: 16.5px; }
.wtb-bundle li { margin: 3px 0; }

.wtb-trust { display: flex; flex-wrap: wrap; gap: 16px 34px; justify-content: center; padding: 26px 0 4px; }
.wtb-trust-item { display: flex; gap: 10px; align-items: center; font-size: 16.5px; }
.wtb-trust-item svg { stroke: var(--wtb-gold); fill: none; stroke-width: 1.6; flex: none; }

.wtb-blog {
	border-left: 3px solid var(--wtb-gold);
	padding: 4px 0 4px 16px;
	max-width: 720px;
	margin: 6px auto 0;
}

.wtb-blog h3 { font-size: 22px; margin: 2px 0 6px; }
.wtb-blog p { margin: 0 0 8px; font-size: 16px; color: var(--wtb-muted); }

.wtb-news {
	background: var(--wtb-green);
	color: var(--wtb-cream);
	margin-top: 34px;
	padding: 30px 22px;
	border-radius: 4px;
}

.wtb-news h2 { color: var(--wtb-cream); font-size: 24px; margin-top: 0; }
.wtb-news p { color: #D8E2DA; font-size: 16px; margin: 6px 0 16px; }

.wtb-gold-btn {
	display: inline-block;
	background: var(--wtb-gold);
	color: #22301C !important;
	font-weight: 600;
	font-size: 16px;
	padding: 11px 18px;
	border-radius: 4px;
	text-decoration: none;
}

/* ---------- Link editoriali e attribuzione ---------- */

.entry-content a:not(.button):not(.wp-block-button__link):not(.wtb-cta):not(.wtb-gold-btn) {
	color: var(--wtb-green);
	text-decoration-color: var(--wtb-gold);
	text-underline-offset: 3px;
}

hr, .wp-block-separator { border: none; border-top: 1px solid var(--wtb-hairline); }

.wtb-attribution {
	text-align: center;
	font-size: 12px;
	color: var(--wtb-muted);
	padding: 8px 0 14px;
	background: var(--wtb-cream);
}

.wtb-attribution a { color: var(--wtb-muted); }

/* ---------- Reveal allo scroll (progressive enhancement, CSS only fallback visibile) ---------- */

@media (prefers-reduced-motion: no-preference) {
	.wtb-hero, .wtb-weather { animation: wtb-rise 0.5s ease-out both; }
	@keyframes wtb-rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
}
