/* Flockenhaus Onlineshop – Ergänzungen zu site.css */
.cart-btn{position:relative;gap:8px}
.cart-btn .cart-count{position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--accent);color:var(--ink);font:700 12px/22px var(--sans);text-align:center}
.cart-btn .cart-count[hidden]{display:none}
@media (max-width:1180px){.actions .cart-btn{display:inline-flex}}
@media (max-width:1360px){.actions .btn-accent{display:none}}
@media (max-width:460px){.actions{gap:6px}.brand{gap:8px}.brand img{width:52px;height:52px}.brand b{font-size:16px;letter-spacing:.02em}.brand small{font-size:10px;letter-spacing:.08em}}
@media (max-width:400px){.actions .search-btn,.actions .burger,.actions .cart-btn{width:40px;height:40px;min-height:40px;padding:0}.brand b{font-size:15px}}
@media (max-width:620px){.cart-btn span{display:none}.cart-btn{padding:0 14px}}
.btn-sm{min-height:40px;padding:0 14px;font-size:14px;gap:6px}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.done{background:#2E7D32}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink)}
.mono{font-family:var(--mono)}
.price-note{font-size:14px;color:var(--muted);margin:0 0 24px}
.price-note a{color:inherit}

/* Startseite */
.shop-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);align-items:end;margin-top:24px}
.shop-hero h1{margin:.2em 0 .3em}
.jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.jump a{text-decoration:none;color:var(--ink);background:#fff}
.quick{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;position:relative}
.quick label{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
.quick label small{color:var(--muted);font-size:14px}
.quick input{width:100%;font:16px var(--sans);min-height:48px;padding:10px 14px;border:1px solid var(--line-2);border-radius:var(--radius)}
.quick .price-note{margin:12px 0 0}
.qs-res{list-style:none;margin:10px 0 0;padding:0;max-height:420px;overflow:auto;border-top:1px solid var(--line)}
.qs-res li{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px}
.qs-res li a{color:var(--ink);text-decoration:none}
.qs-res li a:hover{text-decoration:underline}
.qs-res li .mono{color:var(--muted);font-size:13px;margin-right:6px}
.qs-res li b{white-space:nowrap}
.qs-res li.none{display:block;color:var(--muted)}
.card .from{display:block;font-weight:700;margin-top:auto;padding-top:10px}
.card .from small{font-weight:400;color:var(--muted)}
.card .more{margin-top:8px}
.shop-info{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,4vw,48px)}
@media (max-width:1100px){.shop-info{grid-template-columns:repeat(2,minmax(0,1fr))}}
.shop-info h3{margin-top:0}
@media (max-width:860px){.shop-hero,.shop-info{grid-template-columns:1fr}}

/* Produktfamilie */
.fam-head{margin-top:28px;align-items:start}
.fam-head .checks{margin:18px 0}
.fam-note{font-size:15px;color:var(--ink-2);border-left:3px solid var(--accent);padding:4px 0 4px 14px;margin:16px 0}
.fam-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:20px}
.arts .wrap>.price-note{margin-bottom:8px}
.art{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(20px,3vw,40px);padding:clamp(28px,3vw,40px) 0;border-top:1px solid var(--line);scroll-margin-top:110px}
.art-img{background:#fff;border:1px solid var(--line);border-radius:var(--radius);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;padding:10px;overflow:hidden}
.art-img img{max-width:100%;max-height:100%;object-fit:contain}
.art-body h2{font-size:clamp(20px,2vw,26px);margin:0 0 8px}
.art-body>p{margin:0 0 8px;max-width:75ch}
.avail{font-size:14px;font-weight:600;color:#9A6B00}
.avail.ok{color:#2E7D32}
.av-warn{display:block;color:#9A6B00;font-size:13px}
.maker{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:8px}
.maker a{color:inherit}
@media (max-width:760px){.art{grid-template-columns:1fr}.art-img{max-width:320px}}

/* Variantentabelle / Warenkorb */
.vt-wrap{overflow-x:auto;margin-top:14px}
.vt{width:100%;border-collapse:collapse;font-size:15px}
.vt th{text-align:left;font:600 12px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--ink)}
.vt td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.vt tbody tr:hover{background:var(--paper)}
.vt .an{white-space:nowrap;color:var(--ink-2);font-size:14px}
.vt .pr{text-align:right;white-space:nowrap}
.vt .qty input{width:76px;min-height:40px;padding:6px 8px;font:15px var(--sans);border:1px solid var(--line-2);border-radius:var(--radius)}
.vt .add{text-align:right;width:1%}
.vt td a{color:var(--ink)}
.vt .rm{background:none;border:0;font-size:24px;line-height:1;cursor:pointer;color:var(--muted);padding:4px 8px}
.vt .rm:hover{color:#B3261E}
@media (max-width:620px){
  .vt thead{display:none}
  .vt tr{display:grid;grid-template-columns:1fr auto;grid-template-areas:"lbl pr" "art art" "qty add";gap:6px 12px;padding:12px 0;border-bottom:1px solid var(--line)}
  .vt td{border:0;padding:0}
  .vt .lbl{grid-area:lbl;font-weight:600}.vt td.pr{grid-area:pr}.vt .an{grid-area:art;font-size:13px}.vt .qty{grid-area:qty}.vt .add{grid-area:add;width:auto}
  .vt .add .btn span{display:none}
  .cart-t tr{grid-template-columns:1fr auto auto;grid-template-areas:none}
  .cart-t td{grid-area:auto!important}
  .cart-t td:nth-child(2){grid-column:1/-1;font-weight:600}
}
.cart .empty{text-align:center;padding:40px 0}
.cart-foot{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-top:24px;align-items:flex-start}
.cart-foot>div{display:flex;gap:24px;align-items:center}
.cart-foot a{color:var(--ink)}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--muted);text-decoration:underline;cursor:pointer}
.cart-go{display:flex;justify-content:flex-end;margin-top:24px}
.sums{display:grid;grid-template-columns:auto auto;gap:6px 0;margin:0;min-width:280px}
.sums dd{padding-left:24px}
.sums dt{color:var(--ink-2)}.sums dd{margin:0;text-align:right;white-space:nowrap}
.sums .tot{font-weight:700;font-size:18px;border-top:1px solid var(--ink);padding-top:8px;color:var(--ink)}

/* Kasse */
.checkout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:clamp(32px,5vw,72px);align-items:start}
.co-form h2{font-size:22px;margin:16px 0 0}
.co-form h2:first-of-type{margin-top:0}
.form .hp{position:absolute;left:-9999px}
.opts{display:grid;gap:10px}
.opt{display:flex!important;flex-direction:row!important;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line-2);border-radius:var(--radius);background:#fff;cursor:pointer;font-weight:400!important}
.opt[hidden]{display:none!important}
.opt input{min-height:auto;margin-top:4px;accent-color:var(--ink)}
.opt span{display:flex;flex-wrap:wrap;gap:2px 10px}
.opt em{font-style:normal;font-weight:600}
.opt small{flex-basis:100%;color:var(--muted);font-size:14px}
.opt:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.abw{border-left:3px solid var(--accent);padding-left:16px}
.co-err{color:#B3261E;font-weight:600}
.co-sum .aside-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;position:sticky;top:110px}
.co-sum h3{margin-top:0}
.sum-list{list-style:none;padding:0;margin:0 0 16px;font-size:14px}
.sum-list li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.sum-list li span:last-child{white-space:nowrap}
.sum-list small{color:var(--muted)}
.co-sum .sums{min-width:0;font-size:15px}
.co-submit{width:100%;margin-top:20px}
.co-sum .small{font-size:13px;color:var(--muted);margin:12px 0 0}
.co-sum .small a{color:var(--ink)}
@media (max-width:1000px){.checkout{grid-template-columns:1fr}.co-sum .aside-box{position:static}}

/* Toast */
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,140%);background:var(--ink);color:#fff;padding:14px 20px;border-radius:var(--radius);box-shadow:0 8px 30px rgba(0,0,0,.25);z-index:1000;max-width:min(560px,calc(100vw - 32px));font-size:15px;transition:transform .25s ease}
.toast.on{transform:translate(-50%,0)}
.toast a{color:var(--accent);font-weight:600;margin-left:6px}

