/**
 * Marina Shpak — design system & layout.
 *
 * 1:1 port of the locked design handoff styles from
 * `Design/marinashpak-hf/project/Marina Shpak - Standalone.html`.
 *
 * Conventions:
 *  - All design tokens live on :root as --ms-* custom properties.
 *  - theme.json mirrors the same tokens for the block editor — keep them in sync.
 *  - Sections in the same order as the design's data-screen-label numbering.
 *
 * Anything labelled "ADDED — not in design source" is a derivation we made
 * to fill a gap (e.g. the mobile nav panel was wired in HTML/JS but had no
 * styles in the design export). Treat those blocks as ours to refine.
 */

/* ============================================================
   Self-hosted fonts (was Google Fonts CDN — moved local 2026-05-09 for GDPR + LCP).
   Files in ../fonts/ are pulled from the @fontsource npm mirror.
   - Poppins: 300/400/500/600/700 normal + 300/400 italic, latin + latin-ext
   - Montserrat: 400/500/600/700 normal, latin + latin-ext
   - Alex Brush: 400 normal, latin + latin-ext (decorative — only used for the
     About section signature; if a glyph is missing, browser falls back to
     system-ui per body's font-family stack)
   Unicode-range subsets keep latin pages from downloading latin-ext bytes
   they won't paint, and vice versa.
   ============================================================ */

/* Poppins normal */
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/poppins-latin-300-normal.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;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-latin-400-normal.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;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-latin-500-normal.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;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-latin-600-normal.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;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-latin-700-normal.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;}

