/* ==========================================================================
   RubaKuori Child – main.css
   Stile code-first, moderno e veloce.
   Palette ereditata dal vecchio sito Divi: rosa #c83364, verde #548890.
   ========================================================================== */

/* ---------- Design tokens ----------
   Palette ufficiale RubaKuori:
   - #b23c54  rosa accento (CTA, hover, sale)
   - #548890  verde acqua (heading, link)
   - #eae5e0  beige sfondo soft
   - #dadada  grigio bordi/linee
*/
:root {
	--rk-rose: #b23c54;
	--rk-rose-dark: #8d2d41;
	--rk-teal: #548890;
	--rk-teal-dark: #3f6c73;
	--rk-cream: #eae5e0;
	--rk-ink: #2b2b2b;
	--rk-muted: #6f6f6f;
	--rk-line: #dadada;
	--rk-white: #ffffff;
	--rk-header-h: 96px;   /* altezza header sticky desktop (sovrascritta da JS) */
	--rk-search-h: 64px;   /* altezza searchbar sticky desktop (sovrascritta da JS) */

	--rk-radius: 14px;
	--rk-radius-sm: 8px;
	--rk-shadow: 0 6px 24px rgba(40, 20, 30, 0.08);
	--rk-shadow-hover: 0 10px 32px rgba(40, 20, 30, 0.14);

	--rk-font-display: "Akaya Kanadaka", "Georgia", serif;
	--rk-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	--rk-container: 1240px;
	--rk-gap: clamp(16px, 2vw, 28px);
}
@media (max-width: 860px) {
	:root { --rk-header-h: 60px; --rk-search-h: 56px; }
}

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

img { max-width: 100%; height: auto; display: block; }

body {
	font-family: var(--rk-font-body);
	color: var(--rk-ink);
	background: var(--rk-white);
	-webkit-font-smoothing: antialiased;
	line-height: 1.55;
}

h1, h2, h3, h4 {
	font-family: var(--rk-font-display);
	color: var(--rk-teal);
	font-weight: 400;
	line-height: 1.15;
	margin: 0 0 .6em;
}

a { color: var(--rk-teal); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--rk-rose); }

/* ---------- Layout container ---------- */
.rk-container {
	width: 100%;
	max-width: var(--rk-container);
	margin-inline: auto;
	padding-inline: clamp(16px, 3vw, 32px);
}

.rk-section { padding-block: clamp(48px, 6vw, 96px); }
.rk-section--tight { padding-block: clamp(32px, 4vw, 64px); }
.rk-section--cream { background: var(--rk-cream); }

.rk-section-title {
	text-align: center;
	font-size: clamp(32px, 3.8vw, 48px);
	color: var(--rk-teal);
	margin: 0 0 48px;
	position: relative;
	line-height: 1.1;
}
.rk-section-title::after {
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	margin: 18px auto 0;
	background: var(--rk-rose);
	border-radius: 999px;
}
.rk-section-title__eyebrow {
	display: block;
	font-family: var(--rk-font-body);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--rk-rose);
	margin-bottom: 10px;
}

/* ---------- Bottoni ---------- */
.rk-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 28px;
	border-radius: 999px;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: .02em;
	border: 2px solid transparent;
	cursor: pointer;
	transition: all .2s ease;
	text-decoration: none;
}
.rk-btn--primary { background: var(--rk-rose); color: #fff; }
.rk-btn--primary:hover { background: var(--rk-rose-dark); color: #fff; transform: translateY(-1px); }
.rk-btn--ghost { background: transparent; color: var(--rk-teal); border-color: var(--rk-teal); }
.rk-btn--ghost:hover { background: var(--rk-teal); color: #fff; }

/* ==========================================================================
   HERO HOMEPAGE
   ========================================================================== */
.rk-hero {
	position: relative;
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	min-height: clamp(420px, 60vh, 640px);
	background: #fff;
	border-bottom: 1px solid var(--rk-line);
	overflow: hidden;
}
.rk-hero__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(32px, 6vw, 96px);
	max-width: 640px;
}
.rk-hero__eyebrow {
	display: inline-block;
	font-size: 13px;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--rk-rose);
	font-weight: 600;
	margin-bottom: 18px;
}
.rk-hero__title {
	font-family: var(--rk-font-display);
	font-size: clamp(34px, 4.6vw, 60px);
	color: var(--rk-rose);
	line-height: 1.05;
	margin: 0 0 18px;
}
.rk-hero__lead {
	font-size: clamp(16px, 1.4vw, 19px);
	color: var(--rk-teal-dark);
	margin: 0 0 32px;
	max-width: 48ch;
}
.rk-hero__cta { display: flex; gap: 14px; flex-wrap: wrap; }
.rk-hero__media {
	position: relative;
	background: center/cover no-repeat;
}
.rk-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgba(255,255,255,1) 0%,
		rgba(255,255,255,0.98) 8%,
		rgba(255,255,255,0.85) 18%,
		rgba(255,255,255,0.55) 32%,
		rgba(255,255,255,0.2) 48%,
		rgba(255,255,255,0) 65%
	);
	pointer-events: none;
}
@media (max-width: 860px) {
	.rk-hero { grid-template-columns: 1fr; min-height: auto; }
	.rk-hero__media { min-height: 280px; order: -1; }
	.rk-hero__media::after {
		background: linear-gradient(
			180deg,
			rgba(255,255,255,0) 50%,
			rgba(255,255,255,0.4) 75%,
			rgba(255,255,255,0.85) 90%,
			rgba(255,255,255,1) 100%
		);
	}
}

/* ==========================================================================
   GRIGLIA PRODOTTI (homepage e archivi)
   ========================================================================== */
.rk-product-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: var(--rk-gap);
}

.rk-product {
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: var(--rk-radius);
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease;
	border: 1px solid var(--rk-line);
}
.rk-product:hover {
	transform: translateY(-3px);
	box-shadow: var(--rk-shadow-hover);
	border-color: transparent;
}
.rk-product__media {
	position: relative;
	aspect-ratio: 1 / 1;
	background: var(--rk-cream);
	overflow: hidden;
}
.rk-product__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}
.rk-product:hover .rk-product__media img { transform: scale(1.04); }
.rk-product__sale {
	position: absolute;
	top: 12px;
	left: 12px;
	background: var(--rk-rose);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	padding: 6px 10px;
	border-radius: 999px;
}
.rk-product__body {
	padding: 16px 18px 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}
.rk-product__brand {
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--rk-muted);
}
.rk-product__title {
	font-family: var(--rk-font-body);
	font-size: 15px;
	font-weight: 600;
	color: var(--rk-ink);
	margin: 0;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.rk-product__price {
	margin-top: auto;
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	font-size: 22px;
	font-weight: 800;
	color: var(--rk-rose);
	letter-spacing: -.01em;
	padding-top: 6px;
}
.rk-product__price ins {
	background: transparent;
	text-decoration: none;
	color: var(--rk-rose);
	font-weight: 800;
}
.rk-product__price del {
	color: var(--rk-muted);
	font-weight: 500;
	font-size: 15px;
	text-decoration: line-through;
}
.rk-product__price .woocommerce-Price-amount { font-weight: inherit; }
.rk-product__price .woocommerce-Price-currencySymbol {
	font-size: .75em;
	font-weight: 700;
	margin-right: 2px;
	color: var(--rk-rose);
	opacity: .85;
}

/* ==========================================================================
   GRIGLIA BRAND
   ========================================================================== */
.rk-brands {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: var(--rk-gap);
}
.rk-brand {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 9;
	background: #fff;
	border: 1px solid var(--rk-line);
	border-radius: var(--rk-radius-sm);
	padding: 16px;
	transition: all .2s ease;
}
.rk-brand:hover {
	border-color: var(--rk-rose);
	transform: translateY(-2px);
	box-shadow: var(--rk-shadow);
}
.rk-brand img {
	max-height: 100%;
	max-width: 100%;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: .75;
	transition: all .25s ease;
}
.rk-brand:hover img { filter: grayscale(0); opacity: 1; }
.rk-brand__name {
	font-family: var(--rk-font-display);
	font-size: 22px;
	color: var(--rk-teal);
	text-align: center;
}

/* ==========================================================================
   USP / TRUST BAR
   ========================================================================== */
.rk-usp {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--rk-gap);
	padding-block: clamp(32px, 4vw, 56px);
	border-block: 1px solid var(--rk-line);
}
.rk-usp__item {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}
.rk-usp__icon {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--rk-cream);
	color: var(--rk-rose);
	display: grid;
	place-items: center;
	font-size: 20px;
}
.rk-usp__title {
	font-family: var(--rk-font-body);
	font-size: 15px;
	font-weight: 700;
	color: var(--rk-ink);
	margin: 0 0 4px;
}
.rk-usp__desc { font-size: 13px; color: var(--rk-muted); margin: 0; }

/* ==========================================================================
   HEADER (override leggero su Blocksy)
   ========================================================================== */
