/* PLAVI KIDS – user.css des Child-Templates cassiopeia_plavikids
   Teil 1: Gestaltung der Inhalte aus PLAVI-KIDS-Website V12 (Kopf/Fuß entfernt)
   Teil 2: Anpassung an die Cassiopeia-Struktur */

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:#4b3827;background:#f6f0e3;font-family:Georgia,"Times New Roman",serif}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:radial-gradient(#765f3f .55px,transparent .7px);background-size:6px 6px;z-index:99}
.pill{display:inline-block;background:#74552f!important;color:white!important;border-radius:999px;padding:15px 23px;text-decoration:none;font:600 13px Arial,sans-serif;letter-spacing:.02em}
.hero{min-height:650px;display:grid;grid-template-columns:.9fr 1.35fr;overflow:hidden;background:linear-gradient(180deg,#f7f0df 0 72%,#d9e1c1 72%)}
.hero-copy{padding:115px 4vw 80px 8vw;z-index:3}
.eyebrow{font:600 12px Arial,sans-serif;letter-spacing:.24em;color:#7a694f}
.hero h1,.books h2,.journey h2{font-size:clamp(48px,5.4vw,82px);line-height:.95;margin:20px 0 25px;font-weight:500}
.hero h1 em,.books h2 em,.journey h2 em{font-weight:400;color:#6f7745}
.hero-copy p{max-width:540px;font:18px/1.65 Arial,sans-serif;color:#6b5c49;margin-bottom:32px}
.hero-world{position:relative;min-height:650px;background:linear-gradient(#b9d9df,#e9e3bd 55%,#9daf74 56%,#84965f);overflow:hidden}
.sun{position:absolute;width:100px;height:100px;border-radius:50%;background:#e3b45d;right:14%;top:13%;box-shadow:0 0 60px #e3b45d}
.hill{position:absolute;border-radius:50% 50% 0 0;background:#73815a}
.h1{width:80%;height:33%;bottom:0;left:-15%;transform:rotate(8deg)}
.h2{width:90%;height:40%;bottom:-12%;right:-25%;background:#61744e}
.tree{position:absolute;right:16%;bottom:9%;width:280px;height:510px}
.trunk{position:absolute;width:65px;height:340px;background:#735235;bottom:0;left:105px;border-radius:50% 35% 20% 20%}
.crown{position:absolute;width:280px;height:240px;border-radius:50%;background:#536b3f;top:0}
.tree span{position:absolute;z-index:2;top:205px;left:20px;background:#b8864c;color:#2e2115;padding:17px 20px;transform:rotate(-3deg);font:bold 17px/1.35 Arial,sans-serif;box-shadow:0 7px 15px #4c382655}
.barn{position:absolute;left:13%;bottom:18%;font-size:110px;color:#7e4734}
.map{min-height:900px;position:relative;overflow:hidden;padding:60px 5vw;background:#eee0bf;background-image:radial-gradient(circle at 20% 30%,#f8edcf 0 2px,transparent 3px),linear-gradient(125deg,transparent 0 45%,rgba(143,119,72,.08) 46% 47%,transparent 48%);background-size:35px 35px,100%}
.map-intro{position:absolute;left:4%;top:80px;transform:rotate(-6deg);font-style:italic;font-size:30px;color:#667047}
.map-intro strong{display:block;font-size:44px;font-style:normal}
.map-intro small{display:block;font:10px Arial,sans-serif;letter-spacing:.3em;margin-top:15px}
.route{position:absolute;inset:80px 4%;width:92%;height:760px}
.route path{fill:none;stroke:#7c6648;stroke-width:4;stroke-dasharray:10 12;stroke-linecap:round}
.station{position:absolute;z-index:3}
.crew-station{width:430px;left:31%;top:70px}
.crew-frame{border:8px solid #e9d6ad;border-radius:48% 52% 45% 55%;overflow:hidden;box-shadow:0 8px 24px #5b452833}
.crew-frame img{width:100%;display:block}
.wood-card{background:linear-gradient(90deg,#c69352,#e0b873 45%,#c99553);padding:18px 22px;border:2px solid #7c5630;border-radius:8px;box-shadow:0 8px 16px #57442c44;font-family:Arial,sans-serif}
.wood-card h2,.wood-card h3{font-family:Georgia,serif;margin:4px 0 7px;font-size:27px}
.wood-card h3{font-size:22px}
.wood-card p{margin:5px 0;font-size:13px;line-height:1.35}
.wood-card a{float:right;margin-top:-28px;width:40px;height:40px;border:1px solid #fff8;border-radius:50%;display:grid;place-items:center;color:white;text-decoration:none;font-size:22px}
.kicker{font-size:10px;letter-spacing:.2em}
.story{right:6%;top:330px;width:250px}
.color{left:10%;top:570px;width:270px}
.farm{right:8%;top:620px;width:290px}
.mini-icon{font-size:52px;text-align:center;margin-bottom:-8px}
.farm-art{height:90px;text-align:center;font-size:90px;color:#8d4631}
.farm-art i{display:inline-block;width:18px;height:42px;background:#5f7147;border-radius:50%;margin:0 4px}
.map-note{position:absolute;left:49%;bottom:80px;background:#c49356;border:2px solid #76512e;padding:16px;transform:rotate(-4deg);font:bold italic 16px/1.4 Georgia}
.books{padding:95px 5vw 110px;display:grid;grid-template-columns:320px 1fr;gap:55px;background:#f8f3e8;overflow:hidden}
.books h2{font-size:48px}
.section-copy p{font:15px/1.6 Arial,sans-serif;color:#6e604f}
.book-controls{display:flex;gap:8px;margin-top:25px}
.book-controls button{width:44px;height:44px;border-radius:50%;border:1px solid #816744;background:transparent;color:#6a5030;font-size:20px;cursor:pointer}
.book-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 5px 30px;scrollbar-width:none}
.book-track::-webkit-scrollbar{display:none}
.book-track figure{min-width:210px;width:210px;margin:0;scroll-snap-align:start}
.book-track img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:4px;box-shadow:0 14px 24px #513d2833;transition:.25s}
.book-track figure:hover img{transform:translateY(-7px) rotate(-1deg)}
.book-track figcaption{font:13px Arial,sans-serif;text-align:center;margin-top:13px;color:#665642}
.mission{padding:65px 8vw;background:#839768;color:#fff;display:flex;justify-content:space-between;gap:50px;align-items:center}
.mission blockquote{font-size:28px;line-height:1.35;margin:0}
.mission p{max-width:440px;font:16px/1.6 Arial,sans-serif}
.journey{text-align:center;padding:110px 20px;background:linear-gradient(#f7f2e7,#e7e2c9)}
.journey h2{font-size:55px}
.journey p{max-width:680px;margin:0 auto 30px;font:17px/1.65 Arial,sans-serif;color:#6b5d4c}
@media(max-width:900px){.hero{grid-template-columns:1fr}
.hero-copy{padding:75px 7vw}
.hero-world{min-height:430px}
.map{min-height:1450px}
.map-intro{position:relative;left:auto;top:auto;text-align:center}
.route{display:none}
.station{position:relative!important;left:auto!important;right:auto!important;top:auto!important;width:min(92%,460px)!important;margin:55px auto}
.map-note{position:relative;left:auto;bottom:auto;width:max-content;max-width:90%;margin:60px auto}
.books{grid-template-columns:1fr;padding:70px 6vw}
.section-copy{max-width:520px}
.mission{flex-direction:column;align-items:flex-start}
.tree{right:4%;transform:scale(.85);transform-origin:bottom}
.book-track figure{min-width:180px;width:180px}}
/* V3 */
.map{min-height:1180px}
.route{height:960px}
.place-art{text-align:center;font-size:58px}
.cooking{left:43%;top:735px;width:285px}
.story{right:7%;top:350px}
.color{left:9%;top:600px}
.farm{right:7%;top:820px}
.why{padding:95px 8vw;background:#fbf7ef;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.why h2{font:500 52px/1.05 Georgia;margin:10px 0}
.why .copy{font:18px/1.75 Georgia}
.why strong{color:#687646}
.quote2{margin-top:30px;border-left:4px solid #687646;padding:20px 25px;font:italic 25px/1.4 Georgia}
.actions{padding:75px 7vw;text-align:center;background:#687646;color:#fff}
.actions h2{font:40px Georgia;margin:0 0 15px}
.actions .pill{margin:6px;background:#f4ead7!important;color:#493927!important}
.newsletter{padding:80px 7vw;text-align:center;background:#f8f3e8}
.newsletter form{display:flex;gap:10px;justify-content:center;max-width:720px;margin:25px auto}
.newsletter input{padding:14px 17px;border:1px solid #c8b797;border-radius:999px;background:#fffdf8;min-width:210px}
.subpage{max-width:1050px;margin:auto;padding:75px 7vw}
.subhero{padding:80px 8vw;background:linear-gradient(135deg,#f5eddc,#dce4c5)}
.subhero h1{font:500 60px/1 Georgia;margin:12px 0}
.placeholder{padding:20px;border:1px dashed #a58f6c;background:#fff9ed;border-radius:12px}
.character-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.character{text-align:center;background:#fffaf0;border-radius:14px;padding:18px}
.character b{display:block;font:22px Georgia}
.contact-form{display:grid;gap:12px;max-width:680px}
.contact-form input,.contact-form textarea{padding:14px;border:1px solid #c7b697;border-radius:16px;background:#fffdf8}
.contact-form textarea{min-height:150px}
@media(max-width:900px){.map{min-height:auto}
.cooking{position:relative!important;left:auto!important;top:auto!important;width:min(92%,460px)!important;margin:55px auto}
.why{grid-template-columns:1fr;gap:20px}
.newsletter form{flex-direction:column;align-items:center}
.character-grid{grid-template-columns:repeat(2,1fr)}}
/* V4 – die illustrierte Schatzkarte ist das Herzstück */
.map-visual{position:relative;padding:54px 0 34px;background:#efe2c2;overflow:hidden}
.map-picture{position:relative;width:min(1536px,100%);margin:auto;overflow:hidden;box-shadow:0 20px 55px #4b382733}
.map-picture>img{display:block;width:100%;height:auto}
.map-hotspot{position:absolute;z-index:8;display:flex;align-items:center;gap:8px;padding:8px 12px 8px 8px;border-radius:999px;background:#fff4d9e8;border:2px solid #7c552d;color:#493421;text-decoration:none;font:700 clamp(10px,1vw,15px) Arial,sans-serif;box-shadow:0 7px 18px #49342144;transition:transform .22s,box-shadow .22s}
.map-hotspot span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#7c552d;color:white;font:700 16px Arial,sans-serif}
.map-hotspot:hover,.map-hotspot:focus-visible{transform:translateY(-5px) rotate(-1deg);box-shadow:0 12px 24px #49342155;outline:3px solid #fff8}
.hs1{left:6%;top:58%}
.hs2{left:34%;top:27%}
.hs3{left:59%;top:48%}
.hs4{left:70%;top:69%}
.hs5{right:5%;top:26%}
.drawn-route{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}
.drawn-route path{fill:none;stroke:#fff4ce;stroke-width:7;stroke-linecap:round;stroke-dasharray:1700;stroke-dashoffset:1700;filter:drop-shadow(0 2px 2px #60472799);transition:stroke-dashoffset 2.6s ease}
.map-visual.in-view .drawn-route path{stroke-dashoffset:0}
.leaf{position:absolute;z-index:7;font-size:clamp(22px,3vw,46px);pointer-events:none;animation:plaviLeaf 5s ease-in-out infinite}
.leaf-a{left:47%;top:9%}
.leaf-b{right:17%;top:45%;animation-delay:-2s}
.fipps-peek{position:absolute;z-index:7;left:3%;bottom:-11px;font-size:clamp(40px,6vw,86px);transform:rotate(8deg);animation:fippsPeek 5s ease-in-out infinite}
.map-hint{text-align:center;margin:25px 20px 0;font:italic 18px/1.4 Georgia;color:#695339}
@keyframes plaviLeaf{0%,100%{transform:translate(0,0) rotate(-7deg)}50%{transform:translate(10px,10px) rotate(9deg)}}
@keyframes fippsPeek{0%,100%{transform:translateY(22px) rotate(8deg)}50%{transform:translateY(0) rotate(3deg)}}
@media (prefers-reduced-motion:reduce){.leaf,.fipps-peek{animation:none}
.drawn-route path{transition:none;stroke-dashoffset:0}}
@media(max-width:760px){.map-visual{padding-top:25px}
.map-picture{overflow-x:auto;overflow-y:hidden}
.map-picture>img,.drawn-route{width:1050px;max-width:none}
.map-picture{height:auto}
.map-hotspot{position:absolute}
.hs1{left:5%;top:58%}
.hs2{left:33%;top:27%}
.hs3{left:59%;top:48%}
.hs4{left:70%;top:69%}
.hs5{left:82%;right:auto;top:26%}
.map-hotspot b{display:none}}
/* V5 – Gründerinnen / Unsere Geschichte */
.founders-story{display:grid;grid-template-columns:.78fr 1.22fr;gap:54px;align-items:center;max-width:1240px;margin:0 auto;padding:78px 5vw 34px}
.founders-copy h2{font:500 clamp(38px,4.4vw,62px)/1.03 Georgia,serif;margin:10px 0 25px}
.founders-copy h2 em{color:var(--olive);font-weight:400}
.founders-copy p{font-size:17px;line-height:1.72;color:#665541}
.founders-line{margin-top:28px;padding-left:18px;border-left:3px solid var(--olive);font-family:Georgia,serif!important;font-style:italic}
.founders-image{margin:0;position:relative}
.founders-image:before{content:"";position:absolute;inset:-13px;border:1px solid #b99b6a;border-radius:25px;transform:rotate(-1deg);pointer-events:none}
.founders-image img{display:block;width:100%;border-radius:18px;box-shadow:0 18px 42px #4e3d2933}
@media(max-width:850px){.founders-story{grid-template-columns:1fr;padding-top:55px;gap:32px}
.founders-copy{order:2}
.founders-image{order:1}}
/* V6 – vollständige Seite Unsere Geschichte */
.story-intro{max-width:980px;margin:0 auto;padding:80px 6vw 45px}
.story-copy h2{font:500 clamp(38px,5vw,64px)/1.05 Georgia,serif;margin:10px 0 28px}
.story-copy p{font-size:18px;line-height:1.78;color:#665541}
.story-copy strong{color:#68764b}
.story-list{margin:26px 0 30px;padding-left:24px;font:17px/1.8 Georgia,serif;color:#5d4c39}
.story-copy blockquote{margin:38px 0 24px;padding:24px 28px;border-left:4px solid #68764b;background:#f5eedf;font:italic 28px/1.4 Georgia,serif;color:#4e402f}
.story-copy .closing{font-family:Georgia,serif;font-size:22px;font-style:italic}
.founders-story{display:grid;grid-template-columns:1.25fr .75fr;gap:58px;align-items:center;max-width:1280px;margin:20px auto 80px;padding:45px 5vw 70px}
.founders-image{margin:0;position:relative}
.founders-image:before{content:"";position:absolute;inset:-12px;border:1px solid #b99b6a;border-radius:24px;transform:rotate(-.8deg);pointer-events:none}
.founders-image img{display:block;width:100%;border-radius:18px;box-shadow:0 18px 42px #4e3d2933}
.founders-copy h2{font:500 clamp(38px,4.5vw,62px)/1.03 Georgia,serif;margin:10px 0 24px}
.founders-copy h2 em{color:#68764b;font-weight:400}
.founders-copy p{font-size:17px;line-height:1.72;color:#665541}
.founders-line{margin-top:28px;padding-left:18px;border-left:3px solid #68764b;font-family:Georgia,serif!important;font-style:italic}
@media(max-width:850px){.founders-story{grid-template-columns:1fr;gap:34px}
.story-intro{padding-top:55px}
.story-copy blockquote{font-size:23px}}
/* V7 – Joomla-freundliche PLAVI-Reise: Bilder und Texte vollständig getrennt */
.journey{position:relative;padding:100px 6vw 120px;background:#efe6d3;overflow:hidden}
.journey-head{max-width:760px;margin:0 auto 75px;text-align:center}
.journey-head h2{font:500 clamp(42px,5vw,68px)/1.03 Georgia,serif;margin:10px 0 20px}
.journey-head h2 em{color:#697647;font-weight:400}
.journey-head p{line-height:1.7;color:#6b5a45}
.journey-path{position:absolute;left:50%;top:310px;bottom:120px;width:120px;transform:translateX(-50%);z-index:0}
.journey-path svg{width:100%;height:100%}
.journey-path path{fill:none;stroke:#9d7d50;stroke-width:3;stroke-dasharray:8 10}
.journey-stop{position:relative;z-index:2;max-width:1100px;margin:0 auto 95px;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}
.journey-stop.right{grid-template-columns:.85fr 1.15fr}
.journey-stop.right .scene-button{order:2}
.journey-stop.right .journey-copy{order:1;text-align:right}
.scene-button{display:block;border-radius:30px;overflow:hidden;background:#dfe8d7;box-shadow:0 16px 36px #5a452b2b;transition:transform .3s,box-shadow .3s}
.scene-button:hover,.scene-button:focus-visible{transform:translateY(-8px) rotate(-.5deg);box-shadow:0 22px 44px #5a452b3d;outline:3px solid #fff8}
.scene-button img{display:block;width:100%;aspect-ratio:1.48/1;object-fit:cover}
.crew-scene img{object-position:center}
.journey-copy{background:#f9f4e9;padding:34px;border-radius:22px;border:1px solid #d8c7a8;box-shadow:0 10px 24px #59452e12}
.journey-copy span{font-size:11px;letter-spacing:.16em;font-weight:700;color:#806c50}
.journey-copy h3{font:500 clamp(31px,3.5vw,47px)/1 Georgia,serif;margin:10px 0 16px}
.journey-copy p{font-size:16px;line-height:1.65;color:#6c5a44}
.journey-copy>a{display:inline-block;margin-top:8px;color:#68764b;font-weight:700;text-decoration:none;border-bottom:1px solid #68764b}
.final-stop{margin-bottom:0}
@media(max-width:820px){.journey{padding:70px 5vw}
.journey-path{left:24px;top:270px;bottom:80px}
.journey-stop,.journey-stop.right{grid-template-columns:1fr;gap:20px;margin:0 0 70px;padding-left:28px}
.journey-stop.right .scene-button,.journey-stop.right .journey-copy{order:initial}
.journey-stop.right .journey-copy{text-align:left}
.journey-copy{padding:25px}
.scene-button{border-radius:22px}}
/* V8 – Geschichtenwelt */
.stories-hero{background:linear-gradient(135deg,#f5eddc,#dfe8d7)}
.story-world{padding:85px 6vw 100px;background:#f8f3e9}
.story-world-head{max-width:760px;margin:0 auto 55px;text-align:center}
.story-world-head h2{font:500 clamp(40px,5vw,64px)/1.05 Georgia,serif;margin:10px 0 18px}
.story-world-head p{line-height:1.7;color:#6b5a45}
.story-types{max-width:1080px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:26px}
.story-type{display:grid;grid-template-columns:72px 1fr;gap:20px;background:#fffaf0;border:1px solid #ddceb3;border-radius:24px;padding:30px;box-shadow:0 12px 28px #57442e12;transition:transform .25s,box-shadow .25s}
.story-type:hover{transform:translateY(-5px);box-shadow:0 17px 34px #57442e1d}
.story-symbol{width:66px;height:66px;display:grid;place-items:center;border-radius:50%;background:#e6ead6;color:#68764b;font:34px Georgia,serif}
.story-number{font-size:10px;letter-spacing:.18em;font-weight:700;color:#947a56}
.story-type h3{font:500 28px/1.1 Georgia,serif;margin:7px 0 14px}
.story-type p{font-size:15px;line-height:1.65;color:#685743}
.story-tagline{font:italic 18px/1.4 Georgia,serif!important;color:#68764b!important}
.story-note{padding-top:13px;border-top:1px solid #e3d8c3;font-family:Georgia,serif;font-style:italic}
.stories-future{padding:70px 8vw;background:#dfe7d1;display:flex;justify-content:space-between;gap:40px;align-items:center}
.stories-future>div{max-width:700px}
.stories-future h2{font:500 clamp(34px,4vw,52px)/1.05 Georgia,serif;margin:10px 0 15px}
.stories-future p{line-height:1.7}
@media(max-width:800px){.story-types{grid-template-columns:1fr}
.stories-future{display:block}
.stories-future .btn{margin-top:20px}
.story-type{grid-template-columns:55px 1fr;padding:23px}
.story-symbol{width:52px;height:52px;font-size:26px}}
/* Runa – eigene Bildstation und Unterseite */
.runa-stop .scene-button img{object-position:25% center}
.runa-page{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.runa-page img{width:100%;border-radius:22px}
.runa-page p{line-height:1.7}
@media(max-width:800px){.runa-page{grid-template-columns:1fr}}
/* Runa-Portrait freigestellt und proportional darstellen */
.runa-page > img{object-fit:contain;object-position:center;max-height:750px;width:100%;height:auto;background:transparent}
/* V11: Runa vollständig sichtbar statt abgeschnitten */
.runa-stop .scene-button{background:linear-gradient(145deg,#e6eadb,#f7eddb);padding:18px 18px 0;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;min-height:380px}
.runa-stop .scene-button img{width:100%;height:420px;aspect-ratio:auto;object-fit:contain;object-position:center bottom;display:block}
.runa-page>img{object-fit:contain!important;object-position:center center!important;max-height:none!important;height:auto!important;aspect-ratio:auto!important;border-radius:0!important}
@media(max-width:820px){.runa-stop .scene-button{min-height:290px;padding:10px 10px 0}
.runa-stop .scene-button img{height:330px}}
/* V12 – Joomla-taugliche,getrennte Steckbrief-Bausteine */
.profiles-section{padding:75px 6vw;background:#f8f3e8}
.profiles-intro{max-width:950px;margin:auto;text-align:center}
.profiles-intro h2,.runa-details h2{font:500 clamp(38px,5vw,60px)/1.08 Georgia,serif;margin:12px 0}
.profiles-intro p{line-height:1.7}
.crew-banner{display:block;width:100%;border-radius:24px;margin:30px 0}
.profile-nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:30px auto 45px}
.profile-nav a{padding:10px 16px;border-radius:40px;background:#e5e9d9;color:#4d5c3b;text-decoration:none;font-weight:700}
.profile-grid{max-width:1150px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.profile{scroll-margin-top:100px;display:grid;grid-template-columns:38% 1fr;gap:22px;background:#fffaf0;border:1px solid #e0d2b8;border-radius:22px;padding:20px;align-items:center}
.profile-media{background:#e6e9db;border-radius:16px;overflow:hidden;min-height:220px;display:grid;place-items:center}
.profile-media img{width:100%;height:100%;max-height:260px;object-fit:contain}
.profile-icon{font-size:60px}
.profile-text h3{font:500 35px Georgia,serif;margin:8px 0 15px}
.profile dl,.runa-details dl{margin:0}
.profile dt,.runa-details dt{font-size:12px;font-weight:700;letter-spacing:.09em;color:#6d7a4c;margin-top:14px}
.profile dd,.runa-details dd{margin:5px 0 0;line-height:1.5}
.profile p{font-size:14px;line-height:1.6;color:#76654d}
.profile a,.runa-link{font-weight:700;color:#65774a;text-decoration:none}
.runa-section{scroll-margin-top:90px;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;max-width:1100px;margin:80px auto;padding:0 5vw}
.runa-photo{background:#e7e9d8;border-radius:25px;text-align:center}
.runa-photo img{display:block;width:100%;max-height:630px;object-fit:contain}
.runa-details p{font-size:17px;line-height:1.7}
.runa-link{display:inline-block;margin-top:25px}
.profile:target,.runa-section:target{outline:3px solid #bd9b68;outline-offset:5px}
@media(max-width:850px){.profile-grid{grid-template-columns:1fr}
.runa-section{grid-template-columns:1fr;gap:25px}
.profile{grid-template-columns:38% 1fr}}
@media(max-width:470px){.profile{grid-template-columns:1fr}
.profile-media{min-height:180px}}

/* =====================================================================
   PLAVI KIDS – Anpassung an Cassiopeia (Child-Template)
   Bildet Kopfzeile, Menü und Footer der V12-Seite auf die
   Standard-Struktur von Cassiopeia ab. Cassiopeia selbst bleibt unverändert.
   ===================================================================== */

:root {
  --cassiopeia-color-primary: #74552f;
  --cassiopeia-color-link: #74552f;
  --cassiopeia-color-hover: #65703f;
  --body-bg: #f6f0e3;
  --body-color: #4b3827;
  --link-color: #74552f;
  --link-hover-color: #65703f;
  --plavi-header-h: 92px;
}

body.site {
  font-family: Georgia, "Times New Roman", serif;
  color: #4b3827;
  background: #f6f0e3;
  font-size: 1rem;
  line-height: normal;
}

body.site h1, body.site h2, body.site h3, body.site h4 {
  font-family: inherit;
  color: inherit;
}

body.site p { margin: 1em 0; }
body.site figure { margin: 0; }

/* ---------- Kopfzeile ---------- */

.container-header {
  display: flex;
  align-items: center;
  gap: 34px;
  min-height: var(--plavi-header-h);
  padding: 8px 5vw;
  background: rgba(248, 243, 232, .94);
  background-image: none;
  border-bottom: 1px solid #d8ccb4;
  box-shadow: none;
  color: #493a2a;
  z-index: 50;
}

.container-header .grid-child {
  padding: 0;
  max-width: none;
  margin: 0;
  flex: 0 0 auto;
  width: auto;
}

.container-header .navbar-brand { padding: 0; margin: 0; }

.container-header .brand-logo img {
  width: 76px;
  height: 76px;
  object-fit: cover;
  border-radius: 50%;
}

.container-header .container-nav {
  flex: 1 1 auto;
  flex-wrap: nowrap;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  padding: 0;
}

.container-header nav { margin: 0 auto; flex: 0 1 auto; }
.container-header .navbar { padding: 0; }

.container-header .mod-menu {
  display: flex;
  gap: 28px;
  color: #493a2a;
  flex: 0 1 auto;
}

.container-header .metismenu.mod-menu .metismenu-item { padding: 0; }

.container-header .mod-menu > li { padding: 0; margin: 0; }

.container-header .mod-menu a,
.container-header .metismenu.mod-menu .metismenu-item > a {
  color: #493a2a;
  text-decoration: none;
  font: 14px Arial, sans-serif;
  padding: 0;
  background: none;
}

.container-header .mod-menu a:hover,
.container-header .mod-menu a:focus,
.container-header .mod-menu a[aria-current] {
  color: #65703f;
  text-decoration: underline;
  text-underline-offset: 6px;
}

.container-header .container-search { margin: 0; }
.container-header .top-cta { background: #65703f !important; }
.container-header .container-search .mod-custom { margin: 0; }

.container-header .navbar-toggler {
  border: 0;
  color: #493a2a;
  font-size: 25px;
  padding: 4px 8px;
}

/* ---------- Inhaltsbereich: volle Breite wie in V12 ---------- */

.site-grid {
  display: block;
  margin: 0;
  padding: 0;
  gap: 0;
}

.site-grid > .grid-child,
.site-grid .container-component {
  max-width: none;
  margin: 0;
  padding: 0;
  display: block;
}

.container-component > main { margin: 0; }

.com-content-article.item-page,
.com-content-article .com-content-article__body { margin: 0; }

/* Systemmeldungen */
#system-message-container:not(:empty) { padding: 20px 7vw 0; }

/* Kopfbereich eines Menüeintrags (z. B. Kontakt) */
.container-component > .mod-custom,
.container-component > .moduletable { margin: 0; }

/* ---------- Kontaktformular (com_contact) ---------- */

.com-contact { padding: 0 7vw 90px; }
.com-contact > h2 { display: none; } /* Überschrift „Kontaktformular“ – der Kopfbereich kommt aus dem Modul */

.com-contact .contact-form,
.com-contact__form {
  max-width: 680px;
  margin: 50px auto 0;
}

.com-contact__form form.well { background: none; border: 0; padding: 0; }

.com-contact__form fieldset { display: grid; gap: 12px; border: 0; padding: 0; }
.com-contact__form legend { display: none; }

.com-contact__form .control-group { margin: 0; display: block; }
.com-contact__form .control-label { width: auto; padding: 0 0 4px; font: 13px Arial, sans-serif; color: #6b5c49; }
.com-contact__form .controls { margin: 0; }

.com-contact__form input[type="text"],
.com-contact__form input[type="email"],
.com-contact__form textarea {
  width: 100%;
  padding: 14px;
  border: 1px solid #c7b697;
  border-radius: 16px;
  background: #fffdf8;
  font: 16px Arial, sans-serif;
  color: #4b3827;
}

.com-contact__form textarea { min-height: 150px; }

.com-contact__form .field-spacer { font: 12px Arial, sans-serif; color: #7a694f; }
.com-contact__form .field-spacer .red { color: #a2472f; }

/* Datenschutz-Zustimmung */
.com-contact__form .control-group:has(#jform_consentbox) { margin-top: 8px; }
.com-contact__form #jform_consentbox { display: block; border: 0; padding: 0; margin: 4px 0 0; }
.com-contact__form #jform_consentbox .form-check { display: flex; align-items: center; gap: 10px; padding: 0; margin: 0; }
.com-contact__form #jform_consentbox .form-check-input { float: none; width: 18px; height: 18px; margin: 0; flex: 0 0 18px; accent-color: #74552f; }
.com-contact__form #jform_consentbox .form-check-label { font: 15px Georgia, serif; color: #4b3827; }

.com-contact__form .btn-primary {
  display: block;
  width: 100%;
  background: #74552f;
  border: 0;
  color: #fff;
  border-radius: 999px;
  padding: 15px 23px;
  font: 600 13px Arial, sans-serif;
  letter-spacing: .02em;
  margin-top: 10px;
}

.com-contact__form .btn-primary:hover { background: #65703f; }

/* ---------- Newsletter-Modul ---------- */

.container-bottom-a { padding: 0; }

/* ---------- Footer ---------- */

.container-footer {
  padding: 50px 6vw 25px;
  background: #433c2f;
  background-image: none;
  color: #f7efe1;
}

.container-footer .grid-child {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  gap: 40px;
  max-width: 1100px;
  margin: auto;
  padding: 0;
  align-items: start;
}

.container-footer .grid-child > :has(.plavi-footer-legal) { grid-column: 1 / -1; }

.container-footer img { width: 95px; border-radius: 50%; }
.container-footer p { font: 15px/1.5 Georgia, serif; }

.plavi-footer-menu__title { display: block; font: 700 15px Georgia, serif; margin-bottom: 4px; }

.container-footer a,
.plavi-footer-menu a {
  display: block;
  color: #f7efe1;
  text-decoration: none;
  margin: 9px 0;
  font: 13px Arial, sans-serif;
}

.container-footer a:hover { text-decoration: underline; color: #fff; }

.plavi-footer-legal {
  margin-top: -10px;
  border-top: 1px solid #766d5d;
  padding-top: 18px;
  font: 11px Arial, sans-serif;
  color: #cfc4b3;
}

.back-to-top-link { background: #74552f; }

/* ---------- Mobil ---------- */

@media (max-width: 991.98px) {
  :root { --plavi-header-h: 72px; }
  .container-header { position: sticky; flex-wrap: wrap; gap: 12px; }
  .container-header .brand-logo img { width: 56px; height: 56px; }
  .container-header .container-search { display: none; }
  .container-header .container-nav { justify-content: flex-end; }
  .container-header nav { margin: 0; position: static; }
  .container-header .navbar-collapse {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #f8f3e8;
    padding: 25px;
    border-bottom: 1px solid #d8ccb4;
  }
  .container-header .mod-menu { flex-direction: column; gap: 18px; }
  .container-footer .grid-child { grid-template-columns: 1fr; }
}
