/* Design style: editorial (big serif headline, magazine-style grid: salons, florists, cafés). */

body.style-editorial {
    --cv-ground: #FBFAF7; --cv-panel: #FFFFFF; --cv-rule: #1A1A1A;
    --color-primary: var(--cv-user-primary, #9F1239); --color-primary-hover: #7F0E2D; --color-primary-dark: #7F0E2D;
    --color-primary-light: #F0ECE3; --color-primary-rgb: 159, 18, 57;
    --color-text: #1A1A1A; --color-text-muted: #545454; --color-background: #FBFAF7; --color-background-alt: #F0ECE3;
    --color-surface: #FFFFFF; --color-border: #D9D4C9;
    --color-secondary: #4C0519; --color-secondary-hover: #3B0414; --color-secondary-light: var(--color-primary-light); /* the shared CTA banner fades into this */
    --font-heading: 'DM Serif Display', Georgia, serif; --font-body: 'DM Sans', system-ui, sans-serif;
    --radius-md: 0; --radius-lg: 0; --radius-xl: 0; --radius-full: 999px;
    font-family: var(--font-body); background: var(--cv-ground);
}
[data-theme="dark"] body.style-editorial { --cv-ground: #141414; --cv-panel: #1F1F1F; --cv-rule: #F5F3EE; --color-text: #F5F3EE; --color-text-muted: #C2C0BA; --color-background: #141414; --color-background-alt: #1F1F1F; --color-surface: #1F1F1F; --color-border: #3A3A3A; --color-primary: var(--cv-user-primary, #FDA4AF); --color-primary-hover: #FECDD3; --color-primary-light: #262124; --color-on-primary: var(--cv-user-on-primary, #141414); }

.style-editorial h1, .style-editorial h2, .style-editorial h3, .style-editorial .site-logo-text { font-family: var(--font-heading); font-weight: 400; letter-spacing: -.01em; }
.style-editorial .site-logo-text { color: var(--color-text); -webkit-text-fill-color: currentColor; background: none; font-size: 1.6rem; }
.style-editorial .site-header { background: var(--cv-ground); border-bottom: 2px solid var(--cv-rule); }
.style-editorial .btn { border-radius: 0; font-weight: 500; min-height: 48px; letter-spacing: .02em; }
.style-editorial .btn-primary { background: var(--color-text); border-color: var(--color-text); color: var(--color-background); }
.style-editorial .btn-primary:hover { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-on-primary, #fff); }
.style-editorial .btn-secondary { background: transparent; color: var(--color-text); border: 0; border-bottom: 2px solid var(--color-primary); border-radius: 0; padding-inline: 0; min-width: 0; }

/* Hero: the headline runs across the page, words and photo side by side beneath it */
.cv-hero--editorial { padding: calc(var(--header-height) + var(--space-10)) 0 var(--space-16); }
.cv-hero--editorial .cv-hero__grid { gap: var(--space-8); align-items: end; }
.cv-hero--editorial .cv-hero__title { font-size: clamp(2.8rem, 8.4vw, 7rem); line-height: .96; letter-spacing: -.02em; }
.cv-hero--editorial .cv-hero__accent { font-style: italic; color: var(--color-primary); }
.cv-hero--editorial .cv-hero__sub { padding-top: var(--space-4); border-top: 2px solid var(--cv-rule); }
.cv-hero--editorial .cv-hero__media { aspect-ratio: 3 / 4; max-height: 640px; }
@media (min-width: 900px) {
    .cv-hero--editorial .cv-hero__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
    .cv-hero--editorial.cv-hero--noimg .cv-hero__grid { grid-template-columns: 1fr; }
}

.style-editorial .section { padding-block: var(--space-16); }
.cv-services .section-title { font-size: clamp(2.2rem, 5vw, 3.6rem); }
.cv-list { counter-reset: cv-n; }
.cv-list li { counter-increment: cv-n; }
.cv-list__row { grid-template-columns: 3.2rem minmax(0, 1fr) auto; grid-template-areas: "num name price" "num text text"; padding: var(--space-5) 0; border-top: 1px solid var(--cv-rule); }
.cv-list__row::before { content: counter(cv-n, decimal-leading-zero); grid-area: num; font-family: var(--font-heading); font-size: 1.6rem; line-height: 1; color: var(--color-primary); }
.cv-list__name { font-family: var(--font-heading); font-weight: 400; font-size: 1.6rem; line-height: 1.1; }
.cv-list__price { font-weight: 500; color: var(--color-text); }
.cv-review { background: var(--color-text); color: var(--color-background); }
.cv-review__stars { color: var(--color-primary); }
[data-theme="dark"] .cv-review { background: var(--cv-panel); color: var(--color-text); }
.cv-review__quote { font-family: var(--font-heading); font-style: italic; font-size: clamp(1.8rem, 4.4vw, 3rem); line-height: 1.15; }
.cv-review .cv-review__stars { color: #FDA4AF; }
