/* =============================================================================
   SIKLAH · components.css  v0.3.1 — Light-first fusion
   Bianco dominante + Nero + Verde brand #135647 (dettaglio preciso).
   UI/rhythm dal concept (display 400, eyebrow 10.5px 0.22em, meta caps,
   hero cinematic, sections generose), senza oro/tufo/notte.
   ============================================================================= */

/* ---------- Token alias ---------- */
:root {
	--canvas:      var(--wp--preset--color--canvas);
	--canvas-warm: var(--wp--preset--color--canvas-warm);
	--canvas-soft: var(--wp--preset--color--canvas-soft);
	--ink:         var(--wp--preset--color--ink);
	--ink-soft:    var(--wp--preset--color--ink-soft);
	--ink-muted:   var(--wp--preset--color--ink-muted);
	--ink-faint:   var(--wp--preset--color--ink-faint);
	--ink-ghost:   var(--wp--preset--color--ink-ghost);
	--brand:       var(--wp--preset--color--brand);
	--brand-deep:  var(--wp--preset--color--brand-deep);
	--brand-soft:  var(--wp--preset--color--brand-soft);

	--display: var(--wp--preset--font-family--display);
	--sans:    var(--wp--preset--font-family--body);

	--space-1: 4px;   --space-2: 8px;   --space-3: 12px;  --space-4: 16px;
	--space-5: 24px;  --space-6: 32px;  --space-7: 48px;  --space-8: 64px;
	--space-9: 96px;  --space-10: 144px;

	--ring:        0 0 0 1px rgba(10,10,10,0.08);
	--ring-strong: 0 0 0 1px rgba(19,86,71,0.35);
	--soft:        0 20px 60px -30px rgba(10,10,10,0.18);
}

*, *::before, *::after { box-sizing: border-box; }

html, body {
	background: var(--canvas);
	color: var(--ink);
	font-family: var(--sans);
	font-weight: 400;
	font-size: 15px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

img, svg, video { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--brand); }
:focus-visible { outline: 2px solid var(--brand); outline-offset: 4px; }

/* ---------- Typography utility ---------- */
.display {
	font-family: var(--display);
	font-weight: 400;
	letter-spacing: -0.015em;
	line-height: 1.02;
	color: var(--ink);
}
.display-i {
	font-family: var(--display);
	font-weight: 400;
	font-style: italic;
	letter-spacing: -0.015em;
	line-height: 1.02;
}
.eyebrow {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink);
	display: inline-block;
}
.eyebrow--brand { color: var(--brand); }
.eyebrow--muted { color: var(--ink-muted); }
.label {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink);
}
.meta {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.08em;
	color: var(--ink-muted);
}
.meta.brand, .meta-brand { color: var(--brand); letter-spacing: 0.12em; }
.body-l { font-size: 17px; line-height: 1.7; font-weight: 400; }
.body-m { font-size: 15px; line-height: 1.7; font-weight: 400; }
.body-s { font-size: 13px; line-height: 1.6; font-weight: 400; }
.dim  { color: var(--ink-muted); }
.cream{ color: var(--canvas-warm); }

.hairline { border: none; height: 1px; background: var(--ink-ghost); margin: 0; }
.hairline-brand {
	border: none; height: 1px;
	background: linear-gradient(90deg, transparent, var(--brand) 50%, transparent);
}

.num-badge {
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.14em;
	color: var(--brand);
	border: 1px solid var(--brand);
	padding: 3px 10px;
	border-radius: 999px;
	display: inline-block;
	text-transform: uppercase;
}

/* ---------- Layout ---------- */
.container, .siklah-container {
	width: 100%;
	max-width: 1440px;
	padding: 0 var(--space-7);
	margin: 0 auto;
}
.container-wide { max-width: 1680px; padding: 0 var(--space-6); margin: 0 auto; }
.container-narrow { max-width: 960px; padding: 0 var(--space-6); margin: 0 auto; }
@media (max-width: 768px) {
	.container, .siklah-container,
	.container-wide, .container-narrow { padding: 0 var(--space-5); }
}

/* ---------- Announce bar ---------- */
.siklah-announce {
	background: var(--ink);
	color: var(--canvas);
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	text-align: center;
	padding: 12px 16px;
}
.siklah-announce .dot {
	display: inline-block;
	width: 3px; height: 3px;
	background: var(--canvas);
	opacity: 0.55;
	border-radius: 50%;
	vertical-align: middle;
	margin: 0 14px;
}

/* ---------- Header topbar custom ---------- */
header.wp-block-template-part {
	background: transparent !important;
	border: none !important;
}
.siklah-topbar {
	position: relative;
	width: 100%;
	background: rgba(255,255,255,0.95);
	backdrop-filter: saturate(1.4) blur(12px);
	-webkit-backdrop-filter: saturate(1.4) blur(12px);
	border-bottom: 1px solid var(--ink-ghost);
}
.siklah-topbar__inner {
	max-width: 1680px;
	margin: 0 auto;
	padding: 18px var(--space-7);
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 32px;
}
.siklah-topbar__nav {
	display: flex;
	align-items: center;
	gap: 28px;
}
.siklah-topbar__nav--right { justify-content: flex-end; }
.siklah-topbar__nav a,
.siklah-topbar__link {
	font-family: var(--sans);
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink);
	opacity: 0.82;
	text-decoration: none;
	transition: opacity .2s ease, color .2s ease;
	white-space: nowrap;
}
.siklah-topbar__nav a:hover,
.siklah-topbar__link:hover,
.siklah-topbar__cart:hover {
	opacity: 1;
	color: var(--brand);
}
.siklah-topbar__cart {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--sans);
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink);
	opacity: 0.82;
	text-decoration: none;
}
.siklah-topbar__cart-count { color: var(--brand); }
/* Nav-left hidden on screens <=1600px — use visibility to keep grid balanced */
.siklah-topbar__nav--left {
	visibility: hidden;
	pointer-events: none;
	overflow: hidden;
	max-height: 0;
	padding: 0;
	margin: 0;
}
.siklah-topbar__burger {
	display: flex;
	flex-direction: column;
	gap: 5px;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 8px;
	position: absolute;
	left: var(--space-7); top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}
.siklah-topbar__burger span {
	display: block;
	width: 24px; height: 1.2px;
	background: var(--ink);
	transition: transform .3s cubic-bezier(.4,0,.2,1), opacity .3s ease;
}
.siklah-topbar__burger.is-open span:nth-child(1) { transform: translateY(6.2px) rotate(45deg); }
.siklah-topbar__burger.is-open span:nth-child(2) { opacity: 0; }
.siklah-topbar__burger.is-open span:nth-child(3) { transform: translateY(-6.2px) rotate(-45deg); }

/* Side drawer */
.siklah-topbar__mobile {
	display: none;
}
.siklah-nav-drawer {
	position: fixed;
	inset: 0;
	z-index: 200;
	display: none;
}
.siklah-nav-drawer.is-open { display: block; }
.siklah-nav-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(10,10,10,0.35);
	cursor: pointer;
}
.siklah-nav-drawer__panel {
	position: absolute;
	top: 0; left: 0; bottom: 0;
	width: 380px;
	max-width: 85vw;
	background: var(--canvas);
	display: flex;
	flex-direction: column;
	transform: translateX(-100%);
	transition: transform .35s cubic-bezier(.4,0,.2,1);
}
.siklah-nav-drawer.is-open .siklah-nav-drawer__panel {
	transform: translateX(0);
}
.siklah-nav-drawer__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 28px 32px;
	border-bottom: 1px solid var(--ink-ghost);
}
.siklah-nav-drawer__brand {
	font-family: var(--display);
	font-size: 22px;
	font-weight: 400;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--ink);
	text-decoration: none;
}
.siklah-nav-drawer__brand .a { font-style: italic; }
.siklah-nav-drawer__close {
	background: none;
	border: none;
	font-size: 24px;
	color: var(--ink);
	cursor: pointer;
	padding: 0;
	line-height: 1;
}
.siklah-nav-drawer__nav {
	flex: 1;
	overflow-y: auto;
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 0;
}
.siklah-nav-drawer__link {
	font-family: var(--sans);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ink);
	text-decoration: none;
	padding: 18px 0;
	border-bottom: 1px solid var(--ink-ghost);
	transition: color .2s ease;
}
.siklah-nav-drawer__link:first-child { border-top: 1px solid var(--ink-ghost); }
.siklah-nav-drawer__link:hover { color: var(--ink-muted); }
.siklah-nav-drawer__foot {
	padding: 24px 32px;
	border-top: 1px solid var(--ink-ghost);
	margin-top: auto;
}
.siklah-nav-drawer__social {
	display: flex;
	gap: 20px;
	align-items: center;
}
.siklah-nav-drawer__social a {
	display: inline-flex;
	color: var(--ink-muted);
	transition: color .2s ease;
}
.siklah-nav-drawer__social a:hover { color: var(--ink); }

/* Only show inline nav on very large screens */
@media (min-width: 1601px) {
	.siklah-topbar__nav--left {
		visibility: visible;
		pointer-events: auto;
		overflow: visible;
		max-height: none;
	}
	.siklah-topbar__burger { display: none; }
}

@media (max-width: 1023px) {
	.siklah-topbar__inner {
		grid-template-columns: 1fr;
		padding: 14px var(--space-5);
		position: relative;
	}
	.siklah-topbar__nav--left { display: none; }
	.siklah-topbar__nav--right { display: none; }
	.siklah-brand { font-size: 20px; }
}

/* Nascondi il blocco navigation WP se rimasto (fallback safety) */
header .wp-block-navigation { display: none !important; }

/* --- Non-home pages: header in flow, fixed solo quando scrolli su --- */
header.wp-block-template-part {
	position: relative;
	z-index: 50;
	transition: transform .35s cubic-bezier(.4,0,.2,1);
}
header.wp-block-template-part.is-scrolled-header {
	position: fixed;
	top: 0; left: 0; right: 0;
}
header.wp-block-template-part.is-hidden {
	transform: translateY(-100%);
}

/* --- Homepage: header sovrapposto all'hero, show-on-scroll-up --- */
.is-hero-page .siklah-announce {
	display: none;
}
.is-hero-page header.wp-block-template-part {
	position: fixed;
	top: 0; left: 0; right: 0;
	width: 100%;
	transform: translateY(0);
	pointer-events: auto;
	z-index: 100;
}
/* Nascosto quando JS aggiunge .is-hidden */
.is-hero-page header.wp-block-template-part.is-hidden {
	transform: translateY(-100%);
	pointer-events: none;
}
/* Dentro l'hero: trasparente, testi bianchi */
.is-hero-page .siklah-topbar {
	background: transparent;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border-bottom: 1px solid rgba(255,255,255,0.1);
}
.is-hero-page .siklah-topbar__nav a,
.is-hero-page .siklah-topbar__link,
.is-hero-page .siklah-topbar__cart {
	color: var(--canvas);
	opacity: 0.85;
}
.is-hero-page .siklah-topbar__nav a:hover,
.is-hero-page .siklah-topbar__link:hover,
.is-hero-page .siklah-topbar__cart:hover {
	opacity: 1;
	color: var(--canvas);
}
.is-hero-page .siklah-brand { color: var(--canvas); }
.is-hero-page .siklah-brand .a { color: var(--canvas); }
.is-hero-page .siklah-topbar__cart-count { color: rgba(255,255,255,0.6); }
.is-hero-page .siklah-topbar__burger span { background: var(--canvas); }

/* Dopo l'hero: sfondo bianco, testi neri */
.is-hero-page header.wp-block-template-part.is-past-hero .siklah-topbar {
	background: #fff;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border-bottom: 1px solid var(--ink-ghost);
}
.is-hero-page header.wp-block-template-part.is-past-hero .siklah-topbar__nav a,
.is-hero-page header.wp-block-template-part.is-past-hero .siklah-topbar__link,
.is-hero-page header.wp-block-template-part.is-past-hero .siklah-topbar__cart {
	color: var(--ink);
	opacity: 0.82;
}
.is-hero-page header.wp-block-template-part.is-past-hero .siklah-topbar__nav a:hover,
.is-hero-page header.wp-block-template-part.is-past-hero .siklah-topbar__link:hover,
.is-hero-page header.wp-block-template-part.is-past-hero .siklah-topbar__cart:hover {
	opacity: 1;
	color: var(--brand);
}
.is-hero-page header.wp-block-template-part.is-past-hero .siklah-brand { color: var(--ink); }
.is-hero-page header.wp-block-template-part.is-past-hero .siklah-brand .a { color: var(--brand); }
.is-hero-page header.wp-block-template-part.is-past-hero .siklah-topbar__cart-count { color: var(--brand); }
.is-hero-page header.wp-block-template-part.is-past-hero .siklah-topbar__burger span { background: var(--ink); }

/* Transizioni */
.is-hero-page header.wp-block-template-part {
	transition: transform .35s cubic-bezier(.4,0,.2,1);
}
.is-hero-page .siklah-topbar,
.is-hero-page .siklah-topbar__nav a,
.is-hero-page .siklah-topbar__link,
.is-hero-page .siklah-topbar__cart,
.is-hero-page .siklah-brand,
.is-hero-page .siklah-brand .a,
.is-hero-page .siklah-topbar__burger span {
	transition: background .3s ease, color .3s ease, border-color .3s ease,
	            backdrop-filter .3s ease, -webkit-backdrop-filter .3s ease, opacity .2s ease;
}

/* Brand mark SIKL*a*H */
.siklah-brand {
	font-family: var(--display);
	font-size: 26px;
	font-weight: 400;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--ink);
	display: inline-block;
	text-align: center;
}
.siklah-brand .a {
	font-style: italic;
	color: var(--brand);
	letter-spacing: 0;
}
header .wp-block-site-logo img { max-width: 100px; }

/* ---------- Buttons ---------- */
.btn, .siklah-btn-primary, .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 16px 28px;
	font-family: var(--sans);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-weight: 500;
	border-radius: 0;
	border: none;
	cursor: pointer;
	line-height: 1;
	text-decoration: none;
	transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .18s ease;
}
.btn-primary, .siklah-btn-primary, .wp-block-button__link {
	background: var(--ink);
	color: var(--canvas);
}
.btn-primary:hover, .siklah-btn-primary:hover, .wp-block-button__link:hover {
	background: var(--brand);
	color: var(--canvas);
}
.btn-ghost, .siklah-btn-secondary {
	background: transparent;
	color: var(--ink);
	border: 1px solid var(--ink);
}
.btn-ghost:hover, .siklah-btn-secondary:hover {
	background: var(--ink);
	color: var(--canvas);
}
.btn-arrow, .siklah-btn-tertiary {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--sans);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--brand);
	padding: 8px 0;
	border-bottom: 1px solid var(--brand);
	transition: color .2s ease, border-color .2s ease;
}
.btn-arrow::after, .siklah-btn-tertiary::after {
	content: "→";
	font-weight: 400;
	transition: transform .25s ease;
}
.btn-arrow:hover, .siklah-btn-tertiary:hover { color: var(--ink); border-bottom-color: var(--ink); }
.btn-arrow:hover::after, .siklah-btn-tertiary:hover::after { transform: translateX(4px); }

/* ---------- HERO — full viewport, foto + testo ---------- */
.siklah-hero {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}

/* Foto di sfondo �� copre tutto */
/* Video di sfondo */
.siklah-hero__video {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Overlay scuro per leggibilità testo */
.siklah-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		180deg,
		rgba(10,10,10,0.15) 0%,
		rgba(10,10,10,0.30) 40%,
		rgba(10,10,10,0.65) 100%
	);
}

/* Contenuto ��� posizionato in basso a sinistra */
.siklah-hero__content {
	position: relative;
	z-index: 2;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding-bottom: 96px;
	color: var(--canvas);
}

/* Eyebrow row */
.siklah-hero__eyebrow-row {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 32px;
	flex-wrap: wrap;
}
.siklah-hero__badge {
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--canvas);
	border: 1px solid rgba(255,255,255,0.4);
	padding: 4px 12px;
	border-radius: 999px;
}
.siklah-hero__eyebrow {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.6);
}

/* H1 */
.siklah-hero__h1 {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(44px, 6vw, 96px);
	line-height: 1.02;
	letter-spacing: -0.02em;
	color: var(--canvas);
	margin: 0;
	max-width: 720px;
	text-wrap: balance;
}
.siklah-hero__h1 em {
	font-style: italic;
	font-weight: 400;
}

/* Sottotitolo */
.siklah-hero__sub {
	font-family: var(--display);
	font-weight: 400;
	font-style: italic;
	font-size: 17px;
	line-height: 1.7;
	color: rgba(255,255,255,0.7);
	max-width: 480px;
	margin: 24px 0 0;
}

/* CTA */
.siklah-hero__cta-row {
	display: flex;
	gap: 20px;
	margin-top: 40px;
	align-items: center;
	flex-wrap: wrap;
}
.siklah-hero__cta-primary {
	display: inline-flex;
	align-items: center;
	padding: 16px 32px;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink);
	background: var(--canvas);
	border: none;
	text-decoration: none;
	transition: opacity .25s ease;
}
.siklah-hero__cta-primary:hover {
	opacity: 0.85;
	color: var(--ink);
}
.siklah-hero__cta-secondary {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--canvas);
	text-decoration: none;
	border-bottom: 1px solid rgba(255,255,255,0.4);
	padding-bottom: 4px;
	transition: border-color .2s ease;
}
.siklah-hero__cta-secondary:hover {
	border-color: var(--canvas);
	color: var(--canvas);
}

/* Metrics */
.siklah-hero__metrics {
	margin-top: 56px;
	display: flex;
	gap: 48px;
	flex-wrap: wrap;
}
.siklah-hero__metric {
	min-width: 100px;
}
.siklah-hero__metric-label {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.5);
	margin-bottom: 6px;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(255,255,255,0.15);
}
.siklah-hero__metric-value {
	font-family: var(--display);
	font-style: italic;
	font-size: 14px;
	font-weight: 400;
	color: rgba(255,255,255,0.75);
	line-height: 1.4;
}

/* Video controls */
.siklah-hero__controls {
	position: absolute;
	bottom: 24px;
	right: var(--space-7);
	z-index: 3;
	display: flex;
	gap: 0;
}

/* Scroll indicator */
.siklah-hero__scroll {
	position: absolute;
	left: 50%;
	bottom: 24px;
	transform: translateX(-50%);
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}
.siklah-hero__scroll-text {
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.4);
}
.siklah-hero__scroll-line {
	width: 1px;
	height: 32px;
	background: rgba(255,255,255,0.25);
}

/* Mobile */
@media (max-width: 768px) {
	.siklah-hero__content {
		padding: 0 var(--space-5);
		padding-bottom: 72px;
	}
	.siklah-hero__h1 {
		font-size: clamp(36px, 10vw, 56px);
	}
	.siklah-hero__metrics {
		gap: 24px;
		margin-top: 40px;
	}
	.siklah-hero__metric {
		min-width: 80px;
	}
}

/* ==========================================================================
   SYSTEM CONCEPT A — 2-col: testo + step editoriale orizzontale
   ========================================================================== */
.siklah-system-a {
	background: var(--canvas);
	padding: 144px 0;
	border-top: 1px solid var(--ink-ghost);
}
.siklah-system-a__inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 96px;
	align-items: start;
}
.siklah-system-a__eyebrow {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink);
	display: block;
	margin-bottom: 24px;
}
.siklah-system-a__h2 {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(36px, 4.5vw, 64px);
	line-height: 1.05;
	letter-spacing: -0.015em;
	color: var(--ink);
	margin: 0;
}
.siklah-system-a__h2 em {
	font-style: italic;
}
.siklah-system-a__quote {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.75;
	color: var(--ink-muted);
	margin: 32px 0 0;
	padding: 0;
	border: none;
	max-width: 440px;
}
.siklah-system-a__cta {
	display: inline-block;
	margin-top: 40px;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink);
	text-decoration: none;
	border-bottom: 1px solid var(--ink);
	padding-bottom: 4px;
	transition: color .2s ease, border-color .2s ease;
}
.siklah-system-a__cta:hover {
	color: var(--ink-muted);
	border-color: var(--ink-muted);
}

/* Steps */
.siklah-system-a__steps {
	display: flex;
	flex-direction: column;
	padding-top: 8px;
}
.siklah-system-a__step {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 24px;
	padding: 36px 0;
	border-bottom: 1px solid var(--ink-ghost);
	align-items: baseline;
}
.siklah-system-a__step:first-child {
	border-top: 1px solid var(--ink-ghost);
}
.siklah-system-a__num {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 56px;
	line-height: 1;
	color: var(--ink);
	opacity: 0.12;
	letter-spacing: -0.02em;
}
.siklah-system-a__step-title {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink);
	margin: 0 0 8px;
}
.siklah-system-a__step-desc {
	font-size: 14px;
	line-height: 1.6;
	color: var(--ink-muted);
	margin: 0;
}

@media (max-width: 1023px) {
	.siklah-system-a { padding: 80px 0; }
	.siklah-system-a__inner { grid-template-columns: 1fr; gap: 56px; padding: 0 var(--space-5); }
}

/* ==========================================================================
   SYSTEM CONCEPT B — centrato, 3 step orizzontali con linea
   ========================================================================== */
.siklah-system-b {
	background: var(--canvas-soft);
	padding: 144px 0;
}
.siklah-system-b__head {
	max-width: 720px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	text-align: center;
}
.siklah-system-b__eyebrow {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink);
	display: block;
	margin-bottom: 24px;
}
.siklah-system-b__h2 {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(36px, 5vw, 72px);
	line-height: 1.05;
	letter-spacing: -0.015em;
	color: var(--ink);
	margin: 0;
}
.siklah-system-b__h2 em {
	font-style: italic;
}
.siklah-system-b__quote {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.75;
	color: var(--ink-muted);
	margin: 28px auto 0;
	max-width: 520px;
}

/* Linea separatore */
.siklah-system-b__line {
	width: 1px;
	height: 80px;
	background: var(--ink-ghost);
	margin: 56px auto;
}

/* Steps — 3 colonne orizzontali */
.siklah-system-b__steps {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
}
.siklah-system-b__step {
	padding: 40px 48px;
	border-left: 1px solid var(--ink-ghost);
	text-align: left;
}
.siklah-system-b__step:first-child {
	border-left: none;
	padding-left: 0;
}
.siklah-system-b__step:last-child {
	padding-right: 0;
}
.siklah-system-b__num {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 64px;
	line-height: 1;
	color: var(--ink);
	opacity: 0.08;
	letter-spacing: -0.02em;
	display: block;
	margin-bottom: 24px;
}
.siklah-system-b__step-title {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink);
	margin: 0 0 12px;
}
.siklah-system-b__step-desc {
	font-size: 14px;
	line-height: 1.65;
	color: var(--ink-muted);
	margin: 0;
	max-width: 280px;
}

/* CTA */
.siklah-system-b__foot {
	text-align: center;
	margin-top: 64px;
}
.siklah-system-b__cta {
	display: inline-block;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink);
	text-decoration: none;
	border-bottom: 1px solid var(--ink);
	padding-bottom: 4px;
	transition: color .2s ease, border-color .2s ease;
}
.siklah-system-b__cta:hover {
	color: var(--ink-muted);
	border-color: var(--ink-muted);
}

@media (max-width: 1023px) {
	.siklah-system-b { padding: 80px 0; }
	.siklah-system-b__steps { grid-template-columns: 1fr; gap: 0; padding: 0 var(--space-5); }
	.siklah-system-b__step { border-left: none; border-top: 1px solid var(--ink-ghost); padding: 32px 0; }
	.siklah-system-b__step:first-child { border-top: 1px solid var(--ink-ghost); padding-left: 0; }
	.siklah-system-b__line { height: 48px; margin: 40px auto; }
}

/* ==========================================================================
   VIDEO BANNER — full-width, testo sovrapposto in basso a sinistra
   ========================================================================== */
.siklah-video-banner {
	position: relative;
	width: 100%;
	height: 90vh;
	min-height: 500px;
	overflow: hidden;
}
.siklah-video-banner__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.siklah-video-banner__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		transparent 30%,
		rgba(10,10,10,0.45) 100%
	);
}
.siklah-video-banner__content {
	position: absolute;
	bottom: 0; left: 0; right: 0;
	z-index: 2;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 var(--space-7) 56px;
}
.siklah-video-banner__eyebrow {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.6);
	display: block;
	margin-bottom: 16px;
}
.siklah-video-banner__h2 {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(28px, 4vw, 48px);
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: var(--canvas);
	margin: 0;
	text-transform: uppercase;
}
.siklah-video-banner__cta {
	display: inline-block;
	margin-top: 24px;
	padding: 14px 28px;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink);
	background: var(--canvas);
	text-decoration: none;
	transition: opacity .25s ease;
}
.siklah-video-banner__cta:hover {
	opacity: 0.85;
	color: var(--ink);
}
/* Controls — posizionati in basso a destra, quadrati */
.siklah-video-banner__controls {
	position: absolute;
	bottom: 56px;
	right: var(--space-7);
	z-index: 3;
	display: flex;
	gap: 0;
}
.siklah-video-banner__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(255,255,255,0.3);
	border-radius: 0;
	background: transparent;
	color: var(--canvas);
	cursor: pointer;
	transition: border-color .2s ease, background .2s ease;
}
.siklah-video-banner__btn + .siklah-video-banner__btn {
	border-left: none;
}
.siklah-video-banner__btn:hover {
	border-color: var(--canvas);
	background: rgba(255,255,255,0.1);
}
.siklah-video-banner__btn svg {
	width: 14px;
	height: 14px;
}

@media (max-width: 768px) {
	.siklah-video-banner { height: 70vh; min-height: 400px; }
	.siklah-video-banner__content { padding: 0 var(--space-5) 40px; }
	.siklah-video-banner__controls { right: var(--space-5); bottom: 40px; }
}

/* ==========================================================================
   SYSTEM A1 — testo+step a sinistra, immagine grande a destra
   ========================================================================== */
.siklah-system-a1 {
	background: var(--canvas);
	padding: 144px 0;
	border-top: 1px solid var(--ink-ghost);
}
.siklah-system-a1__inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: start;
}
.siklah-system-a1__media {
	overflow: hidden;
	height: 100%;
	min-height: 640px;
}
.siklah-system-a1__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
}
@media (max-width: 1023px) {
	.siklah-system-a1 { padding: 80px 0; }
	.siklah-system-a1__inner { grid-template-columns: 1fr; gap: 48px; padding: 0 var(--space-5); }
	.siklah-system-a1__media { min-height: 400px; order: -1; }
}

/* ==========================================================================
   SYSTEM A2 — immagine tall a sinistra, testo+step a destra
   ========================================================================== */
.siklah-system-a2 {
	background: var(--canvas-soft);
	padding: 144px 0;
}
.siklah-system-a2__inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	display: grid;
	grid-template-columns: 0.9fr 1fr;
	gap: 80px;
	align-items: start;
}
.siklah-system-a2__media {
	overflow: hidden;
	position: sticky;
	top: 60px;
	aspect-ratio: 3 / 4;
}
.siklah-system-a2__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
}
.siklah-system-a2__bag {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 64px;
	height: 64px;
	background: var(--ink);
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: background .2s ease;
}
.siklah-system-a2__bag:hover {
	background: var(--ink-soft);
}
.siklah-system-a2__bag svg {
	width: 24px;
	height: 24px;
	color: #fff;
}
@media (max-width: 1023px) {
	.siklah-system-a2 { padding: 80px 0; }
	.siklah-system-a2__inner { grid-template-columns: 1fr; gap: 48px; padding: 0 var(--space-5); }
	.siklah-system-a2__media { position: static; aspect-ratio: 16 / 9; }
}

/* Shared styles for A1 + A2 */
.siklah-system-a1__eyebrow,
.siklah-system-a2__eyebrow {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink);
	display: block;
	margin-bottom: 24px;
}
.siklah-system-a1__h2,
.siklah-system-a2__h2 {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(36px, 4.5vw, 64px);
	line-height: 1.05;
	letter-spacing: -0.015em;
	color: var(--ink);
	margin: 0;
}
.siklah-system-a1__h2 em,
.siklah-system-a2__h2 em {
	font-style: italic;
}
.siklah-system-a1__desc,
.siklah-system-a2__desc {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.75;
	color: var(--ink-muted);
	margin: 24px 0 0;
	max-width: 420px;
}
.siklah-system-a1__steps,
.siklah-system-a2__steps {
	margin-top: 48px;
}
.siklah-system-a1__step,
.siklah-system-a2__step {
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 20px;
	padding: 32px 0;
	border-bottom: 1px solid var(--ink-ghost);
	align-items: baseline;
}
.siklah-system-a1__step:first-child,
.siklah-system-a2__step:first-child {
	border-top: 1px solid var(--ink-ghost);
}
.siklah-system-a1__num,
.siklah-system-a2__num {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 52px;
	line-height: 1;
	color: var(--ink);
	opacity: 0.1;
	letter-spacing: -0.02em;
}
.siklah-system-a1__step-title,
.siklah-system-a2__step-title {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink);
	margin: 0 0 8px;
}
.siklah-system-a1__step-desc,
.siklah-system-a2__step-desc {
	font-size: 14px;
	line-height: 1.6;
	color: var(--ink-muted);
	margin: 0;
}
.siklah-system-a1__cta,
.siklah-system-a2__cta {
	display: inline-block;
	margin-top: 40px;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink);
	text-decoration: none;
	border-bottom: 1px solid var(--ink);
	padding-bottom: 4px;
	transition: color .2s ease, border-color .2s ease;
}
.siklah-system-a1__cta:hover,
.siklah-system-a2__cta:hover {
	color: var(--ink-muted);
	border-color: var(--ink-muted);
}

/* ---------- ALMA SHOWCASE — 3 col: list / editorial / product ---------- */
.siklah-alma-showcase {
	background: var(--canvas);
	padding: 72px 0;
}
.siklah-alma-showcase__inner {
	max-width: 1680px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	display: grid;
	grid-template-columns: 280px 1fr auto;
	gap: 20px;
	align-items: start;
	min-height: 700px;
}

/* Left — description + charm list */
.siklah-alma-showcase__left {
	padding-top: 24px;
	padding-left: 28px;
}
.siklah-alma-showcase__eyebrow {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink);
	display: block;
	margin-bottom: 20px;
}
.siklah-alma-showcase__intro {
	font-family: var(--sans);
	font-weight: 400;
	font-size: 13px;
	line-height: 1.7;
	color: var(--ink);
	margin: 0 0 28px;
	max-width: 260px;
}

/* Charm list */
.siklah-alma-showcase__list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.siklah-alma-showcase__list li {
	padding: 6px 0;
	cursor: pointer;
	border-bottom: 1px solid transparent;
	transition: border-color .2s ease;
}
.siklah-alma-showcase__list li a {
	font-family: var(--display);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.2;
	color: var(--ink-faint);
	text-decoration: none;
	transition: color .2s ease;
	display: inline-block;
}
/* Active state */
.siklah-alma-showcase__list li.is-active a {
	color: var(--ink);
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 1px;
}
.siklah-alma-showcase__list li:hover a {
	color: var(--ink);
}

/* CTA */
.siklah-alma-showcase__cta {
	display: inline-block;
	margin-top: 32px;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink);
	border-bottom: 1px solid var(--ink);
	padding-bottom: 4px;
	text-decoration: none;
	transition: color .2s ease, border-color .2s ease;
}
.siklah-alma-showcase__cta:hover {
	color: var(--ink-muted);
	border-color: var(--ink-muted);
}

/* Center — editorial photo, 9:16 portrait, 100vh */
.siklah-alma-showcase__center {
	overflow: hidden;
	height: 100vh;
	aspect-ratio: 3 / 4;
	margin: 0 auto;
}
.siklah-alma-showcase__center img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
}

/* Right — product photo (swaps on hover) + tagline */
.siklah-alma-showcase__right {
	position: sticky;
	top: 60px;
	padding-top: 80px;
	width: 320px;
}
.siklah-alma-showcase__product {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--canvas-soft);
	aspect-ratio: 3 / 4;
	overflow: hidden;
	text-decoration: none;
	cursor: pointer;
}
.siklah-alma-showcase__product img {
	width: 80%;
	height: auto;
	object-fit: contain;
	transition: opacity .18s ease, transform .4s cubic-bezier(.2,.6,.2,1);
}
.siklah-alma-showcase__product:hover img {
	transform: scale(1.03);
}
.siklah-alma-showcase__product-tagline {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 15px;
	color: var(--ink-muted);
	margin: 16px 0 0;
	text-align: center;
	transition: opacity .18s ease;
}

/* Responsive */
@media (max-width: 1200px) {
	.siklah-alma-showcase__inner {
		grid-template-columns: 240px 1fr 300px;
		gap: 32px;
	}
}
@media (max-width: 1023px) {
	.siklah-alma-showcase { padding: 80px 0; }
	.siklah-alma-showcase__inner {
		grid-template-columns: 1fr;
		gap: 48px;
		padding: 0 var(--space-5);
	}
	.siklah-alma-showcase__left {
		position: static;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 24px;
	}
	.siklah-alma-showcase__left .siklah-alma-showcase__eyebrow,
	.siklah-alma-showcase__left .siklah-alma-showcase__intro {
		grid-column: 1 / -1;
	}
	.siklah-alma-showcase__center { order: -1; height: 60vh; }
	.siklah-alma-showcase__right { display: none; }
}

