/*
Theme Name: Väike Ingel
Theme URI: https://vaikeingel.ee/
Author: Väike Ingel
Description: Väikese Ingli kodulehe teema. Tekstid: lehe redaktor ja Välimus → Kohanda → Väike Ingel. Kauplused: menüü Kauplused.
Version: 2.5.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vaike-ingel
*/

/* =========================================================
   1. Fondid
   Põhikiri: Bookman, kursiivis. Windowsis kasutatakse arvutis olevat
   Bookman Old Style'i, mujal sama kujuga tasuta TeX Gyre Bonumit.
   Käekiri: Parisienne (loosung, allkiri, "Väike Ingel" poe kaartidel).
   ========================================================= */
@font-face {
	font-family: 'Vi Bookman';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: local('Bookman Old Style Italic'), local('BookmanOldStyle-Italic'),
	     url('assets/fonts/texgyrebonum-italic.woff2') format('woff2');
}
@font-face {
	font-family: 'Vi Bookman';
	font-style: italic;
	font-weight: 700;
	font-display: swap;
	src: local('Bookman Old Style Bold Italic'), local('BookmanOldStyle-BoldItalic'),
	     url('assets/fonts/texgyrebonum-bolditalic.woff2') format('woff2');
}
@font-face {
	font-family: 'Parisienne';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('assets/fonts/parisienne-normal-400-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Parisienne';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('assets/fonts/parisienne-normal-400-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* =========================================================
   2. Värvid ja põhi
   ========================================================= */
:root {
	--vi-page: #f9f3ea;
	--vi-card: #fcf7ef;
	--vi-line: #eadcc6;
	--vi-ink: #1d2a21;
	--vi-text: #3b3832;
	--vi-gold: #b08443;
	--vi-gold-light: #d4b273;
	--vi-green: #5b7350;
	--vi-wine: #7a2f2f;
	--vi-serif: 'Vi Bookman', 'Bookman Old Style', Bookman, Georgia, serif;
	--vi-script: 'Parisienne', 'Great Vibes', cursive;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
	background:
		radial-gradient(circle at 10% 12%, rgba(129, 154, 117, .10), transparent 24%),
		radial-gradient(circle at 90% 18%, rgba(183, 140, 67, .09), transparent 25%),
		#f3eee4;
	color: var(--vi-text);
	font-family: var(--vi-serif);
	font-size: 17px;
	line-height: 1.45;
	-webkit-font-smoothing: antialiased;
}

/* Kogu leht kursiivis; käekirjaga kohad jäävad püstiseks (Parisienne'il kursiivi pole) */
body * { font-style: italic !important; }
.vi-slogan, .vi-slogan *,
.vi-cta__text,
.vi-notice__script,
.vi-signature span,
.vi-shop__brand { font-style: normal !important; }

img { max-width: 100%; height: auto; }
a { color: var(--vi-gold); }
a:focus-visible, .vi-btn:focus-visible { outline: 2px solid var(--vi-gold); outline-offset: 3px; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}

/* =========================================================
   3. Leht
   ========================================================= */
.vi-page {
	width: min(100%, 1448px);
	margin: 0 auto;
	background: var(--vi-page);
	box-shadow: 0 0 60px rgba(50, 57, 45, .13);
	overflow: hidden;
}

/* =========================================================
   4. Päis ja menüü
   ========================================================= */
.vi-hero {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	place-items: center;
	height: clamp(176px, 16vw, 232px);
	overflow: hidden;
	background:
		radial-gradient(circle at 52% 46%, rgba(255, 251, 240, 0.55) 0, rgba(255, 251, 240, 0) 28px),
		radial-gradient(circle at 7% 13%, rgba(255, 251, 240, 0.55) 0, rgba(255, 251, 240, 0) 19px),
		radial-gradient(circle at 5% 59%, rgba(255, 251, 240, 0.7) 0, rgba(255, 251, 240, 0) 22px),
		radial-gradient(circle at 20% 80%, rgba(255, 251, 240, 0.55) 0, rgba(255, 251, 240, 0) 12px),
		radial-gradient(circle at 65% 34%, rgba(255, 251, 240, 0.55) 0, rgba(255, 251, 240, 0) 28px),
		radial-gradient(circle at 84% 13%, rgba(255, 251, 240, 0.7) 0, rgba(255, 251, 240, 0) 30px),
		radial-gradient(circle at 13% 69%, rgba(255, 251, 240, 0.55) 0, rgba(255, 251, 240, 0) 20px),
		radial-gradient(circle at 16% 41%, rgba(255, 251, 240, 0.7) 0, rgba(255, 251, 240, 0) 19px),
		radial-gradient(circle at 4% 24%, rgba(255, 251, 240, 0.7) 0, rgba(255, 251, 240, 0) 11px),
		radial-gradient(circle at 82% 62%, rgba(255, 251, 240, 0.85) 0, rgba(255, 251, 240, 0) 34px),
		radial-gradient(circle at 33% 73%, rgba(255, 251, 240, 0.55) 0, rgba(255, 251, 240, 0) 13px),
		radial-gradient(circle at 34% 21%, rgba(255, 251, 240, 0.55) 0, rgba(255, 251, 240, 0) 27px),
		radial-gradient(circle at 15% 43%, rgba(255, 251, 240, 0.55) 0, rgba(255, 251, 240, 0) 22px),
		radial-gradient(circle at 70% 32%, rgba(255, 251, 240, 0.55) 0, rgba(255, 251, 240, 0) 10px),
		radial-gradient(circle at 87% 14%, rgba(255, 251, 240, 0.55) 0, rgba(255, 251, 240, 0) 14px),
		radial-gradient(circle at 30% 40%, rgba(255, 251, 240, 0.55) 0, rgba(255, 251, 240, 0) 12px),
		radial-gradient(circle at 55% 38%, rgba(255, 251, 240, 0.55) 0, rgba(255, 251, 240, 0) 24px),
		radial-gradient(circle at 49% 21%, rgba(255, 251, 240, 0.7) 0, rgba(255, 251, 240, 0) 14px),
		radial-gradient(ellipse 45% 70% at 50% 50%, rgba(255, 253, 247, .95), rgba(255, 253, 247, 0)),
		linear-gradient(90deg, #ece3d3 0%, #f6efe3 22%, #faf6ee 50%, #f6efe3 78%, #ebe1d0 100%);
}
.vi-corner {
	position: absolute; top: 0;
	height: 108%; width: auto; max-width: none;
	mix-blend-mode: multiply;
	pointer-events: none;
}
.vi-corner--left { left: 0; }
.vi-corner--right { right: 0; }

.vi-brand { position: relative; z-index: 1; text-align: center; padding-top: 6px; }
.vi-logo { display: block; }
.vi-logo img {
	display: block;
	width: clamp(300px, 38vw, 560px); height: auto;
	margin: 0 auto;
	mix-blend-mode: multiply;
}
.vi-keywords {
	margin: 4px 0 0;
	font-weight: 500;
	font-size: clamp(10px, .82vw, 12px);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #4f5a4d;
}
.vi-keywords span { margin: 0 .7em; color: var(--vi-gold); }

.vi-nav {
	display: flex; align-items: center; justify-content: center;
	min-height: 50px;
	background: linear-gradient(180deg, #fdfaf4, #f9f3e9);
	border-top: 1px solid #ebdfca;
	border-bottom: 1px solid #e2d5bf;
	box-shadow: 0 3px 8px rgba(120, 100, 60, .06);
}
.vi-menu {
	list-style: none; margin: 0; padding: 0;
	display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
}
.vi-menu li { position: relative; }
.vi-menu li + li { border-left: 1.5px solid var(--vi-gold); }
.vi-menu a {
	position: relative;
	display: block;
	padding: 2px clamp(14px, 3.4vw, 48px);
	font-weight: 500;
	font-size: clamp(12px, 1.02vw, 15px);
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--vi-ink);
}
.vi-menu a::after {
	content: ""; position: absolute; left: 50%; bottom: -12px;
	width: 0; height: 3px; border-radius: 3px;
	background: linear-gradient(90deg, #b8894a, #94692f);
	transform: translateX(-50%);
	transition: width .25s ease;
}
.vi-menu a:hover::after,
.vi-menu .current-menu-item > a::after,
.vi-menu .current_page_item > a::after { width: calc(100% - 2 * clamp(14px, 3.4vw, 48px) + 20px); }

/* =========================================================
   5. Ühised osad: kaart, foto kaar, ikoon, pealkiri, nupp
   ========================================================= */
.vi-main { padding: 18px 20px 46px; }

.vi-card, .vi-panel {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--vi-card);
	border: 1px solid var(--vi-line);
	border-radius: 22px;
	box-shadow: 0 8px 22px rgba(120, 95, 55, .08);
	text-align: center;
}
.vi-card__photo {
	position: relative;
	aspect-ratio: 452 / 328;
	border-radius: 21px 21px 0 0;
	overflow: hidden;
}
.vi-card__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vi-wave {
	position: absolute; left: 0; bottom: -1px;
	width: 100%; height: auto; aspect-ratio: 460 / 70;
	fill: var(--vi-card);
}
.vi-dome {
	position: absolute; left: 50%; bottom: -1px;
	width: 190px; height: 72px;
	transform: translateX(-50%);
	fill: var(--vi-card);
}

.vi-icon {
	position: relative; z-index: 4;
	display: flex; justify-content: center; align-items: flex-end;
	height: 80px;
	margin: -40px auto 0;
}
.vi-icon img { display: block; width: auto; height: 96px; max-width: 220px; mix-blend-mode: multiply; }
.vi-panel > .vi-icon:first-child { margin-top: 24px; }

.vi-garland {
	display: block;
	width: 190px; max-width: 70%; height: auto;
	margin: 14px auto 16px;
	mix-blend-mode: multiply;
}

.vi-card h2, .vi-title {
	margin: 2px 0 14px;
	font-weight: 500;
	font-variant: small-caps;
	font-size: clamp(25px, 2.3vw, 34px);
	line-height: 1.05;
	color: var(--vi-ink);
}
.vi-title a { color: inherit; text-decoration: none; }

.vi-divider {
	display: flex; align-items: center; gap: 10px;
	width: 190px; margin: 20px auto;
}
.vi-divider span { flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--vi-gold-light) 25%, var(--vi-gold-light)); }
.vi-divider span:last-child { transform: scaleX(-1); }
.vi-heart { width: 13px; height: 12px; fill: var(--vi-gold); flex: none; }

.vi-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 14px;
	margin-top: auto;
	padding: 9px 40px 10px;
	min-width: 225px;
	border-radius: 999px;
	background: linear-gradient(180deg, #b78b4d 0%, #a27639 55%, #946a31 100%);
	box-shadow: 0 6px 14px rgba(140, 100, 45, .25), inset 0 1px 0 rgba(255, 240, 210, .35);
	color: #fffaf0;
	font-size: 17px;
	text-decoration: none;
	transition: filter .2s ease;
}
.vi-btn:hover { filter: brightness(1.08); }
.vi-arrow { width: 26px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }

/* Lillekaunistused (oksad) */
.vi-floral {
	position: absolute; z-index: 3;
	pointer-events: none; user-select: none;
	height: auto; max-width: none;
	mix-blend-mode: multiply;
}

/* =========================================================
   6. Avaleht: kolm kaarti
   ========================================================= */
.vi-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}
.vi-card__body, .vi-panel__body {
	position: relative; z-index: 4;
	flex: 1;
	display: flex; flex-direction: column; align-items: center;
	padding: 4px 36px 40px;
}
.vi-card p {
	margin: 0;
	max-width: 25em;
	text-wrap: pretty;
}
.vi-card__body > :nth-last-child(2) { margin-bottom: 30px; }

.vi-locations {
	list-style: none; margin: 0; padding: 0;
	display: grid;
	grid-template-columns: auto auto auto;
	column-gap: 12px; row-gap: 1px;
	text-align: left;
	font-size: 16px;
}
.vi-locations li { display: contents; }
.vi-city {
	padding-left: 26px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%235b7350'%3E%3Cpath d='M3 15C5 10 8 6 13 2' fill='none' stroke='%235b7350' stroke-width='1.2'/%3E%3Cpath d='M6 11C2 11 1 8 2 6c3 0 5 2 4 5z'/%3E%3Cpath d='M8 8C8 4 10 2 13 2c0 3-2 5-5 6z'/%3E%3Cpath d='M9 10c3-1 5 0 6 2-3 1-5 0-6-2z'/%3E%3C/g%3E%3C/svg%3E") left .25em / 16px no-repeat;
}

.vi-note { display: inline-flex; align-items: center; gap: 10px; }
.vi-note .vi-heart { width: 16px; height: 15px; }

.vi-floral--a { left: -26px; bottom: -14px; width: 190px; }
.vi-floral--b { right: -92px; bottom: -10px; width: 150px; }
.vi-floral--c { right: -112px; bottom: -10px; width: 175px; }
.vi-floral--d { right: -26px; bottom: -14px; width: 190px; }

/* =========================================================
   7. Üldised lehed (index.php) ja redaktori sisu
   ========================================================= */
.vi-panel { max-width: 920px; margin: 0 auto 24px; }
.vi-panel__photo { aspect-ratio: 920 / 380; }
.vi-panel__body { padding: 4px clamp(24px, 6vw, 90px) 110px; }
.vi-panel .vi-floral--a, .vi-panel .vi-floral--d { width: 150px; }
.vi-panel .vi-title { margin-bottom: 0; }
.vi-panel--content { margin-top: 46px; }
.vi-panel--content .vi-panel__body { padding: 40px clamp(24px, 6vw, 90px) 44px; }

.vi-prose { width: 100%; max-width: 34em; text-align: left; }
.vi-prose > * { margin: 0 0 .9em; }
.vi-prose h2, .vi-prose h3 { font-weight: 500; font-variant: small-caps; color: var(--vi-ink); line-height: 1.1; margin-top: 1.2em; text-align: center; }
.vi-prose h2 { font-size: 27px; }
.vi-prose h3 { font-size: 22px; }
.vi-prose img { border-radius: 14px; }
.vi-prose .wp-block-button__link { border-radius: 999px; background: #a27639; color: #fffaf0; }
.vi-pagination { text-align: center; }

/* =========================================================
   8. Alamlehed: ühised plokid
   ========================================================= */
.vi-sub { max-width: 1180px; margin: 0 auto; padding-bottom: 60px; }

/* Avaplokk: foto vasakul, tekst paremal */
.vi-sub-hero {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	align-items: center;
	background: var(--vi-card);
	border: 1px solid var(--vi-line);
	border-radius: 22px;
	box-shadow: 0 8px 22px rgba(120, 95, 55, .08);
	margin-top: 10px;
}
.vi-sub-hero__photo {
	align-self: stretch;
	min-height: 360px;
	border-radius: 21px 0 0 21px;
	overflow: hidden;
}
/* Teema fotode alaosas on avalehe kaare jaoks lisaruumi – peidame selle */
.vi-sub-hero__photo img { display: block; width: 100%; height: calc(100% + 56px); object-fit: cover; object-position: center top; }
/* Lehe oma tunnuspilt näidatakse tervikuna */
.vi-sub-hero__photo img.vi-own-photo { height: 100%; object-position: center; }
.vi-sub-hero__text {
	position: relative; z-index: 4;
	padding: 36px 56px 44px;
	text-align: center;
}
.vi-sub-hero__text .vi-icon { margin: 0 auto 6px; }
.vi-sub-hero__text .vi-title { margin: 0; }
.vi-lead { margin: 0 auto; max-width: 28em; font-size: 18px; line-height: 1.5; text-wrap: pretty; }
.vi-sub-hero__corner { top: -14px; right: -22px; bottom: auto; width: 180px; }

/* Lõigu pealkiri */
.vi-section { margin-top: 56px; text-align: center; }
.vi-section__title {
	margin: 0;
	font-weight: 500; font-variant: small-caps;
	font-size: clamp(24px, 2.1vw, 31px);
	line-height: 1.1;
	color: var(--vi-ink);
}
.vi-section .vi-garland { margin-bottom: 28px; }

.vi-tile h3, .vi-shop h3, .vi-tile__title, .vi-shop__city {
	margin: 6px 0;
	font-weight: 500; font-variant: small-caps;
	font-size: 21px; line-height: 1.1;
	color: var(--vi-ink);
}

/* Teemade plaadid ("Mida meilt leiad") */
.vi-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.vi-tile {
	background: var(--vi-card);
	border: 1px solid var(--vi-line);
	border-radius: 18px;
	padding: 26px 20px 28px;
	box-shadow: 0 6px 16px rgba(120, 95, 55, .06);
}
.vi-tile p { margin: 0 auto; max-width: 20em; }
.vi-tile__icon {
	width: 40px; height: 40px;
	fill: none; stroke: var(--vi-gold); stroke-width: 1.1; stroke-linejoin: round; stroke-linecap: round;
}

/* Lõpuplokk ("Tule meile külla") */
.vi-cta {
	position: relative;
	display: flex; flex-direction: column; align-items: center; gap: 18px;
	margin: 56px auto 0;
	padding: 10px 150px;
	max-width: 760px;
	text-align: center;
}
.vi-cta__text {
	margin: 0;
	display: inline-flex; align-items: center; gap: 12px;
	font-family: var(--vi-script);
	font-size: clamp(28px, 2.6vw, 38px);
	line-height: 1.25;
	color: var(--vi-wine);
}
.vi-cta__text .vi-heart { width: 18px; height: 17px; }
.vi-cta__branch { width: 130px; top: 50%; bottom: auto; transform: translateY(-50%); }
.vi-cta__branch--left { left: 0; }
.vi-cta__branch--right { right: 0; }

/* =========================================================
   9. Kes me oleme: lugu ja allkiri
   ========================================================= */
.vi-story {
	position: relative;
	max-width: 760px;
	margin: 0 auto 40px;
	text-align: left;
}
.vi-story > :not(.vi-floral) { position: relative; z-index: 4; }
.vi-story > p { margin: 0 0 1em; text-wrap: pretty; }
.vi-story > :last-child { margin-bottom: 0; }
.vi-story h3 { margin: 1.4em 0 .5em; font-weight: 500; font-variant: small-caps; font-size: 21px; color: var(--vi-ink); text-align: center; }
.vi-story ul, .vi-story ol { margin: 0 0 1em; padding-left: 1.3em; }
.vi-story img { border-radius: 14px; }
.vi-story a:not(.vi-btn) { color: var(--vi-gold); }

/* "Tsitaat" plokk = allkiri */
.vi-story .wp-block-quote {
	margin: 28px 0 0;
	padding: 0;
	border: 0;
	text-align: center;
	color: var(--vi-text);
}
.vi-story .wp-block-quote p { margin: 0; }
.vi-story .wp-block-quote cite {
	display: block;
	margin-top: 4px;
	font-family: var(--vi-script);
	font-style: normal !important;
	font-size: 40px;
	line-height: 1.2;
	color: var(--vi-wine);
}
.vi-story--panel {
	padding: 40px 64px 48px;
	background: var(--vi-card);
	border: 1px solid var(--vi-line);
	border-radius: 22px;
	box-shadow: 0 8px 22px rgba(120, 95, 55, .08);
}
.vi-story__corner { width: 150px; bottom: -14px; }
.vi-story__corner--left { left: -24px; }
.vi-story__corner--right { right: -24px; }

.vi-signature {
	margin: 28px 0 0 !important;
	text-align: center;
	color: var(--vi-text);
}
.vi-signature span {
	display: block;
	margin-top: 4px;
	font-family: var(--vi-script);
	font-size: 40px;
	line-height: 1.2;
	color: var(--vi-wine);
}

/* =========================================================
   10. Kus me asume: kaupluste kaardid
   ========================================================= */
.vi-shops {
	display: flex; flex-wrap: wrap; justify-content: center;
	gap: 18px;
}
.vi-shop {
	display: flex; flex-direction: column; align-items: center;
	flex: 0 1 calc((100% - 36px) / 3);
	min-width: 250px;
	background: var(--vi-card);
	border: 1px solid var(--vi-line);
	border-radius: 18px;
	padding: 26px 26px 24px;
	box-shadow: 0 6px 16px rgba(120, 95, 55, .06);
}
.vi-shop__brand {
	margin: 0;
	font-family: var(--vi-script);
	font-size: 24px; line-height: 1.1;
	color: var(--vi-green);
}
.vi-shop h3, .vi-shop__city { font-size: 25px; margin-top: 0; }
.vi-shop__status {
	display: inline-block;
	margin: 0;
	padding: 3px 16px 4px;
	border-radius: 999px;
	font-size: 15px;
}
.vi-shop--avatud .vi-shop__status { background: #e6ecdc; color: #3e5a37; }
.vi-shop--muutub .vi-shop__status { background: #f4e8d2; color: #87622a; }
.vi-shop .vi-divider { margin: 16px auto 14px; width: 140px; }
.vi-shop__row { margin: 2px 0; line-height: 1.45; }
.vi-shop__row + .vi-shop__row { margin-top: 10px; }
.vi-shop__label {
	display: block;
	font-weight: 500;
	font-size: 11px; letter-spacing: .16em; text-transform: uppercase;
	color: var(--vi-gold);
}
.vi-shop__tel {
	font-size: 20px;
	color: var(--vi-ink);
	text-decoration: none;
	letter-spacing: .02em;
}
.vi-shop__tel:hover { color: var(--vi-gold); }
.vi-shop__map {
	display: block;
	margin-top: 2px;
	font-size: 14px;
	color: var(--vi-gold);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.vi-shop__tbd { margin-top: 4px; max-width: 16em; color: #8c877c; }

/* =========================================================
   11. E-pood: teade
   ========================================================= */
.vi-notice {
	position: relative;
	max-width: 760px;
	margin: 46px auto 0;
	padding: 40px 60px 46px;
	background: var(--vi-card);
	border: 1px solid var(--vi-line);
	border-radius: 22px;
	box-shadow: 0 8px 22px rgba(120, 95, 55, .08);
	text-align: center;
}
.vi-notice > p { position: relative; z-index: 4; margin: 0 auto 26px; max-width: 26em; }
.vi-notice .vi-btn { position: relative; z-index: 4; }
.vi-notice__script {
	font-family: var(--vi-script);
	font-size: 42px !important; line-height: 1.2;
	color: var(--vi-wine);
	margin-bottom: 0 !important;
}
.vi-notice__corner { width: 150px; bottom: -14px; }
.vi-notice__corner--left { left: -24px; }
.vi-notice__corner--right { right: -24px; }

/* =========================================================
   12. Jalus
   ========================================================= */
.vi-footer {
	width: 100%;
	aspect-ratio: 1448 / 84;
	min-height: 64px;
	display: flex; align-items: center; justify-content: center;
	padding: 0 16px;
	background: #f1e6d8 url("assets/img/jalus.jpg") center / cover no-repeat;
	border-top: 1px solid #ecdcc6;
}
.vi-slogan {
	display: flex; align-items: center; gap: 14px;
	margin: 0;
	font-family: var(--vi-script);
	font-size: clamp(22px, 2.2vw, 32px);
	color: var(--vi-wine);
	white-space: nowrap;
}
.vi-swirl { width: 92px; height: 16px; fill: none; stroke: var(--vi-gold); stroke-width: 1.3; stroke-linecap: round; }
.vi-line { width: 70px; height: 3px; fill: none; stroke: var(--vi-gold); stroke-width: 1.3; }
.vi-heart--outline { width: 22px; height: 20px; fill: none; stroke: var(--vi-gold); stroke-width: 1.8; }

/* =========================================================
   13. Väiksemad ekraanid
   ========================================================= */
@media (max-width: 1100px) {
	body { font-size: 16px; }
	.vi-card__body { padding: 4px 22px 34px; }
	.vi-btn { min-width: 0; padding: 9px 30px 10px; font-size: 16px; }
	.vi-locations { column-gap: 8px; }
}
@media (max-width: 1000px) {
	.vi-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vi-shop { flex-basis: calc((100% - 18px) / 2); }
	.vi-sub-hero__text { padding: 30px 32px 36px; }
}
@media (max-width: 860px) {
	.vi-cards { grid-template-columns: minmax(0, 560px); justify-content: center; gap: 26px; }
	.vi-floral--b, .vi-floral--c { display: none; }
	.vi-floral--a { width: 130px; left: -16px; }
	.vi-floral--d { width: 130px; right: -16px; }
	.vi-hero { height: auto; padding: 14px 0 12px; }
	.vi-corner { height: 100%; opacity: .9; }
	.vi-slogan .vi-line, .vi-slogan .vi-heart--outline { display: none; }
}
@media (max-width: 760px) {
	.vi-sub-hero { grid-template-columns: 1fr; }
	.vi-sub-hero__photo { min-height: 0; aspect-ratio: 452 / 300; border-radius: 21px 21px 0 0; }
	.vi-sub-hero__corner { width: 120px; }
	.vi-shop { flex-basis: 100%; }
	.vi-notice { padding: 32px 26px 40px; }
	.vi-notice__corner { width: 100px; }
	.vi-story--panel { padding: 30px 24px 70px; }
	.vi-story__corner { width: 100px; }
	.vi-cta { padding: 10px 20px; }
	.vi-cta__branch { display: none; }
}
@media (max-width: 520px) {
	.vi-main { padding: 12px 10px 30px; }
	.vi-menu a { letter-spacing: .06em; font-size: 12.5px; padding: 2px 9px; }
	.vi-menu a::after { bottom: -10px; }
	.vi-corner { height: 78%; }
	.vi-logo img { width: 74vw; }
	.vi-keywords { letter-spacing: .1em; font-size: 10.5px; }
	.vi-card__body { padding: 4px 18px 30px; }
	.vi-locations { column-gap: 6px; font-size: 15px; }
	.vi-tiles { grid-template-columns: 1fr; }
	.vi-lead { font-size: 17px; }
	.vi-swirl { display: none; }
	.vi-slogan { white-space: normal; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}

/* Klassikaline redaktor: tsitaat (blockquote) = allkiri.
   Kirjuta tsitaati kaks rida: esimene tavaline tekst, viimane (nimi) tuleb käekirjas. */
.vi-story blockquote {
	margin: 28px 0 0;
	padding: 0;
	border: 0;
	text-align: center;
	color: var(--vi-text);
}
.vi-story blockquote p { margin: 0; }
.vi-story blockquote p + p:last-child,
.vi-story blockquote cite {
	display: block;
	margin-top: 4px;
	font-family: var(--vi-script);
	font-style: normal !important;
	font-size: 40px;
	line-height: 1.2;
	color: var(--vi-wine);
}

/* =========================================================
   Jalus: firma andmed
   Joondus, vahed ja ikooni suurus: Välimus → Kohanda → Väike Ingel → Päis ja jalus
   ========================================================= */
.vi-company {
	--vi-company-top: 18px;
	--vi-company-bottom: 22px;
	--vi-company-icon: 36px;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
	gap: 10px 0;
	padding: var(--vi-company-top) 40px var(--vi-company-bottom);
	background: linear-gradient(180deg, #fbf6ee, #f6efe3);
	border-top: 1px solid var(--vi-line);
	font-size: 15px;
	letter-spacing: .06em;
	color: var(--vi-ink);
}
.vi-company--left { justify-content: flex-start; }
.vi-company--right { justify-content: flex-end; }

.vi-company__social { display: inline-flex; gap: 10px; padding-right: 22px; }
.vi-company__info { display: inline-flex; flex-wrap: wrap; align-items: center; row-gap: 6px; }
.vi-company__item { padding: 0 22px; }
.vi-company__info > .vi-company__item:first-child { padding-left: 0; }
.vi-company__info > .vi-company__item:last-child { padding-right: 0; }
.vi-company__item + .vi-company__item { border-left: 1.5px solid var(--vi-gold); }
.vi-company:not(.vi-company--stacked) .vi-company__social + .vi-company__info > .vi-company__item:first-child {
	padding-left: 22px;
	border-left: 1.5px solid var(--vi-gold);
}

/* Facebook/Instagram eraldi real */
.vi-company--stacked { flex-direction: column; gap: 12px; }
.vi-company--stacked .vi-company__social { padding-right: 0; }
.vi-company--stacked.vi-company--left { align-items: flex-start; }
.vi-company--stacked.vi-company--center { align-items: center; }
.vi-company--stacked.vi-company--right { align-items: flex-end; }

.vi-company__code { color: #8c877c; letter-spacing: 0; }
.vi-company a { color: var(--vi-ink); text-decoration: none; }
.vi-company a:hover { color: var(--vi-gold); }

.vi-social {
	display: inline-grid; place-items: center;
	width: var(--vi-company-icon); height: var(--vi-company-icon);
	border: 1.5px solid var(--vi-gold);
	border-radius: 50%;
	color: var(--vi-gold) !important;
	transition: background .2s ease, color .2s ease;
}
.vi-social svg { width: 50%; height: 50%; fill: currentColor; }
.vi-social:hover { background: var(--vi-gold); color: #fffaf0 !important; }

@media (max-width: 600px) {
	.vi-company { flex-direction: column; gap: 8px; padding-left: 20px; padding-right: 20px; }
	.vi-company--left { align-items: flex-start; }
	.vi-company--center { align-items: center; }
	.vi-company--right { align-items: flex-end; }
	.vi-company__social { padding: 0 0 4px; }
	.vi-company__info { flex-direction: column; align-items: inherit; }
	.vi-company__item { padding: 0 !important; border-left: 0 !important; }
}

/* =========================================================
   Redaktori sisu: nupud, laiad plokid
   ========================================================= */
.vi-section__wide { position: relative; }
.vi-btn-row { margin: 26px 0 0 !important; text-align: center; }
.vi-cta .vi-btn-row { margin: 0 !important; }
.vi-notice .vi-btn-row { margin: 0 auto !important; max-width: none !important; }
.vi-story .vi-btn-row .vi-btn, .vi-notice .vi-btn-row .vi-btn, .vi-cta .vi-btn-row .vi-btn { color: #fffaf0; text-decoration: none; }
.vi-tile .vi-tile__title { margin: 6px auto; max-width: none; }

/* =========================================================
   Jalus: tingimuste lingid (Välimus → Menüüd → "Jaluse menüü")
   Väike ja tagasihoidlik rida firma andmete all.
   ========================================================= */
.vi-legal { flex-basis: 100%; margin-top: 4px; }
.vi-company--stacked .vi-legal { flex-basis: auto; width: 100%; }
.vi-legal__menu {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-wrap: wrap; align-items: center;
	justify-content: center;
	row-gap: 4px;
}
.vi-company--left .vi-legal__menu { justify-content: flex-start; }
.vi-company--right .vi-legal__menu { justify-content: flex-end; }
.vi-legal__menu li { display: inline-flex; align-items: center; }
.vi-legal__menu li + li::before {
	content: "·";
	margin: 0 10px;
	color: var(--vi-gold);
}
.vi-legal__menu a {
	font-size: 12px;
	letter-spacing: .08em;
	color: #7d7a70 !important;
	text-decoration: none;
	transition: color .2s ease;
}
.vi-legal__menu a:hover,
.vi-legal__menu .current-menu-item > a { color: var(--vi-gold) !important; }

@media (max-width: 600px) {
	.vi-legal { width: 100%; margin-top: 8px; }
	.vi-legal__menu { gap: 6px 18px; }
	.vi-legal__menu li + li::before { display: none; }
	.vi-company--left .vi-legal__menu { justify-content: flex-start; }
	.vi-company--center .vi-legal__menu { justify-content: center; }
	.vi-company--right .vi-legal__menu { justify-content: flex-end; }
}

/* Terve päise pilt (Välimus → Kohanda → Väike Ingel → Pildid) */
.vi-hero.vi-hero--image {
	display: block;
	height: auto;
	padding: 0;
	background: #f6efe3;
}
.vi-hero--image img {
	display: block;
	width: 100%;
	height: auto;
}

/* Jaluse riba variandid (Välimus → Kohanda → Väike Ingel → Päis ja jalus → Jaluse riba) */
.vi-footer--text {
	aspect-ratio: auto;
	min-height: 0;
	padding: 22px 16px;
	background: linear-gradient(180deg, #f6eee2, #efe4d4);
}
.vi-footer.vi-footer--image {
	display: block;
	aspect-ratio: auto;
	min-height: 0;
	padding: 0;
	background: none;
}
.vi-footer--image img { display: block; width: 100%; height: auto; }

/* =========================================================
   Kaupluse lehed (/kauplus/linn/) ja lingid poodide kaartidelt
   ========================================================= */
a.vi-shop__status--link {
	display: inline-flex; align-items: center; gap: 8px;
	text-decoration: none;
	transition: filter .2s ease, box-shadow .2s ease;
}
a.vi-shop__status--link .vi-arrow { width: 18px; height: 10px; }
a.vi-shop__status--link:hover { filter: brightness(.95); box-shadow: 0 2px 8px rgba(120, 95, 55, .18); }
.vi-shop__city a, .vi-city a { color: inherit; text-decoration: none; }
.vi-shop__city a:hover, .vi-city a:hover { color: var(--vi-gold); }

/* Silt ilma ümbritseva kaardita (kaupluse lehe päises) */
.vi-shop__status.vi-shop--avatud { background: #e6ecdc; color: #3e5a37; }
.vi-shop__status.vi-shop--muutub { background: #f4e8d2; color: #87622a; }

.vi-shop-hero__brand { font-size: 30px !important; margin-top: 4px !important; }
.vi-shop-hero .vi-title { margin: 0 0 8px; }
.vi-shop-hero__status { margin: 0; }
.vi-shop-hero__rows { display: grid; gap: 12px; justify-items: center; }
.vi-shop-hero__rows .vi-shop__row { margin: 0; }

/* Kaart */
.vi-map {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--vi-line);
	border-radius: 22px;
	box-shadow: 0 8px 22px rgba(120, 95, 55, .08);
	background: var(--vi-card);
	aspect-ratio: 16 / 7;
	min-height: 320px;
}
.vi-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Galerii */
.vi-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 14px;
}
.vi-gallery a {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 16px;
	border: 1px solid var(--vi-line);
	box-shadow: 0 6px 16px rgba(120, 95, 55, .08);
	background: var(--vi-card);
}
.vi-gallery img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.vi-gallery a:hover img { transform: scale(1.04); }

/* Suur pilt (galerii) */
.vi-lightbox {
	position: fixed; inset: 0; z-index: 99999;
	display: none; align-items: center; justify-content: center;
	padding: 40px 70px;
	background: rgba(32, 29, 24, .9);
}
.vi-lightbox.is-open { display: flex; }
.vi-lightbox img { max-width: 100%; max-height: 100%; border-radius: 10px; box-shadow: 0 10px 40px rgba(0, 0, 0, .4); }
.vi-lightbox button {
	position: absolute;
	width: 48px; height: 48px;
	border: 1.5px solid var(--vi-gold-light); border-radius: 50%;
	background: rgba(252, 247, 239, .1);
	color: #fcf7ef; font-size: 30px; line-height: 1; cursor: pointer;
}
.vi-lightbox button:hover { background: var(--vi-gold); }
.vi-lightbox__close { top: 18px; right: 18px; }
.vi-lightbox__prev { left: 14px; top: 50%; transform: translateY(-50%); }
.vi-lightbox__next { right: 14px; top: 50%; transform: translateY(-50%); }

.vi-arrow--back { order: -1; }

@media (max-width: 760px) {
	.vi-map { aspect-ratio: 4 / 3; min-height: 0; }
	.vi-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.vi-lightbox { padding: 60px 10px; }
	.vi-lightbox__prev, .vi-lightbox__next { top: auto; bottom: 10px; transform: none; }
}

/* =========================================================
   Lahtiolekuajad (Google'ist või käsitsi)
   ========================================================= */
.vi-shop__hours { display: grid; justify-items: center; gap: 2px; }
.vi-open-state {
	display: inline-flex; align-items: center; gap: 8px;
	margin: 0;
	color: var(--vi-ink);
}
.vi-open-state::before {
	content: ""; width: 9px; height: 9px; border-radius: 50%;
	background: #8c877c;
}
.vi-open-state.is-open::before { background: #6b8f5a; box-shadow: 0 0 0 3px rgba(107, 143, 90, .18); }
.vi-open-state.is-closed::before { background: #c08a4a; }
.vi-open-today { font-size: 15px; color: #6f6b62; }

.vi-hours-card {
	max-width: 460px;
	margin: 0 auto;
	padding: 26px 34px 28px;
	background: var(--vi-card);
	border: 1px solid var(--vi-line);
	border-radius: 22px;
	box-shadow: 0 8px 22px rgba(120, 95, 55, .08);
	text-align: center;
}
.vi-hours-card .vi-open-state { margin-bottom: 14px; }
.vi-hours { width: 100%; border-collapse: collapse; }
.vi-hours th, .vi-hours td {
	padding: 7px 4px;
	border-bottom: 1px solid #efe5d4;
	font-weight: 400;
	text-align: left;
}
.vi-hours td { text-align: right; }
.vi-hours tr:last-child th, .vi-hours tr:last-child td { border-bottom: 0; }
.vi-hours .is-today th, .vi-hours .is-today td { color: var(--vi-ink); font-weight: 700; }
.vi-hours .is-today th::before { content: "♥ "; color: var(--vi-gold); font-weight: 400; }
.vi-hours__special { color: var(--vi-gold); font-size: .85em; }

/* Avalehe poodide loend: lingid telefonis piisavalt suured vajutamiseks (vähemalt 24 px) */
.vi-locations { row-gap: 4px; }
.vi-city a { display: inline-block; min-height: 24px; line-height: 24px; }