*{box-sizing:border-box}
body{margin:0;font-family:Arial,sans-serif;background:#f3f7fb;color:#102a43}
.top{min-height:72px;padding:0 5%;background:#fff;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce6ef}
.brand{font-size:24px;font-weight:800;text-decoration:none;color:#102a43}.brand span{color:#cf174b}
.nav{display:flex;align-items:center;gap:18px}.nav a,a{color:#0866cc;text-decoration:none}
.top button,.primary{border:0;border-radius:9px;padding:11px 18px;background:#0866cc;color:#fff;font-weight:700}.linkbutton{display:inline-block}
main{max-width:1180px;margin:auto;padding:32px 22px}.hero{background:#e8f3ff;padding:28px;border-radius:16px;margin-bottom:20px}
.eyebrow{font-size:12px;font-weight:800;color:#0866cc}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border:1px solid #dce6ef;border-radius:14px;padding:24px;box-shadow:0 8px 24px #16324f10}
.page-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.page-head h1{margin:4px 0 0}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid #e5edf5;white-space:nowrap}
.badge{display:inline-block;padding:5px 9px;border-radius:20px;font-size:12px;font-weight:700}.badge.ok{background:#e6f6ed;color:#177245}.badge.off{background:#edf1f5;color:#5b6773}
.form-card{max-width:860px}.form-card form{display:grid;gap:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{display:grid;gap:7px;font-weight:700}.form-grid input,.form-grid select{width:100%;padding:12px;border:1px solid #bfcddd;border-radius:8px;background:white}
.check{display:flex;align-items:center;gap:9px}.actions{display:flex;align-items:center;gap:16px}.error{padding:12px;background:#ffe9ec;color:#9c1832;border-radius:8px}.notice{padding:13px 16px;margin-bottom:18px;border-radius:9px;background:#e6f6ed;color:#176b43;font-weight:700}
.auth{max-width:480px;margin:50px auto}.auth form{display:grid;gap:16px}.auth label{display:grid;gap:7px;font-weight:700}.auth input{padding:12px;border:1px solid #bfcddd;border-radius:8px}
.form-card label{display:grid;gap:7px;font-weight:700}.form-card input,.form-card select,.add-member select{width:100%;padding:12px;border:1px solid #bfcddd;border-radius:8px;background:#fff}
.household-members{margin-top:20px}.member-list{display:grid}.member-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #e5edf5}.member-row small{display:block;color:#5b6773;margin-top:4px}
.secondary{border:1px solid #bfcddd;border-radius:8px;padding:9px 13px;background:#fff;color:#102a43;font-weight:700}.add-member{display:grid;grid-template-columns:1fr auto;align-items:end;gap:14px;margin-top:22px}.add-member label{display:grid;gap:7px;font-weight:700}
.location-card{margin-top:20px}.location-summary{margin-top:20px;padding:14px 16px;border-radius:10px;background:#e8f3ff;color:#102a43}.location-card .actions{margin-top:20px}
.admin-store-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;margin-bottom:20px}.store-list{display:grid;margin-top:18px}.store-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid #e5edf5}.store-row small{display:block;color:#5b6773;margin-top:4px}
.favorite{border:1px solid #bfcddd;background:#fff;color:#102a43;border-radius:9px;padding:9px 13px;font-weight:700;white-space:nowrap}.favorite.active{background:#fff5cf;border-color:#e4bd35;color:#795d00}.empty{color:#5b6773}
.finder-card,.finder-compact{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.subtitle{margin:5px 0 0;color:#5b6f83}.primary:disabled{opacity:.5;cursor:not-allowed}
.map-layout{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(240px,.7fr);gap:20px;margin-bottom:20px}.map-card{padding:18px}.section-head,.list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.section-head h2,.list-head h2{margin:4px 0 14px}.store-map{height:510px;border:1px solid #cbd9e7;border-radius:13px;overflow:hidden;background:#e7eef5}.list-count{background:#edf6ff;color:#0b67cf;border-radius:20px;padding:7px 12px;font-weight:700}
.store-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.store-tile{position:relative;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:15px;border:1px solid #d7e2ec;border-radius:13px;background:#fff}.brand-logo{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;background:#fff;overflow:hidden;border:1px solid #cadced}.brand-logo img{display:block;width:88%;height:88%;object-fit:contain}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.offer-schema-grid{margin-bottom:20px}.schema-number{display:block;font-size:34px;color:#0b67cf;margin:8px 0}

/* SP 1C.4c - ruhiges kompaktes Angebotsraster */
.offers-section{padding:22px;overflow:hidden}
.offer-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:16px;align-items:stretch}
.offer-card{min-width:0;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid #d9e4ee;border-radius:14px;box-shadow:0 5px 16px rgba(16,42,67,.06)}
.offer-card:hover{border-color:#a8c7e3;box-shadow:0 9px 22px rgba(16,42,67,.10)}
.offer-image-wrap{position:relative;width:100%;height:132px;display:flex;align-items:center;justify-content:center;padding:10px;background:#f7fafc;border-bottom:1px solid #e6eef5;overflow:hidden}
.offer-image{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;margin:0!important;position:static!important;transform:none!important;filter:none!important}
.offer-image-fallback{width:54px;height:54px;flex:0 0 54px;border-radius:14px;display:grid;place-items:center;background:#e8f2fb;color:#0b67cf;font-size:22px;font-weight:900}
.offer-image-fallback[hidden]{display:none!important}
.offer-card-body{min-width:0;display:flex;flex:1;flex-direction:column;padding:11px 12px 12px}
.offer-card-top{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}
.offer-retailer{font-size:10px;font-weight:900;line-height:1.2;color:#0866cc;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}
.offer-store{max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:700;color:#607487}
.offer-brand{margin:8px 0 2px;color:#5c7185;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.offer-title{margin:5px 0 0;color:#102a43;font-size:13px;line-height:1.25;font-weight:800;min-height:32px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.offer-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px;min-height:20px}.offer-tags span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 6px;border-radius:9px;background:#f0f5f9;color:#50667a;font-size:9px}
.offer-card-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:7px;margin-top:auto;padding-top:10px;min-width:0}
.offer-price{color:#0b2e53;font-size:22px;line-height:1;font-weight:900;white-space:nowrap}
.offer-validity{color:#6e7f90;font-size:8px;line-height:1.25;text-align:right;white-space:normal}

@media(max-width:1050px){.offer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:820px){.offer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.offer-image-wrap{height:118px}}
@media(max-width:620px){.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.offers-section{padding:15px}.offer-image-wrap{height:108px}.offer-card-body{padding:9px}.offer-title{font-size:12px}.offer-price{font-size:20px}.offer-store{display:none}}
@media(max-width:360px){.offer-grid{grid-template-columns:1fr}.offer-image-wrap{height:130px}}

@media(max-width:760px){.grid,.form-grid{grid-template-columns:1fr}.top,.page-head,.finder-card,.finder-compact,.section-head,.list-head{align-items:flex-start;flex-direction:column}.top{padding-top:18px;padding-bottom:18px;gap:15px}.nav{flex-wrap:wrap}.add-member{grid-template-columns:1fr}.member-row,.store-row{align-items:flex-start;flex-direction:column}}
