/*
Theme Name: Meelest
Theme URI: https://meelest.ee
Author: Meelest
Description: Meelesti kodulehe teema — minimalistlik kehahooldus, looduskosmeetika õpitoad ja e-raamat "Isemoodi ilus". Brändi värvid ja kirjatüübid (Libre Baskerville, Raleway) vastavalt stiiliraamatule.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.2.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: meelest
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--wp--preset--color--blush); color: var(--wp--preset--color--ink); }
a { text-decoration-thickness: 1px; text-underline-offset: 0.22em; text-decoration-color: var(--wp--preset--color--gold); transition: color .2s ease, text-decoration-color .2s ease; }
a:hover { text-decoration-color: currentColor; }
:where(.wp-site-blocks) :focus-visible { outline: 2px solid var(--wp--preset--color--gold-deep); outline-offset: 3px; }
img { height: auto; }

/* ---------- Eyebrow / small caps label ---------- */
.is-style-eyebrow,
.meelest-eyebrow {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--x-small) !important;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--wp--preset--color--terracotta-deep);
	line-height: 1.6;
}
[class*="-background-color"] .is-style-eyebrow { color: var(--wp--preset--color--ink); }
.has-ink-background-color .is-style-eyebrow,
.has-terracotta-deep-background-color .is-style-eyebrow { color: var(--wp--preset--color--blush); }

/* Wide tracked serif, echoing the logotype */
.is-style-tracked { letter-spacing: 0.32em !important; text-transform: uppercase; }

/* ---------- Header ---------- */
.site-header { position: relative; z-index: 20; }
.site-header .meelest-logo { margin: 0; }
.site-header .meelest-logo img { width: 120px !important; display: block; }
.site-header .wp-block-navigation a { text-decoration: none; padding-block: .3rem; border-bottom: 1.5px solid transparent; transition: border-color .2s ease; }
.site-header .wp-block-navigation a:hover,
.site-header .wp-block-navigation .current-menu-item > a,
.site-header .wp-block-navigation a[aria-current="page"] { border-bottom-color: var(--wp--preset--color--ink); color: var(--wp--preset--color--ink); }
.site-header .wp-block-navigation__responsive-container.is-menu-open { padding: 2rem; }
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.4rem; font-size: 0.95rem; }
.site-header .meelest-header-cta .wp-block-button__link { padding: .8rem 1.4rem; font-size: .7rem; }
@media (max-width: 900px) { .site-header .meelest-header-cta { display: none; } }
.meelest-rule { height: 1px; border: 0; margin: 0 auto; background: linear-gradient(90deg, transparent, var(--wp--preset--color--gold) 18%, var(--wp--preset--color--gold) 82%, transparent); max-width: 1200px; opacity: .55; }

/* ---------- Separator with sprig ---------- */
.wp-block-separator.is-style-sprig {
	border: 0 !important; height: 46px; width: 60px !important; max-width: 60px !important; margin-inline: auto !important;
	background: url("assets/images/sprig-gold.png") center / contain no-repeat !important; opacity: .9;
}

/* ---------- Group: sprig pattern background ---------- */
.is-style-pattern { position: relative; isolation: isolate; }
.is-style-pattern::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: url("assets/images/pattern-sprigs.png") center / 520px repeat; opacity: .16;
}
.is-style-pattern-strong::before { opacity: .32; }
.is-style-pattern-gold { background: url("assets/images/pattern-gold.jpg") center / 560px repeat !important; }

/* ---------- Image: soft offset frame ---------- */
.wp-block-image.is-style-offset img { box-shadow: 1.1rem 1.1rem 0 0 var(--wp--preset--color--gold); }
.wp-block-image.is-style-offset-sage img { box-shadow: -1.1rem 1.1rem 0 0 var(--wp--preset--color--sage); }
.wp-block-image.is-style-arch img { border-radius: 999px 999px 14px 14px; }
.wp-block-image.is-style-circle img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; }

/* ---------- Lists with sprig bullets ---------- */
ul.is-style-sprig { list-style: none; padding-left: 0; }
ul.is-style-sprig > li { position: relative; padding-left: 1.75rem; margin-bottom: .55rem; }
ul.is-style-sprig > li::before {
	content: ""; position: absolute; left: .2rem; top: .62em; width: .62rem; height: .62rem;
	background: var(--wp--preset--color--terracotta); border-radius: 0 75% 0 75%; transform: rotate(-12deg);
}
ul.is-style-columns { columns: 2 16rem; column-gap: 2.5rem; }
ul.is-style-columns > li { break-inside: avoid; }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--wp--preset--color--ink); border-color: var(--wp--preset--color--ink); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); }
.has-ink-background-color .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--wp--preset--color--white); border-color: var(--wp--preset--color--white); }
.wp-block-button__link { transition: background-color .2s ease, color .2s ease, border-color .2s ease; }

