/* =========================================================
   RAHE – teema stiilid, mobiil kõigepealt.
   Alus = telefon. Laiendused: tahvel ≥768px, laud ≥1000px.
   Disainikeel on võetud rahemassaaz.ee lehelt ja Design/ kaustast.
   ========================================================= */
:root {
	--rahe-hdr: 60px;
	--rahe-gut: 20px;
	--rahe-line: rgba(43, 92, 71, .16);
	--rahe-line-inv: rgba(255, 255, 255, .18);
	--rahe-fig: clamp(210px, 38svh, 360px);
}

/* ---------- Alus (mobiil) ---------- */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--rahe-hdr) + 12px); -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; -webkit-font-smoothing: antialiased; }
:focus-visible { outline: 2px solid var(--wp--preset--color--orange); outline-offset: 3px; }
a { text-decoration-thickness: 1px; text-underline-offset: 4px; }
h1, h2, h3 { letter-spacing: -.005em; }
.wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; transition: background .2s; }
.is-style-outline .wp-block-button__link { background: transparent; color: inherit; border: 1px solid currentColor; font-weight: 400; padding: 0 1.5rem; }
.is-style-outline .wp-block-button__link:hover { background: rgba(43, 92, 71, .06); color: inherit; }
.wp-block-buttons { gap: 10px; }

.rahe-section { padding-block: 64px; }
.rahe-section > * + * { margin-block-start: 1.25rem; }
.rahe-lead { font-size: 17px; line-height: 1.6; }
.rahe-kicker { font-size: 11.5px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--muted); margin-bottom: 12px !important; }

/* Laine pealkirja all (brändiraamatust) */
.rahe-section h2.wp-block-heading::after {
	content: ""; display: block; width: 80px; height: 8px; margin-top: .7rem;
	background: var(--wp--preset--color--orange);
	-webkit-mask: url(img/brand/laine.svg) no-repeat left center / contain;
	mask: url(img/brand/laine.svg) no-repeat left center / contain;
}

/* ---------- Päis ---------- */
.rahe-sticky { position: sticky; top: 0; z-index: 50; }
.admin-bar .rahe-sticky { top: 46px; }
@media (min-width: 783px) { .admin-bar .rahe-sticky { top: 32px; } }
.rahe-header { position: relative; isolation: isolate; background: transparent !important; border-bottom: 1px solid var(--rahe-line); padding-block: 8px !important; }
/* Hägune taust eraldi kihil: kui see oleks päisel endal, jääks mobiilimenüü päise kõrguseks. */
.rahe-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(250, 246, 239, .94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
body:has(.wp-block-navigation__responsive-container.is-menu-open) .rahe-sticky-cta { display: none; }
.rahe-brand { display: flex; align-items: center; min-height: 44px; }
.rahe-brand img { width: 70px; height: auto; display: block; }
.rahe-header .wp-block-navigation a { text-decoration: none; color: var(--wp--preset--color--ink); font-size: 14.5px; }
.rahe-header .wp-block-navigation a:hover { color: var(--wp--preset--color--brand); }
.rahe-header-cta { display: none !important; }
/* Burger kuni 1000px */
@media (max-width: 999px) {
	.rahe-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.rahe-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
.wp-block-navigation__responsive-container-open { width: 44px; height: 44px; justify-content: center; align-items: center; margin-right: -10px; color: var(--wp--preset--color--brand); }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--cream) !important; padding: 16px var(--rahe-gut) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--rahe-line); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a { display: block; padding: 14px 0; font-size: 19px !important; }

