/* ===================================================================
   Thaulle Rooms — scoped styles v3 (auto-generiert, tha- Namespacing)
   Light-DOM, SEO-sicher. Lädt NUR auf der Seite zimmer-entwurf.
   Alle Mockup-Klassen sind mit .tha- präfixt → keine Kollision mit Inspiro.
   =================================================================== */
/* Theme-Bleed-Isolation: all:revert NUR auf HTML-Content-Elemente — NICHT auf
   svg/path (all:revert zerstört SVG-Geometrie irreversibel → Icons unsichtbar).
   Element-Liste statt *  → cross-browser (kein Selectors-L4 :not nötig).
   box-sizing/margin/padding bleiben universell (für svg unschädlich). */
.thaulle-page,
.thaulle-page div, .thaulle-page section, .thaulle-page article, .thaulle-page header, .thaulle-page footer, .thaulle-page nav, .thaulle-page main, .thaulle-page aside,
.thaulle-page h1, .thaulle-page h2, .thaulle-page h3, .thaulle-page h4, .thaulle-page h5, .thaulle-page h6,
.thaulle-page p, .thaulle-page span, .thaulle-page a, .thaulle-page strong, .thaulle-page em, .thaulle-page b, .thaulle-page i, .thaulle-page small, .thaulle-page sup, .thaulle-page sub, .thaulle-page mark,
.thaulle-page ul, .thaulle-page ol, .thaulle-page li, .thaulle-page dl, .thaulle-page dt, .thaulle-page dd,
.thaulle-page blockquote, .thaulle-page cite, .thaulle-page address, .thaulle-page figure, .thaulle-page figcaption, .thaulle-page hr, .thaulle-page br,
.thaulle-page img, .thaulle-page picture, .thaulle-page button, .thaulle-page label,
.thaulle-page *::before, .thaulle-page *::after{ all: revert; }
.thaulle-page *{ box-sizing: border-box; margin: 0; padding: 0; }
/* ROOTFIX box-sizing: all:revert (0,1,1) schlägt sonst .thaulle-page *{box-sizing} (0,1,0)
   → Container fielen auf content-box zurück → width:100%+padding zu breit. Gleiche Spezifität,
   lädt danach → border-box gewinnt. */
.thaulle-page, .thaulle-page div, .thaulle-page section, .thaulle-page article, .thaulle-page header, .thaulle-page footer, .thaulle-page nav, .thaulle-page main, .thaulle-page aside, .thaulle-page h1,.thaulle-page h2,.thaulle-page h3,.thaulle-page h4,.thaulle-page h5,.thaulle-page h6, .thaulle-page p,.thaulle-page span,.thaulle-page a,.thaulle-page ul,.thaulle-page ol,.thaulle-page li,.thaulle-page blockquote,.thaulle-page figure,.thaulle-page figcaption,.thaulle-page img,.thaulle-page button,.thaulle-page label,.thaulle-page summary,.thaulle-page details{ box-sizing: border-box; }
html{ font-size: 100% !important; }

