/* Public presentation only. No admin or form-behaviour dependencies. */
:root {
 --background:40 30% 98%; --foreground:260 9% 20%;
 --primary:268 20% 39%; --primary-foreground:0 0% 100%;
 --secondary:267 27% 94%; --secondary-foreground:260 13% 28%;
 --muted-foreground:260 6% 40%; --accent:270 19% 43%;
 --accent-foreground:260 13% 28%; --border:270 14% 87%; --ring:268 20% 39%;
 --mf-ink:#302e37; --mf-muted:#655f6d; --mf-purple:#675079;
 --mf-paper:#fcfaf7; --mf-lilac:#f0ebf4; --mf-line:#e4dce8;
}
html { scroll-padding-top:100px; }
body { background:var(--mf-paper); color:var(--mf-ink); -webkit-font-smoothing:antialiased; }
img { max-width:100%; }
:focus-visible { outline:3px solid var(--mf-purple); outline-offset:5px; }
h1,h2,h3 { text-wrap:balance; overflow-wrap:break-word; }
p,li,a { overflow-wrap:break-word; }
#root .container { width:100%; max-width:1200px; padding-inline:clamp(20px,4vw,56px); }
#root section { padding-block:clamp(64px,8vw,112px); scroll-margin-top:90px; }
#root h1 { font-size:clamp(2.25rem,4.7vw,4.65rem); line-height:1.13; font-weight:400; letter-spacing:-.035em; }
#root h2 { font-size:clamp(1.9rem,3.2vw,3rem); line-height:1.22; font-weight:400; letter-spacing:-.025em; }
#root h3 { font-weight:400; line-height:1.35; }
#root p { line-height:1.8; }
#root .grid > * { min-width:0; }
#root header { background:rgb(252 250 247 / 96%); border-bottom:1px solid var(--mf-line); box-shadow:none; backdrop-filter:blur(14px); }
#root header a { font-size:13px; }
#root header button { min-width:44px; min-height:44px; }
#root a[href="#contact"] { border-radius:8px; box-shadow:none; }
#root .mf-hero { background:var(--mf-paper); padding-top:clamp(104px,10vw,148px); }
.mf-hero h1 svg,.mf-hero > .absolute { display:none; }
.mf-hero .grid { gap:clamp(32px,5vw,76px); }
.mf-hero .grid > :first-child { text-align:left; }
.mf-hero .grid > :first-child > p { margin-left:0; }
.mf-hero .grid > :first-child > div { justify-content:flex-start; }
.mf-hero .grid > :first-child > div:first-child { background:transparent; border:0; padding:0; box-shadow:none; letter-spacing:.09em; font-size:12px; }
.mf-hero .grid > :last-child > .relative { transform:none; border:0; border-radius:120px 12px 12px 12px; box-shadow:none; max-width:460px; }
.mf-hero a[href*="invite.viber"] { color:var(--mf-purple); background:transparent; border:1px solid var(--mf-line); box-shadow:none; border-radius:8px; font-size:13px; }
#about { background:white; border-top:1px solid var(--mf-line); }
#about .grid > .relative > div:first-child { transform:none; border:0; border-radius:12px; box-shadow:none; }
#about img { aspect-ratio:4 / 5; object-fit:cover; }
#about .grid .grid > div { border:0; border-top:1px solid var(--mf-line); border-radius:0; box-shadow:none; padding:20px 8px; transform:none; }
#about .text-lg { font-size:16px; }
#process { background:var(--mf-paper); }
#process .mf-process-step { background:transparent; border:0; border-top:1px solid var(--mf-line); border-radius:0; box-shadow:none; padding:32px 24px 12px 0; text-align:left; transform:none; }
.mf-process-step::before { content:attr(data-step); display:block; color:var(--mf-purple); font:400 48px/1.2 Georgia,serif; margin-bottom:28px; }
.mf-process-step > div { display:none; }
/* Keep the original soft cards and coloured icons, as requested. */
#benefits { --secondary:330 40% 96%; background:#f7f2f5; }
#root #benefits h2,#root #benefits h3 { font-weight:700; }
#root #benefits h2 { font-size:clamp(1.875rem,3vw,2.25rem); }
#root #benefits .container,#root .mf-voucher .container { max-width:1536px; padding-inline:16px; }
#pricing { background:var(--mf-paper); }
#pricing .grid > .group { border:1px solid var(--mf-line); box-shadow:none; border-radius:12px; transform:none; }
#pricing .grid > .group > div { padding:clamp(22px,3vw,36px); }
#testimonials { background:white; }
#testimonials .grid > div { box-shadow:none; border:1px solid var(--mf-line); border-radius:12px; transform:none; }
#testimonials blockquote { font-size:16px; line-height:1.9; }
/* Rose gift section: retain white copy, with an explicitly contrasting panel. */
#root .mf-voucher { --primary:335 35% 55%; --secondary:330 40% 96%; --accent:25 60% 75%; background:#b26489; color:#fff; }
#root .mf-voucher .container > div { background:#995171; }
#root .mf-voucher h2 { color:#fff; font-weight:700; text-wrap:wrap; }
#root .mf-voucher p { color:#fff; line-height:1.6; }
#root .mf-voucher a[href="#contact"] { background:#fff; color:#995171; border-radius:999px; box-shadow:0 8px 20px #61304726; }
#root .mf-voucher [class*="bg-accent"][class*="rounded-full"] { color:#573626; }
#contact { background:var(--mf-lilac); }
#contact .max-w-3xl { background:transparent; border:0; box-shadow:none; border-radius:0; }
#contact a[href^="viber:"] { background:var(--mf-purple); border-radius:8px; box-shadow:none; min-height:56px; }
#root footer { background:var(--mf-paper); border-top:1px solid var(--mf-line); }
#root footer a { display:inline-flex; align-items:center; min-height:44px; }
@media (min-width:640px) { #benefits .grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1024px) { #benefits .grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:767px) {
 #root section { padding-block:56px; }
 #root .mf-hero { padding-top:100px; }
 .mf-hero .grid > :last-child { margin-top:12px; }
 .mf-hero .grid > :last-child > .relative { max-width:380px; border-radius:80px 10px 10px 10px; }
 #process .grid { grid-template-columns:1fr; }
 #process .mf-process-step { padding:24px 0; }
 .mf-process-step::before { font-size:36px; margin-bottom:16px; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto !important; }
 *,*::before,*::after { animation:none !important; transition:none !important; }
}

