*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#123247;background:#fff;line-height:1.55}.container{width:min(1160px,92%);margin:auto}.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid #e6eef2;z-index:10}.nav{height:76px;display:flex;align-items:center;gap:36px}.logo{font-weight:900;letter-spacing:1.5px;text-decoration:none;color:#123247;font-size:21px}.logo span{color:#13a6ad;margin-left:5px}.nav nav{display:flex;gap:25px;flex:1}.nav nav a,footer a{text-decoration:none;color:#355365}.cart{border:0;background:#123247;color:#fff;border-radius:10px;padding:11px 16px;font-weight:700}.cart span{background:#13a6ad;border-radius:20px;padding:2px 7px;margin-left:5px}.hero{background:linear-gradient(135deg,#eaf9fb,#fff);padding:86px 0}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:800;color:#13a6ad;margin:0 0 10px}.hero h1{font-size:58px;line-height:1.04;margin:0 0 22px}.hero h1 strong{color:#13a6ad}.lead{font-size:19px;max-width:650px;color:#4c6674}.actions{display:flex;gap:12px;margin-top:28px}.btn{display:inline-block;text-decoration:none;padding:13px 20px;border-radius:10px;font-weight:800}.primary{background:#13a6ad;color:#fff}.secondary{border:1px solid #9bb7c1;color:#123247;background:#fff}.hero-card{background:#123247;color:#fff;border-radius:24px;padding:34px;box-shadow:0 18px 45px #12324722}.hero-card h2{font-size:30px;margin:12px 0}.hero-badge{display:inline-block;background:#13a6ad;padding:7px 12px;border-radius:30px;font-weight:800}.mini-list{display:grid;gap:10px;margin-top:24px}.section{padding:76px 0}.light{background:#f5f9fa}.section h2,.tasp h2{font-size:38px;margin:0 0 30px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards article,.product{background:#fff;border:1px solid #e1eaee;border-radius:16px;padding:24px}.icon{width:48px;height:48px;border-radius:12px;background:#e9f8f9;color:#087f86;display:grid;place-items:center;font-weight:900}.cards h3{margin:18px 0 7px}.cards a{color:#087f86;font-weight:800;text-decoration:none}.brands{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.brands div{padding:30px;background:#fff;border-radius:16px;border:1px solid #e1eaee}.brands b{display:block;font-size:22px}.brands span{color:#617681}.tasp{padding:70px 0;background:#123247;color:#fff}.tasp-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:45px;align-items:center}.tasp .eyebrow{color:#54d6da}.tasp h2{margin-bottom:14px}.tasp-box{background:#fff;color:#123247;border-radius:18px;padding:28px}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.product-img{height:170px;border-radius:12px;background:#eef5f7;display:grid;place-items:center;font-size:28px;font-weight:900;color:#7a929d}.product h3{font-size:16px;min-height:48px}.product p{font-size:13px;color:#6a7f89}.product strong{display:block;font-size:19px;margin:14px 0}.product button{width:100%;border:0;border-radius:9px;padding:11px;background:#13a6ad;color:#fff;font-weight:800}.service{display:grid;grid-template-columns:1fr 1fr;gap:60px}.service-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:center}.service-points span{padding:15px;background:#fff;border:1px solid #dfe9ed;border-radius:10px}footer{background:#0b2637;color:#c7d5dc;padding:50px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-grid .logo{color:#fff}.footer-grid h4{color:#fff;margin-top:0}.footer-grid a{display:block;color:#c7d5dc;margin:8px 0}.copyright{border-top:1px solid #294351;margin-top:35px;padding-top:18px;font-size:12px}@media(max-width:800px){.nav nav{display:none}.hero-grid,.tasp-grid,.service{grid-template-columns:1fr}.hero h1{font-size:42px}.cards,.brands{grid-template-columns:1fr 1fr}.products{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}}@media(max-width:520px){.cards,.brands,.products{grid-template-columns:1fr}.nav{gap:10px}.hero{padding:55px 0}}