.rk-header {
	background: var(--rk-cream);
	border-bottom: 1px solid rgba(84, 136, 144, .12);
	position: sticky;
	top: 0;
	z-index: 100;
}
.rk-header__inner {
	display: flex;
	align-items: center;
	gap: 32px;
	padding-block: 10px;
	min-height: 65px;
}
.rk-header__logo {
	font-family: var(--rk-font-display);
	font-size: 32px;
	color: var(--rk-rose);
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	line-height: 0;
}
.rk-header__logo img,
.rk-header__logo .rk-logo-img,
.rk-header__logo .custom-logo {
	display: block;
	height: 45px !important;
	width: auto !important;
	max-width: none !important;
	object-fit: contain;
}
@media (max-width: 860px) {
	.rk-header__logo img,
	.rk-header__logo .rk-logo-img,
	.rk-header__logo .custom-logo { height: 38px !important; }
}
.rk-header__nav { flex: 1; display: flex; justify-content: center; }
.rk-header__nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 36px;
	align-items: center;
}
.rk-header__nav a {
	font-family: var(--rk-font-display);
	font-size: 17px;
	font-weight: 400;
	color: var(--rk-teal);
	text-transform: none;
	letter-spacing: 0;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	transition: color .2s ease, transform .2s ease;
}
.rk-header__nav a:hover {
	color: var(--rk-rose);
	transform: translateY(-1px);
}
.rk-header__nav .current-menu-item > a,
.rk-header__nav .current_page_item > a {
	color: var(--rk-rose);
}
.rk-header__tools {
	display: flex;
	align-items: center;
	gap: 18px;
}
.rk-header__tool {
	color: var(--rk-teal);
	font-size: 20px;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	transition: all .2s ease;
	position: relative;
	background: transparent;
	border: 0;
	cursor: pointer;
}
.rk-header__tool:hover {
	background: #fff;
	color: var(--rk-rose);
}
.rk-header__cart-count {
	position: absolute;
	top: 0;
	right: 0;
	background: var(--rk-rose);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	min-width: 18px;
	height: 18px;
	border-radius: 999px;
	display: grid;
	place-items: center;
	padding: 0 5px;
}

/* ---------- Hamburger button ---------- */
.rk-header__hamburger {
	display: none;
	width: 40px;
	height: 40px;
	border: 0;
	background: transparent;
	cursor: pointer;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	padding: 0;
	color: var(--rk-teal);
	flex: 0 0 40px;
}
.rk-header__hamburger span {
	display: block;
	width: 22px;
	height: 2px;
	background: currentColor;
	border-radius: 2px;
	transition: transform .25s ease, opacity .2s ease;
}
.rk-header__hamburger:hover { color: var(--rk-rose); }
.rk-mobile-menu.is-open ~ * .rk-header__hamburger,
.rk-header__hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.rk-header__hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.rk-header__hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 999px) {
	.rk-header__nav { display: none; }
	.rk-header__hamburger { display: flex; }
	.rk-header__inner { gap: 12px; padding-block: 10px; }
	.rk-header__logo { margin: 0 auto; }
	.rk-header__tools { gap: 6px; }
	.rk-header__tool { width: 36px; height: 36px; }
	.rk-header__hamburger { width: 36px; height: 36px; flex-basis: 36px; }
}

/* ==========================================================================
   MOBILE MENU DRAWER
   ========================================================================== */
.rk-mobile-menu {
	position: fixed;
	inset: 0;
	z-index: 9999;
	visibility: hidden;
	pointer-events: none;
}
.rk-mobile-menu.is-open {
	visibility: visible;
	pointer-events: auto;
}
.rk-mobile-menu__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(43, 43, 43, .55);
	backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity .3s ease;
}
.rk-mobile-menu.is-open .rk-mobile-menu__backdrop { opacity: 1; }
.rk-mobile-menu__panel {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 86vw;
	max-width: 380px;
	background: #fff;
	display: flex;
	flex-direction: column;
	transform: translateX(-100%);
	transition: transform .35s cubic-bezier(.4, 0, .2, 1);
	overflow-y: auto;
	box-shadow: 6px 0 30px rgba(0,0,0,.18);
}
.rk-mobile-menu.is-open .rk-mobile-menu__panel { transform: translateX(0); }

.rk-mobile-menu__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 18px 22px;
	border-bottom: 1px solid var(--rk-line);
	background: var(--rk-cream);
}
.rk-mobile-menu__title {
	font-family: var(--rk-font-display);
	font-size: 22px;
	color: var(--rk-teal);
}
.rk-mobile-menu__close {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 0;
	background: #fff;
	color: var(--rk-ink);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	display: grid;
	place-items: center;
	transition: all .2s ease;
}
.rk-mobile-menu__close:hover { background: var(--rk-rose); color: #fff; }

.rk-mobile-menu__nav {
	flex: 1;
	padding: 12px 0;
}
.rk-mobile-menu__nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.rk-mobile-menu__nav li { border-bottom: 1px solid var(--rk-line); }
.rk-mobile-menu__nav a {
	display: block;
	padding: 16px 22px;
	font-size: 15px;
	font-weight: 600;
	color: var(--rk-ink);
	text-transform: uppercase;
	letter-spacing: .04em;
	transition: all .15s ease;
}
.rk-mobile-menu__nav a:hover,
.rk-mobile-menu__nav a:active {
	background: var(--rk-cream);
	color: var(--rk-rose);
	padding-left: 28px;
}
.rk-mobile-menu__nav .sub-menu {
	background: rgba(234, 229, 224, .5);
}
.rk-mobile-menu__nav .sub-menu a {
	padding-left: 38px;
	font-size: 13px;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	color: var(--rk-muted);
}

.rk-mobile-menu__tools {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--rk-line);
	padding: 8px 0;
}
.rk-mobile-menu__tool {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 22px;
	font-size: 14px;
	font-weight: 600;
	color: var(--rk-ink);
	transition: all .15s ease;
}
.rk-mobile-menu__tool svg { color: var(--rk-rose); flex: 0 0 18px; }
.rk-mobile-menu__tool:hover { background: var(--rk-cream); color: var(--rk-rose); }
.rk-mobile-menu__count {
	margin-left: auto;
	background: var(--rk-rose);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 2px 9px;
	border-radius: 999px;
}

.rk-mobile-menu__contact {
	border-top: 1px solid var(--rk-line);
	padding: 18px 22px;
	background: var(--rk-cream);
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 13px;
}
.rk-mobile-menu__contact a {
	color: var(--rk-teal);
	font-weight: 600;
}
.rk-mobile-menu__contact a:hover { color: var(--rk-rose); }

body.rk-menu-open { overflow: hidden; }

/* ==========================================================================
   FOOTER – versione 2 (riscritta da zero)
   Layout a 3 sezioni: newsletter banner full-width → 4 colonne info → bottom bar
   ========================================================================== */
.rk-footer {
	background: var(--rk-teal);
	color: rgba(255,255,255,.92) !important;
	font-size: 15px;
	line-height: 1.65;
}
/* Override forte: tutto il testo nel footer è bianco (varianti opacità).
   Necessario perché alcune regole globali (h1..h6, link) provano a forzare il teal. */