/* Anmeldung */
.login-box{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}
.login-box p{margin:0 0 10px}
.login-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}
.login-row input{min-height:44px!important}
.login-box .small{font-size:13px;color:var(--muted);margin:8px 0 0}
#lg-msg{color:#B3261E;font-weight:600}
@media (max-width:620px){.login-row{grid-template-columns:1fr}}

/* Konto */
.konto-link{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--line-2);border-radius:var(--radius);background:#fff}
.konto-link:hover{border-color:var(--ink)}
@media (max-width:1400px){.actions .konto-link{display:none}}
.orders{margin-top:32px}
.orders h2{font-size:24px}
.order{border:1px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:16px}
.order summary{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;padding:14px 18px;cursor:pointer;list-style:none}
.order summary::-webkit-details-marker{display:none}
.order summary b{font-family:var(--mono)}
.order summary .st{font-size:13px;color:var(--muted);margin-left:auto}
.order .vt-wrap{padding:0 18px 14px}
.order .reorder{margin:0 18px 16px}
.orders .empty{color:var(--muted)}

#reset-box,#setpw-box{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
#rs-msg{color:var(--ink-2)}

.konto-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 8px}
.konto-tabs button{background:#fff;cursor:pointer;font-family:var(--mono)}
.konto-tabs button.on{background:var(--ink);color:#fff}
.tab h2{font-size:24px;margin:16px 0 8px}
#profil .form,#pw .form{margin-top:16px;max-width:760px}

#profil h3{font-size:18px;margin:18px 0 0}
#profil h3:first-child{margin-top:0}

.ust-check{display:block;font-size:13px;margin-top:4px;color:var(--muted)}.ust-check.ok{color:#2E7D32}.ust-check.warn{color:#9A6B00}.ust-check.bad{color:#B3261E}

/* automatisch ausgefüllte Felder (VIES / PLZ) */
.co-form input.auto{background:#FFFBEA}
.btn-link{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}

/* Adressvorschläge unter dem Firmenfeld */
.co-form label,#pf-form label{position:relative}
.addr-sugg{position:absolute;left:0;right:0;top:100%;z-index:20;margin:2px 0 0;padding:4px 0;list-style:none;background:#fff;border:1px solid #D9D5CC;border-radius:4px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:260px;overflow:auto}
.addr-sugg li{margin:0}.addr-sugg li.none{padding:4px 12px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#4A4F57}
.addr-sugg button{display:block;width:100%;text-align:left;background:none;border:0;padding:8px 12px;font:inherit;cursor:pointer;line-height:1.3}.addr-sugg button:hover,.addr-sugg button:focus{background:#F5F3EE}
.addr-sugg small{color:#4A4F57}

/* PayPal-Express im Warenkorb */
.pp-x{margin:28px 0 0 auto;max-width:460px;border:1px solid var(--line,#E3DFD6);border-radius:6px;padding:18px 20px;background:#fff}
.pp-x h3{margin:0 0 4px;font-size:18px}.pp-x .small{margin:0 0 12px}
.pp-or{display:flex;align-items:center;gap:10px;margin:-6px 0 12px;color:#4A4F57;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.pp-or:before,.pp-or:after{content:"";flex:1;height:1px;background:#E3DFD6}
.pp-ship{margin:0 0 10px}.pp-ship .opts{display:grid;gap:6px;margin-top:6px}.pp-ship .opt{padding:8px 10px}
.pp-x .check{display:flex;gap:8px;align-items:flex-start;margin:8px 0;font-size:14px}
.pp-sum{margin:12px 0 8px;font-size:15px}
.pp-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border:0;border-radius:24px;background:#FFC439;color:#111;font-family:inherit;font-weight:600;font-size:16px;line-height:1;cursor:pointer}
.pp-btn:hover{filter:brightness(.96)}.pp-btn:disabled{opacity:.6;cursor:wait}.pp-btn svg{display:block}

/* Versandart wegen Gewicht nicht möglich */
.opt.off{opacity:.55;cursor:not-allowed}.opt .vmax{display:block;color:#B3261E;font-size:13px;margin-top:2px}

.land-hint{display:block;margin-top:4px;font-size:12px;color:#4A4F57;font-weight:400}