/* Text link with arrow */
.meelest-more a, a.meelest-more { font-size: var(--wp--preset--font-size--x-small); font-weight: 600; letter-spacing: .2em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid var(--wp--preset--color--gold); padding-bottom: .2rem; }
.meelest-more a::after, a.meelest-more::after { content: " →"; letter-spacing: 0; }

/* ---------- Cards ---------- */
.meelest-card { height: 100%; }
.meelest-card .wp-block-image, .meelest-card .wp-block-post-featured-image { margin-bottom: 1.25rem; overflow: hidden; }
.meelest-card img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; transition: transform .6s ease; border-radius: 14px; }
.meelest-card:hover img { transform: scale(1.03); }
.meelest-card h3, .meelest-card .wp-block-post-title { font-size: var(--wp--preset--font-size--large); margin-block: .35rem .6rem; }
.meelest-card h3 a, .meelest-card .wp-block-post-title a { text-decoration: none; }
.meelest-card p { font-size: .975rem; }

/* Blog grid */
.meelest-grid.wp-block-post-template { gap: clamp(2rem, 4vw, 3.25rem) clamp(1.5rem, 3vw, 2.5rem); }
.wp-block-query-pagination { font-size: var(--wp--preset--font-size--small); letter-spacing: .12em; text-transform: uppercase; }
.wp-block-query-pagination a { text-decoration: none; }
.wp-block-query-pagination-numbers .current { border-bottom: 1px solid var(--wp--preset--color--gold); }

/* ---------- Hero ---------- */
.meelest-hero h1 { text-wrap: balance; }
.meelest-hero .wp-block-image img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.meelest-hero ul.is-style-sprig a { text-decoration: none; border-bottom: 1px solid var(--wp--preset--color--stone); }
.meelest-hero ul.is-style-sprig a:hover { border-bottom-color: var(--wp--preset--color--gold-deep); }

/* ---------- Price ---------- */
.meelest-price { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--xx-large); line-height: 1; }
.meelest-price s, .meelest-price del { font-family: var(--wp--preset--font-family--sans); font-size: 1rem; color: var(--wp--preset--color--ink-soft); margin-left: .75rem; }

/* ---------- Testimonials ---------- */
.meelest-testimonial { position: relative; padding-top: 2.4rem !important; }
.meelest-testimonial::before { content: "“"; position: absolute; top: -.6rem; left: 50%; transform: translateX(-50%); font-family: var(--wp--preset--font-family--serif); font-size: 4.5rem; line-height: 1; color: var(--wp--preset--color--gold); }

/* ---------- Gallery of sample pages ---------- */
.meelest-pages.wp-block-gallery img { box-shadow: 0 10px 30px -18px rgba(33,35,34,.45); }

/* ---------- Sample chapters form ---------- */
.meelest-signup { max-width: 560px; margin-inline: auto; }
.meelest-signup__row { display: flex; gap: 0; flex-wrap: wrap; }
.meelest-signup input[type="email"] {
	flex: 1 1 14rem; min-width: 0; font: inherit; font-size: 1rem; padding: .95rem 1.1rem; border: 1px solid var(--wp--preset--color--ink); border-right: 0; background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink); border-radius: 999px 0 0 999px; padding-left: 1.4rem;
}
.meelest-signup button {
	flex: 0 0 auto; cursor: pointer; border: 1px solid var(--wp--preset--color--ink); background: var(--wp--preset--color--ink); color: #fff; border-radius: 0 999px 999px 0;
	font-family: var(--wp--preset--font-family--sans); font-size: .75rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; padding: .95rem 1.6rem; transition: background-color .2s ease;
}
.meelest-signup button:hover { background: var(--wp--preset--color--terracotta-deep); border-color: var(--wp--preset--color--terracotta-deep); }
.meelest-signup__consent { display: flex; gap: .6rem; align-items: flex-start; margin-top: .9rem; font-size: .875rem; line-height: 1.5; text-align: left; }
.meelest-signup__consent input { margin-top: .2rem; accent-color: var(--wp--preset--color--gold-deep); width: 1rem; height: 1rem; flex: 0 0 auto; }
.meelest-signup__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.meelest-signup__msg { padding: .9rem 1.1rem; margin-bottom: 1rem; font-size: .95rem; background: var(--wp--preset--color--white); border-left: 3px solid var(--wp--preset--color--sage); text-align: left; }
.meelest-signup__msg.is-error { border-left-color: var(--wp--preset--color--terracotta); }
@media (max-width: 520px) {
	.meelest-signup input[type="email"] { border-right: 1px solid var(--wp--preset--color--ink); flex-basis: 100%; border-radius: 999px; }
	.meelest-signup button { flex-basis: 100%; margin-top: .5rem; border-radius: 999px; }
}