.rk-footer,
.rk-footer p,
.rk-footer span,
.rk-footer li,
.rk-footer dt,
.rk-footer dd,
.rk-footer address,
.rk-footer strong,
.rk-footer em {
	color: rgba(255,255,255,.92) !important;
}
.rk-footer h1,
.rk-footer h2,
.rk-footer h3,
.rk-footer h4,
.rk-footer h5,
.rk-footer h6,
.rk-footer .rk-footer__title,
.rk-footer .rk-footer__brand,
.rk-footer .rk-footer-newsletter__title {
	color: #fff !important;
}
.rk-footer a,
.rk-footer .rk-footer__list a,
.rk-footer .rk-footer__contacts a,
.rk-footer .rk-footer__bottom a {
	color: rgba(255,255,255,.92) !important;
	text-decoration: none;
	transition: color .2s ease;
}
.rk-footer a:hover,
.rk-footer .rk-footer__list a:hover,
.rk-footer .rk-footer__contacts a:hover { color: #fff !important; }

/* ---------- Newsletter banner (sezione 1) ---------- */
.rk-footer-newsletter {
	background: var(--rk-rose);
	padding-block: clamp(36px, 5vw, 56px);
	color: #fff;
}
.rk-footer-newsletter__inner {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 40px;
	align-items: center;
}
.rk-footer-newsletter__title {
	font-family: var(--rk-font-display);
	font-size: clamp(30px, 3.4vw, 42px);
	color: #fff !important;
	margin: 0 0 12px;
	line-height: 1.1;
	letter-spacing: -.005em;
}
.rk-footer-newsletter__text {
	font-size: 16px;
	margin: 0;
	color: rgba(255,255,255,.95);
	max-width: 44ch;
	line-height: 1.55;
}
.rk-footer-newsletter__text strong { color: #fff; }

.rk-footer-newsletter__form {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.rk-footer-newsletter__field {
	display: flex;
	background: #fff;
	border-radius: 999px;
	padding: 5px 5px 5px 18px;
	gap: 8px;
	max-width: 480px;
}
.rk-footer-newsletter__field input[type="email"] {
	flex: 1;
	border: 0 !important;
	background: transparent !important;
	padding: 12px 0 !important;
	font-size: 15px !important;
	color: var(--rk-ink) !important;
	min-width: 0;
	outline: none !important;
	box-shadow: none !important;
}
.rk-footer-newsletter__field input[type="email"]::placeholder { color: var(--rk-muted); }
.rk-footer-newsletter__field button {
	border: 0;
	background: var(--rk-teal);
	color: #fff;
	padding: 12px 26px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .04em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s ease;
	white-space: nowrap;
}
.rk-footer-newsletter__field button:hover { background: var(--rk-teal-dark); }
.rk-footer-newsletter__consent {
	display: flex;
	gap: 8px;
	font-size: 11px;
	line-height: 1.5;
	color: rgba(255,255,255,.85);
	cursor: pointer;
	max-width: 480px;
}
.rk-footer-newsletter__consent input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	width: 14px;
	height: 14px;
	flex: 0 0 14px;
	border: 1.5px solid rgba(255,255,255,.6);
	border-radius: 3px;
	background: transparent;
	cursor: pointer;
	display: grid;
	place-items: center;
	margin: 2px 0 0;
}
.rk-footer-newsletter__consent input[type="checkbox"]:checked {
	background: #fff;
	border-color: #fff;
}
.rk-footer-newsletter__consent input[type="checkbox"]:checked::after {
	content: "";
	width: 8px;
	height: 8px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23b23c54'%3E%3Cpath d='M13.5 4.5L6 12 2.5 8.5l1-1L6 10l6.5-6.5z'/%3E%3C/svg%3E");
	background-size: contain;
}
.rk-footer-newsletter__consent a { color: #fff; text-decoration: underline; }

/* ---------- Main grid (sezione 2) ---------- */
.rk-footer__main {
	padding-block: clamp(48px, 5vw, 80px);
}
.rk-footer__grid {
	display: grid;
	grid-template-columns: 1.5fr .9fr .9fr 1fr 1fr;
	gap: 40px;
	align-items: start;
	text-align: center;
}
.rk-footer__col { min-width: 0; }
.rk-footer__col .rk-footer__title { text-align: center; }

.rk-footer__col--brand {
	text-align: center;
}
.rk-footer__col--brand .rk-footer__logo,
.rk-footer__col--brand img.rk-footer__logo {
	width: 220px !important;
	height: auto !important;
	max-width: 100% !important;
	margin: 0 auto 22px;
	filter: brightness(0) invert(1);
	display: block;
}
.rk-footer__col--brand .rk-footer__brand {
	text-align: center;
}
.rk-footer__col--brand .rk-footer__brand::after {
	margin-inline: auto;
}
.rk-footer__col--brand .rk-footer__tagline {
	margin-inline: auto;
}
.rk-footer__col--brand .rk-footer__address {
	text-align: center;
}
.rk-footer__brand {
	font-family: var(--rk-font-display);
	font-size: 36px;
	color: #fff;
	line-height: 1;
	margin: 0 0 22px;
}
.rk-footer__tagline {
	font-size: 15px;
	color: rgba(255,255,255,.82);
	margin: 0 0 22px;
	max-width: 32ch;
	line-height: 1.6;
}
.rk-footer__address {
	font-style: normal;
	font-size: 14px;
	color: rgba(255,255,255,.85);
	line-height: 1.65;
}
.rk-footer__address strong {
	color: #fff;
	font-weight: 600;
	font-size: 15px;
}

.rk-footer__title {
	font-family: var(--rk-font-display);
	color: #fff !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	margin: 0 0 24px !important;
	line-height: 1.15;
	letter-spacing: -.005em;
	text-align: center !important;
	position: relative;
	padding-bottom: 14px;
}
.rk-footer__title::after {
	content: "";
	display: block;
	width: 32px;
	height: 2px;
	margin: 14px auto 0;
	background: var(--rk-rose);
	border-radius: 2px;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
}

.rk-footer__contacts {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
	align-items: center;
}
.rk-footer__contacts li {
	display: flex;
	flex-direction: column;
	gap: 4px;
	align-items: center;
}
.rk-footer__contacts-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(255,255,255,.6);
}
.rk-footer__contacts a {
	font-size: 16px;
	color: #fff;
	font-weight: 500;
	line-height: 1.3;
}
.rk-footer__contacts a:hover { color: rgba(255,255,255,.78); }

.rk-footer__hours {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
	align-items: center;
}
.rk-footer__hours > div {
	display: flex;
	flex-direction: column;
	gap: 4px;
	align-items: center;
}
.rk-footer__hours dt {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(255,255,255,.6);
}
.rk-footer__hours dd {
	margin: 0;
	font-size: 15px;
	color: #fff;
	line-height: 1.55;
}
.rk-footer__closed {
	display: inline-block;
	padding: 4px 12px;
	background: rgba(255,255,255,.16);
	color: #fff;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.rk-footer__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 15px;
	align-items: center;
}
.rk-footer__list a {
	display: inline-block;
	color: rgba(255,255,255,.88);
	transition: color .2s ease;
}
.rk-footer__list a:hover {
	color: #fff;
}

/* ---------- Bottom bar (sezione 3) ---------- */
.rk-footer__bottom {
	background: rgba(0,0,0,.18);
	padding-block: 20px;
	font-size: 13px;
	color: rgba(255,255,255,.72);
}
.rk-footer__bottom-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}
.rk-footer__copy { line-height: 1.5; }
.rk-footer__pay {
	display: flex;
	align-items: center;
	gap: 10px;
}
.rk-footer__pay span {
	font-size: 11px;
	letter-spacing: .06em;
	text-transform: uppercase;
	font-weight: 600;
	color: rgba(255,255,255,.7);
	margin-right: 4px;
}
.rk-footer__pay svg {
	display: block;
	border-radius: 3px;
}

/* ---------- Responsive ---------- */
@media (max-width: 1199px) {
	.rk-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
	.rk-footer__grid > div:nth-child(5) { grid-column: 1 / -1; }
}
@media (max-width: 999px) {
	.rk-footer-newsletter__inner { grid-template-columns: 1fr; gap: 24px; text-align: center; }
	.rk-footer-newsletter__text { margin-inline: auto; }
	.rk-footer-newsletter__field { margin-inline: auto; }
	.rk-footer-newsletter__consent { margin-inline: auto; justify-content: center; }
	.rk-footer__grid { grid-template-columns: 1fr 1fr; gap: 40px 30px; }
	.rk-footer__col--brand { grid-column: 1 / -1; text-align: center; }
	.rk-footer__col--brand .rk-footer__logo { margin-inline: auto; }
	.rk-footer__col--brand .rk-footer__tagline { margin-inline: auto; }
	.rk-footer__grid > div:nth-child(5) { grid-column: auto; }
}
@media (max-width: 600px) {
	.rk-footer__grid {
		grid-template-columns: 1fr 1fr;
		gap: 32px 20px;
		text-align: center;
	}
	.rk-footer__col--brand {
		grid-column: 1 / -1;
		text-align: center;
	}
	.rk-footer__col--brand .rk-footer__logo { margin-inline: auto; }
	.rk-footer__col--brand .rk-footer__tagline { margin-inline: auto; }
	.rk-footer__title { margin-bottom: 14px !important; font-size: 18px !important; }
	.rk-footer__contacts { gap: 12px; align-items: center; }
	.rk-footer__contacts li,
	.rk-footer__hours > div { align-items: center; }
	.rk-footer__contacts a { font-size: 14px; }
	.rk-footer__hours dd { font-size: 14px; }
	.rk-footer__list { font-size: 14px; gap: 10px; align-items: center; }
	.rk-footer__bottom-inner {
		flex-direction: column;
		text-align: center;
		gap: 12px;
	}
	.rk-footer-newsletter__field input[type="email"] { font-size: 16px !important; }
}

/* ==========================================================================
   OVERRIDE BLOCKSY: nascondi hero-banner alti e page-title automatici
   I template del parent aggiungono <section class="hero-section"> e
   <header class="entry-header"><h1 class="page-title">…</h1></header>
   in cima a Shop, archivi, single page, single product. Li togliamo.
   ========================================================================== */
.hero-section,
.entry-header > .page-title,
.entry-header .ct-breadcrumbs + .page-title,
[data-prefix="woo_categories"] .hero-section,
[data-prefix="product"] .entry-header,
[data-prefix="single_page"] .entry-header,
[data-prefix="single_blog_post"] .entry-header { display: none !important; }

/* L'entry-header può avere padding/margini residui: azzeriamoli */
.entry-header { padding: 0 !important; margin: 0 !important; }

/* ==========================================================================
   INFINITE SCROLL – loader e sentinel sotto la griglia prodotti
   ========================================================================== */
.rk-loadmore {
	width: 100%;
	margin: 32px 0 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}
.rk-loadmore__sentinel {
	width: 1px;
	height: 1px;
	pointer-events: none;
}
.rk-loadmore__loader {
	display: flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	padding: 24px;
}
.rk-loadmore__loader span {
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--rk-rose);
	animation: rk-loader-bounce 1.2s ease-in-out infinite;
}
.rk-loadmore__loader span:nth-child(2) { animation-delay: .15s; background: var(--rk-teal); }
.rk-loadmore__loader span:nth-child(3) { animation-delay: .3s; }
@keyframes rk-loader-bounce {
	0%, 80%, 100% { transform: scale(0.5); opacity: .5; }
	40%           { transform: scale(1.0); opacity: 1; }
}
.rk-loadmore__end {
	font-family: var(--rk-font-display);
	font-size: 22px;
	color: var(--rk-teal);
	text-align: center;
	margin: 0;
	padding: 32px 16px;
	position: relative;
}
.rk-loadmore__end::before,
.rk-loadmore__end::after {
	content: "";
	display: inline-block;
	width: 36px;
	height: 1px;
	background: var(--rk-line);
	vertical-align: middle;
	margin: 0 14px;
}

/* ==========================================================================
   WOOCOMMERCE CART PAGE – redesign moderno
   ========================================================================== */
.woocommerce-cart .rk-wc-page,
.woocommerce-cart .rk-wc-fullwidth { padding-block: clamp(32px, 4vw, 60px); }

.woocommerce-cart .rk-wc-fullwidth {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: 40px;
	align-items: start;
}

/* Tabella prodotti come card list */
.woocommerce-cart .woocommerce-cart-form { min-width: 0; }
.woocommerce-cart table.shop_table {
	border: 0 !important;
	background: transparent !important;
	border-collapse: separate !important;
	border-spacing: 0 16px !important;
	width: 100% !important;
	margin: 0 !important;
}
.woocommerce-cart table.shop_table thead { display: none; }
.woocommerce-cart table.shop_table tbody tr.cart_item {
	background: #fff !important;
	border: 1px solid var(--rk-line) !important;
	border-radius: var(--rk-radius) !important;
	display: grid !important;
	grid-template-columns: auto 96px 1fr auto auto auto;
	align-items: center;
	gap: 16px;
	padding: 14px 18px !important;
	transition: border-color .2s ease;
}
.woocommerce-cart table.shop_table tbody tr.cart_item:hover {
	border-color: var(--rk-rose) !important;
}
.woocommerce-cart table.shop_table tbody tr.cart_item td {
	border: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

/* Remove button (X) */
.woocommerce-cart td.product-remove { order: 0; }
.woocommerce-cart td.product-remove a {
	display: grid !important;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--rk-cream);
	color: var(--rk-rose) !important;
	font-size: 16px;
	text-decoration: none !important;
	font-weight: 700;
	transition: all .2s ease;
}
.woocommerce-cart td.product-remove a:hover {
	background: var(--rk-rose);
	color: #fff !important;
}

