/* Kobel One – mobile-first. Gold & green, warm forest colours, big rounded tap targets (>=48px). */
:root{--green:#193527;--green2:#2E6B30;--leaf:#5A9A3C;--gold:#C9811F;--gold2:#E0A93B;--cream:#FAF6EC;--ink:#1d2a22;--muted:#5d6b62;--line:#e4dccb;--r:22px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Nunito","Segoe UI Rounded",ui-rounded,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--cream);color:var(--ink);line-height:1.45;overflow-x:hidden;font-size:17px}
img,svg,video{max-width:100%}
a{color:var(--green2)}
h1{font-size:1.7rem;line-height:1.15;margin:.3em 0 .4em;color:var(--green)}
h2{color:var(--green);margin:1.3em 0 .5em;font-size:1.35rem}
main{max-width:980px;margin:0 auto;padding:12px 12px 32px}

/* header */
header.top{background:var(--green);color:var(--cream);border-bottom:4px solid var(--gold)}
header.top .in{max-width:980px;margin:0 auto;display:flex;align-items:center;gap:8px;padding:6px 10px}
header.top .home{display:flex;align-items:center;gap:8px;text-decoration:none;min-height:48px}
header.top img{width:44px;height:44px}
header.top .brand{font-weight:900;font-size:1.15rem;letter-spacing:.05em;color:var(--gold2)}
header.top nav{margin-left:auto;display:flex;gap:4px;align-items:center}
header.top nav a{color:var(--cream);text-decoration:none;font-weight:800;min-height:48px;min-width:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border-radius:14px}
header.top nav a.on{color:var(--gold2)}
header.top nav a.lang{font-size:.85rem;border:2px solid #ffffff40;padding:0 8px;min-width:48px}
.testribbon{background:repeating-linear-gradient(45deg,#ffe08a,#ffe08a 10px,#ffd35c 10px,#ffd35c 20px);color:#5a3b00;text-align:center;font-weight:800;font-size:.8rem;padding:3px 6px}

/* banners & cards */
.banner{padding:12px 14px;border-radius:16px;margin:0 0 14px;font-weight:700}
.banner.test{background:repeating-linear-gradient(45deg,#ffe08a,#ffe08a 12px,#ffd35c 12px,#ffd35c 24px);color:#5a3b00;border:2px dashed #b07a00;text-align:center}
.banner.warn{background:#fdecea;color:#7a1c12;border:1px solid #f0b4ab}
.banner.ok{background:#e6f3e6;color:#1d4d20;border:1px solid #a9d3aa}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:0 2px 10px #0000000a}
.card.gold{border:3px solid var(--gold)}
.muted{color:var(--muted)}
.center{text-align:center}
.grid2{display:grid;gap:16px}
@media(min-width:760px){.grid2{grid-template-columns:1fr 1fr}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;background:var(--green2);color:#fff;border:0;border-radius:999px;padding:10px 22px;font-weight:800;font-size:1.05rem;text-decoration:none;cursor:pointer;font-family:inherit;box-shadow:0 3px 0 #0000002a;-webkit-tap-highlight-color:transparent}
.btn:active{transform:translateY(2px);box-shadow:none}
.btn.gold{background:var(--gold)}
.btn.ghost{background:#fff;color:var(--green2);border:3px solid var(--green2);box-shadow:none}
.btn.red{background:#a8321f}
.btn.small{min-height:40px;padding:6px 14px;font-size:.9rem}
.btn.block{display:flex;width:100%}
.btn.huge{font-size:1.35rem;min-height:68px;padding:12px 26px}
.btn[disabled],.btn.off{background:#d8d1c0;color:#7a7262;box-shadow:none;cursor:default}
.actions{display:grid;gap:12px;max-width:560px;margin:18px auto 6px}
.actions .hint{text-align:center;color:var(--muted);font-weight:700;margin:-4px 0 0}

/* ---------- calendar (thumb friendly) ---------- */
.cal2{display:grid;gap:10px}
.day{display:grid;grid-template-columns:62px 1fr;gap:8px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:8px}
.dlabel{font-weight:900;color:var(--green);line-height:1.1;text-align:center}
.dlabel small{display:block;font-weight:700;color:var(--muted);font-size:.8rem}
.slots3{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:8px}
.sbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:54px;border-radius:16px;font-weight:900;font-size:1.05rem;text-decoration:none;line-height:1.05}
.sbtn small{font-size:.7rem;font-weight:700;margin-top:2px}
.sbtn.free{background:#e3f0e1;color:var(--green2);border:3px solid #9fcf9b}
.sbtn.free:active{background:var(--green2);color:#fff}
.sbtn.booked{background:var(--gold);color:#fff}
.sbtn.full,.sbtn.gap,.sbtn.paused{background:#eee8da;color:#8a8170}
.sbtn.past{background:#f6f3ec;color:#c4bcaa}
.legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0;font-size:.85rem}
.legend i{display:inline-block;width:14px;height:14px;border-radius:5px;margin-right:5px;vertical-align:-2px}

/* forms */
form .f{margin:0 0 16px}
form label{display:block;font-weight:800;margin-bottom:6px}
input[type=text],input[type=email],input[type=password]{width:100%;min-height:54px;padding:12px 16px;border:2px solid #cfc6b2;border-radius:16px;font-size:17px;background:#fff;font-family:inherit}
input:focus{outline:3px solid var(--gold2);border-color:var(--gold)}
.chk{display:flex;gap:12px;align-items:flex-start;font-weight:600!important;font-size:.95rem}
.chk input{width:26px;height:26px;flex:0 0 26px;margin-top:2px;accent-color:var(--green2)}
.hp{position:absolute;left:-5000px}
.err{background:#fdecea;color:#7a1c12;border-radius:14px;padding:12px 14px;margin-bottom:12px;font-weight:700}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 14px}
.kv b{color:var(--muted);font-weight:700}
.paylogos{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:10px}
.paylogos span{font-size:.8rem;font-weight:800;padding:4px 10px;border-radius:8px;background:#f1ece0;color:#4b4434}

/* wallet-style buttons (test checkout) */
.paybtn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;border-radius:12px;border:0;font-size:1.15rem;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;cursor:pointer;margin-bottom:10px}
.paybtn.apple{background:#000;color:#fff}
.paybtn.google{background:#fff;color:#3c4043;border:1px solid #dadce0}
.paybtn.paypal{background:#FFC439;color:#003087;font-style:italic;font-weight:900}
.paybtn.paypal b{color:#009cde}
.paybtn.card{background:var(--green2);color:#fff}
.paybtn.cancel{background:transparent;color:#a8321f;border:2px solid #a8321f;font-size:1rem}

/* misc */
video{width:100%;max-height:70vh;border-radius:22px;background:#000;border:4px solid var(--green)}
.social{display:grid;gap:10px}
@media(min-width:600px){.social{grid-template-columns:repeat(3,1fr)}}
.social a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:999px;background:var(--green);color:var(--cream);text-decoration:none;font-weight:800}
.steps{display:grid;grid-template-columns:1fr 1fr;gap:10px;counter-reset:s}
@media(min-width:760px){.steps{grid-template-columns:repeat(4,1fr)}}
.steps div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;text-align:center;font-weight:700;counter-increment:s}
.steps div:before{content:counter(s);display:grid;place-items:center;margin:0 auto 6px;width:34px;height:34px;border-radius:50%;background:var(--gold);color:#fff;font-weight:900}
.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.85rem;font-weight:800;background:#eee;color:#444}
.pill.paid,.pill.dispatched{background:#fff1d6;color:#8a5600}.pill.fed,.pill.ready{background:#e3f0e1;color:#1d4d20}
.pill.failed,.pill.refund_needed{background:#fdecea;color:#7a1c12}.pill.pending{background:#e8eefc;color:#25408a}
table.adm{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff}
table.adm th,table.adm td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
table.adm form{display:inline}
.placeholder{background:#fff3c4;border:1px dashed #b07a00;padding:0 4px;border-radius:4px;font-weight:700}
footer{background:var(--green);color:#cfd8cf;padding:14px 10px 22px;text-align:center;font-size:.95rem}
footer a{color:var(--gold2);display:inline-flex;align-items:center;min-height:48px;padding:0 8px}

/* ---------- acorn cursor + click/tap acorn pop ---------- */
html{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='translate%283 3%29 rotate%28135%29 translate%28-10 -27.4%29'%3E%3Cpath d='M10 4 L11.5 .6' stroke='%235b3d26' stroke-width='1.6' stroke-linecap='round'/%3E%3Cellipse cx='10' cy='17.5' rx='6.2' ry='8.5' fill='%23C9811F' stroke='%235a3408' stroke-width='1'/%3E%3Cellipse cx='7.8' cy='17' rx='1.5' ry='4' fill='%23f2c46e'/%3E%3Cpath d='M2.6 11 Q10 1.5 17.4 11 Q10 14.5 2.6 11Z' fill='%237a5636' stroke='%233a2414' stroke-width='1'/%3E%3Cpath d='M5 9 l2 2 M8 6.5 l2 2.5 M11 6.5 l2 2.5 M14 8 l1.5 2' stroke='%233a2414' stroke-width='.6'/%3E%3C/g%3E%3C/svg%3E") 3 3,auto}
a,button,label,summary,select,[role=button],.sbtn,.paybtn,input[type=checkbox],input[type=submit],.stage [data-p]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg transform='translate%283 3%29 rotate%28112%29 translate%28-10 -27.4%29' opacity='.9'%3E%3Cellipse cx='10' cy='16' rx='9' ry='12' fill='%23fff6d0'/%3E%3C/g%3E%3Cg transform='translate%283 3%29 rotate%28112%29 translate%28-10 -27.4%29'%3E%3Cpath d='M10 4 L11.5 .6' stroke='%235b3d26' stroke-width='1.6' stroke-linecap='round'/%3E%3Cellipse cx='10' cy='17.5' rx='6.2' ry='8.5' fill='%23C9811F' stroke='%235a3408' stroke-width='1'/%3E%3Cellipse cx='7.8' cy='17' rx='1.5' ry='4' fill='%23f2c46e'/%3E%3Cpath d='M2.6 11 Q10 1.5 17.4 11 Q10 14.5 2.6 11Z' fill='%237a5636' stroke='%233a2414' stroke-width='1'/%3E%3Cpath d='M5 9 l2 2 M8 6.5 l2 2.5 M11 6.5 l2 2.5 M14 8 l1.5 2' stroke='%233a2414' stroke-width='.6'/%3E%3C/g%3E%3C/svg%3E") 3 3,pointer}
input[type=text],input[type=email],input[type=password],textarea{cursor:text}
.acpop{position:fixed;z-index:9999;pointer-events:none;width:18px;height:25px;margin:-12px 0 0 -9px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 28'%3E%3Cpath d='M10 4 L11.5 .6' stroke='%235b3d26' stroke-width='1.6' stroke-linecap='round'/%3E%3Cellipse cx='10' cy='17.5' rx='6.2' ry='8.5' fill='%23C9811F' stroke='%235a3408' stroke-width='1'/%3E%3Cellipse cx='7.8' cy='17' rx='1.5' ry='4' fill='%23f2c46e'/%3E%3Cpath d='M2.6 11 Q10 1.5 17.4 11 Q10 14.5 2.6 11Z' fill='%237a5636' stroke='%233a2414' stroke-width='1'/%3E%3Cpath d='M5 9 l2 2 M8 6.5 l2 2.5 M11 6.5 l2 2.5 M14 8 l1.5 2' stroke='%233a2414' stroke-width='.6'/%3E%3C/svg%3E") center/contain no-repeat;animation:acpop .6s ease-out forwards}
.acpop.touch{width:30px;height:42px;margin:-21px 0 0 -15px;animation:actap .7s ease-out forwards}
.acpop.still{animation:acfade .5s linear forwards}
@keyframes acpop{0%{transform:scale(.3);opacity:0}25%{transform:translateY(-10px) scale(1.1) rotate(-12deg);opacity:1}60%{transform:translateY(-2px) scale(.95) rotate(8deg)}100%{transform:translateY(-16px) scale(.7) rotate(0);opacity:0}}
@keyframes actap{0%{transform:scale(.4);opacity:0}30%{transform:scale(1.15);opacity:1}55%{transform:scale(.95) rotate(-8deg)}75%{opacity:1}100%{transform:translateY(-14px) scale(.9);opacity:0}}
@keyframes acfade{0%{opacity:.9}100%{opacity:0}}
.find{text-align:center;color:var(--muted);font-weight:700;font-size:.95rem;max-width:560px;margin:10px auto 0}

/* ---------- "Folge uns" + "Benachrichtige mich" (growth block) ---------- */
.club{max-width:640px;margin:18px auto 4px;background:#fff;border:3px solid var(--gold2);border-radius:28px;padding:16px 14px 18px;box-shadow:0 4px 0 #c9811f33;display:grid;gap:14px}
.follow h2{margin:0;text-align:center;font-size:1.45rem}
.fu-sub{margin:2px 0 10px;text-align:center;color:var(--muted);font-weight:700}
.fu-btns{display:grid;gap:10px}
.fu{display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 18px;border-radius:999px;color:#fff;text-decoration:none;box-shadow:0 3px 0 #00000030;-webkit-tap-highlight-color:transparent;transition:transform .12s}
.fu:active{transform:translateY(2px);box-shadow:none}
@media(hover:hover){.fu:hover{transform:translateY(-2px) rotate(-.6deg)}}
.fu svg{flex:0 0 34px;width:34px;height:34px}
.fu span{display:flex;flex-direction:column;line-height:1.1}
.fu b{font-size:1.12rem;font-weight:900}
.fu small{font-size:.82rem;font-weight:700;opacity:.9}
.fu.yt{background:#E62117}
.fu.ig{background:linear-gradient(45deg,#F9A13A 0%,#E1306C 45%,#C13584 70%,#5B51D8 100%)}
.fu.tt{background:#111}
@media(min-width:760px){.club{max-width:none}.fu-btns{grid-template-columns:repeat(3,1fr)}.fu{padding:8px 14px}.fu b{font-size:1rem}}
/* bell */
.pu{text-align:center}
.pu-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:64px;padding:10px 18px;border-radius:999px;border:0;background:var(--green2);color:#fff;font:inherit;font-weight:900;font-size:1.12rem;line-height:1.15;box-shadow:0 3px 0 #0000002a;cursor:pointer;-webkit-tap-highlight-color:transparent}
.pu-btn:active{transform:translateY(2px);box-shadow:none}
.pu-btn[disabled]{opacity:.7}
.pu-ico{font-size:1.6rem;display:inline-block;transform-origin:50% 10%}
.pu:not(.on) .pu-ico{animation:ring 4s ease-in-out infinite}
.pu.on .pu-btn{background:#fff;color:var(--green2);border:3px solid var(--green2);box-shadow:none}
.pu.on .pu-ico{filter:grayscale(1)}
@keyframes ring{0%,80%,100%{transform:rotate(0)}84%{transform:rotate(16deg)}88%{transform:rotate(-14deg)}92%{transform:rotate(9deg)}96%{transform:rotate(-5deg)}}
@media(prefers-reduced-motion:reduce){.pu-ico{animation:none!important}}
.pu-note{margin:8px 4px 0;font-size:.85rem;color:var(--muted);font-weight:600}
.pu-msg{margin:8px 0 0;font-weight:800;border-radius:14px;padding:8px 12px}
.pu-msg.ok{background:#e6f3e6;color:#1d4d20}.pu-msg.warn{background:#fdecea;color:#7a1c12}
.pu-ios{margin-top:10px;text-align:left;background:#f1ece0;border-radius:16px;padding:10px 14px;font-size:.95rem}
.pu-ios ol{margin:6px 0 0;padding-left:20px}.pu-ios li{margin:3px 0}
/* footer follow icons */
.ft-follow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 10px;margin-bottom:6px;color:var(--cream)}
.fu-mini{display:inline-flex;gap:8px}
footer .fu-mini a{gap:6px;min-height:48px;padding:0 14px;border-radius:999px;color:#fff;font-weight:800;text-decoration:none}
.fu-mini svg{width:22px;height:22px}
.fu-mini .yt{background:#E62117}.fu-mini .ig{background:linear-gradient(45deg,#F9A13A,#E1306C 50%,#5B51D8)}.fu-mini .tt{background:#111}
@media(max-width:420px){.fu-mini span{display:none}footer .fu-mini a{width:48px;padding:0;justify-content:center}}

/* ---------- visitor counter under the live image ---------- */
.visits{max-width:640px;margin:2px auto 16px;background:linear-gradient(#fffaf0,#fff3dc);border:3px solid var(--gold2);border-radius:28px;padding:12px 12px 10px;box-shadow:0 4px 0 #c9811f33;text-align:center}
.visits h2{margin:0 0 8px;font-size:1.2rem}
.vis-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vis-row.three{grid-template-columns:1fr 1fr 1fr}
.vis-chip{display:flex;flex-direction:column;align-items:center;gap:0;background:#fff;border:2px solid var(--line);border-radius:22px;padding:8px 6px 10px;min-height:48px}
.vis-chip.sq{border-color:#e0a93b}.vis-chip.bd{border-color:#8fc27a}.vis-chip.ot{border-color:#c9b8a0}
.vis-ico{font-size:2rem;line-height:1.1;display:inline-block}
.vis-n{font-size:2rem;font-weight:900;line-height:1.05;color:var(--green);font-variant-numeric:tabular-nums}
.vis-chip small{font-size:.86rem;font-weight:800;color:var(--muted);line-height:1.15}
.vis-btn{font:inherit;color:inherit;cursor:pointer;width:100%;-webkit-appearance:none;appearance:none;transition:transform .12s,box-shadow .12s}
.vis-btn:hover{box-shadow:0 3px 0 #8fc27a66}.vis-btn:active{transform:translateY(1px)}
.vis-btn:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.vis-btn[aria-expanded=true]{background:#f1f9ec}
.vis-more{display:inline-flex;align-items:center;gap:4px;margin-top:5px;padding:3px 10px;border-radius:999px;background:#e6f3de;color:var(--green);font-size:.8rem;font-weight:900;min-height:24px}
.vis-car{display:inline-block;transition:transform .2s}.vis-btn[aria-expanded=true] .vis-car{transform:rotate(180deg)}
.vis-panel{margin:10px 0 0;background:#fff;border:2px solid #8fc27a;border-radius:20px;padding:10px 14px 8px;text-align:left}
.vis-panel h3{margin:0 0 6px;font-size:1rem}
.vis-sp{list-style:none;margin:0;padding:0}
.vis-sp li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px dashed var(--line);font-weight:800}
.vis-sp li:last-child{border-bottom:0}
.vis-sp i{font-weight:600;color:var(--muted);font-size:.85em}
.vis-sp b{font-size:1.25rem;color:var(--green);font-variant-numeric:tabular-nums}
.vis-note{margin:4px 0 0;font-size:.78rem;color:var(--muted);font-weight:700}
.vis-since{margin:8px 4px 0;font-size:.8rem;color:var(--muted);font-weight:700}
.visits.pop .vis-ico{animation:vispop .6s ease-out}
.visits.pop .vis-chip.bd .vis-ico{animation-delay:.12s}.visits.pop .vis-chip.ot .vis-ico{animation-delay:.24s}
@keyframes vispop{0%{transform:scale(1)}40%{transform:scale(1.3) rotate(-10deg)}70%{transform:scale(.95) rotate(6deg)}100%{transform:scale(1)}}
@media(max-width:360px){.vis-row.three .vis-n{font-size:1.6rem}.vis-row.three small{font-size:.76rem}}
@media(min-width:760px){.visits{max-width:none;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 18px;text-align:left;padding:12px 18px}
  .visits h2{margin:0;grid-row:span 2}.vis-row{grid-template-columns:repeat(3,minmax(0,200px))}.vis-row:not(.three){grid-template-columns:repeat(2,minmax(0,220px))}
  .vis-chip{flex-direction:row;gap:8px;justify-content:center;flex-wrap:wrap}.vis-chip small{flex-basis:100%;text-align:center}.vis-since{margin:0}
  .vis-panel{grid-column:2;max-width:460px;margin:4px 0 2px}.vis-since{grid-column:2}}
@media(prefers-reduced-motion:reduce){.visits.pop .vis-ico{animation:none}}
.solo-clip{max-width:720px;margin:22px auto 0}.solo-clip video{width:100%;border-radius:18px;display:block}
/* automatic latest clip (portrait, from the drey camera) */
.latest-clip{margin:0}.latest-clip video{display:block;height:min(70vh,620px);width:auto;max-width:100%;max-height:none;aspect-ratio:720/1176;object-fit:contain;margin:0 auto;background:#000}
.solo-clip .latest-clip video{width:auto}
.latest-cap{text-align:center;margin:10px 0 0;font-size:1.02rem;color:var(--green)}
