/* Garni Pramauron – Neuaufbau. Maße, Farben und Schriften aus den bisherigen Muse-CSS-Dateien übernommen. */
:root{
  --brown:#534741;--beige:#C7B299;--red:#C1272D;--black:#141414;--ink:#181818;
  --serif:eloquent-jf-pro,Georgia,"Times New Roman",serif;
  --sans:proxima-nova,"Helvetica Neue",Arial,sans-serif;
  --lato:lato,"Helvetica Neue",Arial,sans-serif;
  --bar:50px;--col:18.34%;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--brown);-webkit-text-size-adjust:100%}
body{margin:0;color:#fff;font:400 16px/26px var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,p,ul,ol{margin:0}
ul{padding:0;list-style:none}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;z-index:999;background:#fff;color:var(--brown);padding:8px 12px}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:2px solid var(--beige);outline-offset:2px}

/* ---------- Startseite: Vollbild-Diashow ---------- */
.bg{position:fixed;inset:0;z-index:0;background:var(--brown)}
.bg figure{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.2s ease}
.bg figure.on{opacity:1}
.bg img{width:100%;height:100%;object-fit:cover}

.cap{position:fixed;top:20px;left:20px;z-index:20;width:min(799px,calc(100vw - var(--col) - 60px));
  padding:15px 15px 15px 30px;border:1px solid #fff;background:rgba(0,0,0,.2);color:#fff}
.cap .c{display:none}
.cap .c.on{display:block;animation:capIn 2s ease}
@keyframes capIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.cap h2,.cap h1.t{padding:13px 0;font:400 110px/143px var(--serif);hyphens:manual}
.cap p{padding:13px 0;font:400 20px/26px var(--sans)}
.cap .go{display:inline-flex;align-items:center;gap:12px;padding:13px 0;font:700 15px/20px var(--sans);letter-spacing:3px;text-transform:uppercase}
.cap .go svg{width:13px;height:13px;transition:transform .3s}
.cap .go:hover svg{transform:translateX(4px)}
.cap .nav{display:none}

.thumbs{position:relative;z-index:10;margin-left:auto;width:var(--col);padding-bottom:calc(var(--bar) + 125px)}
.thumbs button{position:relative;display:block;width:100%;aspect-ratio:1;border:solid #fff;border-width:0 0 5px 5px;background:#3c332e}
.thumbs img{width:100%;height:100%;object-fit:cover}
.thumbs button::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 rgba(0,0,0,0);transition:box-shadow .5s ease}
.thumbs button:hover::after{box-shadow:inset 0 0 170px rgba(0,0,0,.5)}
.thumbs button[aria-current="true"]::after{box-shadow:inset 0 0 180px rgba(0,0,0,.5)}

/* Preise / Anfrage rechts unten: ein durchgehender brauner Block über der Fußleiste */
.side{position:fixed;right:0;bottom:var(--bar);z-index:30;width:var(--col);display:flex;flex-direction:column;padding:0 0 0 5px;background:#fff}
.side a{display:flex;align-items:center;justify-content:center;height:60px;padding:0 20px 4px;background:var(--brown);color:#fff;
  font:400 30px/1 var(--serif);letter-spacing:1px;transition:color .25s}
.side a:hover,.side a:focus-visible{color:var(--beige)}

/* Roter Kreis (cuca.it) */
.cuca{position:fixed;left:20px;bottom:68px;z-index:30;width:100px;height:100px;border-radius:50%;background:var(--red);color:#fff;
  display:flex;align-items:center;justify-content:center;font:400 18px/22px var(--sans);letter-spacing:3px;transition:background-color .2s}
.cuca:hover{background:var(--black)}

/* Sprache links */
.lang{position:fixed;left:0;bottom:210px;z-index:30;display:flex;flex-direction:column;gap:10px}
.lang a{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--brown);color:#fff;font:700 10px/10px var(--sans);letter-spacing:3px;padding-left:3px;transition:background-color .2s}
.lang a:hover{background:var(--beige)}

/* ---------- Fußleiste ---------- */
.bar{position:fixed;left:0;right:0;bottom:0;z-index:40;min-height:var(--bar);padding:14px 250px 10px 190px;background:rgba(255,255,255,.9);
  color:var(--brown);text-align:center;font:400 13px/18px var(--sans);letter-spacing:3px;text-transform:uppercase}
.bar .name{font:400 15px/18px var(--serif);letter-spacing:3px;text-transform:none}
.bar .sep{margin:0 6px}
.bar a{display:inline-flex;align-items:center;gap:6px;transition:opacity .2s}
.bar a:hover{opacity:.6}
.bar .ic{width:13px;height:13px;opacity:.7}
.bar .legal{position:absolute;left:20px;top:50%;transform:translateY(-50%);text-align:left;font:700 10px/16px var(--sans);letter-spacing:3px}
.bar .legal a{display:inline-block;margin-right:12px}
.bar .legal .winx{display:block}
.bar .legal .winx{font:300 12px/16px var(--lato);letter-spacing:1px;text-transform:none}
.bar .logos{position:absolute;right:20px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:14px}
.bar .logos a{opacity:.7}
.bar .logos a:hover{opacity:.5}
.bar .logos img{height:30px;width:auto;max-width:60px;object-fit:contain}
.bar .logos svg{width:20px;height:20px}

/* ---------- Hinweis Adobe Fonts ---------- */
.notice{position:fixed;left:140px;bottom:calc(var(--bar) + 18px);z-index:90;max-width:420px;padding:16px 18px;background:#fff;color:var(--ink);
  box-shadow:0 10px 40px rgba(0,0,0,.3);font:400 13px/20px var(--sans);display:flex;gap:14px;align-items:flex-end}
.notice[hidden]{display:none}
.notice a{color:var(--brown);text-decoration:underline}
.notice button{flex:none;padding:9px 16px;background:var(--brown);color:#fff;font:700 11px/1 var(--sans);letter-spacing:2px}
.notice button:hover{background:var(--beige)}

/* ---------- Seiten Anfrage & Impressum ---------- */
.homebtn{position:fixed;top:19px;left:19px;z-index:50;min-width:169px;padding:30px 20px 13px;background:#fff;border:1px solid #fff;
  color:var(--brown);font:400 40px/40px var(--serif);transition:background-color .2s,color .2s}
.homebtn:hover{background:var(--brown);color:#fff}
.req{display:grid;grid-template-columns:minmax(0,1fr) 595px;gap:4%;align-items:start;padding:154px 21px 120px 1.59%}
.box{border:1px solid #fff}
.box h1,.box h2.big{padding:30px 20px 13px;font:400 110px/110px var(--serif)}
.box h2.mid{padding:30px 20px 13px;font:400 60px/60px var(--serif)}
.box h3{padding:20px 20px 13px;font:400 30px/39px var(--serif)}
.box p{padding:13px 20px;font:400 20px/26px var(--sans)}
.box .note{padding:13px 20px 20px;font-size:15px;line-height:20px}
.price{width:364px;max-width:calc(100% - 40px);margin:0 20px;border-collapse:collapse;font:400 20px/26px var(--sans)}
.price th,.price td{padding:13px 5px;border-top:1px solid #fff;font-weight:400}
.price th{text-align:left;width:148px}
.price td{text-align:center;border-left:1px solid #fff;border-right:1px solid #fff}
.price tr:first-child th{border-top-color:#fff}

/* Formular */
.inq{padding:10px 20px 30px}
.inq .grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
.fld{display:block}
.fld.wide{grid-column:1/-1}
.fld[hidden]{display:none}
.fld>span{display:block;margin-bottom:4px;font:700 10px/14px var(--sans);letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.8)}
.fld input,.fld select,.fld textarea{width:100%;padding:9px 0;border:0;border-bottom:1px solid rgba(255,255,255,.6);border-radius:0;background:transparent;
  color:#fff;font:400 17px/24px var(--sans);color-scheme:dark}
.fld select option{color:var(--ink)}
.fld textarea{min-height:110px;padding:10px 12px;border:1px solid rgba(255,255,255,.6);resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:0;border-color:#fff}
.fld.bad input,.fld.bad textarea{border-color:#ff9a8f}
.fld.bad>span,.chk.bad span{color:#ffb4ab}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.chk{display:flex;gap:12px;align-items:flex-start;margin-top:22px;cursor:pointer;font:400 14px/21px var(--sans)}
.chk input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--beige)}
.chk a{text-decoration:underline}
.inq .status{min-height:22px;margin-top:14px;font:400 15px/22px var(--sans)}
.inq .status.ok{color:#cfe8c8}
.inq .status.err{color:#ffb4ab}
.inq .send{display:flex;align-items:center;gap:16px;margin-top:6px}
.inq .send button{padding:16px 34px;background:#fff;color:var(--brown);font:400 26px/26px var(--serif);transition:background-color .2s,color .2s}
.inq .send button:hover{background:var(--beige);color:#fff}
.inq .send button:disabled{opacity:.6;cursor:wait}
.inq .send small{font-size:12px;opacity:.8}
.alt{padding:0 20px 24px;font-size:15px}
.alt a{text-decoration:underline}

.close{position:fixed;top:20px;left:30px;z-index:50;width:44px;height:44px;background:#fff}
.close::before,.close::after{content:"";position:absolute;left:10px;right:10px;top:50%;height:1px;background:var(--brown);transform:rotate(45deg)}
.close::after{transform:rotate(-45deg)}
.legalpage{max-width:900px;padding:86px 30px calc(var(--bar) + 60px) 60px}
.legalpage h1{font:400 18px/22px var(--sans);text-transform:uppercase;letter-spacing:1px}
.legalpage h2{margin:36px 0 8px;font:400 18px/22px var(--sans);text-transform:uppercase;letter-spacing:1px}
.legalpage h3{margin:24px 0 6px;font:700 15px/22px var(--sans);text-transform:uppercase;letter-spacing:1px}
.legalpage p{font:400 16px/26px var(--sans)}
.legalpage p+p{margin-top:10px}
.legalpage a{text-decoration:underline}
.subfoot{padding:24px 20px 30px;text-align:center;font:700 10px/16px var(--sans);letter-spacing:3px;text-transform:uppercase}
.subfoot a{margin:0 10px}

/* ================= Tablet ≤1100 ================= */
@media (max-width:1100px){
  :root{--bar:58px}
  .thumbs{display:none}
  body.home{overflow:hidden}
  .cap{top:auto;left:16px;right:16px;bottom:calc(var(--bar) + 66px);width:auto;padding:10px 16px 10px 22px}
  .cap h2,.cap h1.t{font-size:64px;line-height:72px;padding:6px 0}
  .cap p{font-size:17px;line-height:24px;padding:6px 0}
  .cap .nav{display:flex;gap:6px;position:absolute;right:10px;top:10px}
  .cap .nav button{width:38px;height:38px;border:1px solid rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center}
  .cap .nav svg{width:14px;height:14px}
  .side{left:0;right:0;width:auto;flex-direction:row;padding:0}
  .side a{flex:1;height:54px;padding-bottom:4px;font-size:26px}
  .side a+a{border-left:1px solid rgba(255,255,255,.35)}
  .cuca{left:auto;right:16px;top:16px;bottom:auto;width:76px;height:76px;font-size:14px;letter-spacing:2px}
  .lang{left:16px;top:16px;bottom:auto;flex-direction:row}
  .lang a{width:36px;height:36px}
  .bar{padding:10px 16px 8px;font-size:11px;line-height:17px;letter-spacing:2px}
  .bar .legal,.bar .logos{position:static;transform:none;display:inline-flex;gap:14px;margin:4px 8px 0;vertical-align:middle}
  .bar .legal a{display:inline}
  .bar .logos img{height:22px}
  .notice{left:16px;right:16px;max-width:none;bottom:calc(var(--bar) + 60px)}
  .homebtn{position:static;display:inline-block;margin:19px 0 0 19px;font-size:32px;line-height:32px;padding:22px 18px 10px;min-width:0}
  .req{grid-template-columns:1fr;padding:30px 16px 60px;gap:30px}
  .box h1,.box h2.big{font-size:80px;line-height:84px}
  .legalpage{padding:90px 20px 60px}
  body.page .bar{position:static}
}
/* ================= Handy ≤600 ================= */
@media (max-width:600px){
  .cap{bottom:calc(var(--bar) + 60px);left:10px;right:10px;padding:8px 12px 8px 16px}
  .cap h2,.cap h1.t{font-size:42px;line-height:48px;padding-right:90px}
  .cap p{font-size:15px;line-height:21px}
  .cap .go{font-size:13px;letter-spacing:2px;padding:8px 0}
  :root{--bar:86px}
  .bar{padding:8px 10px 6px}
  .bar .name{display:block;font-size:14px;line-height:18px}
  .bar .logos,.bar .sep,.bar .tx{display:none}
  .bar>a{margin:4px 10px 0;padding:6px}
  .bar .ic{width:18px;height:18px}
  .bar .legal{display:flex;justify-content:center;gap:12px;margin:2px 0 0;font-size:9px}
  .bar .legal a{margin:0}
  .bar .legal .winx{display:inline;font-size:10px}
  .side a{height:46px;font-size:23px}
  .cap{bottom:calc(var(--bar) + 52px)}
  .cuca{width:64px;height:64px;font-size:12px}
  .box h1,.box h2.big{font-size:60px;line-height:64px}
  .box h2.mid{font-size:46px;line-height:50px}
  .box p{font-size:17px;line-height:24px}
  .price{font-size:17px}
  .price th{width:auto}
  .inq .grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