.catalog-intro{max-width:800px;color:#617681;margin-top:-15px;margin-bottom:34px}.catalog-group{margin-top:44px}.catalog-group h3{font-size:24px;margin:0 0 16px}.product-list{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.product h4{font-size:16px;min-height:44px;margin:15px 0 6px}.notice{margin-top:45px;padding:20px 22px;border-radius:12px;background:#e9f8f9;border-left:4px solid #13a6ad}@media(max-width:800px){.product-list{grid-template-columns:1fr 1fr}}@media(max-width:520px){.product-list{grid-template-columns:1fr}}

.product-img.photo{padding:10px;background:#fff;overflow:hidden}.product-img.photo img{width:100%;height:100%;object-fit:contain;display:block;border-radius:10px}

.detail-btn,.add-btn{width:100%;border:0;border-radius:9px;padding:11px;background:#13a6ad;color:#fff;font-weight:800;cursor:pointer}.modal-backdrop{position:fixed;inset:0;background:#082334aa;display:none;align-items:center;justify-content:center;padding:20px;z-index:40}.modal-backdrop.open{display:flex}.product-modal{position:relative;background:#fff;border-radius:20px;width:min(900px,96vw);max-height:90vh;overflow:auto;padding:34px}.modal-close{border:0;background:transparent;font-size:30px;line-height:1;cursor:pointer;color:#34505f}.product-modal>.modal-close{position:absolute;right:18px;top:14px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.detail-image{height:360px;background:#f3f8fa;border-radius:15px;display:grid;place-items:center;overflow:hidden}.detail-image img{width:100%;height:100%;object-fit:contain}.detail-placeholder{font-size:40px;font-weight:900;color:#7a929d}.detail-price{font-size:28px;font-weight:900;margin:18px 0}.cart-drawer{position:fixed;right:-460px;top:0;height:100vh;width:min(440px,94vw);background:#fff;z-index:50;box-shadow:-12px 0 35px #08233422;transition:right .25s ease;display:flex;flex-direction:column}.cart-drawer.open{right:0}.cart-head{display:flex;justify-content:space-between;align-items:center;padding:22px;border-bottom:1px solid #e2eaee}.cart-items{padding:18px;overflow:auto;flex:1}.cart-item{padding:16px 0;border-bottom:1px solid #e6eef1}.cart-item-main{display:grid;gap:4px}.cart-item-main span{font-size:12px;color:#6a7f89}.qty{display:flex;gap:12px;align-items:center;margin-top:10px}.qty button{border:1px solid #c8d8de;background:#fff;border-radius:7px;width:30px;height:30px}.remove{border:0;background:transparent;color:#b04b4b;padding:7px 0;cursor:pointer}.cart-footer{padding:20px;border-top:1px solid #e2eaee}.cart-total{display:flex;justify-content:space-between;font-size:18px;margin-bottom:15px}.checkout-btn{width:100%;border:0;cursor:pointer}.small-note{font-size:12px;color:#71848e}.empty-cart{text-align:center;padding:50px 10px;color:#637883}@media(max-width:700px){.detail-grid{grid-template-columns:1fr}.detail-image{height:260px}}

.product { cursor: pointer; }
.product .detail-btn { position: relative; z-index: 2; }
.detail-box, .dispenser-hint { margin: 18px 0; padding: 16px 18px; border: 1px solid #dce8e8; border-radius: 14px; background: #f7fbfb; }
.detail-box strong, .dispenser-hint strong { display:block; margin-bottom:8px; }
.detail-box ul { margin: 0; padding-left: 20px; }
.detail-box li { margin: 4px 0; }
.dispenser-hint { background: #eef9f8; border-color: #bfe4e1; }
.dispenser-hint p { margin: 6px 0 8px; line-height: 1.45; }
.hint-link { font-weight: 700; color: #087f83; text-decoration: none; }
.detail-copy { line-height: 1.5; }

html { scroll-behavior: smooth; }
#katalog { scroll-margin-top: 90px; }

.brand-card{border:1px solid #e1eaee;background:#fff;border-radius:18px;padding:24px;text-align:left;cursor:pointer;display:block;width:100%;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.brand-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #12324712}.brand-card.active{border-color:#13a6ad;box-shadow:0 0 0 2px #13a6ad22}.brand-card b{display:block;font-size:21px;margin:13px 0 5px;color:#123247}.brand-card>span:last-child{color:#617681}.brand-mark{height:58px;min-width:88px;width:max-content;padding:0 18px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:26px;letter-spacing:-1px}.all-mark{background:#123247;color:#fff}.tork-mark{background:#173c70;color:#fff}.celtex-mark{background:#fff;border:2px solid #13a6ad;color:#13a6ad;font-size:34px;font-family:Georgia,serif}.carta-mark{background:#e9edf2;color:#3f5563;font-size:20px}.brand-filter-note{margin-top:18px;padding:14px 16px;background:#eef9f8;border-radius:12px;color:#42606c;font-size:14px}.cart-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.continue-btn,.checkout-btn{width:100%;cursor:pointer}.brand-group{scroll-margin-top:100px}
@media(max-width:800px){.cart-actions{grid-template-columns:1fr}.brands{grid-template-columns:1fr 1fr}}

/* Markenlogos */
.brand-logo-wrap{height:58px;display:flex;align-items:center;justify-content:flex-start;background:#fff;border-radius:12px;overflow:hidden;border:1px solid #e1eaee}
.brand-logo-img{max-width:100%;height:58px;object-fit:contain;display:block}
.hint-link{display:inline-flex!important;align-items:center;justify-content:center;margin-top:8px;padding:11px 16px!important;border-radius:10px!important}
.system-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.system-card{background:#fff;border:1px solid #dfe9ed;border-radius:14px;padding:20px;display:grid;gap:7px}
.system-card b{font-size:18px;color:#123247}
.system-card span{font-size:14px;color:#617681}
@media(max-width:800px){.system-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.system-grid{grid-template-columns:1fr}}

.brand-logo-wrap{height:72px}
.brand-logo-img{width:100%;height:72px;object-fit:contain}
.dispenser-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.dispenser-card{background:#fff;border:1px solid #dfe9ed;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.dispenser-card .product-img{height:220px!important;background:#fff}
.dispenser-card .product-img img{width:100%;height:100%;object-fit:contain}
.dispenser-card>div:last-child{padding:16px;display:grid;gap:8px}
.dispenser-card b{font-size:16px;color:#123247}
.dispenser-card span{font-size:13px;color:#617681;min-height:36px}
.hint-link{font-weight:700!important;box-shadow:0 4px 12px rgba(0,80,90,.12)}
@media(max-width:900px){.dispenser-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.dispenser-grid{grid-template-columns:1fr}}

.exact-brand-logo{width:100%;height:100px!important;object-fit:contain!important;background:#fff}
.brand-logo-wrap{height:104px!important;background:#fff!important}

.price-admin{margin:40px auto;max-width:1200px;border:1px solid #dfe9ed;border-radius:18px;padding:24px;background:#f7fbfc}
.price-admin-head{display:flex;justify-content:space-between;align-items:center;gap:24px}
.price-admin-modal{max-width:900px!important;max-height:85vh;overflow:auto}
.price-admin-list{display:grid;gap:8px;margin:20px 0}
.price-admin-row{display:grid;grid-template-columns:1fr 110px 80px;gap:10px;align-items:center;padding:10px;border-bottom:1px solid #e5edef}
.price-admin-row small{color:#647984}
.price-admin-row input{width:100%;padding:10px;border:1px solid #cbdadd;border-radius:8px}
.price-admin-actions{display:flex;gap:10px;flex-wrap:wrap;position:sticky;bottom:0;background:white;padding-top:12px}
@media(max-width:650px){.price-admin-head{flex-direction:column;align-items:flex-start}.price-admin-row{grid-template-columns:1fr 100px}}

/* Einheitliche Markenlogo-Flächen */
.brand-logo-wrap{
  height:104px!important;
  min-height:104px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#fff!important;
}
.exact-brand-logo{
  width:88%!important;
  height:96px!important;
  max-width:100%!important;
  object-fit:contain!important;
}

.checkout-section{background:#f6fafb;padding:70px 20px}.checkout-shell{max-width:1180px;margin:auto}.checkout-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:24px}.checkout-form,.checkout-summary{background:#fff;border:1px solid #dfe9ed;border-radius:18px;padding:24px}.checkout-block{padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #e6edef}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checkout-form label{display:grid;gap:6px}.checkout-form input,.checkout-form textarea{width:100%;box-sizing:border-box;padding:11px;border:1px solid #cbdadd;border-radius:9px}.payment-options{display:grid;gap:10px}.payment-option{display:flex!important;gap:10px;padding:14px;border:1px solid #dfe9ed;border-radius:12px}.payment-option span{display:grid;gap:3px}.payment-option small{color:#6a7d85}.checkout-warning{background:#fff8df;border:1px solid #f0df9e;padding:12px;border-radius:10px}.checkout-summary{height:max-content;position:sticky;top:20px}.summary-line,.summary-total{display:flex;justify-content:space-between;padding:10px 0}.summary-total{border-top:1px solid #dfe9ed;font-size:19px}.checkout-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eef2f3}@media(max-width:850px){.checkout-grid{grid-template-columns:1fr}.checkout-summary{position:static}}@media(max-width:560px){.form-grid{grid-template-columns:1fr}}

.allround-brand-logo{
  background:#fff!important;
}
.allround-mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:180px;
  height:78px;
  padding:0 18px;
  border:2px solid #0d2a3b;
  border-radius:12px;
  font-weight:800;
  letter-spacing:1.5px;
  font-size:22px;
  color:#0d2a3b;
  box-sizing:border-box;
}
.brand-consultation{
  margin:18px 0 8px;
  padding:14px 18px;
  border:1px solid #dfe9ed;
  border-radius:12px;
  background:#f7fbfc;
}

.generated-brand-logo{height:118px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.generated-brand-logo img{width:100%;height:100%;object-fit:contain;display:block}
.owner-link{font-size:13px;text-decoration:none;color:#0d2a3b;margin-right:12px}

/* Final brand-logo proportions: Carta Seta is visually enlarged to match Tork/Celtex. */
.brand-card .brand-logo-wrap{height:118px;display:flex;align-items:center;justify-content:center}
.brand-card.carta-seta-card .brand-logo-wrap img,
.brand-card[data-brand-filter="carta-seta"] .brand-logo-wrap img,
.brand-card[data-brand-filter="cartaseta"] .brand-logo-wrap img{
  width:92%!important;
  height:92%!important;
  object-fit:contain!important;
  transform:scale(1.18);
  transform-origin:center;
.payment-option{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:72px;
  padding:14px 16px;
  margin-bottom:10px;
  box-sizing:border-box;
  background:#fff;
  border:1px solid #dfe5e9;
  border-radius:12px;
  cursor:pointer;
  transition:all .2s ease;
}

.payment-option:hover{
  border-color:#2a8d9f;
  box-shadow:0 3px 10px rgba(0,0,0,.06);
}

.payment-option:has(input:checked){
  border-color:#2a8d9f;
  background:#f5fbfc;
  box-shadow:0 0 0 2px rgba(42,141,159,.12);
}

.payment-option input{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin:0;
  accent-color:#2a8d9f;
}

.payment-copy{
  display:flex;
  flex-direction:column;
  flex:1;
min-width:0;
}

.payment-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:16px;
  font-weight:700;
  color:#172b3a;
}

.payment-badges{
  display:flex;
  align-items:center;
  gap:6px;
}

.card-badge,
.payment-badge,
.twint-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:24px;
  padding:0 7px;
  box-sizing:border-box;
  border:1px solid #d5dce0;
  border-radius:6px;
  background:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.3px;
}

.twint-badge{
  color:#e0004d;
  border-color:#e0004d;
}

.payment-badge{
  color:#526872;
  background:#f5f8f9;
}

.payment-option small,
.payment-copy small{
  color:#667780;
  font-size:13px;
  line-height:1.35;
.payment-option {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  align-items: start !important;
  column-gap: 14px !important;
  width: 100% !important;
  min-height: 90px !important;
  padding: 16px 18px !important;
  margin: 10px 0 !important;
  box-sizing: border-box !important;
  background: #fff !important;
  border: 1px solid #dfe4e8 !important;
  border-radius: 10px !important;
  cursor: pointer !important;
}

.payment-option > input[type="radio"] {
  grid-column: 1 !important;
  width: 18px !important;
  height: 18px !important;
  margin: 2px 0 0 0 !important;
}

.payment-option .payment-copy {
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: block !important;
}

.payment-option .payment-title {
  display: block !important;
  width: 100% !important;
  margin-bottom: 6px !important;
}

.payment-option .payment-badges {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

.payment-option .payment-copy small {
  display: block !important;
  margin-top: 4px !important;
}
.checkout-form {
  grid-column: 1 !important;
}

.checkout-summary {
  grid-column: 2 !important;
}
.payment-option {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  width: 100% !important;
  min-height: 90px !important;
  padding: 16px 18px !important;
  margin: 10px 0 !important;
  box-sizing: border-box !important;
}

.payment-option > input[type="radio"] {
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
  margin: 2px 0 0 !important;
}

.payment-option .payment-copy {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  width: auto !important;
  display: flex !important;
  flex-direction: column !important;
}

.payment-option .payment-title {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  width: 100% !important;
}

.payment-option .payment-badges {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}