.thaulle-page{--ink:#241c17; --ink-soft:#5e544c; --ink-mute:#8a7f73; --red:#7d1418; --red-2:#9c1b1f; --red-bright:#b22a22; --gold:#c2a04e; --gold-deep:#a07c2f; --gold-soft:#e0ca90; --cream:#faf5ea; --cream-2:#f4ecda; --sand:#ece0c8; --line:#e6d8bf; --white:#fff; --serif:'Philosopher',Georgia,'Times New Roman',serif; --sans:'Raleway',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; --maxw:1240px; --shadow:0 24px 60px -28px rgba(60,30,12,.45);}
.thaulle-page *{box-sizing:border-box;margin:0;padding:0}
.thaulle-page{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.75;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.thaulle-page img{max-width:100%;display:block}
.thaulle-page a{color:inherit;text-decoration:none}
.thaulle-page h1, .thaulle-page h2, .thaulle-page h3, .thaulle-page h4{font-family:var(--serif);font-weight:700;line-height:1.12;color:var(--ink);letter-spacing:.005em}
.thaulle-page .tha-container{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.thaulle-page .tha-eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-deep);display:inline-flex;align-items:center;gap:.7em;margin-bottom:1.1rem}
.thaulle-page .tha-eyebrow::before{content:"";width:34px;height:1px;background:var(--gold)}
.thaulle-page .tha-eyebrow.tha-center{justify-content:center}
.thaulle-page .tha-eyebrow.tha-center::after{content:"";width:34px;height:1px;background:var(--gold)}
.thaulle-page .tha-lead{font-size:1.18rem;color:var(--ink-soft);font-weight:400}
.thaulle-page .tha-section{padding:7rem 0}
.thaulle-page .tha-section.tha-tight{padding:5rem 0}
.thaulle-page .tha-btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--sans);font-weight:600;font-size:.92rem;letter-spacing:.04em;padding:1rem 2rem;border-radius:2px;cursor:pointer;border:1px solid transparent;transition:.3s;text-transform:uppercase}
.thaulle-page .tha-btn-primary{background:var(--red);color:#fff}
.thaulle-page .tha-btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:#fff}
.thaulle-page .tha-btn-outline{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}
.thaulle-page .tha-btn-outline-dark{background:transparent;border-color:var(--gold);color:var(--red)}
.thaulle-page .tha-hero{position:relative;min-height:66vh;display:flex;align-items:center;margin-top:-122px;padding-top:122px;color:#fff;overflow:hidden}
.thaulle-page .tha-hero-bg{position:absolute;inset:0;background:url('https://thaulle.com/wp-content/uploads/2026/06/hero-bg.jpg') center/cover no-repeat;transform:scale(1.04)}
.thaulle-page .tha-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,15,8,.62) 0%,rgba(30,15,8,.34) 38%,rgba(40,18,10,.6) 78%,rgba(60,24,12,.85) 100%)}
.thaulle-page .tha-hero .tha-container{position:relative;z-index:2;padding-top:3rem;padding-bottom:4rem;max-width:1180px}
.thaulle-page .tha-hero .tha-eyebrow{color:var(--gold-soft)}
.thaulle-page .tha-hero .tha-eyebrow::before{background:var(--gold-soft)}
.thaulle-page .tha-hero h1{font-size:clamp(2.3rem,4.8vw,3.9rem);color:#fff;max-width:18ch;text-shadow:0 2px 30px rgba(0,0,0,.3)}
.thaulle-page .tha-hero p.tha-sub{font-size:clamp(1.05rem,1.8vw,1.28rem);max-width:52ch;margin:1.6rem 0 2.4rem;color:rgba(255,255,255,.92);font-weight:400}
.thaulle-page .tha-hero-cta{display:flex;gap:1rem;flex-wrap:wrap}
.thaulle-page .tha-hero-rating{display:flex;align-items:center;gap:1.6rem;margin-top:2.6rem;flex-wrap:wrap;font-size:.86rem;letter-spacing:.03em}
.thaulle-page .tha-hero-rating .tha-grp{display:flex;align-items:center;gap:.5em}
.thaulle-page .tha-hero-rating .tha-stars{color:var(--gold-soft);letter-spacing:2px}
.thaulle-page .tha-hero-rating b{font-weight:700}
.thaulle-page .tha-hero-rating .tha-div{width:1px;height:26px;background:rgba(255,255,255,.3)}
.thaulle-page .tha-trust{background:var(--white);border-bottom:1px solid var(--line)}
.thaulle-page .tha-trust .tha-container{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:2.2rem;padding-bottom:2.2rem}
.thaulle-page .tha-trust .tha-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.2rem;flex:1;min-width:140px}
.thaulle-page .tha-trust .tha-item .tha-big{font-family:var(--serif);font-size:1.5rem;color:var(--red);font-weight:700}
.thaulle-page .tha-trust .tha-item .tha-lbl{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-mute)}
.thaulle-page .tha-trust .tha-item .tha-stars{color:var(--gold);font-size:.85rem;letter-spacing:1px}
.thaulle-page .tha-trust .tha-vline{width:1px;background:var(--line);align-self:stretch}
@media(max-width:760px){
.thaulle-page .tha-trust .tha-vline{display:none}
.thaulle-page .tha-trust .tha-item{flex:0 0 45%}
}
.thaulle-page .tha-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,5.5rem);align-items:center}
.thaulle-page .tha-split.tha-rev .tha-txt{order:2}
.thaulle-page .tha-split .tha-imgwrap{position:relative}
.thaulle-page .tha-split .tha-imgwrap img{border-radius:3px;box-shadow:var(--shadow);width:100%;height:100%;object-fit:cover;aspect-ratio:4/3.1}
.thaulle-page .tha-split .tha-imgwrap .tha-tag{position:absolute;bottom:-22px;background:var(--red);color:#fff;padding:1rem 1.5rem;border-radius:2px;max-width:74%}
.thaulle-page .tha-split .tha-imgwrap .tha-tag b{font-family:var(--serif);font-size:1.3rem;display:block}
.thaulle-page .tha-split .tha-imgwrap .tha-tag small{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
.thaulle-page .tha-split.tha-rev .tha-imgwrap .tha-tag{right:auto;left:0}
.thaulle-page .tha-split h2{font-size:clamp(2rem,3.6vw,2.9rem);margin-bottom:1.3rem}
.thaulle-page .tha-split p+p{margin-top:1.1rem}
.thaulle-page .tha-split .tha-btn{margin-top:2rem}
@media(max-width:860px){
.thaulle-page .tha-split{grid-template-columns:1fr}
.thaulle-page .tha-split.tha-rev .tha-txt{order:0}
.thaulle-page .tha-split .tha-imgwrap .tha-tag{position:static;margin-top:1rem;max-width:100%}
}
.thaulle-page .tha-intro-prose{max-width:74ch;margin:0 auto}
.thaulle-page .tha-intro-prose p{font-size:1.06rem;color:var(--ink-soft)}
.thaulle-page .tha-intro-prose p+p{margin-top:1.2rem}
.thaulle-page .tha-intro-prose strong{color:var(--ink);font-weight:600}
.thaulle-page .tha-intro-claim{margin-top:2.6rem;text-align:center;font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,2.4vw,1.95rem);color:var(--red);max-width:24ch;margin-left:auto;margin-right:auto;line-height:1.35}
.thaulle-page .tha-cat{padding:6rem 0}
.thaulle-page .tha-cat.tha-alt{background:var(--white)}
.thaulle-page .tha-cat-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem}
.thaulle-page .tha-cat-head .tha-ttl{max-width:42ch}
.thaulle-page .tha-cat-head h2{font-size:clamp(1.9rem,3.4vw,2.7rem);margin-top:.2rem}
.thaulle-page .tha-cat-badge{display:inline-flex;align-items:center;gap:.7em;background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:#fff;border-radius:40px;padding:.55rem 1.2rem;font-size:.8rem;font-weight:600;letter-spacing:.04em;white-space:nowrap;box-shadow:0 10px 24px -14px rgba(160,124,47,.7)}
.thaulle-page .tha-cat-badge .tha-sep{width:1px;height:1em;background:rgba(255,255,255,.5)}
.thaulle-page .tha-cat-hero{position:relative;border-radius:3px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:16/9;background:var(--sand)}
.thaulle-page .tha-cat-hero img{width:100%;height:100%;object-fit:cover;transition:1.2s ease}
.thaulle-page .tha-cat-teaser{font-size:1.06rem;color:var(--ink-soft);max-width:70ch;margin:1.8rem 0 .4rem}
.thaulle-page .tha-cat-foot{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:2rem}
.thaulle-page .tha-cat-foot .tha-feats{display:flex;gap:1.4rem;flex-wrap:wrap;font-size:.86rem;color:var(--ink-mute)}
.thaulle-page .tha-cat-foot .tha-feats span{display:inline-flex;align-items:center;gap:.45em}
.thaulle-page .tha-cat-foot .tha-feats span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex:0 0 auto}
.thaulle-page .tha-gallery{display:grid;gap:.9rem;margin-top:1.8rem;grid-template-columns:repeat(3,1fr)}
.thaulle-page .tha-gallery .tha-tile{position:relative;overflow:hidden;border-radius:4px;aspect-ratio:4/3;cursor:pointer;background:var(--sand);margin:0}
.thaulle-page .tha-gallery .tha-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:.6s}
.thaulle-page .tha-gallery .tha-tile::after{content:"";position:absolute;inset:0;background:rgba(40,18,10,0);transition:.3s}
.thaulle-page .tha-gallery .tha-tile .tha-zoom{position:absolute;top:.7rem;right:.7rem;width:34px;height:34px;border-radius:50%;background:rgba(20,12,8,.42);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.8);transition:.3s;z-index:3}
.thaulle-page .tha-gallery .tha-tile .tha-zoom svg{width:16px;height:16px;color:#fff}
.thaulle-page .tha-gallery .tha-tile .tha-cap{position:absolute;left:0;right:0;bottom:0;padding:1.4rem .9rem .7rem;background:linear-gradient(transparent,rgba(40,18,10,.82));color:#fff;font-size:.8rem;font-weight:500;opacity:0;transform:translateY(8px);transition:.3s;z-index:2}
.thaulle-page .tha-gallery.tha-feature .tha-tile:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
@media(max-width:920px){
.thaulle-page .tha-gallery{grid-template-columns:repeat(2,1fr)}
.thaulle-page .tha-gallery.tha-feature .tha-tile:first-child{grid-column:span 2;grid-row:auto;aspect-ratio:16/9}
}
@media(max-width:520px){
.thaulle-page .tha-gallery{grid-template-columns:1fr 1fr;gap:.6rem}
.thaulle-page .tha-gallery.tha-feature .tha-tile:first-child{grid-column:span 2;aspect-ratio:4/3}
}
.thaulle-page .tha-equip{background:var(--cream-2)}
.thaulle-page .tha-equip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem 3rem;margin-top:3rem}
.thaulle-page .tha-equip-grid li{list-style:none;display:flex;gap:.8em;align-items:flex-start;padding:.7rem 0;border-bottom:1px solid var(--line);font-size:.98rem;color:var(--ink-soft)}
.thaulle-page .tha-equip-grid li svg{flex:0 0 20px;color:var(--gold-deep);margin-top:5px}
@media(max-width:760px){
.thaulle-page .tha-equip-grid{grid-template-columns:1fr;gap:0}
}
.thaulle-page .tha-pricing{background:var(--cream)}
.thaulle-page .tha-offer-ribbon{background:linear-gradient(135deg,var(--red),var(--red-2));color:#fff;border-radius:6px;padding:2.4rem;display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:center;margin-bottom:2.4rem;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.thaulle-page .tha-offer-ribbon .tha-ele{position:absolute;right:-30px;top:-30px;width:240px;opacity:.12}
.thaulle-page .tha-offer-ribbon .tha-o-eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);font-weight:700;margin-bottom:.6rem}
.thaulle-page .tha-offer-ribbon h3{color:#fff;font-size:1.9rem;margin-bottom:.4rem}
.thaulle-page .tha-offer-ribbon p{color:rgba(255,255,255,.88);font-size:.95rem}
.thaulle-page .tha-offer-pills{display:flex;gap:.7rem;flex-wrap:wrap;position:relative;z-index:2}
.thaulle-page .tha-offer-pills .tha-pill{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:40px;padding:.7rem 1.1rem;text-align:center}
.thaulle-page .tha-offer-pills .tha-pill b{display:block;font-family:var(--serif);font-size:1.3rem;color:var(--gold-soft)}
.thaulle-page .tha-offer-pills .tha-pill small{font-size:.7rem;letter-spacing:.05em;opacity:.85}
.thaulle-page .tha-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.thaulle-page .tha-plan{background:#fff;border:1px solid var(--line);border-radius:6px;padding:2.6rem;position:relative;transition:.3s;display:flex;flex-direction:column}
.thaulle-page .tha-plan.tha-feat{border:1.5px solid var(--gold)}
.thaulle-page .tha-plan .tha-badge{position:absolute;top:-13px;left:2.6rem;background:var(--gold);color:#fff;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;padding:.4em .9em;border-radius:30px}
.thaulle-page .tha-plan .tha-p-name{font-family:var(--serif);font-size:1.7rem;color:var(--red);margin-bottom:.3rem}
.thaulle-page .tha-plan .tha-p-for{font-size:.85rem;color:var(--ink-mute);margin-bottom:1.4rem;min-height:2.6em}
.thaulle-page .tha-plan .tha-price{display:flex;align-items:baseline;gap:.3rem;margin-bottom:.3rem}
.thaulle-page .tha-plan .tha-price .tha-ab{font-size:.8rem;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.1em}
.thaulle-page .tha-plan .tha-price .tha-num{font-family:var(--serif);font-size:3rem;color:var(--ink);line-height:1;font-weight:700}
.thaulle-page .tha-plan .tha-price .tha-per{color:var(--ink-mute);font-size:.95rem}
.thaulle-page .tha-plan .tha-minstay{font-size:.82rem;color:var(--gold-deep);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1.5rem}
.thaulle-page .tha-plan ul{list-style:none;margin-bottom:1.8rem}
.thaulle-page .tha-plan ul li{display:flex;gap:.7em;padding:.5rem 0;font-size:.92rem;color:var(--ink-soft);border-bottom:1px solid var(--cream-2)}
.thaulle-page .tha-plan ul li svg{flex:0 0 18px;color:var(--gold-deep);margin-top:3px}
.thaulle-page .tha-plan .tha-btn{width:100%;justify-content:center;margin-top:auto}
.thaulle-page .tha-price-note{text-align:center;font-size:.84rem;color:var(--ink-mute);margin-top:2rem;max-width:64ch;margin-left:auto;margin-right:auto}
.thaulle-page .tha-incl-box{background:#fff;border:1px solid var(--line);border-radius:6px;padding:2.4rem;margin-top:2rem}
.thaulle-page .tha-incl-box h4{font-size:1.2rem;color:var(--red);margin-bottom:1.2rem}
.thaulle-page .tha-incl-list{columns:2;column-gap:2.5rem}
.thaulle-page .tha-incl-list li{list-style:none;display:flex;gap:.6em;padding:.4rem 0;font-size:.9rem;color:var(--ink-soft);break-inside:avoid}
.thaulle-page .tha-incl-list li svg{flex:0 0 16px;color:var(--gold-deep);margin-top:4px}
@media(max-width:820px){
.thaulle-page .tha-offer-ribbon, .thaulle-page .tha-plan-grid{grid-template-columns:1fr}
.thaulle-page .tha-incl-list{columns:1}
}
.thaulle-page .tha-week{display:grid;grid-template-columns:repeat(7,1fr);gap:1rem;margin-top:3rem}
.thaulle-page .tha-week .tha-day{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:5px;padding:1.5rem 1rem;text-align:center;transition:.3s}
.thaulle-page .tha-week .tha-day .tha-dn{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);font-weight:700;margin-bottom:.7rem}
.thaulle-page .tha-week .tha-day .tha-dt{font-family:var(--serif);font-size:1.02rem;color:var(--ink);line-height:1.3}
@media(max-width:1000px){
.thaulle-page .tha-week{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:560px){
.thaulle-page .tha-week{grid-template-columns:1fr 1fr}
}
.thaulle-page .tha-shuttle{margin-top:2.2rem;background:var(--red);color:#fbeed8;border-radius:6px;padding:1.6rem 2rem;display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap}
.thaulle-page .tha-shuttle svg{width:34px;height:34px;color:var(--gold-soft);flex:0 0 auto}
.thaulle-page .tha-shuttle b{color:#fff;font-family:var(--serif);font-size:1.12rem}
.thaulle-page .tha-certs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3.2rem}
.thaulle-page .tha-cert{background:#fff;border:1px solid var(--line);border-radius:4px;padding:2rem;text-align:center}
.thaulle-page .tha-cert .tha-seal{width:54px;height:54px;margin:0 auto 1rem;color:var(--gold-deep)}
.thaulle-page .tha-cert h3{font-size:1.15rem;color:var(--red);margin-bottom:.6rem}
.thaulle-page .tha-cert p{font-size:.86rem;color:var(--ink-soft)}
.thaulle-page .tha-cert p a{color:var(--gold-deep);font-weight:600;border-bottom:1px solid var(--gold-soft);transition:.2s}
.thaulle-page .tha-cert p a:hover{color:var(--red);border-color:var(--red)}
.thaulle-page .tha-reviews-quotes{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:3.2rem}
.thaulle-page .tha-reviews-quotes blockquote{background:var(--cream-2);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:4px;padding:1.8rem 2rem;margin:0;font-family:var(--serif);font-style:italic;font-size:1.06rem;color:var(--ink);line-height:1.55}
.thaulle-page .tha-reviews-quotes blockquote cite{display:block;margin-top:1rem;font-family:var(--sans);font-style:normal;font-size:.8rem;font-weight:600;letter-spacing:.04em;color:var(--gold-deep);text-transform:uppercase}
@media(max-width:760px){
.thaulle-page .tha-certs{grid-template-columns:1fr}
.thaulle-page .tha-reviews-quotes{grid-template-columns:1fr}
}
.thaulle-page .tha-finalcta{background:linear-gradient(135deg,var(--red),#5e0f12);color:#fff;text-align:center;position:relative;overflow:hidden}
.thaulle-page .tha-finalcta .tha-ele{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:680px;opacity:.07;pointer-events:none}
.thaulle-page .tha-finalcta h2{color:#fff;font-size:clamp(2.1rem,4vw,3.2rem);position:relative}
.thaulle-page .tha-finalcta p{color:rgba(255,255,255,.85);max-width:54ch;margin:1.2rem auto 2.4rem;position:relative}
.thaulle-page .tha-finalcta .tha-btn{position:relative}
.thaulle-page .tha-lb{position:fixed;inset:0;background:rgba(15,8,4,.93);z-index:120;display:none;align-items:center;justify-content:center}
.thaulle-page .tha-lb.tha-open{display:flex}
.thaulle-page .tha-lb img{max-width:90%;max-height:90%;object-fit:contain;border-radius:4px;box-shadow:0 30px 80px -20px #000}
.thaulle-page .tha-lb .tha-lb-cap{position:absolute;bottom:58px;left:0;right:0;text-align:center;color:#f3e7d4;font-size:.92rem;letter-spacing:.04em;padding:0 1rem}
.thaulle-page .tha-lb .tha-lb-count{position:absolute;bottom:30px;left:0;right:0;text-align:center;color:#9c8d79;font-size:.78rem;letter-spacing:.12em}
.thaulle-page .tha-lb .tha-lb-x{position:absolute;top:20px;right:26px;color:#fff;font-size:2.2rem;line-height:1;background:none;border:none;cursor:pointer;width:44px;height:44px;border-radius:50%;transition:.2s}
.thaulle-page .tha-lb .tha-lb-x:hover{background:rgba(255,255,255,.12)}
.thaulle-page .tha-lb .tha-lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);color:#fff;width:52px;height:52px;border-radius:50%;font-size:1.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}
.thaulle-page .tha-lb .tha-lb-nav:hover{background:rgba(255,255,255,.22)}
.thaulle-page .tha-lb .tha-lb-prev{left:18px}
.thaulle-page .tha-lb .tha-lb-next{right:18px}
.thaulle-page .tha-lb :focus-visible, .thaulle-page .tha-gallery .tha-tile:focus-visible, .thaulle-page a:focus-visible, .thaulle-page .tha-btn:focus-visible, .thaulle-page .tha-burger:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px}
@media(max-width:560px){
.thaulle-page .tha-lb .tha-lb-nav{width:42px;height:42px}
.thaulle-page .tha-lb .tha-lb-prev{left:8px}
.thaulle-page .tha-lb .tha-lb-next{right:8px}
}

/* === (C) Basis / Layout / Fixes ============================== */
.thaulle-page{ font-size: 1rem; line-height: 1.75; }
.thaulle-page img{ max-width: 100%; height: auto; display: block; }

/* === Elementor global-kit Bleed-Abwehr ======================
   .elementor-kit-16 a{line-height:1.3px;font-family:Raleway;font-weight:500;color:…}
   ist ein ELEMENT-Selektor (0,1,1) → trifft ALLE <a> (auch Trust-Items) und
   kollabiert deren Zeilenhöhe auf 1.3px. Namespacing hilft hier nicht.
   Unsere a-Basis hat gleiche Spezifität und lädt SPÄTER → gewinnt.
   Buttons (.tha-btn, 0,2,0) überschreiben line-height selbst. */
.thaulle-page a{ line-height: inherit; font-family: inherit; font-weight: inherit; color: inherit; text-decoration: none; }
.thaulle-page h1, .thaulle-page h2, .thaulle-page h3, .thaulle-page h4, .thaulle-page h5, .thaulle-page h6{ font-family: var(--serif); line-height: 1.12; }
.thaulle-page p{ margin: 0; }

/* SVG-Icons: svg ist von all:revert ausgenommen (s.o.) → Präsentationsattribute
   (fill="none" stroke="currentColor" stroke-width=…) wirken nativ. Leichte
   Absicherung gegen evtl. Theme-svg-Styling; stroke-width bleibt nativ. */
.thaulle-page svg{ fill: none; stroke: currentColor; }
.thaulle-page svg path, .thaulle-page svg circle, .thaulle-page svg rect, .thaulle-page svg line, .thaulle-page svg polyline, .thaulle-page svg polygon{ fill: none; stroke: currentColor; }

/* Hero: kein Mockup-Header → Negativmargin/Top-Padding weg, full-bleed */
.thaulle-page .tha-hero{ margin-top: 0; padding-top: 0; }
/* Full-Width: .tha-container im Flex-Hero war Schrumpf-Item → width:100% */
.thaulle-page .tha-container{ width: 100%; margin-inline: auto; }

/* Reveal-on-Scroll (flash-frei via html.thaulle-js; ohne JS sichtbar) */
.thaulle-page .tha-reveal{ transition: opacity .9s ease, transform .9s ease; }
html.thaulle-js .thaulle-page .tha-reveal{ opacity: 0; transform: translateY(30px); }
html.thaulle-js .thaulle-page .tha-reveal.tha-in{ opacity: 1; transform: none; }

/* === D2/D3 — Eigenständiger Button tha-btn (löst Theme-.btn ab) === */
.thaulle-page .tha-btn{
  display: inline-flex; align-items: center; justify-content: center; gap: .6em;
  font-family: var(--sans); font-weight: 600; font-size: .92rem; letter-spacing: .04em;
  line-height: 1.3; text-align: center; white-space: normal;
  padding: 1rem 1.8rem; height: auto; min-height: 0; width: auto;
  border: 1px solid transparent; border-radius: 2px; cursor: pointer;
  text-transform: uppercase; text-decoration: none; transition: .3s;
  -webkit-appearance: none; appearance: none; box-shadow: none;
}
.thaulle-page .tha-btn::before, .thaulle-page .tha-btn::after{ content: none; }
.thaulle-page .tha-btn-primary{ background: var(--red); color: #fff; border-color: var(--red); }
.thaulle-page .tha-btn-gold{ background: linear-gradient(135deg,var(--gold),var(--gold-deep)); color: #fff; border-color: transparent; }
.thaulle-page .tha-btn-outline{ background: transparent; border-color: rgba(255,255,255,.7); color: #fff; }
.thaulle-page .tha-btn-outline-dark{ background: transparent; border-color: var(--gold); color: var(--red); }
.thaulle-page .tha-btn:focus-visible{ outline: 2px solid var(--gold-soft); outline-offset: 3px; }

/* === D1 — Trust-Strip === */
.thaulle-page .tha-trust .tha-container{ display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; align-items: stretch; }
.thaulle-page .tha-trust .tha-item{ display: flex; flex-direction: column; align-items: center; text-align: center; gap: .2rem; flex: 1; min-width: 140px; }
@media (max-width: 760px){
  .thaulle-page .tha-trust .tha-container{ display: grid; grid-template-columns: 1fr 1fr; gap: 1.4rem; text-align: center; }
  .thaulle-page .tha-trust .tha-vline{ display: none; }
  .thaulle-page .tha-trust .tha-item{ flex: initial; width: auto; min-width: 0; }
}

/* === D4 — USP/Cert-Cards (zentriert, mobil kompakter) === */
.thaulle-page .tha-cert{ text-align: center; }
.thaulle-page .tha-cert h3, .thaulle-page .tha-cert p{ text-align: center; }
@media (max-width: 760px){
  .thaulle-page .tha-section.tha-tight{ padding-top: 2.5rem; }
  .thaulle-page .tha-certs{ gap: 1rem; }
  .thaulle-page .tha-cert{ padding: 1.5rem 1.2rem; }
  .thaulle-page .tha-cert .tha-seal{ width: 42px; height: 42px; margin: 0 auto .6rem; }
}

/* === D3 — primäre CTAs full-width auf Mobile === */
@media (max-width: 560px){
  .thaulle-page .tha-hero-cta .tha-btn,
  .thaulle-page .tha-finalcta .tha-btn,
  .thaulle-page .tha-pricing .tha-btn-primary{ width: 100%; }
}

/* === A3 — Sticky-Hover-Fix ===================================
   ALLE reinen Hover-Effekte nur für echte Zeigegeräte (Maus/Trackpad).
   Auf Touch (hover:none / coarse) feuert nichts → keine „klebenden"
   Hover-Zustände nach dem ersten Tap. Galerie-Caption + Zoom bleiben aus
   (Basis-opacity:0), Tap auf eine Tile öffnet die Lightbox (rooms.js). */
@media (hover:hover) and (pointer:fine){
  /* Galerie-Tiles */
  .thaulle-page .tha-gallery .tha-tile:hover img{ transform: scale(1.05); }
  .thaulle-page .tha-gallery .tha-tile:hover::after{ background: rgba(40,18,10,.14); }
  .thaulle-page .tha-gallery .tha-tile:hover .tha-zoom{ opacity: 1; transform: none; }
  .thaulle-page .tha-gallery .tha-tile:hover .tha-cap{ opacity: 1; transform: none; }
  /* Kategorie-Hero Zoom */
  .thaulle-page .tha-cat-hero:hover img{ transform: scale(1.04); }
  /* Karten-Lift */
  .thaulle-page .tha-plan:hover{ box-shadow: var(--shadow); transform: translateY(-4px); }
  .thaulle-page .tha-week .tha-day:hover{ box-shadow: var(--shadow); transform: translateY(-4px); }
  /* Buttons — Hover-Transforms/Farb-Swaps */
  .thaulle-page .tha-btn-primary:hover{ background: var(--red-2); color: #fff; transform: translateY(-2px); box-shadow: 0 14px 30px -12px rgba(125,20,24,.6); }
  .thaulle-page .tha-btn-gold:hover{ color: #fff; transform: translateY(-2px); box-shadow: 0 14px 30px -12px rgba(160,124,47,.6); filter: brightness(1.05); }
  .thaulle-page .tha-btn-outline:hover{ background: #fff; color: var(--red); border-color: #fff; }
  .thaulle-page .tha-btn-outline-dark:hover{ background: var(--red); color: #fff; border-color: var(--red); }
}

/* ===================================================================
   FIX-RUNDE R1 (2026-06-24) — Lupe-Icon: Griff + Plus müssen gestrichen
   rendern. Ein Theme-/Elementor-`svg path{…}` schlägt sonst unsere Regel
   (trifft <path>, nicht <circle> → "Kreis ohne Griff"). Mit !important +
   höherer Spezifität auf die Galerie-Lupe absichern. Markup == Startseite.
   =================================================================== */
.thaulle-page svg path,
.thaulle-page svg circle,
.thaulle-page svg line,
.thaulle-page svg polyline,
.thaulle-page svg polygon,
.thaulle-page svg rect{ fill: none !important; stroke: currentColor !important; }
.thaulle-page .tha-gallery .tha-tile .tha-zoom svg{ width: 16px; height: 16px; color: #fff; display: block; overflow: visible; }
.thaulle-page .tha-gallery .tha-tile .tha-zoom svg path{ fill: none !important; stroke: currentColor !important; stroke-width: 2; }

/* FIX 2 — Trust-Link-Overlap: geerbtes line-height (Theme/1.75) sicher überschreiben. */
.thaulle-page .tha-trust .tha-item, .thaulle-page .tha-trust .tha-item *{ line-height: normal !important; }
/* a.tha-item bleibt Flex-Column (Theme `a{display:inline}`-Bleed abwehren) */
.thaulle-page a.tha-item{ display: flex; flex-direction: column; align-items: center; gap: .2rem; }

/* ===================================================================
   FIX-RUNDE R2 (2026-06-24) — gegen ECHTES Inspiro+Elementor verifiziert
   (puppeteer-Harness mit den realen Theme/Kit-Stylesheets; reiner
   Local-Render verfehlte das, weil ohne Theme-CSS gerendert).
   HORIZONTALER OVERFLOW / „am Rand abgeschnitten": Die Isolations-Regel
   `.thaulle-page div{all:revert}` hat Spezifität (0,1,1) und schlägt den
   Reset `.thaulle-page *{box-sizing:border-box}` (0,1,0) → jedes
   div/section fiel auf UA-Default `content-box` zurück. `.tha-container`
   (width:100%/auto + 2×28px padding) wurde dadurch ~56px breiter als der
   Viewport; das alte `overflow-x:hidden` hat den Überstand nur
   WEGGECLIPPT statt ihn zu vermeiden. Fix: border-box im ganzen Scope
   erzwingen (gewinnt per !important über all:revert) + overflow-x:clip
   als Guard. Damit fallen auch Folgeeffekte (.tha-btn 100%, .tha-ele) weg.
   =================================================================== */
.thaulle-page,
.thaulle-page *,
.thaulle-page *::before,
.thaulle-page *::after{ box-sizing: border-box !important; }

.thaulle-page{ overflow-x: clip; max-width: 100%; }
.thaulle-page section,
.thaulle-page .tha-trust,
.thaulle-page .tha-section{ max-width: 100%; }

/* ROOTFIX week-grid: Grid-Items min-width:auto → 7 Spalten sprengen Container bei ~1024px. min-width:0 lässt Spalten schrumpfen (Text bricht um). */
.thaulle-page .tha-week{ grid-template-columns: repeat(7, minmax(0,1fr)); }
.thaulle-page .tha-week .tha-day{ min-width: 0; }

/* FIX 1 (25.06.2026): Elementor `a{line-height:1.3px}` staucht gestapelte <a> (Reviews-Badges/Trust-Items). line-height MUSS mit !important gewinnen. */
.thaulle-page a{ line-height: inherit !important; font-family: inherit; font-weight: inherit; color: inherit; text-decoration: none; }

/* FIX 2: Zertifikat-Link/Trigger (rooms hatte bisher keine .tha-cert-src-Styles) + PDF-Link */
.thaulle-page .tha-cert-src{ display: inline-block; margin-top: 1rem; font-size: .78rem; letter-spacing: .06em; color: var(--gold-deep); font-weight: 600; }
.thaulle-page .tha-cert-src:hover{ color: var(--red); }
.thaulle-page .tha-cert-trigger{ cursor: pointer; }
.thaulle-page .tha-cert-pdf{ display: inline-block; margin-top: .5rem; margin-left: .8rem; font-size: .72rem; letter-spacing: .06em; font-weight: 600; color: var(--ink-mute); text-decoration: underline; }
.thaulle-page .tha-cert-pdf:hover{ color: var(--red); }

/* ============================================================================
 * HOTFIX-RESPONSIVE-2 (2026-06-26) — Wochenprogramm (.tha-week) + Aerztliche
 * Leitung (.tha-doc-*) auf Mobil. Reiner CSS-Hotfix, laedt zuletzt -> gewinnt.
 * Reversibel. ROLLBACK = diesen Block (ab HOTFIX-RESPONSIVE-2 bis Dateiende)
 * entfernen ODER thaulle_backup_2026-06-26.css zurueckspielen + Loader-ver zurueck.
 * ========================================================================== */
@media (max-width:1000px){ .thaulle-page .tha-week{ grid-template-columns: repeat(3, minmax(0,1fr)) !important; } }
@media (max-width:680px){ .thaulle-page .tha-week{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; } }
@media (max-width:430px){ .thaulle-page .tha-week{ grid-template-columns: 1fr !important; } }
.thaulle-page .tha-week .tha-day{ min-width: 0; }
@media (max-width:860px){
  .thaulle-page .tha-doc-grid{ grid-template-columns: 1fr !important; gap: 1.6rem; align-items: start; }
  .thaulle-page .tha-doc-imgs{ order: -1 !important; grid-template-columns: 1fr !important; gap: 1rem; }
  .thaulle-page .tha-doc-imgs img{ width: 100%; }
  .thaulle-page .tha-doc-imgs img:first-child{ grid-row: auto !important; aspect-ratio: 16/10 !important; }
  .thaulle-page .tha-doc-imgs img:last-child{ aspect-ratio: 16/10 !important; }
}