/* Thumbnail */
.woocommerce-cart td.product-thumbnail { order: 1; }
.woocommerce-cart td.product-thumbnail img {
	width: 96px !important;
	height: 96px !important;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid var(--rk-line);
}

/* Nome prodotto */
.woocommerce-cart td.product-name { order: 2; min-width: 0; }
.woocommerce-cart td.product-name a {
	font-family: var(--rk-font-body) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--rk-ink) !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	display: block;
}
.woocommerce-cart td.product-name a:hover { color: var(--rk-rose) !important; }
.woocommerce-cart td.product-name dl.variation {
	font-size: 12px;
	color: var(--rk-muted);
	margin: 4px 0 0;
}

/* Prezzo unitario */
.woocommerce-cart td.product-price { order: 3; }
.woocommerce-cart td.product-price .woocommerce-Price-amount {
	font-size: 14px !important;
	color: var(--rk-muted) !important;
	font-weight: 600 !important;
}

/* Quantità */
.woocommerce-cart td.product-quantity { order: 4; }
.woocommerce-cart .quantity {
	display: inline-flex !important;
	align-items: center;
	background: var(--rk-cream);
	border-radius: 999px;
	padding: 4px;
}
.woocommerce-cart .quantity input.qty {
	width: 50px !important;
	min-height: 36px !important;
	border: 0 !important;
	background: transparent !important;
	text-align: center !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	color: var(--rk-ink) !important;
	box-shadow: none !important;
	padding: 0 !important;
}

/* Subtotale prodotto */
.woocommerce-cart td.product-subtotal { order: 5; min-width: 80px; text-align: right; }
.woocommerce-cart td.product-subtotal .woocommerce-Price-amount {
	font-size: 18px !important;
	color: var(--rk-rose) !important;
	font-weight: 800 !important;
}

/* Coupon + update cart row */
.woocommerce-cart tr.actions {
	display: flex !important;
	flex-wrap: wrap;
	gap: 14px;
	background: transparent !important;
	border: 0 !important;
	padding: 18px 0 0 !important;
	margin-top: 8px;
}
.woocommerce-cart tr.actions td {
	display: contents !important;
}
.woocommerce-cart .coupon {
	display: flex !important;
	gap: 8px;
	flex: 1;
	min-width: 280px;
}
.woocommerce-cart .coupon input[type="text"] {
	flex: 1;
	padding: 12px 18px !important;
	border-radius: 999px !important;
	background: #fff !important;
	border: 1px solid var(--rk-line) !important;
	font-size: 14px !important;
}
.woocommerce-cart .coupon button.button,
.woocommerce-cart input.button[name="update_cart"] {
	white-space: nowrap;
}
.woocommerce-cart input.button[name="update_cart"]:disabled {
	opacity: .5;
	cursor: not-allowed;
}

/* ---------- Cart totals (sticky right) ---------- */
.woocommerce-cart .cart-collaterals {
	display: block;
	width: 100%;
	float: none !important;
}
.woocommerce-cart .cart_totals {
	background: #fff;
	border: 1px solid var(--rk-line);
	border-radius: var(--rk-radius);
	padding: 28px;
	width: 100% !important;
	float: none !important;
	position: sticky;
	top: calc(var(--rk-header-h) + var(--rk-search-h) + 20px);
}
.woocommerce-cart .cart_totals h2 {
	font-family: var(--rk-font-display) !important;
	font-size: 26px !important;
	color: var(--rk-teal) !important;
	margin: 0 0 22px !important;
	padding-bottom: 18px;
	border-bottom: 2px solid var(--rk-cream);
	text-align: left;
	font-weight: 400 !important;
}
.woocommerce-cart .cart_totals table {
	width: 100% !important;
	border: 0 !important;
	margin: 0 !important;
}
.woocommerce-cart .cart_totals table tr {
	display: flex !important;
	justify-content: space-between;
	align-items: baseline;
	padding: 12px 0 !important;
	border-bottom: 1px dashed var(--rk-line);
}
.woocommerce-cart .cart_totals table tr:last-child { border-bottom: 0; }
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
	border: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	font-size: 14px !important;
}
.woocommerce-cart .cart_totals table th {
	font-weight: 600 !important;
	color: var(--rk-muted) !important;
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: 12px !important;
}
.woocommerce-cart .cart_totals table td {
	font-weight: 700 !important;
	color: var(--rk-ink) !important;
	text-align: right !important;
}
.woocommerce-cart .cart_totals .order-total th { color: var(--rk-teal) !important; font-size: 14px !important; }
.woocommerce-cart .cart_totals .order-total td .woocommerce-Price-amount {
	font-size: 28px !important;
	color: var(--rk-rose) !important;
	font-weight: 800 !important;
}
.woocommerce-cart .cart_totals .order-total {
	padding-top: 18px !important;
	margin-top: 4px !important;
	border-top: 2px solid var(--rk-cream) !important;
	border-bottom: 0 !important;
}
.woocommerce-cart .wc-proceed-to-checkout { padding: 24px 0 0 !important; margin: 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: block !important;
	width: 100%;
	text-align: center !important;
	padding: 16px 24px !important;
	font-size: 14px !important;
	letter-spacing: .06em !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	background: var(--rk-rose) !important;
	color: #fff !important;
	border-radius: 999px !important;
	transition: all .2s ease !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--rk-rose-dark) !important;
	transform: translateY(-1px);
}
.woocommerce-cart .shipping-calculator-form input,
.woocommerce-cart .shipping-calculator-form select {
	background: var(--rk-cream) !important;
	border: 0 !important;
}

/* Empty cart state */
.woocommerce-cart .cart-empty {
	background: var(--rk-cream);
	padding: 60px 30px;
	border-radius: var(--rk-radius);
	text-align: center;
	font-size: 18px;
	color: var(--rk-teal);
}
.woocommerce-cart .return-to-shop a.button {
	margin-top: 20px;
	display: inline-flex !important;
}

/* Mobile cart */
@media (max-width: 999px) {
	.woocommerce-cart .rk-wc-fullwidth { grid-template-columns: 1fr; }
	.woocommerce-cart .cart_totals { position: static; }
}
@media (max-width: 700px) {
	.woocommerce-cart table.shop_table tbody tr.cart_item {
		grid-template-columns: 80px 1fr auto;
		grid-template-areas:
			"img name remove"
			"img price price"
			"qty qty subtotal";
		gap: 10px 12px;
		padding: 14px;
	}
	.woocommerce-cart td.product-thumbnail { grid-area: img; order: 0; }
	.woocommerce-cart td.product-thumbnail img { width: 80px !important; height: 80px !important; }
	.woocommerce-cart td.product-name { grid-area: name; order: 0; }
	.woocommerce-cart td.product-remove { grid-area: remove; order: 0; justify-self: end; }
	.woocommerce-cart td.product-price { grid-area: price; order: 0; }
	.woocommerce-cart td.product-quantity { grid-area: qty; order: 0; }
	.woocommerce-cart td.product-subtotal { grid-area: subtotal; order: 0; text-align: right; }
	.woocommerce-cart .coupon { width: 100%; }
}

/* ==========================================================================
   WHATSAPP FLOATING BUTTON
   ========================================================================== */
.rk-whatsapp {
	position: fixed;
	right: 22px;
	bottom: 22px;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #25D366;
	color: #fff !important;
	display: grid;
	place-items: center;
	box-shadow: 0 8px 24px rgba(37, 211, 102, .35), 0 4px 10px rgba(0,0,0,.1);
	z-index: 9990;
	transition: transform .25s ease, box-shadow .25s ease;
}
.rk-whatsapp:hover {
	transform: scale(1.08);
	box-shadow: 0 12px 32px rgba(37, 211, 102, .5), 0 6px 14px rgba(0,0,0,.15);
	color: #fff !important;
}
.rk-whatsapp svg {
	width: 30px;
	height: 30px;
	color: #fff;
}
.rk-whatsapp__pulse {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 2px solid #25D366;
	animation: rk-wa-pulse 2.4s ease-out infinite;
	pointer-events: none;
}
@keyframes rk-wa-pulse {
	0%   { transform: scale(1);   opacity: .85; }
	80%  { transform: scale(1.6); opacity: 0;   }
	100% { transform: scale(1.6); opacity: 0;   }
}
@media (max-width: 600px) {
	.rk-whatsapp {
		right: 14px;
		bottom: 14px;
		width: 50px;
		height: 50px;
	}
	.rk-whatsapp svg { width: 26px; height: 26px; }
}