/* ---------- Single post ---------- */
.meelest-entry .wp-block-post-content > * + h2, .meelest-entry .wp-block-post-content > * + h3 { margin-top: 2.6rem; }
.meelest-entry .wp-block-post-content img { margin-block: .5rem; }
.meelest-entry .wp-block-post-content ul, .meelest-entry .wp-block-post-content ol { padding-left: 1.3rem; }
.meelest-entry .wp-block-post-content li { margin-bottom: .35rem; }
.meelest-entry .wp-block-post-content li::marker { color: var(--wp--preset--color--gold-deep); }
.wp-block-post-terms a { text-decoration: none; border: 1px solid var(--wp--preset--color--stone); padding: .25rem .7rem; display: inline-block; margin: 0 .25rem .4rem 0; }
.wp-block-post-terms a:hover { border-color: var(--wp--preset--color--gold-deep); }
.wp-block-post-terms .wp-block-post-terms__separator { display: none; }
.wp-block-post-navigation-link a { text-decoration: none; }

/* ---------- Footer ---------- */
.site-footer a { color: inherit; text-decoration-color: rgba(255,255,255,.35); }
.site-footer a:hover { color: var(--wp--preset--color--blush); text-decoration-color: var(--wp--preset--color--blush); }
.site-footer .meelest-footer-nav { list-style: none; padding: 0; margin: 0; }
.site-footer .meelest-footer-nav li { margin-bottom: .45rem; }
.site-footer .meelest-footer-nav a { text-decoration: none; }
.site-footer .wp-block-social-links .wp-social-link { color: var(--wp--preset--color--white); }