/* ---------- SYSTEM ---------- */
.siklah-system {
	background: var(--canvas);
	padding: 144px 0;
	position: relative;
}
.siklah-system::before {
	content: "";
	position: absolute;
	top: 0; left: 50%;
	transform: translateX(-50%);
	width: 72px; height: 1px;
	background: var(--brand);
}
.siklah-system__inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 96px;
	align-items: center;
}
@media (max-width: 1023px) {
	.siklah-system { padding: 80px 0; }
	.siklah-system__inner { grid-template-columns: 1fr; gap: 56px; padding: 0 var(--space-5); }
}
.siklah-system__h2 {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(40px, 5vw, 72px);
	line-height: 1.05;
	letter-spacing: -0.015em;
	color: var(--ink);
	margin: 20px 0 0;
	text-wrap: balance;
}
.siklah-system__h2 em { font-style: italic; color: var(--brand); }
.siklah-system__quote {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 17px;
	line-height: 1.7;
	color: var(--ink-muted);
	max-width: 480px;
	margin: 28px 0 40px;
}
.siklah-system__steps { display: grid; border-top: 1px solid var(--ink-ghost); }
.siklah-system__step {
	display: grid;
	grid-template-columns: 80px 1fr 20px;
	gap: 20px;
	padding: 28px 0;
	border-bottom: 1px solid var(--ink-ghost);
	align-items: baseline;
}
.siklah-system__step-num {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 48px;
	color: var(--ink);
	letter-spacing: -0.02em;
	opacity: 0.35;
}
.siklah-system__step-title {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink);
	margin-bottom: 6px;
}
.siklah-system__step-desc {
	color: var(--ink-muted);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
}
.siklah-system__step-plus { color: var(--ink-faint); font-size: 18px; font-weight: 300; }
.siklah-system__cta-row { margin-top: 40px; }

.siklah-system__media {
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--canvas-soft);
}
.siklah-system__media::after {
	content: "";
	position: absolute;
	top: -16px; right: -16px; bottom: 16px; left: 16px;
	border: 1px solid var(--brand);
	z-index: -1;
}
.siklah-system__media img { width: 100%; height: 100%; object-fit: cover; }
.siklah-system__badge {
	position: absolute;
	left: -30px; bottom: 40px;
	background: var(--canvas);
	border: 1px solid var(--brand);
	padding: 14px 18px;
	box-shadow: var(--soft);
}
.siklah-system__badge-label {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--brand);
	margin-bottom: 6px;
}
.siklah-system__badge-value {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 32px;
	color: var(--ink);
	line-height: 1;
}

/* ---------- ALMA grid ---------- */
.siklah-alma-grid {
	background: var(--canvas);
	padding: 144px 0;
	border-top: 1px solid var(--ink-ghost);
	border-bottom: 1px solid var(--ink-ghost);
}
.siklah-alma-grid__inner {
	max-width: 1680px;
	margin: 0 auto;
	padding: 0 var(--space-6);
}
.siklah-alma-grid__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 56px;
	gap: 24px;
	flex-wrap: wrap;
}
.siklah-alma-grid__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(48px, 6vw, 88px);
	line-height: 1.02;
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 12px 0 0;
}
.siklah-alma-grid__title em { font-style: italic; color: var(--brand); }
.siklah-alma-grid__cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
@media (max-width: 1023px) { .siklah-alma-grid__cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .siklah-alma-grid__cards { grid-template-columns: 1fr; } }

.siklah-charm-card { display: block; color: inherit; margin: 0; }
.siklah-charm-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}
.siklah-charm-card__media {
	aspect-ratio: var(--card-ratio, 4 / 5);
	background: var(--canvas-soft);
	overflow: hidden;
	position: relative;
	margin: 0;
}
.siklah-charm-card__img {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform 900ms cubic-bezier(.2,.6,.2,1), opacity 600ms cubic-bezier(.2,.6,.2,1);
	will-change: transform, opacity;
}
.siklah-charm-card__img.siklah-card__hover {
	opacity: 0;
	z-index: 2;
}
.siklah-charm-card__link:hover .siklah-charm-card__img { transform: scale(1.02); }
.siklah-charm-card__link:hover .siklah-charm-card__img.siklah-card__hover { opacity: 1; }
.siklah-charm-card__eyebrow {
	position: absolute;
	top: 14px; left: 14px;
	z-index: 3;
	font-family: var(--sans);
	font-size: 9.5px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--brand);
	background: rgba(255,255,255,0.92);
	padding: 6px 10px;
	border: 1px solid var(--brand);
}
.siklah-charm-card__body {
	padding: 18px 0 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.siklah-charm-card__name {
	font-family: var(--display);
	font-weight: 400;
	font-size: 22px;
	color: var(--ink);
	line-height: 1.2;
	margin: 0;
}
.siklah-charm-card__material {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 14px;
	color: var(--ink-muted);
	letter-spacing: 0.005em;
	margin: 2px 0 6px;
}
.siklah-charm-card__price {
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.16em;
	color: var(--ink);
	font-variant-numeric: tabular-nums;
}
.siklah-charm-card__price .amount,
.siklah-charm-card__price .woocommerce-Price-amount {
	font-weight: 500;
}

/* ---------- Heritage Scicli / Valenza ---------- */
.siklah-heritage {
	background: var(--canvas-warm);
	padding: 0;
	min-height: 100vh;
	display: flex;
	align-items: center;
}
.siklah-heritage__inner {
	max-width: 1680px;
	width: 100%;
	margin: 0 auto;
	padding: 0 var(--space-6);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	border: 1px solid var(--ink-ghost);
	background: var(--canvas);
}
@media (max-width: 1023px) {
	.siklah-heritage { height: auto; padding: 80px 0; }
	.siklah-heritage__inner { grid-template-columns: 1fr; max-height: none; }
}
.siklah-heritage__card {
	padding: 40px 44px;
	position: relative;
	min-height: 0;
	display: flex;
	flex-direction: column;
}
.siklah-heritage__card + .siklah-heritage__card {
	border-left: 1px solid var(--ink-ghost);
}
@media (max-width: 1023px) {
	.siklah-heritage__card + .siklah-heritage__card {
		border-left: none;
		border-top: 1px solid var(--ink-ghost);
	}
	.siklah-heritage__card { padding: 40px 32px; }
}
.siklah-heritage__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(32px, 4vw, 48px);
	line-height: 1.05;
	color: var(--ink);
	margin: 10px 0 0;
	letter-spacing: -0.015em;
}
.siklah-heritage__title em { font-style: italic; }
.siklah-heritage__media {
	aspect-ratio: 16 / 9;
	margin-top: 20px;
	overflow: hidden;
	background: var(--canvas-soft);
	flex-shrink: 1;
	min-height: 0;
}
.siklah-heritage__media img { width: 100%; height: 100%; object-fit: cover; }
.siklah-heritage__body {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.7;
	margin-top: 16px;
	max-width: 400px;
	color: var(--ink-muted);
}
.siklah-heritage__foot {
	margin-top: auto;
	padding-top: 20px;
	display: flex;
	justify-content: space-between;
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-muted);
}

/* ==========================================================================
   MAISON PAGE
   ========================================================================== */

/* Hero video 100vh */
.siklah-maison__hero {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}
.siklah-maison__hero-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.siklah-maison__hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10,10,10,0.1) 0%, rgba(10,10,10,0.25) 40%, rgba(10,10,10,0.6) 100%);
}
.siklah-maison__hero-content {
	position: absolute;
	bottom: 96px;
	left: 0; right: 0;
	z-index: 2;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 var(--space-7);
}
.siklah-maison__hero-eyebrow {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.6);
	display: block;
	margin-bottom: 16px;
}
.siklah-maison__hero-h1 {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(44px, 6vw, 96px);
	line-height: 1.02;
	letter-spacing: -0.02em;
	color: var(--canvas);
	margin: 0;
}
.siklah-maison__hero-h1 em { font-style: italic; }
.siklah-maison__hero-controls {
	position: absolute;
	bottom: 96px;
	right: var(--space-7);
	z-index: 3;
	display: flex;
	gap: 0;
}

/* Shared eyebrow, headings, body */
.siklah-maison__eyebrow {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink);
	display: block;
	margin-bottom: 20px;
}
.siklah-maison__h2 {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(36px, 4.5vw, 64px);
	line-height: 1.05;
	letter-spacing: -0.015em;
	color: var(--ink);
	margin: 0;
}
.siklah-maison__h2 em { font-style: italic; }
.siklah-maison__h2-center {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(36px, 5vw, 72px);
	line-height: 1.05;
	letter-spacing: -0.015em;
	color: var(--ink);
	margin: 0;
	text-align: center;
}
.siklah-maison__h2-center em { font-style: italic; }
.siklah-maison__body {
	font-family: var(--sans);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.7;
	color: var(--ink-muted);
	margin: 16px 0 0;
	max-width: 480px;
}
.siklah-maison__body-center {
	font-family: var(--sans);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.7;
	color: var(--ink-muted);
	margin: 24px auto 0;
	max-width: 560px;
	text-align: center;
}
.siklah-maison__cta {
	display: inline-block;
	margin-top: 32px;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink);
	text-decoration: none;
	border-bottom: 1px solid var(--ink);
	padding-bottom: 4px;
	transition: color .2s ease, border-color .2s ease;
}
.siklah-maison__cta:hover { color: var(--ink-muted); border-color: var(--ink-muted); }

/* 2. Origins — 2 col */
.siklah-maison__origins {
	background: var(--canvas);
	padding: 144px 0;
}
.siklah-maison__origins-inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: start;
}
.siklah-maison__origins-media {
	position: sticky;
	top: 60px;
}
.siklah-maison__origins-media img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}
.siklah-maison__origins-caption {
	display: block;
	margin-top: 12px;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.1em;
	color: var(--ink-faint);
}

/* 3. System — centrato + 3 card */
.siklah-maison__system {
	background: var(--canvas-soft);
	padding: 144px 0;
}
.siklah-maison__system-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	text-align: center;
}
.siklah-maison__system-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	margin-top: 64px;
}
.siklah-maison__system-card {
	padding: 40px 32px;
	border-left: 1px solid var(--ink-ghost);
	text-align: left;
}
.siklah-maison__system-card:first-child { border-left: none; padding-left: 0; }
.siklah-maison__system-card:last-child { padding-right: 0; }
.siklah-maison__system-num {
	font-family: var(--display);
	font-style: italic;
	font-size: 56px;
	line-height: 1;
	color: var(--ink);
	opacity: 0.08;
	display: block;
	margin-bottom: 20px;
}
.siklah-maison__system-card h3 {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink);
	margin: 0 0 10px;
}
.siklah-maison__system-card p {
	font-family: var(--sans);
	font-size: 14px;
	line-height: 1.65;
	color: var(--ink-muted);
	margin: 0;
	max-width: 280px;
}
.siklah-maison__system-inner .siklah-maison__cta { margin-top: 56px; }

/* 4. Craft — foto sx sticky + testo dx */
.siklah-maison__craft {
	background: var(--canvas);
	padding: 144px 0;
}
.siklah-maison__craft-inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: start;
}
.siklah-maison__craft-media {
	position: sticky;
	top: 60px;
}
.siklah-maison__craft-media img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}
.siklah-maison__craft-steps {
	margin-top: 40px;
}
.siklah-maison__craft-steps > div {
	padding: 24px 0;
	border-bottom: 1px solid var(--ink-ghost);
}
.siklah-maison__craft-steps > div:first-child { border-top: 1px solid var(--ink-ghost); }
.siklah-maison__craft-steps dt {
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink);
	margin: 0 0 6px;
}
.siklah-maison__craft-steps dd {
	font-family: var(--sans);
	font-size: 14px;
	line-height: 1.6;
	color: var(--ink-muted);
	margin: 0;
}

/* 5. Numbers */
.siklah-maison__numbers {
	background: var(--brand);
	padding: 80px 0;
}
.siklah-maison__numbers-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 48px;
	text-align: center;
}
.siklah-maison__number-val {
	font-family: var(--display);
	font-style: italic;
	font-size: clamp(48px, 5vw, 72px);
	font-weight: 400;
	color: var(--canvas);
	display: block;
	line-height: 1;
	margin-bottom: 12px;
}
.siklah-maison__number-label {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.5);
}

/* 6. Manifesto */
.siklah-maison__manifesto {
	background: var(--canvas);
	padding: 144px 0;
}
.siklah-maison__manifesto-inner {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	text-align: center;
}
.siklah-maison__manifesto-q {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(36px, 5vw, 64px);
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: var(--ink);
	margin: 0;
	border: none;
	padding: 0;
}
.siklah-maison__manifesto-q em { font-style: italic; }
.siklah-maison__manifesto-attr {
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-faint);
	margin-top: 32px;
}

/* 7. Final CTA cards */
.siklah-maison__final {
	background: var(--canvas-soft);
	padding: 96px 0;
}
.siklah-maison__final-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
.siklah-maison__final-card {
	background: var(--canvas);
	overflow: hidden;
}
.siklah-maison__final-card img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
	transition: transform .6s cubic-bezier(.2,.6,.2,1);
}
.siklah-maison__final-card:hover img { transform: scale(1.03); }
.siklah-maison__final-card-body {
	padding: 32px;
}
.siklah-maison__final-card-body h3 {
	font-family: var(--display);
	font-size: 28px;
	font-weight: 400;
	color: var(--ink);
	margin: 8px 0 12px;
}
.siklah-maison__final-card-body p {
	font-family: var(--sans);
	font-size: 14px;
	line-height: 1.6;
	color: var(--ink-muted);
	margin: 0;
}

/* Responsive */
@media (max-width: 1023px) {
	.siklah-maison__origins-inner,
	.siklah-maison__craft-inner { grid-template-columns: 1fr; gap: 48px; }
	.siklah-maison__origins-media,
	.siklah-maison__craft-media { position: static; }
	.siklah-maison__system-grid { grid-template-columns: 1fr; }
	.siklah-maison__system-card { border-left: none; border-top: 1px solid var(--ink-ghost); padding: 32px 0; }
	.siklah-maison__system-card:first-child { border-top: 1px solid var(--ink-ghost); }
	.siklah-maison__numbers-inner { grid-template-columns: repeat(2, 1fr); }
	.siklah-maison__final-inner { grid-template-columns: 1fr; }
	.siklah-maison__origins,
	.siklah-maison__craft,
	.siklah-maison__system,
	.siklah-maison__manifesto { padding: 80px 0; }
	.siklah-maison__hero-content { bottom: 64px; padding: 0 var(--space-5); }
	.siklah-maison__hero-controls { bottom: 64px; right: var(--space-5); }
}

/* ==========================================================================
   CONCIERGE PAGE
   ========================================================================== */
.siklah-concierge__eyebrow {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink);
	display: block;
	margin-bottom: 20px;
}
.siklah-concierge__h1 {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(40px, 5vw, 72px);
	line-height: 1.05;
	letter-spacing: -0.015em;
	color: var(--ink);
	margin: 0;
}
.siklah-concierge__h1 em { font-style: italic; }
.siklah-concierge__h2 {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(32px, 4vw, 48px);
	line-height: 1.08;
	color: var(--ink);
	margin: 0;
}
.siklah-concierge__h2 em { font-style: italic; }
.siklah-concierge__body {
	font-family: var(--sans);
	font-size: 15px;
	line-height: 1.7;
	color: var(--ink-muted);
	margin: 16px 0 0;
}

/* Hero */
.siklah-concierge__hero {
	background: var(--canvas);
	padding: 120px 0 96px;
}
.siklah-concierge__hero-inner {
	max-width: 720px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	text-align: center;
}
.siklah-concierge__lead {
	font-family: var(--sans);
	font-size: 16px;
	line-height: 1.7;
	color: var(--ink-muted);
	margin: 24px auto 0;
	max-width: 520px;
}

/* Services — 4 card grid */
.siklah-concierge__services {
	background: var(--canvas-soft);
	padding: 96px 0;
}
.siklah-concierge__services-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
}
.siklah-concierge__service {
	padding: 40px 32px;
	border-left: 1px solid var(--ink-ghost);
}
.siklah-concierge__service:first-child { border-left: none; padding-left: 0; }
.siklah-concierge__service:last-child { padding-right: 0; }
.siklah-concierge__service-num {
	font-family: var(--display);
	font-style: italic;
	font-size: 48px;
	line-height: 1;
	color: var(--ink);
	opacity: 0.08;
	display: block;
	margin-bottom: 20px;
}
.siklah-concierge__service h2 {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink);
	margin: 0 0 12px;
}
.siklah-concierge__service p {
	font-family: var(--sans);
	font-size: 14px;
	line-height: 1.65;
	color: var(--ink-muted);
	margin: 0;
	max-width: 260px;
}

/* Contact — 2 col */
.siklah-concierge__contact {
	background: var(--canvas);
	padding: 120px 0;
}
.siklah-concierge__contact-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: start;
}
.siklah-concierge__contact-cards {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.siklah-concierge__contact-card {
	padding: 28px 0;
	border-bottom: 1px solid var(--ink-ghost);
}
.siklah-concierge__contact-card:first-child { border-top: 1px solid var(--ink-ghost); }
.siklah-concierge__contact-card h3 {
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink);
	margin: 0 0 8px;
}
.siklah-concierge__contact-card a {
	font-family: var(--sans);
	font-size: 15px;
	color: var(--ink);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: var(--ink-ghost);
}
.siklah-concierge__contact-card a:hover { color: var(--brand); }
.siklah-concierge__contact-card p {
	font-family: var(--sans);
	font-size: 14px;
	line-height: 1.6;
	color: var(--ink-muted);
	margin: 0;
}

/* FAQ — accordion */
.siklah-concierge__faq {
	background: var(--canvas-soft);
	padding: 96px 0;
}
.siklah-concierge__faq-inner {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 var(--space-7);
}
.siklah-concierge__faq-head {
	margin-bottom: 48px;
}
.siklah-concierge__faq-item {
	border-bottom: 1px solid var(--ink-ghost);
}
.siklah-concierge__faq-item:first-child { border-top: 1px solid var(--ink-ghost); }
.siklah-concierge__faq-item summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 24px 0;
	font-family: var(--sans);
	font-size: 15px;
	font-weight: 500;
	color: var(--ink);
	cursor: pointer;
	list-style: none;
}
.siklah-concierge__faq-item summary::-webkit-details-marker { display: none; }
.siklah-concierge__faq-item summary::after {
	content: "+";
	font-size: 20px;
	font-weight: 300;
	color: var(--ink-muted);
	flex-shrink: 0;
	margin-left: 16px;
}
.siklah-concierge__faq-item[open] summary::after { content: "\2212"; }
.siklah-concierge__faq-item p {
	font-family: var(--sans);
	font-size: 14px;
	line-height: 1.7;
	color: var(--ink-muted);
	margin: 0;
	padding: 0 0 24px;
}

/* Responsive */
@media (max-width: 1023px) {
	.siklah-concierge__services-inner { grid-template-columns: 1fr 1fr; }
	.siklah-concierge__service { border-left: none; padding: 32px 0; border-top: 1px solid var(--ink-ghost); }
	.siklah-concierge__service:first-child { border-top: 1px solid var(--ink-ghost); }
	.siklah-concierge__service:nth-child(2n) { padding-left: 32px; border-left: 1px solid var(--ink-ghost); }
	.siklah-concierge__contact-inner { grid-template-columns: 1fr; gap: 48px; }
	.siklah-concierge__hero { padding: 96px 0 64px; }
	.siklah-concierge__contact { padding: 80px 0; }
}
@media (max-width: 640px) {
	.siklah-concierge__services-inner { grid-template-columns: 1fr; }
	.siklah-concierge__service:nth-child(2n) { padding-left: 0; border-left: none; }
}

/* ==========================================================================
   PIERCING HERO — Apple style, sfondo nero, prodotto a destra
   ========================================================================== */
.siklah-ph {
	position: relative;
	width: 100%;
	height: 100vh;
	background: #000;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
}
.siklah-ph__image {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
}
.siklah-ph__image img {
	max-width: 70%;
	max-height: 90%;
	object-fit: contain;
}
.siklah-ph__content {
	position: relative;
	z-index: 2;
	max-width: 1440px;
	width: 100%;
	margin: 0 auto;
	padding: 0 var(--space-7) 96px;
}
.siklah-ph__eyebrow {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.5);
	display: block;
	margin-bottom: 16px;
}
.siklah-ph__h1 {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(44px, 6vw, 88px);
	line-height: 1.02;
	letter-spacing: -0.02em;
	color: #fff;
	margin: 0;
	max-width: 600px;
}
.siklah-ph__h1 em {
	font-style: italic;
	color: rgba(255,255,255,0.45);
}
.siklah-ph__sub {
	font-family: var(--sans);
	font-size: 17px;
	font-weight: 400;
	color: rgba(255,255,255,0.5);
	margin: 20px 0 0;
}
.siklah-ph__bottom-right {
	position: absolute;
	bottom: 96px;
	right: var(--space-7);
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 0;
}
.siklah-ph__price {
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.1em;
	color: rgba(255,255,255,0.5);
	padding: 16px 24px;
	border: 1px solid rgba(255,255,255,0.15);
	white-space: nowrap;
}
.siklah-ph__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 36px;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #000;
	background: #fff;
	border: 1px solid #fff;
	text-decoration: none;
	transition: background .25s ease, color .25s ease;
}
.siklah-ph__cta:hover {
	background: transparent;
	color: #fff;
}

@media (max-width: 1023px) {
	.siklah-ph__image {
		width: 100%;
		opacity: 0.5;
	}
	.siklah-ph__content {
		padding: 0 var(--space-5) 80px;
	}
	.siklah-ph__bottom-right {
		bottom: 24px;
		right: var(--space-5);
	}
}

/* ---------- Piercing Features Slider ---------- */
.siklah-feat {
	display: grid;
	grid-template-columns: 42% 58%;
	min-height: 100vh;
	background: var(--canvas);
	overflow: hidden;
}
.siklah-feat__text-col {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 96px 64px 64px 80px;
	position: relative;
}
.siklah-feat__slides {
	position: relative;
	min-height: 280px;
}
.siklah-feat__slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.5s cubic-bezier(.4,0,.2,1), transform 0.5s cubic-bezier(.4,0,.2,1);
	pointer-events: none;
}
.siklah-feat__slide.is-active {
	position: relative;
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
.siklah-feat__slide.is-leaving {
	opacity: 0;
	transform: translateY(-16px);
}
.siklah-feat__slide.is-entering {
	opacity: 0;
	transform: translateY(24px);
}
.siklah-feat__heading {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(36px, 4.5vw, 64px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 16px 0 24px;
}
.siklah-feat__desc {
	font-family: var(--sans);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.7;
	color: var(--ink-muted);
	margin: 0;
	max-width: 420px;
}
.siklah-feat__nav {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-top: 48px;
}
.siklah-feat__counter {
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.18em;
	color: var(--ink-muted);
	min-width: 56px;
}
.siklah-feat__arrows {
	display: flex;
	gap: 8px;
}
.siklah-feat__arrow {
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 1px solid var(--ink-ghost);
	color: var(--ink);
	cursor: pointer;
	transition: border-color .25s ease, background-color .25s ease, color .25s ease;
}
.siklah-feat__arrow:hover {
	border-color: var(--ink);
	background: var(--ink);
	color: var(--canvas);
}
.siklah-feat__progress {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 2px;
	background: var(--ink-ghost);
}
.siklah-feat__progress-bar {
	height: 100%;
	background: var(--brand);
	transition: width .5s cubic-bezier(.4,0,.2,1);
}

/* Media column */
.siklah-feat__media-col {
	position: relative;
	overflow: hidden;
	background: var(--canvas-soft);
}
.siklah-feat__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transform: scale(1.04);
	transition: opacity 0.7s cubic-bezier(.4,0,.2,1), transform 0.7s cubic-bezier(.4,0,.2,1);
}
.siklah-feat__img.is-active {
	opacity: 1;
	transform: scale(1);
	z-index: 1;
}
.siklah-feat__img.is-leaving {
	opacity: 0;
	transform: scale(0.97);
	z-index: 0;
}
.siklah-feat__img.is-entering {
	opacity: 0;
	transform: scale(1.04);
}
/* Badge social proof */
.siklah-feat__badges {
	position: absolute;
	bottom: 32px;
	right: 32px;
	z-index: 5;
}
.siklah-feat__badge {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 20px 28px;
	border: 1px solid rgba(255,255,255,0.25);
	background: rgba(10,10,10,0.55);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	text-align: center;
	opacity: 0;
	transform: translateY(-8px);
	transition: opacity 0.5s cubic-bezier(.4,0,.2,1), transform 0.5s cubic-bezier(.4,0,.2,1);
	pointer-events: none;
}
.siklah-feat__badge.is-active {
	position: relative;
	opacity: 1;
	transform: translateY(0);
}
.siklah-feat__badge.is-leaving {
	opacity: 0;
	transform: translateY(8px);
}
.siklah-feat__badge-value {
	font-family: var(--display);
	font-weight: 400;
	font-size: 32px;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: #fff;
}
.siklah-feat__badge-label {
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.6);
	margin-top: 6px;
}

@media (max-width: 1023px) {
	.siklah-feat {
		grid-template-columns: 1fr;
		min-height: auto;
	}
	.siklah-feat__media-col {
		aspect-ratio: 4 / 3;
		order: -1;
	}
	.siklah-feat__text-col {
		padding: 64px var(--space-5) 48px;
	}
	.siklah-feat__slides {
		min-height: 220px;
	}
}
@media (max-width: 640px) {
	.siklah-feat__slides { min-height: 260px; }
}

/* ---------- Piercing Configurator ---------- */
.sk-cfg {
	background: var(--canvas);
}
.sk-cfg__sentinel {
	height: 1px;
}

/* Nav — two states: expanded (intro) and compact (stuck) */
.sk-cfg__nav {
	position: sticky;
	top: 0;
	z-index: 50;
	background: var(--canvas);
	padding: 96px 0 64px;
	border-bottom: 1px solid transparent;
	transition: padding .5s cubic-bezier(.4,0,.2,1), border-color .5s ease;
}
.sk-cfg__nav-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 64px;
	position: relative;
}
.sk-cfg__line {
	position: absolute;
	bottom: -64px;
	height: 2px;
	background: var(--brand);
	transition: left .4s cubic-bezier(.4,0,.2,1), width .4s cubic-bezier(.4,0,.2,1), bottom .5s cubic-bezier(.4,0,.2,1);
}

/* Step items */
.sk-cfg__item {
	display: flex;
	flex-direction: column;
	gap: 16px;
	background: none;
	border: none;
	border-top: 1px solid var(--ink-ghost);
	padding: 24px 0 0;
	cursor: pointer;
	text-align: left;
	color: var(--ink-faint);
	transition: color .3s ease;
}
.sk-cfg__item:hover { color: var(--ink-muted); }
.sk-cfg__item.is-active { color: var(--ink); }
.sk-cfg__item-n {
	font-family: var(--display);
	font-style: italic;
	font-size: 48px;
	line-height: 1;
	letter-spacing: -0.02em;
	opacity: 0.25;
	transition: font-size .5s cubic-bezier(.4,0,.2,1), opacity .5s ease, color .3s ease;
}
.sk-cfg__item.is-active .sk-cfg__item-n { opacity: 1; color: var(--brand); }
.sk-cfg__item-t {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	transition: font-size .5s cubic-bezier(.4,0,.2,1);
}
.sk-cfg__item-d {
	font-family: var(--display);
	font-style: italic;
	font-size: 15px;
	line-height: 1.65;
	color: var(--ink-muted);
	max-height: 120px;
	opacity: 1;
	transition: max-height .5s cubic-bezier(.4,0,.2,1), opacity .4s ease, margin .5s ease;
	overflow: hidden;
	margin-top: 4px;
}

/* Compact / stuck state */
.sk-cfg__nav.is-stuck {
	padding: 0;
	border-bottom-color: var(--ink-ghost);
}
.sk-cfg__nav.is-stuck .sk-cfg__nav-inner {
	gap: 0;
	max-width: 100%;
	padding: 0;
	display: flex;
}
.sk-cfg__nav.is-stuck .sk-cfg__item {
	flex: 1;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	padding: 18px 24px;
	border-top: none;
	justify-content: center;
}
.sk-cfg__nav.is-stuck .sk-cfg__item-n {
	font-size: 18px;
}
.sk-cfg__nav.is-stuck .sk-cfg__item-t {
	font-size: 10px;
}
.sk-cfg__nav.is-stuck .sk-cfg__item-d {
	max-height: 0;
	opacity: 0;
	margin: 0;
}
.sk-cfg__nav.is-stuck .sk-cfg__line {
	bottom: 0;
}

/* Panels container */
.sk-cfg__panels {
	min-height: 100vh;
}
.sk-cfg__pane {
	display: none;
	flex-direction: column;
	align-items: center;
	padding: 96px var(--space-7);
}
.sk-cfg__pane.is-active {
	display: flex;
	animation: siklah-fade 350ms ease-out both;
}

/* CTA */
.sk-cfg__cta {
	margin-top: 64px;
	padding: 16px 48px;
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	background: var(--ink);
	color: var(--canvas);
	border: 1px solid var(--ink);
	cursor: pointer;
	transition: background .25s ease, border-color .25s ease;
}
.sk-cfg__cta:hover { background: var(--brand); border-color: var(--brand); }
.sk-cfg__cta--brand { background: var(--brand); border-color: var(--brand); }
.sk-cfg__cta--brand:hover { background: var(--brand-deep); border-color: var(--brand-deep); }
.sk-cfg__cta:disabled { opacity: .5; cursor: wait; }

/* Step 1: Base picks */
.sk-cfg__bases {
	display: flex;
	gap: 24px;
	width: 100%;
	max-width: 720px;
}
.sk-cfg__base {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 48px 24px;
	border: 1px solid var(--ink-ghost);
	background: transparent;
	cursor: pointer;
	text-align: center;
	transition: border-color .3s ease, background .3s ease;
}
.sk-cfg__base:hover { border-color: var(--ink-faint); }
.sk-cfg__base.is-on { border-color: var(--brand); background: var(--brand-soft); }
.sk-cfg__base-name {
	font-family: var(--display);
	font-weight: 400;
	font-size: 28px;
	line-height: 1.1;
	color: var(--ink);
}
.sk-cfg__base-sub {
	font-family: var(--sans);
	font-size: 11px;
	letter-spacing: 0.12em;
	color: var(--ink-muted);
}
.sk-cfg__base-price {
	font-family: var(--display);
	font-size: 22px;
	color: var(--ink);
	font-variant-numeric: tabular-nums;
	margin-top: 8px;
}
.sk-cfg__base.is-on .sk-cfg__base-sub { color: var(--brand); }

/* Step 2: Charm rail — bigger cards */
.sk-cfg__rail-wrap {
	position: relative;
	width: 100%;
	max-width: 960px;
}
.sk-cfg__rail {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 4px 0;
}
.sk-cfg__rail::-webkit-scrollbar { display: none; }
.sk-cfg__rail { scrollbar-width: none; }
.sk-cfg__charm {
	flex: 0 0 260px;
	display: flex;
	flex-direction: column;
	border: 1px solid var(--ink-ghost);
	background: transparent;
	padding: 0;
	cursor: pointer;
	text-align: center;
	overflow: hidden;
	scroll-snap-align: start;
	transition: border-color .25s ease;
}
.sk-cfg__charm:hover { border-color: var(--ink-faint); }
.sk-cfg__charm.is-on { border-color: var(--brand); }
.sk-cfg__charm-fig {
	margin: 0;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--canvas-soft);
}
.sk-cfg__charm-fig img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}
.sk-cfg__charm:hover .sk-cfg__charm-fig img { transform: scale(1.03); }
.sk-cfg__charm-name {
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.08em;
	color: var(--ink);
	padding: 14px 12px;
}
.sk-cfg__rail-arr {
	position: absolute;
	top: 45%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--canvas);
	border: 1px solid var(--ink-ghost);
	color: var(--ink-muted);
	cursor: pointer;
	z-index: 2;
	transition: border-color .2s, color .2s;
}
.sk-cfg__rail-arr:hover { border-color: var(--ink); color: var(--ink); }
.sk-cfg__rail-arr--prev { left: -20px; }
.sk-cfg__rail-arr--next { right: -20px; }

