/*
Theme Name: ilumo
Theme URI: https://ilumo.ch
Author: ilumo GmbH
Description: Block-Theme für ilumo – macht sichtbar. Alle Inhalte, Farben, Schriftgrössen und Abstände werden im Block-Editor bearbeitet.
Version: 1.3.4
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ilumo
Tags: block-patterns, full-site-editing, one-column
*/

html{scroll-behavior:smooth}
body{margin:0;-webkit-font-smoothing:antialiased}
:focus-visible{outline:3px solid var(--wp--preset--color--violet);outline-offset:3px}

/* Schriftgrössen-Presets (Fallback identisch zu theme.json) */
.has-kicker-font-size{font-size:14px!important}
.has-small-font-size{font-size:15px!important}
.has-body-font-size{font-size:17px!important}
.has-big-font-size{font-size:clamp(20px, 1.8vw, 24px)!important}
.has-lead-font-size{font-size:clamp(20px, 1.8vw, 26px)!important}
.has-h3-font-size{font-size:clamp(28px, 2.6vw, 40px)!important}
.has-statement-font-size{font-size:clamp(28px, 3.2vw, 48px)!important}
.has-h2-sm-font-size{font-size:clamp(36px, 4.5vw, 72px)!important}
.has-num-font-size{font-size:clamp(56px, 6vw, 96px)!important}
.has-h2-font-size{font-size:clamp(44px, 7vw, 112px)!important}
.has-display-font-size{font-size:clamp(52px, 9vw, 140px)!important}
.has-display-xl-font-size{font-size:clamp(44px, 22cqi, 150px)!important}

/* Zeilenhöhen für die grossen Presets */
.has-display-xl-font-size{line-height:.82;letter-spacing:-.05em;overflow-wrap:normal;word-break:keep-all;max-width:100%}
.wp-block-columns>.wp-block-column{container-type:inline-size}
.has-display-font-size{line-height:.85;letter-spacing:-.05em;text-wrap:balance}
.has-h2-font-size{line-height:.88;text-wrap:balance}
.has-h2-sm-font-size{line-height:.9;text-wrap:balance;overflow-wrap:anywhere}
.has-num-font-size{line-height:.9;letter-spacing:-.05em;font-weight:900}
.has-statement-font-size{line-height:1.05;letter-spacing:-.03em;font-weight:900;text-wrap:pretty}
.has-lead-font-size{line-height:1.35;font-weight:500}
.has-big-font-size{font-weight:600}
.has-kicker-font-size{letter-spacing:.14em;text-transform:uppercase;font-weight:600}
p{max-width:60ch}
.has-display-font-size,.has-display-xl-font-size,.has-h2-font-size,.has-h2-sm-font-size{max-width:none}

/* Block-Stile: Buttons (Seitenleiste → Stile) */
.wp-block-button.is-style-white .wp-block-button__link{background:var(--wp--preset--color--white);color:var(--wp--preset--color--ink)}
.wp-block-button.is-style-white .wp-block-button__link:hover{background:var(--wp--preset--color--mint)}
.wp-block-button.is-style-blue .wp-block-button__link{background:var(--wp--preset--color--violet);color:var(--wp--preset--color--white)}
.wp-block-button.is-style-blue .wp-block-button__link:hover{background:var(--wp--preset--color--ink)}
.wp-block-button.is-style-mint .wp-block-button__link{background:var(--wp--preset--color--mint);color:var(--wp--preset--color--ink)}
.wp-block-button.is-style-mint .wp-block-button__link:hover{background:var(--wp--preset--color--white)}
.wp-block-button.is-style-outline-ink .wp-block-button__link{background:transparent;color:var(--wp--preset--color--ink);border:2px solid var(--wp--preset--color--ink);padding:10px 20px;font-size:15px}
.wp-block-button.is-style-outline-ink .wp-block-button__link:hover{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--white)}
.wp-block-button.is-style-compact .wp-block-button__link{padding:10px 20px;font-size:15px}

/* Block-Stile: Gruppe */
.wp-block-group.is-style-card{border-radius:24px;padding:clamp(28px,3vw,44px)}
.wp-block-group.is-style-step{border-top:2px solid var(--wp--preset--color--ink);padding-top:20px}
.wp-block-group.is-style-ticker{border-top:2px solid var(--wp--preset--color--ink);border-bottom:2px solid var(--wp--preset--color--ink);font-weight:900;font-size:22px;text-transform:uppercase;letter-spacing:-.02em}
.wp-block-group.is-style-lift{transform:translateY(-60px);margin-bottom:-60px}
.wp-block-group.is-style-offset{margin-top:clamp(0px,8vw,120px)}