/* ---------- Utilities ---------- */
.meelest-stack-tight > * + * { margin-block-start: .5rem !important; }
@media (max-width: 781px) {
	.meelest-reverse-mobile { flex-direction: column-reverse; }
	.wp-block-image.is-style-offset img, .wp-block-image.is-style-offset-sage img { box-shadow: .6rem .6rem 0 0 var(--wp--preset--color--blush-light); }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* ---------- Colour blocks: cards, menu, steps ---------- */
.meelest-tile { border-radius: 18px; height: 100%; }
.meelest-tile h3 { margin-top: .9rem; margin-bottom: .4rem; }
.meelest-tile p { font-size: .95rem; }
.meelest-tile .meelest-tile-icon img { width: 30px; }
.meelest-tile .meelest-tile-icon { margin: 0; width: 52px; height: 52px; border-radius: 50%; background: rgba(255,255,255,.55); display: flex !important; align-items: center; justify-content: center; }
.meelest-arch { border-radius: 260px 260px 16px 16px; height: 100%; text-align: center; }
.meelest-arch .wp-block-image img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; width: 100%; }
.meelest-arch h3 { font-size: 1.15rem; }
.meelest-arch a { text-decoration: none; }
.meelest-num { font-family: var(--wp--preset--font-family--serif); font-size: 4rem; line-height: 1; color: var(--wp--preset--color--terracotta-deep); }
.meelest-badge { position: absolute; left: -2rem; top: 46%; width: 150px; height: 150px; border-radius: 50%; background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; transform: rotate(-8deg); font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; line-height: 1.3; box-shadow: 0 12px 30px -16px rgba(33,35,34,.5); }
.meelest-badge strong { font-family: var(--wp--preset--font-family--serif); font-size: 1.9rem; font-weight: 400; letter-spacing: 0; text-transform: none; line-height: 1.1; margin: .2rem 0; }
.meelest-hero-media { position: relative; }
@media (max-width: 781px) { .meelest-badge { left: auto; right: .5rem; top: auto; bottom: -1.5rem; width: 120px; height: 120px; } .meelest-badge strong { font-size: 1.5rem; } }
.meelest-meta { font-size: var(--wp--preset--font-size--x-small); font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.meelest-meta span { display: inline-block; padding: .35rem .9rem; border-radius: 999px; background: rgba(255,255,255,.6); margin: 0 .4rem .4rem 0; }
.meelest-workshop .wp-block-image img { border-radius: 18px; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.meelest-outline-card { border: 1.5px solid var(--wp--preset--color--stone); border-radius: 18px; height: 100%; }
.meelest-outline-card a { text-decoration: none; }
.meelest-outline-card:hover { border-color: var(--wp--preset--color--terracotta); }

/* ---------- Booking form ---------- */
.meelest-booking { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem 1.4rem; max-width: 760px; margin-inline: auto; }
.meelest-booking .full { grid-column: 1 / -1; }
.meelest-booking label { display: block; font-size: .75rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin-bottom: .4rem; }
.meelest-booking input, .meelest-booking select, .meelest-booking textarea { width: 100%; font: inherit; font-size: 1rem; padding: .85rem 1.1rem; border: 1px solid rgba(33,35,34,.35); border-radius: 12px; background: #fff; color: var(--wp--preset--color--ink); }
.meelest-booking input:focus, .meelest-booking select:focus, .meelest-booking textarea:focus { outline: 2px solid var(--wp--preset--color--terracotta-deep); outline-offset: 1px; border-color: transparent; }
.meelest-booking textarea { min-height: 120px; resize: vertical; }
.meelest-booking .meelest-signup__consent label { text-transform: none; letter-spacing: 0; font-weight: 400; font-size: .9rem; margin: 0; display: inline; }
.meelest-booking .meelest-signup__consent input { width: 1rem; padding: 0; }
.meelest-booking button { justify-self: start; cursor: pointer; border: 0; background: var(--wp--preset--color--ink); color: #fff; border-radius: 999px; font-family: var(--wp--preset--font-family--sans); font-size: .75rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; padding: 1.05rem 2.2rem; transition: background-color .2s ease; }
.meelest-booking button:hover { background: var(--wp--preset--color--terracotta-deep); }
@media (max-width: 600px) { .meelest-booking { grid-template-columns: 1fr; } }
.wp-block-columns:has(.meelest-arch) > .wp-block-column,
.wp-block-columns:has(.meelest-tile) > .wp-block-column,
.wp-block-columns:has(.meelest-outline-card) > .wp-block-column { align-self: stretch; }
.meelest-tile .meelest-tile-icon { background: rgba(255,255,255,.75); }
.meelest-workshop-card { border-radius: 24px; scroll-margin-top: 1rem; }
#broneeri { scroll-margin-top: 0; }
@media (max-width: 781px) {
	.wp-block-columns:has(.meelest-arch) > .wp-block-column,
	.wp-block-columns:has(.meelest-tile) > .wp-block-column { flex-basis: calc(50% - .7rem) !important; flex-grow: 0; }
	.meelest-arch { padding: .8rem !important; }
	.meelest-arch h3 { font-size: 1rem; }
	.meelest-tile { padding: 1.1rem !important; }
	.meelest-tile h3 { font-size: .9rem; }
	.meelest-tile p { font-size: .85rem; }
	.meelest-hero .wp-block-image img { max-height: 60vh; object-fit: cover; }
}
/* Logos and decorative artwork must never get rounded corners */
.meelest-logo img, .site-footer .wp-block-image img, .meelest-tile-icon img,
.wp-block-image img[src*="/themes/meelest/assets/images/"] { border-radius: 0 !important; }
/* Booking form: keep every field inside its grid cell */
.meelest-booking, .meelest-booking *, .meelest-signup, .meelest-signup * { box-sizing: border-box; }
.meelest-booking > div { min-width: 0; }
.meelest-booking input, .meelest-booking select, .meelest-booking textarea { display: block; max-width: 100%; min-height: 3.3rem; }
.meelest-booking select { appearance: none; -webkit-appearance: none; padding-right: 2.6rem; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23212322' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 1.1rem center; }
.meelest-booking .meelest-signup__consent input { display: inline-block; min-height: 0; }
/* Audience tiles: clearly visible brand sprig */
.meelest-tile .meelest-tile-icon { width: 58px; height: 58px; background: rgba(255,255,255,.9) !important; }
.meelest-tile .meelest-tile-icon img { width: 36px !important; }
@media (max-width: 781px) { .meelest-tile .meelest-tile-icon { width: 48px; height: 48px; } .meelest-tile .meelest-tile-icon img { width: 30px !important; } }
