/*
Theme Name: LIZ Astrologie
Description: Botanische Mondästhetik und Lilac Atelier; gemeinsame native WordPress-Inhalte.
Version: 1.1.2
Requires at least: 6.3
Requires PHP: 8.0
Text Domain: liz-astrologie
License: GNU General Public License v2 or later
*/
@font-face { font-family:'Cormorant Garamond'; src:url(assets/fonts/cormorantgaramond-latin.woff2) format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Instrument Serif'; src:url(assets/fonts/instrumentserif-latin.woff2) format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
:root { --ink:#29182c; --rose:#efd8df; --lilac:#e7dded; --gold:#c59b61; --paper:#fbf0f1; --display:'Cormorant Garamond',Georgia,serif; --body:Arial,Helvetica,sans-serif; --gutter:24px; --copy:640px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--paper); font:17px/1.5 var(--body); }
h1,h2,h3,h4,p { margin:0; }
h1,h2,h3 { font:400 1em/1.05 var(--display); }
a { color:inherit; text-underline-offset:5px; }
a:focus-visible,button:focus-visible { outline:3px solid currentColor; outline-offset:5px; }
img { max-width:100%; height:auto; }
button { font:inherit; cursor:pointer; }
.skip-link { position:fixed; top:-100px; left:20px; padding:10px; background:var(--paper); color:var(--ink); z-index:1000; }
.skip-link:focus { top:10px; }
.liz-page { position:relative; }
.liz-page>.wp-block-group { margin-block:0; }
.liz-page p,.liz-page h1,.liz-page h2,.liz-page h3,.liz-page h4 { overflow-wrap:break-word; }
.liz-decor { display:block; pointer-events:none; user-select:none; object-fit:cover; }
/* The small and middle layouts have a real header row. Opening the menu grows it. */
.liz-header { position:relative; z-index:10; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px; padding:12px var(--gutter); background:var(--ink); }
/* Original alpha bounds: x29..951, y34..386 in 992x397 pixels.
   Translate the whole image to align visible left edge and optical vertical centre. */
.liz-logo { --logo-width:230px; display:block; width:var(--logo-width); max-width:100%; min-width:0; text-decoration:none; }
.liz-logo img { display:block; width:100%; height:auto; transform:translate(-2.9234%,-3.0227%); }
.liz-menu-toggle:not([hidden]) { display:block; border:1px solid var(--gold); background:var(--ink); color:var(--paper); padding:9px 13px; border-radius:4px; }
.liz-header nav { grid-column:1/-1; }
.liz-header:has(.liz-menu-toggle:not([hidden])) nav { display:none; }
.liz-header:has(.liz-menu-toggle:not([hidden])) nav.is-open { display:block; }
.liz-menu { list-style:none; display:flex; flex-direction:column; gap:8px; padding:8px 0; margin:0; font-size:16px; }
.liz-menu a { display:block; padding:8px 0; text-decoration:none; }
.liz-menu li:last-child a { border:1px solid var(--gold); border-radius:24px; padding:10px 26px; width:max-content; }
/* Content-driven hero; media is its own grid row, following copy at every text size. */
.liz-hero { position:relative; isolation:isolate; display:grid; background:#241528; }
.liz-hero-copy { order:1; width:100%; max-width:calc(var(--copy) + 2 * var(--gutter)); margin-inline:auto; padding:28px var(--gutter) 0; position:relative; z-index:2; }
.liz-eyebrow { font-size:11px; letter-spacing:3px; line-height:1.5; margin-bottom:15px; }
.liz-hero h1 { font-size:clamp(46px,9.5vw,62px); letter-spacing:-1.5px; line-height:1.02; }
.liz-subtitle { font-size:18px; margin-top:20px; }
.liz-cta { margin-top:28px; }
.liz-button { display:inline-flex; align-items:center; justify-content:space-between; gap:16px; width:249px; max-width:100%; min-height:49px; text-decoration:none; border-radius:10px; background:#ad738b; color:#241528; padding:12px 24px; font-size:16px; line-height:1.4; }
.liz-button span { font-size:22px; flex:none; }
.liz-page .liz-hero > .liz-hero-media { order:2; position:relative; margin-top:28px; }
.liz-botanical .liz-hero-art { width:100%; aspect-ratio:16/10; object-fit:cover; object-position:right center; }
.liz-botanical .liz-hero::after { content:''; order:3; height:48px; margin-top:-48px; transform:translateY(1px); position:relative; z-index:3; background:var(--rose); clip-path:url(#liz-hero-wave); pointer-events:none; }
/* Both Reading blocks share one solid rose surface. Only decorative art is clipped. */
.liz-intro { position:relative; background:var(--rose); color:var(--ink); padding:38px var(--gutter) 28px 64px; }
.liz-intro h2 { font-size:clamp(43px,8.8vw,62px); letter-spacing:-1.5px; }
.liz-about { margin-top:24px; font-size:17px; line-height:1.5; }
.liz-about p+p { margin-top:16px; }
.liz-intro-art { position:absolute; top:24px; bottom:0; left:0; width:48px; overflow:hidden; pointer-events:none; }
.liz-sprig { position:absolute; width:120px; max-width:none; left:-70px; top:0; height:auto; }
.liz-readings { position:relative; padding:0 var(--gutter) 36px; background:var(--rose); color:var(--ink); }
.liz-offers { counter-reset:offer; }
.liz-offer { position:relative; counter-increment:offer; }
.liz-offer::before { content:counter(offer,decimal-leading-zero); font:italic 36px/1 var(--display); color:#876033; }
.liz-botanical .liz-offer { display:grid; grid-template-columns:42px minmax(0,1fr) 24px; align-items:center; gap:10px; padding:26px 0; border-bottom:1px solid #be9b83; }
.liz-botanical .liz-offer:last-child { border-bottom:0; }
.liz-botanical .liz-offer h3 { font-size:clamp(25px,5.5vw,32px); line-height:1.15; }
.liz-botanical .liz-offer>p:not(.liz-offer-link) { grid-column:2; font-size:17px; }
.liz-botanical .liz-offer-link { grid-column:3; grid-row:1; font-size:0; }
.liz-botanical .liz-offer-link a { position:absolute; inset:0; }
.liz-botanical .liz-offer-link span { font-size:25px; position:absolute; right:0; top:50%; transform:translateY(-50%); color:#876033; }
.liz-botanical .liz-readings::after { content:''; position:absolute; z-index:3; height:48px; left:0; right:0; bottom:-47px; background:var(--rose); clip-path:url(#liz-reading-wave); pointer-events:none; }
/* The macro photograph is one bounded row; all following mobile copy is on aubergine. */
.liz-closing { position:relative; isolation:isolate; background:var(--ink); }
.liz-closing-media { position:relative; aspect-ratio:2.4; }
.liz-macro { width:100%; height:100%; object-position:left center; }
.liz-closing-copy,.liz-process { width:calc(100% - 2 * var(--gutter)); max-width:var(--copy); margin-inline:auto; }
.liz-closing-copy { padding-top:32px; }
.liz-closing h2 { font-size:clamp(46px,8vw,62px); letter-spacing:-1px; }
.liz-closing-copy h2::after { content:''; display:block; width:64px; border-top:2px solid var(--gold); margin-top:22px; }
.liz-closing-copy p { margin-top:22px; font-size:17px; }
.liz-process { padding:28px 0 48px; margin-top:32px; border-top:1px solid var(--gold); }
.liz-process h3 { font-size:clamp(29px,5.5vw,36px); }
.liz-steps { display:grid; gap:28px; margin-top:32px; }
.liz-step { display:grid; grid-template-columns:56px minmax(0,1fr); column-gap:18px; align-items:start; }
.liz-step::before { content:''; grid-column:1; grid-row:1/3; border:1px solid var(--gold); width:56px; height:56px; border-radius:50%; }
.liz-step h4 { grid-column:2; font:400 23px/1.15 var(--display); }
.liz-step p { grid-column:2; font-size:16px; line-height:1.5; margin-top:8px; }
/* Lilac shares the same content flow, with an independent arch and decorative layer. */
.liz-lilac { --display:'Instrument Serif',Georgia,serif; --ink:#201024; background:var(--lilac); color:var(--ink); }
.liz-lilac .liz-header,.liz-lilac .liz-hero { background:var(--lilac); }
/* Give the original cream lettering a readable surface on the light alternative. */
.liz-lilac .liz-logo { background:var(--ink); border-radius:4px; }
.liz-lilac .liz-menu li:last-child a { border-radius:0; background:var(--ink); color:var(--paper); }
.liz-lilac .liz-eyebrow { color:#775932; }
.liz-lilac .liz-hero h1 { font-size:clamp(58px,12vw,80px); letter-spacing:-2px; }
.liz-lilac .liz-subtitle { font-size:23px; line-height:1.35; }
.liz-lilac .liz-button { width:268px; border-radius:0; border:1px solid var(--gold); background:var(--ink); color:var(--paper); }
.liz-lilac .liz-hero-media { width:100%; max-width:760px; margin-inline:auto; }
.liz-hero-frame { position:relative; width:84%; max-width:520px; margin-inline:auto; aspect-ratio:4/5; border-radius:50% 50% 0 0; overflow:hidden; }
.liz-lilac .liz-hero-art { width:100%; height:100%; object-fit:cover; object-position:center; }
.liz-fabric { position:absolute; right:0; bottom:0; width:100%; height:auto; }
.liz-lilac .liz-hero-media::after { content:''; position:absolute; left:2%; top:4%; width:45px; height:45px; background:var(--gold); clip-path:polygon(50% 0,52% 43%,76% 24%,57% 47%,100% 50%,57% 53%,76% 76%,52% 57%,50% 100%,48% 57%,24% 76%,43% 53%,0 50%,43% 47%,24% 24%,48% 43%); pointer-events:none; }
.liz-lilac .liz-intro h2 { font-size:clamp(56px,12vw,80px); }
.liz-lilac .liz-about { border-top:1px solid var(--gold); padding-top:24px; }
.liz-lilac .liz-about h3 { font-size:40px; margin-bottom:16px; }
.liz-lilac .liz-about a,.liz-lilac .liz-offer-link a { display:inline-block; border-bottom:1px solid #876033; text-decoration:none; padding-bottom:4px; }
.liz-lilac .liz-about a span,.liz-lilac .liz-offer-link span { color:#876033; margin-left:16px; }
.liz-lilac .liz-readings { padding:40px var(--gutter); background:var(--lilac); }
.liz-lilac .liz-readings>h2 { font-size:clamp(44px,9vw,64px); letter-spacing:-.3px; margin-bottom:28px; }
.liz-lilac .liz-offer { padding:24px 0; border-top:1px solid var(--gold); }
.liz-lilac .liz-offer::before { content:counter(offer,upper-roman); display:block; font-style:normal; font-size:40px; margin-bottom:12px; }
.liz-lilac .liz-offer h3 { font:400 32px/1.1 'Cormorant Garamond',Georgia,serif; }
.liz-lilac .liz-offer p { margin-top:16px; font-size:17px; }
.liz-lilac .liz-closing { background:var(--rose); }
.liz-contact { padding:44px var(--gutter); background:var(--rose); }
.liz-contact h2 { font-size:46px; margin-bottom:20px; }
.liz-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px; padding:28px var(--gutter); font-size:14px; letter-spacing:1px; }
.liz-footer a { text-decoration:none; }
.liz-lilac .liz-footer { border-top:1px solid #cdbcae; }
.liz-prose { max-width:800px; min-height:70vh; padding:48px 24px 80px; margin:auto; }
.liz-prose h1 { font-size:52px; margin-bottom:30px; }
.liz-prose p { margin-bottom:20px; }
/* 601–1099: larger type and pictures, bounded reading measure, same safe flow. */
@media (min-width:601px) and (max-width:1099px) {
 :root { --gutter:40px; }
 .liz-header { padding-inline:max(40px,calc((100% - 720px)/2)); }
 .liz-hero-copy { padding-top:40px; }
 .liz-hero h1 { font-size:72px; }
 .liz-subtitle { font-size:20px; }
 .liz-botanical .liz-hero-art { aspect-ratio:16/9; }
 .liz-intro { padding:48px max(40px,calc((100% - 640px)/2)) 32px; }
 .liz-intro-art { width:max(24px,calc((100% - 680px)/2)); }
 .liz-intro h2 { font-size:66px; }
 .liz-readings { padding:0 max(40px,calc((100% - 640px)/2)) 48px; }
 .liz-closing-media { aspect-ratio:3; }
 .liz-lilac .liz-hero h1 { font-size:96px; }
 .liz-lilac .liz-subtitle { font-size:27px; }
 .liz-lilac .liz-intro h2 { font-size:94px; }
 .liz-lilac .liz-readings,.liz-contact { padding:48px max(40px,calc((100% - 640px)/2)); }
 .liz-lilac .liz-readings>h2 { font-size:68px; }
}
/* 1100+: retain the desktop composition inside a bounded 1440px stage.
   Background sections and waves still span the viewport; only copy/photo coordinates are bounded. */
@media (min-width:1100px) {
 :root { --gutter:max(6%,calc((100% - 1267px)/2)); --edge:max(7.9%,calc((100% - 1212px)/2)); }
 .liz-header { position:absolute; inset:0 0 auto; display:flex; justify-content:space-between; min-height:104px; padding:6px var(--gutter) 6px var(--edge); background:transparent; }
 .liz-logo { --logo-width:240px; flex:none; }
 .liz-menu-toggle:not([hidden]) { display:none; }
 .liz-header:has(.liz-menu-toggle:not([hidden])) nav { display:block; }
 .liz-menu { flex-direction:row; align-items:center; gap:35px; padding:0; font-size:14px; }
 .liz-menu li:last-child a { min-width:124px; text-align:center; }
 .liz-hero { min-height:640px; }
 .liz-hero-copy { max-width:1440px; padding:174px 7.9% 169px; }
 .liz-hero-copy>* { max-width:510px; }
 .liz-hero h1 { font-size:74px; line-height:69px; letter-spacing:-2.6px; }
 .liz-hero h1::first-line { font-size:78px; }
 .liz-subtitle { font-size:20px; margin-top:19px; }
 .liz-cta { margin-top:29px; }
 .liz-page .liz-hero > .liz-hero-media { position:absolute; inset:16px 0 0; width:min(100%,1440px); margin:0 auto; z-index:0; }
 /* Fade only the photographic layer; the moon stays within the fully opaque centre.
    Eased alpha stops absorb the bright left edge without a visible band.
    Percentages follow the existing image width; mobile/tablet stay unchanged. */
 .liz-botanical .liz-hero-media {
  mask-image:linear-gradient(to right,
   transparent 0%,rgba(0,0,0,.043) 2.25%,rgba(0,0,0,.156) 4.5%,
   rgba(0,0,0,.5) 9%,rgba(0,0,0,.844) 13.5%,rgba(0,0,0,.957) 15.75%,#000 18%,
   #000 88%,rgba(0,0,0,.957) 89.5%,rgba(0,0,0,.844) 91%,
   rgba(0,0,0,.5) 94%,rgba(0,0,0,.156) 97%,rgba(0,0,0,.043) 98.5%,transparent 100%);
 }
 .liz-botanical .liz-hero-art { height:100%; aspect-ratio:auto; object-position:right top; mask-image:linear-gradient(to bottom,transparent,#000 32px); }
 .liz-botanical .liz-hero-media::after { content:''; position:absolute; inset:0; background:linear-gradient(to bottom,rgba(36,21,40,.96),rgba(36,21,40,.92) 64px,transparent 150px),linear-gradient(to right,rgba(36,21,40,.55),rgba(36,21,40,.25) 40%,transparent 52%); }
 .liz-botanical .liz-hero::after { position:absolute; bottom:-1px; left:0; width:100%; height:125px; margin:0; transform:none; }
 .liz-botanical .liz-page:has(>.liz-intro):has(>.liz-readings) { display:grid; grid-template-columns:60.5% minmax(0,1fr); background:var(--rose); }
 .liz-botanical .liz-page>.liz-hero,.liz-botanical .liz-page>.liz-closing { grid-column:1/-1; }
 .liz-botanical .liz-intro { grid-column:1; grid-row:2; padding:27px 12% 65px max(33.884%,calc((100vw - 978px)/2)); min-height:350px; }
 .liz-botanical .liz-intro h2 { font-size:70px; line-height:64px; }
 .liz-botanical .liz-about { max-width:340px; font-size:17px; line-height:23.5px; margin-top:21px; }
 .liz-botanical .liz-about p+p { margin-top:0; }
 .liz-intro-art { top:-105px; bottom:0; width:calc(33.884% - 28px); }
 .liz-sprig { left:-120px; width:333px; height:600px; object-fit:fill; }
 .liz-botanical .liz-readings { grid-column:2; grid-row:2; padding:54px max(15.19%,calc((100vw - 1267px)/2)) 60px 0; }
 .liz-botanical .liz-readings::after { display:none; }
 .liz-botanical .liz-offer { grid-template-columns:66px minmax(0,1fr) 24px; padding:26px 0; }
 .liz-botanical .liz-offer:first-child { padding-top:10px; }
 .liz-botanical .liz-offer h3 { font-size:29px; }
 .liz-botanical .liz-offer::before { font-size:48px; }
 .liz-botanical .liz-closing { display:grid; grid-template-columns:280px minmax(0,1fr); gap:30px; padding:105px var(--gutter) 60px max(28%,calc((100vw - 810px)/2)); }
 .liz-botanical .liz-closing::before { content:''; position:absolute; top:-1px; left:0; right:0; height:60px; z-index:3; background:var(--rose); clip-path:url(#liz-reading-wave); }
 .liz-closing-media { position:absolute; inset:0; aspect-ratio:auto; z-index:-1; }
 .liz-botanical .liz-closing-media::after { content:''; position:absolute; inset:0; background:linear-gradient(to right,transparent 12%,rgba(41,24,44,.85) 28%,#29182c 62%); }
 .liz-closing-copy,.liz-process { width:100%; padding:0; margin:0; }
 .liz-closing h2 { font-size:53px; line-height:49px; }
 .liz-closing-copy p { font-size:16px; line-height:23px; margin-top:20px; }
 .liz-process { border-top:0; border-left:1px solid var(--gold); padding-left:22px; }
 .liz-process h3 { font-size:30px; text-align:center; }
 .liz-steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:36px; }
 .liz-step { display:block; text-align:center; }
 .liz-step::before { display:block; width:60px; height:60px; margin:0 auto 20px; }
 .liz-step h4 { font-size:18px; }
 .liz-step p { font-size:16px; }
 .liz-lilac .liz-header { padding-inline:max(5.5%,calc((100% - 1282px)/2)); background:transparent; }
 .liz-lilac #liz-navigation { flex:1; max-width:918px; margin-left:clamp(24px,4vw,58px); }
 .liz-lilac .liz-menu { gap:clamp(20px,3vw,58px); font-size:18px; justify-content:space-between; }
 .liz-lilac .liz-menu li:last-child { margin-left:auto; }
 .liz-lilac .liz-menu li:last-child a { font-size:17px; min-width:115px; padding:8px 26px; }
 .liz-lilac .liz-hero { min-height:700px; }
 .liz-lilac .liz-hero-copy { padding:157px 5.8% 66px; }
 .liz-lilac .liz-hero-copy>* { max-width:520px; }
 .liz-lilac .liz-hero h1 { font-size:138px; line-height:128px; letter-spacing:-3.5px; }
 .liz-lilac .liz-hero h1::first-line { font-size:110px; }
 .liz-lilac .liz-subtitle { font-size:30px; line-height:1.32; margin-top:25px; }
 .liz-lilac .liz-cta { margin-top:42px; }
 .liz-lilac .liz-button { font-size:18px; }
 .liz-lilac .liz-hero-media { inset:0; max-width:1440px; }
 .liz-hero-frame { position:absolute; left:55.2%; top:70px; width:39.9%; max-width:none; height:630px; margin:0; aspect-ratio:auto; border-radius:250px 250px 0 0; }
 .liz-lilac .liz-hero-art { object-position:center top; }
 .liz-fabric { width:65%; right:0; }
 .liz-lilac .liz-hero-media::after { left:44%; top:450px; width:70px; height:70px; }
 .liz-lilac .liz-intro { display:grid; grid-template-columns:minmax(0,448px) minmax(0,1fr); gap:60px; padding:50px var(--gutter) 35px max(20.2%,calc((100% - 986px)/2)); min-height:305px; }
 .liz-lilac .liz-intro h2 { font-size:118px; letter-spacing:-3px; line-height:100px; }
 .liz-lilac .liz-about { margin:0; border-top:0; border-left:1px solid var(--gold); padding:25px 0 0 50px; }
 .liz-lilac .liz-about h3 { font-size:45px; }
 .liz-lilac .liz-intro-art { top:0; width:18%; }
 .liz-lilac .liz-sprig { left:-65px; top:-3px; width:255px; height:310px; object-fit:cover; object-position:right; }
 .liz-lilac .liz-readings { padding:35px max(7.5%,calc((100% - 1224px)/2)) 45px; }
 .liz-lilac .liz-readings>h2 { font-size:80px; margin-bottom:30px; }
 .liz-lilac .liz-offers { display:grid; grid-template-columns:31.44% 36.9% minmax(0,1fr); }
 .liz-lilac .liz-offer { padding:0 32px 0 12px; border-top:0; }
 .liz-lilac .liz-offer+.liz-offer { border-left:1px solid var(--gold); padding-left:60px; }
 .liz-lilac .liz-offer:last-child { padding-right:0; }
 .liz-lilac .liz-offer p { font-size:18px; line-height:24px; }
 .liz-contact { padding:70px var(--edge); }
 .liz-footer { padding:30px var(--edge); }
 .liz-prose { padding-top:145px; }
}
/* Native editor keeps existing block editing and does not inject decorative photos. */
.editor-styles-wrapper { background:var(--rose); color:var(--ink); }
.editor-styles-wrapper .liz-hero-copy { padding:35px; }
.editor-styles-wrapper .liz-intro,.editor-styles-wrapper .liz-readings,.editor-styles-wrapper .liz-closing { padding:30px; position:relative; }
.editor-styles-wrapper .liz-offer { padding:30px 60px; }
.editor-styles-wrapper .liz-closing { display:block; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
.liz-step:nth-child(1):before{content:'';background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%20fill%3D%27none%27%20stroke%3D%27%23c59b61%27%20stroke-width%3D%27.85%27%3E%3Crect%20x%3D%275%27%20y%3D%278%27%20width%3D%2722%27%20height%3D%2716%27%2F%3E%3Cpath%20d%3D%27m5%208%2011%209%2011-9M5%2024l8-8m14%208-8-8%27%2F%3E%3C%2Fsvg%3E") center/32px 32px no-repeat}
.liz-step:nth-child(2):before{content:'';background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%20fill%3D%27none%27%20stroke%3D%27%23c59b61%27%20stroke-width%3D%27.85%27%3E%3Cpath%20d%3D%27M23%2024A12%2012%200%200%201%2015%203a11%2011%200%200%200%208%2021Z%27%2F%3E%3C%2Fsvg%3E") center/32px 32px no-repeat}
.liz-step:nth-child(3):before{content:'';background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2032%2032%27%20fill%3D%27none%27%20stroke%3D%27%23c59b61%27%20stroke-width%3D%27.85%27%3E%3Cpath%20d%3D%27m16%201%201%2012%209-7-7%209%2012%201-12%201%207%209-9-7-1%2012-1-12-9%207%207-9-12-1%2012-1-7-9%209%207Z%27%2F%3E%3C%2Fsvg%3E") center/32px 32px no-repeat}