/* Step 3: Recap boxes — bigger */
.sk-cfg__recap {
	display: flex;
	align-items: center;
	gap: 48px;
}
.sk-cfg__box {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
}
.sk-cfg__box-img {
	width: 260px;
	height: 260px;
	border-radius: 16px;
	border: 1.5px dashed var(--ink-ghost);
	background: var(--canvas-soft);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	transition: border-color .25s ease;
}
.sk-cfg__box:hover .sk-cfg__box-img { border-color: var(--ink-faint); }
.sk-cfg__box-img.has-sel { border-style: solid; border-color: var(--brand); }
.sk-cfg__box-img img { width: 100%; height: 100%; object-fit: cover; border-radius: 14px; }
.sk-cfg__box-plus {
	font-family: var(--display);
	font-size: 48px;
	font-weight: 300;
	color: var(--ink-faint);
}
.sk-cfg__box-img.has-sel .sk-cfg__box-plus { display: none; }
.sk-cfg__box-and {
	font-family: var(--display);
	font-size: 28px;
	color: var(--ink-ghost);
}
.sk-cfg__box-name {
	font-family: var(--display);
	font-size: 20px;
	color: var(--ink);
}
.sk-cfg__box-price {
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 500;
	color: var(--ink-muted);
	min-height: 18px;
}

@media (max-width: 1023px) {
	.sk-cfg__nav { padding: 64px 0 48px; }
	.sk-cfg__nav-inner { padding: 0 var(--space-5); gap: 32px; }
	.sk-cfg__pane { padding: 64px var(--space-5); }
	.sk-cfg__charm { flex: 0 0 200px; }
	.sk-cfg__box-img { width: 200px; height: 200px; }
}
@media (max-width: 768px) {
	.sk-cfg__nav-inner { grid-template-columns: 1fr; gap: 24px; }
	.sk-cfg__nav.is-stuck .sk-cfg__nav-inner { flex-wrap: nowrap; }
}
@media (max-width: 640px) {
	.sk-cfg__bases { flex-direction: column; gap: 12px; }
	.sk-cfg__charm { flex: 0 0 160px; }
	.sk-cfg__recap { flex-direction: column; gap: 24px; }
	.sk-cfg__box-and { transform: rotate(90deg); }
	.sk-cfg__box-img { width: 180px; height: 180px; }
	.sk-cfg__nav.is-stuck .sk-cfg__item { padding: 12px 12px; }
}

/* ---------- Piercing Craft (Maestria) ---------- */
.siklah-craft {
	background: var(--canvas);
}
.siklah-craft__moment {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	min-height: 90vh;
}
.siklah-craft__moment--reverse {
	direction: rtl;
}
.siklah-craft__moment--reverse > * {
	direction: ltr;
}
.siklah-craft__media {
	overflow: hidden;
	background: var(--canvas-soft);
}
.siklah-craft__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.siklah-craft__media--dark {
	background: #0A0A0A;
}
.siklah-craft__media--dark img {
	object-fit: contain;
	padding: 10%;
}
.siklah-craft__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 96px 80px;
	max-width: 560px;
}
.siklah-craft__moment--reverse .siklah-craft__text {
	margin-left: auto;
}
.siklah-craft__heading {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(32px, 3.5vw, 52px);
	line-height: 1.08;
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 16px 0 24px;
}
.siklah-craft__heading em {
	font-style: italic;
	color: var(--brand);
}
.siklah-craft__body {
	font-family: var(--sans);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.7;
	color: var(--ink-muted);
	margin: 0;
}
@media (max-width: 1023px) {
	.siklah-craft__moment {
		grid-template-columns: 1fr;
		min-height: auto;
	}
	.siklah-craft__moment--reverse {
		direction: ltr;
	}
	.siklah-craft__media {
		aspect-ratio: 4 / 3;
	}
	.siklah-craft__text {
		padding: 64px var(--space-5);
		max-width: none;
	}
	.siklah-craft__moment--reverse .siklah-craft__text {
		margin-left: 0;
	}
}

/* ---------- Piercing Quiz CTA ---------- */
.siklah-quiz-cta {
	background: var(--canvas-warm);
	padding: 144px 0;
	text-align: center;
}
.siklah-quiz-cta__inner {
	max-width: 640px;
	margin: 0 auto;
	padding: 0 var(--space-7);
}
.siklah-quiz-cta__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(40px, 5vw, 72px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 16px 0 24px;
}
.siklah-quiz-cta__title em {
	font-style: italic;
	color: var(--brand);
}
.siklah-quiz-cta__lead {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 18px;
	line-height: 1.6;
	color: var(--ink-muted);
	margin: 0 0 48px;
}
.siklah-quiz-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 20px 56px;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--canvas);
	background: var(--brand);
	border: 1px solid var(--brand);
	cursor: pointer;
	transition: background .25s ease, color .25s ease;
}
.siklah-quiz-cta__btn:hover {
	background: var(--brand-deep);
	border-color: var(--brand-deep);
}

/* Quiz modal */
.siklah-quiz-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 1000;
	align-items: center;
	justify-content: center;
}
.siklah-quiz-modal[aria-hidden="false"] {
	display: flex;
}
.siklah-quiz-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(10, 10, 10, 0.92);
	animation: siklah-fade 300ms ease-out both;
}
.siklah-quiz-modal__panel {
	position: relative;
	z-index: 1;
	background: var(--canvas);
	width: 92%;
	max-width: 540px;
	padding: 64px 48px;
	animation: siklah-zoom 380ms cubic-bezier(.2,.8,.2,1) both;
	text-align: center;
}
.siklah-quiz-modal__close {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 1px solid var(--ink-ghost);
	color: var(--ink-muted);
	font-size: 20px;
	cursor: pointer;
	transition: color .2s ease, border-color .2s ease;
}
.siklah-quiz-modal__close:hover {
	color: var(--ink);
	border-color: var(--ink);
}
.siklah-quiz-modal__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(32px, 4vw, 44px);
	line-height: 1.1;
	letter-spacing: -0.015em;
	color: var(--ink);
	margin: 12px 0 16px;
}
.siklah-quiz-modal__progress {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink-muted);
	display: block;
	margin-bottom: 24px;
}
.siklah-quiz-modal__question {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(24px, 3vw, 32px);
	line-height: 1.15;
	color: var(--ink);
	margin: 0 0 32px;
}
.siklah-quiz-step {
	display: none;
}
.siklah-quiz-step.is-active {
	display: block;
}
.siklah-quiz-options {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.siklah-quiz-option {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 20px 24px;
	border: 1px solid var(--ink-ghost);
	background: transparent;
	text-align: left;
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease;
}
.siklah-quiz-option:hover {
	border-color: var(--brand);
	background: var(--brand-soft);
}
.siklah-quiz-option__label {
	font-family: var(--display);
	font-weight: 400;
	font-size: 20px;
	color: var(--ink);
	line-height: 1.2;
}
.siklah-quiz-option__sub {
	font-family: var(--display);
	font-style: italic;
	font-size: 14px;
	color: var(--ink-muted);
	line-height: 1.4;
}
.siklah-quiz-modal__next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 32px;
	padding: 16px 48px;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--canvas);
	background: var(--ink);
	border: 1px solid var(--ink);
	cursor: pointer;
	transition: background .25s ease;
}
.siklah-quiz-modal__next:hover {
	background: var(--brand);
	border-color: var(--brand);
}
.siklah-quiz-modal__result-name {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(40px, 5vw, 56px);
	line-height: 1.05;
	color: var(--brand);
	margin: 12px 0 16px;
	letter-spacing: -0.02em;
}
.siklah-quiz-modal__result-desc {
	font-family: var(--display);
	font-style: italic;
	font-size: 17px;
	line-height: 1.6;
	color: var(--ink-muted);
	margin: 0 0 36px;
}
.siklah-quiz-modal__result-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 18px 48px;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--canvas);
	background: var(--brand);
	border: 1px solid var(--brand);
	text-decoration: none;
	transition: background .25s ease;
}
.siklah-quiz-modal__result-cta:hover {
	background: var(--brand-deep);
	border-color: var(--brand-deep);
}
@media (max-width: 640px) {
	.siklah-quiz-cta { padding: 96px 0; }
	.siklah-quiz-modal__panel { padding: 48px 24px; }
}

/* ---------- Piercing Product Showcase ---------- */
.siklah-psc {
	background: var(--canvas);
	padding: 144px 0;
}
.siklah-psc__header {
	max-width: 1440px;
	margin: 0 auto 96px;
	padding: 0 var(--space-7);
	text-align: center;
}
.siklah-psc__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(40px, 5vw, 72px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 16px 0 0;
}
.siklah-psc__title em {
	font-style: italic;
	color: var(--brand);
}
.siklah-psc__grid {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 80px;
	align-items: start;
}
.siklah-psc__image {
	position: sticky;
	top: 120px;
}
.siklah-psc__image img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	background: var(--canvas-soft);
}
.siklah-psc__details {
	display: flex;
	flex-direction: column;
	gap: 48px;
	padding: 16px 0;
}
.siklah-psc__intro {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.6;
	color: var(--ink);
	margin: 0;
	max-width: 480px;
}
.siklah-psc__variants {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.siklah-psc__variant {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 28px 24px;
	border: 1px solid var(--ink-ghost);
	text-decoration: none;
	color: inherit;
	transition: border-color .25s ease, background-color .25s ease;
}
.siklah-psc__variant:hover {
	border-color: var(--ink);
	background: var(--canvas-soft);
}
.siklah-psc__variant-head {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.siklah-psc__variant-badge {
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink-muted);
}
.siklah-psc__variant-name {
	font-family: var(--display);
	font-weight: 400;
	font-size: 24px;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: var(--ink);
	margin: 0;
}
.siklah-psc__variant-desc {
	font-family: var(--display);
	font-style: italic;
	font-size: 14px;
	color: var(--ink-muted);
	margin: 0;
	line-height: 1.5;
}
.siklah-psc__variant-price {
	font-family: var(--display);
	font-size: 22px;
	color: var(--ink);
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.01em;
	margin-top: auto;
}
.siklah-psc__specs {
	display: grid;
	gap: 0;
	border-top: 1px solid var(--ink-ghost);
}
.siklah-psc__spec {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 24px;
	padding: 16px 0;
	border-bottom: 1px solid var(--ink-ghost);
	align-items: baseline;
}
.siklah-psc__spec dt {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink-muted);
	margin: 0;
}
.siklah-psc__spec dd {
	font-family: var(--sans);
	font-size: 14px;
	font-weight: 400;
	color: var(--ink);
	margin: 0;
	line-height: 1.5;
}
.siklah-psc__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	padding: 18px 48px;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--canvas);
	background: var(--ink);
	border: 1px solid var(--ink);
	text-decoration: none;
	transition: background .25s ease, color .25s ease;
}
.siklah-psc__cta:hover {
	background: var(--brand);
	border-color: var(--brand);
}

@media (max-width: 1023px) {
	.siklah-psc { padding: 96px 0; }
	.siklah-psc__header { margin-bottom: 64px; }
	.siklah-psc__grid {
		grid-template-columns: 1fr;
		gap: 48px;
		padding: 0 var(--space-5);
	}
	.siklah-psc__image {
		position: static;
	}
	.siklah-psc__variants {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 640px) {
	.siklah-psc__spec {
		grid-template-columns: 1fr;
		gap: 4px;
	}
}

/* ---------- Shipping trust strip ---------- */
.siklah-trust-strip {
	background: var(--canvas);
	border-top: 1px solid var(--ink-ghost);
	border-bottom: none;
	padding: 56px 0;
}
.siklah-trust-strip__inner {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px;
}
.siklah-trust-strip__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	text-align: left;
	padding-right: 24px;
	position: relative;
}
.siklah-trust-strip__item + .siklah-trust-strip__item::before {
	content: "";
	position: absolute;
	left: -20px; top: 14px; bottom: 14px;
	width: 1px;
	background: var(--ink-ghost);
}
.siklah-trust-strip__icon {
	display: inline-flex;
	width: 36px; height: 36px;
	color: var(--ink);
}
.siklah-trust-strip__icon svg {
	width: 100%; height: 100%;
}
.siklah-trust-strip__label {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink);
}
.siklah-trust-strip__meta {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 14px;
	color: var(--ink-muted);
	letter-spacing: 0.01em;
}
@media (max-width: 880px) {
	.siklah-trust-strip__inner { grid-template-columns: repeat(2, 1fr); gap: 32px 24px; }
	.siklah-trust-strip__item + .siklah-trust-strip__item::before { display: none; }
	.siklah-trust-strip__item:nth-child(odd)::after {
		content: ""; position: absolute; right: 0; top: 14px; bottom: 14px;
		width: 1px; background: var(--ink-ghost);
	}
}
@media (max-width: 520px) {
	.siklah-trust-strip__inner { grid-template-columns: 1fr; }
	.siklah-trust-strip__item:nth-child(odd)::after { display: none; }
}

/* Trust strip dark variant */
.siklah-trust-strip--dark {
	background: var(--ink);
	border-top: none;
	border-bottom: none;
}
.siklah-trust-strip--dark .siklah-trust-strip__label {
	color: var(--canvas);
}
.siklah-trust-strip--dark .siklah-trust-strip__icon {
	color: var(--canvas);
	opacity: 0.6;
}
.siklah-trust-strip--dark .siklah-trust-strip__item + .siklah-trust-strip__item::before {
	background: rgba(255,255,255,0.15);
}

/* ==========================================================================
   ARCHIVE PAGE v2
   ========================================================================== */
.siklah-archive {
	background: var(--canvas);
	padding: 48px 0 96px;
}
.siklah-archive__container {
	max-width: 100%;
	margin: 0 auto;
	padding: 0 var(--space-7);
}

/* Breadcrumb */
.siklah-archive__crumbs {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.08em;
	color: var(--ink-muted);
	margin-bottom: 32px;
}
.siklah-archive__crumbs a {
	color: var(--ink-muted);
	text-decoration: none;
}
.siklah-archive__crumbs a:hover { color: var(--ink); }
.siklah-archive__crumbs .sep {
	margin: 0 8px;
	opacity: 0.4;
}

/* Header grid: title left + categories right */
.siklah-archive__header {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 48px;
	align-items: center;
	margin-bottom: 48px;
	padding-bottom: 48px;
}
.siklah-archive__h1 {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(48px, 7vw, 96px);
	line-height: 1.02;
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 12px 0 0;
}
.siklah-archive__h1 em { font-style: italic; }
.siklah-archive__desc {
	font-family: var(--sans);
	font-weight: 400;
	font-size: 14px;
	line-height: 1.7;
	color: var(--ink-muted);
	margin: 16px 0 0;
	max-width: 560px;
}

/* Category circles */
.siklah-archive__header-right {
	display: flex;
	gap: 32px;
	align-items: flex-start;
	flex-shrink: 0;
}
.siklah-archive__cat-circle {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: var(--ink-muted);
	transition: color .2s ease;
}
.siklah-archive__cat-circle:hover,
.siklah-archive__cat-circle.is-active {
	color: var(--ink);
}
.siklah-archive__cat-img {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--canvas-soft);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ink-ghost);
	transition: border-color .2s ease;
}
.siklah-archive__cat-circle:hover .siklah-archive__cat-img,
.siklah-archive__cat-circle.is-active .siklah-archive__cat-img {
	border-color: var(--ink);
}
.siklah-archive__cat-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.siklah-archive__cat-name {
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-align: center;
	max-width: 120px;
}
.siklah-archive__cat-desc {
	font-family: var(--display);
	font-style: italic;
	font-size: 11px;
	font-weight: 400;
	color: var(--ink-faint);
	text-align: center;
	max-width: 120px;
	line-height: 1.4;
}

/* Tabs */
.siklah-archive__tabs {
	display: flex;
	gap: 24px;
	border-bottom: 1px solid var(--ink-ghost);
	margin-bottom: 20px;
}
.siklah-archive__tab {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.02em;
	color: var(--ink-muted);
	text-decoration: none;
	padding: 12px 0;
	border-bottom: 2px solid transparent;
	transition: color .2s ease, border-color .2s ease;
}
.siklah-archive__tab.is-active {
	color: var(--ink);
	font-weight: 500;
	border-bottom-color: var(--ink);
}

/* Filters */
.siklah-archive__filters {
	display: flex;
	align-items: center;
	gap: 24px;
	margin-bottom: 24px;
}
.siklah-archive__filter-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: none;
	border: none;
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ink);
	cursor: pointer;
	padding: 8px 0;
	transition: color .2s ease;
}
.siklah-archive__filter-btn:hover { color: var(--ink-muted); }
.siklah-archive__filter-btn svg { flex-shrink: 0; }

/* Filter drawer */
.siklah-filter-drawer {
	position: fixed;
	inset: 0;
	z-index: 100;
}
.siklah-filter-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(10,10,10,0.4);
	cursor: pointer;
}
.siklah-filter-drawer__panel {
	position: absolute;
	top: 0; right: 0; bottom: 0;
	width: 480px;
	max-width: 90vw;
	background: var(--canvas);
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform .35s cubic-bezier(.4,0,.2,1);
}
.siklah-filter-drawer.is-open .siklah-filter-drawer__panel {
	transform: translateX(0);
}
.siklah-filter-drawer__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 28px 32px;
	border-bottom: 1px solid var(--ink-ghost);
	flex-shrink: 0;
}
.siklah-filter-drawer__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: 22px;
	color: var(--ink);
	margin: 0;
}
.siklah-filter-drawer__close {
	background: none;
	border: none;
	font-size: 28px;
	color: var(--ink);
	cursor: pointer;
	padding: 0;
	line-height: 1;
}
.siklah-filter-drawer__body {
	flex: 1;
	overflow-y: auto;
	padding: 0;
}

/* Selected filters */
.siklah-filter-drawer__selected {
	padding: 20px 32px;
	border-bottom: 1px solid var(--ink-ghost);
}
.siklah-filter-drawer__selected-label {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	color: var(--ink);
	display: block;
	margin-bottom: 6px;
}
.siklah-filter-drawer__selected-none {
	font-family: var(--sans);
	font-size: 12px;
	color: var(--ink-faint);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

/* Accordion sections */
.siklah-filter-drawer__section {
	border-bottom: 1px solid var(--ink-ghost);
}
.siklah-filter-drawer__toggle {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 20px 32px;
	background: none;
	border: none;
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink);
	cursor: pointer;
	transition: color .2s ease;
}
.siklah-filter-drawer__toggle:hover { color: var(--ink-muted); }
.siklah-filter-drawer__icon {
	font-size: 18px;
	font-weight: 300;
	line-height: 1;
}
.siklah-filter-drawer__content {
	padding: 0 32px 20px;
}
.siklah-filter-drawer__check,
.siklah-filter-drawer__radio {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	font-family: var(--sans);
	font-size: 14px;
	font-weight: 400;
	color: var(--ink);
	cursor: pointer;
}
.siklah-filter-drawer__check input,
.siklah-filter-drawer__radio input {
	width: 18px;
	height: 18px;
	accent-color: var(--ink);
	cursor: pointer;
}
.siklah-filter-drawer__count {
	font-size: 12px;
	color: var(--ink-faint);
	margin-left: auto;
}

/* Footer */
.siklah-filter-drawer__foot {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	border-top: 1px solid var(--ink-ghost);
	flex-shrink: 0;
}
.siklah-filter-drawer__clear,
.siklah-filter-drawer__apply {
	padding: 20px 24px;
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border: none;
	cursor: pointer;
	transition: background .2s ease;
}
.siklah-filter-drawer__clear {
	background: var(--canvas);
	color: var(--ink);
	border-right: 1px solid var(--ink-ghost);
}
.siklah-filter-drawer__clear:hover { background: var(--canvas-soft); }
.siklah-filter-drawer__apply {
	background: var(--ink);
	color: var(--canvas);
}
.siklah-filter-drawer__apply:hover { background: var(--ink-soft); }

/* Product grid */
.siklah-archive__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 80px 10px;
}

/* Product card */
.siklah-pcard {
	display: flex;
	flex-direction: column;
}
.siklah-pcard__link {
	display: block;
	text-decoration: none;
	color: inherit;
}
.siklah-pcard__media {
	aspect-ratio: 3 / 4;
	background: var(--canvas-soft);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
.siklah-pcard__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s cubic-bezier(.2,.6,.2,1);
}
.siklah-pcard__link:hover .siklah-pcard__media img {
	transform: scale(1.05);
}
.siklah-pcard__info {
	padding: 14px 0 0;
}
.siklah-pcard__cat {
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.14em;
	color: var(--ink-muted);
	display: block;
	margin-bottom: 4px;
}
.siklah-pcard__name {
	font-family: var(--sans);
	font-size: 14px;
	font-weight: 400;
	color: var(--ink);
	margin: 0;
	line-height: 1.4;
}
.siklah-pcard__price {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 400;
	color: var(--ink);
	display: block;
	margin-top: 4px;
	font-variant-numeric: tabular-nums;
}
.siklah-pcard__add {
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 400;
	color: var(--ink);
	text-decoration: underline;
	text-underline-offset: 3px;
	margin-top: 8px;
	display: inline-block;
	transition: color .2s ease;
}
.siklah-pcard__add:hover {
	color: var(--ink-muted);
}

/* Load more */
.siklah-archive__loadmore {
	margin-top: 64px;
	text-align: center;
}
.siklah-archive__count {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 400;
	color: var(--ink-muted);
	margin: 0 0 16px;
}
.siklah-archive__progress {
	width: 120px;
	height: 2px;
	background: var(--ink-ghost);
	margin: 0 auto 24px;
	overflow: hidden;
}
.siklah-archive__progress-bar {
	display: block;
	height: 100%;
	background: var(--ink);
}
.siklah-archive__more-btn {
	display: inline-block;
	padding: 18px 64px;
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink);
	background: none;
	border: 1px solid var(--ink-ghost);
	cursor: pointer;
	transition: border-color .2s ease, background .2s ease;
}
.siklah-archive__more-btn:hover {
	border-color: var(--ink);
}

/* Responsive */
@media (max-width: 1200px) {
	.siklah-archive__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1023px) {
	.siklah-archive__header { grid-template-columns: 1fr; gap: 32px; }
	.siklah-archive__header-right { overflow-x: auto; padding-bottom: 8px; }
	.siklah-archive__container { padding: 0 var(--space-5); }
}
@media (max-width: 640px) {
	.siklah-archive__grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- FOOTER ---------- */
footer.wp-block-template-part {
	background: var(--canvas) !important;
	border-top: 1px solid var(--ink-ghost);
	padding: 120px var(--space-7) 48px !important;
	margin-top: 0;
	color: var(--ink-muted);
}
.siklah-footer__tagline {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 22px;
	color: var(--ink);
	line-height: 1.3;
	max-width: 280px;
}

footer.wp-block-template-part .wp-block-site-title a {
	font-family: var(--display) !important;
	font-weight: 400 !important;
	font-size: 28px !important;
	letter-spacing: 0.3em !important;
	text-transform: uppercase !important;
	color: var(--ink) !important;
}
footer.wp-block-template-part h6 {
	color: var(--ink) !important;
	font-family: var(--sans) !important;
	font-size: 10.5px !important;
	font-weight: 500 !important;
	letter-spacing: 0.24em !important;
	text-transform: uppercase !important;
	margin: 0 0 20px !important;
	padding: 0 !important;
	border: none !important;
	display: block;
}
footer.wp-block-template-part .wp-block-list { list-style: none; padding: 0 !important; margin: 0 !important; }
footer.wp-block-template-part .wp-block-list li {
	color: var(--ink-muted);
	font-size: 13px;
	border: none !important;
	padding: 4px 0;
	cursor: pointer;
	transition: color .2s ease;
}
footer.wp-block-template-part .wp-block-list li:hover { color: var(--brand); }

/* ---------- PDP light ---------- */
html body .siklah-pdp {
	max-width: 1440px;
	margin: 0 auto;
	padding: 72px var(--space-7) 48px;
	background: var(--canvas);
}
/* Force-clear Woo default wrappers */
html body .siklah-pdp .product {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
}
html body .siklah-pdp .product::before,
html body .siklah-pdp .product::after { display: none !important; }

/* Layout 60/40 via flex (Woo blocks column a volte confonde) */
html body .siklah-pdp > .wp-block-woocommerce-single-product,
html body .siklah-pdp .wp-block-woocommerce-single-product {
	display: block;
	width: 100%;
}
html body .siklah-pdp .wp-block-columns {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 80px !important;
	align-items: flex-start !important;
	margin: 0 !important;
}
html body .siklah-pdp .wp-block-column:first-child {
	flex: 0 0 60% !important;
	max-width: 60%;
}
html body .siklah-pdp .wp-block-column:nth-child(2) {
	flex: 0 0 36% !important;
	max-width: 36%;
}
@media (max-width: 1023px) {
	html body .siklah-pdp .wp-block-columns {
		flex-direction: column !important;
		gap: 32px !important;
	}
	html body .siklah-pdp .wp-block-column:first-child,
	html body .siklah-pdp .wp-block-column:nth-child(2) {
		flex: 1 1 100% !important;
		max-width: 100%;
	}
}
.siklah-pdp .wp-block-columns {
	gap: 80px !important;
	align-items: flex-start !important;
}
@media (max-width: 1023px) {
	.siklah-pdp { padding: 32px var(--space-5); }
	.siklah-pdp .wp-block-columns { gap: 32px !important; }
}

/* Gallery Woo override light */
.siklah-pdp__gallery .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	opacity: 1 !important;
}
.siklah-pdp__gallery .woocommerce-product-gallery__wrapper { margin: 0 !important; }
.siklah-pdp__gallery .woocommerce-product-gallery__image img {
	aspect-ratio: 4/5;
	object-fit: cover;
	background: var(--canvas-soft);
	width: 100%;
}
.siklah-pdp__gallery .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(6, 1fr);
	gap: 8px;
	margin-top: 16px;
	padding: 0; list-style: none;
}
.siklah-pdp__gallery .flex-control-thumbs li { float: none !important; margin: 0 !important; width: 100% !important; }
.siklah-pdp__gallery .flex-control-thumbs img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	width: 100%;
	cursor: pointer;
	opacity: 0.5;
	transition: opacity .25s ease, border-color .25s ease;
	border: 1px solid transparent;
}
.siklah-pdp__gallery .flex-control-thumbs img:hover,
.siklah-pdp__gallery .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--brand); }

.siklah-pdp__info { display: flex; flex-direction: column; gap: 24px; padding: 16px 0; }
.siklah-pdp__eyebrow {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--brand);
	padding-bottom: 10px;
	border-bottom: 1px solid var(--brand);
	align-self: flex-start;
}
html body .siklah-pdp__tagline,
html body p.siklah-pdp__tagline,
html body .siklah-pdp .siklah-pdp__tagline {
	font-family: var(--display) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	font-size: clamp(36px, 4.5vw, 56px) !important;
	line-height: 1.05 !important;
	letter-spacing: -0.015em !important;
	color: var(--ink) !important;
	margin: 0 !important;
	max-width: none !important;
}
.siklah-pdp__name, .siklah-pdp .wp-block-post-title {
	font-family: var(--sans) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase;
	line-height: 1.4 !important;
	color: var(--ink-muted) !important;
	margin: 0 !important;
}
.siklah-pdp .price, .siklah-pdp__price, .siklah-pdp .woocommerce-Price-amount {
	font-family: var(--display) !important;
	font-size: clamp(28px, 3vw, 40px) !important;
	font-weight: 400 !important;
	color: var(--ink) !important;
	font-variant-numeric: tabular-nums;
	margin: 0 !important;
	letter-spacing: -0.01em;
}
.siklah-pdp__short {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 17px;
	line-height: 1.7;
	color: var(--ink-muted);
	padding: 24px 0;
	border-top: 1px solid var(--ink-ghost);
	border-bottom: 1px solid var(--ink-ghost);
}
.siklah-pdp form.cart {
	display: flex !important;
	flex-direction: column;
	gap: 16px;
	margin: 0 !important;
}
.siklah-pdp form.cart .quantity { display: none; }
.siklah-pdp form.cart .single_add_to_cart_button {
	background: var(--ink) !important;
	color: var(--canvas) !important;
	padding: 18px 32px !important;
	border: none !important;
	border-radius: 0 !important;
	font-family: var(--sans) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
	width: 100% !important;
	float: none !important;
	cursor: pointer;
	transition: background-color .25s ease;
}
.siklah-pdp form.cart .single_add_to_cart_button:hover {
	background: var(--brand) !important;
}
.siklah-pdp__service {
	background: var(--canvas-warm);
	padding: 24px 28px;
	margin-top: 16px;
	border-left: 1px solid var(--ink);
}
.siklah-pdp__service ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.siklah-pdp__service li {
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.1em;
	color: var(--ink-muted);
	padding-left: 20px;
	position: relative;
}
.siklah-pdp__service li::before {
	content: "";
	position: absolute; left: 0; top: 50%;
	transform: translateY(-50%);
	width: 8px; height: 1px;
	background: var(--ink-faint);
}

/* PDP significato editoriale */
.siklah-pdp-significato {
	background: var(--canvas-warm);
	padding: 144px var(--space-7);
	text-align: center;
	position: relative;
}
.siklah-pdp-significato::before,
.siklah-pdp-significato::after {
	content: "";
	position: absolute;
	left: 50%; transform: translateX(-50%);
	width: 60px; height: 1px;
	background: var(--brand);
}
.siklah-pdp-significato::before { top: 64px; }
.siklah-pdp-significato::after  { bottom: 64px; }
.siklah-pdp-significato__eyebrow {
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--brand);
	margin-bottom: 32px;
	display: block;
}
html body .siklah-pdp-significato__inner,
html body .siklah-pdp-significato__inner p {
	max-width: 780px;
	margin: 0 auto;
	font-family: var(--display) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	font-size: clamp(20px, 2.2vw, 28px) !important;
	line-height: 1.55 !important;
	color: var(--ink) !important;
}
html body .siklah-pdp-significato__inner p { margin-bottom: 20px; }
html body .siklah-pdp-significato__inner p:last-child { margin-bottom: 0; }

/* PDP generic section */
.siklah-pdp-section {
	padding: 96px var(--space-7);
	max-width: 1200px;
	margin: 0 auto;
	background: var(--canvas);
}
.siklah-pdp-section__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(32px, 3.5vw, 48px);
	line-height: 1.1;
	text-align: center;
	color: var(--ink);
	margin: 0 0 48px;
	position: relative;
	padding-bottom: 24px;
	letter-spacing: -0.015em;
}
.siklah-pdp-section__title::after {
	content: "";
	position: absolute;
	left: 50%; bottom: 0; transform: translateX(-50%);
	width: 40px; height: 1px;
	background: var(--brand);
}
.siklah-pdp-anatomy {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 48px;
	counter-reset: anatomy;
}
@media (max-width: 768px) { .siklah-pdp-anatomy { grid-template-columns: 1fr; gap: 32px; } }
.siklah-pdp-anatomy__item {
	padding: 24px 0;
	border-top: 1px solid var(--ink-ghost);
}
.siklah-pdp-anatomy__item::before {
	counter-increment: anatomy;
	content: "N° 0" counter(anatomy);
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	color: var(--ink-muted);
	display: block;
	margin-bottom: 16px;
}
.siklah-pdp-anatomy__item h3 {
	font-family: var(--display);
	font-weight: 400;
	font-size: 28px;
	line-height: 1.15;
	color: var(--ink);
	margin: 0 0 12px;
}
.siklah-pdp-anatomy__item p {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 15px;
	line-height: 1.75;
	color: var(--ink-muted);
	margin: 0;
}

/* Compat rail light */
.siklah-compat-rail {
	padding: 96px var(--space-7);
	max-width: 1680px;
	margin: 0 auto;
	background: var(--canvas);
}
.siklah-compat-rail__kicker {
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink-muted);
	display: block;
	margin-bottom: 16px;
}
.siklah-compat-rail__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(32px, 4vw, 56px);
	line-height: 1.05;
	color: var(--ink);
	margin: 0 0 32px;
	letter-spacing: -0.015em;
}
.siklah-compat-rail__scroller {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(260px, 1fr);
	gap: 24px;
	overflow-x: auto;
	padding: 16px 0;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}
.siklah-compat-rail__card { scroll-snap-align: start; display: flex; flex-direction: column; color: inherit; }
.siklah-compat-rail__card img {
	aspect-ratio: 4 / 5;
	width: 100%;
	object-fit: cover;
	background: var(--canvas-soft);
	margin-bottom: 16px;
	transition: opacity .25s ease;
}
.siklah-compat-rail__card:hover img { opacity: 0.88; }
.siklah-compat-rail__tagline {
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink-muted);
	display: block;
	margin-bottom: 6px;
}
.siklah-compat-rail__name {
	font-family: var(--display);
	font-weight: 400;
	font-size: 24px;
	color: var(--ink);
	margin-bottom: 6px;
}
.siklah-compat-rail__price {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	color: var(--ink);
	text-transform: uppercase;
	font-variant-numeric: tabular-nums;
}

/* ---------- Sticky mobile CTA ---------- */
.siklah-sticky-cta {
	display: none;
	position: fixed;
	bottom: 0; left: 0; right: 0;
	background: var(--canvas);
	border-top: 1px solid var(--brand);
	padding: 14px 24px;
	align-items: center;
	gap: 16px;
	z-index: 100;
	box-shadow: 0 -4px 24px rgba(10,10,10,0.08);
}
.siklah-sticky-cta.is-visible { display: flex; }
@media (min-width: 1024px) { .siklah-sticky-cta { display: none !important; } }

