/* Mobile Kundenansicht nach dem freigegebenen Hofladen-Entwurf */
body.customer{background:#f7f8f6;color:#111;padding-bottom:82px}
body.customer header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);color:#111;border-bottom:1px solid #e9ece8;padding:.75rem 1rem;backdrop-filter:blur(12px)}
body.customer header .wrap{justify-content:center}
body.customer header .brand h1{font-size:1.15rem;font-weight:800;color:#111}
body.customer header .shop-logo{height:38px}
body.customer main{max-width:720px;padding:.8rem}
body.customer .card{border:1px solid #e8ece7;border-radius:20px;box-shadow:0 7px 28px #17321f0d;padding:1rem;background:#fff}
body.customer h2{font-size:1.55rem;margin-bottom:.8rem}
body.customer h3{font-size:1.16rem}
body.customer button,body.customer .button{border-radius:14px;padding:.9rem 1.05rem;min-height:50px;background:linear-gradient(135deg,#08763c,#00662e);font-weight:750;box-shadow:0 5px 14px #08763c24}
body.customer button.secondary,body.customer .button.secondary{background:#f1f3f1;color:#172019;box-shadow:none;border:1px solid #e1e5e1}
body.customer input,body.customer select,body.customer textarea{min-height:48px;border-radius:12px;border-color:#d7ddd7;background:#fff}
body.customer .total{color:#08713a;font-size:1.65rem}
body.customer .notice{background:#fff4dc;color:#52350c;border-radius:14px}
body.customer .ok{background:#e9f7ec;color:#075d2c;border-radius:14px}
body.customer #scan-video{display:block;width:100%!important;aspect-ratio:4/3;max-height:40vh;object-fit:cover;background:#151a16;border-radius:18px!important}
body.customer #scanner{position:relative}
body.customer #scan-status{margin:.7rem 0;color:#536057;text-align:center}
body.customer #scan-start{display:block;width:100%}
body.customer .product{display:block}
body.customer .product>img{display:block;width:calc(100% + 2rem);height:min(48vh,430px);margin:-1rem -1rem 1.2rem;object-fit:cover;border-radius:20px 20px 0 0;background:#eef0ed}
body.customer .product form{margin-top:1rem}
body.customer .product form button{width:100%}
body.customer .product>div>p:first-child{color:#59635b;line-height:1.55}
body.customer .quantity-label{display:block;margin:.2rem 0 .45rem;font-weight:750}
body.customer .product-qty{display:grid;grid-template-columns:52px 72px 52px;align-items:center;width:max-content;border:1px solid #dce2dc;border-radius:14px;overflow:hidden;margin-bottom:1rem}
body.customer .product-qty button{min-height:48px;width:52px;padding:0;border:0;border-radius:0;background:#f4f6f4;color:#08713a;box-shadow:none;font-size:1.35rem}
body.customer .product-qty input{width:72px;min-height:48px;border:0;border-radius:0;text-align:center;font-size:1.05rem;font-weight:750;padding:.2rem;appearance:textfield}
body.customer .product-qty input::-webkit-inner-spin-button{appearance:none}
body.customer .add-cart-button{width:100%}
body.customer .cartline{display:grid;grid-template-columns:76px 1fr auto;align-items:center;gap:.8rem;border:1px solid #e8ece7;border-radius:16px;padding:.7rem;margin:.65rem 0;background:#fff}
body.customer .cartline .cart-thumb{width:76px;height:76px;object-fit:cover;border-radius:12px;background:#eef0ed}
body.customer .cartline .cart-thumb.placeholder{display:grid;place-items:center;color:#98a19a;font-size:1.7rem}
body.customer .cart-info{display:flex;min-width:0;flex-direction:column;gap:.18rem}
body.customer .cart-price{text-align:right;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end}
body.customer .cartline form{margin:0}
body.customer .qty-stepper{display:grid;grid-template-columns:34px 34px 34px;align-items:center;width:max-content;border:1px solid #dde3dd;border-radius:10px;overflow:hidden;margin-top:.35rem}
body.customer .qty-stepper button{min-height:32px;padding:0;border:0;border-radius:0;background:#f3f6f3;color:#08713a;box-shadow:none;font-size:1.1rem}
body.customer .qty-stepper span{text-align:center;font-weight:750}
body.customer .remove-item{min-height:30px;width:30px;padding:0;border-radius:50%;background:#f3f5f3;color:#717a73;box-shadow:none;border:0;font-size:1.1rem}
body.customer .pack-qty{width:max-content;margin-top:.35rem;padding:.25rem .55rem;border-radius:9px;background:#eef6ef;color:#226537;font-size:.78rem;font-weight:700}
body.customer .page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.7rem}
body.customer .page-heading h2{margin:.1rem 0 0}
body.customer .eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.68rem;color:#708076;font-weight:800}
body.customer .item-count{color:#69736b;font-size:.85rem;white-space:nowrap}
body.customer .cart-summary{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e6e9e6;margin-top:1rem;padding:1.1rem 0 .8rem;font-size:1.1rem;font-weight:750}
body.customer .cart-summary strong{font-size:1.55rem;color:#08713a}
body.customer .checkout-button{display:flex;justify-content:space-between;width:100%;font-size:1.05rem}
body.customer .text-action{display:block;text-align:center;margin:1rem 0 .15rem;color:#08713a;font-weight:750;text-decoration:none}
body.customer .empty-cart{text-align:center;padding:2.2rem 1.2rem}
body.customer .empty-cart .empty-icon{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 1rem;border-radius:50%;background:#eaf5ed;color:#08713a;font-size:2rem}
body.customer .empty-cart .button{display:block;margin-top:1.25rem}
body.customer .grid{gap:.75rem}
body.customer .payment-total{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-radius:17px;background:linear-gradient(135deg,#eff8f1,#f8fbf8);border:1px solid #dceadd}
body.customer .payment-total span{font-weight:700;color:#4e5b52}
body.customer .payment-total strong{font-size:1.7rem;color:#08713a}
body.customer .payment-heading{margin:1.4rem 0 .7rem}
body.customer .payment-options{display:grid;gap:.7rem}
body.customer .payment-options button{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:.85rem;width:100%;text-align:left;background:#fff;color:#111;border:1px solid #e1e6e1;box-shadow:none;font-size:1rem;padding:.85rem}
body.customer .payment-options button:first-child{border-color:#9ccff3;background:#f7fcff}
body.customer .payment-options button>span:nth-child(2){display:flex;flex-direction:column;gap:.18rem}
body.customer .payment-options button small{color:#68736b;font-weight:500}
body.customer .payment-options button b{font-size:1.6rem;color:#6a746c}
body.customer .pay-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#e8f4eb;color:#08713a;font-size:.78rem;font-weight:900}
body.customer .twint-icon{background:linear-gradient(135deg,#f0eaff,#e6f6ff);color:#54218e;font-size:1.2rem}
body.customer #cash-change{margin-top:1rem;padding:1rem;border-radius:16px;background:#f5f8f5}
body.customer .payment-note{margin-top:1rem;font-size:.88rem}
.mobile-nav{display:none}
body.customer .mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);height:72px;background:rgba(255,255,255,.97);border-top:1px solid #dfe4df;backdrop-filter:blur(14px);padding:.35rem max(.35rem,env(safe-area-inset-right)) calc(.35rem + env(safe-area-inset-bottom)) max(.35rem,env(safe-area-inset-left))}
body.customer .mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;color:#626a64;text-decoration:none;font-size:.72rem;font-weight:650}
body.customer .mobile-nav a span{font-size:1.45rem;line-height:1}
body.customer .mobile-nav a.active{color:#08713a}
@media(min-width:760px){body.customer{padding-bottom:0}body.customer .mobile-nav{display:none}body.customer main{padding:1.25rem}body.customer #scan-video{max-height:440px}}
@media(max-width:420px){body.customer main{padding:.55rem}body.customer .card{padding:.85rem;border-radius:17px}body.customer .product>img{width:calc(100% + 1.7rem);margin:-.85rem -.85rem 1rem;height:38vh}.mobile-nav{height:68px}}