/* WhatsApp link nel mobile menu drawer */
.rk-mobile-menu__whatsapp {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	background: #25D366;
	color: #fff !important;
	padding: 10px 18px !important;
	border-radius: 999px;
	font-weight: 700 !important;
	font-size: 13px !important;
	margin-bottom: 4px;
	transition: background .2s ease;
}
.rk-mobile-menu__whatsapp:hover { background: #1ebe5b; color: #fff !important; }

/* ==========================================================================
   COOKIE BANNER
   ========================================================================== */
.rk-cookie-banner {
	position: fixed;
	left: 16px;
	right: 16px;
	bottom: 16px;
	background: #fff;
	border: 1px solid var(--rk-line);
	border-radius: var(--rk-radius);
	box-shadow: 0 20px 50px rgba(0, 0, 0, .15);
	z-index: 9998;
	max-width: 720px;
	margin-inline: auto;
	animation: rk-cookie-in .35s ease-out;
}
@keyframes rk-cookie-in {
	from { opacity: 0; transform: translateY(20px); }
	to   { opacity: 1; transform: translateY(0); }
}
.rk-cookie-banner__inner {
	display: flex;
	align-items: center;
	gap: 22px;
	padding: 20px 24px;
	flex-wrap: wrap;
}
.rk-cookie-banner__copy {
	flex: 1 1 280px;
	min-width: 0;
}
.rk-cookie-banner__copy strong {
	display: block;
	font-size: 14px;
	color: var(--rk-teal);
	margin-bottom: 4px;
	letter-spacing: .02em;
}
.rk-cookie-banner__copy p {
	font-size: 13px;
	line-height: 1.55;
	color: var(--rk-muted);
	margin: 0;
}
.rk-cookie-banner__copy a {
	color: var(--rk-rose);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(178, 60, 84, .35);
	text-underline-offset: 2px;
}
.rk-cookie-banner__copy a:hover { color: var(--rk-rose-dark); }

.rk-cookie-banner__actions {
	display: flex;
	gap: 8px;
	flex: 0 0 auto;
}
.rk-cookie-banner__btn {
	border: 0;
	padding: 11px 22px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: all .2s ease;
	white-space: nowrap;
}
.rk-cookie-banner__btn--primary {
	background: var(--rk-rose);
	color: #fff;
}
.rk-cookie-banner__btn--primary:hover {
	background: var(--rk-rose-dark);
	transform: translateY(-1px);
}
.rk-cookie-banner__btn--ghost {
	background: transparent;
	color: var(--rk-teal);
	border: 1.5px solid var(--rk-line);
}
.rk-cookie-banner__btn--ghost:hover {
	border-color: var(--rk-teal);
	background: var(--rk-cream);
}

@media (max-width: 600px) {
	.rk-cookie-banner__inner { padding: 16px 18px; gap: 14px; }
	.rk-cookie-banner__actions { width: 100%; }
	.rk-cookie-banner__btn { flex: 1; padding: 12px 16px; }
}

/* ==========================================================================
   PAGINE INFO (Pagamenti, Spedizioni, Resi, Privacy, Cookie, T&C, ecc.)
   ========================================================================== */
.rk-container--narrow {
	max-width: 880px;
}

.rk-page { background: #fff; }

.rk-page__hero {
	background: var(--rk-cream);
	padding: clamp(40px, 6vw, 72px) 0 clamp(36px, 5vw, 56px);
	border-bottom: 1px solid var(--rk-line);
}
.rk-breadcrumb {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--rk-muted);
	margin-bottom: 18px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.rk-breadcrumb a { color: var(--rk-rose); }
.rk-breadcrumb a:hover { color: var(--rk-rose-dark); }
.rk-breadcrumb__sep { opacity: .5; }
.rk-page__title {
	font-family: var(--rk-font-display);
	font-size: clamp(38px, 5vw, 60px);
	color: var(--rk-teal);
	margin: 0;
	line-height: 1.05;
}

.rk-page__main {
	padding: clamp(40px, 5vw, 72px) 0;
}
.rk-page__content {
	font-size: 16px;
	line-height: 1.75;
	color: var(--rk-ink);
}
.rk-page__lead {
	font-size: 19px !important;
	line-height: 1.6;
	color: var(--rk-teal-dark);
	margin: 0 0 32px;
	padding-bottom: 28px;
	border-bottom: 1px dashed var(--rk-line);
}
.rk-page__content h2 {
	font-family: var(--rk-font-display);
	font-size: clamp(24px, 2.6vw, 32px);
	color: var(--rk-teal);
	margin: 44px 0 16px;
	line-height: 1.2;
}
.rk-page__content h2:first-child { margin-top: 0; }
.rk-page__content h3 {
	font-family: var(--rk-font-display);
	font-size: 22px;
	color: var(--rk-teal);
	margin: 28px 0 10px;
	line-height: 1.25;
}
.rk-page__content h4 {
	font-family: var(--rk-font-body);
	font-size: 16px;
	font-weight: 700;
	color: var(--rk-rose);
	margin: 0 0 10px;
	letter-spacing: -.005em;
}
.rk-page__content p {
	margin: 0 0 18px;
}
.rk-page__content p:last-child { margin-bottom: 0; }
.rk-page__content strong {
	color: var(--rk-ink);
	font-weight: 700;
}
.rk-page__content a {
	color: var(--rk-rose);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(178, 60, 84, .35);
	text-underline-offset: 3px;
	transition: all .2s ease;
}
.rk-page__content a:hover {
	color: var(--rk-rose-dark);
	text-decoration-color: var(--rk-rose);
}
.rk-page__content ul,
.rk-page__content ol {
	margin: 0 0 22px;
	padding-left: 22px;
}
.rk-page__content li { margin-bottom: 8px; }
.rk-page__content ul li::marker { color: var(--rk-rose); }
.rk-page__legal-note {
	font-size: 13px;
	color: var(--rk-muted);
	font-style: italic;
	margin-top: 32px;
	padding-top: 20px;
	border-top: 1px dashed var(--rk-line);
}

/* ---------- Callout boxes ---------- */
.rk-callout {
	border-radius: var(--rk-radius);
	padding: 22px 26px;
	margin: 28px 0;
	border-left: 4px solid var(--rk-rose);
	background: var(--rk-cream);
}
.rk-callout h4 {
	color: var(--rk-rose) !important;
	font-size: 15px !important;
	margin: 0 0 8px !important;
	letter-spacing: .02em;
}
.rk-callout p {
	font-size: 15px;
	color: var(--rk-ink);
	margin: 0 0 10px;
}
.rk-callout p:last-child { margin-bottom: 0; }
.rk-callout--success {
	background: rgba(84, 136, 144, .08);
	border-left-color: var(--rk-teal);
}
.rk-callout--success h4 { color: var(--rk-teal) !important; }
.rk-callout--info {
	background: rgba(178, 60, 84, .06);
	border-left-color: var(--rk-rose);
}
.rk-callout--tip {
	background: var(--rk-cream);
	border-left-color: #d4af37;
}
.rk-callout--tip h4 { color: #b88a1f !important; }

/* ---------- Indirizzo box ---------- */
.rk-address-box {
	display: inline-block;
	background: var(--rk-cream);
	border: 1px solid var(--rk-line);
	border-radius: var(--rk-radius);
	padding: 18px 24px;
	margin: 8px 0 24px;
	font-style: normal;
	line-height: 1.7;
	color: var(--rk-ink);
}
.rk-address-box strong { color: var(--rk-teal); font-size: 17px; }

/* ---------- Payment methods grid ---------- */
.rk-payments-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 18px;
	margin: 32px 0;
}
.rk-payment-card {
	background: #fff;
	border: 1px solid var(--rk-line);
	border-radius: var(--rk-radius);
	padding: 22px;
	transition: all .2s ease;
}
.rk-payment-card:hover {
	border-color: var(--rk-rose);
	transform: translateY(-2px);
	box-shadow: var(--rk-shadow);
}
.rk-payment-card__icons {
	display: flex;
	gap: 6px;
	margin-bottom: 14px;
	flex-wrap: wrap;
}
.rk-pay-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 28px;
	padding: 0 10px;
	border-radius: 5px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .04em;
	color: #fff;
	text-transform: uppercase;
}
.rk-pay-badge--visa     { background: #1A1F71; }
.rk-pay-badge--mc       { background: #EB001B; }
.rk-pay-badge--amex     { background: #006FCF; }
.rk-pay-badge--paypal   { background: #003087; padding: 0 12px; }
.rk-pay-badge--satispay { background: #F4424C; padding: 0 12px; }
.rk-pay-badge--bonifico { background: var(--rk-teal); font-size: 14px; }
.rk-payment-card h3 {
	font-family: var(--rk-font-body) !important;
	font-size: 16px !important;
	color: var(--rk-ink) !important;
	margin: 0 0 8px !important;
	font-weight: 700 !important;
}
.rk-payment-card p {
	font-size: 14px;
	color: var(--rk-muted);
	margin: 0;
	line-height: 1.55;
}
.rk-payment-card p strong { color: var(--rk-teal); }

/* ---------- Iframe legalblink ---------- */
.rk-legal-embed {
	border: 1px solid var(--rk-line);
	border-radius: var(--rk-radius);
	overflow: hidden;
	background: #fff;
}
.rk-legal-embed iframe {
	display: block;
	width: 100%;
	border: 0;
	min-height: 1600px;
}

/* ---------- Trust bar fondo pagina ---------- */
.rk-page__trust {
	background: var(--rk-cream);
	border-top: 1px solid var(--rk-line);
	padding-block: clamp(36px, 4vw, 56px);
}
.rk-page__trust .rk-usp { border: 0; padding: 0; }

@media (max-width: 600px) {
	.rk-page__title { font-size: clamp(30px, 7vw, 40px); }
	.rk-page__lead { font-size: 16px !important; }
	.rk-page__content { font-size: 15px; }
	.rk-payments-grid { grid-template-columns: 1fr; }
	.rk-callout { padding: 18px 20px; }
	.rk-legal-embed iframe { min-height: 2000px; }
}

/* ==========================================================================
   SHOP LAYOUT – sidebar filtri + griglia prodotti
   ========================================================================== */
.rk-wc-page { padding-block: clamp(32px, 4vw, 64px); }

.rk-shop-header { margin-bottom: 32px; }
.rk-shop-header__title {
	font-family: var(--rk-font-display);
	font-size: clamp(36px, 4vw, 52px);
	color: var(--rk-teal);
	margin: 0 0 12px;
	line-height: 1.05;
}
.rk-shop-header__desc {
	color: var(--rk-muted);
	font-size: 15px;
	max-width: 70ch;
}

.rk-shop-layout {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 40px;
	align-items: start;
}
.rk-shop-main { min-width: 0; }

@media (max-width: 999px) {
	.rk-shop-layout { grid-template-columns: 1fr; gap: 20px; }
}

/* ---------- Filtri sidebar (v2) ---------- */
.rk-filters {
	position: sticky;
	top: calc(var(--rk-header-h) + var(--rk-search-h) + 20px);
	background: #fff;
	border: 1px solid var(--rk-line);
	border-radius: var(--rk-radius);
	padding: 28px;
	max-height: calc(100vh - var(--rk-header-h) - var(--rk-search-h) - 40px);
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--rk-line) transparent;
}
.rk-filters::-webkit-scrollbar { width: 6px; }
.rk-filters::-webkit-scrollbar-thumb { background: var(--rk-line); border-radius: 3px; }

.rk-filters__toggle {
	display: none;
	width: 100%;
	border: 0;
	background: var(--rk-rose);
	color: #fff;
	padding: 14px 20px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
.rk-filters__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 22px;
	padding-bottom: 18px;
	border-bottom: 2px solid var(--rk-cream);
}
.rk-filters__title {
	font-family: var(--rk-font-display);
	font-size: 24px;
	color: var(--rk-teal);
	margin: 0;
	line-height: 1.1;
}
.rk-filters__reset {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--rk-rose);
	text-decoration: none !important;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(178, 60, 84, .08);
	transition: all .2s ease;
}
.rk-filters__reset:hover {
	background: var(--rk-rose);
	color: #fff !important;
}

.rk-filter-group {
	margin-bottom: 22px;
}
.rk-filter-group + .rk-filter-group {
	padding-top: 22px;
	border-top: 1px dashed var(--rk-line);
}
.rk-filter-group:last-of-type { margin-bottom: 0; }

.rk-filter-group__title {
	font-family: var(--rk-font-body);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--rk-teal);
	margin: 0 0 14px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.rk-filter-group__title::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 2px;
	background: var(--rk-rose);
	border-radius: 2px;
}

/* ---------- Lista checkbox brand ---------- */
.rk-filter-list {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 220px;
	overflow-y: auto;
	padding-right: 6px;
	scrollbar-width: thin;
	scrollbar-color: var(--rk-line) transparent;
}
.rk-filter-list::-webkit-scrollbar { width: 5px; }
.rk-filter-list::-webkit-scrollbar-thumb { background: var(--rk-line); border-radius: 3px; }
.rk-filter-list li { margin: 0; }

/* ---------- Checkbox singolo ---------- */
.rk-filter-check {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: var(--rk-ink);
	cursor: pointer;
	padding: 7px 8px;
	border-radius: 8px;
	transition: all .15s ease;
}
.rk-filter-check:hover {
	background: var(--rk-cream);
	color: var(--rk-rose);
}
.rk-filter-check__label {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.rk-filter-check__count {
	flex: 0 0 auto;
	font-size: 11px;
	font-weight: 600;
	color: var(--rk-muted);
	background: var(--rk-cream);
	padding: 2px 8px;
	border-radius: 999px;
	min-width: 22px;
	text-align: center;
	transition: all .15s ease;
}
.rk-filter-check:hover .rk-filter-check__count {
	background: #fff;
	color: var(--rk-rose);
}
.rk-filter-check input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	width: 18px;
	height: 18px;
	border: 1.5px solid var(--rk-line);
	border-radius: 5px;
	background: #fff;
	cursor: pointer;
	flex: 0 0 18px;
	display: grid;
	place-items: center;
	transition: all .15s ease;
}
.rk-filter-check input[type="checkbox"]:checked {
	background: var(--rk-rose);
	border-color: var(--rk-rose);
}
.rk-filter-check input[type="checkbox"]:checked::after {
	content: "";
	width: 10px;
	height: 10px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M13.5 4.5L6 12 2.5 8.5l1-1L6 10l6.5-6.5z'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
}

/* ---------- Albero gerarchico categorie ---------- */
.rk-filter-tree-wrap {
	max-height: 320px;
	overflow-y: auto;
	padding-right: 6px;
	scrollbar-width: thin;
	scrollbar-color: var(--rk-line) transparent;
}
.rk-filter-tree-wrap::-webkit-scrollbar { width: 5px; }
.rk-filter-tree-wrap::-webkit-scrollbar-thumb { background: var(--rk-line); border-radius: 3px; }
.rk-filter-tree {
	list-style: none;
	margin: 0;
	padding: 0;
}
.rk-filter-tree--child {
	margin-left: 10px;
	padding-left: 14px;
	border-left: 2px solid var(--rk-cream);
	margin-top: 4px;
	margin-bottom: 6px;
}
.rk-filter-tree--child .rk-filter-check {
	font-size: 13px;
	padding: 5px 8px;
}
.rk-filter-tree--child .rk-filter-check__count {
	font-size: 10px;
	padding: 1px 7px;
}
.rk-filter-tree__item { margin: 0; }

/* ---------- Toggle switch (disponibilità / saldi) ---------- */
.rk-filter-switch {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 8px;
	border-radius: 8px;
	cursor: pointer;
	transition: background .15s ease;
}
.rk-filter-switch:hover { background: var(--rk-cream); }
.rk-filter-switch + .rk-filter-switch { margin-top: 4px; }
.rk-filter-switch__label {
	font-size: 14px;
	font-weight: 500;
	color: var(--rk-ink);
}
.rk-filter-switch__control {
	position: relative;
	display: inline-block;
	width: 38px;
	height: 22px;
	flex: 0 0 38px;
}
.rk-filter-switch__control input {
	opacity: 0;
	width: 0;
	height: 0;
	position: absolute;
}
.rk-filter-switch__slider {
	position: absolute;
	inset: 0;
	background: var(--rk-line);
	border-radius: 999px;
	transition: background .2s ease;
}
.rk-filter-switch__slider::before {
	content: "";
	position: absolute;
	left: 3px;
	top: 3px;
	width: 16px;
	height: 16px;
	background: #fff;
	border-radius: 50%;
	transition: transform .2s cubic-bezier(.4, 0, .2, 1);
	box-shadow: 0 1px 3px rgba(0,0,0,.15);
}
.rk-filter-switch__control input:checked + .rk-filter-switch__slider {
	background: var(--rk-rose);
}
.rk-filter-switch__control input:checked + .rk-filter-switch__slider::before {
	transform: translateX(16px);
}

/* Ricerca testuale dentro i filtri */
.rk-filter-search {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	border: 1px solid var(--rk-line);
	border-radius: 999px;
	padding: 4px 4px 4px 14px;
	transition: border-color .2s ease;
}
.rk-filter-search:focus-within { border-color: var(--rk-rose); }
.rk-filter-search svg {
	flex: 0 0 16px;
	color: var(--rk-muted);
}
.rk-filter-search input[type="search"] {
	flex: 1;
	border: 0 !important;
	background: transparent !important;
	padding: 9px 8px !important;
	font-size: 14px !important;
	min-width: 0;
	outline: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	-webkit-border-radius: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.rk-filter-search input[type="search"]:focus,
.rk-filter-search input[type="search"]:focus-visible {
	box-shadow: none !important;
	outline: none !important;
	border: 0 !important;
}
.rk-filter-search input[type="search"]::placeholder { color: var(--rk-muted); }
.rk-filter-search input[type="search"]::-webkit-search-decoration,
.rk-filter-search input[type="search"]::-webkit-search-cancel-button,
.rk-filter-search input[type="search"]::-webkit-search-results-button,
.rk-filter-search input[type="search"]::-webkit-search-results-decoration {
	-webkit-appearance: none !important;
	display: none;
}

/* Select categoria gerarchica */
.rk-filter-select-wrap {
	position: relative;
}
.rk-filter-select {
	width: 100%;
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid var(--rk-line) !important;
	background: #fff !important;
	border-radius: 12px !important;
	padding: 12px 36px 12px 14px !important;
	font-size: 14px !important;
	font-family: var(--rk-font-body) !important;
	color: var(--rk-ink) !important;
	cursor: pointer;
	line-height: 1.3 !important;
}
.rk-filter-select:focus {
	border-color: var(--rk-rose) !important;
	outline: none !important;
	box-shadow: none !important;
}
.rk-filter-select__caret {
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--rk-rose);
	pointer-events: none;
}

.rk-filter-price {
	display: flex;
	align-items: center;
	gap: 10px;
}
.rk-filter-price__sep {
	color: var(--rk-muted);
	font-weight: 600;
	font-size: 13px;
}
.rk-filter-price input[type="number"] {
	flex: 1;
	min-width: 0;
	padding: 11px 14px !important;
	border-radius: 10px !important;
	border: 1px solid var(--rk-line) !important;
	background: var(--rk-cream) !important;
	font-size: 14px !important;
	font-weight: 600;
	color: var(--rk-ink) !important;
	text-align: center;
	transition: all .15s ease;
}
.rk-filter-price input[type="number"]:focus {
	background: #fff !important;
	border-color: var(--rk-rose) !important;
	outline: none !important;
	box-shadow: none !important;
}
.rk-filter-price input[type="number"]::placeholder {
	color: var(--rk-muted);
	font-weight: 500;
}
.rk-filter-price input {
	width: 100%;
	padding: 10px 12px !important;
	border: 1px solid var(--rk-line) !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	background: #fff !important;
}
.rk-filter-price input:focus {
	border-color: var(--rk-rose) !important;
	outline: none;
}
.rk-filter-price span { color: var(--rk-muted); }

.rk-filters__submit {
	width: 100%;
	margin-top: 24px;
	justify-content: center;
}

/* ---------- Mobile drawer ---------- */
@media (max-width: 999px) {
	.rk-filters {
		position: static;
		padding: 0;
		border: 0;
		background: transparent;
	}
	.rk-filters__toggle { display: inline-flex; }
	.rk-filters__form {
		display: none;
		background: #fff;
		border: 1px solid var(--rk-line);
		border-radius: var(--rk-radius);
		padding: 24px;
		margin-top: 14px;
	}
	.rk-filters.is-open .rk-filters__form { display: block; }
}

/* ==========================================================================
   SEARCHBAR INLINE – sticky sotto l'hero, dropdown AJAX inline
   ========================================================================== */
.rk-searchbar {
	background: var(--rk-cream);
	border-bottom: 1px solid var(--rk-line);
	padding-block: 10px;
	position: sticky;
	top: var(--rk-header-h);
	z-index: 80;
}
.rk-searchbar__form {
	background: #fff;
}
.rk-searchbar--sticky,
.rk-searchbar--wc { /* le varianti restano sticky con stesso comportamento */ }
.rk-searchbar.is-stuck {
	box-shadow: 0 6px 20px rgba(0,0,0,.06);
}
.rk-searchbar .rk-container { position: relative; }
.rk-searchbar__form {
	display: flex;
	align-items: center;
	gap: 0;
	background: #fff;
	border: 1px solid var(--rk-line);
	border-radius: 999px;
	padding: 4px 4px 4px 20px;
	max-width: 720px;
	margin: 0 auto;
	transition: border-color .2s ease;
}
.rk-searchbar__form:focus-within {
	border-color: var(--rk-rose);
	/* niente box-shadow halo: prima creava la doppia linea rossa */
}
.rk-searchbar__icon {
	flex: 0 0 22px;
	color: var(--rk-rose);
}
.rk-searchbar__input {
	flex: 1;
	border: 0 !important;
	background: transparent !important;
	padding: 10px 14px !important;
	font-size: 15px !important;
	color: var(--rk-ink);
	outline: none !important;
	min-width: 0;
	/* Reset completo di Safari iOS / Chrome mobile sul type=search */
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	-webkit-border-radius: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	-webkit-tap-highlight-color: transparent;
}
.rk-searchbar__input:focus,
.rk-searchbar__input:focus-visible,
.rk-searchbar__input:active {
	border: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
}
.rk-searchbar__input::placeholder { color: var(--rk-muted); }
.rk-searchbar__input::-webkit-search-decoration,
.rk-searchbar__input::-webkit-search-cancel-button,
.rk-searchbar__input::-webkit-search-results-button,
.rk-searchbar__input::-webkit-search-results-decoration {
	-webkit-appearance: none !important;
	display: none;
}
.rk-searchbar__submit {
	flex: 0 0 auto;
	border: 0;
	background: var(--rk-rose);
	color: #fff;
	padding: 9px 22px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}
.rk-searchbar__submit:hover { background: var(--rk-rose-dark); transform: translateY(-1px); }

.rk-searchbar__dropdown {
	position: absolute;
	top: calc(100% + 10px);
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: 720px;
	background: #fff;
	border: 1px solid var(--rk-line);
	border-radius: var(--rk-radius);
	box-shadow: 0 20px 50px rgba(0,0,0,.12);
	max-height: 60vh;
	overflow-y: auto;
	z-index: 60;
}
.rk-searchbar__dropdown[hidden] { display: none; }

@media (max-width: 600px) {
	.rk-searchbar { padding-block: 12px; }
	.rk-searchbar__form { padding: 4px 4px 4px 14px; }
	.rk-searchbar__icon { flex-basis: 18px; width: 18px; height: 18px; }
	.rk-searchbar__submit {
		padding: 9px 14px;
		font-size: 11px;
		letter-spacing: .04em;
	}
	/* font-size 16px obbligatorio per evitare lo zoom auto di Safari iOS */
	.rk-searchbar__input { font-size: 16px !important; padding: 11px 10px !important; }
	.rk-searchbar__dropdown { width: calc(100% - 24px); max-height: 70vh; }
}

/* ==========================================================================
   FIX iOS ZOOM ON FOCUS – tutti gli input devono avere font-size >= 16px
   su mobile, altrimenti Safari iOS zooma automaticamente quando li tocchi.
   ========================================================================== */
@media (max-width: 860px) {
	input[type="text"],
	input[type="email"],
	input[type="search"],
	input[type="tel"],
	input[type="url"],
	input[type="password"],
	input[type="number"],
	input[type="date"],
	textarea,
	select {
		font-size: 16px !important;
	}
}

/* ==========================================================================
   MOBILE TWEAKS GENERALI
   ========================================================================== */
@media (max-width: 860px) {
	/* Hero più contenuto */
	.rk-hero { min-height: auto; }
	.rk-hero__content { padding: 32px 22px 38px; }
	.rk-hero__media { min-height: 220px; }
	.rk-hero__title { font-size: clamp(26px, 6.5vw, 36px); }
	.rk-hero__lead { font-size: 15px; margin-bottom: 22px; }
	.rk-hero__cta .rk-btn { padding: 12px 22px; font-size: 14px; }

	/* Sezioni meno aria */
	.rk-section { padding-block: 44px; }
	.rk-section--tight { padding-block: 28px; }
	.rk-section-title { font-size: clamp(26px, 5.5vw, 34px); margin-bottom: 32px; }
	.rk-container { padding-inline: 16px; }

	/* USP bar grid 2 colonne */
	.rk-usp { grid-template-columns: 1fr 1fr; gap: 16px; }
	.rk-usp__icon { width: 38px; height: 38px; flex-basis: 38px; }
	.rk-usp__title { font-size: 13px; }
	.rk-usp__desc { font-size: 12px; }

	/* Griglia prodotti: 2 colonne fisse su mobile */
	.rk-product-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
	.rk-product__title { font-size: 13px; }
	.rk-product__price { font-size: 18px; }
	.rk-product__body { padding: 12px 12px 16px; }

	/* Griglia brand più compatta */
	.rk-brands { grid-template-columns: repeat(3, 1fr); gap: 12px; }
	.rk-brand { padding: 12px; }

	/* WC product grid: 2 col anche qui (override Blocksy) */
	[data-products],
	.woocommerce ul.products {
		grid-template-columns: 1fr 1fr !important;
		gap: 14px !important;
		display: grid !important;
	}
	[data-products] .product .woocommerce-loop-product__title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		padding: 12px 12px 0 !important;
		font-size: 13px !important;
	}
	[data-products] .product .price,
	.woocommerce ul.products li.product .price {
		padding: 0 12px 12px !important;
		font-size: 18px !important;
	}
	[data-products] .product .ct-woo-card-actions,
	.woocommerce ul.products li.product .ct-woo-card-actions {
		padding: 0 12px 12px !important;
	}
	[data-products] .product .ct-woo-card-actions .button,
	.woocommerce ul.products li.product .ct-woo-card-actions .button {
		padding: 9px 12px !important;
		font-size: 11px !important;
	}
	[data-products] .product .entry-meta,
	.woocommerce ul.products li.product .entry-meta {
		padding: 10px 12px 0 !important;
	}
	[data-products] .product .entry-meta li a,
	.woocommerce ul.products li.product .entry-meta li a {
		font-size: 9px !important;
		padding: 3px 8px !important;
	}

	/* Shop layout: stack pieno */
	.rk-shop-header { margin-bottom: 22px; }
	.rk-shop-header__title { font-size: clamp(28px, 6vw, 36px); }
}

@media (max-width: 480px) {
	.rk-brands { grid-template-columns: repeat(2, 1fr); }
	.rk-hero__content { padding: 28px 18px 32px; }
	.rk-hero__cta { gap: 10px; }
	.rk-hero__cta .rk-btn { padding: 11px 18px; font-size: 13px; flex: 1; justify-content: center; }
}
.rk-search-results__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.rk-search-result + .rk-search-result {
	border-top: 1px solid var(--rk-line);
}
.rk-search-result__link {
	display: flex;
	gap: 16px;
	padding: 14px 24px;
	transition: background .15s ease;
	text-decoration: none !important;
	align-items: center;
}
.rk-search-result__link:hover { background: var(--rk-cream); }
.rk-search-result__media {
	flex: 0 0 64px;
	width: 64px;
	height: 64px;
	border-radius: 10px;
	overflow: hidden;
	background: var(--rk-cream);
	border: 1px solid var(--rk-line);
}
.rk-search-result__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.rk-search-result__info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.rk-search-result__title {
	font-family: var(--rk-font-body) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--rk-ink) !important;
	margin: 0 !important;
	line-height: 1.35 !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.rk-search-result__meta {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.rk-search-result__price {
	font-size: 15px;
	font-weight: 800;
	color: var(--rk-rose);
}
.rk-search-result__price del { font-weight: 500; color: var(--rk-muted); font-size: 12px; margin-right: 4px; }
.rk-search-result__price ins { background: transparent; text-decoration: none; color: var(--rk-rose); }
.rk-search-result__stock {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 999px;
}
.rk-search-result__stock.is-in {
	background: rgba(84, 136, 144, .12);
	color: var(--rk-teal);
}
.rk-search-result__stock.is-out {
	background: rgba(178, 60, 84, .12);
	color: var(--rk-rose);
}

.rk-search-results__hint,
.rk-search-results__empty {
	padding: 30px;
	text-align: center;
	color: var(--rk-muted);
	font-size: 14px;
	margin: 0;
}
.rk-search-results__loading::after {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--rk-rose);
	margin-left: 8px;
	animation: rk-pulse 1s ease-in-out infinite;
}
@keyframes rk-pulse {
	0%, 100% { opacity: .3; transform: scale(1); }
	50% { opacity: 1; transform: scale(1.4); }
}
.rk-search-results__more {
	display: block;
	padding: 16px 24px;
	text-align: center;
	background: var(--rk-cream);
	color: var(--rk-rose) !important;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: .08em;
	text-decoration: none !important;
	border-top: 1px solid var(--rk-line);
}
.rk-search-results__more:hover { background: var(--rk-rose); color: #fff !important; }

/* ==========================================================================
   TAG / CHIPS – categorie, brand, attributi visualizzati come pillole
   ========================================================================== */
.rk-tag-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.rk-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	background: var(--rk-cream);
	color: var(--rk-teal);
	border: 1px solid var(--rk-line);
	border-radius: 999px;
	font-family: var(--rk-font-body);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	text-decoration: none !important;
	line-height: 1;
	transition: all .2s ease;
	cursor: pointer;
	white-space: nowrap;
}
.rk-tag:hover {
	background: var(--rk-rose);
	color: #fff !important;
	border-color: var(--rk-rose);
	transform: translateY(-1px);
}
.rk-tag--brand {
	background: #fff;
	color: var(--rk-rose);
	border-color: var(--rk-rose);
	text-transform: uppercase;
	letter-spacing: .08em;
}
.rk-tag--brand:hover { background: var(--rk-rose); color: #fff !important; }
.rk-tag--ghost {
	background: transparent;
	color: var(--rk-muted);
}
.rk-tag--lg { padding: 10px 18px; font-size: 13px; }

/* Su single product page, lista categorie/tag come chips */
.product_meta { display: flex; flex-direction: column; gap: 14px; padding-top: 20px; border-top: 1px solid var(--rk-line); margin-top: 20px; }
.product_meta > span { font-size: 12px !important; color: var(--rk-muted) !important; text-transform: uppercase; letter-spacing: .08em; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.product_meta > span > a {
	display: inline-flex;
	align-items: center;
	padding: 7px 14px;
	background: var(--rk-cream);
	color: var(--rk-teal) !important;
	border: 1px solid var(--rk-line);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: .04em;
	transition: all .2s ease;
	text-decoration: none !important;
}
.product_meta > span > a:hover {
	background: var(--rk-rose);
	color: #fff !important;
	border-color: var(--rk-rose);
}

/* Categorie come chips dentro card prodotto in homepage */
.rk-product__cats {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 4px;
}
.rk-product__cat {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--rk-rose);
	background: var(--rk-cream);
	padding: 4px 10px;
	border-radius: 999px;
}

/* ==========================================================================
   OVERRIDE PALETTE BLOCKSY GLOBALE
   Forziamo le CSS variables del parent ad usare la palette RubaKuori, così
   tutte le pagine WooCommerce (shop, single, cart, checkout, account)
   ereditano automaticamente i colori giusti.
   ========================================================================== */
:root,
body {
	--theme-palette-color-1: #b23c54 !important;  /* rosa accent  */
	--theme-palette-color-2: #8d2d41 !important;  /* rosa hover   */
	--theme-palette-color-3: #2b2b2b !important;  /* testo        */
	--theme-palette-color-4: #548890 !important;  /* heading teal */
	--theme-palette-color-5: #dadada !important;  /* bordi        */
	--theme-palette-color-6: #eae5e0 !important;  /* beige soft   */
	--theme-palette-color-7: #f8f6f3 !important;  /* off-white    */
	--theme-palette-color-8: #ffffff !important;
	--theme-text-color: #2b2b2b !important;
	--theme-link-initial-color: #548890 !important;
	--theme-link-hover-color: #b23c54 !important;
	--theme-headings-color: #548890 !important;
	--theme-border-color: #dadada !important;
	--theme-button-background-initial-color: #b23c54 !important;
	--theme-button-background-hover-color: #8d2d41 !important;
	--theme-button-text-initial-color: #ffffff !important;
	--theme-button-text-hover-color: #ffffff !important;
	--theme-form-field-border-focus-color: #b23c54 !important;
}

/* Heading di sito sempre nel font display + teal */
h1, h2, h3, h4, h5, h6,
.entry-title,
.product_title,
.woocommerce-loop-product__title {
	font-family: var(--rk-font-display) !important;
	color: var(--rk-teal) !important;
	font-weight: 400 !important;
}

/* ==========================================================================
   PREZZO IN EVIDENZA – ovunque (shop, single, archivi, related, upsells)
   ========================================================================== */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
[data-products] .product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--rk-rose) !important;
	font-family: var(--rk-font-body) !important;
	font-weight: 800 !important;
	font-size: 22px !important;
	letter-spacing: -.01em !important;
	display: inline-flex !important;
	align-items: baseline !important;
	gap: 8px !important;
	margin-top: 8px !important;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-size: 32px !important;
	margin: 14px 0 18px !important;
}
.woocommerce ul.products li.product .price del,
[data-products] .product .price del,
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
	color: var(--rk-muted) !important;
	font-weight: 500 !important;
	font-size: .65em !important;
	opacity: .85 !important;
}
.woocommerce ul.products li.product .price ins,
[data-products] .product .price ins,
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
	background: transparent !important;
	text-decoration: none !important;
	color: var(--rk-rose) !important;
	font-weight: 800 !important;
}