/* Facts and audience sections derive their copy from the existing CMS. */
#root .mf-trust { padding-block:28px; background:var(--mf-lilac); }
.mf-trust dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:0; }
.mf-trust dl > div { padding:8px 24px; border-left:1px solid #d7cddd; }
.mf-trust dt,.mf-eyebrow { color:var(--mf-purple); font-size:11px; text-transform:uppercase; letter-spacing:.16em; font-weight:600; }
.mf-trust dd { margin:10px 0 0; font-size:16px; color:var(--mf-ink); }
.mf-audience { background:#f3eee9; }
.mf-audience > .container { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.mf-audience h2 { margin-top:18px; max-width:400px; }
.mf-audience p { font-size:18px; color:var(--mf-muted); margin:0 0 28px; }
.mf-audience ul { display:flex; flex-wrap:wrap; gap:12px; list-style:none; padding:0; }
.mf-audience li { padding:10px 16px; border:1px solid #d9cfdc; border-radius:6px; font-size:13px; }
#root footer { color:var(--mf-ink); }
#root footer .text-background { color:var(--mf-ink); }
#root footer .text-muted-foreground { color:var(--mf-muted); }
#root footer .border-t { border-color:var(--mf-line); }
#root footer li a { min-width:44px; }
#root header > .container > a { font-size:24px; }
#root header a[href="/#contact"] { min-height:44px; border-radius:8px; box-shadow:none; }
#root header nav { gap:clamp(14px,2vw,26px); }
#root header nav a { display:inline-flex; align-items:center; min-height:44px; }
.mf-skip-link { position:fixed; left:16px; top:-100px; z-index:1000; padding:12px 20px; background:white; color:var(--mf-purple); border:2px solid; }
.mf-skip-link:focus { top:16px; }
[role="dialog"] { max-width:calc(100vw - 20px); }
[role="dialog"] a { min-height:44px; display:flex; align-items:center; }
[role="dialog"] > button { min-width:44px; min-height:44px; }
.mf-mobile-viber.mf-mobile-viber--visible { background:var(--mf-purple); border-radius:10px; box-shadow:0 8px 24px #302e3726; z-index:40; }
body:has([role="dialog"][data-state="open"]) .mf-mobile-viber { display:none; }

/* The lead magnet keeps its original cream/peach design in public-overrides.css. */
#root #free-guide h2 { font-size:clamp(2rem,4vw,3rem); font-weight:700; line-height:1.15; letter-spacing:normal; text-wrap:wrap; }
.mf-guide__button { min-height:52px; white-space:normal; }
/* Moderated reviews retain the new visual treatment. */
.mf-review-eyebrow { color:var(--mf-purple); }
.mf-review-submit { background:var(--mf-purple); color:white; box-shadow:none; border-radius:8px; min-height:52px; white-space:normal; }
.mf-review-submit:hover:not(:disabled) { background:#523e62; transform:none; }
.mf-review-form-panel { background:var(--mf-lilac); border-color:var(--mf-line); border-radius:12px; box-shadow:none; }
.mf-review-card,.mf-review-form { border-color:var(--mf-line); border-radius:10px; box-shadow:none; }
.mf-review-card__avatar,.mf-review-form-copy li > span { background:var(--mf-lilac); color:var(--mf-purple); }
.mf-review-consent,.mf-review-form-copy li,.mf-review-field small { color:var(--mf-muted); }
.mf-review-consent a { color:var(--mf-purple); }
.mf-review-field input,.mf-review-field textarea { background:var(--mf-paper); border-color:var(--mf-line); border-radius:8px; color:var(--mf-ink); }
.mf-review-field input:focus,.mf-review-field textarea:focus { border-color:var(--mf-purple); box-shadow:0 0 0 3px #67507920; }
.mf-review-stars label { min-width:40px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
.mf-review-consent input { accent-color:var(--mf-purple); }
.mf-price-saving { color:var(--mf-purple); }
.mf-price-eur { font-weight:500; font-size:clamp(2.25rem,4vw,3rem); }
#pricing li { align-items:flex-start; line-height:1.6; }
#pricing a[href="#contact"] { white-space:normal; height:auto; min-height:48px; padding:12px; }

/* Standalone PDF form: ids, fields and submission code are unchanged. */
body:has(#leadForm) { background:var(--mf-paper); color:var(--mf-ink); }
body:has(#leadForm) .card { border:1px solid var(--mf-line); box-shadow:0 20px 60px #342b4310; border-radius:16px; }
body:has(#leadForm) h1 { font-weight:400; line-height:1.2; letter-spacing:-.025em; }
body:has(#leadForm) .highlight,body:has(#leadForm) .eyebrow { color:var(--mf-purple); background:none; -webkit-text-fill-color:currentColor; }
body:has(#leadForm) .guide-cover { background:var(--mf-lilac); border-color:var(--mf-line); color:var(--mf-ink); transform:none; }
body:has(#leadForm) .cover-brand,body:has(#leadForm) .cover-days { color:var(--mf-purple); }
body:has(#leadForm) .preview { background:var(--mf-lilac); border:1px solid var(--mf-line); box-shadow:none; border-radius:12px; }
body:has(#leadForm) .form-box { border:1px solid var(--mf-line); box-shadow:none; border-radius:12px; }
body:has(#leadForm) input:not([type="checkbox"]) { border-radius:8px; border-color:var(--mf-line); min-height:52px; }
body:has(#leadForm) input:focus { border-color:var(--mf-purple); box-shadow:0 0 0 3px #67507920; }
body:has(#leadForm) input[type="checkbox"] { accent-color:var(--mf-purple); }
body:has(#leadForm) #submitButton { background:var(--mf-purple); color:white; border-radius:8px; box-shadow:none; min-height:56px; white-space:normal; }
body:has(#leadForm) #submitButton::before { display:none; }
body:has(#leadForm) .subtitle,body:has(#leadForm) .small { color:var(--mf-muted); }
body:has(#leadForm) .benefit-bullet { background:#ded3e7; color:#4e3b60; }
body:has(#leadForm) .checkbox-label a { color:var(--mf-purple); }
body:has(#leadForm) .checkbox-label { padding-block:4px; }
body:has(#leadForm) input::placeholder { color:var(--mf-muted); opacity:1; }
body:has(#leadForm) .footer-note,body:has(#leadForm) .trust-badge span,
body:has(#leadForm) .checkbox-label,body:has(#leadForm) .cover-detail { color:var(--mf-muted); }
body:has(#leadForm) .guide-cover::after { border-color:#c9b8d5; }
body:has(#leadForm) .viber-link { background:var(--mf-purple); border-radius:8px; min-height:48px; align-items:center; }
body:has(#leadForm) #msg { border-radius:8px; }

/* VIP keeps all original offer content and pricing. */
.mf-vip main > div { background:var(--mf-paper); padding-top:128px; }
.mf-vip main .shadow-2xl { box-shadow:0 16px 48px #302e3710; border:1px solid var(--mf-line); border-radius:16px; }
.mf-vip main .blur { display:none; }
.mf-vip main .bg-primary .text-accent { color:#e6dced; }
.mf-vip main a[data-mf-vip-contact] { font-size:16px; white-space:normal; height:auto; min-height:56px; padding:16px; border-radius:8px; box-shadow:none; }
.mf-legal { background:var(--mf-paper); color:var(--mf-ink); }
.mf-legal main,.mf-legal > .container { border-color:var(--mf-line); border-radius:12px; box-shadow:none; }
.mf-legal h2,.mf-legal a { color:var(--mf-purple); }
@media (max-width:1023px) {
 #root header nav { display:none; }
 #root header button[aria-haspopup="dialog"] { display:inline-flex; }
}
@media (max-width:900px) {
 body:has(#leadForm) .lead-header,body:has(#leadForm) .download-grid { display:flex; flex-direction:column; }
 body:has(#leadForm) .lead-copy,body:has(#leadForm) .form-box,body:has(#leadForm) .preview { width:100%; min-width:0; }
}
@media (max-width:767px) {
 .mf-trust dl { grid-template-columns:1fr; gap:8px; }
 .mf-trust dl > div { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:12px 0; border-left:0; border-bottom:1px solid #d7cddd; }
 .mf-trust dd { margin:0; font-size:14px; text-align:right; }
 .mf-trust dt { font-size:10px; }
 .mf-audience > .container { grid-template-columns:1fr; gap:28px; }
 .mf-audience p { font-size:16px; }
 .mf-guide__inner { grid-template-columns:1fr; }
 .mf-review-stars { gap:0; }
 .mf-review-stars label { min-width:36px; }
 #contact .p-6 { padding:16px 0; }
 #root footer .grid { gap:32px; }
 .mf-vip main > div { padding-top:104px; }
}
@media (max-width:359px) {
 #root .container { padding-inline:16px; }
 #root h1 { font-size:2.1rem; }
 .mf-hero a { font-size:14px; }
 .mf-review-form-panel,.mf-review-form { padding:12px; }
}