.siklah-sr-only {
	position: absolute;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

/* ============================================================================
   SPRINT 5 · Media toggles / Film modal / Newsletter / Footer polish
   ============================================================================ */

.siklah-pdp__media-toggles {
	display: flex;
	gap: 12px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}
.siklah-media-toggle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--canvas);
	color: var(--ink);
	padding: 10px 18px;
	border: 1px solid var(--ink);
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s ease, color .2s ease;
}
.siklah-media-toggle:hover,
.siklah-media-toggle.is-active {
	background: var(--ink);
	color: var(--canvas);
}
.siklah-media-toggle__icon { font-size: 14px; line-height: 1; }

.siklah-pdp__gallery { position: relative; }
.siklah-3d-layer {
	display: none;
	position: absolute;
	top: 48px; right: 0; bottom: 0; left: 0;
	z-index: 5;
	background: var(--canvas-soft);
}
.siklah-3d-layer.is-open { display: block; }
.siklah-3d-close {
	position: absolute;
	top: 16px; right: 16px;
	width: 40px; height: 40px;
	display: flex; align-items: center; justify-content: center;
	background: var(--canvas);
	color: var(--ink);
	border: 1px solid var(--ink);
	font-size: 22px; font-weight: 300;
	cursor: pointer; z-index: 10;
}
.siklah-3d-close:hover { background: var(--ink); color: var(--canvas); }
.siklah-3d-hint {
	position: absolute;
	bottom: 16px; left: 50%;
	transform: translateX(-50%);
	background: rgba(10,10,10,0.75);
	color: var(--canvas);
	padding: 7px 14px;
	font-size: 10px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	pointer-events: none;
}

/* Film fullscreen modal */
.siklah-film {
	display: none;
	position: fixed; inset: 0;
	z-index: 1000;
	align-items: center; justify-content: center;
}
.siklah-film.is-open { display: flex; }
.siklah-film__backdrop {
	position: absolute; inset: 0;
	background: rgba(10,10,10,0.96);
	animation: siklah-fade 300ms ease-out both;
}
.siklah-film__close {
	position: absolute;
	top: 28px; right: 28px;
	z-index: 2;
	background: transparent;
	color: var(--canvas);
	border: 1px solid rgba(255,255,255,0.35);
	padding: 10px 18px;
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s, border-color .2s, color .2s;
}
.siklah-film__close:hover { background: var(--canvas); color: var(--ink); border-color: var(--canvas); }
.siklah-film__video-wrap {
	position: relative; z-index: 1;
	width: 92%; max-width: 1280px;
	aspect-ratio: 16/9;
	background: #000;
	animation: siklah-zoom 420ms cubic-bezier(.2,.8,.2,1) both;
}
.siklah-film__video { width: 100%; height: 100%; display: block; background: #000; }
@keyframes siklah-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes siklah-zoom { from { opacity: 0; transform: scale(0.96); } to { opacity: 1; transform: scale(1); } }

/* Newsletter */
.siklah-newsletter { max-width: 420px; }
.siklah-newsletter__form {
	display: flex;
	align-items: stretch;
	border-bottom: 1px solid var(--ink);
	transition: border-color .3s ease;
}
.siklah-newsletter__form:focus-within { border-color: var(--brand); }
.siklah-newsletter__input {
	flex: 1;
	background: transparent;
	border: none;
	padding: 12px 0;
	font-family: var(--sans);
	font-size: 14px;
	color: var(--ink);
	outline: none;
	min-width: 0;
}
.siklah-newsletter__input::placeholder { color: var(--ink-faint); font-style: italic; }
.siklah-newsletter__submit {
	background: transparent;
	border: none;
	padding: 0 0 0 18px;
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink);
	cursor: pointer;
	transition: color .2s ease;
}
.siklah-newsletter__submit:hover { color: var(--brand); }
.siklah-newsletter__hint {
	margin-top: 12px;
	font-family: var(--sans);
	font-size: 10.5px;
	letter-spacing: 0.12em;
	color: var(--ink-faint);
	line-height: 1.5;
}
.siklah-newsletter__feedback {
	margin-top: 14px;
	padding: 10px 14px;
	font-size: 12px;
	letter-spacing: 0.04em;
	display: none;
}
.siklah-newsletter__feedback.is-success {
	display: block;
	background: var(--brand-soft);
	color: var(--brand-deep);
	font-family: var(--display);
	font-style: italic;
}
.siklah-newsletter__feedback.is-error {
	display: block;
	background: #fff1f1;
	color: #8a1a1a;
}

/* Footer Sprint 5 polish */
.siklah-footer {
	background: var(--canvas);
	border-top: 1px solid var(--ink-ghost);
	padding: 120px var(--space-7) 48px;
}
.siklah-footer__grid {
	display: grid;
	grid-template-columns: 1.7fr 1fr 1fr 1fr 1.6fr;
	gap: 64px;
	max-width: 1440px;
	margin: 0 auto;
}
@media (max-width: 1023px) { .siklah-footer__grid { grid-template-columns: 1fr 1fr; gap: 40px; } }
@media (max-width: 640px)  { .siklah-footer__grid { grid-template-columns: 1fr; } }
.siklah-footer__brand-block { max-width: 340px; }
.siklah-footer__brand-mark {
	font-family: var(--display);
	font-size: 28px;
	font-weight: 400;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--ink);
	margin: 0 0 16px;
	display: block;
	text-decoration: none;
}
.siklah-footer__brand-mark .a { font-style: italic; color: var(--brand); letter-spacing: 0; }
.siklah-footer__tagline {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 20px;
	color: var(--ink);
	line-height: 1.4;
	margin: 0 0 24px;
}
.siklah-footer__social {
	display: flex; gap: 10px;
}
.siklah-footer__social a {
	width: 36px; height: 36px;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid var(--ink-ghost);
	color: var(--ink-muted);
	font-size: 10px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-weight: 500;
	transition: border-color .2s ease, color .2s ease;
	text-decoration: none;
}
.siklah-footer__social a:hover { border-color: var(--ink); color: var(--ink); }

.siklah-footer__col h5 {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--ink);
	margin: 0 0 20px;
}
.siklah-footer__col ul { list-style: none; padding: 0; margin: 0; }
.siklah-footer__col li { margin-bottom: 10px; }
.siklah-footer__col a {
	color: var(--ink-muted);
	font-size: 13px;
	font-weight: 400;
	text-decoration: none;
	letter-spacing: 0.01em;
	transition: color .2s ease;
}
.siklah-footer__col a:hover { color: var(--ink); }

.siklah-footer__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1440px;
	margin: 96px auto 0;
	padding-top: 32px;
	border-top: 1px solid var(--ink-ghost);
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-muted);
	flex-wrap: wrap;
	gap: 16px;
}
.siklah-footer__bottom a { color: var(--ink-muted); text-decoration: none; margin-left: 20px; }
.siklah-footer__bottom a:hover { color: var(--ink); }

/* Toggle lingua — micro-nav testuale, stessa grammatica visiva del nav legale accanto */
.siklah-lang-switcher {
	display: flex;
	align-items: center;
	gap: 14px;
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.siklah-lang-switcher__item {
	color: var(--ink-muted);
	text-decoration: none;
	transition: color .2s ease;
}
.siklah-lang-switcher__item.is-current {
	color: var(--brand);
}
a.siklah-lang-switcher__item:hover {
	color: var(--ink);
}

/* Footer newsletter (compact, inside footer column) */
.siklah-footer__nl-form {
	display: flex;
	gap: 0;
	border: 1px solid var(--ink-ghost);
	transition: border-color .2s ease;
}
.siklah-footer__nl-form:focus-within {
	border-color: var(--brand);
}
.siklah-footer__nl-input {
	flex: 1;
	min-width: 0;
	border: none;
	background: transparent;
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 400;
	padding: 12px 14px;
	color: var(--ink);
	outline: none;
}
.siklah-footer__nl-input::placeholder {
	color: var(--ink-faint);
}
.siklah-footer__nl-submit {
	flex-shrink: 0;
	border: none;
	background: var(--ink);
	color: var(--canvas);
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	padding: 12px 16px;
	cursor: pointer;
	transition: background-color .25s ease;
}
.siklah-footer__nl-submit:hover {
	background: var(--brand);
}
.siklah-footer__nl-hint {
	font-size: 11px;
	color: var(--ink-faint);
	margin: 8px 0 0;
	line-height: 1.5;
}
.siklah-footer__nl-feedback {
	font-size: 12px;
	font-weight: 500;
	color: var(--brand);
	margin-top: 8px;
}

/* ============================================================================
   SPRINT 4 · Cart / Checkout / 404
   ============================================================================ */
.siklah-cart-head,
.siklah-checkout-head {
	margin-bottom: 64px;
	padding-bottom: 32px;
	border-bottom: 1px solid var(--ink-ghost);
}
.siklah-cart-head__title,
.siklah-checkout-head__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(56px, 7vw, 96px);
	line-height: 1.02;
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 16px 0 0;
}

/* Woo cart/checkout blocks polish */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-empty-cart-block {
	font-family: var(--sans) !important;
	color: var(--ink);
}
.wc-block-cart__main-title,
.wc-block-components-title {
	font-family: var(--display) !important;
	font-weight: 400 !important;
	color: var(--ink);
	letter-spacing: -0.015em;
}
.wc-block-components-button,
.wc-block-cart__submit-button,
.wc-block-checkout-place-order-button {
	background: var(--ink) !important;
	color: var(--canvas) !important;
	padding: 16px 28px !important;
	font-family: var(--sans) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	border-radius: 0 !important;
	border: none !important;
}
.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-checkout-place-order-button:hover {
	background: var(--brand) !important;
}
.wc-block-components-product-price__value,
.wc-block-components-totals-item__value {
	font-family: var(--display) !important;
	font-weight: 400 !important;
	font-variant-numeric: tabular-nums;
}
.wc-block-components-form input,
.wc-block-components-form select,
.wc-block-components-text-input input {
	font-family: var(--sans) !important;
	border: none !important;
	border-bottom: 1px solid var(--ink-ghost) !important;
	border-radius: 0 !important;
	background: transparent !important;
	padding: 12px 0 !important;
	font-size: 15px !important;
}
.wc-block-components-text-input input:focus {
	border-bottom-color: var(--ink) !important;
	outline: none !important;
	box-shadow: none !important;
}

/* ============================================================================
   SPRINT 3 · Landing pages + Archive
   ============================================================================ */

/* ---------- ARCHIVE editoriale (concept-style) ---------- */
.siklah-archive-hero {
	padding: 64px 0 96px;
	background: var(--canvas);
	border-bottom: 1px solid var(--ink-ghost);
}
.siklah-archive-hero__inner {
	max-width: 1680px;
	margin: 0 auto;
	padding: 0 var(--space-7);
}
.siklah-archive-hero__crumbs {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink-muted);
	margin-bottom: 64px;
}
.siklah-archive-hero__crumbs a {
	color: var(--ink-muted);
	text-decoration: none;
	transition: color .2s ease;
}
.siklah-archive-hero__crumbs a:hover { color: var(--ink); }
.siklah-archive-hero__crumbs .sep { opacity: .4; margin: 0 10px; }
.siklah-archive-hero__grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 64px;
	align-items: end;
}
@media (max-width: 1023px) {
	.siklah-archive-hero__grid { grid-template-columns: 1fr; gap: 40px; }
}
.siklah-archive-hero__h1 {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(56px, 9vw, 136px);
	line-height: 0.96;
	letter-spacing: -0.025em;
	color: var(--ink);
	margin: 16px 0 0;
	text-wrap: balance;
}
.siklah-archive-hero__h1 em { font-style: italic; color: var(--ink); }
.siklah-archive-hero__desc {
	font-family: var(--sans);
	font-size: 15px;
	line-height: 1.7;
	color: var(--ink-muted);
	max-width: 380px;
	margin: 0 0 24px;
}
.siklah-archive-hero__count {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink);
}

.siklah-archive-grid {
	padding: 64px 0 96px;
}
.siklah-archive-grid .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 56px 40px !important;
	padding: 0 !important;
	list-style: none;
	max-width: 1680px;
	margin: 0 auto !important;
	padding-inline: var(--space-7) !important;
}
@media (max-width: 1023px) { .siklah-archive-grid .wp-block-post-template { grid-template-columns: repeat(2, 1fr) !important; gap: 40px 24px !important; } }
@media (max-width: 640px)  { .siklah-archive-grid .wp-block-post-template { grid-template-columns: 1fr !important; } }
.siklah-archive-grid article.siklah-charm-card { margin: 0; position: relative; }
.siklah-archive-grid .wp-block-post-featured-image {
	position: relative;
	overflow: hidden;
	margin: 0 !important;
}
.siklah-archive-grid .wp-block-post-featured-image img {
	aspect-ratio: 4/5 !important;
	object-fit: cover !important;
	width: 100%;
	background: var(--canvas-soft);
	transition: transform 900ms cubic-bezier(.2,.8,.2,1);
}
.siklah-archive-grid article.siklah-charm-card:hover .wp-block-post-featured-image img { transform: scale(1.03); }
.siklah-archive-grid .wp-block-post-title { margin: 22px 0 4px !important; }
.siklah-archive-grid .wp-block-post-title a {
	font-family: var(--display) !important;
	font-weight: 400 !important;
	font-size: 28px !important;
	line-height: 1.1 !important;
	letter-spacing: -0.015em !important;
	text-transform: none !important;
	color: var(--ink) !important;
	text-decoration: none !important;
}
.siklah-archive-grid .wp-block-post-title a:hover { color: var(--ink-muted) !important; }
.siklah-archive-grid .wc-block-components-product-price,
.siklah-archive-grid .price,
.siklah-archive-grid .siklah-charm-card__price,
.siklah-archive-grid .woocommerce-Price-amount {
	font-family: var(--sans) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em !important;
	color: var(--ink) !important;
	text-transform: uppercase !important;
	font-variant-numeric: tabular-nums;
}
.siklah-archive-grid .siklah-charm-card__meta {
	display: flex !important;
	justify-content: space-between !important;
	align-items: baseline !important;
	gap: 16px !important;
	padding-top: 0 !important;
}

/* Pagination */
.siklah-archive-grid .wp-block-query-pagination {
	justify-content: center !important;
	margin-top: 64px !important;
	gap: 12px !important;
}
.siklah-archive-grid .wp-block-query-pagination a,
.siklah-archive-grid .wp-block-query-pagination .page-numbers {
	font-family: var(--sans);
	font-size: 13px;
	letter-spacing: 0.1em;
	padding: 8px 16px;
	color: var(--ink-muted);
	text-decoration: none;
	border: 1px solid var(--ink-ghost);
}
.siklah-archive-grid .wp-block-query-pagination a:hover { color: var(--brand); border-color: var(--brand); }
.siklah-archive-grid .page-numbers.current { color: var(--canvas); background: var(--ink); border-color: var(--ink); }


/* ---------- ALMA Landing ---------- */
.siklah-alma-hero {
	padding: 144px var(--space-7) 96px;
	text-align: center;
	background: var(--canvas);
	position: relative;
}
.siklah-alma-hero::after {
	content: "";
	position: absolute;
	left: 50%; bottom: 32px;
	transform: translateX(-50%);
	width: 40px; height: 1px;
	background: var(--brand);
}
.siklah-alma-hero__inner { max-width: 840px; margin: 0 auto; }
.siklah-alma-hero__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(56px, 7vw, 112px);
	line-height: 1.02;
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 16px 0 24px;
}
.siklah-alma-hero__title em { font-style: italic; color: var(--brand); }
.siklah-alma-hero__lead {
	font-family: var(--display);
	font-style: italic;
	font-size: 22px;
	line-height: 1.5;
	color: var(--ink);
	margin: 0 0 32px;
}
.siklah-alma-hero__manifesto {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 18px;
	line-height: 1.75;
	color: var(--ink-muted);
	margin: 0 auto;
	max-width: 680px;
}
.siklah-alma-hero__manifesto em { color: var(--brand); }
.siklah-alma-hero__marker {
	margin-top: 64px;
	text-align: center;
}

.siklah-charm-story {
	background: var(--canvas);
	padding: 96px 0;
}
.siklah-charm-story__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 96px;
	align-items: center;
	max-width: 1440px;
	margin: 0 auto;
	padding: 96px var(--space-7);
	border-top: 1px solid var(--ink-ghost);
}
.siklah-charm-story__row:first-child { border-top: none; padding-top: 0; }
.siklah-charm-story__row.is-flipped { direction: rtl; }
.siklah-charm-story__row.is-flipped > * { direction: ltr; }
@media (max-width: 1023px) {
	.siklah-charm-story__row,
	.siklah-charm-story__row.is-flipped {
		grid-template-columns: 1fr;
		gap: 40px;
		padding: 64px var(--space-5);
		direction: ltr;
	}
}
.siklah-charm-story__media {
	aspect-ratio: 4/5;
	overflow: hidden;
	background: var(--canvas-soft);
	display: block;
	position: relative;
}
.siklah-charm-story__media img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform 900ms ease;
}
.siklah-charm-story__media:hover img { transform: scale(1.03); }
.siklah-charm-story__content { max-width: 500px; }
.siklah-charm-story__num {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 48px;
	color: var(--ink);
	opacity: 0.28;
	letter-spacing: -0.02em;
	line-height: 1;
	margin-bottom: 20px;
}
.siklah-charm-story__name {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(40px, 5vw, 64px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 12px 0 20px;
}
.siklah-charm-story__nar {
	font-family: var(--display);
	font-style: italic;
	font-size: 18px;
	line-height: 1.7;
	color: var(--ink-muted);
	margin: 0 0 32px;
}

.siklah-alma-close {
	background: var(--canvas-warm);
	padding: 144px var(--space-7);
	text-align: center;
	border-top: 1px solid var(--ink-ghost);
}
.siklah-alma-close__inner { max-width: 720px; margin: 0 auto; }
.siklah-alma-close__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(48px, 6vw, 88px);
	line-height: 1.02;
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 24px 0;
}
.siklah-alma-close__title em { font-style: italic; color: var(--brand); }
.siklah-alma-close__body {
	font-family: var(--display);
	font-style: italic;
	font-size: 17px;
	line-height: 1.7;
	color: var(--ink-muted);
	margin: 0 0 40px;
}
.siklah-alma-close__cta {
	display: flex;
	gap: 24px;
	justify-content: center;
	flex-wrap: wrap;
}

/* ---------- PIERCING Landing ---------- */
.siklah-piercing-hero {
	position: relative;
	min-height: 72vh;
	height: 72vh;
	max-height: 720px;
	overflow: hidden;
	background: var(--canvas);
}
.siklah-piercing-hero__media {
	position: absolute; inset: 0; z-index: 0;
}
.siklah-piercing-hero__media img {
	width: 100%; height: 100%;
	object-fit: cover;
	filter: brightness(0.6);
}
.siklah-piercing-hero__content {
	position: relative;
	z-index: 1;
	max-width: 840px;
	margin: 0 auto;
	padding: 144px var(--space-7) 96px;
	text-align: center;
	color: var(--canvas);
}
.siklah-piercing-hero__content .eyebrow { color: var(--canvas); opacity: 0.85; }
.siklah-piercing-hero__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(48px, 6vw, 96px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin: 16px 0 24px;
	color: var(--canvas);
}
.siklah-piercing-hero__title em { font-style: italic; color: #d8e8df; }
.siklah-piercing-hero__lead {
	font-family: var(--display);
	font-style: italic;
	font-size: 20px;
	line-height: 1.6;
	opacity: 0.95;
	margin: 0;
}

.siklah-piercing-grid { background: var(--canvas); padding: 144px 0; }
.siklah-piercing-grid__inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
}
@media (max-width: 1023px) { .siklah-piercing-grid__inner { grid-template-columns: 1fr; gap: 48px; padding: 0 var(--space-5); } }
.siklah-base-card {
	display: grid;
	grid-template-rows: auto 1fr;
	gap: 32px;
}
.siklah-base-card__media {
	aspect-ratio: 4/5;
	overflow: hidden;
	background: var(--canvas-soft);
	display: block;
}
.siklah-base-card__media img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform 700ms ease;
}
.siklah-base-card:hover .siklah-base-card__media img { transform: scale(1.03); }
.siklah-base-card__body { display: flex; flex-direction: column; gap: 16px; }
.siklah-base-card__name {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(36px, 4vw, 56px);
	line-height: 1.05;
	letter-spacing: -0.015em;
	margin: 8px 0 0;
}
.siklah-base-card__sub {
	font-family: var(--display);
	font-style: italic;
	font-size: 18px;
	color: var(--ink-muted);
	margin: 0;
}
.siklah-base-card__specs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin: 16px 0;
	border-top: 1px solid var(--ink-ghost);
	border-bottom: 1px solid var(--ink-ghost);
	padding: 20px 0;
}
.siklah-base-card__specs div { display: flex; flex-direction: column; gap: 4px; }
.siklah-base-card__specs dt {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink-muted);
	margin: 0;
}
.siklah-base-card__specs dd {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	color: var(--ink);
	margin: 0;
}
.siklah-base-card__price {
	font-family: var(--display);
	font-size: 32px;
	color: var(--ink);
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.01em;
}
.siklah-base-card .btn { align-self: flex-start; }

.siklah-come-funziona {
	background: var(--canvas-warm);
	padding: 144px 0;
}
.siklah-come-funziona__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	text-align: center;
}
.siklah-come-funziona__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(40px, 5vw, 72px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin: 16px 0 64px;
	color: var(--ink);
}
.siklah-come-funziona__title em { font-style: italic; color: var(--brand); }
.siklah-come-funziona__steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 48px;
	text-align: left;
}
@media (max-width: 768px) { .siklah-come-funziona__steps { grid-template-columns: 1fr; gap: 32px; } }
.siklah-come-funziona__step {
	padding-top: 28px;
	border-top: 1px solid var(--ink-ghost);
}
.siklah-come-funziona__num {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 56px;
	color: var(--ink);
	opacity: 0.3;
	line-height: 1;
	letter-spacing: -0.02em;
	display: block;
	margin-bottom: 20px;
}
.siklah-come-funziona__step h3 {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink);
	margin: 0 0 12px;
}
.siklah-come-funziona__step p {
	font-family: var(--display);
	font-style: italic;
	font-size: 16px;
	line-height: 1.7;
	color: var(--ink-muted);
	margin: 0;
}
.siklah-come-funziona__cta { margin-top: 64px; }


/* ---------- MAISON Valenza ---------- */
.siklah-maison-hero {
	position: relative;
	min-height: 80vh;
	height: 80vh;
	max-height: 800px;
	overflow: hidden;
	background: var(--ink);
}
.siklah-maison-hero__media { position: absolute; inset: 0; z-index: 0; }
.siklah-maison-hero__media img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.5) saturate(1.05); }
.siklah-maison-hero__content {
	position: relative; z-index: 1;
	max-width: 840px;
	margin: 0 auto;
	padding: 144px var(--space-7) 96px;
	color: var(--canvas);
}
.siklah-maison-hero__content .eyebrow { color: var(--canvas); opacity: 0.85; }
.siklah-maison-hero__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(56px, 7vw, 112px);
	line-height: 1.02;
	letter-spacing: -0.02em;
	margin: 16px 0 28px;
	color: var(--canvas);
}
.siklah-maison-hero__title em { font-style: italic; color: #d8e8df; }
.siklah-maison-hero__lead {
	font-family: var(--display);
	font-style: italic;
	font-size: 20px;
	line-height: 1.7;
	max-width: 640px;
	opacity: 0.92;
	margin: 0;
}

.siklah-maison-steps { background: var(--canvas); padding: 144px 0; }
.siklah-maison-steps__inner { max-width: 1200px; margin: 0 auto; padding: 0 var(--space-7); }
.siklah-maison-steps__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(40px, 5vw, 72px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	margin: 16px 0 64px;
}
.siklah-maison-steps__title em { font-style: italic; color: var(--brand); }
.siklah-maison-steps__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 48px;
}
@media (max-width: 1023px) { .siklah-maison-steps__list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .siklah-maison-steps__list { grid-template-columns: 1fr; } }
.siklah-maison-steps__item {
	border-top: 1px solid var(--ink-ghost);
	padding-top: 28px;
}
.siklah-maison-steps__num {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 48px;
	color: var(--ink);
	opacity: 0.3;
	letter-spacing: -0.02em;
	line-height: 1;
	display: block;
	margin-bottom: 20px;
}
.siklah-maison-steps__item h3 {
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink);
	margin: 0 0 12px;
}
.siklah-maison-steps__item p {
	font-family: var(--display);
	font-style: italic;
	font-size: 15px;
	line-height: 1.7;
	color: var(--ink-muted);
	margin: 0;
}

.siklah-maison-quote {
	background: var(--canvas-warm);
	padding: 144px var(--space-7);
	text-align: center;
	position: relative;
}
.siklah-maison-quote::before,
.siklah-maison-quote::after {
	content: "";
	position: absolute;
	left: 50%; transform: translateX(-50%);
	width: 40px; height: 1px;
	background: var(--brand);
}
.siklah-maison-quote::before { top: 64px; }
.siklah-maison-quote::after  { bottom: 64px; }
.siklah-maison-quote__inner { max-width: 720px; margin: 0 auto; }
.siklah-maison-quote__q {
	font-family: var(--display);
	font-size: clamp(24px, 3vw, 36px);
	line-height: 1.4;
	color: var(--ink);
	margin: 32px 0 24px;
}
.siklah-maison-quote__q em { font-style: italic; color: var(--brand); }
.siklah-maison-quote__attr {
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink-muted);
	margin: 0;
}

/* =====================================================================
   Sprint 5.1 · Luxury UI patterns (ricerca competitor)
   Pattern: Annoushka hover dissolve · Italic material subtitle ·
   Animated underline on links · Occasion menu
   ===================================================================== */

/* --- Animated underline via background-size (globale sui link inline) --- */
.entry-content a:not([class]),
.siklah-pdp__short a:not([class]),
.siklah-footer a:not([class]):not(.siklah-btn):not(.siklah-btn-tertiary),
.siklah-underline-link {
	background-image: linear-gradient(currentColor, currentColor);
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 0% 1px;
	transition: background-size 360ms cubic-bezier(.2,.6,.2,1);
	padding-bottom: 2px;
	text-decoration: none;
	color: inherit;
}
.entry-content a:not([class]):hover,
.entry-content a:not([class]):focus-visible,
.siklah-pdp__short a:not([class]):hover,
.siklah-pdp__short a:not([class]):focus-visible,
.siklah-footer a:not([class]):not(.siklah-btn):not(.siklah-btn-tertiary):hover,
.siklah-footer a:not([class]):not(.siklah-btn):not(.siklah-btn-tertiary):focus-visible,
.siklah-underline-link:hover,
.siklah-underline-link:focus-visible {
	background-size: 100% 1px;
}

/* Topbar nav: static thin underline, fill on hover */
.siklah-topbar__nav a,
.siklah-topbar__link {
	background-image: linear-gradient(var(--brand), var(--brand));
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 0% 1px;
	transition: background-size 420ms cubic-bezier(.2,.6,.2,1), color 220ms ease;
	padding-bottom: 4px;
}
.siklah-topbar__nav a:hover,
.siklah-topbar__nav a:focus-visible,
.siklah-topbar__link:hover,
.siklah-topbar__link:focus-visible {
	background-size: 100% 1px;
	color: var(--ink);
}

/* --- Italic material subtitle sotto il nome prodotto (card + PDP) --- */
.siklah-product-card__material,
.siklah-pdp__material {
	display: block;
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.4;
	color: var(--ink-muted);
	letter-spacing: 0.005em;
	margin: 2px 0 6px;
}

/* --- Hover dissolve 600ms (Annoushka): primary → lifestyle image --- */
.wc-block-grid__product-image,
.woocommerce ul.products li.product .wc-block-components-product-image,
.woocommerce ul.products li.product a img,
.siklah-archive .wc-block-grid__product img,
.products .product a.woocommerce-loop-product__link img {
	transition: opacity 600ms cubic-bezier(.2,.6,.2,1), transform 700ms cubic-bezier(.2,.6,.2,1);
	will-change: opacity, transform;
}
.woocommerce ul.products li.product:hover a img,
.products .product:hover a.woocommerce-loop-product__link img {
	transform: scale(1.02);
}
/* Dual-image card: second <img> con classe .siklah-card__hover appare al hover */
.wc-block-grid__product a,
.products .product a.woocommerce-loop-product__link {
	position: relative;
	display: block;
	overflow: hidden;
}
.siklah-card__hover {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	opacity: 0;
	transition: opacity 600ms cubic-bezier(.2,.6,.2,1);
	pointer-events: none;
}
.wc-block-grid__product:hover .siklah-card__hover,
.products .product:hover .siklah-card__hover {
	opacity: 1;
}

/* --- Occasion mega-menu (placeholder markup class) --- */
.siklah-occasion-menu {
	display: grid;
	grid-template-columns: 1fr 1px 1fr;
	gap: 48px;
	padding: 32px 40px;
	background: var(--canvas);
	border-top: 1px solid var(--ink-ghost);
}
.siklah-occasion-menu__divider { background: var(--ink-ghost); }
.siklah-occasion-menu h4 {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink-muted);
	margin: 0 0 16px;
}
.siklah-occasion-menu ul {
	list-style: none;
	padding: 0; margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.siklah-occasion-menu a {
	font-family: var(--display);
	font-weight: 400;
	font-size: 18px;
	color: var(--ink);
	letter-spacing: 0.01em;
}

/* =====================================================================
   Sprint 6.1 · Journal (blog index + single post)
   ===================================================================== */

.siklah-journal-head {
	border-bottom: 1px solid var(--ink-ghost);
	padding-bottom: 72px !important;
}
.siklah-journal-head .siklah-display {
	margin-bottom: 20px !important;
}
.siklah-journal-query .wp-block-post-template {
	gap: 80px 40px !important;
}
.siklah-journal-card { margin: 0; display: flex; flex-direction: column; }
.siklah-journal-card .wp-block-post-featured-image {
	margin: 0 0 20px !important;
	overflow: hidden;
	background: var(--canvas-soft);
	aspect-ratio: 4 / 3;
}
.siklah-journal-card .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 900ms cubic-bezier(.2,.6,.2,1);
}
.siklah-journal-card:hover .wp-block-post-featured-image img { transform: scale(1.02); }
.siklah-journal-card .siklah-journal-card__category,
.siklah-journal-card .wp-block-post-terms {
	font-family: var(--sans) !important;
	font-size: 10.5px !important;
	font-weight: 600 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	color: var(--brand) !important;
	margin: 0 0 10px !important;
}
.siklah-journal-card .siklah-journal-card__category a,
.siklah-journal-card .wp-block-post-terms a {
	color: var(--brand) !important;
	text-decoration: none !important;
}
.siklah-journal-card .wp-block-post-title {
	margin: 0 0 14px !important;
}
.siklah-journal-card .wp-block-post-title a {
	font-family: var(--display) !important;
	color: var(--ink) !important;
	text-decoration: none !important;
	transition: color 220ms ease;
}
.siklah-journal-card .wp-block-post-title a:hover { color: var(--brand) !important; }
.siklah-journal-card .wp-block-post-excerpt {
	margin: 0 0 18px !important;
}
.siklah-journal-card .wp-block-post-excerpt__excerpt {
	font-family: var(--display);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.6;
	color: var(--ink-muted);
}
.siklah-journal-card .wp-block-post-excerpt__more-link { display: none; }
.siklah-journal-card .wp-block-post-date {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ink-faint);
}
@media (max-width: 860px) {
	.siklah-journal-query .wp-block-post-template { grid-template-columns: 1fr !important; }
}