/* ---------- Kleepuv alariba (mobiil) ---------- */
.rahe-sticky-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: flex; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(250, 246, 239, .96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-top: 1px solid var(--rahe-line); transform: translateY(110%); visibility: hidden; transition: transform .25s, visibility .25s; }
.rahe-sticky-cta.is-visible { transform: none; visibility: visible; }
.rahe-sticky-cta__btn { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 48px; border-radius: 999px; background: var(--wp--preset--color--orange); color: var(--wp--preset--color--ink); font-weight: 500; font-size: 15.5px; text-decoration: none; }
.rahe-sticky-cta__btn:hover { background: #f28c5c; color: var(--wp--preset--color--ink); }
.slug-kinkekaart .rahe-sticky-cta, .single-product .rahe-sticky-cta, .woocommerce-checkout .rahe-sticky-cta, .woocommerce-cart .rahe-sticky-cta { display: none; }

/* ---------- Tume sektsioon ---------- */
.rahe-dark { color: #fff; }
.rahe-dark :where(h1, h2, h3) { color: #fff; }
.rahe-dark .rahe-lead { color: #e4ede1; }
.rahe-dark .rahe-kicker { color: var(--wp--preset--color--sage); }
.rahe-dark a:not(.wp-element-button) { color: #fff; }
.rahe-dark .is-style-outline .wp-block-button__link:hover { background: rgba(255, 255, 255, .08); }
.rahe-dark h2.wp-block-heading::after { background: var(--wp--preset--color--yellow); }

/* ---------- Hero ---------- */
.rahe-hero { position: relative; overflow: hidden; isolation: isolate; padding-top: 48px !important; padding-bottom: calc(var(--rahe-fig) + 24px) !important; min-height: calc(100svh - var(--rahe-hdr)); }
.rahe-hero__text { position: relative; max-width: 600px; }
.rahe-hero h1 em { font-family: var(--wp--preset--font-family--italic); font-style: italic; font-weight: 500; font-size: 1.1em; line-height: 1; color: var(--wp--preset--color--yellow); }
.rahe-hero .rahe-lead { max-width: 500px; margin-top: 16px; }
.rahe-hero .wp-block-buttons { margin-top: 28px; }
.rahe-hero::after {
	content: ""; position: absolute; z-index: -1; pointer-events: none;
	right: 12px; bottom: 0; height: var(--rahe-fig); aspect-ratio: 1090 / 1251;
	background: var(--wp--preset--color--orange);
	-webkit-mask: url(img/brand/keha1.svg) no-repeat right bottom / contain;
	mask: url(img/brand/keha1.svg) no-repeat right bottom / contain;
}
.rahe-hero--b2b { min-height: 0; }
.rahe-hero--b2b::after { aspect-ratio: 237 / 518; background: var(--wp--preset--color--sage); -webkit-mask-image: url(img/brand/keha2.svg); mask-image: url(img/brand/keha2.svg); }
@media (max-width: 359px) { .rahe-hero .wp-block-button { flex: 1 1 100%; } .rahe-hero .wp-block-button__link { width: 100%; } }

/* Faktid kriipsuga (hero) */
.rahe-facts { list-style: none; padding: 0; margin: 32px 0 0 !important; display: grid; gap: 6px; font-size: 14px; color: #cfdccb; }
.rahe-facts li { display: flex; align-items: center; gap: 12px; }
.rahe-facts li::before { content: ""; flex: none; width: 16px; height: 1px; background: var(--wp--preset--color--sage); }

/* Loend joontega */
.rahe-lines { list-style: none; padding: 0; border-top: 1px solid var(--rahe-line); }
.rahe-lines li { padding: 12px 0; border-bottom: 1px solid var(--rahe-line); font-size: 15.5px; }

/* ---------- Hinnad: mobiilis read, tahvlist veerud ---------- */
.rahe-prices.wp-block-columns { display: block; margin-top: 28px; border-top: 1px solid var(--rahe-line); }
.rahe-prices .rahe-card { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 2px 16px; padding: 20px 0 22px; background: none; border: 0; border-bottom: 1px solid var(--rahe-line); border-radius: 0; box-shadow: none; }
.rahe-prices .rahe-card > * { margin: 0 !important; }
.rahe-prices h3 { font-size: 22px; grid-column: 1; grid-row: 1; }
.rahe-prices .rahe-price { grid-column: 2; grid-row: 1; font-size: 26px; }
.rahe-prices .rahe-card > p:not(.rahe-price) { grid-column: 1 / -1; grid-row: 3; margin-top: 6px !important; font-size: 15px; color: var(--wp--preset--color--muted); }
.rahe-prices .rahe-card > p:has(.rahe-tag) { grid-row: 2; margin-top: 6px !important; }
.rahe-prices .rahe-tag { font-size: 11px; font-weight: 500; letter-spacing: .08em; padding: .25rem .6rem; }

/* ---------- Kaardid ---------- */
.rahe-card { background: #fff; border: 1px solid var(--rahe-line); border-radius: 14px; padding: 20px; height: 100%; }
.rahe-card > :first-child { margin-top: 0; }
.rahe-card--featured { border-color: var(--wp--preset--color--brand); box-shadow: 0 0 0 1px var(--wp--preset--color--brand); }
.rahe-card .wp-block-buttons { margin-top: 1rem; }
.rahe-price { font-family: var(--wp--preset--font-family--serif); font-size: 32px; line-height: 1; color: var(--wp--preset--color--brand); margin: .25rem 0 .5rem !important; }
.rahe-tag { display: inline-block; font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; background: var(--wp--preset--color--yellow); color: var(--wp--preset--color--ink); padding: .2rem .6rem; border-radius: 999px; }
.rahe-card--orange { background: var(--wp--preset--color--orange); border-color: transparent; color: var(--wp--preset--color--ink); }
.rahe-card--orange :where(h2, h3) { color: var(--wp--preset--color--ink); }
.rahe-card--orange .wp-element-button { background: var(--wp--preset--color--brand-dark); color: var(--wp--preset--color--cream); }
.rahe-card--orange .wp-element-button:hover { background: var(--wp--preset--color--ink); color: #fff; }
.rahe-card--orange .wp-block-columns { gap: 16px; }

/* NÄIDIS-märgis kohatäitjatel */
.rahe-sample { position: relative; border-style: dashed; background: repeating-linear-gradient(135deg, #fff, #fff 12px, #fbf8f2 12px, #fbf8f2 24px); }
.rahe-sample::before { content: "NÄIDIS"; position: absolute; top: -.7rem; left: 1rem; font-size: .75rem; font-weight: 600; letter-spacing: .08em; background: var(--wp--preset--color--yellow); color: var(--wp--preset--color--ink); padding: .15rem .55rem; border-radius: 6px; }

/* ---------- Minust: mobiilis ümmargune foto pealkirja kõrval ---------- */
.rahe-about .rahe-photo img { aspect-ratio: 4 / 5; object-fit: cover; border-radius: 3px 3px 160px 3px; }
@media (max-width: 767px) {
	.rahe-about.wp-block-columns { display: grid !important; grid-template-columns: 96px 1fr; gap: 0 20px; align-items: center; }
	.rahe-about > .wp-block-column { display: contents; }
	.rahe-about .rahe-photo { grid-column: 1; grid-row: 1; margin: 0; }
	.rahe-about .rahe-photo img { aspect-ratio: 1; border-radius: 50%; }
	.rahe-about h2 { grid-column: 2; grid-row: 1; margin: 0 !important; }
	.rahe-about .wp-block-column > p { grid-column: 1 / -1; margin-top: 14px !important; }
	.rahe-about .wp-block-column > p:first-of-type { margin-top: 28px !important; }
}

/* ---------- Galerii: mobiilis libistatav ---------- */
.rahe-gallery img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 3px; }
@media (max-width: 767px) {
	.rahe-scroller.wp-block-columns { flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 var(--rahe-gut); margin-inline: calc(-1 * var(--rahe-gut)) !important; padding: 12px var(--rahe-gut) 4px; scrollbar-width: none; }
	.rahe-scroller.wp-block-columns::-webkit-scrollbar { display: none; }
	.rahe-scroller > .wp-block-column { flex: 0 0 78% !important; scroll-snap-align: start; }
}

/* Sammud */
.rahe-steps { counter-reset: step; list-style: none; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--rahe-line); }
.rahe-steps li { counter-increment: step; position: relative; padding: 18px 0 18px 48px; border-bottom: 1px solid var(--rahe-line); }
.rahe-steps li::before { content: counter(step); position: absolute; left: 0; top: 16px; width: 32px; height: 32px; border-radius: 50%; background: var(--wp--preset--color--brand); color: #fff; display: grid; place-items: center; font-weight: 600; font-size: 15px; }

/* ---------- Pildid ---------- */
.rahe-photo img { border-radius: 14px; width: 100%; height: auto; object-fit: cover; }
.rahe-giftcard img { border-radius: 8px; box-shadow: 0 18px 36px -18px rgba(31, 50, 41, .55); }
.rahe-dark .rahe-giftcard img { box-shadow: 0 24px 48px -20px rgba(0, 0, 0, .55); }

/* ---------- KKK ---------- */
.wp-block-details { border-bottom: 1px solid var(--rahe-line); }
.rahe-section h2 + .wp-block-details { border-top: 1px solid var(--rahe-line); margin-top: 28px !important; }
.rahe-section .wp-block-details + .wp-block-details { margin-top: 0 !important; }
.wp-block-details { padding-block: 0 !important; }
.wp-block-details summary { position: relative; display: block; min-height: 48px; padding: 13px 36px 13px 0; font-size: 16px; font-weight: 500; line-height: 1.45; cursor: pointer; list-style: none; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::before, .wp-block-details summary::after { content: ""; position: absolute; right: 4px; top: calc(13px + .725em); width: 13px; height: 1.5px; background: var(--wp--preset--color--brand); transition: transform .2s; }
.wp-block-details summary::after { transform: rotate(90deg); }
.wp-block-details[open] > summary::after { transform: rotate(0); }
.wp-block-details > :not(summary) { font-size: 15.5px; color: var(--wp--preset--color--muted); padding-bottom: 20px; margin-top: 0; }


/* ---------- Jalus ---------- */
.rahe-footer { padding: 40px var(--rahe-gut) 28px !important; color: #dfe8dc !important; font-size: 14.5px !important; }
.rahe-footer a { text-decoration: none; }
.rahe-footer a:hover { color: var(--wp--preset--color--yellow) !important; text-decoration: underline; }
.rahe-footer p a { display: inline-block; min-height: 32px; line-height: 32px; }
.rahe-footer-logo { width: 76px; height: auto; display: block; margin-bottom: .75rem; }
.rahe-footer-legal { padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 12.5px; color: #a9bdb0; }
.rahe-footer-legal a { min-height: 0 !important; line-height: inherit !important; text-decoration: underline !important; text-decoration-color: rgba(255, 255, 255, .35) !important; }
.woocommerce-checkout .rahe-footer { padding-bottom: 20px !important; }

/* ---------- Muu ---------- */
@media (max-width: 781px) { .wp-block-columns.rahe-stack { flex-direction: column; } }
.wc-block-components-button:not(.is-link), .single_add_to_cart_button { border-radius: 999px !important; }
.rahe-deco { position: relative; overflow: hidden; isolation: isolate; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }

/* =========================================================
   Tahvel ≥768
   ========================================================= */
@media (min-width: 768px) {
	:root { --rahe-gut: 32px; --rahe-fig: clamp(280px, 40svh, 380px); }
	body { font-size: 17px; }
	.rahe-section { padding-block: 96px; }
	.rahe-lead { font-size: 18px; }
	.rahe-hero { min-height: min(820px, calc(100svh - var(--rahe-hdr))); padding-top: 72px !important; }
	.rahe-hero__text { max-width: 60%; }
	.rahe-hero::after { right: var(--rahe-gut); }
	.rahe-prices.wp-block-columns { display: flex; gap: 32px; border-top: 0; }
	.rahe-prices .rahe-card { grid-template-columns: 1fr; align-content: start; padding: 24px 0 0; border-bottom: 0; border-top: 1px solid var(--rahe-line); }
	.rahe-prices h3, .rahe-prices .rahe-price, .rahe-prices .rahe-card > p { grid-column: 1 !important; grid-row: auto !important; }
	/* Silt kaardi paremasse ülanurka, et kolm veergu jääksid joonde */
	.rahe-prices .rahe-card { position: relative; }
	.rahe-prices .rahe-card > p:has(.rahe-tag) { position: absolute; top: 26px; right: 0; margin: 0 !important; }
	.rahe-prices .rahe-price { margin: 14px 0 4px !important; font-size: 32px; }
	.rahe-steps { grid-template-columns: repeat(3, 1fr); gap: 32px; border-top: 0; }
	.rahe-steps li { border-bottom: 0; border-top: 1px solid var(--rahe-line); padding: 64px 0 0; }
	.rahe-steps li::before { top: 20px; }
	.rahe-card { padding: 28px; }
	.rahe-footer { padding: 56px var(--rahe-gut) 32px !important; font-size: 15px !important; }
}

/* =========================================================
   Laud ≥1000
   ========================================================= */
@media (min-width: 1000px) {
	:root { --rahe-hdr: 72px; --rahe-gut: 40px; --rahe-fig: clamp(380px, 62vh, 540px); }
	.rahe-section { padding-block: 120px; }
	.rahe-brand img { width: 78px; }
	.rahe-header-cta { display: flex !important; }
	.rahe-header-cta .wp-block-button__link { min-height: 42px; padding: 0 20px; font-size: 14.5px; }
	.rahe-header .wp-block-navigation__container { gap: 30px; }
	.rahe-hero { display: flex; align-items: center; min-height: min(760px, calc(100vh - var(--rahe-hdr))); padding-top: 96px !important; padding-bottom: 96px !important; }
	.rahe-hero__text { max-width: 560px; }
	.rahe-hero .rahe-lead { font-size: 19px; }
	.rahe-about .rahe-photo img { border-radius: 3px 3px 200px 3px; max-width: 400px; }
	.rahe-sticky-cta { display: none; }
	.rahe-footer { padding: 72px var(--rahe-gut) 40px !important; }
	.rahe-deco::after { content: ""; position: absolute; z-index: -1; pointer-events: none; -webkit-mask: no-repeat center bottom / contain; mask: no-repeat center bottom / contain; }
	.rahe-deco--hinnad::after { width: 140px; aspect-ratio: 237 / 518; right: 4vw; top: 3.5rem; background: var(--wp--preset--color--lilac); -webkit-mask-image: url(img/brand/keha2.svg); mask-image: url(img/brand/keha2.svg); }
	.rahe-deco--kkk::after { width: 300px; aspect-ratio: 645 / 658; right: 3vw; bottom: -10px; background: var(--wp--preset--color--sage); opacity: .7; -webkit-mask-image: url(img/brand/keha3.svg); mask-image: url(img/brand/keha3.svg); }
}

/* =========================================================
   Ülevaatuse parandused
   ========================================================= */
/* Laine ainult sektsiooni pealkirjal, mitte kaartides */
.rahe-card h2.wp-block-heading::after { display: none; }

/* Maksmine: rohelisel joontega loend (mobiilis üksteise all, tahvlis 2×2, laual 4 veergu) */
.rahe-pay { list-style: none; padding: 0; margin-top: 28px !important; border-top: 1px solid var(--rahe-line-inv); display: grid; }
.rahe-pay li { padding: 18px 0 20px; border-bottom: 1px solid var(--rahe-line-inv); font-size: 15px; line-height: 1.6; color: #d3dfcf; }
.rahe-pay strong { display: block; margin-bottom: 4px; font-family: var(--wp--preset--font-family--serif); font-weight: 400; font-size: 20px; color: #fff; }
.rahe-pay a { display: inline-block; padding-top: 6px; }

/* Asukoht: info joontega + kaart */
.rahe-info { list-style: none; padding: 0; margin-top: 24px !important; border-top: 1px solid var(--rahe-line); }
.rahe-info li { padding: 14px 0; border-bottom: 1px solid var(--rahe-line); font-size: 15.5px; }
.rahe-info li:last-child { border-bottom: 0; padding-bottom: 0; }
.rahe-info strong { display: block; margin-bottom: 2px; font-weight: 500; }
.rahe-info a { display: inline-flex; align-items: center; min-height: 44px; }
.rahe-map { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 3px; background: var(--wp--preset--color--pale); }
.rahe-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(.5); }
.rahe-map__facade { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 24px; text-align: center; color: var(--wp--preset--color--brand); }
.rahe-map__facade svg { width: 34px; height: auto; }
.rahe-map__btn { min-height: 44px; padding: 0 22px; border: 1px solid currentColor; border-radius: 999px; background: transparent; color: inherit; font: inherit; font-size: 14.5px; cursor: pointer; }
.rahe-map__btn:hover { background: rgba(43, 92, 71, .08); }
.rahe-map__facade small { font-size: 12.5px; color: var(--wp--preset--color--ink); }

/* Ateljee: tekst + galerii */
.rahe-studio .rahe-gallery { margin-top: 28px; }

/* Jalus: puutealad vähemalt 44px */
.rahe-footer p a { min-height: 44px; line-height: 44px; }
.rahe-footer .wp-block-columns { gap: 8px 24px; }

/* Ettevõtte leht: väiksem figuur mobiilis */
.rahe-hero--b2b { --rahe-fig: clamp(170px, 28svh, 260px); }

/* Kinkekaardi hero */
.rahe-gift-hero { padding-block: 48px 56px !important; }
.rahe-gift-hero .wp-block-buttons { margin-top: 24px; }
.rahe-gift-hero .wp-block-columns { gap: 32px; }

@media (min-width: 768px) {
	.rahe-pay { grid-template-columns: 1fr 1fr; column-gap: 40px; }
	.rahe-map { aspect-ratio: 16 / 9; }
	/* Galerii: üks suur ja kaks väikest */
	.rahe-gallery.wp-block-columns { display: grid !important; grid-template-columns: 2fr 1fr; grid-template-rows: auto auto; gap: 10px !important; }
	.rahe-gallery > .wp-block-column:first-child { grid-row: span 2; position: relative; min-height: 100%; }
	.rahe-gallery > .wp-block-column:first-child figure { position: absolute; inset: 0; margin: 0; }
	.rahe-gallery > .wp-block-column:first-child img { aspect-ratio: auto !important; width: 100%; height: 100% !important; object-fit: cover; }
	.rahe-gallery > .wp-block-column:not(:first-child) img { aspect-ratio: 3 / 4; }
	.rahe-gallery figure { margin: 0; }
}
@media (min-width: 1000px) {
	.rahe-pay { grid-template-columns: repeat(4, 1fr); gap: 40px; border-top: 0; margin-top: 48px !important; }
	.rahe-pay li { border-bottom: 0; border-top: 1px solid var(--rahe-line-inv); padding-top: 22px; }
	.rahe-studio.wp-block-columns { align-items: center; gap: 80px; }
	.rahe-studio .rahe-gallery { margin-top: 0; }
	.rahe-find.wp-block-columns { gap: 80px; align-items: stretch; }
	.rahe-find .rahe-map { aspect-ratio: auto; height: 100%; min-height: 420px; }
}

/* Kinkekaardi kuju valik */
.rahe-format { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 24px 0 0; padding: 0; border: 0; }
.rahe-format legend { padding: 0; margin-bottom: 10px; font-size: 11.5px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.rahe-format label { position: relative; cursor: pointer; }
.rahe-format input { position: absolute; opacity: 0; inset: 0; margin: 0; }
.rahe-format span { display: flex; flex-direction: column; gap: 2px; min-height: 64px; padding: 12px 14px; border: 1px solid var(--rahe-line); border-radius: 12px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.rahe-format strong { font-weight: 500; font-size: 15.5px; }
.rahe-format small { font-size: 13px; color: var(--wp--preset--color--muted); line-height: 1.35; }
.rahe-format input:checked + span { border-color: var(--wp--preset--color--brand); box-shadow: 0 0 0 1px var(--wp--preset--color--brand); }
.rahe-format input:focus-visible + span { outline: 2px solid var(--wp--preset--color--orange); outline-offset: 2px; }

/* Mobiilimenüü: vasakule joondatud, all broneerimisnupp */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch !important; padding-top: 48px !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: stretch !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { justify-content: flex-start !important; text-align: left; }
.rahe-nav-book { display: none !important; }
.wp-block-navigation__responsive-container.is-menu-open .rahe-nav-book { display: flex !important; border-bottom: 0 !important; margin-top: 20px; }
.wp-block-navigation__responsive-container.is-menu-open .rahe-nav-book a { display: flex !important; justify-content: center; align-items: center; min-height: 48px; padding: 0 24px !important; border-radius: 999px; background: var(--wp--preset--color--orange); color: var(--wp--preset--color--ink) !important; font-size: 16px !important; font-weight: 500; width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open { --navigation-layout-justification-setting: stretch; --navigation-layout-justify: flex-start; --navigation-layout-align: stretch; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: stretch !important; width: 100%; box-sizing: border-box; }
.wp-block-navigation__responsive-container.is-menu-open .rahe-nav-book a { box-sizing: border-box; }

/* =========================================================
   v5 – elegantne ja minimalistlik.
   Kreemjas taust, õhk, peened jooned, suur peenike kiri.
   Brändikujundid harva, suured, lähedale suumitud, toon-toonis.
   Tumeroheline aksent (nupud, pealkirjad, jalus).
   ========================================================= */
:root {
	--g: #2b5c47; --gd: #1f4535; --sage: #b1d1a0; --pale: #c7d0b5; --org: #ef7a44; --cream: #faf6ef; --sand: #f4ece2; --ink: #1f3229; --muted: #5b6b62;
	--hair: rgba(43, 92, 71, .18);
	--k1: url(img/brand/keha1.svg); --k2: url(img/brand/keha2.svg); --k3: url(img/brand/keha3.svg);
}
body { background: var(--cream); color: var(--ink); }

/* Nupud: tumeroheline, rahulik */
.wp-block-button__link { background: var(--gd); color: var(--cream); font-weight: 500; letter-spacing: .01em; }
.wp-block-button__link:hover { background: var(--ink); color: #fff; }
.is-style-outline .wp-block-button__link { background: transparent; color: var(--gd); border: 1px solid var(--gd); }
.is-style-outline .wp-block-button__link:hover { background: rgba(31, 69, 53, .06); color: var(--gd); }
.rahe-sticky-cta__btn, .wp-block-navigation__responsive-container.is-menu-open .rahe-nav-book a { background: var(--gd) !important; color: var(--cream) !important; }
.rahe-header { border-bottom-color: var(--hair); }

/* Sektsioonid */
.wp-block-post-content > .rm-sec { margin-block: 0 !important; }
.rm-sec { padding-block: 88px; }
.rm-sec--tint { background: var(--sand); }
.rm-sec h2 { font-size: clamp(34px, 9vw, 56px); line-height: 1.04; color: var(--g); margin: 0 0 20px !important; }
.rm-sec p { max-width: 58ch; }
.rm-kicker { display: flex; align-items: center; gap: 12px; font-size: 11.5px !important; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); margin: 0 0 18px !important; }
.rm-kicker::before { content: ""; width: 24px; height: 1px; background: var(--org); }
.rm-lead { font-size: 18px; line-height: 1.55; color: var(--muted); }
.rm-link a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--gd); font-weight: 500; text-decoration: none; border-bottom: 1px solid var(--gd); }
.rm-link a::after { content: "→"; transition: transform .2s; }
.rm-link a:hover::after { transform: translateX(4px); }
.rm-aside { margin-top: 32px !important; padding-top: 20px; border-top: 1px solid var(--hair); font-size: 15px; color: var(--muted); }
.rm-photo { margin: 0; }
.rm-photo img { display: block; width: 100%; height: auto; border-radius: 2px; }

/* Hero */
.rm-hero { padding-top: 40px; padding-bottom: 72px; }
.rm-hero h1 { font-size: clamp(46px, 13vw, 96px); line-height: .98; color: var(--g); letter-spacing: -.015em; }
.rm-hero h1 em { font-family: var(--wp--preset--font-family--italic); font-style: italic; font-weight: 400; }
.rm-hero .rm-lead { margin-top: 20px !important; max-width: 32ch; }
.rm-hero .wp-block-buttons { margin-top: 28px !important; }
.rm-hero__grid { gap: 48px !important; }
/* Kujund foto nurgal: suur, lähedale suumitud salvei figuur, osaliselt foto peal */
.rm-photo--shape { position: relative; isolation: isolate; }
.rm-photo--shape img { aspect-ratio: 4 / 5; object-fit: cover; position: relative; z-index: 0; }
.rm-photo--shape::after { content: ""; position: absolute; z-index: 1; pointer-events: none; width: 78%; aspect-ratio: 645 / 658; left: -22%; bottom: -16%; background: var(--sage); -webkit-mask: var(--k3) no-repeat 0 0 / 100% 100%; mask: var(--k3) no-repeat 0 0 / 100% 100%; }
.rm-hero__media { padding-left: 18px; }

/* Minust: kaarjas portree */
.rm-split { gap: 48px !important; }
.rm-portrait img { aspect-ratio: 4 / 5; object-fit: cover; border-radius: 999px 999px 2px 2px; }

/* Hinnad: read peente joontega */
.rm-prices { list-style: none; padding: 0; margin: 12px 0 0 !important; border-top: 1px solid var(--hair); }
.rm-prices li { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 4px 16px; padding: 22px 0 24px; border-bottom: 1px solid var(--hair); }
.rm-prices__name { font-family: var(--wp--preset--font-family--serif); font-size: 28px; color: var(--ink); }
.rm-prices__name em { font-family: var(--wp--preset--font-family--italic); font-style: italic; font-size: 18px; color: var(--g); margin-left: 8px; }
.rm-prices__eur { font-family: var(--wp--preset--font-family--serif); font-size: 32px; color: var(--g); }
.rm-prices__desc { grid-column: 1 / -1; font-size: 15px; color: var(--muted); }
.rm-pay { margin-top: 24px !important; font-size: 15px; color: var(--muted); }
#hinnad .wp-block-buttons { margin-top: 32px !important; }

/* Ateljee: kaks fotot nihkes */
.rm-studio__grid { gap: 14px !important; flex-wrap: wrap !important; }
.rm-studio__text { flex-basis: 100% !important; margin-bottom: 20px; }
.rm-studio__a, .rm-studio__b { flex: 1 1 0 !important; }
.rm-studio__a img, .rm-studio__b img { aspect-ratio: 3 / 4; object-fit: cover; }
.rm-studio__b { margin-top: 48px !important; }

/* Arvustused */
.rm-quotes { list-style: none; padding: 0; margin: 0 !important; display: grid; gap: 0; border-top: 1px solid var(--hair); }
.rm-quotes li { padding: 26px 0; border-bottom: 1px solid var(--hair); position: relative; }
.rm-quotes li::after { content: "NÄIDIS"; position: absolute; top: 28px; right: 0; font-size: 10px; letter-spacing: .14em; color: var(--muted); border: 1px dashed var(--hair); padding: 2px 6px; }
.rm-quotes__text { display: block; font-family: var(--wp--preset--font-family--italic); font-style: italic; font-size: 26px; line-height: 1.3; color: var(--g); padding-right: 70px; }
.rm-quotes__name { display: block; margin-top: 8px; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }

/* Kinkekaart: kaart salvei kujundi ees */
.rm-giftcard { position: relative; isolation: isolate; max-width: 420px; margin: 24px auto 24px !important; }
.rm-giftcard::before { content: ""; position: absolute; z-index: -1; width: 120%; aspect-ratio: 1090 / 1251; left: -6%; top: -40%; background: var(--pale); -webkit-mask: var(--k1) no-repeat 0 0 / 100% 100%; mask: var(--k1) no-repeat 0 0 / 100% 100%; }
.rm-giftcard img { border-radius: 4px; box-shadow: 0 24px 40px -24px rgba(31, 50, 41, .55); }
.rm-gift { overflow: hidden; }

/* KKK */
#kkk .wp-block-details:first-of-type { border-top: 1px solid var(--hair); }
#kkk .wp-block-details { border-bottom-color: var(--hair); }

/* Asukoht */
.rm-find .rahe-map { border-radius: 2px; background: var(--pale); }

/* Jalus: täislaius, roheline aksent */
.rahe-footer { margin: 0 !important; border-radius: 0 !important; }

/* ---------- Laiemad ekraanid ---------- */
@media (min-width: 782px) {
	.rm-sec { padding-block: 140px; }
	.rm-hero { padding-top: 72px; padding-bottom: 120px; }
	.rm-hero__grid, .rm-split { gap: 80px !important; }
	.rm-hero__media { padding-left: 0; }
	.rm-prices__name { font-size: 32px; }
	.rm-prices__eur { font-size: 38px; }
	.rm-studio__grid { flex-wrap: nowrap !important; align-items: flex-end; }
	.rm-studio__text { flex: 1.1 1 0 !important; margin-bottom: 0; align-self: center; padding-right: 40px; }
	.rm-studio__b { margin-top: 120px !important; }
	.rm-quotes { grid-template-columns: repeat(3, 1fr); gap: 40px; border-top: 0; }
	.rm-quotes li { border-bottom: 0; border-top: 1px solid var(--hair); }
	.rm-giftcard { margin: 0 !important; }
}
/* v5 täpsustused */
.rm-photo--shape::after { width: 58%; left: -9%; bottom: -10%; }
.rm-giftcard::before { width: 46%; aspect-ratio: 237 / 518; left: auto; right: -4%; top: -38%; -webkit-mask-image: var(--k2); mask-image: var(--k2); background: var(--sage); }
.rm-giftcard { margin-top: 56px !important; }
@media (min-width: 782px) { .rm-giftcard { margin-top: 0 !important; } .rm-giftcard::before { top: -30%; } }
.rm-photo--shape { overflow: hidden; border-radius: 2px; }
.rm-photo--shape::after { width: 120%; left: -58%; bottom: -62%; }
.rm-giftcard::before { display: none; }
.rm-giftcard { margin-top: 8px !important; }
.rm-hero__media { padding-left: 0; }

/* v5 alamlehed: sama rahulik keel */
.rahe-section { padding-block: 72px; }
.rahe-section h2.wp-block-heading::after { display: none; }
.rahe-section :where(h1, h2) { color: var(--g) !important; }
.rahe-section h1 { font-size: clamp(42px, 11vw, 80px); line-height: 1; }
.rahe-section h2 { font-size: clamp(32px, 8.4vw, 52px); }
/* Päised: kreem, ilma figuurita */
.rahe-section.rahe-hero, .rahe-gift-hero, .rahe-section.rahe-dark { background: var(--cream) !important; color: var(--ink) !important; min-height: 0 !important; padding: 48px 0 56px !important; padding-inline: var(--wp--style--root--padding-left, 20px) !important; }
.rahe-section.rahe-hero::after, .rahe-gift-hero::after { display: none !important; }
.rahe-section.rahe-dark :where(p, .rahe-lead) { color: var(--muted) !important; }
.rahe-section.rahe-dark .is-style-outline .wp-block-button__link { color: var(--gd); border-color: var(--gd); }
.rahe-section .rahe-kicker { display: flex; align-items: center; gap: 12px; font-size: 11.5px; letter-spacing: .2em; color: var(--muted) !important; }
.rahe-section .rahe-kicker::before { content: ""; width: 24px; height: 1px; background: var(--org); }
.rahe-gift-hero .rahe-giftcard img { box-shadow: 0 24px 40px -24px rgba(31, 50, 41, .55); outline: 0; border-radius: 4px; }
.has-sand-background-color.rahe-section { background: var(--sand) !important; }
/* Kaardid → read peente joontega */
.rahe-section .rahe-card { background: transparent !important; border: 0 !important; border-top: 1px solid var(--hair) !important; border-radius: 0 !important; box-shadow: none !important; padding: 22px 0 !important; }
.rahe-section .rahe-card--featured .rahe-price::after { content: " · enim valitud"; font-family: var(--wp--preset--font-family--italic); font-style: italic; font-size: 18px; color: var(--g); }
.rahe-section .rahe-card .rahe-price { font-size: 38px; color: var(--g); }
.rahe-section .wp-block-columns.rahe-stack { gap: 0 32px; }
.rahe-sample.rahe-card { border-top-style: dashed !important; }
/* Sammud: nummerdatud read */
.rahe-steps { border-top: 1px solid var(--hair); gap: 0; }
.rahe-steps li { background: none; border: 0 !important; border-bottom: 1px solid var(--hair) !important; border-radius: 0; padding: 20px 0 20px 52px !important; }
.rahe-steps li::before { left: 0; top: 18px; background: none; border: 1px solid var(--g); color: var(--g); }
/* Kinkekaardi kuju valik */
.rahe-format span { border-radius: 4px; background: transparent; }
@media (min-width: 782px) {
	.rahe-section { padding-block: 112px; }
	.rahe-section.rahe-hero, .rahe-gift-hero, .rahe-section.rahe-dark { padding: 88px max(40px, calc((100vw - 1160px) / 2)) 96px !important; }
	.rahe-steps { grid-template-columns: repeat(3, 1fr); gap: 0 32px; border-top: 0; }
	.rahe-steps li { border-bottom: 0 !important; border-top: 1px solid var(--hair) !important; padding: 64px 0 0 !important; }
	.rahe-steps li::before { top: 20px; }
}

/* Hero taust: hiiglaslik salvei figuur rohelisel – näha ainult rohelised jooned */
.rm-hero--lines { position: relative; overflow: hidden; isolation: isolate; background: var(--g); min-height: calc(88svh - var(--rahe-hdr)); display: flex; align-items: flex-end; padding-bottom: 64px; }
.rm-hero--lines > * { width: 100%; }
.rm-hero--lines::after { content: ""; position: absolute; z-index: -1; pointer-events: none; background: var(--sage); -webkit-mask: var(--k3) no-repeat 0 0 / 100% 100%; mask: var(--k3) no-repeat 0 0 / 100% 100%; width: 520%; aspect-ratio: 645 / 658; left: -200%; top: -160%; }
.rm-hero--lines h1 { color: var(--gd); }
.rm-hero--lines .rm-lead { color: var(--gd); opacity: .85; }
@media (min-width: 782px) {
	.rm-hero--lines { min-height: min(820px, calc(100svh - var(--rahe-hdr))); align-items: center; padding-block: 96px; }
	.rm-hero--lines::after { width: 300%; left: -90%; top: -285%; }
	.rm-hero--lines .rm-hero__text { max-width: 640px; }
}

/* Joondus: ainult vertikaalsed veerised, et WordPressi tsentreerimine jääks kehtima */
.rm-kicker { margin: 0 0 18px !important; margin-inline: revert-layer; }
.is-layout-constrained > .rm-kicker, .is-layout-constrained > h2, .is-layout-constrained > .rm-prices, .is-layout-constrained > .rm-quotes, .is-layout-constrained > .rm-pay, .is-layout-constrained > .wp-block-buttons, .is-layout-constrained > .wp-block-details {
	margin-left: auto !important; margin-right: auto !important; max-width: var(--wp--style--global--content-size, 1160px) !important; width: 100%;
}
.is-layout-constrained > .rm-kicker { margin-top: 0 !important; margin-bottom: 18px !important; }
.is-layout-constrained > h2 { margin-top: 0 !important; margin-bottom: 20px !important; }
.is-layout-constrained > .rm-quotes { margin-top: 0 !important; margin-bottom: 0 !important; }
/* Pealkiri vasakul, sisu paremal (hinnad, KKK) */
@media (min-width: 782px) {
	.rm-headcol.is-layout-constrained { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); column-gap: 80px; align-content: start; padding-inline: max(40px, calc((100vw - 1160px) / 2)) !important; }
	.rm-headcol.is-layout-constrained > * { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; grid-column: 2; }
	.rm-headcol.is-layout-constrained > .rm-kicker { grid-column: 1; grid-row: 1; }
	.rm-headcol.is-layout-constrained > h2 { grid-column: 1; grid-row: 2 / span 6; align-self: start; }
	.rm-headcol.is-layout-constrained > .rm-prices, .rm-headcol.is-layout-constrained > .wp-block-details:first-of-type { grid-row: 1 / span 2; }
	#hinnad.rm-headcol > .rm-prices { margin-top: 0 !important; }
	#hinnad.rm-headcol > .rm-pay { grid-row: 3; }
	#hinnad.rm-headcol > .wp-block-buttons { grid-row: 4; }
	#kkk.rm-headcol > .wp-block-details:first-of-type { grid-row: 1; }
	#kkk.rm-headcol > .wp-block-details:nth-of-type(2) { grid-row: 2; }
	#kkk.rm-headcol > .wp-block-details:nth-of-type(3) { grid-row: 3; }
	#kkk.rm-headcol > .wp-block-details:nth-of-type(4) { grid-row: 4; }
}
.is-layout-constrained > .rm-kicker, .is-layout-constrained > h2, .is-layout-constrained > .rm-prices, .is-layout-constrained > .rm-quotes, .is-layout-constrained > .rm-pay, .is-layout-constrained > .wp-block-buttons, .is-layout-constrained > .wp-block-details { max-width: 1160px !important; }
@media (min-width: 782px) {
	.rm-headcol.is-layout-constrained > .rm-kicker { grid-row: 1; align-self: start; }
	.rm-headcol.is-layout-constrained > h2 { grid-row: 1 / span 8; align-self: start; margin-top: 38px !important; }
	#hinnad.rm-headcol > .rm-prices { grid-row: 1; }
	#hinnad.rm-headcol > .rm-pay { grid-row: 2; }
	#hinnad.rm-headcol > .wp-block-buttons { grid-row: 3; }
}

/* =========================================================
   v5.1 – rohkem brändigraafikat (värvilised hinnaplaadid,
   suumitud figuurid portree, foto, kinkekaardi, KKK ja jaluse juures)
   ========================================================= */
.rm-sec { position: relative; }
#minust, #ateljee, #kkk, #kingi { overflow: hidden; isolation: isolate; }

/* Hinnaplaadid */
.is-layout-constrained > .rm-tiles { max-width: 1160px !important; margin: 12px auto 0 !important; width: 100%; }
.rm-tiles { display: grid; gap: 12px; }
.rm-tile { position: relative; overflow: hidden; isolation: isolate; border-radius: 22px; padding: 24px 24px 26px; min-height: 180px; display: flex; flex-direction: column; color: var(--ink); }
.rm-tile > * { position: relative; margin: 0 !important; }
.rm-tile__tag { align-self: flex-start; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; background: var(--gd); color: var(--yel, #f0d385); padding: 5px 10px; border-radius: 999px; margin-bottom: 14px !important; }
.rm-tile__min { font-family: var(--wp--preset--font-family--serif); font-size: 26px; }
.rm-tile__eur { font-family: var(--wp--preset--font-family--serif); font-size: 56px; line-height: 1; margin: 6px 0 14px !important; }
.rm-tile__desc { font-size: 15px; max-width: 22ch; }
.rm-tile::after { content: ""; position: absolute; z-index: -1; pointer-events: none; background: var(--c); opacity: .65; -webkit-mask: var(--m) no-repeat 0 0 / 100% 100%; mask: var(--m) no-repeat 0 0 / 100% 100%; }
.rm-tile--sage { background: #b1d1a0; --c: #94c27f; --m: var(--k1); }
.rm-tile--sage::after { width: 280px; aspect-ratio: 1090 / 1251; right: -120px; bottom: -160px; }
.rm-tile--yellow { background: #f0d385; --c: #e6bb52; --m: var(--k3); }
.rm-tile--yellow::after { width: 280px; aspect-ratio: 645 / 658; right: -120px; bottom: -130px; }
.rm-tile--lilac { background: #c5a8fa; --c: #a98be6; --m: var(--k2); }
.rm-tile--lilac::after { width: 160px; aspect-ratio: 237 / 518; right: -30px; bottom: -170px; }
#hinnad .rm-pay { margin-top: 24px !important; }

/* Minust: suur lilla figuur kaarja portree taga */
.rm-portrait { position: relative; isolation: isolate; }
.rm-portrait::before { content: ""; position: absolute; z-index: -1; pointer-events: none; width: 82%; aspect-ratio: 237 / 518; right: -26%; top: -14%; background: #c5a8fa; -webkit-mask: var(--k2) no-repeat 0 0 / 100% 100%; mask: var(--k2) no-repeat 0 0 / 100% 100%; }

/* Ateljee: kollane kujund lambifoto nurgas */
.rm-studio__b .rm-photo { position: relative; overflow: hidden; isolation: isolate; border-radius: 2px; }
.rm-studio__b .rm-photo::after { content: ""; position: absolute; z-index: 1; pointer-events: none; width: 115%; aspect-ratio: 645 / 658; right: -62%; bottom: -58%; background: #f0d385; -webkit-mask: var(--k3) no-repeat 0 0 / 100% 100%; mask: var(--k3) no-repeat 0 0 / 100% 100%; }

/* Kinkekaart: salvei taust, suumitud tumedam figuur */
.rm-gift { background: #b1d1a0; }
.rm-gift::after { content: ""; position: absolute; z-index: -1; pointer-events: none; width: 760px; aspect-ratio: 1090 / 1251; right: -380px; top: -260px; background: #94c27f; -webkit-mask: var(--k1) no-repeat 0 0 / 100% 100%; mask: var(--k1) no-repeat 0 0 / 100% 100%; }
.rm-gift .rm-kicker, .rm-gift .rm-aside { color: var(--gd); }
.rm-gift .rm-aside { border-top-color: rgba(31, 69, 53, .2); }

/* KKK: kahvaturoheline figuur pealkirja all (laial ekraanil) */
@media (min-width: 782px) {
	#kkk::after { content: ""; position: absolute; z-index: -1; pointer-events: none; width: 420px; aspect-ratio: 645 / 658; left: -120px; bottom: -160px; background: #e3e8d8; -webkit-mask: var(--k3) no-repeat 0 0 / 100% 100%; mask: var(--k3) no-repeat 0 0 / 100% 100%; }
}

/* Jalus: salvei figuur servas */
.rahe-footer { position: relative; overflow: hidden; isolation: isolate; }
.rahe-footer::after { content: ""; position: absolute; z-index: -1; pointer-events: none; width: 170px; aspect-ratio: 237 / 518; right: -60px; bottom: -150px; background: #b1d1a0; opacity: .9; -webkit-mask: var(--k2) no-repeat 0 0 / 100% 100%; mask: var(--k2) no-repeat 0 0 / 100% 100%; }

@media (min-width: 782px) {
	.rm-tiles { grid-template-columns: repeat(3, 1fr); }
	.rm-tile { min-height: 280px; padding: 32px; }
	.rm-tile__eur { font-size: 64px; }
	.rm-gift::after { width: 1100px; right: -320px; top: -420px; }
	.rahe-footer::after { width: 260px; right: 4vw; bottom: -260px; }
}
.rm-portrait::before { width: 58%; right: -16%; top: -10%; }
.rm-portrait { margin-bottom: 8px !important; }
@media (min-width: 782px) { .rm-portrait::before { width: 72%; right: -24%; top: -14%; } }

/* Ateljee karussell */
.is-layout-constrained > .rm-carousel, .is-layout-constrained > .rm-carousel__nav, .is-layout-constrained > .rm-studio__lead { max-width: 1160px !important; margin-left: auto !important; margin-right: auto !important; width: 100%; }
.rm-studio__lead { color: var(--muted); max-width: 52ch; }
.rm-carousel { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-top: 32px !important; padding-bottom: 4px; }
.rm-carousel::-webkit-scrollbar { display: none; }
.rm-slide { flex: 0 0 84%; margin: 0 !important; scroll-snap-align: start; position: relative; overflow: hidden; isolation: isolate; border-radius: 2px; }
.rm-slide img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.rm-slide--shape::after { content: ""; position: absolute; z-index: 1; pointer-events: none; width: 115%; aspect-ratio: 645 / 658; right: -62%; bottom: -58%; background: #f0d385; -webkit-mask: var(--k3) no-repeat 0 0 / 100% 100%; mask: var(--k3) no-repeat 0 0 / 100% 100%; }
.rm-carousel__nav { display: flex; align-items: center; gap: 16px; margin-top: 20px !important; }
.rm-carousel__btn { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--gd); background: transparent; color: var(--gd); font-size: 18px; cursor: pointer; display: none; }
.rm-carousel__btn:hover { background: rgba(31, 69, 53, .06); }
.rm-carousel__dots { display: flex; gap: 8px; }
.rm-carousel__dot { width: 8px; height: 8px; padding: 0; border-radius: 50%; border: 0; background: var(--hair); cursor: pointer; }
.rm-carousel__dot.is-active { background: var(--gd); }
@media (min-width: 782px) {
	.rm-slide { flex-basis: calc((100% - 24px) / 2.4); }
	.rm-carousel__btn { display: inline-grid; place-items: center; }
}

/* Kinkekaart: soe liivataust, kollane figuur kaardi taga (mitte teksti all) */
.rm-gift { background: var(--sand); }
.rm-gift::after { display: none; }
.rm-gift .rm-kicker { color: var(--muted); }
.rm-gift .rm-aside { color: var(--muted); border-top-color: var(--hair); }
.rm-giftcard { position: relative; isolation: isolate; }
.rm-giftcard::before { display: block !important; content: ""; position: absolute; z-index: -1; pointer-events: none; width: 78%; aspect-ratio: 645 / 658; right: -14%; top: -42%; left: auto; background: #f0d385; -webkit-mask: var(--k3) no-repeat 0 0 / 100% 100%; mask: var(--k3) no-repeat 0 0 / 100% 100%; }
.rm-gift { overflow: hidden; }
@media (min-width: 782px) { .rm-giftcard::before { width: 70%; right: auto; left: -18%; top: -40%; } }
.rm-slide--shape::after, .rm-studio__b .rm-photo::after { display: none; }

/* Minust: väiksem portree, lilla figuur pööratud horisontaalseks taustaks, ainult pildiveerus */
.rm-portrait::before { display: none !important; }
#minust .rm-split > .wp-block-column:first-child { position: relative; overflow: hidden; isolation: isolate; padding: 40px 0; display: flex; justify-content: center; }
#minust .rm-split > .wp-block-column:first-child::before {
	content: ""; position: absolute; z-index: -1; pointer-events: none;
	width: 62%; aspect-ratio: 237 / 518; left: 50%; top: 50%;
	transform: translate(-50%, -50%) rotate(-90deg) scale(1.9);
	background: #c5a8fa;
	-webkit-mask: var(--k2) no-repeat 0 0 / 100% 100%; mask: var(--k2) no-repeat 0 0 / 100% 100%;
}
#minust .rm-portrait { width: 72%; max-width: 340px; margin: 0 !important; }
@media (min-width: 782px) {
	#minust .rm-split > .wp-block-column:first-child { padding: 56px 0; }
	#minust .rm-portrait { width: 60%; max-width: 360px; }
}
#minust .rm-split > .wp-block-column:first-child { overflow: visible; clip-path: inset(0 -100vw 0 -100vw); }
#minust .rm-split > .wp-block-column:first-child::before { width: 48%; left: 34%; transform: translate(-50%, -50%) rotate(-90deg) scale(1.45); }
@media (min-width: 782px) {
	#minust .rm-split > .wp-block-column:first-child { clip-path: inset(-200px 0 -200px -100vw); }
	#minust .rm-split > .wp-block-column:first-child::before { width: 44%; left: 22%; transform: translate(-50%, -50%) rotate(-90deg) scale(1.55); }
}

/* =========================================================
   v5.2 – maitsekas funky / soul: kaared, jooksev riba,
   lained, soojad toonid, retro-vari nuppudel
   ========================================================= */
/* Portree: lõigatud foto sinepikollasel kaarel */
#minust .rm-portrait { background: #f0d385; border-radius: 999px 999px 4px 4px; overflow: hidden; aspect-ratio: 4 / 5; display: flex; align-items: flex-end; }
#minust .rm-portrait img { width: 100%; height: 92%; object-fit: cover; object-position: center top; border-radius: 0; aspect-ratio: auto; }

/* Jooksev riba hero all */
.wp-block-post-content > .rm-ticker { margin: 0 !important; max-width: none !important; }
.rm-ticker { overflow: hidden; background: #f0d385; color: var(--ink); border-block: 1px solid rgba(31, 69, 53, .12); }
.rm-ticker__track { display: flex; width: max-content; animation: rm-ticker 46s linear infinite; }
.rm-ticker span { display: inline-flex; align-items: center; gap: 22px; padding: 14px 0 14px 22px; font-family: var(--wp--preset--font-family--italic); font-style: italic; font-size: 22px; white-space: nowrap; }
.rm-ticker span::after { content: "✦"; font-style: normal; font-size: 13px; color: var(--org); }
@keyframes rm-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .rm-ticker__track { animation: none; } }

/* Kaarjad hinnaplaadid (70ndate plaadiümbrise vaib) */
.rm-tile { border-radius: 140px 140px 22px 22px / 110px 110px 22px 22px; padding-top: 64px; align-items: center; text-align: center; }
.rm-tile__desc { margin-inline: auto !important; }
.rm-tile__tag { align-self: center; }

/* Laine sektsioonide alguses */
#hinnad::before, #arvustused::before, #kkk::before { content: ""; position: absolute; top: 34px; left: 50%; width: 96px; height: 10px; transform: translateX(-50%); background: var(--org); -webkit-mask: url(img/brand/laine.svg) no-repeat center / contain; mask: url(img/brand/laine.svg) no-repeat center / contain; }

/* Retro-vari nuppudel */
.wp-block-button:not(.is-style-outline) .wp-block-button__link { box-shadow: 3px 3px 0 var(--org); transition: transform .15s, box-shadow .15s, background .2s; }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { transform: translate(-1px, -1px); box-shadow: 4px 4px 0 var(--org); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--org); }

/* Pealkirjade kaldkirjaga rõhuasetused soojas toonis */
.rm-sec h2 em { font-family: var(--wp--preset--font-family--italic); font-style: italic; font-weight: 400; color: #c2602f; }

@media (min-width: 782px) {
	.rm-tile { border-radius: 200px 200px 24px 24px / 150px 150px 24px 24px; padding-top: 84px; }
	.rm-ticker span { font-size: 26px; padding-block: 18px; }
	#hinnad::before, #arvustused::before, #kkk::before { top: 56px; }
}
.wp-block-post-content > .rm-ticker { width: 100vw; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: 0 !important; }

/* =========================================================
   Hero v3: kaks veergu, kompaktne. Vasakul tekst kreemjal,
   paremal valmis renderdatud joonte teos kaarjas raamis.
   ========================================================= */
.rm-hero2 { padding-block: 0 48px; }
.rm-hero2__grid { gap: 32px !important; flex-direction: column-reverse; }
.rm-hero2__art { width: 100%; }
.rm-hero2__panel { height: 220px; margin-inline: calc(-1 * var(--wp--style--root--padding-left, 20px)); background: #2b5c47 url(img/hero-jooned.png) center 38% / cover no-repeat; border-radius: 0 0 28px 28px; }
.rm-hero2 h1 { font-size: clamp(42px, 11.5vw, 72px); line-height: 1; color: var(--g); letter-spacing: -.015em; margin: 0 !important; }
.rm-hero2 h1 em { font-family: var(--wp--preset--font-family--italic); font-style: italic; font-weight: 400; color: #c2602f; }
.rm-hero2 .rm-lead { margin-top: 18px !important; max-width: 32ch; }
.rm-hero2 .wp-block-buttons { margin-top: 26px !important; }
@media (min-width: 782px) {
	.rm-hero2 { padding-block: 56px 72px; }
	.rm-hero2__grid { flex-direction: row; gap: 72px !important; }
	.rm-hero2__text { flex: 1 1 0 !important; }
	.rm-hero2__art { flex: 0 0 42% !important; }
	.rm-hero2__panel { height: auto; aspect-ratio: 4 / 5; max-height: 560px; margin: 0 0 0 auto; background-position: center; border-radius: 999px 999px 6px 6px; }
}

/* =========================================================
   Hero: täislaiuses taust (renderdatud brändijooned).
   Lauaarvutis jooned paremal, mobiilis üleval – teksti ala on alati puhas salvei.
   ========================================================= */
.rm-hero3 { background: #b1d1a0 url(img/hero-bg-mobile.svg) center top / 100% auto no-repeat; padding-top: calc(125vw * .46); padding-bottom: 48px; }
.rm-hero3 h1 { font-size: clamp(42px, 11.5vw, 76px); line-height: 1; color: var(--gd); letter-spacing: -.015em; margin: 0 !important; }
.rm-hero3 h1 em { font-family: var(--wp--preset--font-family--italic); font-style: italic; font-weight: 400; }
.rm-hero3 .rm-lead { color: var(--gd); opacity: .85; margin-top: 18px !important; max-width: 32ch; }
.rm-hero3 .wp-block-buttons { margin-top: 26px !important; }
.rm-hero3 .is-style-outline .wp-block-button__link { color: var(--gd); border-color: var(--gd); }
@media (min-width: 1200px) {
	/* Taust 2400×1000 → kõrgusel 560px on pilt 1344px lai; jooned algavad selle keskelt (672px paremast servast). */
	.rm-hero3 { background-image: url(img/hero-bg-desktop-v.webp); background-size: auto 560px; background-position: right center; height: 560px; display: flex; align-items: center; padding-block: 0; }
	.rm-hero3 > .rm-hero3__text { width: 100%; }
	.rm-hero3__text > * { max-width: min(560px, calc(100vw - 672px - max(40px, (100vw - 1160px) / 2) - 56px)); }
}
@media (min-width: 782px) and (max-width: 1199px) {
	.rm-hero3 { background-size: 100% auto; padding-top: calc(125vw * .46); padding-bottom: 64px; }
}

/* ---------- Läbipaistev päis: taust paistab läbi (avalehel hero algab päise alt) ---------- */
:root { --hh: 61px; }
.rahe-header, .rahe-header { border-bottom-color: transparent !important; }
.rahe-header::before { background: transparent; -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2); }
.home .rahe-sticky { margin-bottom: calc(-1 * var(--hh)); }
.home .rm-hero3 { padding-top: calc(125vw * .46 + var(--hh)); }
@media (min-width: 1200px) {
	.home .rm-hero3 { height: calc(560px + var(--hh)); padding-top: var(--hh); background-position: right bottom; }
}
@media (min-width: 782px) and (max-width: 1199px) {
	.home .rm-hero3 { padding-top: calc(125vw * .46 + var(--hh)); }
}
/* Jooksev riba: 4 korduvat komplekti, et laial ekraanil ei tekiks tühja kohta. */
.rm-ticker__track { animation-duration: 80s; }
/* Lehe ülaosas päis täiesti läbipaistev; hägustus alles kerimisel (muidu tekib hero joontest laik). */
body:not(.is-scrolled) .rahe-header::before { -webkit-backdrop-filter: none; backdrop-filter: none; }
.rahe-header::before { transition: background-color .2s; }
body.is-scrolled .rahe-header::before { background: rgba(250, 246, 239, .55); }

/* ---------- Hero taust Carmeni Canva kujundusest (2026-10-27) ----------
   Mobiil/tahvel: hero-bg-mobile.svg (1200×1500), kujund paremal → nihutatud osaliselt ekraanist välja,
   et tekstiveerg (≈74% laiusest) jääks puhtale taustale.
   Desktop: hero-bg-desktop.webp (2880×1240), kujund algab ≈54% pildi laiusest. */
@media (max-width: 1199px) {
	.home .rm-hero3, .rm-hero3 {
		min-height: 620px; height: auto; display: flex; align-items: center;
		padding: calc(var(--hh) + 40px) 0 48px;
		background-size: auto 100%;
		background-position: left calc(74vw - 220px) top;
	}
	.rm-hero3 > .rm-hero3__text { width: 100%; }
	.rm-hero3__text > * { max-width: calc(74vw - 2 * var(--rahe-gut, 20px)); }
	.rm-hero3 h1 { font-size: clamp(34px, 9.6vw, 64px); }
	.rm-hero3 .wp-block-buttons { flex-direction: column; align-items: flex-start; }
}
@media (min-width: 600px) and (max-width: 1199px) {
	.rm-hero3__text > * { max-width: min(560px, calc(74vw - 80px)); }
	.rm-hero3 .wp-block-buttons { flex-direction: row; }
}
@media (min-width: 1200px) {
	.home .rm-hero3 { background-size: auto 100%; background-position: right center; }
	.rm-hero3__text > * { max-width: min(560px, calc(100vw - 663px - max(40px, (100vw - 1160px) / 2) - 56px)); }
}
@media (max-width: 1199px) {
	.home .rm-hero3, .rm-hero3 { padding-inline: var(--rahe-gut); }
	.rm-hero3 .rm-lead { max-width: calc(74vw - 2 * var(--rahe-gut)); }
}
@media (min-width: 600px) and (max-width: 1199px) {
	.home .rm-hero3, .rm-hero3 { padding-inline: 40px; }
	.rm-hero3 .rm-lead { max-width: min(32ch, calc(74vw - 80px)); }
}

/* ---------- Soojemad taustad (2026-10-27): kreemjas oli liiga valge ---------- */
:root { --cream: #f3ead9; --sand: #eadcc2; --sage-tint: #dfe8d1; --wp--preset--color--cream: #f3ead9; --wp--preset--color--sand: #eadcc2; }
body { background: var(--cream); }
#ateljee, #kkk { background: var(--sage-tint); }
#kingi, .rm-sec--tint { background: var(--sand) !important; }

/* Jalus otse viimase ploki vastu (WP vaikimisi 20px vahe jättis heleda riba). */
.wp-site-blocks > footer { margin-block-start: 0 !important; }
/* Beež ei sobinud brändiga → brändivärvide heledad toonid: lilla (#c5a8fa) ja kollane (#f0d385). */
:root { --lilac-tint: #e7dcfb; --yellow-tint: #f8ebc4; }
#kingi { background: var(--lilac-tint) !important; }
#asukoht, .rm-sec--tint { background: var(--yellow-tint) !important; }
/* Liiga kirju → kõik sektsioonid üldisel linasel toonil, ainult KKK salveirohelise tooniga. */
#ateljee, #kingi, #asukoht, .rm-sec--tint { background: var(--cream) !important; }
#kkk { background: var(--sage-tint) !important; }

/* Hinnakaardid: "Enim valitud" silt kaare ülaosas, et minutid, hind ja kirjeldus oleksid kõigil samal joonel. */
.rm-tiles { align-items: stretch; }
.rm-tile { justify-content: flex-start; padding-top: 72px; }
.rm-tile__tag { position: absolute !important; top: 28px; left: 50%; transform: translateX(-50%); margin: 0 !important; white-space: nowrap; }
@media (min-width: 782px) {
	.rm-tile { padding-top: 104px; }
	.rm-tile__tag { top: 46px; }
}
.rm-tiles > .rm-tile { margin-block-start: 0 !important; }

/* Sektsioonide vahed väiksemaks (2026-10-27): 140px+140px oli desktopis liiga õhuline. */
.rm-sec { padding-block: 56px; }
@media (min-width: 782px) { .rm-sec { padding-block: 80px; } }

/* ---------- Jalus uue kujunduse järgi (2026-10-27): salvei taust, tumeroheline tekst, figuur nurgas ---------- */
.rahe-footer { background: #b1d1a0 !important; color: var(--gd) !important; }
.rahe-footer a { color: var(--gd) !important; }
.rahe-footer a:hover { color: #c2602f !important; }
.rahe-footer .rm-kicker { color: var(--gd); opacity: .75; margin-bottom: 10px !important; }
.rahe-footer-logo { width: 92px; margin-bottom: 1rem; }
.rahe-footer-legal { border-top-color: rgba(31, 69, 53, .2); color: var(--gd); opacity: .75; }
.rahe-footer-legal a { text-decoration-color: rgba(31, 69, 53, .35) !important; }
.rahe-footer::after { background: var(--g); opacity: 1; }
@media (min-width: 782px) {
	/* Logo-veerg ühel joonel teiste veergude pealkirjadega */
	.rahe-footer .wp-block-column:first-child .rahe-footer-logo { margin-top: -6px; }
}
@media (min-width: 782px) { .rahe-footer::after { width: 220px; right: -40px; bottom: -230px; } }
@media (max-width: 781px) { .rahe-footer::after { width: 130px; right: -30px; top: -150px; bottom: auto; transform: scaleY(-1); } }
/* Lõpus oli liiga palju erinevaid rohelisi → KKK brändi kollane, kaardi eelvaade sama salvei mis jalus. */
#kkk { background: #f0d385 !important; }
#kkk::after { background: #e6bb52; opacity: .55; }
#kkk .wp-block-details, #kkk .wp-block-details:first-of-type { border-color: rgba(31, 69, 53, .2); }
.rahe-map, .rm-find .rahe-map { background: #b1d1a0; }
/* Jalus ja kaart rahulikumas toonis: brändi "pale" #c7d0b5 (salvei #b1d1a0 oli liiga erk). */
.rahe-footer { background: #c7d0b5 !important; }
.rahe-map, .rm-find .rahe-map { background: #c7d0b5; }

/* ---------- Rohkem oranži aktsenti (2026-10-27) ----------
   #ef7a44 graafikale (jooned, ikoonid), tumedam #c2602f tekstile, et kontrast püsiks. */
:root { --org-text: #c2602f; }
.rm-kicker::before { width: 32px; height: 2px; }
.wp-block-details summary::before, .wp-block-details summary::after { background: var(--org); height: 2px; }
.wp-block-details summary:hover { color: var(--org-text); }
.rm-sec p a:not(.wp-block-button__link):hover { color: var(--org-text); }
.rm-carousel__dot.is-active { background: var(--org); width: 22px; border-radius: 999px; transition: width .2s; }
.rm-carousel__btn:hover { border-color: var(--org) !important; color: var(--org-text) !important; }
.rahe-map__facade svg, .rahe-map__facade svg * { fill: var(--org); color: var(--org); }
.rm-quotes li { padding-top: 54px; }
.rm-quotes li::before { content: "“"; position: absolute; top: 4px; left: -2px; font-family: var(--wp--preset--font-family--serif); font-size: 72px; line-height: 1; color: var(--org); }
.rm-quotes li::after { top: 22px; }
#kkk .wp-block-details summary::before, #kkk .wp-block-details summary::after { background: var(--org-text); }
/* Sirged oranžid jooned ei sobinud → laine. Vähem on rohkem: üks väike laine pealkirja kohal, lingid tagasihoidlikud. */
.rm-sec p a:not(.wp-block-button__link), .rm-pay a { text-decoration: underline; text-decoration-color: currentColor; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.rm-carousel__dot.is-active { width: 8px; }
/* Laine ainult sektsiooni keskel (Carmeni eelistus), pealkirja ees mitte. */
.rm-kicker::before { content: none; }
.rm-kicker { gap: 0; }
#kkk::before { background: var(--org-text); }

/* Lingid ilma alljooneta: eristuvad paksema kirja ja brändirohelisega, hiire all oranžikas. */
.wp-block-post-content a:not(.wp-block-button__link), .rm-pay a, .rm-link a, .rahe-footer-legal a {
	text-decoration: none !important; border-bottom: 0 !important;
	font-weight: 600; color: var(--g);
}
.wp-block-post-content a:not(.wp-block-button__link):hover, .rahe-footer-legal a:hover { color: var(--org-text) !important; }
.rm-link a::after { color: var(--org); }
/* Laine tumerohelisena ja ka Ateljee sektsiooni algusesse. */
#hinnad::before, #ateljee::before, #arvustused::before, #kkk::before { content: ""; position: absolute; top: 34px; left: 50%; width: 96px; height: 10px; transform: translateX(-50%); background: var(--g) !important; -webkit-mask: url(img/brand/laine.svg) no-repeat center / contain; mask: url(img/brand/laine.svg) no-repeat center / contain; }
@media (min-width: 782px) { #hinnad::before, #ateljee::before, #arvustused::before, #kkk::before { top: 40px; } }
/* KKK-l on oma taustavärv → laine üleliigne. Kingi massaaž saab laine. */
#kkk::before { content: none !important; }
#kingi::before { content: ""; position: absolute; z-index: 1; top: 34px; left: 50%; width: 96px; height: 10px; transform: translateX(-50%); background: var(--g); -webkit-mask: url(img/brand/laine.svg) no-repeat center / contain; mask: url(img/brand/laine.svg) no-repeat center / contain; }
@media (min-width: 782px) { #kingi::before { top: 40px; } }

/* ---------- Jalus ja kaart tumerohelised (2026-10-27) ---------- */
.rahe-footer { background: var(--g) !important; color: #e6eddf !important; }
.rahe-footer a, .rahe-footer-legal a { color: #fff !important; }
.rahe-footer a:hover, .rahe-footer-legal a:hover { color: #f0d385 !important; }
.rahe-footer .rm-kicker { color: #c7d0b5; opacity: 1; }
.rahe-footer-legal { color: #c7d0b5; opacity: 1; border-top-color: rgba(255, 255, 255, .15); }
.rahe-footer::after { background: #b1d1a0; opacity: .9; }
.rahe-map, .rm-find .rahe-map { background: var(--g); }
.rahe-map__facade { color: #fff; }
.rahe-map__facade small { color: #c7d0b5; }
.rahe-map__btn:hover { background: rgba(255, 255, 255, .1); }

/* =========================================================================
   Alamlehed (kinkekaart, ettevõttele) avalehe stiilis — 2026-10-27
   ========================================================================= */
/* Hero: sama Canva taust, läbipaistev päis peal */
body:has(.rm-pagehero) .rahe-sticky { margin-bottom: calc(-1 * var(--hh)); }
.wp-block-post-content > .rm-pagehero { margin-block: 0 !important; }
.rm-pagehero {
	display: flex; align-items: center; min-height: 600px;
	padding: calc(var(--hh) + 40px) var(--rahe-gut) 56px !important;
	background: #b1d1a0 url(img/hero-bg-mobile.svg) no-repeat left calc(74vw - 220px) top / auto 100%;
}
.rm-pagehero > * { width: 100%; }
.rm-pagehero h1 { font-size: clamp(40px, 10.5vw, 72px); line-height: 1; color: var(--gd); letter-spacing: -.015em; margin: 0 !important; }
.rm-pagehero h1 em { font-family: var(--wp--preset--font-family--italic); font-style: italic; font-weight: 400; }
.rm-pagehero .rm-kicker { color: var(--gd); opacity: .8; }
.rm-pagehero .rm-lead { color: var(--gd); opacity: .85; margin-top: 18px !important; }
.rm-pagehero .wp-block-buttons { margin-top: 26px !important; }
.rm-pagehero .is-style-outline .wp-block-button__link { color: var(--gd); border-color: var(--gd); }
.rm-pagehero__text > * { max-width: calc(74vw - 2 * var(--rahe-gut)); }
.rm-pagehero__cols { gap: 32px !important; margin: 0 !important; }
.rm-pagehero__card { max-width: 360px; margin: 8px 0 0 !important; }
.rm-pagehero__card img { border-radius: 4px; box-shadow: 0 28px 44px -24px rgba(20, 45, 34, .6); }
@media (min-width: 600px) {
	.rm-pagehero { padding-inline: 40px !important; }
	.rm-pagehero__text > * { max-width: min(540px, calc(74vw - 80px)); }
}
@media (min-width: 782px) {
	.rm-pagehero--card .rm-pagehero__text > * { max-width: 100%; }
	.rm-pagehero__card { margin: 0 0 0 auto !important; }
}
@media (min-width: 1200px) {
	.rm-pagehero {
		min-height: calc(520px + var(--hh)); padding-top: var(--hh) !important; padding-bottom: 0 !important;
		padding-inline: max(40px, (100vw - 1160px) / 2) !important;
		background-image: url(img/hero-bg-desktop-v.webp); background-position: right center;
	}
	.rm-pagehero__text > * { max-width: min(560px, calc(100vw - 640px - max(40px, (100vw - 1160px) / 2) - 56px)); }
	.rm-pagehero--card .rm-pagehero__text > * { max-width: 100%; }
	.rm-pagehero__card { max-width: 400px; }
}

/* Laine sektsiooni ülaservas keskel (sama mis avalehel) */
.rm-wave { position: relative; }
.rm-wave::before { content: ""; position: absolute; top: 34px; left: 50%; width: 96px; height: 10px; transform: translateX(-50%); background: var(--g); -webkit-mask: url(img/brand/laine.svg) no-repeat center / contain; mask: url(img/brand/laine.svg) no-repeat center / contain; }
@media (min-width: 782px) { .rm-wave::before { top: 40px; } }

/* Kinkekaardi kuju valik: kaks pill-nuppu */
.rahe-format { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px !important; margin-bottom: 28px !important; }
.rahe-format legend { width: 100%; }
.rahe-format label { flex: 1 1 200px; max-width: 300px; }
.rahe-format span { border: 1px solid var(--gd) !important; border-radius: 999px !important; background: transparent !important; padding: 12px 22px !important; min-height: 0 !important; align-items: flex-start; }
.rahe-format strong { font-weight: 600; color: var(--gd); }
.rahe-format input:checked + span { background: var(--gd) !important; box-shadow: none !important; }
.rahe-format input:checked + span strong { color: #fff; }
.rahe-format input:checked + span small { color: #c7d0b5; }

/* Ostukaared: nupp kaare põhjas */
.rm-tiles--buy .rm-tile { padding-bottom: 32px; }
.rm-tiles--buy .rm-tile .wp-block-buttons { margin-top: auto !important; padding-top: 22px; justify-content: center; }
.rm-tiles--buy .rm-tile__desc { margin-bottom: 4px !important; }

/* Sammud: suur seriifnumber, ilma kastideta */
.rm-steps { counter-reset: step; list-style: none; padding: 0; margin-top: 8px !important; display: grid; gap: 28px; }
.rm-steps li { counter-increment: step; position: relative; padding-left: 64px; color: var(--muted); font-size: 16px; line-height: 1.55; }
.rm-steps li::before { content: counter(step); position: absolute; left: 0; top: -10px; font-family: var(--wp--preset--font-family--serif); font-size: 48px; line-height: 1; color: var(--g); }
.rm-steps strong { display: block; color: var(--gd); font-weight: 600; margin-bottom: 4px; }
@media (min-width: 782px) {
	.rm-steps { grid-template-columns: repeat(3, 1fr); gap: 48px; }
	.rm-steps li { padding-left: 0; padding-top: 68px; }
	.rm-steps li::before { top: 0; font-size: 56px; }
}
.rm-note { margin-top: 40px !important; font-size: 14.5px; color: var(--muted); }
.rm-sec--tight { padding-top: 0 !important; }
.rm-quotes--one { border-top: 0; }
.rm-quotes--one li { border: 0 !important; max-width: 760px; }
.rm-quotes--one .rm-quotes__text { font-size: clamp(24px, 4vw, 32px); }
/* Kinkekaardi hero: roheline kaart sulandus tumeda kujundiga → ühtlane salvei, kaardi taga kollane figuur */
.rm-pagehero--card { background-image: none !important; }
.rm-pagehero__card { position: relative; isolation: isolate; }
.rm-pagehero__card::before { content: ""; position: absolute; z-index: -1; width: 90%; aspect-ratio: 645 / 658; right: -18%; top: -38%; background: #f0d385; -webkit-mask: var(--k3) no-repeat 0 0 / 100% 100%; mask: var(--k3) no-repeat 0 0 / 100% 100%; }
.rm-pagehero--card { overflow: hidden; }
.rm-pagehero--card .rm-pagehero__text > * { max-width: 100%; }
.is-layout-constrained > .rm-note, .slug-aitah .rm-sec > .rm-link { max-width: 1160px !important; }
@media (max-width: 781px) { .rm-pagehero__card { margin-top: 24px !important; } .rm-pagehero__card::before { width: 70%; right: -10%; top: -16%; } }
/* Kinkekaart: 1) summa, 2) kuju. Valitud kaar raamiga, teised tuhmimad. */
.rm-tiles--buy .rm-tile { transition: opacity .2s, box-shadow .2s; }
.rm-tiles--buy:has(.is-selected) .rm-tile:not(.is-selected) { opacity: .55; }
.rm-tiles--buy .rm-tile.is-selected { box-shadow: 0 0 0 3px var(--gd); }
.rm-giftstep { margin-top: 40px !important; }
.rm-giftstep[hidden] { display: none; }
.rm-giftstep__picked { font-family: var(--wp--preset--font-family--serif); font-size: clamp(24px, 4vw, 30px); color: var(--gd); margin: 0 0 18px !important; }
.rm-giftstep__picked strong { font-weight: 400; }
.rm-giftstep .rahe-format { margin-top: 0 !important; margin-bottom: 24px !important; }
.rm-giftstep .rahe-format legend { font-size: 11.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); margin-bottom: 12px; }
/* 2. samm overlay-aknana */
dialog.rm-giftstep { margin: auto !important; width: min(460px, calc(100vw - 32px)); max-width: none; border: 0; border-radius: 160px 160px 24px 24px / 120px 120px 24px 24px; padding: 72px 28px 32px; background: var(--cream); color: var(--ink); text-align: center; box-shadow: 0 30px 60px -20px rgba(20, 45, 34, .45); }
dialog.rm-giftstep::backdrop { background: rgba(31, 69, 53, .55); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
dialog.rm-giftstep[open] { animation: rm-pop .22s ease-out; }
@keyframes rm-pop { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.rm-giftstep__close { position: absolute; top: 18px; right: 22px; width: 44px; height: 44px; border: 0; background: transparent; font-size: 28px; line-height: 1; color: var(--gd); cursor: pointer; }
.rm-giftstep .rahe-format { flex-direction: column; align-items: stretch; }
.rm-giftstep .rahe-format label { max-width: none; flex: none; }
.rm-giftstep .rahe-format span { align-items: center; text-align: center; }
.rm-giftstep .wp-block-buttons { justify-content: center; }
.rm-giftstep .wp-block-button__link { width: 100%; }
.rm-giftstep .wp-block-button { width: 100%; }
dialog.rm-giftstep { box-sizing: border-box; }
dialog.rm-giftstep { padding-top: 96px; }
.rm-giftstep__close { top: 44px; right: 24px; width: 40px; height: 40px; }
/* Kinnitus aknas + korviriba */
.rm-giftstep [hidden] { display: none !important; }
.rm-giftstep__added { color: var(--muted); margin: -8px 0 24px !important; }
.rm-giftstep__done .wp-block-buttons { flex-direction: column; gap: 10px; }
.rm-giftstep button.wp-block-button__link { width: 100%; cursor: pointer; font: inherit; }
.rm-giftstep .is-style-outline .wp-block-button__link { background: transparent; border: 1px solid var(--gd); color: var(--gd); }
.rm-giftcart { margin-top: 28px !important; font-size: 16px; color: var(--gd); }
.rm-giftcart a { margin-left: 12px; }

/* ---------- Ostukorv (2026-10-28) ---------- */
/* Päise ikoon koos kogusega */
.rahe-cart { position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; color: var(--gd); text-decoration: none; flex: none; }
.rahe-cart[hidden] { display: none; }
.rahe-cart:hover { color: var(--org-text); }
.rahe-cart__n { position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--org); color: #fff; font-size: 11px; font-weight: 600; line-height: 18px; text-align: center; box-sizing: border-box; }
@media (max-width: 781px) { .rahe-cart { order: -1; } }

/* Akna nupud: selge vahe, varju jaoks ruumi */
.rm-giftstep__done .wp-block-buttons { display: flex; flex-direction: column; gap: 16px !important; }
.rm-giftstep__done .wp-block-button { margin: 0 !important; }
.rm-giftstep .wp-block-buttons { padding-right: 4px; }

/* Korvileht */
.rahe-cartpage__title { font-size: clamp(40px, 8vw, 64px); color: var(--g); margin-bottom: 24px !important; }
.rahe-cartpage .wp-block-woocommerce-empty-cart-block { padding: 8px 0 24px; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--gd) !important; color: #fff !important; border-radius: 999px !important; box-shadow: 3px 3px 0 var(--org); border: 0 !important; }
.wc-block-cart__submit-button:hover { transform: translate(-1px, -1px); box-shadow: 4px 4px 0 var(--org); }



/* Jooksev riba väiksemaks, sõnade vahel rohkem õhku (2026-10-30) */
.rm-ticker span { font-size: 17px; padding: 9px 0 9px 44px; gap: 44px; }
@media (min-width: 782px) { .rm-ticker span { font-size: 19px; padding-block: 11px; padding-left: 64px; gap: 64px; } }
.rm-ticker span::after { font-size: 10px; }
/* Tasakaalustatud: kiri ~ lõiguteksti ja pealkirja vahepeal, vahed ~2 tähekõrgust */
.rm-ticker span { font-size: 19px; padding: 11px 0 11px 36px; gap: 36px; }
.rm-ticker span::after { font-size: 11px; }
@media (min-width: 782px) { .rm-ticker span { font-size: 22px; padding-block: 14px; padding-left: 48px; gap: 48px; } }

/* ---------- Mobiil: hinna- ja kinkekaardid kompaktsete ridadena (2026-10-30) ---------- */
@media (max-width: 781px) {
	.rm-tiles { gap: 10px; }
	.rm-tile, .rm-tiles--buy .rm-tile {
		display: grid; grid-template-columns: 1fr auto; column-gap: 16px; row-gap: 2px; align-items: center;
		min-height: 0; padding: 18px 20px !important; border-radius: 22px !important; text-align: left;
	}
	.rm-tile > * { margin: 0 !important; }
	.rm-tile__tag { position: static !important; transform: none !important; grid-column: 1 / -1; justify-self: start; margin-bottom: 6px !important; font-size: 10px; padding: 4px 9px; }
	.rm-tile__min { grid-column: 1; font-size: 22px; line-height: 1.1; }
	.rm-tile__eur { grid-column: 2; grid-row: span 2; font-size: 38px; align-self: center; }
	.rm-tile__desc { grid-column: 1; font-size: 14px; line-height: 1.4; max-width: none; margin-inline: 0 !important; }
	.rm-tiles--buy .rm-tile .wp-block-buttons { grid-column: 1 / -1; padding-top: 12px; margin-top: 0 !important; justify-content: flex-start; }
	.rm-tiles--buy .rm-tile .wp-block-button__link { padding: 9px 18px; font-size: 14.5px; min-height: 0; }
	/* Figuurid nurgas väiksemaks, et hind jääks puhtale taustale */
	.rm-tile--sage::after { width: 150px; right: -70px; bottom: -110px; }
	.rm-tile--yellow::after { width: 150px; right: -70px; bottom: -90px; }
	.rm-tile--lilac::after { width: 90px; right: -30px; bottom: -120px; }
}

/* Mobiili jalus kompaktsemaks: logo + aadress üleval, kontakt ja kiirlingid kõrvuti */
@media (max-width: 781px) {
	.rahe-footer { padding: 32px var(--rahe-gut) 24px !important; font-size: 14px !important; }
	.rahe-footer .wp-block-columns { display: grid !important; grid-template-columns: 1fr 1fr; gap: 20px 16px !important; }
	.rahe-footer .wp-block-column:first-child { grid-column: 1 / -1; display: flex; align-items: center; gap: 16px; }
	.rahe-footer .wp-block-column:first-child p { margin: 0 !important; line-height: 1.45; }
	.rahe-footer-logo { width: 72px; margin: 0 !important; }
	.rahe-footer .rm-kicker { margin-bottom: 4px !important; font-size: 10.5px !important; }
	.rahe-footer p a { min-height: 32px; line-height: 32px; }
	.rahe-footer .wp-block-column p { margin-top: 0 !important; }
	.rahe-footer-legal { margin-top: 20px !important; padding-top: 14px; font-size: 11.5px; line-height: 1.5; }
}
@media (max-width: 781px) { .rahe-footer .wp-block-columns { grid-template-columns: 1.2fr 1fr; gap: 20px 12px !important; } .rahe-footer .wp-block-column:nth-child(2) a { white-space: nowrap; } }

/* Kontosid pole: „Hetkel sooritad ostu külalisena“ ei ole vaja näidata. */
.wc-block-checkout__guest-checkout-notice, .wc-block-checkout__login-prompt { display: none !important; }

/* Desktop: kujund ~1 sõna võrra paremale, et „Kontakt“ jääks heledale taustale */
@media (min-width: 1200px) { .home .rm-hero3, .rm-pagehero { background-position: right -90px center !important; } }

/* Hero taust (2026-11-03): desktopi pilt alles alates 1400px (muidu jääb kujund „Kontakt“ alla).
   1000–1399px: mobiilipilt paremasse serva kinnitatuna (vasaku serva järgi jäi paremale tühi riba).
   Mobiilipildi kujund algab ~57% pildi laiusest paremalt → tekst jääb kitsamaks. */
@media (min-width: 1000px) and (max-width: 1399px) {
	.home .rm-hero3, .rm-hero3, .rm-pagehero:not(.rm-pagehero--card) {
		background-image: url(img/hero-bg-mobile.svg) !important;
		background-size: auto 100% !important;
		background-position: right top !important;
	}
	.rm-hero3__text > *, .rm-pagehero:not(.rm-pagehero--card) .rm-pagehero__text > * { max-width: min(560px, calc(100vw - 400px)) !important; }
}

/* Minust: pööratud lilla figuuri asemel kaks väikest sisse zoomitud kujunditükki (2026-11-03) */
#minust .rm-split > .wp-block-column:first-child::before {
	width: 150px !important; height: 150px; aspect-ratio: auto !important; transform: none !important;
	left: calc(50% - 230px) !important; top: 18% !important; right: auto !important; bottom: auto !important;
	background: #c5a8fa !important;
	-webkit-mask: var(--k2) no-repeat 38% 6% / 260% auto !important; mask: var(--k2) no-repeat 38% 6% / 260% auto !important;
}
#minust .rm-split > .wp-block-column:first-child::after {
	content: ""; position: absolute; z-index: -1; pointer-events: none;
	width: 170px; height: 120px; left: calc(50% + 110px); bottom: 12%;
	background: #b1d1a0;
	-webkit-mask: var(--k3) no-repeat 72% 88% / 240% auto; mask: var(--k3) no-repeat 72% 88% / 240% auto;
}
@media (max-width: 781px) {
	#minust .rm-split > .wp-block-column:first-child::before { width: 110px !important; height: 110px; left: 4% !important; top: 14% !important; }
	#minust .rm-split > .wp-block-column:first-child::after { width: 130px; height: 90px; left: auto; right: 2%; bottom: 8%; }
}
/* Tükid = väikesed terved kujundid poolenisti portree taga (portree katab ülejäänu) */
#minust .rm-split > .wp-block-column:first-child::before {
	width: 230px !important; height: auto; aspect-ratio: 1090 / 1251 !important;
	left: calc(50% - 300px) !important; top: 8% !important;
	-webkit-mask: var(--k1) no-repeat 0 0 / 100% 100% !important; mask: var(--k1) no-repeat 0 0 / 100% 100% !important;
}
#minust .rm-split > .wp-block-column:first-child::after {
	width: 210px; height: auto; aspect-ratio: 645 / 658; left: calc(50% + 70px); bottom: 2%;
	-webkit-mask: var(--k3) no-repeat 0 0 / 100% 100%; mask: var(--k3) no-repeat 0 0 / 100% 100%;
}
@media (max-width: 781px) {
	#minust .rm-split > .wp-block-column:first-child::before { width: 150px !important; height: auto; left: calc(50% - 175px) !important; top: 6% !important; }
	#minust .rm-split > .wp-block-column:first-child::after { width: 140px; height: auto; left: calc(50% + 40px); right: auto; bottom: 2%; }
}
#minust .rm-split > .wp-block-column:first-child { clip-path: inset(-200px -120px -200px -100vw) !important; }
#minust .rm-split > .wp-block-column:first-child::after { bottom: 7%; }
@media (max-width: 781px) { #minust .rm-split > .wp-block-column:first-child { clip-path: none !important; overflow: visible !important; } }

/* Hinnad (desktop): makseinfo ja broneerimisnupp kaartide all keskel, nupp rohkem esile */
@media (min-width: 782px) {
	#hinnad > .rm-pay { text-align: center; margin-top: 36px !important; }
	#hinnad > .wp-block-buttons { justify-content: center; margin-top: 20px !important; }
	#hinnad > .wp-block-buttons .wp-block-button__link { padding: 16px 40px; font-size: 17px; }
}

/* Minust: portree taga Carmeni Canva taust (sisse zoomitud kujunditükid, 1200×1200, läbipaistev).
   Portree katab ~66% laiusest → tausta laius = portree laius / 0.66. */
#minust .rm-split > .wp-block-column:first-child::after { content: none !important; }
#minust .rm-split > .wp-block-column:first-child::before {
	width: min(515px, 109%) !important; height: auto; aspect-ratio: 1 / 1 !important;
	left: 50% !important; top: 50% !important; right: auto !important; bottom: auto !important;
	transform: translate(-50%, -50%) !important;
	background: url(img/portree-taust-3.webp) no-repeat center / contain !important;
	-webkit-mask: none !important; mask: none !important;
}
@media (min-width: 782px) {
	#minust .rm-split > .wp-block-column:first-child::before { width: min(545px, 91%) !important; }
}

/* ---------- Broneerimise aken (sama mis rahemassaaz.ee): Koalendar iframe'is ----------
   Telefonis ja tahvlis täisekraanil, hiirega arvutis keskel. */
.koa-lock, .koa-lock body { overflow: hidden; }
.koa-sheet { position: fixed; inset: 0; z-index: 90; display: flex; align-items: stretch; justify-content: center; height: 100vh; height: 100dvh; background: var(--cream); }
.koa-panel { display: flex; flex-direction: column; width: 100%; height: 100%; background: var(--cream); }
.koa-bar { display: flex; align-items: center; justify-content: space-between; flex: none; height: 56px; padding: 0 8px 0 var(--rahe-gut); border-bottom: 1px solid var(--hair); font: 400 20px var(--wp--preset--font-family--serif); color: var(--g); }
.koa-close { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 12px; border: 0; background: none; color: var(--g); font: 500 15px var(--wp--preset--font-family--sans); cursor: pointer; }
.koa-body { position: relative; flex: 1; display: flex; }
.koa-loading { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 0 var(--rahe-gut); text-align: center; color: var(--muted); font-size: 15px; }
.koa-slow { display: none; max-width: 34ch; font-size: 14.5px; }
.koa-slowload .koa-slow { display: block; }
.koa-actions { display: flex; align-items: center; gap: 4px; }
.koa-ext { display: inline-flex; align-items: center; min-height: 44px; padding: 0 10px; color: var(--g); font: 400 14.5px var(--wp--preset--font-family--sans); text-decoration: underline; text-decoration-color: var(--hair); text-underline-offset: 4px; }
@media (max-width: 359px) { .koa-title { display: none; } }
.koa-ready .koa-loading { display: none; }
.koa-sheet iframe { position: relative; flex: 1; width: 100%; max-width: 560px; margin: 0 auto; border: 0; background: transparent; opacity: 0; transition: opacity .2s; }
.koa-ready iframe { opacity: 1; }
.koa-done { margin: auto; width: 100%; max-width: 560px; padding: 32px var(--rahe-gut) 40px; color: var(--ink); animation: rm-pop .22s ease-out; }
.koa-done__kicker { margin: 0 0 10px; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.koa-done h2 { margin: 0 0 14px; font: 400 clamp(32px, 6vw, 44px)/1.05 var(--wp--preset--font-family--serif); color: var(--g); }
.koa-done h2 em { font-family: var(--wp--preset--font-family--italic); font-style: italic; font-weight: 400; }
.koa-done p { margin: 0 0 18px; font-size: 16px; line-height: 1.55; }
.koa-done ul { margin: 0 0 24px; padding: 16px 0 0; list-style: none; border-top: 1px solid var(--hair); font-size: 15px; line-height: 1.5; color: var(--muted); }
.koa-done li { margin: 0 0 8px; }
.koa-done li strong { color: var(--ink); font-weight: 500; }
.koa-done a { color: var(--g); font-weight: 500; }
.koa-done__ok { min-height: 48px; padding: 0 28px; border: 0; border-radius: 999px; background: var(--gd, #1f4535); color: #fff; font: 500 15px var(--wp--preset--font-family--sans); cursor: pointer; }
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
	.koa-sheet { align-items: center; padding: 24px; background: rgba(31, 50, 41, .55); }
	.koa-panel { width: min(980px, 100%); height: min(860px, 100%); border-radius: 10px; box-shadow: 0 20px 60px rgba(31, 50, 41, .3); }
	.koa-bar { border-radius: 10px 10px 0 0; }
	.koa-sheet iframe { max-width: none; border-radius: 0 0 10px 10px; }
}

/* Tellimuse kinnituse leht: viimane kast (Lisainfo) ei kleebi jaluse vastu */
.woocommerce-order-received main, .woocommerce-order-received .wp-block-woocommerce-order-confirmation-additional-fields-wrapper:last-child { padding-bottom: 80px !important; }

/* Tellimuse kinnituse lehe e-posti kinnitamise nupp brändi stiilis */
.wp-block-woocommerce-order-confirmation-status .button, .wp-block-woocommerce-order-confirmation-status button {
	background: var(--gd) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important;
	padding: 14px 28px !important; box-shadow: 3px 3px 0 var(--org); font-weight: 500;
}

/* ---------- Kinkekaart: vaba summa + igale kaardile oma saaja/tervitus (2026-11-04) ---------- */
.rm-tile--sand { background: #c7d0b5; --c: #b3bea0; --m: var(--k2); }
.rm-tile--sand::after { width: 150px; aspect-ratio: 237 / 518; right: -40px; bottom: -160px; }
@media (min-width: 782px) and (max-width: 1099px) { .rm-tiles--buy { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .rm-tiles--buy { grid-template-columns: repeat(4, 1fr); } .rm-tiles--buy .rm-tile__eur { font-size: 52px; } }
.rm-giftstep__field { display: block; text-align: left; margin: 0 0 14px; }
.rm-giftstep__field[hidden] { display: none; }
.rm-giftstep__field span { display: block; font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin-bottom: 6px; }
.rm-giftstep__field input { width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 16px; border: 1px solid var(--gd); border-radius: 12px; background: #fff; font: inherit; font-size: 16px; color: var(--ink); }
.rm-giftstep__field input:focus { outline: 2px solid var(--org); outline-offset: 2px; }
.rm-giftstep__err { color: #b32d2e; font-size: 14.5px; margin: -4px 0 12px !important; }
dialog.rm-giftstep { max-height: calc(100dvh - 24px); overflow-y: auto; }

/* ---------- Avalehe tekstid pärislehe järgi täiendatud (2026-11-04) ---------- */
.rm-cred { margin-top: 18px !important; font-size: 13px !important; letter-spacing: .06em; color: var(--muted); }
/* Maksmine: 4 viisi */
.rm-paygrid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 24px; margin-top: 32px !important; margin-bottom: 0 !important; padding: 24px 0 0; border-top: 1px solid var(--hair); }
.rm-paygrid div { display: flex; flex-direction: column; gap: 4px; }
.rm-paygrid strong { font-family: var(--wp--preset--font-family--serif); font-weight: 400; font-size: 21px; color: var(--g); }
.rm-paygrid span { font-size: 14.5px; color: var(--muted); line-height: 1.45; }
.rm-paygrid a { color: var(--g); }
@media (min-width: 782px) { .rm-paygrid { grid-template-columns: repeat(4, 1fr); text-align: center; } }
.is-layout-constrained > .rm-paygrid, .is-layout-constrained > .rm-booknote { max-width: 1160px !important; }
.rm-booknote { margin-top: 14px !important; font-size: 14.5px; color: var(--muted); }
@media (min-width: 782px) { #hinnad > .rm-booknote { text-align: center; } }
/* KKK: rühmapealkirjad, automaatne paigutus paremas veerus */
.rm-faqgroup { font-family: var(--wp--preset--font-family--sans) !important; font-size: 11.5px !important; font-weight: 500 !important; letter-spacing: .2em; text-transform: uppercase; color: var(--muted) !important; margin: 28px 0 6px !important; }
#kkk .rm-faqgroup:first-of-type { margin-top: 0 !important; }
@media (min-width: 782px) {
	#kkk.rm-headcol > .wp-block-details, #kkk.rm-headcol > .rm-faqgroup { grid-row: auto !important; }
	#kkk.rm-headcol > h2 { grid-row: 2 / span 20 !important; }
}

/* Enne live'i: loetavus ja puutealad */
/* KKK vastused kollasel taustal tumedad (hall jäi kollasel liiga nõrgaks). */
#kkk .wp-block-details > :not(summary) { color: var(--wp--preset--color--ink); }
/* Karusselli täpid: nähtav täpp sama, puudutatav ala 24×24 px. */
.rm-carousel__dots { gap: 0; }
.rm-carousel__dot { box-sizing: content-box; padding: 8px; background-clip: content-box !important; }
/* Jaluse õiguslikud lingid: suurem puuteala ilma reavahet muutmata. */
.rahe-footer-legal a, .rahe-cc-link { display: inline-block; padding: 6px 2px; margin: -6px 0; }
.rahe-cc-link { border: 0; background: none; font: inherit; font-weight: 600; color: #fff; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .35); text-underline-offset: 3px; cursor: pointer; }
.rahe-cc-link::before { content: "·"; display: inline-block; margin: 0 .45em 0 .2em; text-decoration: none; color: #c7d0b5; }
.rahe-cc-link[hidden] { display: none; }

/* Kinkekaardi aken: e-kinkekaardi kujunduse valik pisipiltidega (kaks kõrvuti, valitud = roheline raam) */
.rm-giftstep .rahe-design { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: -8px !important; }
.rm-giftstep .rahe-design[hidden] { display: none; }
.rm-giftstep .rahe-design legend { grid-column: 1 / -1; }
.rm-giftstep .rahe-design span { gap: 6px; padding: 6px 6px 8px !important; border: 1px solid var(--hair) !important; border-radius: 6px !important; background: transparent !important; }
.rm-giftstep .rahe-design img { display: block; width: 100%; height: auto; border-radius: 3px; }
.rm-giftstep .rahe-design strong { font-size: 14px; }
.rm-giftstep .rahe-design input:checked + span { background: transparent !important; border-color: var(--gd) !important; box-shadow: 0 0 0 1px var(--gd) !important; }
.rm-giftstep .rahe-design input:checked + span strong { color: var(--gd); }

/* Korv ja kassa: variatsiooni read („Väärtus / Kuju“) peidus – kuju, kujundus ja saaja on meie enda real */
.wc-block-components-product-details:has(.wc-block-components-product-details__v-rtus) { display: none; }

/* Kassa telefonis: päise ja kokkuvõtte vahel ei ole tühja vahet */
@media (max-width: 781px) { .woocommerce-checkout main.wp-block-group { padding-top: 0 !important; margin-top: 0; } .woocommerce-checkout .wp-block-woocommerce-checkout { padding-top: 0; } }