/* ==========================================================================
   BOTTONI WOOCOMMERCE – usa la palette ovunque
   ========================================================================== */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.added_to_cart,
.wp-block-button__link,
.button {
	background-color: var(--rk-rose) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 12px 26px !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	letter-spacing: .02em !important;
	transition: background-color .2s ease, transform .2s ease !important;
	box-shadow: none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.wp-block-button__link:hover,
.button:hover {
	background-color: var(--rk-rose-dark) !important;
	color: #fff !important;
	transform: translateY(-1px);
}

/* Bottone "add to cart" della single product, più grosso */
.woocommerce div.product form.cart .button,
.single-product div.product form.cart .button {
	min-height: 54px !important;
	font-size: 15px !important;
	padding: 14px 32px !important;
}

/* Quantità input */
.woocommerce .quantity input.qty {
	border: 1px solid var(--rk-line) !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: var(--rk-ink) !important;
	min-height: 54px !important;
}

/* ==========================================================================
   SALE BADGE – usa il rosa
   ========================================================================== */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale,
[class*="ct-woo-badge-"] {
	background: var(--rk-rose) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	padding: 6px 12px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
}

/* ==========================================================================
   CARD PRODOTTO IN GRIGLIA WC NATIVA (shop, archivi, related, upsells)
   ========================================================================== */
.woocommerce ul.products li.product,
[data-products] .product {
	background: #fff;
	border: 1px solid var(--rk-line);
	border-radius: var(--rk-radius);
	overflow: hidden;
	padding: 0 !important;
	transition: all .25s ease;
}
.woocommerce ul.products li.product:hover,
[data-products] .product:hover {
	border-color: transparent;
	box-shadow: var(--rk-shadow-hover);
	transform: translateY(-3px);
}
.woocommerce ul.products li.product a img,
[data-products] .product img {
	margin-bottom: 0 !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
[data-products] .woocommerce-loop-product__title {
	font-family: var(--rk-font-body) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--rk-ink) !important;
	padding: 14px 18px 0 !important;
	line-height: 1.35 !important;
}
.woocommerce ul.products li.product .price,
[data-products] .product .price {
	padding: 0 18px 18px !important;
}

/* ---------- Entry-meta (categorie/brand sotto card prodotto) come chips ---------- */
[data-products] .product .entry-meta,
.woocommerce ul.products li.product .entry-meta {
	list-style: none !important;
	margin: 0 !important;
	padding: 14px 18px 0 !important;
	display: flex !important;
	flex-direction: column;
	gap: 8px;
	font-size: 0; /* nasconde le virgole tra i link */
}
[data-products] .product .entry-meta li,
.woocommerce ul.products li.product .entry-meta li {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	font-size: 0;
}
[data-products] .product .entry-meta li a,
.woocommerce ul.products li.product .entry-meta li a {
	display: inline-flex !important;
	align-items: center !important;
	padding: 4px 10px !important;
	background: var(--rk-cream) !important;
	color: var(--rk-rose) !important;
	border: 1px solid var(--rk-line) !important;
	border-radius: 999px !important;
	font-family: var(--rk-font-body) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
	text-decoration: none !important;
	transition: all .2s ease;
	white-space: nowrap;
}
[data-products] .product .entry-meta li a:hover,
.woocommerce ul.products li.product .entry-meta li a:hover {
	background: var(--rk-rose) !important;
	color: #fff !important;
	border-color: var(--rk-rose) !important;
}
/* Ordine flex card: thumbnail → tag → titolo → prezzo → azioni */
[data-products] .product,
.woocommerce ul.products li.product {
	display: flex !important;
	flex-direction: column !important;
	padding: 0 !important;
}
[data-products] .product figure,
.woocommerce ul.products li.product figure { order: 1; margin: 0 !important; }
[data-products] .product .entry-meta,
.woocommerce ul.products li.product .entry-meta { order: 2; }
[data-products] .product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title { order: 3; }
[data-products] .product .price,
.woocommerce ul.products li.product .price { order: 4; margin-top: auto !important; }
[data-products] .product .ct-woo-card-actions,
.woocommerce ul.products li.product .ct-woo-card-actions { order: 5; }

/* Area azioni (Leggi tutto / Aggiungi al carrello) */
[data-products] .product .ct-woo-card-actions,
.woocommerce ul.products li.product .ct-woo-card-actions {
	display: flex !important;
	gap: 8px !important;
	padding: 0 18px 18px !important;
	margin: 0 !important;
	width: 100%;
}
[data-products] .product .ct-woo-card-actions .button,
[data-products] .product .ct-woo-card-actions a.button,
.woocommerce ul.products li.product .ct-woo-card-actions .button,
.woocommerce ul.products li.product .ct-woo-card-actions a.button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	text-align: center !important;
	padding: 11px 18px !important;
	font-size: 13px !important;
	letter-spacing: .04em !important;
	text-transform: uppercase !important;
	min-height: 42px;
}