/* ---- Single post ---- */
.siklah-post__head .wp-block-post-terms,
.siklah-post__head .siklah-post__category {
	color: var(--brand) !important;
}
.siklah-post__head .wp-block-post-terms a,
.siklah-post__head .siklah-post__category a {
	color: var(--brand) !important;
	text-decoration: none !important;
}
.siklah-post__title,
.siklah-post__head .wp-block-post-title {
	font-family: var(--display) !important;
	color: var(--ink) !important;
	margin: 0 0 24px !important;
}
.siklah-post__meta {
	gap: 20px;
	align-items: center;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--ink-ghost);
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ink-muted);
}
.siklah-post__meta .wp-block-post-date,
.siklah-post__meta .wp-block-post-author-name {
	margin: 0;
}
.siklah-post__meta .wp-block-post-author-name::before {
	content: "· ";
	color: var(--ink-faint);
	margin-right: 6px;
}
.siklah-post__hero img {
	width: 100%;
	object-fit: cover;
}
.siklah-post__body {
	font-family: var(--display);
	font-size: 18px;
	line-height: 1.75;
	color: var(--ink);
}
.siklah-post__body p {
	margin: 0 0 24px;
	font-family: var(--display);
	font-size: 18px;
	line-height: 1.75;
}
.siklah-post__body p:first-of-type::first-line {
	font-variant: small-caps;
	letter-spacing: 0.08em;
}
.siklah-post__body h2 {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(26px, 3vw, 34px);
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--ink);
	margin: 56px 0 20px;
}
.siklah-post__body h2 em { color: var(--brand); }
.siklah-post__body h3 {
	font-family: var(--display);
	font-weight: 500;
	font-size: 22px;
	line-height: 1.3;
	color: var(--ink);
	margin: 40px 0 14px;
}
.siklah-post__body blockquote,
.siklah-post__body .wp-block-quote {
	border: none;
	border-left: 2px solid var(--brand);
	padding: 4px 0 4px 28px;
	margin: 40px 0;
	font-family: var(--display);
	font-style: italic;
	font-size: clamp(20px, 2vw, 26px);
	line-height: 1.45;
	color: var(--ink);
}
.siklah-post__body a {
	color: var(--brand);
	text-decoration: none;
	background-image: linear-gradient(var(--brand), var(--brand));
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 100% 1px;
	transition: background-size 360ms cubic-bezier(.2,.6,.2,1);
	padding-bottom: 2px;
}
.siklah-post__body a:hover { background-size: 0% 1px; }
.siklah-post__body ul,
.siklah-post__body ol {
	padding-left: 22px;
	margin: 0 0 28px;
}
.siklah-post__body li { margin-bottom: 8px; }
.siklah-post__body img,
.siklah-post__body .wp-block-image {
	margin: 40px 0;
}
.siklah-post__tags,
.siklah-post__tags .wp-block-post-terms {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ink-muted);
}
.siklah-post__tags a { color: var(--ink-muted); }

/* =====================================================================
   Sprint 6.2 · Cart / Checkout / Account (Woo classic shortcodes)
   ===================================================================== */

.siklah-cart-head,
.siklah-checkout-head,
.siklah-account-head {
	margin-bottom: 48px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--ink-ghost);
}
.siklah-cart-head .eyebrow,
.siklah-checkout-head .eyebrow,
.siklah-account-head .eyebrow {
	display: block;
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--brand);
	margin-bottom: 14px;
}
.siklah-cart-head__title,
.siklah-checkout-head__title,
.siklah-account-head__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(42px, 5vw, 72px);
	line-height: 1.05;
	letter-spacing: -0.015em;
	color: var(--ink);
	margin: 0;
}
.siklah-cart-head__title,
.siklah-checkout-head__title,
.siklah-account-head__title em { font-style: italic; }

/* Account page layout */
.siklah-account-page {
	width: 90%;
	margin: 0;
	padding: 64px 0 96px;
}
.woocommerce-account.logged-in .woocommerce:has(.woocommerce-MyAccount-navigation) {
	gap: 0 !important;
}
/* Account content full width inside our wrapper */
.siklah-account-page .woocommerce-MyAccount-navigation,
.siklah-account-page .woocommerce-MyAccount-content {
	width: 100%;
	float: none;
}
.siklah-account-page table.shop_table,
.siklah-account-page .woocommerce-orders-table {
	width: 100%;
}

/* ---- My Account ---- */
.siklah-account-page .woocommerce {
	font-family: var(--sans);
	max-width: 100%;
}

/* Navigation — tabs orizzontali allineati a sinistra */
.siklah-account-page .woocommerce-MyAccount-navigation {
	float: none !important;
	width: 100% !important;
	margin-bottom: 48px;
	border-bottom: 1px solid var(--ink-ghost);
	text-align: left;
}
.siklah-account-page .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex !important;
	gap: 0;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: stretch;
}

/* Override WP block layout constrained on account page */
.siklah-account .wp-block-post-content,
.siklah-account .wp-block-post-content.is-layout-flow,
.siklah-account .wp-block-post-content > *,
.siklah-account-page .woocommerce,
.siklah-account-page .woocommerce > * {
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	text-align: left;
}
.siklah-account-page .woocommerce-MyAccount-navigation ul li {
	margin: 0;
	padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
	padding: 0 !important;
}
.siklah-account-page .woocommerce-MyAccount-navigation ul li a {
	display: inline-flex;
	align-items: center;
	padding: 14px 18px;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--ink-muted);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: color .2s ease, border-color .2s ease;
}
.siklah-account-page .woocommerce-MyAccount-navigation ul li a:hover {
	color: var(--ink);
}
.siklah-account-page .woocommerce-MyAccount-navigation ul li.is-active a,
.siklah-account-page .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--dashboard.is-active a,
.siklah-account-page .woocommerce-MyAccount-navigation ul li a[aria-current="page"] {
	color: var(--ink);
	border-bottom-color: var(--ink);
}
/* WC sets is-active on the li directly */
.siklah-account-page .woocommerce-MyAccount-navigation ul li:first-child a {
	padding-left: 0;
}
/* Allinea Bacheca verticalmente con gli altri tab */
.siklah-account-page .woocommerce-MyAccount-navigation ul li a {
	display: inline-flex;
	align-items: center;
}

/* Content area — full width */
.siklah-account-page .woocommerce-MyAccount-content {
	float: none;
	width: 100%;
	max-width: 100%;
}
.siklah-account-page .woocommerce-MyAccount-content p {
	font-family: var(--sans);
	font-size: 14px;
	line-height: 1.7;
	color: var(--ink-muted);
}
.siklah-account-page .woocommerce-MyAccount-content a {
	color: var(--ink);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: var(--ink-ghost);
}
.siklah-account-page .woocommerce-MyAccount-content a:hover {
	color: var(--brand);
}

/* Orders table */
.siklah-account-page .woocommerce-orders-table,
.siklah-account-body table.shop_table {
	width: 100% !important;
	border-collapse: collapse;
	table-layout: auto;
}
.siklah-account-page .woocommerce-orders-table thead th {
	background: transparent;
	border-bottom: 1px solid var(--ink);
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink-muted);
	padding: 14px 12px;
	text-align: left;
}
.siklah-account-page .woocommerce-orders-table tbody td {
	border-top: 1px solid var(--ink-ghost);
	padding: 18px 12px;
	font-family: var(--sans);
	font-size: 14px;
	color: var(--ink);
}
.siklah-account-page .woocommerce-orders-table .woocommerce-button {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink);
	text-decoration: underline;
	text-underline-offset: 3px;
	background: none;
	border: none;
	padding: 0;
}

/* Addresses — override WC float layout */
.siklah-account-page .u-columns,
.siklah-account-page .col2-set,
.siklah-account-page .woocommerce-Addresses {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 40px !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
}
.siklah-account-page .u-columns::before,
.siklah-account-page .u-columns::after,
.siklah-account-page .col2-set::before,
.siklah-account-page .col2-set::after {
	display: none !important;
}
.siklah-account-page .u-column1,
.siklah-account-page .u-column2,
.siklah-account-page .col-1,
.siklah-account-page .col-2,
.siklah-account-page .woocommerce-Addresses > div,
.siklah-account-page .woocommerce-Address {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}
.siklah-account-page .woocommerce-Address-title,
.siklah-account-page header.woocommerce-Address-title {
	display: flex !important;
	justify-content: left;
	align-items: baseline;
	margin-bottom: 16px;
	column-gap: 20px;
}
.siklah-account-page .woocommerce-Address-title h2,
.siklah-account-page .woocommerce-Address-title h3,
.siklah-account-page header.woocommerce-Address-title h2,
.siklah-account-page header.woocommerce-Address-title h3 {
	font-family: var(--sans) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--ink) !important;
	margin: 0 !important;
}
.siklah-account-page .woocommerce-Address-title a {
	font-size: 12px;
}
/* Address text + all account text = Montserrat */
.siklah-account-page address {
	font-family: var(--sans) !important;
	font-size: 14px !important;
	line-height: 1.7 !important;
	color: var(--ink-muted) !important;
	font-style: normal !important;
	padding: 24px;
	background: var(--canvas-soft);
	border: 1px solid var(--ink-ghost);
}
.siklah-account-page * {
	font-family: var(--sans);
}
.siklah-account-page .siklah-account-head__title {
	font-family: var(--display) !important;
}
.siklah-account-body address {
	font-family: var(--sans);
	font-size: 14px;
	line-height: 1.7;
	color: var(--ink-muted);
	font-style: normal;
	padding: 24px;
	background: var(--canvas-soft);
	border: 1px solid var(--ink-ghost);
}

/* Forms — login, register, edit account, edit address */
.siklah-account-page .woocommerce form.login,
.siklah-account-page .woocommerce form.register,
.siklah-account-page .woocommerce-EditAccountForm,
.siklah-account-page .woocommerce-address-fields {
	max-width: 480px;
}
.siklah-account-page .woocommerce form label {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ink);
	display: block;
	margin-bottom: 4px;
}
.siklah-account-page .woocommerce form input[type="text"],
.siklah-account-page .woocommerce form input[type="email"],
.siklah-account-page .woocommerce form input[type="password"],
.siklah-account-page .woocommerce form input[type="tel"],
.siklah-account-page .woocommerce form select,
.siklah-account-page .woocommerce form textarea {
	width: 100%;
	font-family: var(--sans);
	font-size: 13px;
	padding: 10px 14px;
	border: 1px solid var(--ink-ghost);
	background: var(--canvas);
	color: var(--ink);
	border-radius: 0;
	outline: none;
	transition: border-color .2s ease;
}
.siklah-account-page .woocommerce form input:focus,
.siklah-account-page .woocommerce form select:focus,
.siklah-account-page .woocommerce form textarea:focus {
	border-color: var(--brand);
}
.siklah-account-page .woocommerce form .form-row {
	margin-bottom: 14px;
}
.siklah-account-page .woocommerce form button[type="submit"],
.siklah-account-page .woocommerce form input[type="submit"],
.siklah-account-page .woocommerce .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 28px;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--canvas);
	background: var(--ink);
	border: none;
	border-radius: 0;
	cursor: pointer;
	transition: background .25s ease;
	text-decoration: none;
}
.siklah-account-page .woocommerce form button[type="submit"]:hover,
.siklah-account-page .woocommerce form input[type="submit"]:hover,
.siklah-account-page .woocommerce .button:hover {
	background: var(--brand);
}

/* Login / Register two column */
.siklah-account-body #customer_login,
.siklah-account-page #customer_login {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 40px !important;
	max-width: 720px;
}
.siklah-account-body #customer_login h2,
.siklah-account-page #customer_login h2 {
	font-family: var(--sans) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--ink) !important;
	margin: 0 0 20px !important;
}
.siklah-account-body #customer_login .u-column1,
.siklah-account-page #customer_login .u-column1 {
	padding-right: 20px;
	border-right: 1px solid var(--ink-ghost);
}
.siklah-account-body #customer_login .u-column2,
.siklah-account-page #customer_login .u-column2 {
	padding-left: 20px;
}
.siklah-account-page .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--ink-muted);
}
.siklah-account-body .lost_password a {
	font-size: 13px;
	color: var(--ink-muted);
}

/* No orders message */
.siklah-account-page .woocommerce-info {
	text-align: center;
	border-left: none;
	padding: 48px 24px;
}

@media (max-width: 768px) {
	.siklah-account-body #customer_login {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.siklah-account-body #customer_login .u-column1 {
		padding-right: 0;
		border-right: none;
		border-bottom: 1px solid var(--ink-ghost);
		padding-bottom: 40px;
	}
	.siklah-account-body #customer_login .u-column2 { padding-left: 0; }
	.siklah-account-page .woocommerce-Addresses { grid-template-columns: 1fr; }
	.siklah-account-page .woocommerce-MyAccount-navigation ul { flex-direction: column; }
	.siklah-account-page .woocommerce-MyAccount-navigation ul li a { padding: 12px 0; }
}

/* ---- Legal/Generic page wrap ---- */
.siklah-legal-wrap {
	width: 90%;
	max-width: 900px;
	margin: 0 auto;
	padding: 64px 0 96px;
}
/* ---- Legal pages (Termini, Privacy, etc.) ---- */
.siklah-legal-content h2 {
	font-family: var(--sans);
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--ink);
	margin: 48px 0 16px;
}
.siklah-legal-content h2:first-child { margin-top: 0; }
.siklah-legal-content p {
	font-family: var(--sans);
	font-size: 14px;
	line-height: 1.8;
	color: var(--ink-muted);
	margin: 0 0 16px;
}
.siklah-legal-content ul,
.siklah-legal-content ol {
	font-family: var(--sans);
	font-size: 14px;
	line-height: 1.8;
	color: var(--ink-muted);
	padding-left: 24px;
	margin: 0 0 16px;
}
.siklah-legal-content a {
	color: var(--ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.siklah-legal-content b,
.siklah-legal-content strong {
	color: var(--ink);
	font-weight: 500;
}
/* Override Elementor residual styles */
.page .entry-content .elementor,
.page .entry-content [class*="elementor"],
.page .entry-content [class*="e-con"],
.page .entry-content [data-elementor-type] {
	all: unset !important;
	display: block !important;
}
.page .entry-content .elementor *,
.page .entry-content [data-elementor-type] * {
	all: unset !important;
}
.page .entry-content .elementor h2,
.page .entry-content .elementor p,
.page .entry-content .elementor ul,
.page .entry-content .elementor ol,
.page .entry-content .elementor a,
.page .entry-content .elementor b,
.page .entry-content .elementor strong {
	all: revert !important;
}

/* ---- WooCommerce classic shortcode polish ---- */
.woocommerce {
	font-family: var(--sans);
	color: var(--ink);
}
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	background: var(--canvas-soft);
	border: none;
	border-left: 2px solid var(--brand);
	border-radius: 0;
	color: var(--ink);
	padding: 16px 20px;
	font-family: var(--sans);
	font-size: 13px;
	letter-spacing: 0.02em;
}
.woocommerce-info::before,
.woocommerce-message::before { color: var(--brand); }

/* Cart table */
.woocommerce table.shop_table {
	border: none;
	border-collapse: collapse;
	border-radius: 0;
	width: 100%;
	margin-bottom: 40px;
}
.woocommerce table.shop_table thead th {
	background: transparent;
	border-bottom: 1px solid var(--ink);
	color: var(--ink-muted);
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	padding: 14px 12px;
}
.woocommerce table.shop_table tbody td,
.woocommerce table.shop_table tfoot td,
.woocommerce table.shop_table tfoot th {
	border-top: 1px solid var(--ink-ghost);
	padding: 20px 12px;
	font-family: var(--sans);
	font-size: 14px;
	color: var(--ink);
	vertical-align: middle;
}
.woocommerce table.shop_table td.product-thumbnail img {
	width: 80px;
	height: 100px;
	object-fit: cover;
	border-radius: 0;
}
.woocommerce table.shop_table td.product-name a {
	font-family: var(--display);
	font-size: 20px;
	color: var(--ink);
	text-decoration: none;
}
.woocommerce table.shop_table td.product-name a:hover { color: var(--brand); }
.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table td.product-subtotal,
.woocommerce table.shop_table .amount {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.01em;
}
.woocommerce table.shop_table td.product-remove a.remove {
	color: var(--ink-muted) !important;
	font-size: 18px;
	line-height: 1;
	background: none !important;
	width: auto; height: auto;
	border-radius: 0;
}
.woocommerce table.shop_table td.product-remove a.remove:hover {
	color: var(--brand) !important;
	background: none !important;
}
.woocommerce .quantity .qty {
	width: 72px;
	padding: 10px 8px;
	border: 1px solid var(--ink-ghost);
	border-radius: 0;
	font-family: var(--sans);
	font-size: 14px;
	text-align: center;
	background: var(--canvas);
}
.woocommerce .quantity .qty:focus {
	outline: none;
	border-color: var(--brand);
}

/* Cart 2-column layout: items a sinistra, collaterals/totals a destra */
.woocommerce-cart .woocommerce {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 56px;
	align-items: flex-start;
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-cart .woocommerce > form.woocommerce-cart-form { grid-column: 1; min-width: 0; }
.woocommerce-cart .woocommerce > .cart-collaterals { grid-column: 2; margin-top: 0; }
@media (max-width: 960px) {
	.woocommerce-cart .woocommerce {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.woocommerce-cart .woocommerce > form.woocommerce-cart-form,
	.woocommerce-cart .woocommerce > .cart-collaterals { grid-column: 1; }
}
.woocommerce .cart-collaterals,
.woocommerce-cart .cart-collaterals {
	display: block;
	width: 100%;
	margin-top: 0;
}
.woocommerce .cart-collaterals .cart_totals { width: 100% !important; float: none !important; }
.woocommerce .cart_totals {
	background: var(--canvas-soft);
	padding: 32px;
	border: 1px solid var(--ink-ghost);
}
.woocommerce .cart_totals h2 {
	font-family: var(--display);
	font-weight: 400;
	font-size: 24px;
	margin: 0 0 20px;
	color: var(--ink);
}
.woocommerce .cart_totals table.shop_table {
	background: transparent;
	margin-bottom: 24px;
}
.woocommerce .cart_totals table.shop_table th {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ink-muted);
	padding: 12px 0;
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--ink-ghost);
}
.woocommerce .cart_totals table.shop_table td {
	padding: 12px 0;
	font-family: var(--sans);
	font-size: 14px;
	color: var(--ink);
	border: none;
	border-bottom: 1px solid var(--ink-ghost);
	text-align: right;
}
.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td {
	font-size: 16px;
	font-weight: 600;
	border-bottom: none;
	padding-top: 18px;
}
.woocommerce .wc-proceed-to-checkout {
	padding: 0;
}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .wc-proceed-to-checkout a.checkout-button {
	display: inline-block;
	background: var(--ink);
	color: var(--canvas);
	border: 1px solid var(--ink);
	border-radius: 0;
	padding: 16px 32px;
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	cursor: pointer;
	text-shadow: none;
	box-shadow: none;
	transition: background 220ms ease, color 220ms ease;
	width: auto;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--brand);
	border-color: var(--brand);
	color: var(--canvas);
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #place_order {
	background: var(--brand);
	border-color: var(--brand);
	color: var(--canvas);
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #place_order:hover {
	background: var(--ink);
	border-color: var(--ink);
}

/* Coupon */
.woocommerce .coupon {
	display: flex;
	gap: 10px;
	align-items: center;
	margin-bottom: 24px;
}
.woocommerce .coupon input[name="coupon_code"] {
	flex: 1;
	max-width: 260px;
	padding: 14px 16px;
	border: 1px solid var(--ink-ghost);
	border-radius: 0;
	background: var(--canvas);
	font-family: var(--sans);
	font-size: 13px;
	letter-spacing: 0.02em;
}
.woocommerce .coupon input[name="coupon_code"]:focus {
	border-color: var(--brand);
	outline: none;
}

/* Empty cart */
.wc-empty-cart-message,
.cart-empty {
	font-family: var(--display);
	font-style: italic;
	font-size: 22px;
	color: var(--ink-muted);
	padding: 40px 0;
	text-align: center;
}
.return-to-shop {
	text-align: center;
	margin-top: 16px;
}

/* ---- Checkout ---- */
.woocommerce-checkout #customer_details {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}
@media (max-width: 880px) {
	.woocommerce-checkout #customer_details { grid-template-columns: 1fr; gap: 24px; }
	.woocommerce-checkout #customer_details .col-1,
	.woocommerce-checkout #customer_details .col-2 { width: 100% !important; float: none !important; }
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	width: 100% !important;
	float: none !important;
}
.woocommerce form .form-row {
	display: flex;
	flex-direction: column;
	margin: 0 0 18px;
}
.woocommerce form .form-row label {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ink-muted);
	margin-bottom: 8px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select {
	padding: 14px 16px;
	border: 1px solid var(--ink-ghost);
	border-radius: 0;
	background: var(--canvas);
	font-family: var(--sans);
	font-size: 14px;
	color: var(--ink);
	width: 100%;
	box-shadow: none;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--brand);
	outline: none;
}
.woocommerce .select2-container--default .select2-selection--single {
	border: 1px solid var(--ink-ghost);
	border-radius: 0;
	height: 48px;
	padding: 8px 8px;
	background: var(--canvas);
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 30px;
	font-family: var(--sans);
	font-size: 14px;
}
.woocommerce-checkout h3 {
	font-family: var(--display);
	font-weight: 400;
	font-size: 26px;
	margin: 0 0 20px;
	color: var(--ink);
}
#order_review_heading {
	margin-top: 48px !important;
	padding-top: 24px;
	border-top: 1px solid var(--ink-ghost);
}
#order_review {
	background: var(--canvas-soft);
	padding: 32px;
	border: 1px solid var(--ink-ghost);
}
#payment {
	background: transparent !important;
	border-radius: 0;
}
#payment ul.payment_methods {
	border-bottom: 1px solid var(--ink-ghost);
	padding: 0 0 16px !important;
}
#payment ul.payment_methods li {
	font-family: var(--sans);
	font-size: 13px;
}
#payment div.payment_box {
	background: var(--canvas) !important;
	border: 1px solid var(--ink-ghost);
	border-radius: 0 !important;
	color: var(--ink-muted);
	font-size: 13px;
}
#payment div.payment_box::before { display: none; }

/* ---- My Account (solo se loggato: ha la nav sidebar) ---- */
.woocommerce-account.logged-in .woocommerce:has(.woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 56px;
}
@media (max-width: 860px) {
	.woocommerce-account.logged-in .woocommerce:has(.woocommerce-MyAccount-navigation) {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	margin: 0;
	border-top: 1px solid var(--ink-ghost);
}
.woocommerce-MyAccount-navigation ul li {
	border-bottom: 1px solid var(--ink-ghost);
	margin: 0;
}
.woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 16px 0;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink);
	text-decoration: none;
	transition: color 220ms ease;
}
.woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-MyAccount-navigation ul li.is-active > a {
	color: var(--brand);
}
.woocommerce-MyAccount-content {
	font-family: var(--display);
	font-size: 16px;
	line-height: 1.7;
	color: var(--ink);
}
.woocommerce-MyAccount-content p { margin: 0 0 20px; }
.woocommerce-MyAccount-content a {
	color: var(--brand);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	font-family: var(--display);
	font-weight: 400;
	color: var(--ink);
	margin: 0 0 16px;
}

/* Login / Register forms */
#customer_login.u-columns,
.woocommerce .u-columns.col2-set,
.woocommerce-page .u-columns.col2-set {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	max-width: 920px;
	margin: 0 auto;
	float: none !important;
}
#customer_login .u-column1,
#customer_login .u-column2,
.woocommerce .u-columns .col-1,
.woocommerce .u-columns .col-2 {
	width: 100% !important;
	float: none !important;
	max-width: 100% !important;
}
@media (max-width: 720px) {
	#customer_login.u-columns,
	.woocommerce .u-columns.col2-set { grid-template-columns: 1fr !important; }
}
.woocommerce form.login,
.woocommerce form.register {
	border: 1px solid var(--ink-ghost);
	border-radius: 0;
	padding: 32px;
	background: var(--canvas-soft);
}
.woocommerce form.login h2,
.woocommerce form.register h2,
.u-column1 > h2,
.u-column2 > h2 {
	font-family: var(--display);
	font-weight: 400;
	font-size: 26px;
	margin: 0 0 20px;
	color: var(--ink);
}
.woocommerce form .form-row .required { color: var(--brand); text-decoration: none; }
.woocommerce form .form-row label.checkbox {
	flex-direction: row;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	text-transform: none;
	letter-spacing: 0;
	color: var(--ink-muted);
}

/* =====================================================================
   Sprint 6.3 · Cart drawer (mini-cart sidebar)
   ===================================================================== */

.siklah-cart-drawer {
	position: fixed;
	inset: 0;
	z-index: 9999;
	pointer-events: none;
}
.siklah-cart-drawer[hidden] { display: block; visibility: hidden; }
.siklah-cart-drawer.is-open { pointer-events: auto; visibility: visible; }
.siklah-cart-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(10, 10, 10, 0.45);
	opacity: 0;
	transition: opacity 320ms cubic-bezier(.2,.6,.2,1);
}
.siklah-cart-drawer.is-open .siklah-cart-drawer__backdrop { opacity: 1; }
.siklah-cart-drawer__panel {
	position: absolute;
	top: 0; right: 0; bottom: 0;
	width: min(440px, 100vw);
	background: var(--canvas);
	box-shadow: -24px 0 60px rgba(10,10,10,0.18);
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform 360ms cubic-bezier(.2,.6,.2,1);
	will-change: transform;
}
.siklah-cart-drawer.is-open .siklah-cart-drawer__panel { transform: translateX(0); }
.siklah-cart-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 28px 32px 20px;
	border-bottom: 1px solid var(--ink-ghost);
}
.siklah-cart-drawer__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: 24px;
	letter-spacing: -0.005em;
	color: var(--ink);
	margin: 0;
}
.siklah-cart-drawer__close {
	background: transparent;
	border: none;
	cursor: pointer;
	font-size: 28px;
	line-height: 1;
	color: var(--ink-muted);
	padding: 4px 8px;
	transition: color 220ms ease;
}
.siklah-cart-drawer__close:hover { color: var(--brand); }
.siklah-cart-drawer__body {
	flex: 1;
	overflow-y: auto;
	padding: 20px 32px 32px;
}
.siklah-cart-drawer__empty {
	text-align: center;
	padding: 48px 0 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}
.siklah-cart-drawer__empty-msg {
	font-family: var(--display);
	font-style: italic;
	font-size: 20px;
	color: var(--ink-muted);
	margin: 0;
}
.siklah-cart-drawer__items {
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
	display: flex;
	flex-direction: column;
}
.siklah-cart-drawer__item {
	display: grid;
	grid-template-columns: 80px 1fr auto;
	gap: 16px;
	align-items: flex-start;
	padding: 20px 0;
	border-bottom: 1px solid var(--ink-ghost);
}
.siklah-cart-drawer__item:last-child { border-bottom: none; }
.siklah-cart-drawer__thumb {
	display: block;
	overflow: hidden;
	background: var(--canvas-soft);
	line-height: 0;
}
.siklah-cart-drawer__thumb img {
	width: 80px;
	height: 100px;
	object-fit: cover;
	display: block;
}
.siklah-cart-drawer__info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.siklah-cart-drawer__name {
	font-family: var(--display);
	font-weight: 400;
	font-size: 16px;
	color: var(--ink);
	text-decoration: none;
	line-height: 1.3;
}
.siklah-cart-drawer__name:hover { color: var(--brand); }
.siklah-cart-drawer__meta {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink-muted);
}
.siklah-cart-drawer__price {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	color: var(--ink);
	font-variant-numeric: tabular-nums;
	margin-top: 4px;
}
.siklah-cart-drawer__remove {
	background: transparent;
	border: none;
	cursor: pointer;
	color: var(--ink-faint);
	font-size: 20px;
	line-height: 1;
	padding: 0 4px;
	align-self: flex-start;
	transition: color 220ms ease;
}
.siklah-cart-drawer__remove:hover { color: var(--brand); }
.siklah-cart-drawer__remove:disabled { opacity: 0.4; cursor: wait; }
.siklah-cart-drawer__totals {
	padding: 20px 0 8px;
	border-top: 1px solid var(--ink);
}
.siklah-cart-drawer__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--ink);
	margin-bottom: 6px;
}
.siklah-cart-drawer__row span:first-child {
	font-size: 10.5px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink-muted);
	font-weight: 600;
}
.siklah-cart-drawer__amount {
	font-variant-numeric: tabular-nums;
	font-size: 16px;
}
.siklah-cart-drawer__hint {
	font-family: var(--display);
	font-style: italic;
	font-size: 12px;
	color: var(--ink-faint);
	margin: 6px 0 0;
}
.siklah-cart-drawer__ctas {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin-top: 20px;
}
.siklah-cart-drawer__ctas .siklah-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 20px;
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	text-decoration: none;
	border: 1px solid var(--ink);
	transition: background 220ms ease, color 220ms ease, border-color 220ms ease;
	cursor: pointer;
}
.siklah-cart-drawer__ctas .siklah-btn--outline {
	background: var(--canvas);
	color: var(--ink);
}
.siklah-cart-drawer__ctas .siklah-btn--outline:hover {
	background: var(--ink);
	color: var(--canvas);
}
.siklah-cart-drawer__ctas .siklah-btn--brand,
.siklah-cart-drawer__ctas .siklah-btn--black {
	background: var(--brand);
	color: var(--canvas);
	border-color: var(--brand);
}
.siklah-cart-drawer__ctas .siklah-btn--brand:hover,
.siklah-cart-drawer__ctas .siklah-btn--black:hover {
	background: var(--ink);
	border-color: var(--ink);
}

@media (max-width: 480px) {
	.siklah-cart-drawer__panel { width: 100vw; }
	.siklah-cart-drawer__head,
	.siklah-cart-drawer__body { padding-left: 20px; padding-right: 20px; }
}

/* =====================================================================
   Sprint 6.4 · PDP luxury gallery (Pandora-inspired)
   Layout: hero 4:5 + side stack 3:4 · sticky info · 3D/film overlay
   ===================================================================== */

.siklah-pdp-wrap { width: 100%; }
.siklah-pdp-breadcrumbs {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.06em;
	color: var(--ink-faint);
	margin: 0;
}
.siklah-pdp-breadcrumbs .woocommerce-breadcrumb {
	margin: 0;
	padding: 0;
}
.siklah-pdp-breadcrumbs .woocommerce-breadcrumb > span:last-child {
	color: var(--ink-muted);
}
.siklah-pdp-breadcrumbs a { color: var(--ink-muted); text-decoration: none; }
.siklah-pdp-breadcrumbs a:hover { color: var(--brand); }

/* Container PDP full-bleed 100vw. Gallery tocca bordo sx; info col ha proprio padding dx. */
.siklah-pdp-wrap { max-width: 100vw; width: 100vw; overflow-x: hidden; }
/* Woo block .wp-block-woocommerce-single-product default cappa max-width 1440 + padding 48. Azzeriamo. */
.siklah-pdp-wrap .wp-block-woocommerce-single-product,
.siklah-pdp-wrap .wp-block-woocommerce-single-product.siklah-pdp--luxury {
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100%;
}
.siklah-pdp--luxury .siklah-pdp__columns {
	display: grid;
	/* Gallery ~55% · Info ~45% */
	grid-template-columns: minmax(0, 1.32fr) minmax(420px, 1fr);
	gap: 0;
	align-items: flex-start;
	width: 100%;
	max-width: 100%;
	margin: 0;
}
.siklah-pdp--luxury .siklah-pdp__gallery-wrap { padding: 0; }
.siklah-pdp--luxury .siklah-pdp__info-col {
	padding: 0 4vw 0 56px;
	min-width: 0;
}
@media (max-width: 1024px) {
	.siklah-pdp--luxury .siklah-pdp__columns {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.siklah-pdp--luxury .siklah-pdp__info-col { padding: 0 5vw; }
}
@media (min-width: 1441px) {
	.siklah-pdp--luxury .siklah-pdp__info-col { padding: 0 4vw 0 168px; }
}

/* ---- Gallery luxury: hero sticky + thumbs scroll ---- */
.siklah-pdp__gallery-wrap {
	position: relative;
	min-width: 0;
}
.siklah-luxgallery {
	display: grid;
	/* Hero ~64% · thumbs ~36% (thumbs +20%) */
	grid-template-columns: minmax(0, 2.5fr) minmax(0, 1.55fr);
	gap: 0;
	align-items: flex-start;
	position: relative;
}
.siklah-luxgallery__stage {
	position: sticky;
	top: 0;
	order: 1;
	min-width: 0;
	height: 100vh;
}
/* Hero fill column, aspetto 3:4 ma con cap altezza */
.siklah-luxgallery__hero {
	margin: 0;
	overflow: hidden;
	background: var(--canvas-soft);
	width: 100%;
	height: 100%;
	position: relative;
}
.siklah-luxgallery__hero img,
.siklah-luxgallery__hero video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: opacity 320ms cubic-bezier(.2,.6,.2,1);
}
.siklah-luxgallery__hero video[hidden] { display: none; }
.siklah-luxgallery__hero img[hidden] { display: none; }
.siklah-luxgallery__hero.is-swapping img,
.siklah-luxgallery__hero.is-swapping video { opacity: 0; }

/* Thumb column: altezza = hero height (100vh), scroll verticale per le altre thumb
   Ogni thumb 3:4 occupa ~metà dell'altezza → 2 visibili */