/* Poppins normal — latin-ext (LT diacritics: ė ą č š ę į ų ū ž) */
@font-face{font-family:'Poppins';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/poppins-latin-ext-300-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/poppins-latin-ext-400-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/poppins-latin-ext-500-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/poppins-latin-ext-600-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/poppins-latin-ext-700-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* Poppins italic — latin + latin-ext (used by the About-section .quote class) */
@font-face{font-family:'Poppins';font-style:italic;font-weight:300;font-display:swap;src:url(../fonts/poppins-latin-300-italic.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;}
@font-face{font-family:'Poppins';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/poppins-latin-400-italic.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;}
@font-face{font-family:'Poppins';font-style:italic;font-weight:300;font-display:swap;src:url(../fonts/poppins-latin-ext-300-italic.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Poppins';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/poppins-latin-ext-400-italic.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* Montserrat — used for tabular numerals (.num) */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/montserrat-latin-400-normal.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;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/montserrat-latin-500-normal.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;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/montserrat-latin-600-normal.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;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/montserrat-latin-700-normal.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;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/montserrat-latin-ext-400-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/montserrat-latin-ext-500-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/montserrat-latin-ext-600-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/montserrat-latin-ext-700-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* Alex Brush — only used by .about-portrait-wrap .sig and .hero-portrait .marker */
@font-face{font-family:'Alex Brush';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/alex-brush-latin-400-normal.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;}
@font-face{font-family:'Alex Brush';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/alex-brush-latin-ext-400-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

:root{
	--ms-bg:#F0EDE9;
	--ms-bg-soft:#F0E5E6;
	--ms-surface:#FFFFFF;
	--ms-ink:#050428;
	--ms-ink-soft:#55296B;
	--ms-accent:#8B498C;
	--ms-accent-warm:#AE749D;
	--ms-accent-rose:#CFA787;
	--ms-deep:#251149;
	--ms-deeper:#050428;
	--shadow-card: 0 1px 2px rgba(5,4,40,.04), 0 8px 24px rgba(5,4,40,.06);
	--shadow-nav: 0 1px 0 rgba(5,4,40,.04), 0 6px 20px rgba(5,4,40,.04);

	/* Brand font tokens. The brand is sans-only — `--ms-serif` resolves to
	   Poppins too so legacy `var(--ms-serif,'Cormorant Garamond',serif)`
	   call-sites stop falling back to an unloaded Cormorant Garamond.
	   Montserrat is reserved for tabular numerals (.num + prices). */
	--ms-sans:'Poppins','Inter',system-ui,-apple-system,sans-serif;
	--ms-serif:'Poppins','Inter',system-ui,-apple-system,sans-serif;
	--ms-mono-num:'Montserrat',sans-serif;

	/* Unified content max-width. Every constrained container uses this so
	   headers, sections, footer line up at exactly the same edge. */
	--ms-content-max:1280px;

	/* Type scale — applied via tokens so h1 sizing stays consistent across
	   detail / archive / utility templates instead of each one inventing its own. */
	--ms-h1-detail:48px;   /* single post, single course, akademija hero */
	--ms-h1-archive:42px;  /* archive, duk, kontaktai, paskyra */
	--ms-h1-utility:32px;  /* 404 */

	/* Section padding scale — replaces ad-hoc `padding:80px 0 96px` inline
	   styles peppered across templates. */
	--ms-section-pad-y:80px;
	--ms-section-pad-y-tight:64px;
	--ms-section-pad-y-hero:96px;

	/* Reading width cap for long-form prose (Bringhurst / WCAG 1.4.8 AAA). */
	--ms-prose-max-width:65ch;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
	font-family:'Poppins','Inter',system-ui,-apple-system,sans-serif;
	color:var(--ms-ink);
	background:var(--ms-bg);
	font-weight:400;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:transparent;color:inherit}
.num{font-family:'Montserrat',sans-serif;font-variant-numeric:tabular-nums}

/* ---------- buttons ---------- */
.btn{
	display:inline-flex;align-items:center;justify-content:center;gap:8px;
	height:48px;padding:0 24px;border-radius:999px;
	font-size:15px;font-weight:500;letter-spacing:.01em;
	transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
	white-space:nowrap;
}
.btn-solid{background:var(--ms-accent);color:#fff}
.btn-solid:hover{background:var(--ms-accent-warm);transform:translateY(-1px)}
.btn-ghost{border:1px solid rgba(5,4,40,.18);color:var(--ms-ink);background:transparent}
.btn-ghost:hover{border-color:var(--ms-ink);transform:translateY(-1px)}
.btn-light-solid{background:#fff;color:var(--ms-ink)}
.btn-light-solid:hover{background:var(--ms-bg);transform:translateY(-1px)}
.btn-light-ghost{border:1px solid rgba(255,255,255,.5);color:#fff;background:transparent}
.btn-light-ghost:hover{border-color:#fff;background:rgba(255,255,255,.06);transform:translateY(-1px)}
.btn-warm{background:var(--ms-accent-warm);color:#fff}
.btn-warm:hover{background:var(--ms-accent);transform:translateY(-1px)}
.btn-sm{height:40px;padding:0 18px;font-size:14px}

.eyebrow{
	font-size:12px;letter-spacing:.16em;text-transform:uppercase;
	color:var(--ms-accent-rose);font-weight:600;
}
.eyebrow-ink{color:var(--ms-ink-soft)}

h1,h2,h3,h4{font-family:'Poppins',sans-serif;color:var(--ms-ink);margin:0;font-weight:600;letter-spacing:-.01em;line-height:1.1}
h2{font-size:44px;letter-spacing:-.015em}
:focus-visible{outline:2px solid var(--ms-accent);outline-offset:3px;border-radius:4px}

/* Screen-reader-only utility (WP-compatible). Hides visually but keeps
   announceable to AT. Required by skip-link reveal-on-focus + form labels. */
.screen-reader-text{
	clip:rect(1px,1px,1px,1px);
	position:absolute!important;
	height:1px;width:1px;overflow:hidden;
	word-wrap:normal!important;
}
/* Skip-to-content — reveals at the top-left on keyboard focus. */
.skip-link{
	position:absolute;top:-100px;left:8px;z-index:1000;
	background:var(--ms-accent);color:#fff;
	padding:12px 20px;border-radius:0 0 6px 6px;
	font-weight:600;font-size:14px;letter-spacing:.02em;
	text-decoration:none;
	transition:top .15s ease;
}
.skip-link:focus,.skip-link:focus-visible{
	clip:auto;height:auto;width:auto;overflow:visible;position:absolute!important;
	top:8px;outline:2px solid #fff;outline-offset:2px;
}
h3{font-size:22px;font-weight:500}
p{margin:0}

.container{max-width:1280px;margin:0 auto;padding-left:clamp(20px, 4vw, 48px);padding-right:clamp(20px, 4vw, 48px)}
section{padding:104px 0}

/* ---------- promo bar ---------- */
/* The dark bar still spans full-width (background runs edge-to-edge), but
   the content (left label + dismiss button) is constrained to the same
   `--ms-content-max` rail as the nav + sections below so they all align
   vertically on >1280px screens. */
.promo{
	position:relative;overflow:hidden;
	background:linear-gradient(100deg,var(--ms-deep) 0%,#3a1c63 50%,var(--ms-deep) 100%);
	color:#fff;font-size:13.5px;font-weight:500;letter-spacing:.02em;
}
/* Slow shimmer sweep — a subtle attention cue, not a flash. Off under reduced-motion. */
.promo::after{
	content:'';position:absolute;inset:0;pointer-events:none;
	background:linear-gradient(100deg,transparent 25%,rgba(255,255,255,.12) 50%,transparent 75%);
	transform:translateX(-65%);
	animation:ms-promo-shimmer 6s ease-in-out infinite;
}
@keyframes ms-promo-shimmer{0%{transform:translateX(-65%)}55%,100%{transform:translateX(165%)}}
.promo-inner{
	position:relative;z-index:1;
	max-width:var(--ms-content-max);margin:0 auto;
	padding:11px clamp(20px, 4vw, 48px);
	display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;
}
.promo .left{display:inline-flex;align-items:center;gap:11px;justify-content:center}
/* Prefix ("NAUJAS KURSAS") in the warm accent so it reads at a glance. */
.promo b{color:var(--ms-accent-rose)}
/* Live countdown — the attention element. Tabular numerals keep the width
   steady as it ticks so the centred bar doesn't jitter each second. */
.promo-countdown{
	font:700 13px/1 var(--ms-mono-num);font-variant-numeric:tabular-nums;
	letter-spacing:.03em;color:var(--ms-accent-rose);white-space:nowrap;flex:0 0 auto;
}
.promo.hidden{display:none}
@media (prefers-reduced-motion: reduce){
	.promo::after{animation:none}
}

/* ---------- header ---------- */
header.nav{
	position:sticky;top:0;z-index:50;
	background:#fff;
	/* Flat (hairline only) at rest over the hero; gains its shadow once the
	   user scrolls past it. `.is-scrolled` toggled in theme.js. */
	box-shadow:0 1px 0 rgba(5,4,40,.06);
	transition:box-shadow .25s ease;
}
header.nav.is-scrolled{
	box-shadow:var(--shadow-nav);
}
.nav-inner{
	display:flex;align-items:center;gap:24px;
	padding:14px clamp(20px, 4vw, 48px);
	max-width:var(--ms-content-max);margin:0 auto;
}
.brand{display:flex;align-items:center;gap:14px}
.ms-logo{width:auto;height:42px;display:block;color:var(--ms-ink);flex:0 0 auto}
.ms-logo.on-dark{color:#fff}
.wordmark{
	font-weight:500;font-size:14px;letter-spacing:.24em;text-transform:uppercase;
	color:var(--ms-ink);white-space:nowrap;
}
.nav-links{
	display:flex;align-items:center;gap:32px;flex:1;justify-content:center;
	font-size:13px;color:var(--ms-ink);
	letter-spacing:.04em;
}
.nav-item{position:relative}
/* GGA label: full at desktop, short label kicks in at <=1079px (swap below). */
.nav-link-gga-full{display:inline}
.nav-link-gga-short{display:none}
.nav-item > a, .nav-item > button{
	position:relative;padding:8px 0;font-weight:500;
	text-transform:uppercase;letter-spacing:.08em;font-size:12.5px;
	color:var(--ms-ink);background:none;border:0;cursor:pointer;
	font-family:inherit;display:inline-flex;align-items:center;gap:5px;
}
.nav-item > a:hover, .nav-item > button:hover{color:var(--ms-accent)}
/* Hairline underline that grows under the label on hover / focus / when active.
   User-initiated only (no ambient motion) — the editorial signature move. */
.nav-item > a::after, .nav-item > button > .nav-label::after{
	content:'';position:absolute;left:0;bottom:1px;
	width:100%;height:1.5px;border-radius:1px;background:var(--ms-accent);
	transform:scaleX(0);transform-origin:left center;
	transition:transform .3s cubic-bezier(.4,0,.2,1);
}
.nav-item > button > .nav-label{position:relative}
.nav-item > button > .nav-label::after{bottom:-7px}
.nav-item:hover > a::after,
.nav-item > button:hover > .nav-label::after,
.nav-item:focus-within > a::after,
.nav-item:focus-within > button > .nav-label::after,
.nav-item.is-active > a::after,
.nav-item.is-active > button > .nav-label::after{transform:scaleX(1)}
/* Underlines belong to text only; separate dropdown triggers have none. */
.nav-item.is-active > a, .nav-item.is-active > button{color:var(--ms-accent)}
.nav-item .caret{display:block;width:12px;height:12px;flex-shrink:0;color:var(--ms-ink-soft);transition:transform .2s}
.nav-item:hover .caret,
.nav-item > button[aria-expanded="true"] .caret{transform:rotate(180deg);color:var(--ms-accent)}
.nav-item.is-active .caret{color:var(--ms-accent)}
@media (prefers-reduced-motion: reduce){
	.nav-item > a::after, .nav-item > button > .nav-label::after,
	.nav-item .caret{transition:none}
}
.nav-dropdown{
	position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%) translateY(-6px);
	min-width:200px;background:#fff;border-radius:8px;
	box-shadow:0 14px 40px -12px rgba(5,4,40,.18), 0 2px 6px rgba(5,4,40,.06);
	padding:8px;opacity:0;pointer-events:none;transition:opacity .18s ease, transform .18s ease;
	z-index:60;
}
/* Invisible hit-area bridge across the 6px visual gap between the parent
   button and the dropdown — without this the cursor leaves `.nav-item`'s
   hover area mid-traverse and the dropdown closes before the user reaches
   the menu items. The pseudo-element is part of `.nav-dropdown` (a
   descendant of `.nav-item`), so hovering it keeps `:hover` on the parent. */
.nav-dropdown::before{
	content:'';position:absolute;
	top:-12px;left:0;right:0;height:12px;
}
.nav-item:hover .nav-dropdown,
.nav-item:focus-within .nav-dropdown{
	opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);
}
.nav-dropdown a{
	display:block;padding:10px 14px;border-radius:5px;
	font-size:14px;font-weight:400;color:var(--ms-ink);
	text-transform:none;letter-spacing:0;line-height:1.35;
	transition:background .15s, color .15s;
}
.nav-dropdown a:hover{background:var(--ms-bg);color:var(--ms-accent)}
.nav-right{display:flex;align-items:center;gap:14px;margin-left:auto}
.nav-right .nav-pill{margin-left:8px}
.icon-btn{
	width:38px;height:38px;border-radius:50%;
	display:inline-flex;align-items:center;justify-content:center;
	color:var(--ms-ink);position:relative;
}
.icon-btn:hover{background:var(--ms-bg)}
.cart-badge{
	position:absolute;top:4px;right:4px;
	min-width:16px;height:16px;border-radius:8px;
	background:var(--ms-accent);color:#fff;font-size:10px;font-weight:600;
	display:flex;align-items:center;justify-content:center;padding:0 4px;
	font-family:'Montserrat';
}
/* Hide the badge entirely when count is zero — replaces the previous
   hard-coded "0" pip that always showed even on an empty cart. */
.cart-badge[data-cart-count="0"]{display:none}
/* One small pulse when the count changes after add-to-cart — feedback, fired
   only in response to a user action (class toggled in cart.js). */
.cart-badge.is-bump{animation:ms-badge-bump .42s cubic-bezier(.34,1.56,.64,1)}
@keyframes ms-badge-bump{
	0%{transform:scale(1)}
	35%{transform:scale(1.45)}
	100%{transform:scale(1)}
}
@media (prefers-reduced-motion: reduce){
	.cart-badge.is-bump{animation:none}
}
.ghost-link{font-size:13px;color:var(--ms-ink);font-weight:400}
.ghost-link:hover{color:var(--ms-accent)}
/* "Tapk nare" — primary header CTA. Brighter than the dark-blue original
   (per owner feedback: more prominent for the 40-60yo target audience). */
.nav-pill{
	height:40px;padding:0 22px;display:inline-flex;align-items:center;
	border-radius:999px;background:var(--ms-accent);color:#fff;
	font-size:14px;font-weight:600;letter-spacing:.04em;margin-left:8px;
	box-shadow:0 4px 14px rgba(139,73,140,.28);
	transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
	white-space:nowrap;
}
.nav-pill:hover{
	background:var(--ms-accent-warm);
	transform:translateY(-1px);
	box-shadow:0 6px 18px rgba(139,73,140,.38);
}

/* Account icon gets a small "PASKYRA" wordmark below the icon. The other
   icons (search, wishlist, cart) read as universal symbols; the user
   silhouette doesn't, especially for an older audience. */
.icon-btn-labelled{
	width:auto;height:auto;
	flex-direction:column;gap:2px;
	padding:5px 10px;border-radius:8px;
}
.icon-btn-labelled .ib-label{
	font-size:9.5px;font-weight:600;letter-spacing:.08em;
	text-transform:uppercase;color:var(--ms-ink-soft);
	line-height:1;
}
.icon-btn-labelled:hover{background:var(--ms-bg)}
.icon-btn-labelled:hover .ib-label{color:var(--ms-accent)}

.hamburger{display:none}

/* ---------- hero ---------- */
.hero{
	background:var(--ms-bg);
	padding:88px 0 96px;
}
.hero-grid{
	display:grid;grid-template-columns:60fr 40fr;gap:64px;align-items:center;
	max-width:1280px;margin:0 auto;padding-left:clamp(20px, 4vw, 48px);padding-right:clamp(20px, 4vw, 48px);
	position:relative;
}
.hero-grid > div:first-child{position:relative}
.hero h1{
	font-size:64px;font-weight:600;line-height:1.05;letter-spacing:-.02em;
	margin:24px 0 20px;
}
/* "gražesnė" used to be Alex Brush + gradient. Owner feedback: the script
   word faded out and the eye read "Atsibusk kiekvieną rytą" (skipping the
   accent word). Reverted to plain Poppins so the headline reads naturally. */
.hero .lede{font-size:19px;line-height:1.6;color:var(--ms-ink-soft);max-width:520px;font-weight:400}
.hero .ctas{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap;align-items:center}
/* ── Trust badges — POS reassurance chips. Shared by the hero strip, the
   featured-course block and the single-product summary. Carded + bigger so the
   guarantees read as confident signals at the point of sale, not fine print. ── */
.ms-trust,
.hero-trust,
.fc-trust{
	list-style:none;margin:22px 0 0;padding:0;
	display:flex;flex-wrap:wrap;gap:10px;
}
.ms-trust > li, .ms-trust > span,
.hero-trust > li,
.fc-trust > span{
	display:inline-flex;align-items:center;gap:9px;line-height:1.15;
	font-family:var(--ms-sans);font-size:13.5px;font-weight:600;
	letter-spacing:.005em;color:var(--ms-ink);
	background:var(--ms-surface);
	border:1px solid rgba(207,167,135,.4);
	border-radius:999px;padding:8px 16px 8px 10px;
	box-shadow:0 2px 12px rgba(85,41,107,.06);
}
.ms-trust > li .check, .ms-trust > span::before,
.hero-trust > li .check,
.fc-trust > span::before{
	content:'✓';position:static;flex:0 0 21px;margin:0;padding:0;
	display:inline-flex;align-items:center;justify-content:center;
	width:21px;height:21px;border-radius:50%;
	background:var(--ms-accent);color:#fff;
	font-size:11px;font-weight:800;line-height:1;
}
@media (max-width: 480px){
	.ms-trust,.hero-trust,.fc-trust{gap:8px;margin-top:18px}
	.ms-trust > li,.ms-trust > span,
	.hero-trust > li,.fc-trust > span{font-size:12.5px;padding:7px 13px 7px 8px}
	.ms-trust > li .check,.ms-trust > span::before,
	.hero-trust > li .check{width:19px;height:19px;flex-basis:19px}
}
.slider-controls{display:flex;align-items:center;gap:20px;margin-top:40px}
.dots{display:flex;gap:2px;align-items:center}
/* Each dot is a button (24x24 hit area) wrapping an `<i>` visual pip,
   per WCAG 2.2 target-size guidance. Visual pip is the 8px circle that
   widens to 24px when active. */
.dots button{
	background:transparent;border:0;padding:8px;
	display:inline-flex;align-items:center;justify-content:center;
	cursor:pointer;border-radius:50%;
}
.dots button:focus-visible{outline:2px solid var(--ms-accent);outline-offset:2px}
.dots button i{
	width:8px;height:8px;border-radius:50%;background:rgba(5,4,40,.18);
	display:block;transition:background .25s ease, width .25s ease;
}
.dots button.active i{background:var(--ms-accent);width:24px;border-radius:4px}
/* Backwards-compat for any remaining <i> dots in non-button containers. */
.dots > i{
	width:8px;height:8px;border-radius:50%;background:rgba(5,4,40,.18);
	cursor:pointer;transition:background .2s,width .2s;
}
.dots > i.active{background:var(--ms-accent);width:24px;border-radius:4px}

/* Hero slider — all slides occupy the same grid cell, only the active
   slide is visible. Crossfade is opacity-only (no movement) per the
   "static, mature" lens the owner set for motion.
   The grid has a second `controls` row below `stack` so the dots+arrows
   sit at a fixed offset under the slides — never shifting between slides
   with different content heights. */
.hero-slider{
	position:relative;display:grid;
	grid-template-areas:'stack' 'controls';
	grid-template-rows:1fr auto;
}
.hero-slide{
	grid-area:stack;
	opacity:0;pointer-events:none;visibility:hidden;
	transform:translateY(24px);
	/* Delay visibility:hidden until AFTER the fade+slide so the OUTGOING slide
	   stays painted through its transition. The old code hid it instantly, so
	   only the incoming slide animated — which read as a cheap one-way fade. */
	transition:opacity .5s ease, transform .65s cubic-bezier(.22,.61,.36,1), visibility 0s linear .65s;
}
.hero-slide.is-active{
	opacity:1;pointer-events:auto;visibility:visible;
	transform:translateY(0);
	position:relative;z-index:1;
	transition:opacity .5s ease, transform .65s cubic-bezier(.22,.61,.36,1), visibility 0s;
}
@media (prefers-reduced-motion: reduce){
	.hero-slide{transition:none;transform:none}
}

/* Single fixed-position hero controls. Sits in its own grid row below
   the slides — vertical position is constant regardless of which slide's
   content is taller (trust strip on slide 1 vs none on slide 2).
   Uses the same max-width + clamp padding as `.hero-grid` so the dots
   align to the text-column left edge on >1280px screens, instead of
   sliding out toward the bare `.hero-slider` cell boundary. */
.hero-controls{
	grid-area:controls;
	box-sizing:border-box;
	max-width:var(--ms-content-max);
	width:100%;
	margin:32px auto 0;
	padding:0 clamp(20px, 4vw, 48px);
	justify-self:stretch;
	z-index:2;
	pointer-events:auto;
}
@media (max-width: 767px){
	.hero-controls{justify-content:center}
}
/* Slider arrows — bumped from 36px ghost circles to 48px filled with
   accent border (per owner feedback: hero arrows must be obvious for
   older readers). Used by the hero slider AND the course slider, so
   both gain the upgrade. */
.arrows{display:flex;gap:10px}
.arrows button{
	width:48px;height:48px;border-radius:50%;
	border:1.5px solid var(--ms-accent);
	color:var(--ms-accent);background:#fff;
	display:inline-flex;align-items:center;justify-content:center;
	box-shadow:0 4px 12px rgba(139,73,140,.15);
	transition:.2s;cursor:pointer;
}
.arrows button svg{width:18px;height:18px}
.arrows button:hover{
	background:var(--ms-accent);color:#fff;border-color:var(--ms-accent);
	transform:translateY(-1px);
	box-shadow:0 8px 20px rgba(139,73,140,.32);
}
.hero-portrait{
	aspect-ratio:4/5;border-radius:4px;overflow:hidden;
	background:#e6d8d3;position:relative;
	box-shadow:0 30px 60px -20px rgba(85,41,107,.25);
}
.hero-portrait img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.hero-portrait:hover img{transform:scale(1.03)}
.hero-portrait .marker{
	position:absolute;left:24px;bottom:24px;color:#fff;
	font-family:'Alex Brush';font-size:34px;line-height:1;
	text-shadow:0 2px 12px rgba(0,0,0,.25);
}

/* ---------- stats ---------- */
.stats{
	background:var(--ms-bg);
	padding:0 0 96px;
	border-bottom:1px solid rgba(207,167,135,.3);
	position:relative;
}
.stats .stat-pill{
	position:absolute;right:32px;top:-14px;
	background:rgba(5,4,40,.06);color:var(--ms-ink-soft);
	font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
	padding:6px 12px;border-radius:999px;font-family:'Montserrat';
	white-space:nowrap;
}
.stats-row{
	display:grid;grid-template-columns:repeat(4,1fr);
	border-top:1px solid rgba(207,167,135,.5);
	border-bottom:1px solid rgba(207,167,135,.5);
	max-width:1280px;margin:0 auto;
	padding-left:clamp(20px, 4vw, 48px);padding-right:clamp(20px, 4vw, 48px);
	box-sizing:border-box;
}
.stat{
	padding:36px 28px;text-align:center;
	border-right:1px solid rgba(207,167,135,.4);
}
.stat:last-child{border-right:0}
.stat .num{font-size:48px;font-weight:500;color:var(--ms-ink-soft);letter-spacing:-.01em;line-height:1}
.stat .num .star{font-size:.7em;display:inline-block;vertical-align:.04em;margin-left:4px;color:var(--ms-accent-rose)}
.stat .label{margin-top:10px;font-size:13px;color:var(--ms-ink);letter-spacing:.06em;text-transform:uppercase;font-weight:500}

/* ---------- placeholder pill ---------- */
.ph-pill{
	display:inline-flex;align-items:center;gap:6px;
	background:rgba(5,4,40,.06);color:var(--ms-ink-soft);
	font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
	padding:5px 11px;border-radius:999px;font-family:'Montserrat';
	white-space:nowrap;
}
.ph-pill::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ms-accent-warm);display:inline-block}
.ph-pill.on-dark{background:rgba(255,255,255,.12);color:rgba(255,255,255,.85)}
.ph-anchor{position:relative}
.ph-anchor > .ph-pill{position:absolute;top:-12px;right:0;z-index:2}

/* ---------- portrait placeholder ---------- */
.portrait-ph{
	background:var(--ms-bg);
	border:1.5px dashed var(--ms-accent-rose);
	display:flex;align-items:center;justify-content:center;
	text-align:center;padding:32px;
}
.portrait-ph span{
	font-weight:300;font-size:13px;
	letter-spacing:.18em;text-transform:uppercase;color:var(--ms-ink-soft);
	line-height:1.6;
}
.portrait-ph .lg{display:block;font-size:15px;letter-spacing:.22em;margin-bottom:6px;color:var(--ms-ink)}

/* ---------- about ---------- */
.about{background:var(--ms-surface)}
.about-grid{
	display:grid;grid-template-columns:45fr 55fr;gap:80px;align-items:center;
}
.about-portrait-wrap{position:relative;width:100%;max-width:460px;margin:0 auto;padding-bottom:24px}
.about-portrait{
	aspect-ratio:1;width:100%;
	border-radius:50%;overflow:hidden;background:#e6d8d3;position:relative;
}
.about-portrait img{width:100%;height:100%;object-fit:cover}
.about-portrait-wrap .sig{
	position:absolute;right:18px;bottom:0;
	font-family:'Alex Brush';font-size:42px;color:var(--ms-accent);
	background:#fff;padding:4px 22px 6px;border-radius:999px;
	box-shadow:var(--shadow-card);line-height:1;
}
.quote{
	font-family:'Poppins';font-style:italic;font-weight:300;
	font-size:30px;line-height:1.35;color:var(--ms-ink);
	letter-spacing:-.005em;
}
.accent-line{
	width:64px;height:1px;background:var(--ms-accent-rose);
	margin:36px 0 28px;
}

/* Apie mane — editorial bio: sticky portrait + caption beside long-form story */
.apie-bio__grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:clamp(40px,5vw,72px);align-items:start}
.apie-bio__aside{position:sticky;top:104px}
.apie-portrait{aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#e6d8d3;box-shadow:0 2px 4px rgba(5,4,40,.04),0 36px 64px -38px rgba(85,41,107,.32)}
.apie-portrait img{width:100%;height:100%;object-fit:cover;display:block}
.apie-portrait__cap{margin:22px 0 0;text-align:center;line-height:1.4}
.apie-portrait__cap strong{display:block;font-size:17px;font-weight:600;color:var(--ms-ink)}
.apie-portrait__cap span{display:block;margin-top:5px;font:500 12px/1.4 'Montserrat',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--ms-accent-rose)}
@media(max-width:860px){
	.apie-bio__grid{grid-template-columns:1fr;gap:32px}
	.apie-bio__aside{position:static;max-width:330px;width:100%;margin:0 auto}
}

/* Shared long-form prose (apie bio, single course, blog) — had no styling before */
.ms-prose{color:var(--ms-ink-soft);font-size:16.5px;line-height:1.8}
.ms-prose>:first-child{margin-top:0}
.ms-prose p{margin:0 0 20px}
.ms-prose h2{font-size:28px;font-weight:600;color:var(--ms-ink);letter-spacing:-.01em;line-height:1.2;margin:46px 0 16px}
.ms-prose h3{font-size:20px;font-weight:600;color:var(--ms-ink);margin:34px 0 12px}
.ms-prose strong{color:var(--ms-ink);font-weight:600}
.ms-prose a{color:var(--ms-accent);text-decoration:underline;text-underline-offset:2px}
.ms-prose ul{list-style:none;margin:0 0 22px;padding:0}
.ms-prose ul li{position:relative;padding:6px 0 6px 24px}
.ms-prose ul li::before{content:'';position:absolute;left:3px;top:15px;width:6px;height:6px;border-radius:50%;background:var(--ms-accent-rose)}
.ms-prose ol{margin:0 0 22px;padding-left:22px}
.ms-prose ol li{padding:5px 0}
.ms-prose blockquote{position:relative;margin:38px 0;padding:4px 0 4px 48px;font-style:italic;font-size:22px;line-height:1.5;color:var(--ms-ink);font-weight:400}
.ms-prose blockquote::before{content:'\201E';position:absolute;left:0;top:12px;font:normal 58px/1 Georgia,serif;color:var(--ms-accent-rose)}
.ms-prose blockquote p{margin:0}
.about p{font-size:15.5px;line-height:1.75;color:var(--ms-ink-soft);margin-bottom:16px;max-width:560px}
.about p.quote{
	font-family:'Poppins';font-style:italic;font-weight:300;
	font-size:30px;line-height:1.35;color:var(--ms-ink);
	letter-spacing:-.005em;max-width:none;margin-bottom:0;
}
.about .ctas{margin-top:24px}

/* ---------- gga intro ---------- */
.gga-intro{padding:0;background:var(--ms-deep);color:#fff}
.gga-intro-grid{
	display:grid;grid-template-columns:1fr 1fr;min-height:560px;
	max-width:var(--ms-content-max);margin:0 auto;
}
.gga-img{position:relative;overflow:hidden}
.gga-img img{width:100%;height:100%;object-fit:cover;display:block}
.gga-copy{padding:96px 80px;display:flex;flex-direction:column;justify-content:center}
.gga-copy h2{color:#fff;margin:18px 0 24px;font-size:46px;font-weight:600;letter-spacing:-.015em}
.gga-copy p{color:rgba(255,255,255,.78);font-size:16px;line-height:1.7;max-width:480px}
.gga-copy .ctas{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}

/* GGA story — refined contrast card + learn grid + 6-yr stat (inc/gga-story.php) */
.gga-story{background:#FCFAF8;padding:var(--ms-section-pad-y) 0}
.gga-story__inner{max-width:940px;margin:0 auto;padding:0 clamp(20px,4vw,48px);text-align:center}
.gga-story__eyebrow{display:inline-block;margin-bottom:34px}
/* surface concerns (left, muted) flow through a journey node into the deeper change (right, emphasised) */
.gga-contrast{display:grid;grid-template-columns:1fr 1px 1.06fr;max-width:840px;margin:0 auto;
	background:var(--ms-surface);border:1px solid rgba(207,167,135,.32);border-radius:20px;
	box-shadow:0 2px 4px rgba(5,4,40,.03),0 34px 64px -40px rgba(85,41,107,.22);text-align:left}
.gga-contrast__col{padding:38px clamp(26px,3.6vw,46px)}
.gga-contrast__label{display:block;font:600 11.5px/1.3 var(--ms-sans);letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px;color:#5f574f}
.gga-contrast__label--stay{color:var(--ms-accent)}
.gga-contrast__col ul{list-style:none;margin:0;padding:0}
.gga-contrast__col li{font-size:15.5px;line-height:1.35;color:#6f6358;min-height:52px;display:flex;align-items:center;border-bottom:1px solid rgba(207,167,135,.16)}
.gga-contrast__col li:last-child{border-bottom:none}
.gga-contrast__col--stay li{color:var(--ms-ink);font-weight:500;font-size:16.5px;gap:11px;border-bottom-color:rgba(139,73,140,.12)}
.gga-contrast__col--stay li::before{content:'';flex:none;width:6px;height:6px;border-radius:50%;background:var(--ms-accent-rose)}
.gga-contrast__shift{background:rgba(207,167,135,.32);width:1px;align-self:stretch;position:relative;display:flex;align-items:center;justify-content:center}
.gga-contrast__shift i{position:absolute;width:44px;height:44px;border-radius:50%;background:var(--ms-surface);border:1px solid rgba(207,167,135,.45);
	display:flex;align-items:center;justify-content:center;font-style:normal;font-size:18px;color:var(--ms-accent);box-shadow:0 8px 18px -6px rgba(85,41,107,.26)}
.gga-learn{max-width:860px;margin:30px auto 0;background:var(--ms-surface);border:1px solid rgba(207,167,135,.32);border-radius:20px;box-shadow:0 2px 4px rgba(5,4,40,.03),0 34px 64px -40px rgba(85,41,107,.20);padding:46px clamp(28px,4vw,54px);text-align:center}
.gga-learn h3{font-size:24px;font-weight:600;color:var(--ms-ink);margin:0;letter-spacing:-.01em}
.gga-learn>p{color:var(--ms-ink-soft);max-width:540px;margin:9px auto 30px;font-size:15.5px;line-height:1.6}
.gga-learn__grid{list-style:none;margin:0 auto;padding:0;max-width:690px;display:grid;grid-template-columns:repeat(2,1fr);gap:6px 40px;text-align:left}
.gga-learn__grid li{display:flex;gap:14px;align-items:flex-start;font-size:15.5px;line-height:1.45;color:var(--ms-ink);padding:11px 0;border-bottom:1px solid rgba(207,167,135,.14)}
.gga-learn__grid li:nth-last-child(-n+2){border-bottom:none}
.gga-learn__tick{flex:none;width:27px;height:27px;border-radius:50%;margin-top:-2px;background:rgba(139,73,140,.08);border:1px solid rgba(139,73,140,.16);color:var(--ms-accent);display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:600}
.gga-learn>p.gga-learn__community{max-width:600px;margin:34px auto 0;padding-top:30px;border-top:1px solid rgba(207,167,135,.25);font-style:italic;font-size:16.5px;line-height:1.7;color:var(--ms-ink-soft)}
.gga-stat{margin:46px auto 0;font-size:14px;color:var(--ms-ink-soft);letter-spacing:.02em}
.gga-stat strong{font:600 16px/1 var(--ms-sans);color:var(--ms-accent)}
@media(max-width:760px){
	.gga-contrast{grid-template-columns:1fr;max-width:430px}
	.gga-contrast__col{padding:30px 28px}
	.gga-contrast__shift{width:auto;height:auto;background:none;align-self:auto;padding:4px 0}
	.gga-contrast__shift i{position:static;transform:rotate(90deg)}
	.gga-learn{padding:34px 22px}
	.gga-learn__grid{grid-template-columns:1fr;gap:0}
	.gga-learn__grid li:nth-last-child(-n+2){border-bottom:1px solid rgba(207,167,135,.14)}
	.gga-learn__grid li:last-child{border-bottom:none}
}

/* ---------- tiers ---------- */
.tiers{background:var(--ms-bg)}
.section-head{text-align:center;max-width:680px;margin:0 auto 64px}
.section-head h2{margin-top:14px}
.section-head p{margin-top:14px;color:var(--ms-ink-soft);font-size:16px;line-height:1.6}
.tier-grid{
	display:grid;grid-template-columns:repeat(2,1fr);gap:24px;
	max-width:880px;margin:0 auto;align-items:start;
}
.tier-grid--3up{
	grid-template-columns:repeat(3,1fr);max-width:1180px;
}
@media (max-width: 1024px){
	.tier-grid--3up{grid-template-columns:repeat(2,1fr);max-width:880px}
}
@media (max-width: 640px){
	.tier-grid,.tier-grid--3up{grid-template-columns:1fr;max-width:480px}
}
.tier{
	background:#fff;border-radius:6px;padding:40px 32px 36px;
	box-shadow:var(--shadow-card);
	display:flex;flex-direction:column;gap:20px;
	position:relative;transition:transform .25s ease;
}
.tier:hover{transform:translateY(-3px);box-shadow:0 18px 36px -18px rgba(85,41,107,.18), 0 2px 6px rgba(5,4,40,.05)}
.tier .name{
	font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:var(--ms-ink-soft);
}
.tier .price{display:flex;align-items:baseline;gap:6px;flex-wrap:nowrap;white-space:nowrap}
.tier .price-sub{font-size:12px;color:var(--ms-ink-soft);margin-top:6px;font-family:'Montserrat'}

/* Marathon row — was tier 3 inside the pricing grid; now a horizontal card
   below it. Frames the monthly marathon as "what comes with PLATINUM" rather
   than "a third commitment to choose." Stacks vertically below 767px. */
.tier-marathon-row{
	max-width:1180px;margin:32px auto 0;
	background:#fff;border-radius:8px;border-left:4px solid var(--ms-accent-rose);
	box-shadow:var(--shadow-card);
	display:grid;grid-template-columns:1fr 2fr auto;gap:32px;align-items:center;
	padding:24px 28px;
}
.tier-marathon-row .tmr-eyebrow{
	display:block;font-family:'Montserrat',sans-serif;font-size:11px;font-weight:600;
	letter-spacing:.14em;text-transform:uppercase;color:var(--ms-accent);margin-bottom:6px;
}
.tier-marathon-row .tmr-theme{
	display:block;font-size:18px;font-weight:500;color:var(--ms-ink);line-height:1.3;
}
.tier-marathon-row .tmr-excerpt{
	margin:0 0 6px;font-size:14.5px;color:var(--ms-ink-soft);line-height:1.55;
}
.tier-marathon-row .tmr-included{
	font-family:'Montserrat',sans-serif;font-size:11.5px;letter-spacing:.04em;
	color:var(--ms-accent);font-weight:500;
}
.tier-marathon-row .tmr-action{
	display:flex;flex-direction:column;align-items:flex-end;gap:8px;white-space:nowrap;
}
.tier-marathon-row .tmr-price{
	font-family:'Montserrat',sans-serif;font-size:18px;font-weight:600;color:var(--ms-deeper);
}
.tier-marathon-row--soon{opacity:.85}
.tier-marathon-row--soon .tmr-action{justify-content:center}
@media (max-width:767px){
	.tier-marathon-row{
		grid-template-columns:1fr;gap:16px;text-align:left;padding:20px;
	}
	.tier-marathon-row .tmr-action{align-items:flex-start;flex-direction:row;flex-wrap:wrap;gap:14px}
}
/* Risk-reversal footnote on the PLATINUM (featured) tier. Subtle but
   present — sits between the features list and the CTA, defusing the
   higher price-point objection without dragging visual weight from the
   button below. */
.tier-reassure{
	margin:8px 0 4px;padding:12px 14px;
	background:rgba(207,167,135,.14);border-radius:6px;
	font-size:12.5px;line-height:1.5;color:var(--ms-ink-soft);
	font-family:'Montserrat',sans-serif;
}

/* Akademija page — process diagram, upcoming sessions, FAQ, permissive
   refund copy. All static, all opt-in via Theme Options. */
.akad-process{
	list-style:none;margin:0 0 24px;padding:0;
	display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
	background:var(--ms-bg);border:1px solid rgba(207,167,135,.30);
	border-radius:12px;padding:24px;
}
.akad-process__step{
	display:flex;flex-direction:column;align-items:flex-start;gap:6px;
	position:relative;padding-top:6px;
}
.akad-process__num{
	font-family:'Montserrat',sans-serif;font-size:11px;font-weight:600;
	letter-spacing:.14em;color:var(--ms-accent);text-transform:uppercase;
}
.akad-process__num::before{content:'0';opacity:.5}
.akad-process__icon{
	width:36px;height:36px;border-radius:50%;
	display:flex;align-items:center;justify-content:center;
	background:#fff;color:var(--ms-accent);
	border:1px solid rgba(207,167,135,.45);
}
.akad-process__label{
	font-size:14.5px;font-weight:600;color:var(--ms-ink);line-height:1.35;
}
.akad-process__sub{font-size:13px;color:var(--ms-ink-soft);line-height:1.5}
@media (max-width: 767px){
	.akad-process{grid-template-columns:1fr;padding:20px;gap:14px}
	.akad-process__step{flex-direction:row;align-items:center;flex-wrap:wrap}
	.akad-process__num{order:0;flex:0 0 100%}
	.akad-process__icon{order:1;flex:0 0 36px}
	.akad-process__label{order:2;flex:1}
	.akad-process__sub{order:3;flex:0 0 100%;padding-left:48px}
}

.akad-sessions{text-align:center}
.akad-sessions-list{
	list-style:none;margin:32px 0 0;padding:0;
	display:flex;flex-wrap:wrap;justify-content:center;gap:14px;
}
.akad-session{
	display:flex;align-items:center;gap:14px;
	background:var(--ms-surface);
	border:1px solid rgba(207,167,135,.35);border-radius:10px;
	padding:14px 18px;min-width:200px;text-align:left;
	transition:border-color .2s ease, transform .2s ease;
}
.akad-session:hover{border-color:rgba(207,167,135,.6);transform:translateY(-2px)}
.akad-session-date{
	display:flex;flex-direction:column;align-items:center;justify-content:center;
	flex:0 0 52px;height:52px;border-radius:8px;
	background:var(--ms-bg);color:var(--ms-accent);
	font-family:'Montserrat',sans-serif;
}
.akad-session-date .day{font-size:22px;font-weight:600;line-height:1}
.akad-session-date .month{font-size:9.5px;letter-spacing:.10em;text-transform:uppercase;margin-top:2px}
.akad-session-meta{display:flex;flex-direction:column;gap:2px}
.akad-session-meta .weekday{font-size:13px;color:var(--ms-ink-soft);text-transform:capitalize}
.akad-session-meta .label{font-size:14px;color:var(--ms-ink);font-weight:500}

.akad-faq{}
/* FAQ accordion (akademija + DUK). White card defined by a caramel hairline +
   soft shadow (reads on both warm and white sections); the answer is split from
   the question by a hairline; the toggle is a pill that rotates to × and fills
   accent on open. */
.ms-faq{
	background:var(--ms-surface);border:1px solid rgba(207,167,135,.30);border-radius:14px;
	box-shadow:0 1px 2px rgba(5,4,40,.03), 0 8px 20px -14px rgba(85,41,107,.14);
	overflow:hidden;scroll-margin-top:90px;
	transition:border-color .2s ease, box-shadow .2s ease;
}
.ms-faq:hover{border-color:rgba(207,167,135,.55)}
.ms-faq[open]{border-color:rgba(139,73,140,.45);box-shadow:0 12px 30px -16px rgba(85,41,107,.26)}
.ms-faq__q{
	padding:20px 24px;font:600 16px/1.4 var(--ms-sans);color:var(--ms-ink);
	cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.ms-faq__q::-webkit-details-marker{display:none}
.ms-faq__q::marker{content:'';display:none}
.ms-faq__icon{
	flex:0 0 auto;width:28px;height:28px;border-radius:50%;
	display:inline-flex;align-items:center;justify-content:center;
	background:rgba(139,73,140,.08);color:var(--ms-accent);
	font-size:19px;font-weight:300;line-height:1;
	transition:transform .25s ease, background .2s ease, color .2s ease;
}
.ms-faq[open] .ms-faq__icon{transform:rotate(45deg);background:var(--ms-accent);color:#fff}
/* .ms-faq__a is just the height-clip container (JS animates its height). The
   divider + padding + text live on .ms-faq__a-inner so they fade + rise as ONE
   unit on open — instead of the divider/padding being wiped in before the text. */
.ms-faq__a-inner{
	margin:0 24px;padding:16px 0 22px;
	border-top:1px solid rgba(207,167,135,.25);
	color:var(--ms-ink-soft);font-size:15px;line-height:1.75;
}
.ms-faq__a-inner > :first-child{margin-top:0}
.ms-faq__a-inner > :last-child{margin-bottom:0}
.ms-faq__a-inner p{margin:0 0 12px}
.ms-faq__a-inner a{color:var(--ms-accent);font-weight:500;text-decoration:underline;text-underline-offset:2px}

/* Roadmap variant of `.ms-form-reassure` — time chips on the left of each
   bullet. Replaces the original 4-checkmark layout with the time-stamped
   roadmap. Tiny shared `<ul>` element so the original `.ms-form-reassure`
   container keeps its 4px accent stripe. */
.ms-form-reassure__roadmap{
	list-style:none;margin:0;padding:0;
	display:flex;flex-direction:column;gap:10px;
	font-size:13.5px;line-height:1.5;color:var(--ms-ink-soft);
}
.ms-form-reassure__roadmap li{display:flex;align-items:flex-start;gap:14px}
.ms-form-reassure__roadmap .time{
	flex:0 0 56px;
	font-family:'Montserrat',sans-serif;font-weight:600;font-size:11.5px;
	letter-spacing:.10em;text-transform:uppercase;
	color:var(--ms-accent);padding-top:2px;
}

/* Permissive refund line — Alex-Brush-adjacent (italic Poppins, not script)
   so it reads as a personal aside, not legal copy. */
.ms-form-permissive{
	font-size:15px;color:var(--ms-ink);font-style:italic;
	line-height:1.5;text-align:center;
	margin:0 0 18px;padding:0 20px;
}

/* Breadcrumb (#27.1) — visual trail consuming the same data as the JSON-LD
   in ms_schema_breadcrumb(). Small Montserrat caps, accent-colored separator,
   last item plain text (current page). */
.ms-breadcrumb{margin:0 0 18px}
.ms-breadcrumb ol{
	list-style:none;margin:0;padding:0;
	display:flex;flex-wrap:wrap;gap:2px 4px;
	font-family:'Montserrat',sans-serif;font-size:11px;
	letter-spacing:.10em;text-transform:uppercase;
	color:var(--ms-ink-soft);
}
.ms-breadcrumb a{color:var(--ms-ink-soft);text-decoration:none;transition:color .18s ease}
.ms-breadcrumb a:hover{color:var(--ms-accent)}
.ms-breadcrumb .sep{margin:0 8px;opacity:.6}
.ms-breadcrumb [aria-current]{color:var(--ms-ink);font-weight:600}

/* Numeric pagination (#27.2) — replaces bare `← Naujesni / Senesni →` with
   numbered pages + prev/next. WP's `paginate_links()` outputs anchors and
   spans; we style the container + items consistently. */
.ms-pagination{
	display:flex;align-items:center;justify-content:center;gap:6px;
	margin:56px 0 0;
	font-family:'Montserrat',sans-serif;font-size:13.5px;
}
.ms-pagination a,
.ms-pagination span{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:38px;height:38px;padding:0 10px;border-radius:8px;
	color:var(--ms-ink);text-decoration:none;
	transition:background .18s ease, color .18s ease;
}
.ms-pagination a:hover{background:rgba(207,167,135,.18);color:var(--ms-accent)}
.ms-pagination .current{background:var(--ms-accent);color:#fff;font-weight:600}
.ms-pagination .dots{cursor:default;color:var(--ms-ink-soft)}
.ms-pagination .prev,
.ms-pagination .next{font-size:15px}

/* Search facets (#27.3) — small chip row above results, links into
   ?s=…&post_type= filters. Active facet shows accent border. */
.ms-search-facets{
	display:flex;flex-wrap:wrap;gap:8px;align-items:center;
	margin:0 0 36px;font-family:'Montserrat',sans-serif;
}
.ms-search-facets__count{
	font-size:12px;letter-spacing:.10em;text-transform:uppercase;
	color:var(--ms-ink-soft);margin-right:6px;
}
.ms-search-facets a{
	display:inline-flex;align-items:center;gap:4px;
	padding:6px 12px;border-radius:999px;
	border:1px solid rgba(5,4,40,.12);
	font-size:12.5px;letter-spacing:.04em;
	color:var(--ms-ink);text-decoration:none;
	transition:border-color .18s ease, background .18s ease;
}
.ms-search-facets a:hover{border-color:var(--ms-accent);color:var(--ms-accent)}
.ms-search-facets a.is-active{
	background:var(--ms-accent);color:#fff;border-color:var(--ms-accent);
}
.ms-search-facets a .count{font-size:11px;opacity:.7}

/* Sitewide hover/focus polish (#26) — every interactive surface should
   feel like the same hand made it. Static color/shadow shifts only, no
   transforms-as-decoration. */

/* Tag chips on single posts. */
.ms-single-post .tag,
.ms-single-post [href*="?tag="],
.ms-single-post a[href*="/tag/"]{
	transition:background .2s ease, color .2s ease;
}
.ms-single-post a[href*="/tag/"]:hover{
	background:rgba(207,167,135,.18);color:var(--ms-ink);
}

/* Related-posts cards (single.php tail) — match the shipped `#12`
   translateY(-3px) + shadow boost pattern used on tier/cat/prod cards. */
.ms-related-card{
	transition:transform .25s ease, box-shadow .25s ease;
}
.ms-related-card:hover{
	transform:translateY(-3px);
	box-shadow:0 14px 28px -14px rgba(85,41,107,.18);
}

/* Member dashboard tab nav — currently no hover/focus. */
.paskyra-tabs a{transition:background .18s ease, color .18s ease}
.paskyra-tabs a:hover{background:rgba(207,167,135,.18);color:var(--ms-accent)}
.paskyra-tabs a:focus-visible{outline:2px solid var(--ms-accent);outline-offset:2px;border-radius:4px}

/* Course-card image scale on hover — only motion in this section, and it's
   user-initiated (image responds inside the frame, not the card moving).
   Augustinus Bader / Tata Harper pattern. Respects reduced-motion. */
.course-card .ci{overflow:hidden}
.course-card .ci img{transition:transform .55s cubic-bezier(.2,.6,.2,1)}
.course-card:hover .ci img{transform:scale(1.04)}
@media (prefers-reduced-motion: reduce){
	.course-card:hover .ci img{transform:none}
}

/* Footer origin line — small caps marker between the social row and copyright. */
.foot-origin{
	text-align:center;padding:20px clamp(20px, 4vw, 48px) 0;
	font-family:'Montserrat',sans-serif;font-size:11px;
	letter-spacing:.14em;text-transform:uppercase;
	color:rgba(255,255,255,.50);
	border-top:1px solid rgba(255,255,255,.08);margin-top:24px;
}

/* PLATINUM intake form: step legends + "kas vyks toliau" reassurance panel.
   Numbered chips make the otherwise single-page form feel like a guided
   flow — payment selection (1) then contact details (2). The reassurance
   panel sits between the last field and the submit button so the user
   reads it at exactly the moment they're weighing whether to send. */
.ms-step-legend{
	display:flex;align-items:center;gap:12px;
	font-weight:600;font-size:14.5px;color:var(--ms-ink);
	margin:0 0 16px;padding:0;letter-spacing:.01em;
}
.ms-step-num{
	display:inline-flex;align-items:center;justify-content:center;
	width:26px;height:26px;border-radius:50%;
	background:var(--ms-accent);color:#fff;
	font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;
	flex:0 0 26px;
}
.ms-form-reassure{
	margin:18px 0 22px;padding:18px 20px;
	background:#fff;border:1px solid rgba(207,167,135,.45);border-radius:6px;
}
.ms-form-reassure__title{
	font-weight:600;font-size:13.5px;color:var(--ms-ink);
	margin-bottom:10px;letter-spacing:.01em;
}
.ms-form-reassure ul{
	list-style:none;margin:0;padding:0;
	display:flex;flex-direction:column;gap:8px;
	font-size:13.5px;line-height:1.5;color:var(--ms-ink-soft);
}
.ms-form-reassure li{display:flex;align-items:flex-start;gap:10px}
.ms-form-reassure li span{
	display:inline-flex;align-items:center;justify-content:center;
	width:16px;height:16px;border-radius:50%;
	background:var(--ms-accent);color:#fff;
	font-size:9px;font-weight:700;line-height:1;flex:0 0 16px;margin-top:3px;
}
.tier .soon-label{
	font-family:'Poppins';font-size:26px;font-weight:500;color:var(--ms-ink-soft);
	letter-spacing:.01em;line-height:1;
}
.tier .price .num{font-size:42px;font-weight:500;color:var(--ms-ink);letter-spacing:-.01em;line-height:1;white-space:nowrap}
.tier .price .per{font-size:13px;color:var(--ms-ink-soft);font-weight:400}
.tier ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.tier li{font-size:14.5px;color:var(--ms-ink);display:flex;gap:12px;align-items:flex-start;line-height:1.5}
.tier li::before{
	content:"";flex:0 0 6px;width:6px;height:6px;margin-top:9px;
	border-radius:50%;background:var(--ms-accent-rose);
}
.tier .btn{width:100%;margin-top:8px}
.tier.featured{
	border:1.5px solid var(--ms-accent);
	transform:translateY(-12px);
	padding:48px 32px 40px;
	box-shadow:0 20px 50px -10px rgba(139,73,140,.25);
}
.tier.featured:hover{transform:translateY(-14px)}
.ribbon{
	position:absolute;top:-11px;left:50%;transform:translateX(-50%);
	background:var(--ms-accent);color:#fff;
	height:22px;padding:0 14px;
	display:inline-flex;align-items:center;
	border-radius:999px;
	font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;
	white-space:nowrap;
	box-shadow:0 6px 14px rgba(139,73,140,.3);
}

/* ---------- press strip ----------
   Named publication logos between Stats and About. Greyscale logos, soft
   alignment. Augustinus Bader / Tata Harper press-strip pattern. Renders
   only when admin sets `press.enabled` + at least one logo. */
.press{background:var(--ms-surface);padding:56px 0;border-top:1px solid rgba(207,167,135,.30);border-bottom:1px solid rgba(207,167,135,.30)}
.press .container{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
.press-eyebrow{color:var(--ms-ink-soft)}
.press-row{
	list-style:none;margin:0;padding:0;
	display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
	gap:36px 56px;
}
.press-row li{display:flex;align-items:center}
.press-row img{
	max-height:32px;width:auto;display:block;
	filter:grayscale(1) brightness(0.7);
	opacity:.7;transition:opacity .25s ease, filter .25s ease;
}
.press-row li:hover img{opacity:1;filter:grayscale(1) brightness(1)}
@media (max-width: 599px){
	.press{padding:40px 0}
	.press-row{gap:24px 36px}
	.press-row img{max-height:26px}
}

/* Outcome stat — used when a Stats item has the `outcome` field set.
   Replaces the num + label split with a single italicized sentence. */
.stat--outcome{justify-content:center;align-items:center;text-align:center;padding:30px 16px}
.stat-outcome{
	font-size:17px;line-height:1.45;font-weight:500;color:var(--ms-ink);
	max-width:280px;font-style:italic;letter-spacing:.005em;
}
@media (max-width:599px){
	.stat-outcome{font-size:15.5px}
}

/* PLATINUM per-month flip — the `.price-sub--alt` style is a touch larger
   than the regular price-sub so the secondary annual line still reads
   confidently while the €54/mėn. headline does the heavy lifting. */
.tier.featured .price-sub--alt{font-size:13.5px;color:var(--ms-ink);font-weight:500;margin-top:2px}

/* ---------- testimonials ----------
   Sits between About and GGA on the homepage. 3-card grid at desktop,
   2-up at tablet, 1-up at mobile. Cards are quote-led; the attribution
   (small portrait + name + age) sits below to keep the quote visually
   dominant — that's the part doing the social-proof lifting. */
.testimonials{background:var(--ms-bg);padding:96px 0}
.testimonials .section-head{margin-bottom:48px;text-align:center}
/* Variant: head + arrow controls on the same row (slider layout). */
.section-head--with-controls{
	display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
	max-width:1180px;margin:0 auto 36px;padding:0 clamp(20px,4vw,48px);text-align:left;
}
.section-head--with-controls .section-head__copy{flex:1;text-align:center}
.section-head--with-controls .testi-controls{flex:0 0 auto}
@media (max-width:599px){
	.section-head--with-controls{flex-direction:column;align-items:stretch}
	.section-head--with-controls .testi-controls{align-self:center}
}

/* Slider rail — CSS-snap horizontal scroll so the markup stays semantic
   (no transform tricks) and keyboard / touch / mouse-wheel scrolling all
   work natively. JS only powers the prev/next arrows on top. */
.testi-slider{
	max-width:1180px;margin:0 auto;padding:0 clamp(20px,4vw,48px);
	position:relative;
}
.testi-track{
	display:flex;gap:24px;
	overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
	padding:8px 4px 28px;
	-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.testi-track::-webkit-scrollbar{display:none}
.testi-track .testi-card{
	flex:0 0 calc((100% - 48px) / 3);   /* 3-up at desktop */
	scroll-snap-align:start;
}
@media (max-width:899px){
	.testi-track .testi-card{flex:0 0 calc((100% - 24px) / 2)} /* 2-up at tablet */
}
@media (max-width:599px){
	.testi-track .testi-card{flex:0 0 88%}                     /* 1-up at mobile */
}

/* Back-compat: keep `.testi-grid` styles for any consumer still rendering
   the static grid (other than the testimonials section above). */
.testi-grid{
	display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
	max-width:1180px;margin:0 auto;padding:0 clamp(20px, 4vw, 48px);
}
.testi-card{
	margin:0;padding:32px 28px 28px;
	background:var(--ms-surface);border-radius:6px;
	box-shadow:var(--shadow-card);
	display:flex;flex-direction:column;gap:24px;
	transition:transform .25s ease, box-shadow .25s ease;
}
.testi-card:hover{transform:translateY(-3px);box-shadow:0 18px 36px -18px rgba(85,41,107,.18), 0 2px 6px rgba(5,4,40,.05)}
.testi-quote{
	margin:0;font-size:16.5px;line-height:1.65;
	color:var(--ms-ink);font-style:italic;font-weight:400;
	letter-spacing:.005em;
}
.testi-meta{display:flex;align-items:center;gap:14px;margin-top:auto}
.testi-photo{
	width:44px;height:44px;border-radius:50%;
	object-fit:cover;background:var(--ms-bg);
	display:inline-flex;align-items:center;justify-content:center;
	color:var(--ms-accent);font-family:'Montserrat',sans-serif;
	font-weight:600;font-size:16px;letter-spacing:.02em;
	border:1px solid rgba(207,167,135,.5);flex:0 0 44px;
}
.testi-photo--placeholder{background:var(--ms-bg-soft)}
.testi-attr{display:flex;flex-direction:column;gap:2px;line-height:1.35}
.testi-attr strong{font-weight:600;font-size:14.5px;color:var(--ms-ink)}
.testi-age{font-size:12.5px;color:var(--ms-ink-soft);font-family:'Montserrat',sans-serif;letter-spacing:.02em}
@media (max-width: 899px){
	.testimonials{padding:72px 0}
	.testi-grid{grid-template-columns:1fr 1fr;gap:20px}
}
@media (max-width: 599px){
	.testi-grid{grid-template-columns:1fr;gap:18px}
	.testi-card{padding:26px 22px 22px}
	.testi-quote{font-size:15.5px}
}

/* ---------- categories ---------- */
.categories{background:var(--ms-surface)}
/* Fixed-width columns + centred so the group sits in the middle regardless of
   how many cards there are (3 cards in a 4-col grid used to leave a dead column
   on the right, pulling everything left). */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(240px, 300px));justify-content:center;gap:20px;max-width:1280px;margin:0 auto}
.cat{
	background:var(--ms-bg);border-radius:6px;padding:32px 28px;
	transition:transform .25s ease,background .25s ease;
	display:flex;flex-direction:column;gap:14px;min-height:230px;
}
.cat:hover{transform:translateY(-3px);background:#EDE6DF;box-shadow:0 14px 28px -14px rgba(85,41,107,.18)}
.cat .ico{
	width:42px;height:42px;border-radius:50%;
	background:#fff;color:var(--ms-accent);
	display:flex;align-items:center;justify-content:center;
	border:1px solid rgba(207,167,135,.5);
}
.cat h3{font-size:19px;font-weight:600}
.cat p{font-size:14px;color:var(--ms-ink-soft);line-height:1.55;flex:1}
.cat .arrow{font-size:14.5px;color:var(--ms-ink);font-weight:500;letter-spacing:.04em}
.cat .arrow:hover{color:var(--ms-accent)}

/* ---------- featured course ---------- */
.featured-course{background:var(--ms-bg)}
.fc-grid{
	display:grid;grid-template-columns:5fr 6fr;gap:72px;align-items:center;
	max-width:1280px;margin:0 auto;
}
.fc-img{
	aspect-ratio:4/5;border-radius:4px;overflow:hidden;background:#d9c5b8;
	position:relative;box-shadow:0 30px 60px -20px rgba(85,41,107,.18);
}
.fc-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.fc-img:hover img{transform:scale(1.04)}
.fc-img .ribbon-tl{
	background:#fff;color:var(--ms-accent);
	padding:6px 14px;border-radius:999px;
	font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;
}
.fc-copy h2{font-size:30px;margin:14px 0 20px;letter-spacing:-.005em}
.fc-copy p{font-size:16px;line-height:1.7;color:var(--ms-ink-soft);max-width:520px}
.fc-priceblock{
	display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
	margin:28px 0 32px;font-family:'Montserrat';
}
.fc-priceblock .old{font-size:20px;color:var(--ms-ink-soft);text-decoration:line-through;font-weight:400}
.fc-priceblock .now{font-size:34px;font-weight:600;color:var(--ms-deeper);letter-spacing:-.01em;line-height:1}
.fc-priceblock .save-pill{
	background:var(--ms-accent-rose);color:#fff;font-size:11px;font-weight:600;
	letter-spacing:.06em;padding:6px 12px;border-radius:999px;
}
.fc-img .ribbon-stack{position:absolute;top:20px;left:20px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.fc-img .ribbon-stack .ribbon-tl{position:static}
.fc-img .ribbon-tl.warm{background:var(--ms-accent-rose);color:#fff}
.fc-copy .ctas{display:flex;gap:14px;flex-wrap:wrap}
/* Featured-course "what's inside" list + trust row — give the copy column more
   substance so it balances the tall portrait instead of floating in the middle. */
.fc-features{list-style:none;margin:22px 0 28px;padding:0;display:flex;flex-direction:column;gap:11px;max-width:520px}
.fc-features li{position:relative;padding-left:30px;font-size:15px;color:var(--ms-ink);line-height:1.5}
.fc-features li::before{
	content:'✓';position:absolute;left:0;top:1px;
	width:20px;height:20px;border-radius:50%;
	background:rgba(139,73,140,.10);color:var(--ms-accent);
	font-size:11px;font-weight:700;line-height:1;
	display:inline-flex;align-items:center;justify-content:center;
}
/* .fc-trust badges share the unified trust-chip styling (see .ms-trust block). */

/* Homepage general FAQ section (reuses the .ms-faq accordion). */
.home-faq{padding:var(--ms-section-pad-y) 0;background:var(--ms-bg)}

/* ---------- course slider ---------- */
.courses{background:var(--ms-surface)}
.courses-head{
	display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
	max-width:1280px;margin:0 auto 48px;
	padding-left:clamp(20px, 4vw, 48px);padding-right:clamp(20px, 4vw, 48px);
}
.courses-head h2{margin-top:8px}
.slider-wrap{
	max-width:1280px;margin:0 auto;
	padding-left:clamp(20px, 4vw, 48px);padding-right:clamp(20px, 4vw, 48px);
	overflow:hidden;
}
.slider-track{
	display:flex;gap:24px;
	transition:transform .5s cubic-bezier(.6,.05,.2,1);
}
.course-card{
	flex:0 0 calc((100% - 24px*2.5) / 3.5);
	background:transparent;display:flex;flex-direction:column;gap:12px;
	transition:transform .25s ease;
}
.course-card:hover{transform:translateY(-3px)}
.course-card:hover .ci{box-shadow:0 18px 36px -18px rgba(85,41,107,.28)}
.course-card .ci{
	aspect-ratio:1/1;border-radius:4px;overflow:hidden;background:#e6d8d3;position:relative;
}
.course-card .ci img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.course-card:hover .ci img{transform:scale(1.04)}
.course-card h4{font-size:17px;font-weight:500;line-height:1.35;color:var(--ms-ink);min-height:2.7em;margin:0}
.course-card .card-eyebrow{margin-bottom:-4px}
.course-card .card-outcome{margin-top:-4px}
.course-card .meta{font-size:13px;color:var(--ms-ink-soft);font-family:'Montserrat',sans-serif;margin-top:auto;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.course-card .meta .old{text-decoration:line-through;opacity:.65}
.course-card .meta .now{color:var(--ms-deeper);font-weight:600}
/* Real WooCommerce price HTML (del/ins/amount) rendered inside the homepage
   editorial cards — offers row (.prod .prices--wc) + course slider
   (.course-card .meta). Normalise WC's markup to the card's price styling. */
.prod .prices--wc,.course-card .meta{font-family:'Montserrat',sans-serif;font-size:14px}
.prod .prices--wc del,.course-card .meta del{opacity:.6;font-weight:400;text-decoration:line-through;margin-right:6px}
.prod .prices--wc ins,.course-card .meta ins{text-decoration:none}
.prod .prices--wc .woocommerce-Price-amount,.course-card .meta .woocommerce-Price-amount{color:var(--ms-deeper);font-weight:600}
.prod .prices--wc del .woocommerce-Price-amount,.course-card .meta del .woocommerce-Price-amount{color:inherit;font-weight:400}
/* Course cards use square 1:1 covers everywhere, to match the shop product cards. */
.courses-archive .course-card .ci,.courses-archive .course-card--soon .ci{aspect-ratio:1/1}
.slider-foot{
	display:flex;align-items:center;justify-content:center;gap:32px;
	margin-top:48px;
}

/* ---------- products ---------- */
.products{background:var(--ms-bg);position:relative}
.products .sub{
	margin-top:6px;font-size:13px;letter-spacing:.04em;
	color:var(--ms-accent);font-weight:400;
}
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1280px;margin:0 auto}

/* Mixed offers slider — same shape as `.testi-slider`. CSS-snap rail with
   arrow controls; the section CTA "Žiūrėti daugiau" links to /parduotuve/
   because the rail mixes courses + memberships + Marina's products and the
   shop is the only surface that holds everything. */
.prod-slider{max-width:1280px;margin:0 auto;position:relative}
.prod-track{
	display:flex;gap:24px;
	overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
	padding:8px 4px 28px;
	-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.prod-track::-webkit-scrollbar{display:none}
.prod-track .prod{
	flex:0 0 calc((100% - 72px) / 4);   /* 4-up desktop */
	scroll-snap-align:start;
}
.prod-controls{position:absolute;top:-56px;right:0;display:flex;gap:10px}
@media (max-width:1079px){
	.prod-track .prod{flex:0 0 calc((100% - 48px) / 3)}  /* 3-up small desktop */
}
@media (max-width:899px){
	.prod-track .prod{flex:0 0 calc((100% - 24px) / 2)}  /* 2-up tablet */
	.prod-controls{position:static;justify-content:center;margin-bottom:14px}
}
@media (max-width:599px){
	.prod-track .prod{flex:0 0 82%}                       /* 1-up mobile */
}
.prod{
	background:#fff;border-radius:6px;padding:16px 16px 20px;
	display:flex;flex-direction:column;gap:10px;
	transition:transform .25s ease, box-shadow .25s ease;
	border:1px solid rgba(5,4,40,.06);
}
.prod:hover{transform:translateY(-3px);box-shadow:0 16px 32px -16px rgba(85,41,107,.18), 0 2px 6px rgba(5,4,40,.05);border-color:rgba(207,167,135,.4)}
.prod .pi{aspect-ratio:1/1;border-radius:4px;overflow:hidden;background:var(--ms-bg);position:relative;margin-bottom:4px}
.prod .pi img{width:100%;height:100%;object-fit:cover;transition:transform 1s ease}
.prod:hover .pi img{transform:scale(1.04)}
.prod h4{
	font-size:15px;font-weight:500;color:var(--ms-ink);line-height:1.35;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
	overflow:hidden;text-overflow:ellipsis;min-height:2.7em;
	margin:0;
}
.prod .prices{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.prod .old{
	font-family:'Montserrat',sans-serif;font-size:13px;color:var(--ms-ink-soft);
	text-decoration:line-through;font-weight:400;
}
.prod .price{
	font-family:'Montserrat',sans-serif;font-weight:600;font-size:18px;
	color:var(--ms-deeper);letter-spacing:-.005em;
}
.prod .prices-saving{
	font-family:'Montserrat',sans-serif;font-size:11.5px;font-weight:500;
	letter-spacing:.04em;color:var(--ms-accent);
	margin-left:auto;align-self:center;
}
.prod .btn{align-self:stretch;margin-top:6px}

/* Card eyebrow + outcome line — shared between .prod (offer) and .course-card.
   The eyebrow is the format/scale signal ("Programa · 21 d."); the outcome
   is one italic sentence under the title ("Lengvesnis veidas. 14 dienų.")
   that tells the buyer what they'll feel, not what they'll receive. */
.card-eyebrow{
	font-family:'Montserrat',sans-serif;
	font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
	color:var(--ms-ink-soft); /* was --ms-accent-rose (caramel ≈2.2:1 on white — unreadable); ink-soft is ~9:1 and matches the card outcome line */
	margin:0;
}
.card-outcome{
	font-style:italic;
	font-size:14.5px;line-height:1.5;color:var(--ms-ink-soft);
	margin:0;
}

/* Highlight chip (top-left of card image) — editorial endorsement, not a
   retail flag. Three variants, mutually exclusive per card. */
.prod-highlight{
	position:absolute;top:12px;left:12px;z-index:2;
	font-family:'Montserrat',sans-serif;
	font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
	padding:6px 10px;border-radius:999px;
	white-space:nowrap;
}
.prod-highlight--marina{background:var(--ms-accent);color:#fff;box-shadow:0 4px 10px rgba(85,41,107,.22)}
.prod-highlight--bestseller{background:var(--ms-accent-rose);color:#fff;box-shadow:0 4px 10px rgba(207,167,135,.32)}
.prod-highlight--new{background:#fff;color:var(--ms-accent);border:1.5px solid var(--ms-accent)}

/* Savings badge (bottom-right of card image) — replaces the old "−60%"
   sale tag. Concrete savings beats percentages for the 40-60yo audience. */
.prod-savings{
	position:absolute;bottom:12px;right:12px;z-index:2;
	background:var(--ms-accent);color:#fff;
	font-family:'Montserrat',sans-serif;
	font-size:11px;font-weight:600;letter-spacing:.04em;
	padding:6px 10px;border-radius:999px;
	box-shadow:0 4px 10px rgba(85,41,107,.28);
}

/* Magazine-end section CTA — replaces the apologetic ghost pill at section
   transitions. Hairline rules either side of the link interrupt the section;
   on hover the underline grows in and the arrow slides 4px right. */
.section-end{
	display:flex;align-items:center;gap:18px;
	max-width:1180px;margin:56px auto 0;padding:0 clamp(20px,4vw,48px);
	color:var(--ms-ink);
}
.section-end::before,.section-end::after{
	content:'';flex:1;height:1px;background:rgba(207,167,135,.35);
}
.section-end a{
	font-size:16px;font-weight:500;letter-spacing:.02em;
	color:var(--ms-ink);text-decoration:none;
	display:inline-flex;align-items:center;gap:10px;
	padding:6px 4px 8px;
	background-image:linear-gradient(var(--ms-accent),var(--ms-accent));
	background-position:50% 100%;background-repeat:no-repeat;background-size:0% 1px;
	transition:background-size .35s ease, color .2s ease;
}
.section-end a:hover,.section-end a:focus-visible{background-size:calc(100% - 8px) 1px;color:var(--ms-accent);outline:none}
.section-end a:focus-visible{box-shadow:0 0 0 3px rgba(139,73,140,.18);border-radius:4px}
.section-end .arrow{display:inline-block;transition:transform .25s ease}
.section-end a:hover .arrow,.section-end a:focus-visible .arrow{transform:translateX(4px)}

/* ---------- lead magnet ---------- */
.lead{background:var(--ms-bg-soft);border-top:1px solid rgba(207,167,135,.3)}
.lead-grid{
	display:grid;grid-template-columns:1.6fr 1fr;gap:80px;align-items:center;
	max-width:1180px;margin:0 auto;
}
.lead h2{font-size:40px;margin:14px 0 16px;max-width:520px}
.lead p{font-size:16px;line-height:1.7;color:var(--ms-ink-soft);max-width:520px}
.lead form{
	display:flex;gap:10px;margin-top:28px;max-width:520px;flex-wrap:wrap;
}
.lead input{
	flex:1;min-width:240px;height:48px;padding:0 18px;
	border:1px solid rgba(5,4,40,.18);background:#fff;border-radius:999px;
	font-family:inherit;font-size:14.5px;color:var(--ms-ink);outline:none;
	transition:border-color .2s;
}
.lead input:focus{border-color:var(--ms-accent)}
.lead .micro{display:block;margin-top:14px;font-size:12px;color:var(--ms-ink-soft)}
.lead-img{
	aspect-ratio:3/4;max-width:300px;margin-left:auto;border-radius:4px;overflow:hidden;
	background:#fff;box-shadow:0 30px 60px -20px rgba(85,41,107,.18);
}
.lead-img img{width:100%;height:100%;object-fit:cover}

/* ---------- footer (1:1 of live marinashpak.lt structure) ----------
   3-col flex on desktop: brand block · centred nav links · social icons.
   Bottom bar holds copyright + domain. Stacks vertically below 767px. */
footer{
	background:var(--ms-deeper);color:rgba(255,255,255,.5);
	padding:64px 0 24px;position:relative;
}
.footer-inner{
	display:grid;grid-template-columns:1.3fr 1fr auto;gap:48px;align-items:center;
	max-width:1280px;margin:0 auto;
	padding:0 clamp(20px, 4vw, 48px);
}
.foot-brand .wordmark{color:rgba(255,255,255,.7);margin-top:14px;display:block}
.foot-brand p{margin-top:14px;font-size:13.5px;color:rgba(255,255,255,.4);max-width:340px;line-height:1.65}
.foot-nav ul{
	list-style:none;margin:0;padding:0;
	display:flex;flex-wrap:wrap;gap:10px 28px;
	justify-content:center;
	font-size:14px;color:rgba(255,255,255,.7);
}
.foot-nav a{position:relative;transition:color .2s}
.foot-nav a::after{
	content:'';position:absolute;left:0;bottom:-3px;width:100%;height:1px;
	background:currentColor;transform:scaleX(0);transform-origin:left center;
	transition:transform .28s cubic-bezier(.4,0,.2,1);
}
.foot-nav a:hover{color:#fff}
.foot-nav a:hover::after{transform:scaleX(1)}
@media (prefers-reduced-motion: reduce){.foot-nav a::after{transition:none}}
.foot-social{display:flex;gap:12px;justify-content:flex-end}
.foot-social a{
	width:40px;height:40px;border-radius:50%;
	background:rgba(255,255,255,.06);color:rgba(255,255,255,.75);
	display:inline-flex;align-items:center;justify-content:center;
	transition:background .2s ease, color .2s ease, transform .2s ease;
}
.foot-social a:hover{background:rgba(255,255,255,.14);color:#fff;transform:translateY(-1px)}
.foot-payments{
	max-width:1280px;margin:32px auto 0;padding:0 clamp(20px, 4vw, 48px);
	display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;
	font-family:'Montserrat',sans-serif;font-size:12.5px;letter-spacing:.04em;
	color:rgba(255,255,255,.62);
}
.foot-payments__label{
	display:inline-flex;align-items:center;gap:7px;
	text-transform:uppercase;letter-spacing:.12em;font-weight:600;font-size:12px;color:rgba(255,255,255,.82);
}
.foot-payments__label::before{
	content:'';width:14px;height:14px;flex:0 0 14px;
	background:currentColor;
	-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>") center/contain no-repeat;
	        mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='11' width='18' height='11' rx='2'/><path d='M7 11V7a5 5 0 0 1 10 0v4'/></svg>") center/contain no-repeat;
}
.foot-payments__list{display:inline-flex;flex-wrap:wrap;gap:6px 14px}
.foot-payments__list span{position:relative;padding-right:14px}
.foot-payments__list span::after{content:'·';position:absolute;right:0;top:0;color:rgba(255,255,255,.25)}
.foot-payments__list span:last-child{padding-right:0}
.foot-payments__list span:last-child::after{content:none}

.foot-bottom{
	margin-top:24px;padding:18px clamp(20px, 4vw, 48px) 0;border-top:1px solid rgba(255,255,255,.08);
	display:flex;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.35);
	max-width:1280px;margin-left:auto;margin-right:auto;
}

/* ---------- mobile sticky ---------- */
.mobile-cta{
	display:none;
	position:fixed;left:0;right:0;bottom:0;z-index:60;
	background:var(--ms-accent);color:#fff;
	height:64px;align-items:center;justify-content:center;
	font-size:15px;font-weight:500;letter-spacing:.02em;
	box-shadow:0 -8px 24px rgba(5,4,40,.12);
}

/* ---------- mobile nav panel — ADDED, not in design source ----------
   The design's HTML wires up #mobileNavPanel + #mobileNavBackdrop and the JS
   toggles a `.open` class, but the CSS for them did not ship in the export.
   These rules mirror the brand language (off-white panel, deep accent, soft
   shadow) and respect the breakpoint ladder: hamburger appears at <=767px. */
.mobile-nav-backdrop{
	position:fixed;inset:0;z-index:90;
	background:rgba(5,4,40,.45);backdrop-filter:blur(2px);
	opacity:0;pointer-events:none;
	transition:opacity .25s ease;
}
.mobile-nav-backdrop.open{opacity:1;pointer-events:auto}
.mobile-nav-panel{
	position:fixed;top:0;right:0;bottom:0;z-index:100;
	width:min(86vw, 360px);
	background:#fff;color:var(--ms-ink);
	padding:80px 28px 32px;
	box-shadow:-12px 0 40px -12px rgba(5,4,40,.25);
	transform:translateX(100%);
	transition:transform .3s cubic-bezier(.6,.05,.2,1);
	display:flex;flex-direction:column;gap:6px;
	overflow-y:auto;
}
.mobile-nav-panel.open{transform:translateX(0)}
.mobile-nav-panel .close{
	position:absolute;top:18px;right:18px;
	width:36px;height:36px;border-radius:50%;
	display:inline-flex;align-items:center;justify-content:center;
	background:var(--ms-bg);color:var(--ms-ink);
	transition:background .2s;
}
.mobile-nav-panel .close:hover{background:var(--ms-bg-soft)}
.mobile-nav-panel .mn-link{
	display:block;padding:14px 4px;
	font-size:17px;font-weight:500;color:var(--ms-ink);
	border-bottom:1px solid rgba(207,167,135,.3);
	letter-spacing:.01em;
}
.mobile-nav-panel .mn-link:hover{color:var(--ms-accent)}
.mobile-nav-panel .mn-secondary{
	padding-top:18px;margin-top:4px;
	display:flex;flex-direction:column;gap:14px;
	font-size:14.5px;color:var(--ms-ink-soft);
}
.mobile-nav-panel .mn-secondary a:hover{color:var(--ms-accent)}
.mobile-nav-panel .mn-utility{
	margin-top:auto;padding-top:24px;
	border-top:1px solid rgba(207,167,135,.3);
	display:flex;flex-direction:column;gap:14px;
	font-size:14px;color:var(--ms-ink-soft);
}
.mobile-nav-panel .mn-utility a:hover{color:var(--ms-accent)}

/* Hero/about/GGA/FC CTAs: ALWAYS side-by-side at >=480 (only stack at small mobile). */
.hero .ctas,.about .ctas,.gga-copy .ctas,.fc-copy .ctas{
	flex-direction:row;flex-wrap:wrap;align-items:center;
}

/* ============================================================
   Responsive — 4 breakpoints, lifted from the design source.
   1079 → tighten nav, swap GGA label to "Akademija"
    899 → hide wishlist+account icons, stack tiers, 2x2 cats/products
    767 → hamburger replaces nav, hero/about/gga/fc stack
    480 → drop wordmark, tighten everything for small phones
   ============================================================ */

/* small desktop / large tablet (900-1079): keep ALL nav links inline.
   Tighten gaps + nav-link letter-spacing so they fit. No hamburger yet. */
@media (max-width: 1079px){
	.nav-inner{gap:18px;padding:14px clamp(20px, 4vw, 48px)}
	.nav-links{gap:22px}
	.nav-item > a, .nav-item > button{font-size:11.5px;letter-spacing:.06em}
	.nav-right{gap:4px}
	.icon-btn{width:36px;height:36px}
	/* shorten the long GGA label */
	.nav-link-gga-full{display:none}
	.nav-link-gga-short{display:inline}
	/* hero image: no scale-up at sub-desktop widths (would overflow tight column) */
	.hero-portrait img{transform:none!important}
	.stat .num{white-space:nowrap}
}

/* tablet: 768-899 (keep 2-col layouts; hide wishlist + account; KEEP nav links inline) */
@media (max-width: 899px){
	section{padding:80px 0}
	h2{font-size:38px}
	.nav-inner{padding:12px clamp(20px, 4vw, 48px);gap:14px}
	.nav-links{gap:18px}
	.nav-item > a, .nav-item > button{font-size:11px;letter-spacing:.04em}
	.wordmark{display:inline-block;font-size:11px;letter-spacing:.16em}
	.brand{gap:10px}
	.ms-logo{width:auto;height:36px;flex:0 0 auto}
	/* hide wishlist + account icons; keep search + cart */
	.icon-btn[aria-label="Paskyra"]{display:none}
	.promo{font-size:12.5px}
	.promo-inner{padding:10px 18px}
	/* stats: 4 -> 4 still fits at 768; force 2x2 only below 600 */
	.stats-row{grid-template-columns:repeat(4,1fr)}
	.stat{padding:30px 12px}
	.stat .num{font-size:34px}
	.stat .label{font-size:12px}
	/* hero: KEEP 2-col with tighter padding */
	.hero{padding:64px 0 80px}
	.hero-grid{grid-template-columns:55fr 45fr;gap:36px;align-items:center}
	.hero h1{font-size:48px}
	.hero .lede{font-size:16px;max-width:none}
	.hero-portrait{max-width:100%;width:100%;aspect-ratio:4/5}
	.hero-portrait img{transform:none!important;width:100%;height:100%;object-fit:cover;object-position:center 25%}
	/* about: KEEP 2-col */
	.about-grid{grid-template-columns:38fr 62fr;gap:40px;align-items:center}
	.about-portrait-wrap{max-width:300px;margin:0 auto}
	.about-portrait{max-width:100%;width:100%}
	.quote{font-size:26px}
	/* gga: KEEP 2-col, smaller padding */
	.gga-intro-grid{grid-template-columns:1fr 1fr;min-height:440px}
	.gga-img{min-height:0}
	.gga-img img{width:100%;height:100%;object-fit:cover}
	.gga-copy{padding:56px 32px}
	.gga-copy h2{font-size:34px}
	/* featured course: KEEP 2-col */
	.fc-grid{grid-template-columns:5fr 6fr;gap:36px;align-items:center}
	.fc-img{aspect-ratio:4/5;max-width:100%}
	.fc-img img{width:100%;height:100%;object-fit:cover}
	.fc-copy h2{font-size:30px}
	/* tiers stack to 1-col below 900 (3 cards too cramped at this width) */
	.tier-grid{grid-template-columns:1fr;gap:20px;max-width:520px}
	.tier.featured{transform:none;order:-1}
	.tier.featured:hover{transform:translateY(-2px)}
	/* categories: 2x2 */
	.cat-grid{grid-template-columns:1fr 1fr;gap:18px}
	.cat{padding:28px 24px;min-height:0}
	/* products: 2x2 */
	.prod-grid{grid-template-columns:1fr 1fr;gap:18px}
	/* lead magnet: KEEP 2-col */
	.lead-grid{grid-template-columns:1.4fr 1fr;gap:48px}
	.lead-img{max-width:240px;margin-left:auto}
	.lead h2{font-size:34px}
	/* footer: stack to a single column, social below nav */
	.footer-inner{grid-template-columns:1fr;gap:32px;text-align:center}
	.foot-brand p{margin-left:auto;margin-right:auto}
	.foot-nav ul{justify-content:center}
	.foot-social{justify-content:center}
	.foot-bottom{flex-direction:column;gap:12px;padding:24px clamp(20px, 4vw, 48px) 0;text-align:center;margin-top:32px}
	/* slider — uses clamp from base */
	.course-card{flex:0 0 calc(33.333% - 16px)}
	/* sticky bar appears at tablet */
	.mobile-cta{display:flex}
	body{padding-bottom:64px}
}

/* small tablet / large mobile: 480-767 (collapse nav into hamburger; STACK 2-col blocks; cap image heights) */
@media (max-width: 767px){
	section{padding:64px 0}
	h2{font-size:32px}
	/* HAMBURGER takes over here */
	.nav-links{display:none}
	.hamburger{
		display:inline-flex;align-items:center;justify-content:center;
		width:36px;height:36px;border-radius:50%;
	}
	.nav-inner{padding:11px clamp(16px, 4vw, 28px);gap:10px}
	.wordmark{display:inline-block;font-size:11px;letter-spacing:.16em}
	/* hide search too at this width; keep cart + pill + hamburger */
	.icon-btn[aria-label="Paieška"]{display:none}
	.promo{font-size:11.5px}
	.promo-inner{padding:9px 14px;flex-wrap:wrap}
	.promo .left{flex:1;min-width:0}
	/* hero stacks, image capped */
	.hero{padding:40px 0 56px}
	.hero-grid{grid-template-columns:1fr;gap:28px}
	.hero-portrait{order:-1;max-width:100%;margin:0 auto;width:100%;max-height:380px;aspect-ratio:auto;height:380px}
	.hero-portrait img{height:100%;width:100%;object-fit:cover;object-position:center 22%;transform:none!important}
	.hero h1{font-size:40px}
	.hero .lede{font-size:15px;max-width:none}
	/* stats 2x2 */
	.stats-row{grid-template-columns:repeat(2,1fr)}
	.stat{border-bottom:1px solid rgba(207,167,135,.4);padding:28px 16px}
	.stat:nth-child(2){border-right:0}
	.stat:nth-child(3),.stat:nth-child(4){border-bottom:0}
	.stat .num{font-size:36px}
	/* about stacks */
	.about-grid{grid-template-columns:1fr;gap:36px}
	.about-portrait{max-width:300px}
	.about-portrait-wrap{max-width:340px}
	.about p{margin-left:auto;margin-right:auto}
	.quote{font-size:24px}
	/* gga stacks, image capped */
	.gga-intro-grid{grid-template-columns:1fr;min-height:0}
	.gga-img{min-height:0;height:340px}
	.gga-img img{width:100%;height:100%;object-fit:cover;object-position:center}
	.gga-copy{padding:48px 24px}
	.gga-copy h2{font-size:32px}
	/* featured course stacks, image capped */
	.fc-grid{grid-template-columns:1fr;gap:28px}
	.fc-img{aspect-ratio:auto;height:360px}
	.fc-img img{width:100%;height:100%;object-fit:cover;object-position:center}
	.fc-copy h2{font-size:28px}
	/* tiers stack */
	.tier-grid{grid-template-columns:1fr;gap:18px;max-width:460px}
	.tier.featured{transform:none;order:-1}
	/* categories 2x2 stays */
	.cat-grid{grid-template-columns:1fr 1fr;gap:14px}
	.cat{padding:24px 22px;min-height:0}
	/* products 2x2 */
	.prod-grid{grid-template-columns:1fr 1fr;gap:14px}
	/* lead magnet stacks */
	.lead-grid{grid-template-columns:1fr;gap:32px}
	.lead-img{margin:0 auto;max-width:200px}
	.lead h2{font-size:30px}
	/* slider */
	.courses-head{flex-direction:column;align-items:flex-start;gap:8px}
	.course-card{flex:0 0 78%}
	/* footer already stacked from 899; nothing to override here */
	.mobile-cta{display:flex}
	body{padding-bottom:64px}
}

/* small mobile: <=480 (logo only, no wordmark; image height capped tighter) */
@media (max-width: 767px){
	/* Prevent iOS Safari from auto-zooming on focus — any focusable form
	   field below 16px triggers the zoom. Bumps inline-styled inputs from
	   14.5px (intake / contact forms) up to 16px on mobile only. */
	input[type="text"],input[type="email"],input[type="tel"],input[type="password"],
	input[type="number"],input[type="search"],input[type="url"],textarea,select{
		font-size:16px!important;
	}
}

@media (max-width: 480px){
	.wordmark{display:none}
	.cat-grid{grid-template-columns:1fr}
	.prod-grid{grid-template-columns:1fr 1fr}
	.hero h1{font-size:36px}
	.hero .lede{font-size:14.5px}
	.hero-portrait{height:320px}
	.gga-img{height:280px}
	.fc-img{height:300px}
	.hero .ctas,.about .ctas,.gga-copy .ctas,.fc-copy .ctas{flex-direction:column;gap:10px;align-items:stretch}
	.hero .ctas .btn,.about .ctas .btn,.gga-copy .ctas .btn,.fc-copy .ctas .btn{width:100%;justify-content:center}
	.stats .stat-pill{position:static;display:block;margin:24px auto 0;width:fit-content;text-align:center;font-size:9px;letter-spacing:.12em}
	.stats{padding-bottom:48px}
	.stat{padding:24px 8px}
	.stat .num{font-size:30px;white-space:nowrap}
	.stat .label{font-size:10.5px;letter-spacing:.04em}
	.quote{font-size:22px!important}
	.gga-copy h2{font-size:28px}
	h2{font-size:30px}
	.fc-copy h2{font-size:26px}
	.lead h2{font-size:26px}
	.lead input{min-width:0;width:100%}
	.lead form{flex-direction:column}
	.lead form .btn{width:100%;justify-content:center}
	.foot-nav ul{flex-direction:column;gap:12px}
	.promo{font-size:11px}
	.promo-inner{padding:8px 12px;flex-wrap:wrap}
	.promo .hide-narrow{display:none}
	.promo button{padding:6px 8px;font-size:13px}
	.eyebrow{letter-spacing:.16em;font-size:11px}
	.section-head{margin-bottom:40px}
	.nav-pill{padding:0 12px;font-size:11.5px;height:34px;letter-spacing:.03em;white-space:nowrap;flex-shrink:0}
	.icon-btn{width:32px;height:32px}
	.icon-btn[data-hide-narrow]{display:none}
	.nav-right{gap:0}
	.promo-inner{flex-wrap:wrap;justify-content:center}
	.promo-inner > .left{white-space:normal;text-align:center;flex:1 1 100%;justify-content:center}
	.nav-inner{gap:6px}
	.courses-head{gap:8px}
	.slider-foot{gap:18px;margin-top:32px}
	.about-portrait-wrap{max-width:340px;padding-bottom:36px}
	.about-portrait-wrap .sig{right:0!important;bottom:-4px!important;font-size:34px}
	.fc-priceblock .now{font-size:30px}
	.fc-priceblock .old{font-size:18px}
	.tier{padding:28px 22px}
	.tier .price .num{font-size:36px}
}

/* ============================================================
   WooCommerce brand pass.
   We don't override Woo's PHP templates — just style its class names to
   match our tokens. Cart / checkout / shop / single-product all benefit.
   ============================================================ */

.woocommerce, .woocommerce-page { font-family: 'Poppins', sans-serif; color: var(--ms-ink); }

.woocommerce > h1:first-child,
.woocommerce-page > h1:first-child,
.woocommerce .page-title { font-size: 36px; letter-spacing: -.015em; color: var(--ms-ink); margin: 0 0 28px; }

/* Buttons → match our .btn-solid */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt {
	display: inline-flex; align-items: center; justify-content: center;
	height: 46px; padding: 0 22px; border-radius: 999px;
	background: var(--ms-accent); color: #fff;
	font-family: 'Poppins', sans-serif; font-size: 14.5px; font-weight: 500; letter-spacing: .02em;
	box-shadow: 0 4px 12px rgba(139,73,140,.20);
	border: 0; cursor: pointer;
	transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .button.alt:hover {
	background: var(--ms-accent-warm); transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(139,73,140,.30);
}
.woocommerce a.button.wc-backward,
.woocommerce a.button[name="update_cart"],
.woocommerce button.button[name="update_cart"],
.woocommerce input.button[name="update_cart"] {
	background: transparent; color: var(--ms-ink); border: 1px solid rgba(5,4,40,.18); box-shadow: none;
}
.woocommerce a.button.wc-backward:hover,
.woocommerce button.button[name="update_cart"]:hover,
.woocommerce input.button[name="update_cart"]:hover { border-color: var(--ms-ink); background: var(--ms-bg); transform: none; }
/* WC disables the "update cart" button until a qty actually changes. Left on the
   default primary style it reads as a broken/greyed CTA; style the disabled state
   as a deliberately muted ghost instead. */
.woocommerce button.button[name="update_cart"]:disabled,
.woocommerce button.button[name="update_cart"][disabled],
.woocommerce input.button[name="update_cart"]:disabled,
.woocommerce input.button[name="update_cart"][disabled] {
	background: transparent; color: var(--ms-ink-soft); border: 1px solid rgba(5,4,40,.12);
	opacity: 1; cursor: default; box-shadow: none; transform: none;
}

/* ---- Add-to-cart button feedback (loading → done) ----
   Loop buttons (.add_to_cart_button) + the single-product button get a clean
   white spinner while the AJAX add is in flight; WC then swaps in `.added`. */
.woocommerce a.button.loading,
.woocommerce button.button.loading,
.woocommerce .single_add_to_cart_button.loading,
.woocommerce .add_to_cart_button.loading {
	color: transparent !important; opacity: 1; pointer-events: none; position: relative;
}
.woocommerce a.button.loading::after,
.woocommerce button.button.loading::after,
.woocommerce .single_add_to_cart_button.loading::after,
.woocommerce .add_to_cart_button.loading::after {
	content: ''; position: absolute; top: 50%; left: 50%;
	width: 16px; height: 16px; margin: -8px 0 0 -8px;
	border: 2px solid rgba(255,255,255,.45); border-top-color: #fff; border-radius: 50%;
	animation: ms-spin .6s linear infinite;
}
/* WC appends a "Peržiūrėti krepšelį" link after an add. It's redundant with the
   quick-cart drawer that opens on every add (the drawer carries the cart CTAs),
   and it left a stray link beside the button — so hide it. */
.woocommerce a.added_to_cart { display: none; }
@keyframes ms-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
	.woocommerce a.button.loading::after,
	.woocommerce button.button.loading::after,
	.woocommerce .single_add_to_cart_button.loading::after,
	.woocommerce .add_to_cart_button.loading::after { animation: none; border-top-color: rgba(255,255,255,.45); }
}

/* Prices */
.woocommerce .price,
.woocommerce-Price-amount {
	font-family: 'Montserrat', sans-serif; font-weight: 600; color: var(--ms-deeper); letter-spacing: -.005em;
}
.woocommerce .price del .amount { font-weight: 400; color: var(--ms-ink-soft); }

/* Form fields — cart, checkout, login, account.
   Soft + generous + modern: a warm hairline (not a hard navy box), large
   radius, comfortable height, gentle fill, and a soft focus ring instead of a
   2000s 1px outline. */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout .form-row input.input-text,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="tel"],
.woocommerce-account input[type="number"],
.woocommerce #coupon_code.input-text {
	height: 54px; padding: 0 18px;
	border: 1px solid rgba(85,41,107,.16); background: #FCFAF8; border-radius: 12px;
	font-family: 'Poppins', sans-serif; font-size: 15px; color: var(--ms-ink); outline: none;
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.woocommerce form .form-row textarea { height: auto; min-height: 120px; padding: 16px 18px; line-height: 1.6; resize: vertical; }
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-account input:focus,
.woocommerce #coupon_code.input-text:focus {
	border-color: var(--ms-accent); background: #fff;
	box-shadow: 0 0 0 3px rgba(139,73,140,.12);
}
/* Native <select> — kill the OS arrow and paint a brand chevron so every
   dropdown (shop ordering, checkout country/state, product variations) matches
   the field system instead of dropping to the raw OS control. */
.woocommerce-ordering select,
.woocommerce form .form-row select,
.woocommerce-page form .form-row select,
.woocommerce .variations select,
.woocommerce-cart-form select {
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	height: 54px; padding: 0 44px 0 16px;
	border: 1px solid rgba(85,41,107,.16); border-radius: 12px; background-color: #FCFAF8;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2355296b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 16px center; background-size: 13px;
	font-family: 'Poppins', sans-serif; font-size: 14.5px; color: var(--ms-ink);
	max-width: 100%; cursor: pointer;
	transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.woocommerce-ordering select:focus,
.woocommerce form .form-row select:focus,
.woocommerce .variations select:focus,
.woocommerce-cart-form select:focus {
	border-color: var(--ms-accent); background-color: #fff; outline: none;
	box-shadow: 0 0 0 3px rgba(139,73,140,.12);
}
/* Variation selector (e.g. "Pasirinkite modulį/modulius") — WooCommerce lays
   the attribute label and its <select> out as table cells, so they sit on the
   same line. Break the table so the label stacks ON ITS OWN LINE above the
   dropdown, and space multiple attributes apart. */
.woocommerce .variations,
.woocommerce .variations tbody,
.woocommerce .variations tr,
.woocommerce .variations th.label,
.woocommerce .variations td.value {
	display: block; width: auto; float: none; padding: 0;
}
.woocommerce .variations th.label {
	margin: 0 0 10px; text-align: left; line-height: 1.4;
	font: 600 14px/1.4 var(--ms-sans); color: var(--ms-ink); letter-spacing: 0;
}
.woocommerce .variations tr + tr th.label { margin-top: 18px; }
.woocommerce .variations td.value { margin: 0; }
.woocommerce .variations .reset_variations {
	display: inline-block; margin-top: 8px; font-size: 13px; color: var(--ms-ink-soft);
}
/* WC enhances the country / state selects with select2 (it hides the native
   <select> and renders its own widget), so that widget + its dropdown panel need
   branding too — match the field system. */
.select2-container--default .select2-selection--single {
	height: 54px !important; border: 1px solid rgba(85,41,107,.16) !important; border-radius: 12px !important; background: #FCFAF8 !important;
	transition: border-color .18s ease, box-shadow .18s ease;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 54px !important; padding: 0 42px 0 16px !important; color: var(--ms-ink) !important; font-size: 14.5px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 52px !important; right: 14px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: var(--ms-ink-soft) transparent transparent transparent !important;
}
.select2-container--default.select2-container--open .select2-selection--single {
	border-color: var(--ms-accent) !important; box-shadow: 0 0 0 3px rgba(139,73,140,.12) !important;
}
.select2-dropdown {
	border: 1px solid rgba(85,41,107,.16) !important; border-radius: 12px !important; overflow: hidden;
	background: #fff !important; box-shadow: var(--shadow-card) !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted {
	background: var(--ms-accent) !important; color: #fff !important;
}
.select2-container--default .select2-results__option {
	padding: 9px 16px; font-size: 14.5px; color: var(--ms-ink);
}
.select2-container--default .select2-search--dropdown .select2-search__field {
	border: 1px solid rgba(85,41,107,.16) !important; border-radius: 8px !important; padding: 8px 12px; outline: none;
}
.select2-container--default .select2-search--dropdown .select2-search__field:focus { border-color: var(--ms-accent) !important; }
.woocommerce form .form-row input.input-text::placeholder,
.woocommerce form .form-row textarea::placeholder { color: rgba(85,41,107,.42); }
.woocommerce form .form-row label,
.woocommerce-account form label { display: block; font-size: 13.5px; font-weight: 600; color: var(--ms-ink); margin-bottom: 8px; letter-spacing: .005em; }

/* Cart & checkout tables */
.woocommerce table.shop_table,
.woocommerce table.cart {
	border: 0; border-collapse: separate; border-spacing: 0;
	background: transparent;
}
.woocommerce table.shop_table th,
.woocommerce table.cart th {
	font-size: 12px; font-weight: 600;
	letter-spacing: .14em; text-transform: uppercase; color: var(--ms-ink-soft);
	padding: 14px 18px; background: transparent; border-bottom: 1px solid rgba(207,167,135,.4);
}
.woocommerce table.shop_table td,
.woocommerce table.cart td {
	padding: 18px; background: var(--ms-surface); border-bottom: 1px solid rgba(207,167,135,.25);
}
.woocommerce table.shop_table tr:last-child td { border-bottom: 0; }

/* Order summary box */
.woocommerce-checkout-review-order { background: var(--ms-surface); padding: 24px 26px; border-radius: 6px; box-shadow: var(--shadow-card); }

/* Notices — soft rounded panels. No left-border bar, no icon-font glyph;
   just a tinted surface + readable copy. */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
ul.woocommerce-error,
.woocommerce-no-payment-methods {
	border: 0; border-radius: 14px; padding: 16px 22px; margin: 0 0 24px;
	font-size: 14.5px; line-height: 1.55; list-style: none;
}
.woocommerce-message { background: rgba(139,73,140,.07); color: var(--ms-accent); }
.woocommerce-info    { background: rgba(174,116,157,.12); color: var(--ms-ink-soft); }
.woocommerce-error   { background: rgba(193,74,58,.08); color: #b8432f; }
.woocommerce-message a, .woocommerce-info a { color: var(--ms-accent); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.woocommerce-message a:hover, .woocommerce-info a:hover { text-decoration: none; }
/* Kill WC's icon-font ::before/::after on every notice variant (renders as a
   tofu box). The clean panel above is the whole treatment. */
.woocommerce-message::before, .woocommerce-message::after,
.woocommerce-info::before, .woocommerce-info::after,
.woocommerce-error::before, .woocommerce-error::after,
.woocommerce-noreviews::before,
.woocommerce-no-payment-methods::before { display: none !important; content: none !important; }

/* ---- Cart: coupon field ----
   The coupon input isn't wrapped in a .form-row, so it misses the field
   treatment and the placeholder ("Kupono kodas") gets clipped. Give it the
   same look + a sane min-width, and lay the row out as input + button. */
/* nowrap so the input shrinks and the "Apply" button stays on the same row. */
.woocommerce .cart .coupon { display: flex; gap: 10px; align-items: center; flex-wrap: nowrap; }
.woocommerce #coupon_code.input-text {
	/* look comes from the shared modern field rule above; this only sizes it */
	flex: 1 1 140px; min-width: 0; max-width: 300px;
}
.woocommerce .cart .coupon .button { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 480px) {
	.woocommerce .cart .coupon { flex-wrap: wrap; }
	.woocommerce #coupon_code.input-text { max-width: none; flex-basis: 100%; }
	.woocommerce .cart .coupon .button { width: 100%; }
}

/* ---- Cart: totals ("Suma") ----
   Wrap the whole block in a brand card. Without this the shop_table rows show
   as half-filled strips (th transparent, td surface-white) floating on the bg. */
.woocommerce .cart_totals {
	background: var(--ms-surface); border-radius: 8px; padding: 26px 28px; box-shadow: var(--shadow-card);
}
.woocommerce .cart_totals h2 { font-size: 22px; letter-spacing: -.01em; margin: 0 0 14px; }
.woocommerce .cart_totals table.shop_table,
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
	background: transparent; border: 0;
}
.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
	padding: 12px 0; border-bottom: 1px solid rgba(207,167,135,.25);
}
.woocommerce .cart_totals table.shop_table tr:last-child th,
.woocommerce .cart_totals table.shop_table tr:last-child td { border-bottom: 0; }
.woocommerce .cart_totals .order-total th { font-weight: 600; }
.woocommerce .cart_totals .order-total td .amount,
.woocommerce .cart_totals .order-total .woocommerce-Price-amount { font-size: 18px; color: var(--ms-accent); }
.woocommerce .cart_totals .wc-proceed-to-checkout { padding: 18px 0 0; }
.woocommerce .cart_totals .wc-proceed-to-checkout .checkout-button {
	width: 100%; display: flex; align-items: center; justify-content: center; min-height: 54px;
}
/* Cart / checkout page title: page.php wraps it in `.section-head` (max-width
   680, centred) — meant for narrow prose pages. On the full-width WC cart /
   checkout that left the big title floating, misaligned with the content. Let it
   span the content width so it anchors to the left edge like the shop title. */
.woocommerce-cart .section-head,
.woocommerce-checkout .section-head { max-width: none; margin-left: 0; margin-right: 0; }

/* ---- Checkout: 2-column — form on the left, sticky order summary on the right.
   Default WC stacks #order_review full-width below the form; we grid it beside
   the form and stack billing + notes within the (now narrower) left column so the
   right side is the order summary rather than a lone "notes" field. ---- */
@media (min-width:900px){
	.woocommerce-checkout form.checkout{
		display:grid;
		grid-template-columns:minmax(0,1fr) minmax(320px,380px);
		column-gap:44px;align-items:start;
	}
	.woocommerce-checkout form.checkout .ms-checkout__main{grid-column:1;min-width:0}
	.woocommerce-checkout form.checkout .ms-checkout__aside{grid-column:2}
	.woocommerce-checkout #order_review_heading{margin:0 0 16px}
	.woocommerce-checkout #order_review{position:sticky;top:24px}
	.woocommerce-checkout #customer_details.col2-set{display:block}
	.woocommerce-checkout #customer_details .col-1,
	.woocommerce-checkout #customer_details .col-2{width:100%;max-width:none;float:none}
	.woocommerce-checkout #customer_details .col-2{margin-top:6px}
}

/* ---- Checkout: payment box ---- */
.woocommerce-checkout #payment { background: var(--ms-bg); border-radius: 8px; }
.woocommerce-checkout #payment .place-order { padding: 18px 22px; }
.woocommerce-checkout #payment .payment_methods { padding: 8px 22px; }

/* ---- Distraction-free checkout chrome (minimal header + footer) ---- */
.nav--checkout .nav-inner{justify-content:space-between}
.ms-checkout-back{display:inline-flex;align-items:center;gap:7px;font:500 14px/1 var(--ms-sans);color:var(--ms-ink-soft);text-decoration:none;transition:color .15s ease}
.ms-checkout-back:hover{color:var(--ms-accent)}
.foot--checkout{padding:26px 0 34px;margin-top:40px;border-top:1px solid rgba(5,4,40,.08)}
.foot--checkout .foot-payments{display:flex;gap:12px;align-items:center;justify-content:center;margin-bottom:14px;flex-wrap:wrap}
.foot--checkout .foot-bottom{display:flex;gap:14px;justify-content:center;font-size:12.5px;color:var(--ms-ink-soft)}

/* Order-notes textarea — ensure it wears the brand field style, not the raw
   browser default. */
.woocommerce-checkout #order_comments,
.woocommerce-checkout .form-row textarea{
	border:1px solid rgba(85,41,107,.16);background:#FCFAF8;border-radius:12px;
	min-height:120px;padding:16px 18px;line-height:1.6;
	font-family:'Poppins',sans-serif;font-size:15px;color:var(--ms-ink);resize:vertical;
}
.woocommerce-checkout #order_comments:focus{border-color:var(--ms-accent);background:#fff;box-shadow:0 0 0 3px rgba(139,73,140,.12);outline:none}

/* ---- Login / lost-password link affordance ---- */
.woocommerce-LostPassword a,
.woocommerce-ResetPassword .woocommerce-LostPassword a {
	color: var(--ms-accent); font-weight: 500; text-decoration: none;
	border-bottom: 1px solid transparent; transition: border-color .2s ease;
}
.woocommerce-LostPassword a:hover { border-bottom-color: var(--ms-accent); }

/* Shop archive — single source of truth lives further down (consolidated
   2026-05-22). This block intentionally left empty to avoid duplicate /
   contradictory rules that previously fought the later definitions. */

/* Single product */
.woocommerce div.product div.summary h1.product_title { font-size: 36px; letter-spacing: -.01em; margin: 0 0 18px; }
.woocommerce div.product .price { font-size: 28px; font-family: 'Montserrat', sans-serif; }
.woocommerce div.product .woocommerce-product-rating { margin-bottom: 18px; }

/* Quantity input */
.woocommerce .quantity .qty {
	height: 46px; padding: 0 10px; min-width: 64px; border: 1px solid rgba(5,4,40,.18); border-radius: 4px;
	font-family: 'Montserrat', sans-serif; font-size: 14.5px; text-align: center;
}

/* My-account nav */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block; padding: 12px 16px; border-radius: 4px; font-size: 14px; font-weight: 500;
	color: var(--ms-ink); text-decoration: none; transition: background .2s;
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--ms-bg); color: var(--ms-accent); }

/* =========================================================================
   My-Account custom panels (Mano kursai / Pažanga / Narystė) merged into
   the default WC My-Account layout via `inc/account-menu.php`.
   ========================================================================= */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
	background:var(--ms-surface);border-radius:8px;box-shadow:var(--shadow-card);
	padding:18px 14px;
	/* WC ships float:left/right on these — kill the floats so the grid layout
	   on the parent can actually place them in columns instead of squashing
	   the content into a shrink-wrapped strip. (2026-05-26 fix.) */
	float:none;
	width:auto;
}
.woocommerce-account .woocommerce-MyAccount-navigation{padding:14px;position:sticky;top:96px;align-self:start}
.woocommerce-account .woocommerce-MyAccount-content{padding:36px 40px;min-height:480px}
/* Dashboard 2-col layout applies ONLY when logged in. WC reuses the same
   .woocommerce wrapper for the logged-OUT login view, and if the grid leaks
   there the login form gets squished into the 240px nav column with a dead
   1fr gap beside it (the "small field drowning in blank space" bug). */
.woocommerce-account.logged-in .woocommerce{
	display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:start;
}
/* WC ships ::before and ::after on .woocommerce as float-era clearfix
   (content:' '; display:table). When the parent is a grid container those
   pseudos count as grid items and push the real children into cells (1,2)
   and (2,1) — nav ends up in the wrong column AND below the content.
   Killing the clearfix pseudos is safe: we don't float anymore. */
.woocommerce-account.logged-in .woocommerce::before,
.woocommerce-account.logged-in .woocommerce::after{
	display:none;
	content:none;
}
@media (max-width:767px){
	.woocommerce-account.logged-in .woocommerce{grid-template-columns:1fr}
	.woocommerce-account .woocommerce-MyAccount-navigation{position:static}
}

/* ---- Logged-out My-Account: centered login (+ optional register) card ---- */
.woocommerce-account:not(.logged-in) .woocommerce{
	display:block; max-width:460px; margin:0 auto;
}
.woocommerce-account:not(.logged-in) .woocommerce:has(#customer_login){max-width:960px}
.woocommerce-account #customer_login{
	display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;
}
.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after{display:none;content:none}
.woocommerce-account #customer_login > .u-column1,
.woocommerce-account #customer_login > .u-column2{float:none;width:auto;min-width:0}
.woocommerce-account #customer_login h2{
	text-align:center;font-size:26px;margin:0 0 22px;
}
@media(max-width:767px){
	.woocommerce-account:not(.logged-in) .woocommerce:has(#customer_login){max-width:460px}
	.woocommerce-account #customer_login{grid-template-columns:minmax(0,1fr);gap:36px}
}
.woocommerce-account:not(.logged-in) .woocommerce > h2{
	text-align:center; font-size:26px; font-weight:600; letter-spacing:-.01em;
	color:var(--ms-ink); margin:0 0 22px;
}
.ms-login-intro{
	text-align:center; color:var(--ms-ink-soft); font-size:14.5px; line-height:1.55;
	margin:0 0 24px;
}
.woocommerce-account:not(.logged-in) .woocommerce-form-login,
.woocommerce-account:not(.logged-in) .woocommerce-form-register{
	background:var(--ms-surface); border:0; border-radius:20px;
	padding:38px 36px; box-shadow:var(--shadow-card); margin:0;
}
.woocommerce-account:not(.logged-in) .woocommerce-form-login .form-row{margin:0 0 18px; padding:0}
.woocommerce-account:not(.logged-in) .woocommerce-form-login .form-row-wide{width:100%}
.woocommerce-account:not(.logged-in) .woocommerce-form-login p.form-row > .button,
.woocommerce-account:not(.logged-in) .woocommerce-form-login button[name="login"]{
	width:100%; height:54px; margin-top:6px;
}
.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme{
	display:flex; align-items:center; gap:9px; margin:2px 0 0;
	font-size:14px; font-weight:400; color:var(--ms-ink-soft);
}
.woocommerce-account:not(.logged-in) .woocommerce-LostPassword{
	text-align:center; margin:20px 0 0;
}
@media (max-width:520px){
	.woocommerce-account:not(.logged-in) .woocommerce-form-login,
	.woocommerce-account:not(.logged-in) .woocommerce-form-register{padding:28px 22px}
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{
	display:flex;align-items:center;gap:8px;
	padding:12px 16px;border-radius:6px;
	font-size:14.5px;font-weight:500;color:var(--ms-ink);text-decoration:none;
	transition:background .18s ease, color .18s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{
	background:rgba(207,167,135,.18);color:var(--ms-accent);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{
	background:var(--ms-accent);color:#fff;
}

.ms-account-tier-chip{
	display:inline-flex;align-items:center;gap:8px;
	margin-top:12px;padding:6px 14px;border-radius:999px;
	background:var(--ms-accent);color:#fff;
	font:600 11px/1 var(--ms-mono-num);letter-spacing:.14em;text-transform:uppercase;
}
.ms-account-h2{font:600 22px/1.2 var(--ms-sans);margin:0 0 22px;letter-spacing:-.005em}
.ms-account-grid{
	display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;
}
.ms-account-card{
	background:var(--ms-bg);border-radius:8px;overflow:hidden;
	display:flex;flex-direction:column;text-decoration:none;color:inherit;
	transition:transform .18s ease, box-shadow .18s ease;
}
.ms-account-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px -12px rgba(85,41,107,.20)}
.ms-account-card__cover{aspect-ratio:16/10;background:#e6d8d3;display:block;overflow:hidden}
.ms-account-card__cover img{width:100%;height:100%;object-fit:cover;display:block}
.ms-account-card__body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.ms-account-card__body strong{font:600 15px/1.35 var(--ms-sans);color:var(--ms-ink)}
.ms-account-card__progress-meta{font:500 12.5px/1.4 var(--ms-mono-num);color:var(--ms-ink-soft)}
.ms-account-card__bar{display:block;height:3px;background:rgba(207,167,135,.30);border-radius:3px;overflow:hidden}
.ms-account-card__bar > span{display:block;height:100%;background:var(--ms-accent)}
.ms-account-empty{color:var(--ms-ink-soft);font-size:15px;line-height:1.6;margin:0 0 18px}
.ms-account-actions{display:flex;flex-wrap:wrap;gap:12px}
.ms-account-progress-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ms-account-progress-list li{
	display:flex;gap:14px;align-items:center;
	padding:14px 16px;background:var(--ms-bg);border-radius:6px;
}
.ms-account-progress-icon{font-size:18px;color:var(--ms-accent)}
.ms-account-progress-meta{flex:1;min-width:0}
.ms-account-progress-meta a{font:500 14.5px/1.35 var(--ms-sans);color:var(--ms-ink);text-decoration:none;display:block;margin-bottom:2px}
.ms-account-progress-meta a:hover{color:var(--ms-accent)}
.ms-account-progress-meta span{font:500 12.5px/1.5 var(--ms-sans);color:var(--ms-ink-soft)}

.ms-account-naryste{
	padding:24px 28px;background:var(--ms-bg);border-radius:8px;
	display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.ms-account-naryste__label{font:600 11px/1 var(--ms-mono-num);letter-spacing:.18em;text-transform:uppercase;color:var(--ms-ink-soft);margin-bottom:6px}
.ms-account-naryste__tier{font:600 24px/1 var(--ms-sans);color:var(--ms-accent)}
.ms-account-naryste__dates{text-align:right;font:500 13.5px/1.6 var(--ms-sans);color:var(--ms-ink-soft)}
.ms-account-naryste__flag{margin-left:6px;font-weight:600}
.ms-account-naryste__flag.is-bad{color:#c14a3a}
.ms-account-naryste__flag.is-warn{color:#b8860b}
.ms-account-naryste__renew{
	margin-top:16px;padding:16px 22px;border-radius:6px;
	background:rgba(174,116,157,.10);font-size:14.5px;color:var(--ms-ink);
}
.ms-account-naryste__renew a{margin-left:8px;color:var(--ms-accent);font-weight:600;text-decoration:underline}

/* Make the existing dashboard greeting compact since our courses now sit
   above it. */
.woocommerce-account .ms-account-dash-courses{margin-bottom:36px}
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type{font-size:14.5px;color:var(--ms-ink-soft)}

/* ============================================================
   Responsive grid utilities for page templates.
   Used by akademija / apie / kontaktai / kursai archive to keep
   their custom column ratios but collapse to 1-col on mobile.
   ============================================================ */
.ms-stack-2{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.ms-stack-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}
.ms-stack-sidebar{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start}

/* Kontaktai — contact channels as cards (replaces the plain dl) */
.kontaktai-info{display:flex;flex-direction:column;gap:12px}
.kontaktai-info__head{font:600 12px/1 var(--ms-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ms-ink-soft);margin-bottom:8px}
.kontaktai-card{display:flex;align-items:center;gap:14px;padding:15px 18px;background:var(--ms-surface);border:1px solid rgba(207,167,135,.30);border-radius:14px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.kontaktai-card:hover{transform:translateY(-2px);border-color:rgba(139,73,140,.40);box-shadow:0 14px 30px -16px rgba(85,41,107,.24)}
.kontaktai-card__ic{flex:none;width:42px;height:42px;border-radius:50%;background:rgba(139,73,140,.08);color:var(--ms-accent);display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease}
.kontaktai-card__ic svg{width:20px;height:20px}
.kontaktai-card:hover .kontaktai-card__ic{background:rgba(139,73,140,.14)}
.kontaktai-card__txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.kontaktai-card__label{font:500 11px/1 var(--ms-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ms-ink-soft)}
.kontaktai-card__val{font-size:15.5px;font-weight:500;color:var(--ms-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Atsiliepimai — reviews page (template-atsiliepimai.php) */
.atsil-hero{background:var(--ms-bg);padding:80px 0 60px;text-align:center}
.atsil-hero .container{max-width:820px}
.atsil-hero h1{font-size:clamp(32px,4.4vw,46px);margin:18px 0 18px;letter-spacing:-.015em}
.atsil-hero>.container>p{color:var(--ms-ink-soft);font-size:17px;line-height:1.7;max-width:600px;margin:0 auto}
.atsil-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:24px 56px;margin-top:42px}
.atsil-stats div{display:flex;flex-direction:column;gap:5px}
.atsil-stats strong{font:600 30px/1 'Poppins',sans-serif;color:var(--ms-accent);display:flex;align-items:baseline;gap:4px;justify-content:center}
.atsil-stats span{font:500 12px/1.3 'Montserrat',sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--ms-ink-soft)}
.atsil-stats__star{color:var(--ms-accent-rose);font-size:20px}
.atsil-wall{background:var(--ms-surface);padding:72px 0}
.atsil-grid{columns:3 320px;column-gap:28px}
.atsil-card{break-inside:avoid;margin:0 0 28px;width:100%}
.atsil-card__stars{color:var(--ms-accent-rose);font-size:15px;letter-spacing:3px;margin-bottom:14px;line-height:1}
.atsil-card .testi-quote{font-size:16px;line-height:1.65}
.atsil-cta{background:var(--ms-deep);color:#fff;padding:76px 0;text-align:center}
.atsil-cta .container{max-width:620px}
.atsil-cta h2{color:#fff;font-size:clamp(26px,3.4vw,32px);margin:0 0 14px}
.atsil-cta p{color:rgba(255,255,255,.78);font-size:16.5px;line-height:1.7;margin:0 0 28px}
@media(max-width:760px){.atsil-stats{gap:18px 36px}.atsil-stats strong{font-size:25px}}
.ms-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
@media (max-width:899px){
	.ms-stack-3{grid-template-columns:1fr 1fr;gap:20px}
}
@media (max-width:767px){
	.ms-stack-2{grid-template-columns:1fr;gap:24px}
	.ms-stack-sidebar{grid-template-columns:1fr;gap:32px}
}
@media (max-width:599px){
	.ms-stack-3{grid-template-columns:1fr;gap:18px}
	.ms-form-row{grid-template-columns:1fr;gap:14px}
}

/* ============================================================
   Section / prose utility classes — replaces inline `padding:80px 0 96px`
   and per-template `font-size:42px` h1 inlines. Use these on every section.
   ============================================================ */
.section-pad-default{padding:var(--ms-section-pad-y) 0 var(--ms-section-pad-y-hero)}
.section-pad-tight  {padding:var(--ms-section-pad-y-tight) 0 var(--ms-section-pad-y) }
.section-pad-hero   {padding:var(--ms-section-pad-y-hero) 0 var(--ms-section-pad-y-tight)}
.ms-h1-detail {font-size:var(--ms-h1-detail);line-height:1.1;letter-spacing:-.015em}
.ms-h1-archive{font-size:var(--ms-h1-archive);line-height:1.1;letter-spacing:-.015em}
.ms-h1-utility{font-size:var(--ms-h1-utility);line-height:1.2}
@media (max-width: 767px){
	.ms-h1-detail {font-size:36px}
	.ms-h1-archive{font-size:32px}
	.ms-h1-utility{font-size:28px}
}

/* Long-form prose container — applied to single post body, course body,
   apie-mane biography. Per NN/g + PMC9376262 (40-60yo reader cohort):
   18px desktop / 17px mobile, line-height 1.65, max-width 65ch. */
.ms-prose{font-size:18px;line-height:1.7;max-width:var(--ms-prose-max-width);color:var(--ms-ink)}
@media (max-width: 767px){
	.ms-prose{font-size:17px;line-height:1.65}
}
.ms-prose p{margin:0 0 1.2em}
.ms-prose p:last-child{margin-bottom:0}
.ms-prose a{color:var(--ms-accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.ms-prose a:hover{color:var(--ms-ink-soft)}

/* ============================================================
   Form system — applied to all intake/contact/lead-magnet forms.
   Replaces the inline `style="height:46px;border:1px..."` template
   spaghetti with a single, premium, owner-editable surface.
   ============================================================ */

/* Form surface — white card with hairline + soft shadow, replacing the
   flat beige container that read template-y. */
.ms-form-surface{
	background:var(--ms-surface);
	border:1px solid rgba(207,167,135,.35);
	border-radius:12px;
	padding:40px;
	box-shadow:0 14px 36px -22px rgba(85,41,107,.18), 0 1px 2px rgba(5,4,40,.04);
	margin-top:32px;
}
@media (max-width: 599px){
	.ms-form-surface{padding:26px 22px;border-radius:10px}
}

/* BASIC intake page — recap card uses .ms-form-surface so radius + shadow
   match the form below it. These rules style the inner content (eyebrow,
   price block, feature list) consistently with the homepage tier card. */
.basic-recap{padding:28px 32px;margin-top:0}
.basic-recap__eyebrow{
	font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:.18em;
	text-transform:uppercase;color:var(--ms-accent);font-weight:600;margin-bottom:8px;
}
.basic-recap__price{
	display:flex;align-items:baseline;gap:6px;margin-bottom:18px;
	font-family:'Montserrat',sans-serif;color:var(--ms-ink);
}
.basic-recap__price .num{font-size:24px;font-weight:600;letter-spacing:-.005em}
.basic-recap__price .per{font-size:13px;color:var(--ms-ink-soft);font-weight:400}
.basic-recap__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.basic-recap__list li{
	font-size:14.5px;color:var(--ms-ink);line-height:1.5;
	display:flex;gap:10px;align-items:flex-start;
}
.basic-recap__list li::before{
	content:'';flex:0 0 6px;width:6px;height:6px;margin-top:9px;
	border-radius:50%;background:var(--ms-accent-rose);
}
@media (max-width:599px){
	.basic-recap{padding:22px 20px}
}

/* Inputs / textarea / select — 52px tall (56 on mobile), 1.5px border,
   8px radius, focus ring 2px accent + soft purple glow.
   Applied via .ms-input class so we can scope away from default WP styles. */
.ms-input,
.ms-form-surface input[type="text"],
.ms-form-surface input[type="email"],
.ms-form-surface input[type="tel"],
.ms-form-surface input[type="search"],
.ms-form-surface input[type="number"],
.ms-form-surface input[type="url"],
.ms-form-surface input[type="password"],
.ms-form-surface textarea,
.ms-form-surface select{
	width:100%;height:52px;padding:0 18px;
	background:#fff;color:var(--ms-ink);
	border:1.5px solid rgba(5,4,40,.10);border-radius:8px;
	font-family:inherit;font-size:15.5px;line-height:1.4;
	transition:border-color .18s ease, box-shadow .18s ease;
}
.ms-form-surface textarea{
	height:auto;min-height:120px;padding:14px 18px;line-height:1.55;
	resize:vertical;
}
.ms-form-surface input:focus,
.ms-form-surface textarea:focus,
.ms-form-surface select:focus,
.ms-input:focus{
	outline:none;
	border-color:var(--ms-accent);
	box-shadow:0 0 0 4px rgba(139,73,140,.14);
}
.ms-form-surface input:focus-visible,
.ms-form-surface textarea:focus-visible,
.ms-form-surface select:focus-visible{outline:none}

/* Labels — sit above the field with a touch more tracking for an
   architectural feel without crossing into magazine pastiche. */
.ms-field-label{
	display:block;font-size:13px;font-weight:600;
	color:var(--ms-ink);margin-bottom:8px;
	letter-spacing:.02em;
}

/* Custom radio + checkbox — `appearance: none` on the native, render via
   ::before. Static, no transforms, brand-accent fill on selected. */
.ms-form-surface input[type="radio"],
.ms-form-surface input[type="checkbox"]{
	appearance:none;-webkit-appearance:none;
	flex:0 0 20px;width:20px;height:20px;margin:0;padding:0;
	background:#fff;border:2px solid rgba(5,4,40,.30);
	cursor:pointer;
	transition:border-color .18s ease, background .18s ease;
	display:inline-grid;place-content:center;
}
.ms-form-surface input[type="radio"]{border-radius:50%}
.ms-form-surface input[type="checkbox"]{border-radius:4px}
.ms-form-surface input[type="radio"]:hover,
.ms-form-surface input[type="checkbox"]:hover{border-color:rgba(5,4,40,.55)}
.ms-form-surface input[type="radio"]:focus-visible,
.ms-form-surface input[type="checkbox"]:focus-visible{
	outline:none;border-color:var(--ms-accent);
	box-shadow:0 0 0 3px rgba(139,73,140,.18);
}
.ms-form-surface input[type="radio"]::before{
	content:'';width:10px;height:10px;border-radius:50%;
	transform:scale(0);background:var(--ms-accent);
	transition:transform .18s ease;
}
.ms-form-surface input[type="radio"]:checked{border-color:var(--ms-accent)}
.ms-form-surface input[type="radio"]:checked::before{transform:scale(1)}
.ms-form-surface input[type="checkbox"]::before{
	content:'';width:12px;height:12px;
	transform:scale(0);
	background:var(--ms-accent);
	clip-path:polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0, 43% 62%);
	transition:transform .18s ease;
}
.ms-form-surface input[type="checkbox"]:checked{border-color:var(--ms-accent);background:#fff}
.ms-form-surface input[type="checkbox"]:checked::before{transform:scale(1)}

/* Plan option cards — beige bg, transparent border, becomes accent +
   warm tint on selection. `:has(input:checked)` lights up the parent. */
.ms-plan-card{
	display:flex;align-items:flex-start;gap:14px;
	padding:16px 18px;background:var(--ms-bg);
	border:1.5px solid rgba(5,4,40,.08);border-radius:8px;
	cursor:pointer;margin-bottom:10px;
	transition:border-color .18s ease, background .18s ease;
}
.ms-plan-card:hover{border-color:rgba(5,4,40,.22)}
.ms-plan-card:has(input:checked){
	border-color:var(--ms-accent);
	background:rgba(207,167,135,.14);
}
.ms-plan-card input[type="radio"]{margin-top:3px}
.ms-plan-card-title{
	display:block;font-size:15.5px;font-weight:600;
	color:var(--ms-ink);margin-bottom:4px;
}
.ms-plan-card-sub{
	font-size:13.5px;color:var(--ms-ink-soft);line-height:1.5;
}

/* Hairline divider between form fieldsets (payment block / contact block). */
.ms-form-divider{
	border:0;border-top:1px solid rgba(207,167,135,.35);
	margin:8px 0 24px;
}

/* Reassurance panel — re-style the existing `.ms-form-reassure` from #5
   with the 4px left accent stripe so it reads as a curated callout. */
.ms-form-reassure{
	position:relative;
	margin:18px 0 22px;padding:18px 20px 18px 24px;
	background:var(--ms-bg);
	border:1px solid rgba(207,167,135,.35);
	border-left:4px solid var(--ms-accent);
	border-radius:6px;
}

/* Submit button loading state — JS sets `aria-busy="true"` + `disabled`.
   CSS dims the button + swaps the cursor; no spinner gif. */
.btn[aria-busy="true"]{
	opacity:.7;cursor:wait;
}
.btn[aria-busy="true"]:hover{transform:none}

/* Lead-magnet modal field upgrade — visible label above input, matches
   form-surface focus ring. */
.ms-modal__field span{font-size:13px;font-weight:600;letter-spacing:.02em}
.ms-modal__field input{
	border:1.5px solid rgba(5,4,40,.10);border-radius:8px;
	transition:border-color .18s ease, box-shadow .18s ease;
}
.ms-modal__field input:focus{
	outline:none;
	border-color:var(--ms-accent);
	box-shadow:0 0 0 4px rgba(139,73,140,.14);
}

/* ============================================================
   Motion utilities — scroll fade-in. Add `.ms-reveal` to any
   element to opt in; theme.js applies `.is-visible` on first
   viewport entry. Honors prefers-reduced-motion (JS sets the
   final state immediately and bails out of the observer).
   ============================================================ */
.ms-reveal{
	opacity:0;transform:translateY(20px);
	transition:opacity .6s cubic-bezier(.2,.6,.2,1), transform .6s cubic-bezier(.2,.6,.2,1);
	will-change:opacity, transform;
}
.ms-reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
	.ms-reveal{opacity:1;transform:none;transition:none}
}
/* Course archive: "Atvyksta netrukus" placeholder cards used to pad
   the 3-col grid when fewer than 3 courses are published. Signals
   "growing" rather than "empty" — important before the catalog fills out. */
.course-card--soon{
	background:var(--ms-bg-soft);border:1px dashed rgba(207,167,135,.55);
	border-radius:6px;padding:14px;
	display:flex;flex-direction:column;gap:14px;
	transition:none;
}
.course-card--soon .ci{
	aspect-ratio:4/5;border-radius:4px;background:transparent;
	display:flex;align-items:center;justify-content:center;
	color:var(--ms-accent-warm);
}
.course-card__soon-icon{display:inline-flex;align-items:center;justify-content:center;opacity:.6}
.course-card__soon-badge{
	align-self:flex-start;
	background:rgba(207,167,135,.25);color:var(--ms-ink-soft);
	font-family:'Montserrat',sans-serif;font-size:10px;font-weight:600;
	letter-spacing:.14em;text-transform:uppercase;
	padding:5px 10px;border-radius:999px;
}

/* Lead-magnet "kas viduje" preview bullets + modal styles.
   Two-step lead-magnet: bullets sit inline above a single CTA button;
   clicking the button opens the modal with the email field. Both
   surfaces share the same bullet list so the value prop is visible
   before AND while the user types. */
.lead-bullets{
	list-style:none;margin:18px 0 22px;padding:0;
	display:flex;flex-direction:column;gap:10px;
	font-size:14.5px;line-height:1.5;color:var(--ms-ink);
}
.lead-bullets li{display:flex;align-items:flex-start;gap:10px}
.lead-bullets .check, .ms-modal__bullets .check{
	display:inline-flex;align-items:center;justify-content:center;
	width:18px;height:18px;border-radius:50%;
	background:var(--ms-accent);color:#fff;
	font-size:10px;font-weight:700;line-height:1;flex:0 0 18px;margin-top:2px;
}
.ms-modal{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center}
.ms-modal[hidden]{display:none}
.ms-modal__backdrop{position:absolute;inset:0;background:rgba(5,4,40,.5);backdrop-filter:blur(2px)}
.ms-modal__panel{
	position:relative;z-index:1;
	background:var(--ms-surface);border-radius:8px;
	width:min(92vw, 460px);max-height:calc(100vh - 32px);overflow:auto;
	padding:36px 32px 32px;
	box-shadow:0 30px 70px -20px rgba(5,4,40,.4);
}
.ms-modal__close{
	position:absolute;top:14px;right:14px;
	width:36px;height:36px;border-radius:50%;
	background:var(--ms-bg);color:var(--ms-ink);
	display:inline-flex;align-items:center;justify-content:center;
	cursor:pointer;border:0;transition:background .2s;
}
.ms-modal__close:hover{background:var(--ms-bg-soft)}
.ms-modal__head h3{font-size:24px;line-height:1.2;margin:10px 0 16px;letter-spacing:-.01em}
.ms-modal__bullets{
	list-style:none;margin:0 0 22px;padding:0;
	display:flex;flex-direction:column;gap:9px;
	font-size:14px;line-height:1.5;color:var(--ms-ink);
}
.ms-modal__bullets li{display:flex;align-items:flex-start;gap:10px}
.ms-modal__form{display:flex;flex-direction:column;gap:14px}
.ms-modal__field span{display:block;font-size:13px;font-weight:600;color:var(--ms-ink);margin-bottom:6px}
.ms-modal__field input{
	width:100%;height:48px;padding:0 16px;
	border:1px solid rgba(5,4,40,.18);background:#fff;border-radius:4px;
	font-family:inherit;font-size:15px;color:var(--ms-ink);
}
.ms-modal__field input:focus{outline:none;border-color:var(--ms-accent);box-shadow:0 0 0 3px rgba(139,73,140,.12)}
.ms-modal__micro{margin:6px 0 0;font-size:12px;color:var(--ms-ink-soft);text-align:center}
.ms-modal__success{text-align:center;padding:12px 0}
.ms-modal__success-icon{
	width:54px;height:54px;border-radius:50%;
	background:var(--ms-accent);color:#fff;
	display:inline-flex;align-items:center;justify-content:center;
	font-size:24px;font-weight:700;margin:0 auto 16px;
}
.ms-modal__success h3{font-size:22px;margin:0 0 10px}
.ms-modal__success p{font-size:14.5px;line-height:1.6;color:var(--ms-ink-soft);max-width:340px;margin:0 auto}

/* Hero parallax target — JS writes transform inline each rAF tick;
   we add will-change to keep it on the GPU and skip transition so
   the position tracks scroll exactly without lag. */
@media (min-width: 900px) and (hover: hover){
	.hero-portrait{will-change:transform}
}

/* =========================================================================
   GGA PLATINUM unified selector — `gga-platinum-maratonas` product page.
   Visual layer only; backend cart translation lives in a later iteration.
   ========================================================================= */
.gga-selector{display:flex;flex-direction:column;gap:18px;max-width:560px}
.gga-selector__legend{font:600 12px/1 var(--ms-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ms-ink);margin:0 0 10px;padding:0}
.gga-selector__legend--muted{color:#7a716a}
.gga-selector__radios{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.gga-selector__months{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}

.gga-swatch{display:block;border:1px solid #e3ddd5;border-radius:14px;background:#fffaf3;padding:14px 16px;cursor:pointer;transition:border-color .15s,background-color .15s,box-shadow .15s;position:relative}
.gga-swatch:hover{border-color:#c9b896}
.gga-swatch input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.gga-swatch:has(input:checked){border-color:#3c3b3a;background:#f5ecdc;box-shadow:0 0 0 1px #3c3b3a inset}
.gga-swatch--featured .gga-swatch__badge{background:#3c3b3a;color:#fff}
.gga-swatch--locked{opacity:.6;cursor:not-allowed}
.gga-swatch--locked:hover{border-color:#e3ddd5}
.gga-swatch__body{display:flex;flex-direction:column;gap:6px}
.gga-swatch__head{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap}
.gga-swatch__title{font:600 16px/1.2 var(--ms-sans);color:var(--ms-ink)}
.gga-swatch__badge{font:600 10px/1 var(--ms-sans);letter-spacing:.12em;text-transform:uppercase;padding:5px 8px;border-radius:99px;background:#e9dfca;color:var(--ms-ink)}
.gga-swatch__badge--muted{background:#ece6dd;color:#857a6c}
.gga-swatch__sub{font:400 13px/1.5 var(--ms-sans);color:#5a544d}
.gga-swatch__price{font:600 22px/1 var(--ms-mono-num);color:var(--ms-ink)}
.gga-swatch__pricesub{font-size:13px;font-weight:400;color:#7a716a;letter-spacing:0;margin-left:4px}

.gga-selector__divider{display:flex;align-items:center;gap:12px;font:500 11px/1 var(--ms-sans);letter-spacing:.16em;text-transform:uppercase;color:#9d9384;margin:6px 0}
.gga-selector__divider::before,.gga-selector__divider::after{content:'';flex:1;height:1px;background:#e3ddd5}

.gga-month{display:block;border:1px solid #e3ddd5;border-radius:14px;background:#fff;padding:14px 16px;cursor:pointer;transition:border-color .15s,background-color .15s,box-shadow .15s;position:relative}
.gga-month:hover{border-color:#c9b896}
.gga-month input[type=checkbox]{position:absolute;top:14px;right:14px;width:20px;height:20px;accent-color:#3c3b3a}
.gga-month:has(input:checked){border-color:#3c3b3a;background:#f5ecdc;box-shadow:0 0 0 1px #3c3b3a inset}
.gga-month__body{display:flex;flex-direction:column;gap:6px;padding-right:32px}
.gga-month__head{display:flex;align-items:baseline;gap:10px;justify-content:space-between}
.gga-month__when{font:500 11px/1 var(--ms-sans);letter-spacing:.14em;text-transform:uppercase;color:#7a716a}
.gga-month__price{font:600 18px/1 var(--ms-mono-num);color:var(--ms-ink)}
.gga-month__title{font:600 17px/1.3 var(--ms-sans);color:var(--ms-ink)}
.gga-month__excerpt{font:400 13px/1.5 var(--ms-sans);color:#5a544d}
.gga-month__more{align-self:flex-start;background:none;border:0;padding:4px 0;font:500 12px/1 var(--ms-sans);color:#3c3b3a;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

.gga-empty{padding:20px;text-align:center;color:#7a716a;font-style:italic;border:1px dashed #e3ddd5;border-radius:14px}

.gga-selector__total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 16px;background:#fbf6ed;border-radius:14px;border:1px solid #efe7d8;margin-top:6px}
.gga-selector__totallabel{font:600 13px/1 var(--ms-sans);letter-spacing:.14em;text-transform:uppercase;color:#5a544d}
.gga-selector__totalvalue{font:600 28px/1 var(--ms-mono-num);color:var(--ms-ink)}

.gga-cta{width:100%;padding:18px 24px;font:600 14px/1 var(--ms-sans);letter-spacing:.14em;text-transform:uppercase;background:#3c3b3a;color:#fff;border:0;border-radius:12px;cursor:pointer;transition:background-color .15s,transform .05s}
.gga-cta:hover:not(:disabled){background:#1f1e1d}
.gga-cta:active:not(:disabled){transform:translateY(1px)}
.gga-cta:disabled{background:#c4bbab;cursor:not-allowed}

.gga-note{font:400 12px/1.5 var(--ms-sans);color:#7a716a;text-align:center;margin:8px 0 0}

/* Modal — uses native <dialog>. */
.gga-modal{border:0;border-radius:16px;padding:0;background:#fff;max-width:580px;width:90vw;max-height:85vh;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.gga-modal::backdrop{background:rgba(31,30,29,.55);backdrop-filter:blur(2px)}
.gga-modal__inner{display:flex;flex-direction:column;max-height:85vh}
.gga-modal__close{position:absolute;top:12px;right:12px;background:none;border:0;font-size:32px;line-height:1;color:#7a716a;cursor:pointer;padding:4px 12px;border-radius:8px}
.gga-modal__close:hover{background:#f5ecdc;color:var(--ms-ink)}
.gga-modal__head{padding:32px 32px 16px;border-bottom:1px solid #efe7d8}
.gga-modal__when{display:block;font:500 11px/1 var(--ms-sans);letter-spacing:.16em;text-transform:uppercase;color:#7a716a;margin-bottom:8px}
.gga-modal__title{margin:0 0 12px;font:600 28px/1.2 var(--ms-sans);letter-spacing:-.01em;color:var(--ms-ink)}
.gga-modal__price{font:600 22px/1 var(--ms-mono-num);color:var(--ms-ink)}
.gga-modal__body{padding:24px 32px 32px;overflow-y:auto;font:400 15px/1.7 var(--ms-sans);color:#3c3b3a}
.gga-modal__body p{margin:0 0 14px}
.gga-modal__body p:last-child{margin-bottom:0}

@media (max-width: 640px){
	.gga-modal{width:96vw;max-height:90vh}
	.gga-modal__head{padding:24px 22px 14px}
	.gga-modal__body{padding:20px 22px 24px}
}

/* =========================================================================
   Testimonials slider — `ms_testimonial` CPT, used on GGA + (later) others.
   ========================================================================= */
.ms-testimonials{max-width:1240px;margin:80px auto;padding:0 clamp(20px,4vw,48px);position:relative}
.ms-testimonials__head{text-align:center;margin-bottom:36px}
.ms-testimonials__eyebrow{display:inline-block;font:600 12px/1 var(--ms-sans);letter-spacing:.16em;text-transform:uppercase;color:#5f574f;margin-bottom:12px} /* darkened taupe ≈4.1:1 → ~7:1 + heavier, in line with .eyebrow */
.ms-testimonials__title{margin:0;font:600 36px/1.2 var(--ms-sans);letter-spacing:-.015em;color:var(--ms-ink)}
.ms-testimonials__track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:8px 4px 24px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.ms-testimonials__track::-webkit-scrollbar{display:none}
.ms-testimonial{flex:0 0 min(440px, 88vw);scroll-snap-align:start;background:#fffaf3;border:1px solid #efe7d8;border-radius:18px;padding:32px 28px;position:relative;display:flex;flex-direction:column;gap:22px}
.ms-testimonial__mark{position:absolute;top:14px;left:24px;font:600 80px/.6 var(--ms-sans);color:#e3ddd5;pointer-events:none}
.ms-testimonial__quote{margin:18px 0 0;padding:0;font:400 16px/1.7 var(--ms-sans);color:#3c3b3a;font-style:italic;position:relative;z-index:1}
.ms-testimonial__quote p{margin:0 0 10px}
.ms-testimonial__quote p:last-child{margin-bottom:0}
.ms-testimonial__attr{display:flex;align-items:center;gap:14px;margin-top:auto}
.ms-testimonial__photo{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:0 0 48px;background:#e3ddd5}
.ms-testimonial__photo--placeholder{display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#c9b896;font:600 18px/1 var(--ms-sans)}
.ms-testimonial__who{display:flex;flex-direction:column;gap:2px}
.ms-testimonial__name{font:600 15px/1.2 var(--ms-sans);color:var(--ms-ink)}
.ms-testimonial__role{font:400 12px/1.4 var(--ms-sans);color:#7a716a}
.ms-testimonials__controls{position:absolute;top:36px;right:clamp(20px,4vw,48px);display:flex;gap:8px}
.ms-testimonials__nav{width:44px;height:44px;border-radius:50%;border:1px solid #e3ddd5;background:#fff;color:var(--ms-ink);font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}
.ms-testimonials__nav:hover{background:#f5ecdc;border-color:#c9b896}
@media (max-width: 640px){
	.ms-testimonials__controls{position:static;justify-content:center;margin-top:18px}
	.ms-testimonials__title{font-size:28px}
}

/* Marathon as 3rd tier card — `tier--marathon` variant. */
.tier--marathon{background:linear-gradient(180deg,#fffaf3 0%,#fff 100%);border:1px solid #efe7d8}
.tier--marathon .ribbon--soft{position:absolute;top:-11px;left:50%;right:auto;transform:translateX(-50%);background:#c9b896;color:#fff;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;height:22px;padding:0 14px;line-height:22px;border-radius:999px;box-shadow:0 6px 14px rgba(201,184,150,.4);white-space:nowrap}
.tier--marathon .tier-marathon__when{display:flex;flex-direction:column;gap:6px;margin-top:-4px}
.tier--marathon .tier-marathon__eyebrow{font:600 11px/1 var(--ms-sans);letter-spacing:.14em;text-transform:uppercase;color:#5f574f} /* darkened taupe ≈4.1:1 → ~7:1 */
.tier--marathon .tier-marathon__theme{font-family:var(--ms-sans);font-weight:600;font-size:18px;line-height:1.3;color:var(--ms-ink)}
.tier--marathon .tier-marathon__excerpt{margin:0;font:400 14px/1.6 var(--ms-sans);color:#5a544d}
.tier--marathon .tier-marathon__incl{margin:auto 0 0;font:500 12px/1.4 var(--ms-sans);color:#7a716a;font-style:italic}
.tier--marathon .btn.btn-warm{background:#c9b896;color:#fff;border:0}
.tier--marathon .btn.btn-warm:hover{background:#b7a47e}
.tier--marathon.tier--soon{opacity:.75}

/* =========================================================================
   WooCommerce — single-product + loop card styling
   ========================================================================= */

/* Single product page container (from single-product.php). */
.ms-wc-single{padding:48px clamp(20px,4vw,48px) 96px;background:var(--ms-bg,#fff)}
.ms-wc-single__container{max-width:1240px;margin:0 auto}

/* WC's single-product layout. WC outputs a left gallery + right .summary.
   Default it's 48%/48% floats; we use grid to make it look right and not
   collapse the right column on the marathon product (no gallery). */
/* WC core has `.woocommerce #content div.product div.summary { float:right; width:48% }`
   which beats any selector that doesn't include `#content`. Our single-product.php
   wraps the product in <main id="content" class="ms-wc-single">, so WC's rule is
   active — override with !important on the layout-critical bits. */
.woocommerce.single-product div.product{
	display:grid !important;
	grid-template-columns:minmax(280px, 1fr) minmax(280px, 1fr);
	gap:48px;float:none !important;
}
.woocommerce #content div.product div.images,
.woocommerce-page #content div.product div.images,
.woocommerce.single-product div.product .woocommerce-product-gallery{
	width:auto !important;float:none !important;opacity:1 !important;
}
.woocommerce #content div.product div.summary,
.woocommerce-page #content div.product div.summary,
.woocommerce.single-product div.product .summary{
	width:auto !important;float:none !important;margin-bottom:0;
}
.woocommerce.single-product div.product .woocommerce-tabs,
.woocommerce.single-product div.product .related,
.woocommerce.single-product div.product .upsells{grid-column:1 / -1;margin-top:48px}

/* Product missing a gallery (e.g. GGA marathon) → single column, narrower. */
.woocommerce.single-product div.product:not(:has(.woocommerce-product-gallery img)){grid-template-columns:1fr !important;max-width:760px;margin-inline:auto}

/* Product title + price. Brand is sans-only: Poppins for the title (matches
   the homepage tier card title size), Montserrat for prices (consistent with
   the `.num` numerals used on stats / tier / offer cards). */
.woocommerce div.product .product_title{
	font:600 36px/1.2 var(--ms-sans);
	letter-spacing:-.01em;
	color:var(--ms-ink);margin:0 0 18px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
	font:600 32px/1 var(--ms-mono-num);
	color:var(--ms-ink);margin:0 0 22px;
}
.woocommerce-Price-amount{font-family:var(--ms-mono-num);font-weight:600}
.woocommerce-Price-currencySymbol{font-weight:500;margin-right:2px}
.woocommerce div.product .woocommerce-product-details__short-description{
	font:400 15px/1.7 var(--ms-sans);color:#3c3b3a;margin-bottom:24px;
}
.woocommerce div.product .product_meta{
	margin-top:24px;padding-top:18px;border-top:1px solid #efe7d8;
	font:400 12px/1.6 var(--ms-sans);color:#7a716a;
}
.woocommerce div.product .product_meta > span{display:block;margin-bottom:6px}

/* Default add-to-cart button (non-marathon products). Brand-accent pill,
   matching the homepage `.btn-solid` system. */
.woocommerce div.product form.cart{margin:0 0 24px}
/* Simple add-to-cart row: lay qty + button out with a clear gap between them.
   Scoped away from variable products (.variations_form) and the GGA selector
   (.gga-cart) so their custom layouts are untouched. */
.woocommerce div.product form.cart:not(.variations_form):not(.gga-cart){
	display:flex;align-items:center;gap:20px;flex-wrap:wrap;
}
.woocommerce .single_add_to_cart_button.button.alt:not(.gga-cta){
	background:var(--ms-accent);color:#fff;min-height:52px;padding:0 30px;
	font:600 13px/1 var(--ms-sans);letter-spacing:.12em;text-transform:uppercase;
	border:0;border-radius:999px;cursor:pointer;
	box-shadow:0 4px 14px rgba(139,73,140,.28);
	transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.woocommerce .single_add_to_cart_button.button.alt:not(.gga-cta):hover{
	background:var(--ms-accent-warm);transform:translateY(-1px);
	box-shadow:0 6px 18px rgba(139,73,140,.38);
}
/* Quantity selector — match the modern field system (soft warm fill, large
   radius, focus ring), sized to align with the add-to-cart button, with
   tabular numerals so the digit sits crisp and centred. */
/* Hidden single-purchase quantities and Woo's clearfix must not become flex spacers. */
.woocommerce div.product form.cart:not(.variations_form):not(.gga-cart)::before,
.woocommerce div.product form.cart:not(.variations_form):not(.gga-cart)::after{display:none}
.woocommerce div.product form.cart .quantity:has(>input.qty[type="hidden"]){display:none}
.woocommerce div.product form.cart div.quantity{margin:0}
.woocommerce div.product .quantity input.qty{
	width:74px;height:52px;padding:0 8px;
	border:1px solid rgba(85,41,107,.16);border-radius:12px;background:#FCFAF8;
	font:600 16px/1 var(--ms-mono-num);text-align:center;color:var(--ms-ink);
	transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.woocommerce div.product .quantity input.qty:focus{
	border-color:var(--ms-accent);background:#fff;outline:none;
	box-shadow:0 0 0 3px rgba(139,73,140,.12);
}

/* Product tabs: the brand-pill styling lives in the consolidated block further
   down (search "Product tabs — full brand restyle"). This older underline
   variant was fully overridden by it — removed to avoid two fighting blocks. */

/* Related / Upsell products header — matches the `h2` size used elsewhere
   on the homepage tier / category / course sections. */
.woocommerce .related > h2,
.woocommerce .upsells > h2{
	margin:0 0 28px;font:600 30px/1.2 var(--ms-sans);
	letter-spacing:-.01em;color:var(--ms-ink);
}

/* =========================================================================
   WooCommerce — shop archive layout (container, toolbar, pagination)
   ========================================================================= */
.ms-wc-archive{
	background:var(--ms-bg);
	padding:48px clamp(20px,4vw,48px) 96px;
}
.ms-wc-archive__container{
	max-width:var(--ms-content-max);margin:0 auto;
}
.ms-wc-archive__head h1{margin:0}

/* Full-width left-aligned heading block for archive pages. Distinct from
   `.section-head` (which is the centered marketing intro capped at 680px)
   so archive titles share the same horizontal rail as the grid / list
   that follows beneath. */
.ms-archive-head{
	max-width:none;
	text-align:left;
	margin:0 0 32px;
}
.ms-archive-head h1{margin:0}
.ms-archive-head .eyebrow{margin-bottom:14px;display:inline-block}
.ms-archive-head > p{
	margin-top:14px;color:var(--ms-ink-soft);
	font-size:16px;line-height:1.7;max-width:680px;
}

/* =========================================================================
   Blog post card — shared by the archive grid AND the single-post
   "Toliau skaityti" / "Daugiau iš tinklaraščio" sections. Rendered by
   `ms_render_blog_card()` in functions.php.
   ========================================================================= */
.ms-post-grid{
	display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;
}
.ms-post-card{
	background:#fff;border-radius:8px;overflow:hidden;
	display:flex;flex-direction:column;
	box-shadow:var(--shadow-card);
	transition:transform .25s ease, box-shadow .25s ease;
}
.ms-post-card:hover{
	transform:translateY(-3px);
	box-shadow:0 18px 32px -18px rgba(85,41,107,.18), 0 2px 6px rgba(5,4,40,.05);
}
.ms-post-card__cover{display:block;aspect-ratio:16/10;background:#e6d8d3;overflow:hidden}
.ms-post-card__cover img{
	width:100%;height:100%;object-fit:cover;display:block;
	transition:transform .55s cubic-bezier(.2,.6,.2,1);
}
.ms-post-card:hover .ms-post-card__cover img{transform:scale(1.03)}
.ms-post-card__body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.ms-post-card__date{
	font-family:var(--ms-mono-num);font-size:11.5px;font-weight:500;
	letter-spacing:.12em;color:var(--ms-ink-soft);text-transform:uppercase;
	margin-bottom:8px;
}
.ms-post-card__title{font:600 19px/1.35 var(--ms-sans);margin:0 0 12px}
.ms-post-card__title a{color:var(--ms-ink);text-decoration:none}
.ms-post-card__title a:hover{color:var(--ms-accent)}
.ms-post-card__excerpt{
	font-size:14px;color:var(--ms-ink-soft);line-height:1.6;
	margin:0 0 18px;flex:1;
}
.ms-post-card__read{
	font-size:13.5px;font-weight:500;color:var(--ms-accent);text-decoration:none;
	align-self:flex-start;
}
.ms-post-card__read:hover{text-decoration:underline}

/* =========================================================================
   Single blog post layout — breadcrumbs row + centered intro + cover +
   prose body + tag chips + two related sections at the tail.
   ========================================================================= */
.ms-single-post{background:var(--ms-bg)}
.ms-single-post__crumbs{padding-bottom:12px}
.ms-single-post__head{padding:24px 0 40px;text-align:center}
.ms-single-post__cat{
	display:inline-block;
	font-family:var(--ms-mono-num);font-size:11.5px;font-weight:600;
	letter-spacing:.18em;color:var(--ms-accent);text-transform:uppercase;
	text-decoration:none;margin-bottom:14px;
}
.ms-single-post__cat:hover{color:var(--ms-ink-soft)}
.ms-single-post__title{margin:0 0 18px;line-height:1.15}
.ms-single-post__meta{
	font-family:var(--ms-mono-num);font-size:13px;font-weight:500;
	letter-spacing:.04em;color:var(--ms-ink-soft);
}
.ms-single-post__cover{padding:0 clamp(20px,4vw,48px);margin:0 auto}
.ms-single-post__cover-img{
	width:100%;height:auto;border-radius:12px;display:block;
	box-shadow:0 18px 36px -18px rgba(85,41,107,.18);
}
.ms-single-post__body{padding:56px clamp(20px,4vw,48px) 96px}
.ms-single-post__tags{
	margin-top:48px;padding-top:24px;
	border-top:1px solid rgba(207,167,135,.30);
	display:flex;flex-wrap:wrap;gap:8px;
}
.ms-single-post__tag{
	display:inline-flex;align-items:center;padding:6px 14px;
	background:var(--ms-surface);color:var(--ms-ink-soft);
	font-size:12px;letter-spacing:.04em;text-transform:lowercase;
	border-radius:999px;text-decoration:none;
	transition:background .18s ease, color .18s ease;
}
.ms-single-post__tag:hover{background:rgba(207,167,135,.18);color:var(--ms-ink)}

.ms-related{
	padding:72px 0;background:var(--ms-surface);
	border-top:1px solid rgba(207,167,135,.30);
}
.ms-related--more{background:var(--ms-bg);border-top:0}
.ms-related__head{text-align:center;margin:0 0 40px}
.ms-related__head h2{margin:14px 0 0;font:600 28px/1.2 var(--ms-sans);letter-spacing:-.01em}
.ms-related__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:899px){.ms-related__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:599px){.ms-related__grid{grid-template-columns:1fr}}

/* =========================================================================
   Toast notifications — used by `assets/js/cart.js` (`window.msToast`).
   Stacks bottom-right; fades up on enter, fades right on exit.
   ========================================================================= */
.ms-toasts{
	position:fixed;right:24px;bottom:24px;z-index:300;
	display:flex;flex-direction:column;gap:10px;align-items:flex-end;
	pointer-events:none;
}
.ms-toast{
	display:flex;align-items:flex-start;gap:14px;
	min-width:280px;max-width:380px;
	padding:14px 18px;border-radius:10px;
	background:var(--ms-surface);color:var(--ms-ink);
	box-shadow:0 14px 32px -12px rgba(85,41,107,.22), 0 2px 6px rgba(5,4,40,.08);
	border-left:4px solid var(--ms-accent);
	font:500 14.5px/1.45 var(--ms-sans);
	pointer-events:auto;
	transform:translateY(10px);opacity:0;
	transition:transform .25s cubic-bezier(.2,.6,.2,1), opacity .25s ease;
}
.ms-toast.is-visible{transform:translateY(0);opacity:1}
.ms-toast--success{border-left-color:var(--ms-accent)}
.ms-toast--error{border-left-color:#c14a3a;background:#fff7f5}
.ms-toast--info{border-left-color:var(--ms-accent-rose)}
.ms-toast__msg{flex:1;min-width:0;word-break:break-word}
.ms-toast__close{
	flex:0 0 auto;background:none;border:0;cursor:pointer;
	width:24px;height:24px;border-radius:50%;
	color:var(--ms-ink-soft);font-size:18px;line-height:1;
	display:inline-flex;align-items:center;justify-content:center;
	transition:background .15s ease, color .15s ease;
}
.ms-toast__close:hover{background:rgba(5,4,40,.06);color:var(--ms-ink)}
@media (max-width:599px){
	.ms-toasts{right:12px;bottom:12px;left:12px;align-items:stretch}
	.ms-toast{max-width:none}
}
/* Safety net: when the quick-cart drawer is open it owns the bottom-right
   corner. Push any toast that still fires (a remove or error notice) clear of
   the drawer's action buttons so it can never cover them. On desktop that's the
   bottom-left; on mobile (drawer is near full-width) move it to the top. */
body.ms-cart-open .ms-toasts{ right:auto; left:24px; align-items:flex-start; }
@media (max-width:599px){
	body.ms-cart-open .ms-toasts{ left:12px; right:12px; top:12px; bottom:auto; align-items:stretch; }
}

/* =========================================================================
   Quick-cart drawer — slides in from the right after add-to-cart.
   ========================================================================= */
.ms-quick-cart[hidden]{display:none}
.ms-quick-cart{
	position:fixed;inset:0;z-index:200;
	display:flex;justify-content:flex-end;
	opacity:0;pointer-events:none;
	transition:opacity .3s ease;
}
.ms-quick-cart.is-open{opacity:1;pointer-events:auto}
.ms-quick-cart__backdrop{
	position:absolute;inset:0;
	background:rgba(5,4,40,.42);backdrop-filter:blur(2px);
}
.ms-quick-cart__panel{
	position:relative;z-index:1;
	width:min(420px, 92vw);height:100%;
	background:var(--ms-surface);color:var(--ms-ink);
	display:flex;flex-direction:column;
	box-shadow:-18px 0 40px -12px rgba(5,4,40,.25);
	transform:translateX(100%);
	transition:transform .32s cubic-bezier(.2,.6,.2,1);
	overflow:hidden;
}
.ms-quick-cart.is-open .ms-quick-cart__panel{transform:translateX(0)}
.ms-quick-cart__head{
	padding:22px 24px 18px;border-bottom:1px solid rgba(207,167,135,.30);
	display:flex;flex-direction:column;gap:4px;position:relative;
}
.ms-quick-cart__title{font:600 22px/1.2 var(--ms-sans);letter-spacing:-.005em;margin:6px 0 0;color:var(--ms-ink)}
.ms-quick-cart__close{
	position:absolute;top:14px;right:14px;
	width:36px;height:36px;border-radius:50%;
	background:var(--ms-bg);color:var(--ms-ink);border:0;cursor:pointer;
	display:inline-flex;align-items:center;justify-content:center;
	font-size:20px;line-height:1;
	transition:background .15s ease;
}
.ms-quick-cart__close:hover{background:var(--ms-bg-soft)}
.ms-quick-cart__body{flex:1;display:flex;flex-direction:column;overflow:hidden}
.ms-quick-cart__items{
	list-style:none;margin:0;padding:16px 24px;flex:1;overflow-y:auto;
	display:flex;flex-direction:column;gap:14px;
}
.ms-quick-cart__item{
	display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;
	padding-bottom:14px;border-bottom:1px solid rgba(207,167,135,.20);
}
.ms-quick-cart__item:last-child{border-bottom:0}
.ms-quick-cart__thumb{
	width:56px;height:56px;border-radius:6px;object-fit:cover;background:var(--ms-bg);
	aspect-ratio:1;flex-shrink:0;
}
/* Main cart: square, cover-fit product thumbnails so a placeholder / odd-ratio
   image never stretches with visible alt text. */
.woocommerce-cart table.cart td.product-thumbnail img,
.woocommerce table.cart td.product-thumbnail img{
	width:72px;height:72px;aspect-ratio:1;object-fit:cover;border-radius:6px;background:var(--ms-bg);
	font-size:0; /* hides broken-image alt text if a file is ever missing */
}
.ms-quick-cart__name{font:500 14.5px/1.35 var(--ms-sans);color:var(--ms-ink);margin-bottom:2px}
.ms-quick-cart__qty-price{font:500 13px/1.4 var(--ms-mono-num);color:var(--ms-ink-soft)}
.ms-quick-cart__remove{
	width:28px;height:28px;border-radius:50%;border:0;background:transparent;
	color:var(--ms-ink-soft);font-size:18px;line-height:1;cursor:pointer;
	display:inline-flex;align-items:center;justify-content:center;
	transition:background .15s ease, color .15s ease;
}
.ms-quick-cart__remove:hover{background:rgba(193,74,58,.10);color:#c14a3a}
.ms-quick-cart__empty{
	margin:auto;padding:48px 24px;text-align:center;
	color:var(--ms-ink-soft);font-style:italic;
}
.ms-quick-cart__totals{
	display:flex;justify-content:space-between;align-items:baseline;
	padding:18px 24px;border-top:1px solid rgba(207,167,135,.30);
	font:500 14px/1 var(--ms-sans);color:var(--ms-ink-soft);
}
.ms-quick-cart__totals strong{
	font:600 18px/1 var(--ms-mono-num);color:var(--ms-ink);
}
.ms-quick-cart__actions{
	display:grid;grid-template-columns:1fr 1.4fr;gap:10px;
	padding:0 24px 24px;
}
.ms-quick-cart__actions .btn{height:46px}
body.ms-cart-open{overflow:hidden}

/* Adding-to-cart spinner on the loop button — WC adds the .loading class
   during AJAX request; show a subtle opacity dim so the click feels
   acknowledged. */
.woocommerce ul.products li.product .button.loading,
.woocommerce div.product .single_add_to_cart_button.loading{
	opacity:.7;pointer-events:none;
}
.woocommerce ul.products li.product .button.added::after{display:none} /* hide WC default "✓" since toast already confirms */

/* Toolbar — result count on the left, sort dropdown on the right. */
.ms-wc-archive__toolbar{
	position:relative;
	display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
	gap:18px;margin:0 0 28px;min-height:54px;
}
/* WC drops an (usually empty) notices wrapper in here as a flex sibling — its
   gap shifts the centred result count off-centre by gap/2. Hide it when empty. */
.ms-wc-archive__toolbar .woocommerce-notices-wrapper:empty{display:none}
.woocommerce-result-count{
	margin:0;font-family:var(--ms-mono-num);text-align:center;
	font-size:12.5px;letter-spacing:.06em;color:var(--ms-ink-soft);text-transform:uppercase;
	/* Absolutely centre on the full toolbar (both axes) so a stray WC notices
	   sibling can't nudge it off the sort dropdown's centre line. */
	position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap;
}
/* Pin ordering to the right (out of flow) so the result count centres on the
   FULL toolbar width rather than being shoved off-centre by the dropdown. */
.woocommerce-ordering{margin:0;position:absolute;right:0;top:50%;transform:translateY(-50%)}
@media (max-width:680px){
	.ms-wc-archive__toolbar{flex-direction:column}
	.woocommerce-ordering{position:static;transform:none}
	.woocommerce-result-count{position:static;transform:none}
}
.woocommerce-ordering select{
	height:42px;padding:0 38px 0 18px;
	background:#fff;color:var(--ms-ink);
	border:1px solid rgba(5,4,40,.18);border-radius:999px;
	font:500 13.5px/1 var(--ms-sans);
	cursor:pointer;
	appearance:none;-webkit-appearance:none;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23050428' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
	background-repeat:no-repeat;background-position:right 14px center;background-size:12px;
	transition:border-color .18s ease, box-shadow .18s ease;
}
.woocommerce-ordering select:hover{border-color:var(--ms-accent)}
.woocommerce-ordering select:focus{
	outline:none;border-color:var(--ms-accent);
	box-shadow:0 0 0 3px rgba(139,73,140,.15);
}

/* Pagination — brand styling matching `.ms-pagination`. */
.woocommerce nav.woocommerce-pagination{margin:40px 0 0;text-align:center}
.woocommerce nav.woocommerce-pagination ul{
	display:inline-flex;gap:6px;align-items:center;
	border:0;list-style:none;padding:0;margin:0;
}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:38px;height:38px;padding:0 10px;border-radius:8px;
	font-family:var(--ms-mono-num);font-size:13.5px;color:var(--ms-ink);
	background:transparent;
	transition:background .18s ease, color .18s ease;
}
.woocommerce nav.woocommerce-pagination ul li a:hover{background:rgba(207,167,135,.18);color:var(--ms-accent)}
.woocommerce nav.woocommerce-pagination ul li span.current{
	background:var(--ms-accent);color:#fff;font-weight:600;
}

/* =========================================================================
   WooCommerce — product loop card (shop + related). Single canonical
   definition; replaces two overlapping blocks that previously fought.
   ========================================================================= */
.woocommerce ul.products,
.woocommerce-page ul.products{
	display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
	list-style:none;padding:0;margin:0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
	position:relative;
	width:auto !important;float:none !important;margin:0 !important;clear:none !important;
	background:#fff;border:1px solid rgba(207,167,135,.20);border-radius:18px;
	padding:12px 12px 20px;
	display:flex;flex-direction:column;gap:10px;
	box-shadow:0 1px 2px rgba(5,4,40,.04);
	transition:transform .3s cubic-bezier(.2,.6,.2,1), box-shadow .3s ease, border-color .3s ease;
}
.woocommerce ul.products li.product:hover{
	transform:translateY(-4px);
	box-shadow:0 2px 6px rgba(5,4,40,.05), 0 24px 44px -24px rgba(85,41,107,.34);
	border-color:rgba(139,73,140,.26);
}
.woocommerce ul.products li.product a{text-decoration:none;color:inherit}

/* Card image — square 1:1 so product photos and the per-product SVG
   placeholders read consistently across categories. The aspect-ratio
   is held by the wrapping anchor (`.woocommerce-LoopProduct-link` or
   the bare `<a>`) so a broken/missing/slow `<img>` can never stretch
   the card out: the box stays 1:1 and the image fills it. (Setting
   aspect-ratio on the <img> itself loses against natural dimensions
   when the src is broken — wrapper-based is bulletproof.) */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
	display:block;color:inherit;text-decoration:none;
}
/* Only the media wrapper is the square, clipped image tile — so the title +
   price that follow it render as normal text below the image. */
.woocommerce ul.products li.product .ms-loop-media{
	display:block;
	aspect-ratio:1/1;
	overflow:hidden;
	border-radius:12px;
	background:var(--ms-bg);
	position:relative;
	margin-bottom:14px;
}
.woocommerce ul.products li.product .ms-loop-media img,
.woocommerce ul.products li.product .ms-loop-media .woocommerce-placeholder{
	width:100% !important;height:100% !important;
	object-fit:cover;display:block;
	border-radius:12px;background:var(--ms-bg);
	margin:0;
	transition:transform .7s cubic-bezier(.2,.6,.2,1);
}
.woocommerce ul.products li.product:hover .ms-loop-media img{transform:scale(1.06)}
@media (prefers-reduced-motion:reduce){
	.woocommerce ul.products li.product:hover .ms-loop-media img{transform:none}
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font:500 16px/1.35 var(--ms-sans);color:var(--ms-ink);
	margin:2px 0 0;padding:0 2px;
	min-height:2.7em;                 /* keeps card heights aligned regardless of title length */
}
.woocommerce ul.products li.product .price{
	font:700 18px/1 var(--ms-mono-num);
	color:var(--ms-deeper);
	margin:0;padding:0 2px;
	display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
}
.woocommerce ul.products li.product .price del{
	opacity:.5;text-decoration:line-through;font-weight:400;font-size:14px;color:var(--ms-ink-soft);
}
.woocommerce ul.products li.product .price ins{
	background:none;text-decoration:none;color:var(--ms-accent);font-weight:700;
}

/* Button — `margin-top:auto` pushes it to the bottom of the flex column,
   so every card's CTA lines up horizontally even when titles wrap to
   different heights. Inline-flex for proper vertical centring. */
.woocommerce ul.products li.product .button{
	align-self:stretch;
	margin-top:auto;
	display:inline-flex;align-items:center;justify-content:center;
	height:44px;padding:0 18px;
	background:var(--ms-accent);color:#fff;
	font:600 12px/1 var(--ms-sans);letter-spacing:.14em;text-transform:uppercase;
	border:0;border-radius:999px;text-decoration:none;
	box-shadow:0 6px 16px -6px rgba(139,73,140,.45);
	transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.woocommerce ul.products li.product .button:hover{
	background:var(--ms-accent-warm);transform:translateY(-1px);
	box-shadow:0 12px 24px -8px rgba(139,73,140,.5);
}
.woocommerce ul.products li.product .added_to_cart{display:none}

/* Variable product summary: put the module selector right under the title, and
   give the (variation) price → add-to-cart button some breathing room. Scoped to
   variable products so simple products keep the normal order. */
.product-type-variable div.summary{display:flex;flex-direction:column}
.product-type-variable div.summary > *{order:6}
.product-type-variable div.summary .product_title{order:1}
.product-type-variable div.summary form.variations_form{order:2}
.product-type-variable div.summary .woocommerce-product-details__short-description{order:3}
/* Hide the redundant range price (e.g. "350 € – 1362 €"): the exact price for
   the chosen module set shows inside the form on selection, and the product
   image already carries a "nuo …" from-price. */
.product-type-variable div.summary > p.price{display:none}
/* Breathing room between the (variation) price and the add-to-cart button. */
.product-type-variable .woocommerce-variation .price{display:block;margin:0 0 4px}
.product-type-variable .woocommerce-variation-add-to-cart{margin-top:18px}

/* Kill WooCommerce's default pseudo-elements on the product-tabs row — the
   clearfix ::before/::after and the stray hairline under the tabs. Scoped to
   `.woocommerce-tabs ul.tabs` only, so clearfixes elsewhere are untouched. */
.woocommerce #content div.product .woocommerce-tabs ul.tabs::before,
.woocommerce #content div.product .woocommerce-tabs ul.tabs::after,
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs::before,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs::after,
.woocommerce-page div.product .woocommerce-tabs ul.tabs::before,
.woocommerce-page div.product .woocommerce-tabs ul.tabs::after{
	content:none;display:none;border:0;
}

/* Responsive grid */
@media (max-width: 1079px){ .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(3,1fr)} }
@media (max-width: 767px) { .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:repeat(2,1fr);gap:16px} }
@media (max-width: 480px) { .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr} }

/* ---- WC sale badge ("Akcija!") — pill anchored top-left of the image.
   `width:auto + display:inline-flex` keeps it hugging the label so it
   reads as a tag, not a full-width banner across the card. */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale{
	position:absolute;top:18px;left:18px;right:auto;
	display:inline-flex;align-items:center;justify-content:center;
	width:auto;max-width:fit-content;
	min-height:24px;padding:4px 12px;margin:0;
	background:var(--ms-accent-rose);color:#fff;
	font:600 11px/1 var(--ms-sans);letter-spacing:.10em;text-transform:uppercase;
	border-radius:999px;border:0;
	box-shadow:0 4px 10px rgba(207,167,135,.32);
	z-index:2;
}
/* Single-product page badge: same look, slightly more padding. */
.woocommerce div.product span.onsale{
	top:18px;left:18px;min-height:28px;padding:6px 14px;font-size:11.5px;
}

/* =========================================================================
   WooCommerce — single product page polish (rounded gallery, brand tabs)
   ========================================================================= */
.woocommerce div.product .woocommerce-product-gallery__image{
	border-radius:14px;overflow:hidden;background:var(--ms-bg);
	box-shadow:0 14px 32px -16px rgba(85,41,107,.18);
}
.woocommerce div.product .woocommerce-product-gallery__image a,
.woocommerce div.product .woocommerce-product-gallery__image img{
	display:block;width:100%;height:auto;border-radius:14px;
}
.woocommerce div.product .flex-control-thumbs li img{border-radius:8px;margin-top:14px}

/* ---- "Klientės dažnai perka kartu" cross-sell (single-product summary) ---- */
.ms-xsell{margin-top:30px;padding-top:24px;border-top:1px solid rgba(207,167,135,.30)}
.ms-xsell__title{font:600 12px/1 var(--ms-mono-num);letter-spacing:.14em;text-transform:uppercase;color:var(--ms-ink-soft);margin:0 0 16px}
.ms-xsell__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.ms-xsell__item{display:flex;align-items:center;gap:14px}
.ms-xsell__link{display:flex;align-items:center;gap:14px;flex:1;min-width:0;text-decoration:none;color:inherit}
.ms-xsell__media{flex:0 0 auto;width:58px;height:58px;border-radius:12px;overflow:hidden;background:var(--ms-bg)}
.ms-xsell__media img{width:58px;height:58px;object-fit:cover;display:block}
.ms-xsell__meta{display:flex;flex-direction:column;gap:3px;min-width:0}
.ms-xsell__name{font:500 14px/1.3 var(--ms-sans);color:var(--ms-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .18s ease}
.ms-xsell__link:hover .ms-xsell__name{color:var(--ms-accent)}
.ms-xsell__price{font:600 13.5px/1 var(--ms-mono-num);color:var(--ms-accent)}
.ms-xsell__price del{color:var(--ms-ink-soft);font-weight:400;margin-right:6px}
.ms-xsell__price ins{text-decoration:none;background:none}
.ms-xsell__add,.ms-xsell__view{
	flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
	height:38px;padding:0 15px;border-radius:999px;
	font:600 12px/1 var(--ms-sans);letter-spacing:.02em;white-space:nowrap;
	border:1px solid var(--ms-accent);color:var(--ms-accent);background:transparent;
	text-decoration:none;cursor:pointer;box-shadow:none;
	transition:background .18s ease,color .18s ease;
}
.ms-xsell__add:hover,.ms-xsell__view:hover{background:var(--ms-accent);color:#fff;transform:none}
/* B-6's loading spinner is white (for solid buttons); on this outline button
   recolour it to the accent so it stays visible. */
.ms-xsell__add.loading::after{border-color:rgba(139,73,140,.30);border-top-color:var(--ms-accent)}
@media (max-width:480px){
	.ms-xsell__add,.ms-xsell__view{height:36px;padding:0 12px}
}

/* Product tabs — full brand restyle so the "Description" panel matches
   the magazine vibe of the rest of the site. */
.woocommerce div.product .woocommerce-tabs{
	margin-top:48px;padding:32px 0 0;
	border-top:1px solid rgba(207,167,135,.35);
}
.woocommerce div.product .woocommerce-tabs ul.tabs{
	border:0;padding:0;margin:0 0 28px;list-style:none;
	display:flex;flex-wrap:wrap;gap:6px;
	background:transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
/* Include `li.active` — WC ships `li.active{background:#fff}` which (being
   .active-specific) beat a plain `li` reset and left a white square peeking
   behind the rounded pill. Force every li transparent + flat. */
.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{
	background:transparent;border:0;border-radius:0;padding:0;margin:0;box-shadow:none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;content:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
	display:inline-flex;align-items:center;
	padding:10px 18px;border-radius:999px;
	background:#fff;border:1px solid rgba(207,167,135,.45);
	font:600 12px/1 var(--ms-sans);letter-spacing:.10em;text-transform:uppercase;
	color:var(--ms-ink-soft);text-decoration:none;
	transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{
	background:rgba(207,167,135,.18);color:var(--ms-accent);
	border-color:rgba(207,167,135,.7);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
	background:var(--ms-accent);color:#fff;border-color:var(--ms-accent);
}
.woocommerce div.product .woocommerce-tabs .panel{
	padding:24px 28px;background:#fff;border-radius:14px;
	border:1px solid rgba(207,167,135,.30);
	box-shadow:0 1px 2px rgba(5,4,40,.04);
	margin:0;
}
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child{
	font:600 22px/1.2 var(--ms-sans);letter-spacing:-.005em;
	color:var(--ms-ink);margin:0 0 16px;
}
.woocommerce div.product .woocommerce-tabs .panel p{
	font-size:15.5px;line-height:1.75;color:var(--ms-ink-soft);
	margin:0 0 14px;
}
.woocommerce div.product .woocommerce-tabs .panel p:last-child{margin-bottom:0}
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs .panel h3{
	margin:24px 0 12px;font:600 17px/1.3 var(--ms-sans);color:var(--ms-ink);
}
.woocommerce div.product .woocommerce-tabs .panel ul,
.woocommerce div.product .woocommerce-tabs .panel ol{
	margin:0 0 16px;padding-left:22px;
	font-size:15px;line-height:1.7;color:var(--ms-ink-soft);
}
.woocommerce div.product .woocommerce-tabs .panel li{margin-bottom:6px}

/* ---- Product reviews — modernise the WP/WC comment form to match the site.
   (My `.form-row` field styles don't reach `.comment-form`, so the inputs were
   raw browser defaults — 2px inset borders, square corners.) ---- */
.woocommerce #reviews #comments > h2,
.woocommerce #reviews .woocommerce-Reviews-title{
	font:600 22px/1.2 var(--ms-sans);letter-spacing:-.005em;color:var(--ms-ink);margin:0 0 18px;
}
.woocommerce #reviews .woocommerce-noreviews{color:var(--ms-ink-soft);font-size:15px;margin:0 0 24px;padding:0}
.woocommerce #review_form .comment-reply-title{
	display:block;font:600 17px/1.35 var(--ms-sans);color:var(--ms-ink);margin:0 0 8px;
}
.woocommerce #review_form .comment-notes{color:var(--ms-ink-soft);font-size:14px;margin:0 0 22px}
.woocommerce #review_form .comment-form > p,
.woocommerce #review_form .comment-form .comment-form-rating{margin:0 0 20px}
.woocommerce #review_form .comment-form label{
	display:block;font-size:13.5px;font-weight:600;color:var(--ms-ink);margin:0 0 8px;letter-spacing:.005em;
}
.woocommerce #review_form .comment-form input[type=text],
.woocommerce #review_form .comment-form input[type=email],
.woocommerce #review_form .comment-form textarea{
	width:100%;max-width:460px;height:54px;padding:0 18px;
	border:1px solid rgba(85,41,107,.16);border-radius:12px;background:#FCFAF8;
	font-family:'Poppins',sans-serif;font-size:15px;color:var(--ms-ink);outline:none;
	transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.woocommerce #review_form .comment-form textarea{
	max-width:100%;height:auto;min-height:130px;padding:16px 18px;line-height:1.6;resize:vertical;
}
.woocommerce #review_form .comment-form input[type=text]:focus,
.woocommerce #review_form .comment-form input[type=email]:focus,
.woocommerce #review_form .comment-form textarea:focus{
	border-color:var(--ms-accent);background:#fff;box-shadow:0 0 0 3px rgba(139,73,140,.12);
}
/* Rating stars in brand colours. */
.woocommerce #review_form .comment-form-rating .stars a{color:var(--ms-accent-rose)}
.woocommerce #review_form .comment-form-rating .stars a:hover,
.woocommerce #review_form .comment-form-rating .stars a.active,
.woocommerce #review_form .comment-form-rating .stars.selected a:not(.active){color:var(--ms-accent)}
/* Cookies-consent checkbox row. */
.woocommerce #review_form .comment-form-cookies-consent{display:flex;align-items:flex-start;gap:10px}
.woocommerce #review_form .comment-form-cookies-consent input{margin-top:3px;flex:0 0 auto}
.woocommerce #review_form .comment-form-cookies-consent label{
	display:inline;font-weight:400;font-size:13.5px;color:var(--ms-ink-soft);line-height:1.5;margin:0;
}
.woocommerce #review_form .form-submit{margin:4px 0 0}

/* =========================================================================
   WooCommerce Blocks — cart / checkout / "New in store" grid styling
   The Cart page in modern WC renders via wp-block-woocommerce-* blocks. The
   empty-cart slot ships a `.wc-block-grid` showing recent products; without
   the rules below it inherits raw block defaults and looks unrelated to the
   rest of the catalog.
   ========================================================================= */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout{
	max-width:var(--ms-content-max);margin:0 auto;
	padding:48px clamp(20px,4vw,48px) 96px;
}
.wp-block-woocommerce-empty-cart-block{text-align:center;max-width:520px;margin:0 auto;padding:48px 0}
.wp-block-woocommerce-empty-cart-block h2{
	font:600 26px/1.2 var(--ms-sans);letter-spacing:-.01em;
	color:var(--ms-ink);margin:32px 0 16px;
}
/* Hide the "New in store" recommendation grid + its companion heading and
   separator. The empty-cart state stays focused on the crying-face icon +
   "Your cart is currently empty!" message. The user reaches the catalog
   via the nav "Parduotuvė" link one click away. */
.wp-block-woocommerce-empty-cart-block .wp-block-product-new,
.wp-block-woocommerce-empty-cart-block .wp-block-product-new + *,
.wp-block-woocommerce-empty-cart-block .wp-block-separator + .wp-block-heading,
.wp-block-woocommerce-empty-cart-block .wp-block-separator{display:none}

/* Cart-empty `New in store` grid → matches the shop loop card. */
.wc-block-grid__products{
	display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
	list-style:none;padding:0;margin:0;
}
.wc-block-grid__products::before,
.wc-block-grid__products::after{display:none}
.wc-block-grid__product{
	background:#fff;border:1px solid rgba(207,167,135,.30);border-radius:14px;
	padding:14px 14px 18px;
	display:flex !important;flex-direction:column;gap:10px;
	transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
	margin:0 !important;
	width:auto !important;
	text-align:left;
	position:relative;
}
.wc-block-grid__product:hover{
	transform:translateY(-2px);
	box-shadow:0 14px 28px -14px rgba(85,41,107,.18);
	border-color:rgba(207,167,135,.60);
}
/* The anchor wraps onsale + image + title — make it a block + flex column
   so the image area doesn't collapse and the title sits below the image. */
.wc-block-grid__product-link{
	display:flex;flex-direction:column;gap:10px;
	text-decoration:none;color:inherit;
}
.wc-block-grid__product-image{
	width:100%;aspect-ratio:1/1;overflow:hidden;
	border-radius:8px;background:var(--ms-bg);
	margin:0;display:block;
}
.wc-block-grid__product-image img{
	width:100% !important;height:100% !important;
	object-fit:cover;display:block;margin:0;
}
.wc-block-grid__product-title{
	font:500 16px/1.35 var(--ms-sans);color:var(--ms-ink);
	margin:4px 0 0;min-height:2.7em;
}
.wc-block-grid__product-price{
	font:600 17px/1 var(--ms-mono-num);color:var(--ms-ink);
	margin:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
}
.wc-block-grid__product-price del{opacity:.55;font-weight:400;font-size:14px}
.wc-block-grid__product-price ins{background:none;text-decoration:none;color:var(--ms-accent);font-weight:700}
.wc-block-grid__product-onsale{
	position:absolute;top:18px;left:18px;right:auto;
	display:inline-flex !important;align-items:center;justify-content:center;
	width:auto !important;max-width:fit-content;
	min-height:24px;padding:4px 12px;
	background:var(--ms-accent-rose);color:#fff;
	font:600 11px/1 var(--ms-sans);letter-spacing:.10em;text-transform:uppercase;
	border-radius:999px;border:0;
	box-shadow:0 4px 10px rgba(207,167,135,.32);
	z-index:2;
}
.wc-block-grid__product-add-to-cart{
	margin-top:auto;align-self:stretch;
}
.wc-block-grid__product-add-to-cart .wp-block-button__link,
.wc-block-grid__product .wp-block-button__link{
	display:inline-flex !important;align-items:center;justify-content:center;
	width:auto;height:40px;padding:0 18px;
	background:var(--ms-accent) !important;color:#fff !important;
	font:600 12px/1 var(--ms-sans) !important;letter-spacing:.12em;text-transform:uppercase;
	border:0;border-radius:999px !important;text-decoration:none;
	box-shadow:0 4px 12px rgba(139,73,140,.20);
	transition:background .2s ease, transform .2s ease;
}
.wc-block-grid__product .wp-block-button__link:hover{
	background:var(--ms-accent-warm) !important;transform:translateY(-1px);
}

@media (max-width: 1079px){ .wc-block-grid__products{grid-template-columns:repeat(3,1fr)} }
@media (max-width: 767px) { .wc-block-grid__products{grid-template-columns:repeat(2,1fr);gap:16px} }
@media (max-width: 480px) { .wc-block-grid__products{grid-template-columns:1fr} }

@media (max-width: 900px){
	.woocommerce.single-product div.product{grid-template-columns:1fr;gap:32px}
}
@media (max-width: 480px){
	.woocommerce ul.products{grid-template-columns:1fr}
	.woocommerce div.product .product_title{font-size:28px}
}

/* Keep the translated mobile drawer and carousel tracks inside the viewport. */
html,body{overflow-x:clip}
.mobile-nav-panel:not(.open){visibility:hidden}
.nav-item:has(#ms-nav-dd-pro){display:flex;align-items:center;gap:3px}
.nav-item:has(#ms-nav-dd-pro)>button{padding-inline:4px}
.live-training-copy h3{margin-top:32px}
.live-training-copy li{margin-bottom:8px}
.ms-basic-programme{margin-top:24px;padding:20px;border:1px solid var(--ms-line);border-radius:12px}

/* Latest corrections: membership choices and separate live training descriptions. */
.gga-swatch:has(input:focus-visible){outline:3px solid var(--ms-accent);outline-offset:3px}
.live-training-details{margin:16px 0;border:1px solid rgba(85,41,107,.16);border-radius:18px;background:#fff;overflow:hidden}
.live-training-details summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;font-family:var(--ms-sans);font-weight:600;font-size:clamp(17px,2.2vw,22px);line-height:1.4;color:var(--ms-ink);cursor:pointer;list-style:none}
.live-training-details summary::-webkit-details-marker{display:none}
.live-training-details summary::after{content:'+';flex-shrink:0;font-size:28px;color:var(--ms-accent)}
.live-training-details[open] summary::after{content:'−'}
.live-training-details summary:focus-visible{outline:3px solid var(--ms-accent);outline-offset:-4px}
.live-training-details__body{padding:0 24px 24px}
.live-training-details__body ul{padding-left:24px}
.live-training-details__body li{margin-bottom:10px}
.live-training-details__body h3{margin-top:28px}
@media(max-width:600px){.live-training-details summary{padding:20px}.live-training-details__body{padding:0 20px 20px}}

/* Keep the coupon entry above billing, with a clearly visible action. */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 20px;
  padding: 22px 26px;
  border: 2px solid var(--ms-ink, #332b35);
  border-radius: 12px;
  background: #f7eee7;
  color: #332b35;
  font-size: 17px;
  font-weight: 600;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none; }
.woocommerce-checkout .woocommerce-form-coupon-toggle a.showcoupon {
  display: inline-block;
  margin-left: auto;
  padding: 12px 18px;
  border-radius: 8px;
  background: #332b35;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle a.showcoupon:hover { background: #514353; }
.woocommerce-checkout .woocommerce-form-coupon-toggle a.showcoupon:focus-visible { outline: 3px solid #84634c; outline-offset: 4px; }
@media (max-width: 600px) {
  .woocommerce-checkout .woocommerce-form-coupon-toggle a.showcoupon { margin-left: 0; }
}

/* Gift voucher fields use the same readable controls as checkout. */
.woocommerce #pwgc-purchase-container input.pwgc-input-text,
.woocommerce #pwgc-purchase-container textarea,
.woocommerce #pwgc-redeem-gift-card-number{
 box-sizing:border-box;width:100%;min-height:52px;padding:14px 16px;
 border:1px solid rgba(85,41,107,.16);border-radius:12px;background:#FCFAF8;
 color:var(--ms-ink);font:400 16px/1.5 var(--ms-sans);
}
.woocommerce #pwgc-purchase-container textarea{min-height:110px;resize:vertical}
.woocommerce #pwgc-purchase-container .pwgc-label{display:block;margin-bottom:7px}
.woocommerce #pwgc-purchase-container input:focus,
.woocommerce #pwgc-purchase-container textarea:focus,
.woocommerce #pwgc-redeem-gift-card-number:focus{
 outline:none;border-color:var(--ms-accent);box-shadow:0 0 0 3px rgba(139,73,140,.12);
}

/* Scheduled lessons keep a readable opening date next to their title. */
.ms-lesson-release{display:block;margin-top:5px;color:var(--ms-accent);font-size:12px;line-height:1.6;font-weight:500;opacity:1}

/* A calm, useful purchase confirmation, including gateway-provided details. */
.woocommerce-order-received article:has(.ms-order-welcome) > .section-head{display:none}
.woocommerce-order-received .woocommerce-order{max-width:1050px;margin:0 auto}
.ms-order-welcome{text-align:center;padding:40px 24px 38px}
.ms-order-welcome__icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;background:#eee4ef;color:var(--ms-accent)}
.ms-order-welcome__icon svg{width:30px;height:30px}
.ms-order-welcome .eyebrow{color:var(--ms-ink-soft);font-size:11px;letter-spacing:.18em}
.ms-order-welcome h1{font-size:clamp(28px,4vw,44px);line-height:1.15;max-width:720px;margin:14px auto 18px;letter-spacing:-.025em}
.ms-order-welcome p{max-width:610px;margin:0 auto;color:var(--ms-ink-soft);line-height:1.75}
.ms-order-welcome__actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:26px 0 0}
.ms-order-welcome .ms-order-test-note{font-size:12px;margin-top:22px}
.woocommerce-order-received .woocommerce ul.order_details{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:24px;margin:10px 0 32px;padding:26px;background:#fff;border:1px solid var(--ms-line);border-radius:18px}
.woocommerce-order-received .woocommerce ul.order_details::before,
.woocommerce-order-received .woocommerce ul.order_details::after{display:none}
.woocommerce-order-received .woocommerce ul.order_details li{float:none;margin:0;padding:0;border:0;font-size:11px;letter-spacing:.06em;line-height:1.6;color:var(--ms-ink-soft);min-width:0}
.woocommerce-order-received .woocommerce ul.order_details li strong{font:500 16px/1.5 var(--ms-sans);letter-spacing:0;text-transform:none;color:var(--ms-ink);margin-top:6px;overflow-wrap:anywhere}
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details{padding:28px;background:#fff;border:1px solid var(--ms-line);border-radius:18px;margin:0 0 24px}
.woocommerce-order-received .woocommerce-order h2{font-size:23px;line-height:1.3;margin:0 0 22px}
.woocommerce-order-received .woocommerce table.shop_table{border:0;border-collapse:collapse;margin:0}
.woocommerce-order-received .woocommerce table.shop_table th,
.woocommerce-order-received .woocommerce table.shop_table td{padding:16px 8px;border-color:var(--ms-line);line-height:1.6}
.woocommerce-order-received .woocommerce table.shop_table thead th{font-size:11px;letter-spacing:.08em;color:var(--ms-ink-soft)}
.woocommerce-order-received .woocommerce table.shop_table td:last-child,
.woocommerce-order-received .woocommerce table.shop_table th:last-child{text-align:right}
.woocommerce-order-received .woocommerce-customer-details address{border:0;padding:0;line-height:1.8}
.woocommerce-order-received .woocommerce-thankyou-order-failed{padding:24px;border:1px solid #d6a8aa;border-radius:16px;background:#fff4f3;line-height:1.7}
.woocommerce-order-received .woocommerce-thankyou-order-failed-actions{display:flex;gap:12px;flex-wrap:wrap;border:0;background:none;padding:0;margin-bottom:30px}
@media(max-width:600px){
 .ms-order-welcome{padding:16px 0 30px}
 .ms-order-welcome__actions{flex-direction:column}
 .woocommerce-order-received .woocommerce ul.order_details{grid-template-columns:1fr 1fr;padding:20px;gap:20px}
 .woocommerce-order-received .woocommerce-order-details,
 .woocommerce-order-received .woocommerce-customer-details{padding:20px 16px}
 .woocommerce-order-received .woocommerce table.shop_table th,
 .woocommerce-order-received .woocommerce table.shop_table td{padding:12px 4px;font-size:13px}
}

/* Membership buyers see their personal bot link before order details. */
.ms-order-welcome--membership{padding-top:8px}
.ms-order-welcome--membership .ms-order-welcome__icon{display:none}
.ms-order-welcome--membership h1{font-size:clamp(27px,3.2vw,36px);max-width:850px}
.ms-order-telegram{max-width:720px;margin:22px auto 0;padding:26px;background:#f5edf7;border:2px solid var(--ms-accent);border-radius:20px;box-shadow:0 10px 30px rgba(85,41,107,.08)}
.woocommerce-order-received .ms-order-telegram h2{font-size:23px;margin:0 0 10px}
.ms-order-telegram p{font-size:15px;line-height:1.6}
.ms-order-telegram .ms-order-telegram__button{display:inline-flex;gap:12px;margin-top:20px;min-height:56px;padding:15px 26px;font-size:16px;box-shadow:0 5px 18px rgba(85,41,107,.22);white-space:normal}
.ms-order-telegram small{display:block;margin-top:14px;color:var(--ms-ink-soft);font-size:12px;line-height:1.5}
.ms-order-welcome--membership .ms-order-welcome__actions{margin-top:20px}
@media(max-width:600px){
 .ms-order-telegram{padding:22px 16px}
 .ms-order-telegram .ms-order-telegram__button{width:100%;padding-inline:12px;font-size:14px}
}
