/*
Theme Name: The Ritual Boutique
Author: ForgeLab:45
Description: Individuelles botanisches Boutique-Theme mit WooCommerce-Anbindung.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: ritual-boutique
License: GPL-2.0-or-later
*/
@font-face{font-family:Cormorant;src:url('assets/cormorantgaramond-CormorantGaramond[wght].ttf')}@font-face{font-family:Manrope;src:url('assets/manrope-Manrope[wght].ttf')}@font-face{font-family:Allura;src:url('assets/allura-Allura-Regular.ttf')}
:root{--ivory:#f5efe7;--powder:#d8b7b0;--rose:#b7857d;--rose-dark:#80483f;--sage:#a8b29d;--olive:#5b5a46;--brass:#b89a6a;--parchment:#e8ddd0;--taupe:#6b5a52;--ink:#34302d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:#fcf9f5;color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:disabled{cursor:default}button:not(.button){border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--rose-dark);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2{font-family:Cormorant,Georgia,serif;font-weight:500}h2{color:var(--rose-dark);font-size:clamp(36px,3.2vw,54px);line-height:1}p{line-height:1.5}.eyebrow{font-size:10px;letter-spacing:3.5px;color:var(--taupe)}.announcement{height:31px;background:#404532;color:#f7f2e9;display:flex;justify-content:space-between;align-items:center;padding:0 3.8%;font-size:10px;letter-spacing:1.6px}.header{height:116px;position:relative;background:var(--ivory);border-bottom:1px solid #ddd2c5;display:flex;align-items:center;padding:0 2.7%}.brand{display:flex;flex-direction:column;align-items:center;text-align:center}.brand img{object-fit:contain}.brand>span{font-family:Cormorant,Georgia,serif;font-size:35px;line-height:1.1;white-space:nowrap}.brand small{font-size:8px;letter-spacing:2.4px;margin-top:5px}.header>.brand{position:absolute;left:50%;transform:translateX(-50%);top:10px}.header nav{width:100%;display:flex;justify-content:space-between;padding-left:14%;padding-right:12%}.nav-left,.nav-right{display:flex;align-items:center;gap:28px;font-size:13px}.nav-right button{padding:0;font-size:13px}.tools{position:absolute;right:2.4%;display:flex;gap:12px}.icon{width:32px;height:40px;padding:4px;display:inline-flex;align-items:center;justify-content:center;position:relative}.icon svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.25;fill:none}.count{position:absolute;right:-3px;top:0;background:var(--olive);color:white;border-radius:50%;font-size:9px;min-width:15px;height:15px}.header-botanical{position:absolute;left:0;top:0;width:14%;height:116px;background:url('assets/reference.png') left -30px / 1440px auto;pointer-events:none}.mobile-menu{display:none!important}.hero{position:relative;min-height:490px;height:34vw;max-height:660px;background:url('assets/hero.png') center/cover no-repeat}.hero-copy{padding:38px 0 0 5.5%;position:relative;z-index:1}.hero h1{font-size:clamp(68px,5.7vw,100px);line-height:.89;letter-spacing:-3.5px;color:var(--rose-dark);margin:20px 0}.intro{font-size:18px;line-height:1.4;color:var(--taupe)}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:#a66c64;color:white;border:0;border-radius:24px;font-size:12px;letter-spacing:2px;padding:13px 32px;margin-top:19px}.button span,.text-link span{font-size:25px;line-height:.8;transition:transform .2s}.button:hover span,.text-link:hover span{transform:translateX(4px)}.handwritten{font-family:Allura,cursive;font-weight:400;color:var(--taupe)}.hero-note{font-size:29px;line-height:.85;transform:rotate(-11deg);width:270px;text-align:center;margin:26px 0 0 18px}.hero-note span{display:block;text-align:right;font-size:36px}.seal{position:absolute;right:2.1%;top:19%;width:132px;height:206px;border-radius:50%;background:#eee3d3dd;outline:1px solid #a29783;outline-offset:-7px;border:1px solid #ece1ce;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;line-height:2;font-size:11px;letter-spacing:3px;color:var(--olive);transform:rotate(-7deg)}.seal img{width:50px;height:37px;margin-top:8px}.categories{padding:14px 2.9% 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.category{text-align:center;background:linear-gradient(#fff8f100,#f6f0e9);border-radius:4px;overflow:hidden}.crop{position:relative;overflow:hidden;display:block;background:var(--parchment)}.crop img{position:absolute;max-width:none;pointer-events:none}.category .crop{aspect-ratio:246/176}.category h2{font-size:32px;color:var(--ink);margin:7px 0 1px}.category p{font-size:14px;color:var(--taupe)}.text-link{font-size:11px;letter-spacing:1px;color:var(--rose-dark);display:inline-flex;align-items:center;gap:9px;padding:0}.category .text-link{margin:17px 0 14px}.editorial{position:relative;min-height:335px;height:23.2vw;display:grid;grid-template-columns:23% 32% 45%;background:var(--parchment);overflow:hidden;border-radius:0 16px 0 0}.botanical-art{background:url('assets/reference.png');background-size:calc(100vw) auto;background-position:0 69.2%;opacity:.95}.story{padding:30px 25px 20px 0;z-index:1;background:var(--parchment)}.story h2{margin:16px 0 12px;font-size:clamp(37px,3vw,55px)}.story>p:not(.eyebrow){font-size:15px;line-height:1.42;max-width:420px}.olive{background:#484f37;border-radius:3px;padding:12px 23px;margin-top:15px;font-size:11px}.story-photo{background:url('assets/reference.png');background-size:calc(100vw) auto;background-position:right 69.2%}.story-note{position:absolute;right:2.4%;top:9%;font-size:31px;line-height:1.04;transform:rotate(-12deg);text-align:center;background:#e8ddd0cc;padding:8px}.favorites{padding:20px 2.9% 18px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:0 5px 14px}.section-heading h2{margin-top:5px;font-size:40px}.section-heading .eyebrow{font-size:9px}.products{display:grid;grid-template-columns:repeat(5,1fr);gap:19px}.product .crop{aspect-ratio:193/114;border-radius:4px}.product-image{display:block;width:100%;padding:0;text-align:left}.product-info{display:grid;grid-template-columns:1fr 44px;gap:4px;margin-top:8px}.product-name{font-size:13px;text-align:left;padding:0;display:block}.price{font-size:13px;display:block;margin-top:3px}.add{border:1px solid #a56f66!important;width:40px;height:40px;border-radius:50%;color:#9b5d55!important}.add svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.2}.values{display:grid;grid-template-columns:repeat(5,1fr);padding:14px 3%;border-top:1px solid #e9e0d8;gap:12px}.values>div{border-right:1px solid #e4d9cd;display:flex;align-items:center;justify-content:center;gap:23px;font-size:10px;letter-spacing:1.7px;color:var(--taupe)}.values>div:last-child{border:0}.values span{font-size:48px;line-height:1;font-family:Georgia,serif}footer{background:radial-gradient(ellipse at 50% 40%,#f2e9df,var(--parchment))}.footer-main{display:grid;grid-template-columns:22% 40% 1fr;padding:23px 3% 18px;gap:30px}.footer-brand{justify-content:center;border-right:1px solid #d8cbbb;padding-right:20px}.footer-brand>span{font-size:30px}.footer-brand small{line-height:1.7;margin-top:10px}.newsletter h2{font-size:29px;color:var(--ink)}.newsletter>p{font-size:12px;color:var(--taupe);margin:5px 0 9px}.email-row{display:flex;height:44px}.email-row input{width:100%;min-width:0;border:1px solid #cfc1b2;border-radius:4px 0 0 4px;background:#fcf8f2;padding:12px;font-size:13px}.email-row button{background:#995c53;border-radius:0 4px 4px 0;color:white;letter-spacing:2px;font-size:11px;padding:0 24px}.consent{display:flex;align-items:flex-start;gap:5px;font-size:10px;line-height:1.5;margin-top:9px}.consent input{margin:2px 0}.form-note{display:block;font-size:10px;color:var(--taupe);margin-top:5px}.form-result{font-size:12px}.footer-links{display:grid;grid-template-columns:1fr 1.1fr;gap:22px}.footer-links h3{font-size:12px;font-weight:500;margin-bottom:7px}.footer-links a,.footer-links button{display:block;font-size:11px;color:var(--taupe);line-height:1.8;padding:0;text-align:left}.footer-links .handwritten{font-size:23px;line-height:1.1;transform:rotate(-8deg);margin-top:12px}.legal{display:flex;justify-content:space-between;border-top:1px solid #dfd3c5;padding:10px 3%;font-size:10px;color:var(--taupe);gap:18px}.legal div{display:flex;gap:20px}.legal button{padding:0;font-size:10px}.filterbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.filterbar[hidden]{display:none}.filterbar button{border:1px solid #c9b7a8;border-radius:20px;padding:8px 15px;font-size:12px}.filterbar button[aria-pressed=true]{background:var(--olive);color:white}dialog{border:1px solid #d8cbbb;border-radius:8px;background:#fbf7f1;color:var(--ink);padding:36px;max-width:620px;width:calc(100% - 32px);max-height:85vh;overflow:auto}dialog::backdrop{background:#29251f66;backdrop-filter:blur(3px)}dialog h2{font-size:38px;margin:10px 0 20px}dialog p{margin:10px 0}dialog .close{position:absolute;right:9px;top:5px;font-size:30px}dialog input[type=search]{width:100%;padding:12px;border:1px solid #b8a798;background:white}.result-row,.cart-row{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid #ded3c7;padding:15px 0;font-size:14px}.result-row button,.cart-row button{color:var(--rose-dark);padding:5px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--olive);color:white;padding:13px 20px;z-index:5;border-radius:4px;max-width:90%;font-size:14px;display:none}.sr-only,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{width:auto;height:auto;clip-path:none;top:5px;left:5px;z-index:10;background:white;padding:12px}
@media(min-width:1600px){.hero-copy{padding-top:55px}.hero-note{margin-top:35px}.story{padding-top:40px}}
@media(max-width:1150px){.header nav{padding-left:13%;padding-right:13%}.nav-left,.nav-right{gap:14px;font-size:11px}.nav-right button{font-size:11px}.header>.brand span{font-size:29px}.header>.brand small{font-size:6px}.hero h1{font-size:65px}.hero{min-height:420px}.hero-copy{padding-top:30px}.hero-note{font-size:26px;margin-top:22px}.intro{font-size:16px}.seal{width:105px;height:170px;font-size:9px}.editorial{grid-template-columns:22% 33% 45%;min-height:330px}.story{padding-top:24px}.story h2{font-size:36px}.story>p:not(.eyebrow){font-size:13px}.story-note{font-size:27px}.category h2{font-size:28px}.category p{font-size:12px}.footer-main{gap:20px}.footer-brand>span{font-size:25px}.values>div{gap:13px;font-size:8px}.values span{font-size:39px}}
@media(max-width:900px){.announcement{justify-content:center;height:28px}.announcement>span:first-child,.announcement>span:last-child{display:none}.header{height:105px}.header-botanical{display:none}.mobile-menu{display:flex!important}.header>.brand{top:9px}.header>.brand span{font-size:31px}.header>.brand small{font-size:6px;letter-spacing:1.5px}.header nav{display:none;position:absolute;top:105px;left:0;width:100%;background:var(--ivory);padding:24px;z-index:6;border-bottom:1px solid #cdbdac}.header nav.open{display:flex;gap:30px;justify-content:center}.nav-left,.nav-right{flex-direction:column;gap:20px;font-size:16px}.nav-right button{font-size:16px}.tools{gap:5px}.account{display:none}.hero{min-height:420px;background-position:59% center}.hero-copy{padding-left:5%;padding-top:35px}.hero h1{font-size:61px}.hero .eyebrow{font-size:8px;letter-spacing:2px}.hero .intro{font-size:15px;max-width:350px}.seal{display:none}.categories{grid-template-columns:repeat(2,1fr);gap:18px;padding:22px 4%}.category h2{font-size:32px}.category p{font-size:14px}.editorial{grid-template-columns:18% 40% 42%;min-height:350px}.botanical-art{background-size:1300px auto;background-position:left 69.2%}.story-photo{background-size:1300px auto}.story-note{font-size:24px;right:2%;top:15%}.story{padding:25px 15px 25px 0}.story>p:not(.eyebrow){font-size:14px}.story h2{font-size:35px}.olive{font-size:9px;padding:12px 15px;gap:10px}.products{grid-template-columns:repeat(3,1fr);gap:24px 15px}.favorites{padding:26px 4%}.values{grid-template-columns:repeat(3,1fr);gap:15px}.values>div{font-size:9px}.values>div:nth-child(4),.values>div:nth-child(5){display:none}.footer-main{grid-template-columns:1fr 1.8fr;padding:28px 4%}.footer-links{grid-column:1/-1;grid-template-columns:1fr 1fr;border-top:1px solid #d8cbbb;padding-top:20px}.footer-links a,.footer-links button,.footer-links h3{font-size:13px}.legal{flex-direction:column}.footer-brand>span{font-size:26px}}
@media(max-width:540px){.header{height:100px;padding:0 12px}.header>.brand{left:47%;top:12px}.header>.brand span{font-size:25px}.header>.brand img{height:32px}.header>.brand small{max-width:190px;font-size:5.5px;line-height:1.5;letter-spacing:1px}.tools{right:8px;gap:0}.icon{width:29px}.header nav{top:100px}.hero{height:auto;min-height:650px;background-size:auto 330px;background-position:66% bottom;background-color:var(--ivory)}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(var(--ivory) 0%,var(--ivory) 43%,transparent 59%);pointer-events:none}.hero-copy{padding:32px 23px 0}.hero h1{font-size:51px;line-height:.95;letter-spacing:-2px;margin:19px 0}.hero .intro{font-size:16px;line-height:1.5;max-width:340px}.desktop{display:none}.hero .button{margin-top:20px;font-size:11px;padding:14px 25px}.hero-note{font-size:24px;width:180px;margin:22px 0 0;position:absolute;top:326px;left:9px;color:#4e4338;text-shadow:0 0 12px #fff}.hero-note span{font-size:29px}.categories{padding:16px 14px 22px;gap:13px}.category h2{font-size:27px}.category p{font-size:13px;padding:0 7px;min-height:40px;line-height:1.4}.category .text-link{font-size:9px;letter-spacing:.5px;margin:10px 0 13px;gap:4px}.category .text-link span{font-size:20px}.category .crop{aspect-ratio:1.1}.editorial{height:auto;min-height:0;display:grid;grid-template-columns:1fr}.botanical-art{position:absolute;left:-50px;top:0;width:155px;height:330px;opacity:.23}.story{padding:32px 24px 28px 70px;background:none}.story h2{font-size:38px;margin-top:14px}.story>p:not(.eyebrow){font-size:16px;line-height:1.5}.story .eyebrow{letter-spacing:2px}.olive{font-size:10px;padding:14px 18px}.story-photo{height:250px;background-size:1086px auto;background-position:right 69.2%}.story-note{top:auto;bottom:40px;right:18px;font-size:27px}.section-heading{align-items:flex-start;gap:10px;flex-direction:column;margin-bottom:20px}.section-heading h2{font-size:36px}.section-heading .eyebrow{font-size:8px;letter-spacing:2px}.section-heading .text-link{font-size:9px;margin-top:6px}.products{grid-template-columns:repeat(2,1fr);gap:23px 14px}.product .crop{aspect-ratio:1.2}.product-info{grid-template-columns:1fr 34px}.product-name,.price{font-size:12px;line-height:1.5}.add{width:34px;height:36px}.values{padding:20px 12px;gap:10px}.values>div{font-size:8px;letter-spacing:.8px;gap:8px;flex-direction:column;text-align:center}.values span{font-size:36px}.footer-main{display:flex;flex-direction:column;padding:26px 20px;gap:27px}.footer-brand{border:0;padding:0}.footer-brand>span{font-size:32px}.footer-brand small{font-size:8px}.newsletter h2{font-size:31px}.newsletter>p{font-size:14px}.email-row{height:48px}.email-row button{padding:0 17px;font-size:10px}.consent,.form-note{font-size:11px}.legal{padding:14px 20px;font-size:10px;line-height:1.6}.legal div{flex-wrap:wrap;gap:12px 17px}.legal button{font-size:11px}.footer-links .handwritten{font-size:24px}.announcement{font-size:8px;letter-spacing:1.2px}dialog{padding:28px 20px}dialog h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Exact photo viewports keep reference text outside every photographic asset. */
.crop>svg{display:block;width:100%;height:100%;position:absolute;inset:0}.botanical-art,.story-photo{background:none}.botanical-art>.crop,.story-photo>.crop{height:100%;width:100%}.story-note{background:linear-gradient(90deg,#e8ddd000,#e8ddd0 25%);right:0;top:0;height:100%;padding:38px 18px 15px 45px;width:24%;transform:none;font-size:31px}.header-botanical{mask-image:linear-gradient(90deg,#000 70%,transparent)}
@media(max-width:900px){.story-note{width:23%;font-size:26px;padding:45px 8px 15px 20px}}
@media(max-width:540px){.story-note{top:auto;bottom:0;height:250px;width:43%;font-size:26px;padding:38px 8px 15px 20px}.botanical-art{height:330px}.botanical-art>.crop{height:100%}.category .crop{aspect-ratio:1.1}.product .crop{aspect-ratio:1.2}}
.values span svg{width:43px;height:48px;display:block}.button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.3}
@media(min-width:541px) and (max-width:900px){.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f5efe7f2 0%,#f5efe7db 34%,#f5efe760 56%,transparent 72%)}.hero .intro{font-size:16px}.hero-note{color:#53453c}}
@media(max-width:540px){.hero-note{background:#f5efe7c9;border-radius:50%;padding:12px 6px;top:331px;font-size:24px}}