.siklah-luxgallery__thumbs {
	order: 2;
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
	min-width: 0;
	height: 100vh;
	overflow-y: auto;
	scrollbar-width: thin;
	scroll-snap-type: y mandatory;
}
.siklah-luxgallery__thumbs::-webkit-scrollbar { display: none; }
.siklah-luxgallery__thumbs { scrollbar-width: none; }
.siklah-luxgallery__thumb-item {
	margin: 0;
	scroll-snap-align: start;
	flex: 0 0 auto;
	aspect-ratio: 3 / 4;
}
.siklah-luxgallery__thumb {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	padding: 0;
	margin: 0;
	border: 0;
	background: var(--canvas-soft);
	cursor: pointer;
	overflow: hidden;
	outline: none;
	transition: opacity 220ms ease;
	opacity: 1;
	position: relative;
}
.siklah-luxgallery__thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255,255,255,0);
	transition: background 220ms ease;
	pointer-events: none;
}
.siklah-luxgallery__thumb img,
.siklah-luxgallery__thumb video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	pointer-events: none;
}
/* Indicatore video sul thumb */
.siklah-luxgallery__thumb--video {
	position: relative;
}
.siklah-luxgallery__thumb--video::before {
	content: "";
	position: absolute;
	bottom: 12px; right: 12px;
	width: 0; height: 0;
	border-left: 12px solid rgba(255,255,255,0.95);
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
	z-index: 2;
	pointer-events: none;
	filter: drop-shadow(0 1px 2px rgba(0,0,0,0.3));
}
.siklah-luxgallery__thumb-item.is-active .siklah-luxgallery__thumb::after {
	background: rgba(255,255,255,0);
}
.siklah-luxgallery__thumb-item:not(.is-active) .siklah-luxgallery__thumb::after {
	background: rgba(255,255,255,0.32);
}
.siklah-luxgallery__thumb:hover::after {
	background: rgba(255,255,255,0) !important;
}
.siklah-luxgallery__thumb:focus-visible {
	outline: 2px solid var(--brand);
	outline-offset: -2px;
}

@media (max-width: 1024px) {
	.siklah-luxgallery {
		grid-template-columns: 1fr;
		gap: 8px;
	}
	.siklah-luxgallery__stage { position: static; order: 1; }
	.siklah-luxgallery__hero { aspect-ratio: 4 / 5; }
	.siklah-luxgallery__thumbs {
		order: 2;
		flex-direction: row;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding: 0 5vw;
		gap: 8px;
	}
	.siklah-luxgallery__thumb-item {
		flex: 0 0 120px;
		scroll-snap-align: start;
	}
}

/* Overlay 3D / Film buttons */
.siklah-luxgallery__overlays {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 5;
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: flex-end;
	pointer-events: none;
}
.siklah-luxgallery__overlay-btn {
	pointer-events: auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	color: var(--ink);
	border: 1px solid rgba(10, 10, 10, 0.12);
	border-radius: 0;
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 220ms ease, color 220ms ease, border-color 220ms ease;
}
.siklah-luxgallery__overlay-btn:hover,
.siklah-luxgallery__overlay-btn.is-active {
	background: var(--ink);
	color: var(--canvas);
	border-color: var(--ink);
}
.siklah-luxgallery__overlay-btn svg { flex-shrink: 0; }

/* 3D takeover layer — copre tutta la gallery */
.siklah-3d-layer {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	height: 100%;
	background: var(--canvas-soft);
	z-index: 10;
	display: none;
	border: 1px solid var(--ink-ghost);
}
.siklah-3d-layer.is-open { display: block; }
.siklah-3d-layer model-viewer {
	width: 100%;
	height: 100%;
	min-height: 0;
	--poster-color: transparent;
	background: var(--canvas-soft);
}
.siklah-3d-close {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 11;
	background: rgba(255,255,255,0.94);
	border: 1px solid rgba(10,10,10,0.12);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	color: var(--ink);
}
.siklah-3d-close:hover {
	background: var(--ink);
	color: var(--canvas);
	border-color: var(--ink);
}
.siklah-3d-hint {
	position: absolute;
	bottom: 16px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 11;
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink-muted);
	background: rgba(255,255,255,0.9);
	padding: 8px 14px;
	border-radius: 0;
}

/* ---- Info column ---- */
.siklah-pdp__info-col { min-width: 0; }
/* Info col scrollabile, stessa altezza della gallery (100vh sticky) */
.siklah-pdp__info--sticky {
	position: sticky;
	top: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 32px 0 32px;
	height: 100vh;
	overflow-y: auto;
	scrollbar-width: none;
}
.siklah-pdp__info--sticky::-webkit-scrollbar { display: none; }
@media (max-width: 1024px) {
	.siklah-pdp__info--sticky {
		position: static;
		height: auto;
		overflow: visible;
		padding: 0;
	}
}
.siklah-pdp--luxury .siklah-pdp__info .siklah-pdp__eyebrow {
	display: inline-block;
	margin-bottom: 10px;
}
.siklah-pdp--luxury .siklah-pdp__info .wp-block-post-title,
/* Force Montserrat on entire PDP, then re-apply Display only on name + short desc */
.siklah-pdp--luxury *,
.siklah-pdp-rg *,
.siklah-pdp-accordions *,
.siklah-pdp-services *,
.siklah-pdp-features * {
	font-family: var(--sans) !important;
}
.siklah-pdp--luxury .siklah-pdp__info .siklah-pdp__name {
	margin: 0 0 4px !important;
	font-family: var(--display) !important;
	font-size: clamp(28px, 2.8vw, 38px) !important;
	font-weight: 400 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.01em !important;
	text-transform: none !important;
	color: var(--ink) !important;
}
.siklah-pdp--luxury .siklah-pdp__price,
.siklah-pdp--luxury .siklah-pdp .price,
.siklah-pdp--luxury .siklah-pdp .woocommerce-Price-amount,
.siklah-pdp--luxury .wc-block-components-product-price .woocommerce-Price-amount {
	font-family: var(--sans) !important;
	font-size: 22px !important;
	font-weight: 500 !important;
	letter-spacing: 0.005em !important;
	margin: 0 !important;
}
html body .siklah-pdp--luxury .siklah-pdp__tagline,
html body .siklah-pdp--luxury p.siklah-pdp__tagline,
html body .siklah-pdp--luxury .siklah-pdp .siklah-pdp__tagline {
	font-family: var(--sans) !important;
	font-style: normal !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--ink-muted) !important;
	line-height: 1.4 !important;
	margin: 0 0 14px !important;
}
.siklah-pdp--luxury .siklah-pdp__price,
.siklah-pdp--luxury .wc-block-components-product-price {
	font-family: var(--sans) !important;
	font-size: 20px !important;
	font-weight: 500 !important;
	color: var(--ink) !important;
	letter-spacing: 0.005em !important;
	margin: 6px 0 4px !important;
	font-variant-numeric: tabular-nums !important;
}
.siklah-pdp__price-note {
	margin: 0 0 18px !important;
	font-family: var(--sans);
	font-size: 10.5px;
	letter-spacing: 0.1em;
	color: var(--ink-faint);
}
.siklah-pdp--luxury .siklah-pdp__short {
	font-family: var(--display) !important;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.7;
	color: var(--ink-muted);
	padding: 14px 0;
	border-top: 1px solid var(--ink-ghost);
	border-bottom: 1px solid var(--ink-ghost);
	margin: 0 0 18px;
}
.siklah-pdp--luxury .siklah-pdp__short p { margin: 0; }

/* Add-to-cart form styled */
.siklah-pdp--luxury form.cart {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 0 18px;
}
.siklah-pdp--luxury form.cart .quantity {
	display: inline-flex;
	align-items: center;
}
.siklah-pdp--luxury form.cart button.single_add_to_cart_button {
	width: 100%;
	padding: 18px 28px;
	background: var(--ink);
	color: var(--canvas);
	border: 1px solid var(--ink);
	border-radius: 0;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 220ms ease, color 220ms ease;
}
.siklah-pdp--luxury form.cart button.single_add_to_cart_button:hover {
	background: var(--brand);
	border-color: var(--brand);
}

/* Service list (legacy — retained for non-luxury PDP variants) */
.siklah-pdp__service-list {
	list-style: none;
	padding: 16px 0 0;
	margin: 4px 0 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	border-top: 1px solid var(--ink-ghost);
}
.siklah-pdp__service-list li {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: var(--ink-muted);
}
.siklah-pdp__service-list svg {
	color: var(--brand);
	flex-shrink: 0;
}

/* ---- Accordion panels (Dettagli / Cura / Compatibile) ---- */
.siklah-pdp-accordions {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--ink-ghost);
	border-bottom: 1px solid var(--ink-ghost);
	margin: 0 0 16px;
}
.siklah-acc {
	border-bottom: 1px solid var(--ink-ghost);
}
.siklah-acc:last-child { border-bottom: none; }
.siklah-acc__head {
	list-style: none;
	cursor: pointer;
	padding: 16px 2px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ink);
	user-select: none;
}
.siklah-acc__head::-webkit-details-marker { display: none; }
.siklah-acc__title { flex: 1; }
.siklah-acc__chev {
	display: inline-flex;
	color: var(--ink-muted);
	transition: transform 300ms cubic-bezier(.2,.6,.2,1), color 220ms ease;
}
.siklah-acc[open] .siklah-acc__chev { transform: rotate(90deg); color: var(--brand); }
.siklah-acc:hover .siklah-acc__head { color: var(--brand); }
.siklah-acc__body {
	padding: 0 4px 22px;
	font-family: var(--display);
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--ink-muted);
}
.siklah-acc__body p { margin: 0 0 12px; }
.siklah-acc__body p:last-child { margin-bottom: 0; }
.siklah-acc__body strong { color: var(--ink); font-weight: 500; }
.siklah-acc__dl {
	display: grid;
	grid-template-columns: 130px 1fr;
	gap: 10px 16px;
	margin: 0;
}
.siklah-acc__dl dt {
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ink-faint);
}
.siklah-acc__dl dd {
	margin: 0;
	font-family: var(--display);
	font-size: 14.5px;
	color: var(--ink);
}
.siklah-acc__dl dd strong { color: var(--brand); font-weight: 500; }
.siklah-acc__compat {
	list-style: none;
	padding: 0; margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.siklah-acc__compat li a {
	display: flex;
	align-items: center;
	gap: 14px;
	text-decoration: none;
	color: var(--ink);
	padding: 6px 0;
	transition: color 220ms ease;
}
.siklah-acc__compat li a:hover { color: var(--brand); }
.siklah-acc__compat img {
	width: 48px; height: 60px;
	object-fit: cover;
	background: var(--canvas-soft);
	flex-shrink: 0;
}
.siklah-acc__compat span {
	font-family: var(--display);
	font-size: 15px;
	font-weight: 400;
}

/* ---- Service boxes (Ritiro + Consegna) ---- */
.siklah-pdp-services {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 14px;
}
.siklah-pdp-service-box {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 14px 16px;
	background: var(--canvas-soft);
	border: 1px solid var(--ink-ghost);
	text-decoration: none;
	color: var(--ink);
	transition: border-color 220ms ease, background 220ms ease;
}
.siklah-pdp-service-box:hover {
	border-color: var(--ink);
	background: var(--canvas);
}
.siklah-pdp-service-box__icon {
	display: inline-flex;
	color: var(--ink);
	flex-shrink: 0;
	margin-top: 1px;
}
.siklah-pdp-service-box__main {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
.siklah-pdp-service-box__title {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink);
	border-bottom: none;
	padding-bottom: 0;
	display: inline;
}
.siklah-pdp-service-box__sub {
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 400;
	color: var(--ink);
	letter-spacing: 0.01em;
}
.siklah-pdp-service-box__chev {
	color: var(--ink);
	font-family: var(--sans);
	font-size: 16px;
	line-height: 1;
	transition: transform 300ms ease, color 220ms ease;
	flex-shrink: 0;
	margin-top: 1px;
}
.siklah-pdp-service-box:hover .siklah-pdp-service-box__chev {
	color: var(--ink);
	transform: translateX(3px);
}

/* Bullet list dentro service-box (Tempi e costi) — span+role per evitare wpautop */
.siklah-pdp-ship-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 4px 0 0;
}
.siklah-pdp-ship-list [role="listitem"] {
	display: block;
	position: relative;
	padding-left: 16px;
	font-family: var(--sans);
	font-size: 12px;
	font-weight: 400;
	color: var(--ink);
	letter-spacing: 0.01em;
	line-height: 1.5;
}
.siklah-pdp-ship-list [role="listitem"]::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--ink);
}
.siklah-pdp-service-box__chev--acc {
	display: inline-flex;
	transition: transform 300ms ease;
	color: var(--ink-muted);
}
.siklah-pdp-service-box--expandable[open] .siklah-pdp-service-box__chev--acc {
	transform: rotate(90deg);
	color: var(--brand);
}
.siklah-pdp-service-box--expandable {
	cursor: pointer;
	display: block;
	padding: 0;
}
.siklah-pdp-service-box--expandable > summary {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 14px;
	list-style: none;
	user-select: none;
}
.siklah-pdp-service-box--expandable > summary::-webkit-details-marker { display: none; }
.siklah-pdp-service-box__body {
	padding: 4px 16px 18px;
	border-top: 1px solid var(--ink-ghost);
	background: var(--canvas);
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 2px;
}
.siklah-pdp-ship-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 8px 0;
	border-bottom: 1px dashed var(--ink-ghost);
	font-size: 12.5px;
}
.siklah-pdp-ship-row:last-child { border-bottom: none; }
.siklah-pdp-ship-row span {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink-muted);
}
.siklah-pdp-ship-row strong {
	font-family: var(--display);
	font-weight: 400;
	font-size: 13.5px;
	color: var(--ink);
}

/* Shipping option tiles (radio-selectable) */
.siklah-pdp-ship-options {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	margin: 0 0 12px;
}
.siklah-pdp-ship-opt {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 14px;
	background: var(--canvas);
	border: 1px solid var(--ink-ghost);
	cursor: pointer;
	transition: border-color 220ms ease, background 220ms ease;
}
.siklah-pdp-ship-opt > * { margin: 0; }
.siklah-pdp-ship-opt__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	flex: 1;
}
.siklah-pdp-ship-opt input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.siklah-pdp-ship-opt:hover { border-color: var(--ink-muted); }
.siklah-pdp-ship-opt:has(input:checked),
.siklah-pdp-ship-opt.is-recommended {
	border-color: var(--brand);
	background: rgba(19, 86, 71, 0.04);
}
.siklah-pdp-ship-opt__top {
	display: flex;
	align-items: center;
	gap: 10px;
}
.siklah-pdp-ship-opt__label {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ink);
}
.siklah-pdp-ship-opt__badge {
	font-family: var(--sans);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--canvas);
	background: var(--brand);
	padding: 3px 8px;
	line-height: 1;
}
.siklah-pdp-ship-opt__meta {
	font-family: var(--display);
	font-size: 13px;
	color: var(--ink-muted);
	letter-spacing: 0.005em;
}
.siklah-pdp-ship-opt__price {
	font-family: var(--sans);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--ink);
	text-align: right;
	white-space: nowrap;
	flex-shrink: 0;
}
.siklah-pdp-ship-opt__price em {
	display: block;
	font-family: var(--display);
	font-style: italic;
	font-size: 10.5px;
	font-weight: 400;
	color: var(--ink-faint);
	letter-spacing: 0;
	margin-top: 2px;
}
.siklah-pdp-ship-note {
	margin: 8px 0 0 !important;
	font-family: var(--display);
	font-style: italic;
	font-size: 12px;
	color: var(--ink-muted);
	line-height: 1.5;
}
.siklah-pdp-ship-note strong { color: var(--brand); font-style: normal; font-family: var(--sans); font-weight: 600; letter-spacing: 0.02em; }

/* ---- Payment / service features — stacked, hairline underline, sentence case ---- */
.siklah-pdp-features {
	list-style: none;
	padding: 0;
	margin: 14px 0 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}
.siklah-pdp-features li {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 0;
}
.siklah-pdp-features li svg {
	color: var(--ink);
	flex-shrink: 0;
}
.siklah-pdp-features li span {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 400;
	color: var(--ink);
	letter-spacing: 0.01em;
	line-height: 1.3;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
	text-decoration-color: var(--ink-ghost);
}

/* ==========================================================================
   PDP Related Grid — foto editoriale sx + 2 caroselli dx
   ========================================================================== */
.siklah-pdp-rg {
	width: 90%;
	max-width: 1680px;
	margin: 0 auto;
	padding: 64px 0 96px;
}
.siklah-pdp-rg__title {
	font-family: var(--sans);
	font-size: 1.75rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ink);
	margin: 0 0 24px;
}

/* Layout: foto sx + rails dx */
.siklah-pdp-rg__row {
	display: grid;
	grid-template-columns: 35% 65%;
	gap: 0;
}
.siklah-pdp-rg__photo-wrap {
	align-self: start;
	position: sticky;
	top: 60px;
}
.siklah-pdp-rg__photo {
	overflow: hidden;
	background: var(--canvas-soft);
	aspect-ratio: 3 / 4;
}
.siklah-pdp-rg__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.siklah-pdp-rg__photo-desc {
	font-family: var(--sans);
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.55;
	color: var(--ink);
	margin: 20px 0 0;
}

.siklah-pdp-rg__rail-title {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-muted);
	margin: 0;
}
.siklah-pdp-rg__arrows {
	display: flex;
	gap: 0;
}
.siklah-pdp-rg__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--ink-ghost);
	background: none;
	color: var(--ink);
	font-size: 16px;
	cursor: pointer;
	transition: border-color .2s ease, background .2s ease;
}
.siklah-pdp-rg__arrow + .siklah-pdp-rg__arrow {
	border-left: none;
}
.siklah-pdp-rg__arrow:hover {
	border-color: var(--ink);
	background: var(--canvas-soft);
}

/* Carousel — 3 card fisse 280px */
.siklah-pdp-rg__carousel {
	overflow: hidden;
	position: relative;
}
.siklah-pdp-rg__carousel-track {
	display: flex;
	gap: 10px;
	transition: transform .4s cubic-bezier(.4,0,.2,1);
}
.siklah-pdp-rg__card {
	flex: 0 0 280px;
	min-width: 0;
}
/* Rails giustificati a destra */
.siklah-pdp-rg__rails {
	display: flex;
	flex-direction: column;
	gap: 48px;
	align-items: flex-end;
}
.siklah-pdp-rg__rail {
	width: 100%;
	max-width: 860px;
}
@media (max-width: 1440px) {
	.siklah-pdp-rg__card { flex-basis: 196px; }
	.siklah-pdp-rg__rail { max-width: 608px; }
}
.siklah-pdp-rg__rail-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
}

/* Product card */
.siklah-pdp-rg__card-link {
	display: block;
	text-decoration: none;
	color: inherit;
}
.siklah-pdp-rg__card-media {
	aspect-ratio: 3 / 4;
	background: var(--canvas-soft);
	overflow: hidden;
}
.siklah-pdp-rg__card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s cubic-bezier(.2,.6,.2,1);
}
.siklah-pdp-rg__card-link:hover .siklah-pdp-rg__card-media img {
	transform: scale(1.03);
}
.siklah-pdp-rg__card-info {
	padding: 12px 0 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.siklah-pdp-rg__card-name {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 400;
	color: var(--ink);
	line-height: 1.4;
}
.siklah-pdp-rg__card-price {
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 400;
	color: var(--ink);
	font-variant-numeric: tabular-nums;
}

/* Responsive */
@media (max-width: 1023px) {
	.siklah-pdp-rg { width: 100%; padding: 48px var(--space-5) 64px; }
	.siklah-pdp-rg__row { grid-template-columns: 1fr; }
	.siklah-pdp-rg__photo { position: static; aspect-ratio: 16 / 9; }
	.siklah-pdp-rg__card { flex: 0 0 calc((100% - 10px) / 2); }
}

/* Nascondi il vecchio markup Woo default se presente */
.siklah-pdp--luxury .woocommerce-product-gallery { display: none !important; }
.siklah-pdp--luxury .siklah-pdp__media-toggles { display: none !important; }

/* =====================================================================
   Sprint 6.5 · PDP cross-sell rails (Pandora-style)
   "Ti potrebbe piacere anche" + "Completa il look" full-bleed
   ===================================================================== */

.siklah-pdp-rail {
	width: 100%;
	max-width: 100vw;
	margin: 0;
	padding: 56px 0 56px;
	overflow: hidden;
}
.siklah-pdp-rail + .siklah-pdp-rail {
	padding-top: 0;
	border-top: 1px solid var(--ink-ghost);
	margin-top: 0;
}
.siklah-pdp-rail__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	padding: 0 4vw 28px;
}
.siklah-pdp-rail__heading { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.siklah-pdp-rail__kicker {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--brand);
}
.siklah-pdp-rail__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(22px, 2.2vw, 32px);
	line-height: 1.15;
	letter-spacing: -0.005em;
	color: var(--ink);
	margin: 0;
}
.siklah-pdp-rail__nav {
	display: flex;
	gap: 8px;
	flex-shrink: 0;
}
.siklah-pdp-rail__btn {
	width: 40px;
	height: 40px;
	border: 1px solid var(--ink-ghost);
	background: var(--canvas);
	color: var(--ink);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: border-color 220ms ease, background 220ms ease, color 220ms ease;
}
.siklah-pdp-rail__btn:hover:not(:disabled) {
	border-color: var(--ink);
	background: var(--ink);
	color: var(--canvas);
}
.siklah-pdp-rail__btn:disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

.siklah-pdp-rail__scroller {
	display: flex;
	gap: 24px;
	padding: 0 4vw;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}
.siklah-pdp-rail__scroller::-webkit-scrollbar { display: none; }
.siklah-pdp-rail__item {
	flex: 0 0 calc((100vw - 8vw - 24px * 3) / 4);
	max-width: 360px;
	scroll-snap-align: start;
	min-width: 0;
}
@media (max-width: 1280px) {
	.siklah-pdp-rail__item { flex: 0 0 calc((100vw - 8vw - 24px * 2) / 3); }
}
@media (max-width: 900px) {
	.siklah-pdp-rail__item { flex: 0 0 calc((100vw - 8vw - 16px) / 2); }
	.siklah-pdp-rail__scroller { gap: 16px; }
}
@media (max-width: 600px) {
	.siklah-pdp-rail__item { flex: 0 0 70vw; }
	.siklah-pdp-rail__nav { display: none; }
}
/* Card riusa stile archive — qui solo override per assicurare margin 0 */
.siklah-pdp-rail__item .siklah-charm-card { margin: 0; }
/* Login/Register layout — flexbox wrapper centrato in pagina.
   NB: per i visitatori sloggati WooCommerce salta my-account.php (nessun
   wrapper .siklah-account-page/.siklah-account-head) e renderizza
   form-login.php da solo — questo blocco non ha un "titolo" a cui allinearsi,
   va quindi centrato in pagina invece che ancorato a sinistra. */
body.woocommerce-account #customer_login {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 56px !important;
	max-width: 1036px !important;
	width: 90% !important;
	margin: 0 auto !important;
	float: none !important;
	align-items: flex-start !important;
	justify-content: center !important;
}
body.woocommerce-account #customer_login::before,
body.woocommerce-account #customer_login::after { content: none !important; display: none !important; }
body.woocommerce-account #customer_login > div {
	flex: 1 1 50% !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
}
@media (max-width: 860px) {
	body.woocommerce-account #customer_login {
		flex-direction: column !important;
		gap: 32px !important;
	}
}

/* ==========================================================================
   Piercing · Scroll Sequence (scroll-driven frame animation + callouts)
   ========================================================================== */
.siklah-seq {
	position: relative;
	width: 100%;
	height: 400vh; /* 4x viewport = corsa di scroll per 144 frame */
	background: #0b0b0b;
	color: #f4f2ed;
	overflow: clip;
}
.siklah-seq__sticky {
	position: sticky;
	top: 0;
	width: 100%;
	height: 100vh;
	display: block;
}
.siklah-seq__stage {
	--siklah-seq-x: 0%;
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transform: translate3d(var(--siklah-seq-x), 0, 0);
	transition: transform 120ms linear;
	will-change: transform;
}
.siklah-seq__img {
	display: block;
	max-width: 72%;
	max-height: 88vh;
	width: auto;
	height: auto;
	object-fit: contain;
	user-select: none;
	-webkit-user-drag: none;
	filter: drop-shadow(0 30px 80px rgba(0,0,0,.55));
}

/* Intro text (left column, appare statico dietro l'animazione) */
.siklah-seq__intro {
	position: absolute;
	left: 6vw;
	top: 50%;
	transform: translateY(-50%);
	max-width: 360px;
	z-index: 1;
	pointer-events: none;
}
.siklah-seq__intro .eyebrow {
	display: inline-block;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #c9b38a;
	margin-bottom: 18px;
}
.siklah-seq__title {
	font-family: var(--wp--preset--font-family--display, 'Playfair Display', serif);
	font-weight: 400;
	font-size: clamp(34px, 3.4vw, 52px);
	line-height: 1.08;
	letter-spacing: -0.01em;
	margin: 0 0 18px;
	color: #f4f2ed;
}
.siklah-seq__title em {
	font-style: italic;
	color: #c9b38a;
}
.siklah-seq__lead {
	font-size: 15px;
	line-height: 1.55;
	color: rgba(244,242,237,.72);
	margin: 0;
}

/* Call-outs */
.siklah-seq__callout {
	position: absolute;
	left: var(--cx, 50%);
	top: var(--cy, 50%);
	width: 0;
	height: 0;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 420ms ease, transform 420ms ease;
	pointer-events: none;
	z-index: 2;
}
.siklah-seq__callout.is-on {
	opacity: 1;
	transform: translateY(0);
}
.siklah-seq__callout-line {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 120px;
	height: 1px;
	background: rgba(201,179,138,.85);
	transform-origin: left center;
}
.siklah-seq__callout-line::before {
	content: "";
	position: absolute;
	left: -4px;
	top: -3px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #c9b38a;
	box-shadow: 0 0 0 4px rgba(201,179,138,.18);
}
.siklah-seq__callout-box {
	position: absolute;
	left: 130px;
	top: -28px;
	width: 240px;
	padding: 14px 16px;
	background: rgba(11,11,11,.72);
	border: 1px solid rgba(201,179,138,.32);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.siklah-seq__callout-box .eyebrow {
	display: block;
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #c9b38a;
	margin-bottom: 6px;
}
.siklah-seq__callout-box p {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: rgba(244,242,237,.86);
}

/* Varianti direzione linea */
.siklah-seq__callout--top .siklah-seq__callout-line {
	transform: rotate(-30deg);
	width: 100px;
}
.siklah-seq__callout--right .siklah-seq__callout-line {
	transform: rotate(0deg);
	width: 110px;
}
.siklah-seq__callout--bottom .siklah-seq__callout-line {
	transform: rotate(24deg);
	width: 110px;
}
.siklah-seq__callout--bottom .siklah-seq__callout-box {
	top: 18px;
}

/* Mobile: semplifica — niente sticky, niente translate, callouts come lista */
@media (max-width: 860px) {
	.siklah-seq {
		height: auto;
		padding: 64px 0;
	}
	.siklah-seq__sticky {
		position: static;
		height: auto;
	}
	.siklah-seq__stage {
		position: relative;
		inset: auto;
		transform: none !important;
		padding: 24px 6vw 0;
	}
	.siklah-seq__img {
		max-width: 100%;
		max-height: 70vh;
	}
	.siklah-seq__intro {
		position: static;
		transform: none;
		padding: 0 6vw 24px;
		max-width: 100%;
	}
	.siklah-seq__callout {
		display: none;
	}
}

/* === Category Rail === */
.siklah-category-rail {
	padding: var(--space-6) 0;
	max-width: 1680px;
	margin: 0 auto;
}
@media (max-width: 768px) {
	.siklah-category-rail {
		padding: 20px 0;
	}
}
.siklah-category-rail__inner {
	display: flex;
	align-items: center;
	position: relative;
}
.siklah-category-rail__scroller {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding: 8px 0; /* space for the focus outline */
	margin: 0 auto;
	scroll-behavior: smooth;
}
.siklah-category-rail__scroller::-webkit-scrollbar {
	display: none;
}
.siklah-category-rail__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	scroll-snap-align: center;
	flex-shrink: 0;
}
.siklah-category-rail__thumb {
	width: 88px;
	height: 88px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ink-faint);
	background: var(--canvas-soft);
	overflow: hidden;
	transition: transform 180ms ease-out, border-color 180ms ease-out;
}
.siklah-category-rail__thumb img,
.siklah-category-rail__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.siklah-category-rail__fallback {
	font-family: var(--display);
	font-style: italic;
	font-size: 32px;
	color: var(--ink);
	background: var(--canvas-warm);
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.siklah-category-rail__label {
	font-family: var(--sans);
	font-size: 13px;
	letter-spacing: 0.04em;
	color: var(--ink-muted);
	transition: color 180ms ease-out;
	text-align: center;
}
.siklah-category-rail__item:hover .siklah-category-rail__thumb {
	transform: scale(1.03);
}
.siklah-category-rail__item:hover .siklah-category-rail__label {
	color: var(--ink);
}
.siklah-category-rail__item.is-active .siklah-category-rail__thumb {
	border: 2px solid var(--brand);
	outline: 3px solid var(--canvas); /* offset illusion */
	outline-offset: -1px;
}
.siklah-category-rail__item.is-active .siklah-category-rail__label {
	color: var(--ink);
	font-weight: 500;
}
.siklah-category-rail__item:focus-visible .siklah-category-rail__thumb {
	outline: 2px solid var(--brand);
	outline-offset: 3px;
}
.siklah-category-rail__nav {
	flex-shrink: 0;
	z-index: 2;
	background: var(--canvas);
	transition: opacity 220ms ease, border-color 220ms ease;
}
.siklah-category-rail__nav.is-hidden {
	display: none;
}
@media (max-width: 768px) {
	.siklah-category-rail__thumb {
		width: 72px;
		height: 72px;
	}
	.siklah-category-rail__scroller {
		gap: 16px;
	}
	.siklah-category-rail__nav {
		display: none !important;
	}
}

/* =============================================================================
   BRAND NARRATIVE — blocco testuale puro, respiro massimo
   ============================================================================= */

.siklah-narrative {
	background: var(--canvas);
	padding: 144px 0;
	position: relative;
}
.siklah-narrative::before {
	content: "";
	position: absolute;
	top: 0; left: 50%;
	transform: translateX(-50%);
	width: 1px; height: 72px;
	background: var(--ink-ghost);
}
.siklah-narrative__inner {
	max-width: 860px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	text-align: center;
}
.siklah-narrative__h2 {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(36px, 5.5vw, 72px);
	line-height: 1.05;
	letter-spacing: -0.015em;
	color: var(--ink);
	margin: 24px 0 0;
	text-wrap: balance;
}
.siklah-narrative__h2 em {
	font-style: italic;
	color: var(--brand);
}
.siklah-narrative__body {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 17px;
	line-height: 1.75;
	color: var(--ink-muted);
	max-width: 600px;
	margin: 32px auto 0;
}
.siklah-narrative__cta-row {
	margin-top: 48px;
}
@media (max-width: 768px) {
	.siklah-narrative { padding: 80px 0; }
	.siklah-narrative__inner { padding: 0 var(--space-5); }
	.siklah-narrative::before { height: 48px; }
}

/* =============================================================================
   CATEGORY ENTRY POINTS — 3 card visive macro-categoria
   ============================================================================= */

.siklah-categories {
	background: var(--canvas-soft);
	padding: 144px 0;
}
.siklah-categories__inner {
	max-width: 1680px;
	margin: 0 auto;
	padding: 0 var(--space-6);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.siklah-cat-card {
	display: block;
	color: inherit;
	text-decoration: none;
	position: relative;
	overflow: hidden;
}
.siklah-cat-card__media {
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--canvas);
}
.siklah-cat-card__media img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform 900ms cubic-bezier(.2,.6,.2,1);
	will-change: transform;
}
.siklah-cat-card:hover .siklah-cat-card__media img {
	transform: scale(1.03);
}
.siklah-cat-card__content {
	padding: 28px 0 0;
}
.siklah-cat-card__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(28px, 3vw, 44px);
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: var(--ink);
	margin: 10px 0 0;
}
.siklah-cat-card__desc {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 15px;
	line-height: 1.65;
	color: var(--ink-muted);
	margin: 10px 0 0;
	max-width: 320px;
}
.siklah-cat-card__link {
	display: inline-block;
	margin-top: 20px;
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--brand);
	border-bottom: 1px solid var(--brand);
	padding-bottom: 4px;
	transition: color .2s ease, border-color .2s ease;
}
.siklah-cat-card:hover .siklah-cat-card__link {
	color: var(--ink);
	border-color: var(--ink);
}
@media (max-width: 1023px) {
	.siklah-categories { padding: 80px 0; }
	.siklah-categories__inner { grid-template-columns: 1fr; gap: 56px; padding: 0 var(--space-5); }
	/* Le foto categoria sono verticali 1:2: a 16/9 se ne vedeva solo il 28%
	   e del bracciale restava la sola piuma. */
	.siklah-cat-card__media { aspect-ratio: 4 / 5; }
}

/* =============================================================================
   NEWSLETTER INVITE — editoriale inline, no pop-up
   ============================================================================= */