/* Block-Stile: Bild */
.wp-block-image.is-style-tile-square,.wp-block-image.is-style-tile-wide,.wp-block-image.is-style-tile-portrait{margin:0}
.wp-block-image.is-style-tile-square img,.wp-block-image.is-style-tile-wide img,.wp-block-image.is-style-tile-portrait img{width:100%!important;height:auto!important;object-fit:cover;display:block;border-radius:24px}
.wp-block-image.is-style-tile-square img{aspect-ratio:1!important}
.wp-block-image.is-style-tile-wide img{aspect-ratio:21/9!important}
.wp-block-image.is-style-tile-portrait{width:min(100%,360px);margin-bottom:clamp(-120px,-8vw,-40px);position:relative;z-index:1}
.wp-block-image.is-style-tile-portrait img{aspect-ratio:3/4!important;box-shadow:0 30px 60px rgba(0,0,0,.25)}
.wp-block-image img:not([src]),.wp-block-image img[src=""]{background:repeating-linear-gradient(135deg,#c1aee0 0 8px,#b3a3d6 8px 16px);min-height:200px}

/* Listen in Karten */
.is-style-card ul{margin:8px 0 0;padding-left:1.2em;display:flex;flex-direction:column;gap:8px}

/* FAQ (Details-Block) */
.wp-block-details summary{cursor:pointer;list-style:none;font-weight:900;font-size:22px;line-height:1.2;letter-spacing:-.02em}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::marker{content:""}
.wp-block-details>*:not(summary){margin-top:14px}

/* Navigation – Menü-Button + Vollbild-Overlay */
.il-nav{position:relative;z-index:50}
.il-nav .il-nav-cta{display:none}
@media (min-width:600px){.il-nav .il-nav-cta{display:block}}
/* Button «Menü» */
.il-menu .wp-block-navigation__responsive-container-open{display:inline-flex;align-items:center;gap:10px;padding:10px 20px;border:2px solid currentColor;border-radius:999px;font:inherit;font-weight:600;font-size:15px;color:inherit;background:transparent;cursor:pointer;transition:background .15s,color .15s}
.il-menu .wp-block-navigation__responsive-container-open svg{display:none}
.il-menu .wp-block-navigation__responsive-container-open::before{content:"";width:18px;height:2px;background:currentColor;box-shadow:0 6px 0 currentColor,0 -6px 0 currentColor}
.il-menu .wp-block-navigation__responsive-container-open::after{content:"Menü"}
.il-menu .wp-block-navigation__responsive-container-open:hover{background:var(--wp--preset--color--white);color:var(--wp--preset--color--ink)}
/* Overlay */
.il-menu .wp-block-navigation__responsive-container.is-menu-open{background:linear-gradient(120deg,#e0b0ac 0%,#c1aee0 35%,#a4bece 65%,#87d2af 100%)!important;color:var(--wp--preset--color--ink)!important;padding:clamp(24px,5vw,72px) var(--wp--preset--spacing--edge);animation:il-fade .35s ease both}
.il-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close{max-width:1280px;margin:0 auto;height:100%}
.il-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog{height:100%;display:flex;flex-direction:column}
.il-menu .wp-block-navigation__responsive-container-close{position:absolute;top:clamp(20px,4vw,48px);right:var(--wp--preset--spacing--edge);width:56px;height:56px;border:2px solid var(--wp--preset--color--ink);border-radius:999px;background:transparent;color:var(--wp--preset--color--ink);cursor:pointer;display:grid;place-items:center;padding:0;font-size:0;transition:background .15s,color .15s,transform .25s}
.il-menu .wp-block-navigation__responsive-container-close:hover{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--white)}
.il-menu .wp-block-navigation__responsive-container-close svg{display:none}
.il-menu .wp-block-navigation__responsive-container-close::before,.il-menu .wp-block-navigation__responsive-container-close::after{content:"";position:absolute;width:24px;height:2px;background:currentColor;border-radius:1px}
.il-menu .wp-block-navigation__responsive-container-close::before{transform:rotate(45deg)}
.il-menu .wp-block-navigation__responsive-container-close::after{transform:rotate(-45deg)}
.il-menu .wp-block-navigation__responsive-container-close:hover{transform:rotate(90deg)}
.il-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{display:flex;flex-direction:column;justify-content:center;flex:1;padding:0}
.il-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(6px,1vw,14px);counter-reset:il-menu}
/* Hauptlinks: Display-Grösse, nummeriert, gestaffelt */
.il-menu .wp-block-navigation__container>.wp-block-navigation-item{counter-increment:il-menu;animation:il-rise .5s cubic-bezier(.2,.7,.2,1) both}
.il-menu .wp-block-navigation__container>.wp-block-navigation-item:nth-child(1){animation-delay:.05s}
.il-menu .wp-block-navigation__container>.wp-block-navigation-item:nth-child(2){animation-delay:.12s}
.il-menu .wp-block-navigation__container>.wp-block-navigation-item:nth-child(3){animation-delay:.19s}
.il-menu .wp-block-navigation__container>.wp-block-navigation-item:nth-child(4){animation-delay:.26s}
.il-menu .wp-block-navigation__container>.wp-block-navigation-item:nth-child(5){animation-delay:.33s}
.il-menu .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content{position:relative;display:inline-flex;align-items:baseline;gap:clamp(12px,2vw,28px);font-weight:900;font-size:clamp(40px,7.5vw,110px);line-height:.95;letter-spacing:-.05em;text-transform:uppercase;text-decoration:none;color:inherit;transition:transform .25s}
.il-menu .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content::before{content:"0" counter(il-menu);font-size:clamp(13px,1vw,16px);letter-spacing:.14em;font-weight:600;opacity:.7}
.il-menu .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content:hover{transform:translateX(clamp(8px,1.5vw,24px))}
.il-menu .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content .wp-block-navigation-item__label{position:relative}
.il-menu .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content .wp-block-navigation-item__label::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:.08em;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.il-menu .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content:hover .wp-block-navigation-item__label::after,.il-menu .wp-block-navigation__container>.current-menu-item>.wp-block-navigation-item__content .wp-block-navigation-item__label::after{transform:scaleX(1)}
/* Unterpunkte: klein, in einer Zeile unter dem Hauptlink */
.il-menu .is-menu-open .wp-block-navigation__submenu-container{position:static;display:flex;flex-wrap:wrap;gap:6px 24px;padding:6px 0 10px clamp(30px,3.2vw,52px);background:transparent!important;color:inherit!important;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none;min-width:0}
.il-menu .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{font-size:clamp(15px,1.2vw,19px);font-weight:600;text-decoration:none;color:inherit;opacity:.8;padding:0}
.il-menu .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.il-menu .is-menu-open .wp-block-navigation-submenu__toggle{display:none}
@keyframes il-fade{from{opacity:0}to{opacity:1}}
@keyframes il-rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.il-menu *{animation:none!important;transition:none!important}}

/* Kontaktformular */
.il-form{display:flex;flex-direction:column;gap:20px;background:var(--wp--preset--color--white);color:var(--wp--preset--color--ink);border-radius:24px;padding:clamp(24px,3vw,40px)}
.il-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.il-form input[type=text],.il-form input[type=email],.il-form textarea{font:inherit;font-size:16px;text-transform:none;letter-spacing:0;font-weight:400;padding:14px 18px;border-radius:14px;border:2px solid #e4e4ef;background:#f6f6fb;color:var(--wp--preset--color--ink);width:100%;box-sizing:border-box}
.il-form input:focus-visible,.il-form textarea:focus-visible{border-color:var(--wp--preset--color--violet);outline:none}
.il-form textarea{resize:vertical;min-height:140px}
.il-seg{display:flex;gap:8px}
.il-seg label{flex-direction:row;cursor:pointer;text-transform:none;letter-spacing:0}
.il-seg input{position:absolute;opacity:0;width:0;height:0}
.il-seg span{display:inline-flex;border-radius:999px;padding:10px 20px;font-weight:600;font-size:15px;border:2px solid var(--wp--preset--color--ink)}
.il-seg input:checked+span{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--white)}
.il-form button{font:inherit;cursor:pointer;border:0;display:inline-flex;color:var(--wp--preset--color--white);background:var(--wp--preset--color--ink);border-radius:999px;padding:16px 28px;font-weight:600;font-size:16px;align-self:flex-start}
.il-form button:hover{background:var(--wp--preset--color--violet)}
.il-form-ok{background:var(--wp--preset--color--mint);color:var(--wp--preset--color--ink);border-radius:24px;padding:clamp(24px,3vw,40px)}
.il-form-ok h2{font-size:clamp(28px,3vw,40px);text-transform:none;margin:0 0 12px}
.il-honey{position:absolute;left:-9999px}