/* Out-of-stock badge */
.out-of-stock-badge,
[class*="ct-woo-badge-out-of-stock"] {
	position: absolute;
	top: 12px;
	left: 12px;
	background: #6f6f6f !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 6px 12px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	line-height: 1 !important;
	z-index: 2;
}
.woocommerce ul.products li.product figure,
[data-products] .product figure { position: relative; }

/* ==========================================================================
   FORM, INPUT, TABELLE WC
   ========================================================================== */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
input[type="text"], input[type="email"], input[type="tel"],
input[type="password"], input[type="search"], textarea {
	border-radius: 12px !important;
	border: none !important;
	padding: 12px 16px !important;
	font-size: 15px !important;
	background: #fff !important;
	transition: border-color .2s ease;
}
.woocommerce form .form-row input.input-text:focus,
input:focus, textarea:focus, select:focus {
	border-color: var(--rk-rose) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(178, 60, 84, .12) !important;
}

/* ==========================================================================
   LINK
   ========================================================================== */
a { transition: color .2s ease; }
.woocommerce a, .woocommerce-page a { color: var(--rk-teal); }
.woocommerce a:hover, .woocommerce-page a:hover { color: var(--rk-rose); }

/* ==========================================================================
   CARICAMENTO FONT (Akaya Kanadaka via Google Fonts)
   ========================================================================== */
@font-face {
	font-family: "Akaya Kanadaka";
	font-display: swap;
	src: local("Akaya Kanadaka");
}