.siklah-newsletter {
	background: var(--canvas-warm);
	padding: 144px 0;
	border-top: 1px solid var(--ink-ghost);
}
.siklah-newsletter__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--space-7);
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 96px;
	align-items: center;
}
.siklah-newsletter__h2 {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(36px, 4.5vw, 56px);
	line-height: 1.08;
	letter-spacing: -0.01em;
	color: var(--ink);
	margin: 20px 0 0;
}
.siklah-newsletter__h2 em {
	font-style: italic;
	color: var(--brand);
}
.siklah-newsletter__body {
	font-family: var(--display);
	font-style: italic;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.75;
	color: var(--ink-muted);
	margin: 20px 0 0;
	max-width: 440px;
}
.siklah-newsletter__form {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.siklah-newsletter__field-row {
	display: flex;
	gap: 0;
	border: 1px solid var(--ink-ghost);
	background: var(--canvas);
	transition: border-color .2s ease;
	min-height: 56px;
}
.siklah-newsletter__field-row:focus-within {
	border-color: var(--brand);
}
.siklah-newsletter__input {
	flex: 1;
	min-width: 0;
	border: none;
	background: transparent;
	font-family: var(--sans);
	font-size: 15px;
	font-weight: 400;
	padding: 18px 24px;
	color: var(--ink);
	outline: none;
}
.siklah-newsletter__input::placeholder {
	color: var(--ink-faint);
	letter-spacing: 0.02em;
}
.siklah-newsletter__submit {
	flex-shrink: 0;
	border: none;
	background: var(--ink);
	color: var(--canvas);
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	padding: 18px 36px;
	cursor: pointer;
	transition: background-color .25s ease;
	white-space: nowrap;
}
.siklah-newsletter__submit:hover {
	background: var(--brand);
}
.siklah-newsletter__privacy {
	font-size: 12px;
	color: var(--ink-faint);
	line-height: 1.5;
}
.siklah-newsletter__privacy a {
	color: var(--ink-muted);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.siklah-newsletter__feedback {
	font-size: 13px;
	font-weight: 500;
	color: var(--brand);
}
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	border: 0;
}
@media (max-width: 1023px) {
	.siklah-newsletter { padding: 96px 0; }
	.siklah-newsletter__inner {
		grid-template-columns: 1fr;
		gap: 48px;
		padding: 0 var(--space-6);
		max-width: 640px;
	}
}
@media (max-width: 640px) {
	.siklah-newsletter { padding: 72px 0; }
	.siklah-newsletter__inner { padding: 0 var(--space-5); }
	.siklah-newsletter__field-row { flex-direction: column; }
	.siklah-newsletter__submit { padding: 16px 24px; }
}

/* =============================================================================
   SCROLL REVEAL — entrance animations
   ============================================================================= */

/* Nascosti solo se il JS è attivo (.siklah-js da wp_head): senza JS i
   contenuti restano visibili — vedi functions.php "Mobile UX audit". */
.siklah-js [data-reveal] {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.7s cubic-bezier(.2,.6,.2,1), transform 0.7s cubic-bezier(.2,.6,.2,1);
}
[data-reveal].is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Stagger children inherit the transition but start hidden (JS-gated) */
.siklah-js [data-reveal-stagger] > * {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.65s cubic-bezier(.2,.6,.2,1), transform 0.65s cubic-bezier(.2,.6,.2,1);
}
/* Reveal when stagger container itself, or a data-reveal ancestor, gets .is-visible */
[data-reveal-stagger].is-visible > *,
[data-reveal].is-visible [data-reveal-stagger] > * {
	opacity: 1;
	transform: translateY(0);
}

/* Section dim overlay */
.siklah-section-dim {
	position: absolute;
	inset: 0;
	background: #000;
	opacity: 0;
	pointer-events: none;
	z-index: 10;
	transition: opacity .5s cubic-bezier(.4,0,.2,1);
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	[data-reveal],
	[data-reveal-stagger] > * {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* =============================================================================
   MOBILE RESPONSIVE HARDENING — 2026-06-21
   Surgical fixes from the mobile audit (375 / 768). Appended last so it wins
   the cascade. Systematic breakpoints: 1024 (tablet) · 768 (large phone) ·
   640 (phone). Documented per-fix with the audited root cause.
   ============================================================================= */

/* --- 0. Global guards ----------------------------------------------------- */
/* Prevent any stray element from creating horizontal scroll. `clip` (not
   `hidden`) does NOT break position:sticky used across hero/PDP/showcase. */
html, body { overflow-x: clip; max-width: 100%; }
/* Catch oversized media without touching height-driven object-fit covers
   (those are width:100% already, so max-width is a no-op for them). */
.siklah-feat__img, .siklah-feat img,
.siklah-pdp-rg__photo img, .siklah-luxgallery__thumb img { max-width: 100%; }
/* Inputs >=16px on phones to stop iOS auto-zoom on focus (theme body base is 15px). */
@media (max-width: 768px) {
	input:not([type="checkbox"]):not([type="radio"]),
	select, textarea { font-size: 16px; }
}

/* --- 1. ALMA showcase (home, 14px overflow) ------------------------------- */
/* Root: __center had height:60vh + aspect-ratio:3/4 on mobile -> width was
   derived from height (~365px) and overflowed the 327px content column.
   Make it width-driven instead so height follows the aspect ratio. */
@media (max-width: 1023px) {
	.siklah-alma-showcase__center {
		height: auto;
		width: 100%;
		max-width: 100%;
		aspect-ratio: 3 / 4;
	}
}

/* --- 2. Piercing configurator nav -> sticky horizontal step menu ---------- */
/* On mobile the scroll-driven sticky morph (big intro -> compact on scroll) is
   removed: the nav is ALWAYS a compact horizontal bar of 3 clickable steps,
   sticky at the top. Tapping a step switches its panel (piercing-builder.js
   already wires the clicks). Panels stop being 100vh tall. */
@media (max-width: 1023px) {
	.sk-cfg__sentinel { display: none; }
	.sk-cfg__nav {
		position: sticky;
		top: 0;
		z-index: 50;
		padding: 0;
		background: var(--canvas);
		border-bottom: 1px solid var(--ink-ghost);
	}
	.sk-cfg__nav-inner {
		display: flex;
		gap: 0;
		max-width: 100%;
		padding: 0;
	}
	.sk-cfg__item {
		flex: 1;
		min-width: 0;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 4px;
		padding: 12px 6px;
		border-top: none;
		text-align: center;
	}
	.sk-cfg__item-n { font-size: 15px; }
	.sk-cfg__item-t { font-size: 9.5px; letter-spacing: 0.08em; line-height: 1.2; }
	.sk-cfg__item-d { display: none; }
	.sk-cfg__line { bottom: 0; }
	.sk-cfg__panels { min-height: auto; }
}

/* --- 8. Piercing page (round 3) ------------------------------------------- */
/* 8a. Hero photo: the source is a landscape product shot on a dark backdrop.
   Full cover upscaled it (~2.6x on retina -> soft) and made it too big. Show it
   instead as a smaller cover band (~44% height) near the top: roughly half the
   previous size and far sharper. The dark source bg blends with the black hero,
   the title sits below it on black (no gradient needed). */
@media (max-width: 1023px) {
	.siklah-ph__image {
		inset: 12% 0 auto 0;
		height: 44%;
		opacity: 1;
	}
	.siklah-ph__image img {
		max-width: none;
		max-height: none;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}
}

/* 8b. Features section order: was image -> text -> nav; want text -> image ->
   nav. display:contents promotes the text-col children (slides + nav) so they
   can be ordered around the image; media-col stays a box (its imgs are
   absolutely stacked and need the positioning context). */
@media (max-width: 1023px) {
	.siklah-feat { display: flex; flex-direction: column; }
	.siklah-feat__text-col { display: contents; }
	.siklah-feat__slides { order: 1; padding: 56px var(--space-5) 0; }
	.siklah-feat__media-col { order: 2; aspect-ratio: 4 / 3; margin-top: 28px; }
	.siklah-feat__nav { order: 3; margin-top: 0; padding: 28px var(--space-5) 0; }
	.siklah-feat__progress {
		position: static;
		order: 4;
		margin: 20px var(--space-5) 56px;
	}
}

/* --- 3. PDP luxury gallery thumbnails ------------------------------------- */
/* Defensive: keep the thumb rail a compact horizontal scroller on tablet/phone
   regardless of later cascade, so thumbs never balloon to stage width. */
@media (max-width: 1024px) {
	.siklah-luxgallery__thumbs { height: auto; }
	.siklah-luxgallery__thumb-item { flex: 0 0 104px; }
}
@media (max-width: 640px) {
	.siklah-luxgallery__thumb-item { flex: 0 0 84px; }
}

/* --- 3b. PDP "Completa il look" rail (pdp 118px overflow) ------------------ */
/* Root: at <=1023 the row becomes a single column, but `1fr` is sized by the
   min-content of its carousel descendants and expanded the track to ~469px,
   overflowing the 327px content box. `minmax(0,1fr)` lets the column shrink;
   min-width:0 lets the flex carousels stay inside it. This is the real fix —
   the overflow-x:clip guard above only prevented the scrollbar symptom. */
@media (max-width: 1023px) {
	.siklah-pdp-rg__row { grid-template-columns: minmax(0, 1fr); }
	.siklah-pdp-rg__photo-wrap,
	.siklah-pdp-rg__rails,
	.siklah-pdp-rg__rail { min-width: 0; max-width: 100%; }
}

/* --- 4. Touch targets ----------------------------------------------------- */
/* Drawer + header controls to >=44px tap height on phones. */
@media (max-width: 768px) {
	.siklah-nav-drawer__link { min-height: 44px; display: flex; align-items: center; }
	.siklah-topbar__burger { min-width: 44px; min-height: 44px; }
}

/* --- 5. Side padding on header / footer / heritage (round 2) --------------- */
/* User feedback: header + footer leaked ~3px at 360px width (visible white
   space on the right when scrolling, on every page) AND footer/Valenza felt
   too narrow — 48px (header/footer) and ~76px (heritage frame) of lateral
   padding on phones. Align all to the 24px site container padding: kills the
   sub-viewport overflow at 360 and widens the content. box-sizing safety too. */
*, *::before, *::after { box-sizing: border-box; }
@media (max-width: 768px) {
	/* WP applies ~48px root padding to the header/footer template-part wrappers.
	   Stacked with each component's own padding that was 72px+ per side (too
	   narrow content + the source of the 360px sub-pixel leak). Zero the wrapper
	   on phones and let topbar/footer own their 24px padding. */
	.wp-block-template-part { padding-left: 0 !important; padding-right: 0 !important; }
	.siklah-topbar__inner { padding-left: var(--space-5); padding-right: var(--space-5); gap: 16px; }
	.siklah-topbar__burger { left: var(--space-5); }
	.siklah-footer { padding-left: var(--space-5); padding-right: var(--space-5); }
	.siklah-footer__bottom { padding-left: 0; padding-right: 0; }
	/* Heritage / Valenza framed block: tighten the frame + card so the body
	   is no longer cramped (~208px before -> ~290px). */
	.siklah-heritage__inner { padding-left: var(--space-4); padding-right: var(--space-4); }
	.siklah-heritage__card { padding: 32px var(--space-5); }
}
@media (max-width: 380px) {
	/* extra-narrow Android (360): drop the heritage frame inset entirely */
	.siklah-heritage__inner { padding-left: var(--space-3); padding-right: var(--space-3); }
}

/* --- 6. ALMA showcase: mobile 1-up horizontal carousel ------------------- */
/* The charm list swaps the photo on hover, useless on touch. On phones
   alma-showcase.js injects each charm's image and the list becomes a
   scroll-snap carousel: one charm at a time with the next peeking, native
   touch swipe, NO dots and NO arrows. */
@media (max-width: 1023px) {
	/* The original mobile rule makes __left a 2-col grid (list | cta side by
	   side), which squeezes the carousel into half width. Stack it instead so
	   the carousel spans the full width and the CTA drops below it. */
	.siklah-alma-showcase__left {
		display: flex;
		flex-direction: column;
		gap: 24px;
	}
	/* min-width:0 + minmax below stop the nowrap flex from inflating its
	   grid/flex ancestors (its min-content would otherwise force the whole
	   page wide). */
	.siklah-alma-showcase__inner { grid-template-columns: minmax(0, 1fr); }
	.siklah-alma-showcase__left { min-width: 0; }
	.siklah-alma-showcase__list.is-touch-carousel {
		display: flex;
		flex-wrap: nowrap;
		min-width: 0;
		max-width: 100%;
		gap: 14px;
		margin: 8px 0 0;
		padding: 0 0 4px;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.siklah-alma-showcase__list.is-touch-carousel::-webkit-scrollbar { display: none; }
	.siklah-alma-showcase__list.is-touch-carousel li {
		flex: 0 0 80%;           /* one charm + ~20% peek of the next */
		scroll-snap-align: start;
		border: 0;
		padding: 0;
		margin: 0;
	}
	.siklah-alma-showcase__list.is-touch-carousel li a {
		display: flex;
		flex-direction: column;
		gap: 10px;
		text-decoration: none;
	}
	.siklah-alma-showcase__list.is-touch-carousel .siklah-alma-thumb {
		width: 100%;
		aspect-ratio: 1 / 1;
		object-fit: cover;
		background: var(--canvas-soft);
		display: block;
	}
	.siklah-alma-showcase__list.is-touch-carousel .siklah-alma-cardname {
		font-family: var(--display);
		font-size: 20px;
		color: var(--ink);
		line-height: 1.15;
	}
	.siklah-alma-showcase__list.is-touch-carousel .siklah-alma-cardtag {
		font-family: var(--sans);
		font-size: 11px;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: var(--ink-muted);
	}
}

/* --- 7. Hero: center the text block on mobile (round 3) ------------------- */
@media (max-width: 768px) {
	.siklah-hero__content {
		justify-content: center;
		align-items: center;
		text-align: center;
		padding-bottom: 0;
	}
	.siklah-hero__eyebrow-row,
	.siklah-hero__cta-row,
	.siklah-hero__metrics { justify-content: center; }
	.siklah-hero__h1,
	.siklah-hero__sub { margin-left: auto; margin-right: auto; }
}

/* =============================================================================
   MOBILE UX AUDIT FIXES — 2026-07-13
   Esito audit multi-agente su screenshot 375px (Docs/Deliverables/screenshots/
   staging/mobile-audit). Un blocco per finding, id tra parentesi.
   ============================================================================= */

/* --- (home-02) Il bag "Acquista" della sezione Sistema tornava orfano a fondo
       sezione: position:static rompeva il containing block dell'absolute.
       relative+top:auto mantiene l'ancora senza lo sticky desktop. --- */
@media (max-width: 1023px) {
	.siklah-system-a2__media { position: relative; top: auto; }
}

/* --- (chrome-02) Il wrapper WP del footer teneva 48px+48px di padding
       (regola 4177 con !important e specificità 0,1,1: batteva l'azzeramento
       generico). Stesso selettore + !important, più in basso nel file → vince.
       L'inset laterale reale resta il 24px di .siklah-footer. --- */
@media (max-width: 768px) {
	footer.wp-block-template-part { padding-left: 0 !important; padding-right: 0 !important; }
}

/* --- (chrome-01) Carrello raggiungibile dalla topbar mobile: si riattiva il
       nav destro (solo la voce Cart), specchiando il burger absolute. --- */
@media (max-width: 1023px) {
	.siklah-topbar__nav--right {
		display: flex;
		position: absolute;
		right: var(--space-5);
		top: 50%;
		transform: translateY(-50%);
		z-index: 2;
	}
	.siklah-topbar__nav--right .siklah-topbar__link { display: none; }
	.siklah-topbar__cart { display: inline-flex; align-items: center; min-height: 44px; }
}

/* --- (chrome-05) Chiusura drawer: hit area 44px. --- */
.siklah-nav-drawer__close {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: -10px -10px -10px auto;
}

/* --- (chrome-09) Doppia hairline + banda vuota in cima al drawer. --- */
.siklah-nav-drawer__link:first-child { border-top: 0; }
.siklah-nav-drawer__nav { padding-top: 16px; }

/* --- (chrome-01) Voci secondarie del drawer (Carrello/Account/Concierge). --- */
.siklah-nav-drawer__secondary {
	display: flex;
	flex-direction: column;
	padding: 16px 32px 0;
	border-top: 1px solid var(--ink-ghost);
}
.siklah-nav-drawer__secondary a {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ink-muted);
	text-decoration: none;
	min-height: 44px;
	display: flex;
	align-items: center;
}
.siklah-nav-drawer__secondary a:hover { color: var(--ink); }

/* --- (brand-05/content-08) Announce bar: una sola voce, leggibile, su una
       riga. Le altre voci restano su tablet/desktop. --- */
@media (max-width: 640px) {
	.siklah-announce { font-size: 11px; letter-spacing: 0.18em; padding: 10px 16px; white-space: nowrap; overflow: hidden; }
	.siklah-announce__item:nth-child(n+2),
	.siklah-announce .dot { display: none; }
}

/* --- (home-04) Etichette metriche hero: 12px + contrasto rialzato. --- */
@media (max-width: 768px) {
	.siklah-hero__metric-label { font-size: 12px; color: rgba(255, 255, 255, 0.78); }
}

/* --- (content-04) Banda numeri Maison su verde: etichette leggibili. --- */
.siklah-maison__number-label { font-size: 12px; }
@media (max-width: 768px) {
	.siklah-maison__number-label { color: rgba(255, 255, 255, 0.82); }
}

/* --- (home-05) Social footer: touch target 44px. --- */
.siklah-footer__social a { width: 44px; height: 44px; }

/* --- (chrome-06/home-08) Footer: colonne link e CTA testuali con hit area
       più generosa su mobile. --- */
@media (max-width: 768px) {
	footer.wp-block-template-part .wp-block-list li a,
	.siklah-footer ul li a {
		display: inline-block;
		padding: 8px 0;
		margin: -4px 0;
	}
	.siklah-alma-showcase__cta { padding-top: 12px; padding-bottom: 12px; }
}

/* --- (chrome-08) Riga legale footer: 12px, niente indent, wrap pulito. --- */
.siklah-footer__bottom { font-size: 12px; }
.siklah-footer__bottom nav { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.siklah-footer__bottom a { margin-left: 0; padding: 6px 0; }

/* --- (chrome-04/chrome-03/chrome-11) Newsletter footer: input 16px (niente
       auto-zoom iOS), altezze 48px, hint leggibile, nessuno sfondamento. --- */
.siklah-footer__nl { max-width: 100%; }
.siklah-footer__nl-form { max-width: 100%; }
.siklah-footer__nl-input { font-size: 16px; min-height: 48px; }
.siklah-footer__nl-submit { min-height: 48px; min-width: 48px; }
.siklah-footer__nl-hint { font-size: 12px; color: var(--ink-muted); }

/* --- (piercing-02) Step inattivi del configuratore: da quasi invisibili a
       leggibili (restano secondari rispetto all'attivo). --- */
@media (max-width: 1023px) {
	.sk-cfg__item:not(.is-active) .sk-cfg__item-n { opacity: 0.55; }
	.sk-cfg__item:not(.is-active) .sk-cfg__item-t { color: var(--ink-muted); }
}

/* --- (piercing-09) Hero piercing: svh = CTA visibile anche con la toolbar
       del browser mobile aperta. --- */
@media (max-width: 1023px) {
	.siklah-ph { height: 100svh; }
}

/* --- (piercing-10) Il chip prezzo sembrava un bottone: diventa testo. --- */
.siklah-ph__price { border: 0; padding-left: 0; padding-right: 0; background: transparent; }

/* --- (piercing-11) Titolo showcase: il <br> hardcoded creava "devi" orfano. --- */
@media (max-width: 640px) {
	.siklah-psc__title br { display: none; }
}

/* --- (piercing-07) Badge overlay sull'immagine features: più discreto. --- */
@media (max-width: 768px) {
	.siklah-feat__badge { padding: 12px 16px; }
	.siklah-feat__badge-value { font-size: 22px; }
}

/* --- (pdp-03/pdp-04/brand-03/brand-04) Form varianti + acquisto PDP:
       select e qty portati al sistema (52px, 16px font), ATC su una riga,
       riga qty+ATC allineata. Il link reset "Svuota" sparisce (con gli
       swatch si cambia colore direttamente). --- */
.siklah-pdp--luxury form.cart table.variations { width: 100%; border-collapse: collapse; margin: 0 0 8px; }
.siklah-pdp--luxury form.cart table.variations td { display: block; padding: 0; border: 0; }
.siklah-pdp--luxury form.cart table.variations td.label {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink);
	padding-bottom: 10px;
}
.siklah-pdp--luxury form.cart table.variations select {
	width: 100%;
	min-height: 52px;
	padding: 12px 40px 12px 14px;
	font-family: var(--sans);
	font-size: 16px;
	color: var(--ink);
	background: var(--canvas);
	border: 1px solid var(--ink-ghost);
	border-radius: 0;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230A0A0A' stroke-width='1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
}
.siklah-pdp--luxury form.cart table.variations select:focus { outline: none; border-color: var(--brand); }
.siklah-pdp--luxury form.cart .reset_variations { display: none !important; } /* sostituito dagli swatch */
.siklah-pdp--luxury .woocommerce-variation-price { display: none; } /* prezzo già in testata, evita doppione */
.siklah-pdp--luxury form.cart .woocommerce-variation-add-to-cart,
.siklah-pdp--luxury form.cart:not(.variations_form) {
	display: flex;
	align-items: stretch;
	gap: 12px;
}
.siklah-pdp--luxury form.cart .quantity .qty {
	height: 52px;
	width: 72px;
	font-size: 16px;
	padding: 0 8px;
}
.siklah-pdp--luxury form.cart button.single_add_to_cart_button {
	min-height: 52px;
	padding: 14px 20px;
	font-size: 10.5px;
	letter-spacing: 0.2em;
	white-space: nowrap;
	flex: 1;
}

/* --- Swatch colore (sostituisce il dropdown via js/pdp-variations.js) --- */
.siklah-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 2px 0 4px;
}
.siklah-swatch {
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.siklah-swatch__dot {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid rgba(10, 10, 10, 0.12);
	box-shadow: inset 0 0 0 2px var(--canvas);
	transition: transform 160ms ease;
	display: block;
}
.siklah-swatch:hover .siklah-swatch__dot { transform: scale(1.08); }
.siklah-swatch.is-selected { box-shadow: 0 0 0 1px var(--ink); }
.siklah-swatch:focus-visible { outline: 1px solid var(--brand); outline-offset: 2px; }
.siklah-swatches ~ select,
.siklah-swatches + select { display: none !important; } /* il select resta nel DOM per il form Woo */
.siklah-swatches__label-value {
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: none;
	color: var(--ink-muted);
	margin-left: 8px;
}

/* --- (purchase-01/brand-01) Notice WooCommerce (banner blu default) portate
       al sistema editoriale. !important: override degli stili core WC. --- */
.wc-block-components-notice-banner,
.wc-block-components-notice-banner.is-info,
.wc-block-components-notice-banner.is-success,
.wc-block-components-notice-banner.is-error,
.woocommerce-info,
.woocommerce-message {
	background: var(--canvas-soft) !important;
	border: 1px solid var(--ink-ghost) !important;
	border-radius: 0 !important;
	color: var(--ink-soft) !important;
	font-family: var(--sans) !important;
	font-size: 13px;
}
.wc-block-components-notice-banner svg { fill: var(--brand) !important; }
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content { color: var(--ink-soft); }
.woocommerce-info::before,
.woocommerce-message::before { color: var(--brand) !important; }
.woocommerce-error {
	border-radius: 0 !important;
	font-family: var(--sans) !important;
}

/* --- (purchase-02) Coupon carrello: in colonna su mobile, testo intero. --- */
@media (max-width: 768px) {
	.woocommerce .coupon { flex-direction: column; align-items: stretch; }
	.woocommerce .coupon input[name="coupon_code"] { max-width: 100%; font-size: 16px; }
	.woocommerce .coupon .button,
	.woocommerce .coupon button {
		width: 100%;
		white-space: normal;
		padding: 16px 12px;
		font-size: 10.5px;
		letter-spacing: 0.16em;
	}
}

/* --- (purchase-06) Radio e checkbox del funnel: accent brand, non blu. --- */
.woocommerce input[type="radio"],
.woocommerce input[type="checkbox"],
input.woocommerce-form__input-checkbox {
	accent-color: var(--brand);
	width: 18px;
	height: 18px;
}

/* --- (purchase-07) Input funnel: 16px su mobile (niente zoom iOS). La regola
       generica del layer responsive perdeva contro i selettori WC. --- */
@media (max-width: 768px) {
	.woocommerce form .form-row input.input-text,
	.woocommerce form .form-row textarea,
	.woocommerce form .form-row select,
	.woocommerce table.cart td.product-quantity input.qty {
		font-size: 16px;
	}
	.woocommerce form .form-row input.input-text { min-height: 48px; }
}

/* --- (purchase-08) Rimozione riga carrello: hit area 44px. --- */
.woocommerce td.product-remove a {
	display: inline-flex;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
}

/* --- (purchase-10) "Spedire ad un indirizzo diverso?": da heading gigante a
       toggle proporzionato, checkbox allineato. --- */
#ship-to-different-address {
	font-size: 18px;
	display: flex;
	align-items: center;
	gap: 10px;
}
#ship-to-different-address .woocommerce-form__label-for-checkbox { display: flex; align-items: center; gap: 10px; }

/* --- (purchase-11) Bottone disabled: fuori dal grigio default WC. --- */
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled] {
	background: var(--canvas-soft) !important; /* override WC core */
	color: var(--ink-faint) !important;
	border: 1px solid var(--ink-ghost);
	opacity: 1;
}

/* --- (purchase-05) Account: mai flush-left. --- */
.siklah-account-page { width: min(1200px, 92%); margin: 0 auto; }

/* --- (pdp-06) "Completa il tuo look": lo sticky del wrap foto restava attivo
       su mobile (il vecchio reset colpiva l'elemento sbagliato). --- */
@media (max-width: 1023px) {
	.siklah-pdp-rg__photo-wrap { position: static; }
}

/* --- (pdp-05) Carousel correlati: swipe nativo su mobile con peek della
       terza card (le frecce restano, js/pdp-carousel.js usa scrollBy). --- */
@media (max-width: 1023px) {
	.siklah-pdp-rg__carousel {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	.siklah-pdp-rg__carousel::-webkit-scrollbar { display: none; }
	.siklah-pdp-rg__card { flex: 0 0 44%; scroll-snap-align: start; }
}

/* --- (pdp-07) Titolo sezione correlati: torna al sistema (Playfair 400). --- */
.siklah-pdp-rg__title {
	font-family: var(--display);
	font-weight: 400;
	text-transform: none;
	letter-spacing: -0.01em;
	font-size: clamp(26px, 5vw, 34px);
}

/* --- (pdp-09) "Vedi in 3D": overlay sull'immagine, hit 44px. --- */
@media (max-width: 1023px) {
	.siklah-luxgallery__stage { position: relative; }
	.siklah-luxgallery__overlays { position: absolute; top: 16px; right: 16px; z-index: 5; }
	.siklah-luxgallery__overlay-btn { min-height: 44px; }
}

/* --- (home-07) Tagline carosello ALMA: minimo leggibile. --- */
@media (max-width: 1023px) {
	.siklah-alma-cardtag { font-size: 12px; }
}

/* --- (archives-07) Barra archivio: hit area 44px per tab e filtro. --- */
.siklah-archive__filter-btn { min-height: 44px; }
.siklah-archive__tab { min-height: 44px; display: inline-flex; align-items: center; }

/* --- (archives-09) Griglia archivio: gap in scala (64/16). --- */
@media (max-width: 768px) {
	.siklah-archive__grid { gap: 64px 16px; }
}

/* --- (archives-04) "Aggiungi a carrello" nelle card: hit area reale. --- */
.siklah-pcard__add,
.siklah-pcard a[href*="add-to-cart"] {
	display: inline-block;
	padding: 12px 0;
	margin: -6px 0;
}

/* --- (content-05/content-06) CTA terziarie e contatti: hit area 44px. --- */
@media (max-width: 768px) {
	.siklah-maison__cta,
	.siklah-concierge__link,
	a.siklah-textlink,
	.siklah-concierge-page a[href^="mailto"],
	.siklah-concierge-page a[href^="https://wa.me"] {
		display: inline-block;
		padding: 10px 0;
	}
}

/* --- (content-02) Controlli video hero Maison: sopra il titolo, non in
       collisione, su mobile. --- */
@media (max-width: 768px) {
	.siklah-maison__hero-controls { bottom: auto; top: 16px; right: 16px; }
}

/* --- (piercing-03/piercing-06) Configuratore: le card base mostrano il
       prodotto, i charm mostrano il prezzo. --- */
.sk-cfg__base-fig {
	margin: 0 0 16px;
	aspect-ratio: 4 / 3;
	background: var(--canvas-soft);
	overflow: hidden;
}
.sk-cfg__base-fig img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.sk-cfg__charm-price {
	display: block;
	font-family: var(--sans);
	font-size: 12px;
	color: var(--ink-muted);
	margin-top: 4px;
	font-variant-numeric: tabular-nums;
}

/* --- (purchase-08 bis) La "×" di rimozione riga carrello: hit area 44px.
       Specificità pari alla regola storica (6503) che imposta width/height
       auto — questa vince per ordine nel file. --- */
.woocommerce table.shop_table td.product-remove a.remove,
.woocommerce a.remove {
	display: inline-flex;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
}

/* --- (purchase-05 bis) My Account da sloggato: il form montava flush-left
       dentro post-content senza wrapper .siklah-account-page. Serve
       !important: la regola "wildcard" .siklah-account .wp-block-post-content
       > * (per il layout full-width della dashboard loggata) altrimenti vince
       e azzera il margin:auto qui sotto — vince per specificità (3 classi
       contro 2 classi+universale) una volta pareggiato su !important. --- */
.woocommerce-account .wp-block-post-content > .woocommerce {
	width: min(1200px, 100%) !important;
	margin: 0 auto !important;
	padding: 48px var(--space-5) 96px !important;
}

/* --- (piercing-10 bis) Prezzo e CTA hero: respiro tra i due ora che il
       chip non ha più il padding del bordo. --- */
.siklah-ph__bottom-right { gap: 20px; }
@media (max-width: 480px) {
	.siklah-ph__bottom-right { flex-wrap: wrap; row-gap: 12px; }
}

/* --- Card archivio: hover-swap alla seconda immagine (stessa convenzione
       dei rail .siklah-charm-card — meta immagine_hover o galleria[0]).
       Solo dove l'hover esiste davvero. --- */
.siklah-pcard__media { position: relative; }
.siklah-pcard__media .siklah-card__hover {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 260ms ease;
	z-index: 2;
}
@media (hover: hover) {
	.siklah-pcard__link:hover .siklah-card__hover { opacity: 1; }
}

/* =============================================================================
   FUNNEL MOBILE REFINEMENT — 2026-07-13
   Carrello e checkout su mobile: colonna piena (gutter 24px), righe carrello
   a card con foto prodotto (override dello smallscreen.css di WooCommerce che
   nasconde la thumbnail e stampa le label "Prodotto:"), box totali/riepilogo
   con padding respirabile, campi checkout impilati a piena larghezza.
   ============================================================================= */
@media (max-width: 768px) {

	/* --- Gutter di pagina: 24px invece dei 48px inline del template
	       (!important necessario: il padding è inline style). --- */
	.woocommerce-cart main > .wp-block-group.alignwide,
	.woocommerce-checkout main > .wp-block-group.alignwide {
		padding-left: var(--space-5) !important;
		padding-right: var(--space-5) !important;
	}

	/* --- Notice più compatte in testa pagina. --- */
	.woocommerce-notices-wrapper .woocommerce-message,
	.woocommerce-notices-wrapper .woocommerce-info {
		padding: 12px 16px;
		font-size: 12.5px;
		margin-bottom: 12px;
	}

	/* --- Righe carrello: card foto + info (griglia sui td responsive WC). --- */
	.woocommerce-cart table.shop_table { margin-bottom: 24px; }
	.woocommerce-cart table.shop_table tr.woocommerce-cart-form__cart-item {
		display: grid;
		grid-template-columns: 88px minmax(0, 1fr) max-content;
		grid-template-areas:
			"thumb name    remove"
			"thumb price   price"
			"thumb qty     subtotal";
		column-gap: 16px;
		row-gap: 6px;
		padding: 20px 0;
		border-bottom: 1px solid var(--ink-ghost);
	}
	.woocommerce-cart table.shop_table tr.woocommerce-cart-form__cart-item td {
		display: block;
		border: none;
		padding: 0 !important;
		background: transparent;
		text-align: left !important;
	}
	/* niente label "Prodotto:/Prezzo:/…" — il layout parla da sé */
	.woocommerce-cart table.shop_table tr.woocommerce-cart-form__cart-item td::before { display: none !important; }
	.woocommerce-cart td.product-thumbnail {
		display: block !important; /* smallscreen.css WC la nasconde */
		grid-area: thumb;
	}
	.woocommerce-cart td.product-thumbnail img {
		width: 88px;
		height: 110px;
		object-fit: cover;
		background: var(--canvas-soft);
		display: block;
	}
	.woocommerce-cart td.product-name {
		grid-area: name;
		font-size: 15px;
		line-height: 1.35;
		align-self: start;
	}
	.woocommerce-cart td.product-name a { color: var(--ink); text-decoration: none; }
	.woocommerce-cart td.product-name dl.variation {
		margin: 4px 0 0;
		font-size: 12px;
		color: var(--ink-muted);
	}
	.woocommerce-cart td.product-name dl.variation dt,
	.woocommerce-cart td.product-name dl.variation dd { display: inline; margin: 0; font-weight: 400; }
	.woocommerce-cart td.product-name dl.variation dt { margin-right: 4px; }
	.woocommerce-cart td.product-name dl.variation dd p { display: inline; margin: 0; }
	.woocommerce-cart td.product-price {
		grid-area: price;
		font-size: 13px;
		color: var(--ink-muted);
	}
	.woocommerce-cart td.product-quantity { grid-area: qty; align-self: end; }
	.woocommerce-cart td.product-quantity .qty {
		width: 64px;
		height: 44px;
		padding: 0 6px;
	}
	.woocommerce-cart td.product-subtotal {
		grid-area: subtotal;
		align-self: end;
		justify-self: end;
		font-size: 15px;
		font-weight: 500;
		color: var(--ink);
	}
	.woocommerce-cart td.product-remove {
		grid-area: remove;
		justify-self: end;
		align-self: start;
	}
	.woocommerce-cart td.product-remove a.remove {
		width: 32px;
		height: 32px;
		margin: -4px -6px 0 0; /* hit area ok, ingombro visivo minimo */
		font-size: 16px;
		color: var(--ink-faint) !important;
	}

	/* --- Riga azioni: coupon su una riga (bottone "Applica" corto),
	       aggiorna carrello sotto, discreto. --- */
	.woocommerce-cart td.actions { padding: 16px 0 0 !important; border: none; }
	.woocommerce-cart td.actions::before { display: none !important; }
	.woocommerce .coupon { gap: 8px; margin-bottom: 16px; }
	/* annulla la colonna del layer audit: col bottone corto sta su una riga */
	.woocommerce-cart .coupon { flex-direction: row; align-items: stretch; }
	.woocommerce-cart .coupon input[name="coupon_code"] {
		flex: 1;
		min-width: 0;
		max-width: none;
		height: 48px;
		padding: 0 14px;
	}
	.woocommerce-cart .coupon .button,
	.woocommerce-cart .coupon button {
		width: auto;
		flex: 0 0 auto;
		padding: 0 20px;
		height: 48px;
		white-space: nowrap;
		font-size: 10.5px;
		letter-spacing: 0.18em;
	}
	.woocommerce-cart td.actions > .button[name="update_cart"] {
		width: 100%;
		margin-top: 4px;
		padding: 14px;
		font-size: 10.5px;
		letter-spacing: 0.18em;
	}

	/* --- Totale carrello: box a tutta colonna, padding respirabile. --- */
	.woocommerce .cart_totals { padding: 24px 20px; }
	.woocommerce .cart_totals h2 { font-size: 22px; margin-bottom: 12px; }
	.woocommerce .cart_totals table.shop_table { margin-bottom: 20px; }
	.woocommerce .cart_totals table.shop_table th {
		width: 38%;
		padding: 14px 12px 14px 0;
		vertical-align: top;
	}
	.woocommerce .cart_totals table.shop_table td { padding: 14px 0; }
	/* spedizione: una scelta per riga, allineata, prezzo leggibile */
	.woocommerce ul#shipping_method { list-style: none; margin: 0; padding: 0; }
	.woocommerce ul#shipping_method li {
		display: flex;
		align-items: flex-start;
		gap: 10px;
		padding: 5px 0;
		text-align: left;
	}
	.woocommerce ul#shipping_method li input[type="radio"] { margin-top: 2px; flex: 0 0 auto; }
	.woocommerce ul#shipping_method li label { font-size: 13.5px; line-height: 1.45; }
	.woocommerce-shipping-destination { font-size: 12px; color: var(--ink-muted); }
	.woocommerce .cart_totals .order-total td { font-size: 17px; }
	.woocommerce .wc-proceed-to-checkout .checkout-button {
		width: 100%;
		padding: 18px;
		font-size: 11px;
		letter-spacing: 0.22em;
	}

	/* --- Checkout: campi impilati, piena larghezza, altezza comoda. --- */
	.woocommerce-checkout .form-row,
	.woocommerce-checkout .form-row-first,
	.woocommerce-checkout .form-row-last {
		width: 100% !important; /* override float-grid WC core */
		float: none !important;
		margin-left: 0;
		margin-right: 0;
	}
	.woocommerce-checkout form .form-row input.input-text,
	.woocommerce-checkout form .form-row select {
		width: 100%;
		min-height: 52px;
		padding: 12px 14px;
	}
	.woocommerce-checkout form .form-row textarea { min-height: 96px; padding: 12px 14px; }
	.woocommerce-checkout form .form-row { margin-bottom: 14px; }

	/* --- Riepilogo ordine: padding respirabile, celle pulite. --- */
	#order_review_heading { margin-top: 32px !important; }
	#order_review { padding: 24px 20px; }
	#order_review table.shop_table {
		width: 100%;
		table-layout: fixed; /* la tabella non può superare il box */
	}
	#order_review table.shop_table th:first-child,
	#order_review table.shop_table td:first-child { width: 58%; }
	#order_review table.shop_table th,
	#order_review table.shop_table td {
		padding: 12px 0;
		font-size: 13.5px;
		line-height: 1.45;
		overflow-wrap: break-word;
	}
	#order_review table.shop_table td:last-child { text-align: right; }
	#order_review .order-total td { font-size: 16px; }
	#payment ul.payment_methods li { display: flex; align-items: center; gap: 10px; }
}

/* --- Spedizione (carrello + riepilogo checkout): la riga tabella diventa
       blocco — etichetta sopra, opzioni sotto a tutta larghezza, una per
       riga, radio allineati e prezzo a destra. --- */
@media (max-width: 768px) {
	.woocommerce .cart_totals tr.woocommerce-shipping-totals,
	#order_review tr.woocommerce-shipping-totals {
		display: block;
		padding: 14px 0;
		border-bottom: 1px solid var(--ink-ghost);
	}
	.woocommerce .cart_totals tr.woocommerce-shipping-totals th,
	.woocommerce .cart_totals tr.woocommerce-shipping-totals td,
	#order_review tr.woocommerce-shipping-totals th,
	#order_review tr.woocommerce-shipping-totals td {
		display: block;
		width: 100% !important; /* vince sul table-layout fixed del riepilogo */
		padding: 0;
		border: none;
		text-align: left;
	}
	.woocommerce .cart_totals tr.woocommerce-shipping-totals th,
	#order_review tr.woocommerce-shipping-totals th {
		padding-bottom: 10px;
	}
	.woocommerce ul#shipping_method li {
		padding: 9px 0;
		align-items: center;
		gap: 12px;
	}
	.woocommerce ul#shipping_method li input[type="radio"] { margin-top: 0; }
	.woocommerce ul#shipping_method li label {
		flex: 1;
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 12px;
		font-size: 13.5px;
		margin: 0;
	}
	.woocommerce ul#shipping_method li label .amount {
		font-variant-numeric: tabular-nums;
		color: var(--ink);
		white-space: nowrap;
	}
	.woocommerce-shipping-destination {
		margin: 10px 0 0;
		font-size: 12px;
		color: var(--ink-muted);
		line-height: 1.5;
	}
	.woocommerce-shipping-calculator { margin-top: 6px; }

	/* --- Pagamento (checkout): righe metodo pulite, badge allineati,
	       descrizioni in box soft, privacy discreta. --- */
	#payment ul.payment_methods { border: none; padding: 0 !important; margin: 0; }
	#payment ul.payment_methods li {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 10px;
		padding: 14px 0;
		border-bottom: 1px solid var(--ink-ghost);
		font-size: 14px;
	}
	#payment ul.payment_methods li:last-child { border-bottom: none; }
	#payment ul.payment_methods li > label {
		flex: 1;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		margin: 0;
		font-size: 14px;
		color: var(--ink);
	}
	#payment ul.payment_methods li > label img {
		max-height: 22px;
		width: auto;
	}
	#payment ul.payment_methods li .payment_box {
		flex: 1 1 100%;
		margin: 10px 0 0 !important;
		padding: 14px !important;
		background: var(--canvas-soft) !important;
		border: 1px solid var(--ink-ghost);
		font-size: 12.5px;
		line-height: 1.55;
	}
	.woocommerce-privacy-policy-text p {
		font-size: 12px;
		color: var(--ink-muted);
		line-height: 1.6;
	}
	#payment .place-order { padding: 20px 0 0 !important; }
	#payment .place-order .button {
		width: 100%;
		padding: 18px;
		font-size: 11px;
		letter-spacing: 0.22em;
	}
}

/* --- Riepilogo checkout v2: la tabella diventa flex (il tr block della
       spedizione restava ingabbiato a 165px dalla colonna fixed). Ogni riga:
       etichetta a sinistra, valore a destra; la spedizione va in colonna. --- */
@media (max-width: 768px) {
	#order_review table.shop_table,
	#order_review table.shop_table thead,
	#order_review table.shop_table tbody,
	#order_review table.shop_table tfoot {
		display: block;
		width: 100%;
	}
	#order_review table.shop_table tr {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		gap: 16px;
		padding: 12px 0;
		border-bottom: 1px solid var(--ink-ghost);
	}
	#order_review table.shop_table tr:last-child { border-bottom: none; }
	#order_review table.shop_table th,
	#order_review table.shop_table td {
		display: block;
		width: auto !important;
		padding: 0;
		border: none;
		background: transparent !important;
	}
	#order_review table.shop_table td::before,
	#order_review table.shop_table th::before { display: none !important; }
	#order_review table.shop_table tr > :first-child { flex: 1 1 auto; min-width: 0; }
	#order_review table.shop_table tr > :last-child { flex: 0 0 auto; text-align: right; }
	#order_review tr.woocommerce-shipping-totals {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}
	#order_review tr.woocommerce-shipping-totals td { text-align: left; width: 100% !important; }

	/* --- Totali carrello: via la label duplicata data-title, sfondi e
	       allineamenti ereditati dalla tabella. --- */
	.woocommerce-cart .cart_totals table.shop_table td::before { display: none !important; }
	.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals td {
		background: transparent !important;
		text-align: left;
	}
	.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals td ul#shipping_method,
	.woocommerce ul#shipping_method { background: transparent; }
	.woocommerce .cart_totals .woocommerce-shipping-destination,
	#order_review .woocommerce-shipping-destination { text-align: left; }
	.woocommerce .cart_totals .woocommerce-shipping-calculator { text-align: left; }

	/* --- Box descrizione pagamento: niente freccetta triangolare. --- */
	#payment div.payment_box::before,
	#payment div.payment_box::after { display: none !important; }
}

/* --- Rifiniture v3: le etichette dei totali. WC smallscreen nasconde i th
       (li sostituiva col td::before che abbiamo tolto): si rimostrano.
       Nel riepilogo il valore lungo ("2.450 € EUR (inclusi…)") non deve
       schiacciare l'etichetta: label rigida, valore flessibile che va a capo. --- */
@media (max-width: 768px) {
	.woocommerce-cart .cart_totals table.shop_table tr:not(.woocommerce-shipping-totals) th {
		display: table-cell;
		width: 38%;
	}
	#order_review table.shop_table tr > :first-child {
		flex: 0 0 auto;
		min-width: 0;
		white-space: nowrap;
	}
	#order_review table.shop_table tr > :last-child {
		flex: 1 1 auto;
		min-width: 0;
		text-align: right;
		overflow-wrap: break-word;
	}
	/* la riga prodotto ha il nome (lungo) a sinistra: lì si inverte */
	#order_review table.shop_table tr.cart_item > :first-child {
		flex: 1 1 auto;
		white-space: normal;
	}
	#order_review table.shop_table tr.cart_item > :last-child { flex: 0 0 auto; }
	#order_review table.shop_table thead tr > :first-child { flex: 1 1 auto; }
}

/* --- Totali carrello v4: stessa struttura flex del riepilogo checkout —
       etichetta e valore sulla stessa riga (WC smallscreen li impilava). --- */
@media (max-width: 768px) {
	.woocommerce-cart .cart_totals table.shop_table,
	.woocommerce-cart .cart_totals table.shop_table tbody { display: block; width: 100%; }
	.woocommerce-cart .cart_totals table.shop_table tr:not(.woocommerce-shipping-totals) {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		gap: 16px;
		padding: 14px 0;
		border-bottom: 1px solid var(--ink-ghost);
	}
	.woocommerce-cart .cart_totals table.shop_table tr:not(.woocommerce-shipping-totals) th,
	.woocommerce-cart .cart_totals table.shop_table tr:not(.woocommerce-shipping-totals) td {
		display: block;
		width: auto !important;
		padding: 0;
		border: none;
		background: transparent !important;
	}
	.woocommerce-cart .cart_totals table.shop_table tr:not(.woocommerce-shipping-totals) th {
		flex: 0 0 auto;
		white-space: nowrap;
	}
	.woocommerce-cart .cart_totals table.shop_table tr:not(.woocommerce-shipping-totals) td {
		flex: 1 1 auto;
		min-width: 0;
		text-align: right;
		overflow-wrap: break-word;
	}
	.woocommerce-cart .cart_totals .order-total { border-bottom: none !important; }
}

/* =============================================================================
   SK-ATELIER — configuratore piercing v2 (pannello autocontenuto, no sticky)
   Sostituisce il vecchio .sk-cfg: gli step vivono DENTRO il pannello, nessun
   conflitto con l'header del sito. 2026-07-13.
   ============================================================================= */
.sk-atelier {
	padding: 96px var(--space-5) 112px;
	background: var(--canvas);
}
.sk-atelier__head {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 48px;
}
.sk-atelier__eyebrow {
	display: block;
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink-muted);
	margin-bottom: 16px;
}
.sk-atelier__title {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(30px, 4.6vw, 44px);
	line-height: 1.08;
	letter-spacing: -0.01em;
	color: var(--ink);
	margin: 0;
}
.sk-atelier__title em { font-style: italic; }

.sk-atelier__panel {
	max-width: 1080px;
	margin: 0 auto;
	border: 1px solid var(--ink-ghost);
	background: var(--canvas);
}

/* --- Steps (in-panel, tappabili) --- */
.sk-atelier__steps {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 10px 16px;
}
.sk-atelier__step {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	min-height: 44px;
	align-items: center;
	background: none;
	border: 0;
	padding: 0 6px;
	cursor: pointer;
}
.sk-atelier__step-n {
	font-family: var(--display);
	font-style: italic;
	font-size: 15px;
	color: var(--ink-faint);
	transition: color 200ms ease;
}
.sk-atelier__step-t {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-faint);
	transition: color 200ms ease;
}
.sk-atelier__step.is-active .sk-atelier__step-n { color: var(--brand); }
.sk-atelier__step.is-active .sk-atelier__step-t { color: var(--ink); }
.sk-atelier__step.is-done .sk-atelier__step-n,
.sk-atelier__step.is-done .sk-atelier__step-t { color: var(--ink-muted); }
.sk-atelier__step-sep {
	width: 28px;
	height: 1px;
	background: var(--ink-ghost);
	flex: 0 0 auto;
}
.sk-atelier__progress {
	height: 1px;
	background: var(--ink-ghost);
	position: relative;
}
.sk-atelier__progress-fill {
	position: absolute;
	left: 0; top: -0.5px;
	height: 2px;
	width: 33.333%;
	background: var(--brand);
	transition: width 420ms cubic-bezier(.2,.6,.2,1);
}

/* --- Panes --- */
.sk-atelier__pane { display: none; }
.sk-atelier__pane.is-active { display: block; animation: skAtelierIn 420ms cubic-bezier(.2,.6,.2,1); }
@keyframes skAtelierIn {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* --- Step 1: media + taglia --- */
.sk-atelier__grid { display: grid; grid-template-columns: 1fr; }
.sk-atelier__media {
	margin: 0;
	background: var(--canvas-soft);
	overflow: hidden;
	aspect-ratio: 4 / 3;
}
.sk-atelier__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.sk-atelier__body { padding: 32px var(--space-5) 40px; }
.sk-atelier__q {
	font-family: var(--display);
	font-weight: 400;
	font-size: clamp(24px, 3vw, 30px);
	line-height: 1.1;
	color: var(--ink);
	margin: 0 0 10px;
}
.sk-atelier__hint {
	font-family: var(--sans);
	font-size: 14px;
	line-height: 1.6;
	color: var(--ink-muted);
	margin: 0 0 24px;
}
.sk-atelier__sizes {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 18px;
}
.sk-atelier__size {
	background: transparent;
	border: 1px solid var(--ink-ghost);
	padding: 18px 12px 16px;
	cursor: pointer;
	text-align: center;
	transition: border-color 200ms ease, background 200ms ease;
}
.sk-atelier__size:hover { border-color: var(--ink-faint); }
.sk-atelier__size.is-on {
	border-color: var(--ink);
	background: var(--canvas-soft);
}
.sk-atelier__size-label {
	display: block;
	font-family: var(--display);
	font-size: 26px;
	line-height: 1;
	color: var(--ink);
	margin-bottom: 6px;
}
.sk-atelier__size-peso {
	font-family: var(--sans);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink-muted);
}
.sk-atelier__priceline {
	font-family: var(--sans);
	font-size: 14px;
	color: var(--ink-muted);
	margin: 0 0 28px;
}
.sk-atelier__priceline [data-cfg-baseprice] {
	color: var(--ink);
	font-size: 16px;
	font-variant-numeric: tabular-nums;
}
.sk-atelier__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	padding: 14px 28px;
	background: var(--ink);
	color: var(--canvas);
	border: 1px solid var(--ink);
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 220ms ease, border-color 220ms ease;
}
.sk-atelier__cta:hover { background: var(--ink-soft); }
.sk-atelier__cta--brand { background: var(--brand); border-color: var(--brand); }
.sk-atelier__cta--brand:hover { background: var(--brand-deep); border-color: var(--brand-deep); }

/* --- Step 2: rail charm --- */
.sk-atelier__body--intro {
	padding: 40px var(--space-5) 8px;
	text-align: center;
	max-width: 560px;
	margin: 0 auto;
}
.sk-atelier__rail-wrap { position: relative; padding: 8px 0 0; }
.sk-atelier__rail {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	padding: 8px var(--space-5) 12px;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.sk-atelier__rail::-webkit-scrollbar { display: none; }
.sk-atelier__charm {
	flex: 0 0 46%;
	scroll-snap-align: start;
	background: transparent;
	border: 1px solid transparent;
	padding: 0 0 12px;
	cursor: pointer;
	text-align: center;
	transition: border-color 200ms ease;
}
.sk-atelier__charm.is-on { border-color: var(--ink); }
.sk-atelier__charm-fig {
	margin: 0 0 10px;
	aspect-ratio: 4 / 5;
	background: var(--canvas-soft);
	overflow: hidden;
}
.sk-atelier__charm-fig img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.sk-atelier__charm-name {
	display: block;
	font-family: var(--display);
	font-size: 17px;
	color: var(--ink);
}
.sk-atelier__charm-price {
	display: block;
	font-family: var(--sans);
	font-size: 12px;
	color: var(--ink-muted);
	margin-top: 3px;
	font-variant-numeric: tabular-nums;
}
.sk-atelier__arr {
	position: absolute;
	top: 34%;
	width: 40px;
	height: 40px;
	display: none;
	align-items: center;
	justify-content: center;
	background: var(--canvas);
	border: 1px solid var(--ink-ghost);
	color: var(--ink);
	cursor: pointer;
	z-index: 2;
}
.sk-atelier__arr--prev { left: 10px; }
.sk-atelier__arr--next { right: 10px; }
.sk-atelier__arr:hover { border-color: var(--ink); }
.sk-atelier__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px var(--space-5) 32px;
}
.sk-atelier__skip {
	background: none;
	border: 0;
	padding: 12px 0;
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-muted);
	border-bottom: 1px solid var(--ink-ghost);
	cursor: pointer;
	white-space: nowrap;
}
.sk-atelier__skip:hover { color: var(--ink); border-color: var(--ink); }
.sk-atelier__row .sk-atelier__cta { width: auto; flex: 1; max-width: 320px; }

/* --- Step 3: recap + totale --- */
.sk-atelier__body--center {
	text-align: center;
	max-width: 560px;
	margin: 0 auto;
	padding: 40px var(--space-5) 48px;
}
.sk-atelier__recap {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 12px;
	margin-top: 24px;
}
.sk-atelier__piece {
	width: 42%;
	max-width: 190px;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	text-align: center;
}
.sk-atelier__piece-img {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 5;
	background: var(--canvas-soft);
	border: 1px solid var(--ink-ghost);
	overflow: hidden;
	transition: border-color 200ms ease;
}
.sk-atelier__piece:hover .sk-atelier__piece-img { border-color: var(--ink-faint); }
.sk-atelier__piece-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sk-atelier__piece-img.has-sel .sk-atelier__piece-plus { display: none; }
.sk-atelier__piece-plus {
	font-family: var(--display);
	font-size: 28px;
	font-weight: 400;
	color: var(--ink-faint);
}
.sk-atelier__piece-name {
	display: block;
	font-family: var(--display);
	font-size: 15px;
	line-height: 1.3;
	color: var(--ink);
	margin-top: 10px;
}
.sk-atelier__piece-price {
	display: block;
	font-family: var(--sans);
	font-size: 12px;
	color: var(--ink-muted);
	margin-top: 3px;
	font-variant-numeric: tabular-nums;
}
.sk-atelier__plus {
	font-family: var(--display);
	font-size: 22px;
	color: var(--ink-faint);
	align-self: center;
}
.sk-atelier__total {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 16px;
	margin: 32px 0 24px;
	padding-top: 24px;
	border-top: 1px solid var(--ink-ghost);
}
.sk-atelier__total-label {
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink-muted);
}
.sk-atelier__total-value {
	font-family: var(--display);
	font-size: 34px;
	color: var(--ink);
	font-variant-numeric: tabular-nums;
}
.sk-atelier__trust {
	font-family: var(--sans);
	font-size: 11px;
	letter-spacing: 0.08em;
	color: var(--ink-muted);
	margin: 16px 0 0;
}

/* --- Desktop --- */
@media (min-width: 1024px) {
	.sk-atelier__grid { grid-template-columns: 1fr 1fr; }
	.sk-atelier__media { aspect-ratio: auto; height: 100%; min-height: 460px; }
	.sk-atelier__body { padding: 56px 56px 56px 48px; display: flex; flex-direction: column; justify-content: center; }
	.sk-atelier__cta { width: auto; align-self: flex-start; padding: 16px 40px; }
	.sk-atelier__steps { gap: 16px; padding: 14px 24px; }
	.sk-atelier__charm { flex: 0 0 200px; }
	.sk-atelier__arr { display: inline-flex; }
	.sk-atelier__rail { padding-left: 64px; padding-right: 64px; }
	.sk-atelier__row { justify-content: center; gap: 32px; padding-bottom: 40px; }
	.sk-atelier__row .sk-atelier__cta { flex: 0 0 auto; min-width: 260px; }
}
@media (max-width: 400px) {
	.sk-atelier { padding-left: var(--space-4); padding-right: var(--space-4); }
	.sk-atelier__step-sep { width: 14px; }
}

/* sk-atelier: le etichette step non vanno mai a capo */
.sk-atelier__step-t { white-space: nowrap; }

/* --- Galleria PDP mobile: foto principale + riga thumbs DEVONO stare in
       una schermata. Lo stage ereditava height:100vh dal layout desktop
       (sticky 2 colonne) → la hero riempiva l'intero viewport e le thumbs
       finivano sotto il fold. --- */
@media (max-width: 1024px) {
	.siklah-luxgallery__stage { height: auto; }
	.siklah-luxgallery__hero {
		aspect-ratio: 4 / 5;
		max-height: 54svh; /* lascia aria a header + thumbs anche su schermi corti */
	}
}

/* =============================================================================
   CHECKOUT DESKTOP — 2026-07-14
   I float di WC core (col-1 47% / col-2 47%) restavano senza layout del tema:
   fatturazione flottata a destra con metà pagina vuota, col-2 sotto a
   sinistra, riepilogo full-width in fondo. Layout moderno: form a sinistra,
   riepilogo ordine sticky a destra.
   ============================================================================= */
@media (min-width: 1024px) {
	form.checkout.woocommerce-checkout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 420px;
		column-gap: 72px;
		align-items: start;
	}
	#customer_details {
		grid-column: 1;
		grid-row: 1 / span 2;
		width: 100%;
	}
	#customer_details .col-1,
	#customer_details .col-2 {
		float: none !important; /* override layout float WC core */
		width: 100% !important;
		max-width: none;
	}
	#customer_details .col-2 { margin-top: 40px; }
	#order_review_heading {
		grid-column: 2;
		grid-row: 1;
		margin: 0 0 16px !important;
		padding-top: 0;
		border-top: none;
	}
	#order_review {
		grid-column: 2;
		grid-row: 2;
		position: sticky;
		top: 108px; /* sotto l'header fixed in scroll-up */
		margin-top: 0 !important; /* il base gli dava aria pensata per il layout impilato */
	}
	#payment .place-order { padding: 20px 0 0 !important; }
	#payment .place-order .button { width: 100%; padding: 17px; letter-spacing: 0.2em; }
	/* Notice/toggle di testa: tutta la colonna, non 620px orfani */
	.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
	.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
		width: 100%;
		max-width: none;
	}

	/* --- Carrello: rifiniture proporzioni colonna sinistra --- */
	.woocommerce-cart table.cart td.product-name { width: 42%; }
	.woocommerce-cart table.cart td.product-thumbnail img {
		width: 72px;
		height: 90px;
		object-fit: cover;
	}
}

/* --- Checkout: fix cella fantasma + col impilate nel layout ≥1024.
       Un nodo iniettato come primo figlio di #customer_details occupava la
       prima cella della grid 1fr 1fr del tema: col-1 slittava nella cella
       destra e col-2 andava a capo. Posizionamento esplicito — SOLO da
       1024px in su: sotto quella soglia non era vincolato a una media
       query e la grid-column:2 di .col-2 creava una colonna implicita
       che usciva dallo schermo su mobile (checkbox indirizzo diverso +
       note ordine strette e fuori viewport). --- */
@media (min-width: 1024px) {
	.woocommerce-checkout #customer_details .col-1 { grid-column: 1; grid-row: 1; }
	.woocommerce-checkout #customer_details .col-2 { grid-column: 2; grid-row: 1; }
	/* nel layout form|riepilogo le due col del form vanno impilate */
	.woocommerce-checkout #customer_details { display: block; }
}

/* --- Hero home: badge "N° 01" + "Scicli · UNESCO — primavera 2026"
       nascosto su tablet e laptop normali (finiva sotto il menu),
       resta visibile su mobile e su schermi grandi. --- */
@media (min-width: 768px) and (max-width: 1439px) {
	.siklah-hero__eyebrow-row { display: none; }
}

/* --- Popup geo: suggerimento lingua/valuta al primo accesso.
       Card discreta ancorata in basso a destra (non un overlay/modale a
       tutto schermo — coerente con la regola "niente pop-up invasivi" del
       design system: qui è un'utility di localizzazione, non marketing). --- */
.siklah-geo-popup {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 500;
	width: min(380px, calc(100vw - 32px));
	background: var(--canvas);
	border: 1px solid var(--ink-ghost);
	padding: 24px;
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 320ms cubic-bezier(.2,.6,.2,1), transform 320ms cubic-bezier(.2,.6,.2,1);
	pointer-events: none;
}
.siklah-geo-popup.is-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
.siklah-geo-popup__text {
	font-family: var(--sans);
	font-size: 14px;
	line-height: 1.55;
	color: var(--ink-soft);
	margin: 0 0 18px;
}
.siklah-geo-popup__actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
.siklah-geo-popup__accept,
.siklah-geo-popup__dismiss {
	font-family: var(--sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 11px 18px;
	border: 1px solid var(--ink);
	background: var(--ink);
	color: var(--canvas);
	cursor: pointer;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.siklah-geo-popup__accept:hover { background: var(--brand-deep); border-color: var(--brand-deep); }
.siklah-geo-popup__dismiss {
	background: transparent;
	color: var(--ink-muted);
	border-color: transparent;
	padding-left: 4px;
	padding-right: 4px;
}
.siklah-geo-popup__dismiss:hover { color: var(--ink); }

@media (max-width: 600px) {
	.siklah-geo-popup { right: 16px; left: 16px; bottom: 16px; width: auto; padding: 20px; }
}

/* Bottone "Stampa" nelle pagine legali (Termini e condizioni, ecc.) —
   l'SVG inline non aveva dimensioni proprie e veniva renderizzato alla
   dimensione nativa del viewBox (512px), da qui l'icona "gigante". */
.siklah-print-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: none;
	border: none;
	padding: 0;
	margin: 32px 0 0;
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: var(--ink);
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: var(--ink-ghost);
	transition: color .2s ease;
}
.siklah-print-link:hover { color: var(--brand); }
.siklah-print-link svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	fill: currentColor;
}

/* ── Materiale: metallo di base attenuato ────────────────────────────────
   "Placcato Oro (ottone)" → la placcatura resta in evidenza, il supporto
   scende di tono. Deve leggersi, non pesare. */
.siklah-material-note {
	opacity: .55;
	font-size: .88em;
	font-style: italic;
	letter-spacing: .01em;
}

/* ── Opzioni su misura in PDP (modulo centrale + misura) ──────────────────
   Pastiglie squadrate, stessa grammatica tipografica delle label swatch:
   maiuscoletto spaziato per l'etichetta, scelta in tondo. */
.siklah-opts {
	display: flex;
	flex-direction: column;
	gap: 22px;
	margin: 26px 0 30px;
}
.siklah-opts__group {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.siklah-opts__label {
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-muted);
}
.siklah-opts__choices {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.siklah-opts__pill {
	position: relative;
	cursor: pointer;
}
.siklah-opts__pill input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}
.siklah-opts__pill span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 20px;
	border: 1px solid rgba(10, 10, 10, 0.16);
	font-size: 13px;
	letter-spacing: 0.04em;
	color: var(--ink);
	background: transparent;
	transition: border-color 160ms ease, background-color 160ms ease;
}
.siklah-opts__pill input:checked + span {
	border-color: var(--ink);
	background: var(--ink);
	color: var(--canvas);
}
.siklah-opts__pill input:focus-visible + span {
	outline: 2px solid var(--brand);
	outline-offset: 2px;
}
.siklah-opts__cm {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 4px;
}
.siklah-opts__cm[hidden] { display: none; }
.siklah-opts__cm-label {
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink-muted);
}
.siklah-opts__cm-input {
	max-width: 160px;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid rgba(10, 10, 10, 0.16);
	border-radius: 0;
	background: transparent;
	font-size: 14px;
	color: var(--ink);
}
.siklah-opts__cm-input:focus {
	outline: none;
	border-color: var(--ink);
}
.siklah-opts__cm-hint {
	font-size: 12px;
	color: var(--ink-muted);
	font-style: italic;
}

/* Nota composizione in "Materiale e cura": informativa, non protagonista. */
.siklah-acc__note {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid rgba(10, 10, 10, 0.08);
	font-size: 13px;
	color: var(--ink-muted);
}

/* ── Carrello / Checkout / Account: usare tutta la colonna ────────────────
   In carrello e checkout .woocommerce era tappato a max-width 1000px dentro
   una sezione larga 1200, lasciando 200px vuoti a destra. Nell'account il
   grid a due colonne di WooCommerce spingeva il nostro wrapper nella colonna
   di destra: da qui il vuoto di ~300px a sinistra. */
.woocommerce-cart .wp-block-post-content > .woocommerce,
.woocommerce-checkout .wp-block-post-content > .woocommerce {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.siklah-account-page {
	width: 100%;
	grid-column: 1 / -1;
}

/* ── Metodi di spedizione: una riga per scelta, radio incolonnati ─────────
   Le celle dei totali sono allineate a destra, quindi senza questo la lista
   va a bandiera e i pallini finiscono a coordinate diverse. Le stesse regole
   esistevano solo dentro la media query mobile. */
.woocommerce ul#shipping_method {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
}
.woocommerce ul#shipping_method li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 5px 0;
	text-align: left;
}
.woocommerce ul#shipping_method li input[type="radio"] {
	margin: 3px 0 0;
	flex: 0 0 auto;
}
.woocommerce ul#shipping_method li label {
	margin: 0;
	line-height: 1.45;
}
.woocommerce .cart_totals .woocommerce-shipping-destination,
.woocommerce .cart_totals .shipping-calculator-button {
	display: block;
	text-align: left;
}
/* Stesso incolonnamento del carrello: l'account aveva 24px di padding in più.
   Si toglie solo oltre i 1248px, dove il box è già rientrato dal proprio margine:
   sotto quella soglia quel padding È il margine dal bordo schermo. */
@media (min-width: 1248px) {
	.woocommerce-account .wp-block-post-content > .woocommerce {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}
/* Fascia tablet: stesso rientro di carrello e checkout (48px) */
@media (min-width: 769px) and (max-width: 1247px) {
	.woocommerce-account .wp-block-post-content > .woocommerce {
		padding-left: 48px !important;
		padding-right: 48px !important;
	}
}
