*{box-sizing:border-box}body{margin:0;font-family:Georgia,"Times New Roman",serif;color:#fff4d6;background:radial-gradient(circle at top left,rgba(255,211,107,.16),transparent 35%),linear-gradient(135deg,#140000,#350000 55%,#150000)}.hero{min-height:430px;background:linear-gradient(135deg,#2c0000,#5a1307);border-bottom:1px solid #b77a22}.hero-overlay{min-height:430px;padding:24px;background:radial-gradient(circle at 80% 20%,rgba(255,211,107,.18),transparent 25%),linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.55))}.topline{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.brand{font-size:38px;font-weight:900;color:#ffd36b;letter-spacing:2px;text-shadow:0 2px 10px #000}.cart-button,.sticky-cart,.small-btn,.type-btn,.icon-btn,.checkout,.primary,.secondary{border:1px solid #b77a22;border-radius:999px;padding:12px 18px;font-weight:900;cursor:pointer;background:#3b1008;color:#fff4d6}.cart-button,.checkout,.primary{background:linear-gradient(#ffd36b,#c98322);color:#260000}.hero-content{max-width:900px;margin:88px auto 0;text-align:center}.eyebrow{color:#ffd36b;letter-spacing:4px;text-transform:uppercase}h1{font-size:clamp(42px,7vw,86px);margin:10px 0;line-height:.95}.hero-content p{font-size:20px;opacity:.94}.order-type{margin-top:28px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.type-btn.active{background:linear-gradient(#ffd36b,#c98322);color:#260000}main{max-width:1400px;margin:0 auto;padding:24px}.toolbar{position:sticky;top:0;z-index:10;display:flex;gap:14px;align-items:center;padding:14px 0;background:linear-gradient(180deg,rgba(32,0,0,.96),rgba(32,0,0,.76));backdrop-filter:blur(8px)}.search-wrap{flex:1;display:flex;align-items:center;gap:12px;border:1px solid #b77a22;background:rgba(0,0,0,.25);border-radius:22px;padding:8px 14px}.search-wrap input{width:100%;border:0;outline:0;background:transparent;color:#fff4d6;font-size:18px;padding:12px 4px}h2{color:#ffd36b;font-size:32px;margin:26px 0 8px}.categories{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.category-card{border:1px solid #b77a22;border-radius:24px;background:linear-gradient(180deg,rgba(70,10,0,.95),rgba(25,0,0,.95));padding:20px;cursor:pointer;box-shadow:0 14px 35px rgba(0,0,0,.25)}.category-card.active{outline:3px solid rgba(255,211,107,.65)}.category-card .icon{font-size:42px}.category-card h3{margin:10px 0 6px;font-size:24px}.category-card p{opacity:.84;margin:0;line-height:1.4}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:end}.section-head p{opacity:.85;margin:0}.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:18px;margin-top:18px}.item-card{border:1px solid #b77a22;border-radius:26px;background:linear-gradient(180deg,rgba(70,10,0,.95),rgba(25,0,0,.95));overflow:hidden;display:flex;flex-direction:column;min-height:230px;box-shadow:0 16px 45px rgba(0,0,0,.28)}.item-body{padding:20px;flex:1}.item-nr{color:#ffd36b;font-weight:900}.item-card h3{font-size:25px;margin:8px 0;color:#fff}.item-card p{opacity:.88;line-height:1.45}.price-line{color:#ffd36b;font-size:22px;font-weight:900;margin-top:14px}.item-actions{padding:16px 20px;border-top:1px solid rgba(183,122,34,.35)}.add-btn{width:100%;border:0;border-radius:999px;padding:14px;background:linear-gradient(#ffd36b,#c98322);color:#260000;font-weight:900;cursor:pointer}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;z-index:30}.overlay.open{display:block}.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(520px,100%);background:linear-gradient(180deg,#3a0700,#140000);border-left:1px solid #b77a22;z-index:40;transform:translateX(105%);transition:.25s;display:flex;flex-direction:column}.cart-drawer.open{transform:translateX(0)}.cart-head{padding:20px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(183,122,34,.45)}.cart-head h2{margin:0}.icon-btn{font-size:28px;width:48px;height:48px;padding:0}.cart-items{overflow:auto;padding:16px 20px;flex:1}.cart-item{border:1px solid rgba(183,122,34,.55);border-radius:20px;padding:14px;margin-bottom:14px;background:rgba(0,0,0,.22)}.cart-item-title{font-weight:900;color:#fff;font-size:18px}.cart-item-meta{opacity:.88;margin:4px 0 10px}.qty-row,.extra-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.qty-row button,.extra-row button,.remove-btn{border:1px solid #b77a22;background:#3b1008;color:#fff4d6;border-radius:999px;padding:7px 12px;cursor:pointer}.qty-row input{flex:1;min-width:180px;border:1px solid #b77a22;border-radius:14px;background:#160000;color:#fff4d6;padding:9px}.extra-row button.active{background:#ffd36b;color:#260000}.remove-btn{margin-top:10px;border-color:#ff6565;color:#ffb3b3}.cart-summary{padding:20px;border-top:1px solid rgba(183,122,34,.45)}.sum-row{display:flex;justify-content:space-between;font-size:28px;color:#ffd36b;margin-bottom:16px}.checkout{width:100%;border:0;font-size:18px;padding:16px}.dialog{width:min(720px,calc(100% - 24px));border:1px solid #b77a22;border-radius:28px;background:linear-gradient(180deg,#3a0700,#140000);color:#fff4d6;padding:0}.dialog::backdrop{background:rgba(0,0,0,.65)}.dialog form{padding:24px}.dialog h2{margin-top:0}.variant-options{display:grid;gap:12px}.variant-option{border:1px solid #b77a22;border-radius:18px;padding:16px;background:rgba(0,0,0,.22);cursor:pointer;display:flex;justify-content:space-between;gap:14px}.variant-option:hover{background:rgba(255,211,107,.12)}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.secondary{background:transparent;color:#ffd36b}.auth-code{font-size:52px;color:#ffd36b;font-weight:900;text-align:center;letter-spacing:8px;border:1px solid rgba(255,211,107,.4);border-radius:22px;padding:12px;background:rgba(0,0,0,.25)}.code-info{text-align:center;margin-bottom:6px}.checkout-summary{margin:18px 0;padding:14px;border:1px solid rgba(183,122,34,.45);border-radius:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:grid;gap:6px;font-weight:900;color:#ffd36b}.form-grid input,.form-grid textarea{border:1px solid #b77a22;background:#160000;color:#fff4d6;border-radius:14px;padding:12px;font-size:16px}.form-grid textarea{min-height:90px}@media(max-width:760px){.hero-overlay{padding:18px}.toolbar{bottom:0;top:auto;position:sticky}.sticky-cart{position:fixed;left:14px;right:14px;bottom:14px;z-index:20;box-shadow:0 12px 40px rgba(0,0,0,.4)}main{padding-bottom:90px}.section-head{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}}
.site-mini-nav{
  position:sticky;top:0;z-index:99;display:flex;gap:10px;justify-content:center;
  padding:10px;background:rgba(20,0,0,.92);border-bottom:1px solid #b77a22
}
.site-mini-nav a{
  color:#260000;text-decoration:none;font-weight:900;
  background:linear-gradient(#ffd36b,#c98322);padding:8px 14px;border-radius:999px
}

.code-warning{
  text-align:center;
  color:#ffd36b;
  font-weight:900;
  line-height:1.4;
  margin:8px 0 14px;
  padding:10px 12px;
  border:1px solid rgba(255,211,107,.35);
  border-radius:14px;
  background:rgba(0,0,0,.22);
}


/* Bestellung prüfen: Hinweis statt Browser-Popup */
.order-code-notice {
  margin: 14px 0 12px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 211, 107, .9);
  border-radius: 14px;
  background: rgba(255, 211, 107, .10);
  color: #fff4d0;
  font-size: 15px;
  line-height: 1.45;
}

.order-code-notice.show {
  display: block !important;
}

.order-code-notice-title {
  color: #ffd36b;
  font-weight: 900;
  margin-bottom: 5px;
}

#orderCodeNoticeValue {
  color: #ffd36b;
  font-size: 18px;
}

/* Bestellung-prüfen Buttons besser ausrichten */
.order-check-actions,
.checkout-actions,
.modal-actions,
.confirm-actions {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 14px !important;
  margin-top: 16px !important;
}

.order-check-actions button,
.checkout-actions button,
.modal-actions button,
.confirm-actions button {
  min-width: 150px;
}

@media (max-width: 700px) {
  .order-check-actions,
  .checkout-actions,
  .modal-actions,
  .confirm-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .order-check-actions button,
  .checkout-actions button,
  .modal-actions button,
  .confirm-actions button {
    width: 100%;
  }
}


/* Fix: Bestellung nur einmal absenden */
#checkoutForm button[type="submit"]:disabled{
  opacity:.65;
  cursor:not-allowed;
  filter:saturate(.7);
}

.order-code-notice{
  margin-top:12px;
  margin-bottom:14px;
}


/* Checkout Hinweise */
.checkout-important-notices{
  margin:14px 0 10px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.checkout-notice{
  border-radius:12px;
  padding:12px 14px;
  font-size:14px;
  line-height:1.4;
  border:1px solid rgba(255,211,107,.4);
}

.checkout-notice.warning{
  background:rgba(255,140,0,.12);
  color:#ffd27a;
}

.checkout-notice.info{
  background:rgba(255,211,107,.08);
  color:#fff1c7;
}

.invalid-phone{
  border:2px solid #ff4b4b !important;
  box-shadow:0 0 12px rgba(255,75,75,.4);
}

#checkoutForm button[type="submit"]:disabled{
  opacity:.5;
  cursor:not-allowed;
}


/* Checkout Hinweise direkt im Kundendatenformular */
.checkout-form-hints{
  grid-column: 1 / -1;
  margin: 4px 0 10px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.checkout-form-hint{
  border-radius: 12px;
  padding: 11px 13px;
  font-size: 14px;
  line-height: 1.35;
  border: 1px solid rgba(255,211,107,.45);
  font-weight: 700;
}

.checkout-form-hint.warning{
  background: rgba(255, 132, 0, .16);
  color: #ffd17a;
}

.checkout-form-hint.info{
  background: rgba(255,211,107,.10);
  color: #fff0c7;
}

.invalid-phone{
  border: 2px solid #ff4b4b !important;
  box-shadow: 0 0 10px rgba(255,75,75,.45);
}

#checkoutForm button[type="submit"]:disabled{
  opacity:.55;
  cursor:not-allowed;
  filter:saturate(.7);
}


/* Hinweise direkt im Kundendatenformular */
.checkout-form-hints{
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  margin: 8px 0 12px;
}

.checkout-form-hint{
  border-radius: 12px;
  padding: 11px 13px;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 800;
  border: 1px solid rgba(255,211,107,.55);
}

.checkout-form-hint.warning{
  background: rgba(255, 132, 0, .16);
  color: #ffd17a;
}

.checkout-form-hint.info{
  background: rgba(255,211,107,.11);
  color: #fff0c7;
}

.invalid-phone{
  border: 2px solid #ff4b4b !important;
  box-shadow: 0 0 10px rgba(255,75,75,.45);
}

#checkoutForm button[type="submit"]:disabled{
  opacity:.55;
  cursor:not-allowed;
  filter:saturate(.7);
}


/* ======================================================
   FINAL FIX: Warenkorb-Layout sauber/kompakt
   ====================================================== */

/* Overlay/Panel nicht mehr riesig leer laufen lassen */
.cart,
.cart-panel,
.cart-drawer,
.cart-modal,
#warenkorb,
#cart,
[class*="cart"]{
  box-sizing:border-box !important;
}

/* Rechte Warenkorb-Schublade / Modal */
.cart-panel,
.cart-drawer,
.cart-modal,
#warenkorb,
#cart{
  height:auto !important;
  min-height:0 !important;
  max-height:calc(100vh - 18px) !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}

/* Warenkorb-Inhalt: nur scrollen, wenn wirklich zu viel drin ist */
.cart-items,
#warenkorbItems,
#cartItems,
.cart-list,
[class*="cart-items"],
[class*="cart-list"]{
  flex:0 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  max-height:calc(100vh - 250px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:10px 14px 12px !important;
  box-sizing:border-box !important;
}

/* Artikelkarte im Warenkorb kompakter */
.cart-item,
.warenkorb-item,
.basket-item,
[class*="cart-item"]{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 0 10px 0 !important;
  padding:12px !important;
  border-radius:14px !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

/* Leerraum nach letzter Karte vermeiden */
.cart-item:last-child,
.warenkorb-item:last-child,
.basket-item:last-child,
[class*="cart-item"]:last-child{
  margin-bottom:0 !important;
}

/* Close-Button sauber innerhalb des Warenkorbs */
.cart-close,
.close-cart,
#warenkorbClose,
#cartClose,
button[aria-label="Warenkorb schließen"],
button[aria-label="Schließen"]{
  position:absolute !important;
  top:10px !important;
  right:10px !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  max-width:42px !important;
  max-height:42px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:20 !important;
  margin:0 !important;
}

/* Warenkorb Kopf mit Platz für X */
.cart-header,
.warenkorb-header,
#cartHeader,
#warenkorbHeader,
[class*="cart-header"]{
  position:relative !important;
  padding-right:58px !important;
  flex-shrink:0 !important;
}

/* Extras sauber als Chips umbrechen */
.cart-item .extras,
.cart-item .extra-list,
.cart-item [class*="extra"],
.warenkorb-item .extras,
.warenkorb-item .extra-list,
.warenkorb-item [class*="extra"]{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  align-items:center !important;
}

/* Extra-Chips kompakt */
.cart-item .extras button,
.cart-item .extra-list button,
.cart-item [class*="extra"] button,
.warenkorb-item .extras button,
.warenkorb-item .extra-list button,
.warenkorb-item [class*="extra"] button{
  width:auto !important;
  min-width:0 !important;
  height:28px !important;
  min-height:28px !important;
  max-height:28px !important;
  padding:0 9px !important;
  font-size:11px !important;
  line-height:1 !important;
  border-radius:999px !important;
  white-space:nowrap !important;
}

/* Menge +/- besser ausrichten */
.cart-item .qty,
.cart-item .quantity,
.cart-item [class*="qty"],
.cart-item [class*="quantity"],
.warenkorb-item .qty,
.warenkorb-item .quantity,
.warenkorb-item [class*="qty"],
.warenkorb-item [class*="quantity"]{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:8px 0 !important;
}

.cart-item .qty button,
.cart-item .quantity button,
.cart-item [class*="qty"] button,
.cart-item [class*="quantity"] button,
.warenkorb-item .qty button,
.warenkorb-item .quantity button,
.warenkorb-item [class*="qty"] button,
.warenkorb-item [class*="quantity"] button{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  min-height:30px !important;
  padding:0 !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

/* Hinweisfeld sauber */
.cart-item input,
.cart-item textarea,
.warenkorb-item input,
.warenkorb-item textarea{
  width:100% !important;
  box-sizing:border-box !important;
  margin-top:8px !important;
}

/* Entfernen-Button kompakt */
.cart-item button,
.warenkorb-item button{
  box-sizing:border-box !important;
}

/* Footer im Warenkorb bleibt direkt unter Inhalt */
.cart-footer,
.warenkorb-footer,
#cartFooter,
#warenkorbFooter,
[class*="cart-footer"]{
  flex-shrink:0 !important;
  margin-top:8px !important;
  padding:12px 14px !important;
}

/* Auf sehr kleinen Displays: Warenkorb fast volle Breite */
@media(max-width:700px){
  .cart-panel,
  .cart-drawer,
  .cart-modal,
  #warenkorb,
  #cart{
    width:calc(100vw - 18px) !important;
    max-width:calc(100vw - 18px) !important;
    right:9px !important;
    left:9px !important;
    top:9px !important;
    bottom:auto !important;
    max-height:calc(100vh - 18px) !important;
  }

  .cart-items,
  #warenkorbItems,
  #cartItems,
  .cart-list,
  [class*="cart-items"],
  [class*="cart-list"]{
    max-height:calc(100vh - 230px) !important;
    padding:8px 10px 10px !important;
  }

  .cart-item,
  .warenkorb-item,
  .basket-item,
  [class*="cart-item"]{
    padding:10px !important;
  }
}

/* ======================================================
   MOBILE FIX: Warenkorb-Schließen-Button sichtbar
   ====================================================== */
.site-mini-nav{
  z-index:100 !important;
}
.overlay{
  z-index:900 !important;
}
.cart-drawer{
  z-index:1000 !important;
}
.cart-drawer.open{
  z-index:1000 !important;
}
.cart-head{
  position:relative !important;
  padding-right:72px !important;
  min-height:76px !important;
  flex-shrink:0 !important;
}
#cartClose,
.cart-head #cartClose,
.cart-drawer #cartClose,
.cart-close,
.close-cart,
button[aria-label="Warenkorb schließen"],
button[aria-label="Schließen"]{
  position:absolute !important;
  top:14px !important;
  right:16px !important;
  z-index:1002 !important;
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
  max-width:48px !important;
  max-height:48px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  line-height:1 !important;
  font-size:30px !important;
  padding:0 !important;
  margin:0 !important;
}
@media(max-width:760px){
  .cart-drawer{
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:auto !important;
    width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
  }
  .cart-drawer.open{
    transform:translateX(0) !important;
  }
  .cart-head{
    padding-top:18px !important;
    padding-right:76px !important;
  }
  .cart-items{
    max-height:calc(100dvh - 220px) !important;
  }
}

/* Desktop polish: Shop-Hero mit Startseiten-Grafik */
.hero{
  min-height:560px !important;
  background:
    linear-gradient(90deg,rgba(20,0,0,.92) 0%,rgba(32,0,0,.66) 42%,rgba(20,0,0,.50) 100%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.52)),
    url("../assets/india-gate-hero.png") center center / cover no-repeat !important;
  border-bottom:1px solid rgba(255,211,107,.55) !important;
}
.hero-overlay{
  min-height:560px !important;
  padding:28px 42px 36px !important;
  background:
    radial-gradient(circle at 72% 28%,rgba(255,211,107,.16),transparent 28%),
    linear-gradient(180deg,rgba(20,0,0,.10),rgba(20,0,0,.42)) !important;
}
.site-mini-nav{
  min-height:48px;
  align-items:center;
  background:rgba(20,0,0,.96) !important;
  border-bottom:1px solid rgba(255,211,107,.45) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.32);
}
.site-mini-nav a{
  min-width:132px;
  text-align:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 20px rgba(0,0,0,.22);
}
.topline{
  max-width:1400px !important;
  padding:0 4px;
}
.brand{
  color:#ffd86b !important;
  letter-spacing:3px !important;
  text-shadow:0 3px 18px rgba(0,0,0,.72) !important;
}
.hero-content{
  max-width:820px !important;
  margin:92px auto 0 !important;
  padding:30px 34px 28px;
  border:1px solid rgba(255,211,107,.42);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(58,7,0,.72),rgba(20,0,0,.78));
  box-shadow:0 26px 70px rgba(0,0,0,.38);
  backdrop-filter:blur(3px);
}
.hero-content h1{
  color:#fff6dc;
  text-shadow:0 3px 18px rgba(0,0,0,.56);
}
.hero-content p{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.order-type{
  align-items:center;
}
.cart-button{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 26px rgba(0,0,0,.28);
}
.shop-closed-notice{
  max-width:1120px;
  margin:-56px auto 22px !important;
  padding:22px 24px !important;
  position:relative;
  z-index:3;
  overflow:hidden;
  border:1px solid rgba(255,211,107,.62) !important;
  border-radius:22px !important;
  background:
    linear-gradient(90deg,rgba(70,6,0,.96),rgba(28,0,0,.88)),
    url("../assets/india-gate-hero.png") center center / cover no-repeat !important;
  box-shadow:0 20px 56px rgba(0,0,0,.38) !important;
}
.shop-closed-notice::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(48,0,0,.94),rgba(48,0,0,.78) 58%,rgba(48,0,0,.50));
  z-index:-1;
}
.shop-closed-notice h2{
  margin:0 0 8px !important;
  font-size:clamp(30px,3vw,42px) !important;
  letter-spacing:.4px;
  text-shadow:0 2px 14px rgba(0,0,0,.45);
}
.shop-closed-notice p{
  font-size:18px;
  max-width:760px !important;
}
.shop-closed-notice a{
  min-width:160px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 12px 28px rgba(0,0,0,.30);
}

@media(max-width:760px){
  .hero{
    min-height:430px !important;
  }
  .hero-overlay{
    min-height:430px !important;
    padding:18px !important;
  }
  .hero-content{
    margin:44px auto 0 !important;
    padding:22px 18px;
    border-radius:20px;
  }
  .shop-closed-notice{
    margin:14px 12px 18px !important;
  }
}

/* Live-Shopstatus: geschlossen sichtbar und bedienfest */
.shop-closed-notice{
  margin:0 0 18px;
  padding:18px 20px;
  border:2px solid rgba(255,211,107,.78);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(92,8,2,.96),rgba(32,0,0,.96));
  color:#fff4d6;
  box-shadow:0 14px 36px rgba(0,0,0,.28);
}
.shop-closed-notice h2{
  margin:0 0 8px;
  color:#ffd36b;
  font-size:28px;
}
.shop-closed-notice p{
  margin:0 0 12px;
  max-width:820px;
  line-height:1.45;
}
.shop-closed-notice a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 18px;
  border-radius:999px;
  background:linear-gradient(180deg,#ffd36b,#c98322);
  color:#260000;
  font-weight:900;
  text-decoration:none;
}
.shop-is-closed .add-btn,
.shop-is-closed #checkoutBtn{
  opacity:.58;
  cursor:not-allowed;
  filter:saturate(.65);
}
.shop-is-closed .item-card{
  opacity:.88;
}


/* ======================================================
   Kategorie-Kacheln: Flaggen + lange Texte sauber umbrechen
   ====================================================== */
.categories{
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  align-items: stretch;
}
.category-card{
  min-height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow: hidden;
}
.category-card .icon{
  font-size: 38px;
  line-height: 1;
  min-height: 42px;
  display: flex;
  align-items: center;
}
.category-card h3{
  max-width: 100%;
  line-height: 1.08;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
  font-size: clamp(19px, 1.35vw, 24px);
}
.category-card p{
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
  font-size: 14px;
}
@media(max-width:760px){
  .categories{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .category-card{
    min-height: 132px;
    padding: 15px;
    border-radius: 18px;
  }
  .category-card .icon{
    font-size: 30px;
    min-height: 34px;
  }
  .category-card h3{
    font-size: 18px;
    line-height: 1.08;
    margin: 8px 0 5px;
  }
  .category-card p{
    font-size: 12px;
    line-height: 1.25;
  }
}

/* Checkout: finale Prüfseite nach Kundendaten */
.checkout-final-review{
  margin:18px 0 10px;
  padding:16px;
  border:2px solid rgba(255,211,107,.75);
  border-radius:18px;
  background:rgba(255,211,107,.09);
}
.checkout-final-review h3{
  margin:0 0 10px;
  color:#ffd36b;
  font-size:24px;
}
.review-warning{
  margin-bottom:12px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,132,0,.14);
  color:#ffd17a;
  font-weight:900;
}
.review-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:14px;
}
.review-grid div{
  border:1px solid rgba(183,122,34,.45);
  border-radius:12px;
  padding:10px;
  background:rgba(0,0,0,.18);
  display:grid;
  gap:4px;
}
.review-grid b{color:#ffd36b;}
.review-grid span{word-break:break-word;}
.review-order{
  border-top:1px solid rgba(183,122,34,.45);
  padding-top:10px;
}
.review-line,.review-total{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:5px 0;
}
.review-line span{word-break:break-word;}
.review-total{
  margin-top:8px;
  padding-top:10px;
  border-top:1px solid rgba(255,211,107,.35);
  color:#ffd36b;
  font-size:20px;
  font-weight:900;
}
@media(max-width:700px){.review-grid{grid-template-columns:1fr}.review-line,.review-total{align-items:flex-start}}

/* Flaggen + Textumbruch */
.category-title,.category-name{
white-space:normal!important;
line-height:1.15!important;
word-break:break-word!important;
}


/* Checkout: Kundendaten -> Bestellen -> Zusammenfassung -> Verbindlich bestellen */
#checkoutSummary:empty{display:none;}
.checkout-final-review{
  margin:16px 0;
  padding:16px;
  border:1px solid rgba(255,211,107,.55);
  border-radius:16px;
  background:rgba(255,211,107,.08);
}
.checkout-final-review h3{margin:0 0 8px;color:#ffd36b;}
.review-warning{font-weight:800;margin-bottom:12px;color:#fff0c7;}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.review-grid div{background:rgba(0,0,0,.18);border-radius:12px;padding:10px;}
.review-grid b{display:block;color:#ffd36b;margin-bottom:3px;}
.review-grid span{word-break:break-word;}
.review-line,.review-total{display:flex;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,211,107,.25);padding:8px 0;}
.review-total{font-size:1.15rem;color:#ffd36b;}
@media(max-width:720px){.review-grid{grid-template-columns:1fr;}}


/* Details-Zeile kompakt mit Artikel-Zusammenfassung */
.order-details-row,
.details-row,
.order-card-details-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  border-top:1px solid rgba(255,214,102,.18);
  border-bottom:1px solid rgba(255,214,102,.18);
}
.order-details-row .btn-details,
.details-row .btn-details,
.order-card-details-row .btn-details,
.details-toggle,
.details-btn{
  min-height:34px;
  padding:6px 14px;
  border-radius:10px;
  border:1px solid rgba(255,214,102,.75);
  background:linear-gradient(180deg,#5c2607,#2b0704);
  color:#ffe178;
  font-weight:800;
  white-space:nowrap;
}
.order-item-summary,
.details-summary,
.item-count-summary{
  color:#ffd966;
  font-weight:800;
  font-size:14px;
  opacity:.95;
  white-space:nowrap;
}
@media (max-width:700px){
  .order-details-row,
  .details-row,
  .order-card-details-row{
    gap:8px;
    padding:7px 10px;
  }
  .order-item-summary,
  .details-summary,
  .item-count-summary{
    font-size:13px;
  }
}


/* Kategorie-/Unterkategorie-Übersicht */
.category-card-title,
.category-title,
.cat-title{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  line-height:1.08 !important;
}
.subcategory-tabs,
.subcategory-filter,
.admin-subcategory-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:10px 0 14px;
}
.subcategory-tabs button,
.subcategory-filter button,
.admin-subcategory-tabs button{
  border:1px solid rgba(212,160,45,.65);
  background:linear-gradient(180deg,#6b250b,#310704);
  color:#ffd86b;
  border-radius:999px;
  padding:7px 12px;
  font-weight:800;
}
.subcategory-tabs button.active,
.subcategory-filter button.active,
.admin-subcategory-tabs button.active{
  background:linear-gradient(180deg,#ffd86b,#d59018);
  color:#2b0704;
}
.category-parent-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding:3px 9px;
  background:rgba(255,216,107,.13);
  color:#ffd86b;
  font-weight:800;
}





/* IndiaGate Global Scrollbar */
html, body{
  scrollbar-color:#d99a22 #2a0602;
  scrollbar-width:thin;
}

::-webkit-scrollbar{
  width:14px;
  height:14px;
}
::-webkit-scrollbar-track{
  background:#2a0602;
}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#d99a22,#7a3308);
  border-radius:999px;
  border:3px solid #2a0602;
}
::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#ffd35f,#a9500c);
}


/* === Checkout PLZ/Ort Felder 2026-06-07 === */
#plz, input[name="plz"],
#ort, input[name="ort"],
#adresse_full {
  box-sizing:border-box;
}
#plz, input[name="plz"]{
  max-width:160px;
}
.checkout-address-row,
.ig-address-row{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:10px;
}
@media(max-width:640px){
  .checkout-address-row,
  .ig-address-row{
    grid-template-columns:1fr;
  }
  #plz, input[name="plz"]{
    max-width:none;
  }
}


/* === Checkout Straße PLZ Ort 2026-06-07 === */
#plz, input[name="plz"],
#ort, input[name="ort"],
#strasse, input[name="strasse"],
#straße, input[name="straße"]{
  box-sizing:border-box;
}
#plz, input[name="plz"]{
  max-width:180px;
}
@media(max-width:640px){
  #plz, input[name="plz"]{
    max-width:none;
  }
}


/* === PLZ/Ort sichtbar im Kundendialog REALFIX 2026-06-07 === */
.checkout-plz-ort-row,.ig-plz-ort-row{display:grid!important;grid-template-columns:140px 1fr!important;gap:12px!important;margin-top:12px!important;width:100%!important}
.checkout-plz-ort-row label,.ig-plz-ort-row label{display:block!important;color:#ffd86b!important;font-weight:900!important;margin-bottom:6px!important}
.checkout-plz-ort-row input,.ig-plz-ort-row input{width:100%!important;box-sizing:border-box!important;min-height:42px!important}
@media(max-width:640px){.checkout-plz-ort-row,.ig-plz-ort-row{grid-template-columns:1fr!important}}


/* === PLZ/Ort direkt in Maske 2026-06-07 === */
.ig-plz-ort-row,
.checkout-plz-ort-row{
  display:grid!important;
  grid-template-columns:140px 1fr!important;
  gap:12px!important;
  margin-top:12px!important;
  margin-bottom:6px!important;
  width:100%!important;
}
.ig-plz-ort-row label,
.checkout-plz-ort-row label{
  display:block!important;
  color:#ffd86b!important;
  font-weight:900!important;
  margin-bottom:6px!important;
}
.ig-plz-ort-row input,
.checkout-plz-ort-row input{
  width:100%!important;
  min-height:42px!important;
  box-sizing:border-box!important;
  border-radius:10px!important;
}
@media(max-width:640px){
  .ig-plz-ort-row,.checkout-plz-ort-row{grid-template-columns:1fr!important;}
}


/* Checkout sauber */
.form-grid .full-row{grid-column:1 / -1;}
.plz-ort-row{grid-column:1 / -1;display:grid;grid-template-columns:140px 1fr;gap:14px;}
.plz-ort-row label{display:grid;gap:6px;}
#customerPlz,#customerOrt{width:100%;box-sizing:border-box;}
@media(max-width:760px){
 .plz-ort-row{grid-template-columns:110px 1fr;}
}


/* === Checkout PLZ / Ort final sauber === */
.plz-ort-row{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:140px 1fr;
  gap:12px;
  width:100%;
}
.plz-ort-row label{
  display:block;
}
.plz-ort-row input{
  width:100%;
  box-sizing:border-box;
}
@media(max-width:640px){
  .plz-ort-row{
    grid-template-columns:1fr;
  }
}


/* === Checkout PLZ/Ort doppelte Runtime-Felder entfernen 2026-06-07 === */
#checkoutDialog .ig-plz-ort-row:not(.plz-ort-row),
#checkoutDialog .checkout-plz-ort-row:not(.plz-ort-row){
  display:none !important;
}
#checkoutDialog .plz-ort-row{
  display:grid !important;
  grid-template-columns:140px 1fr !important;
  gap:12px !important;
  grid-column:1 / -1 !important;
}
@media(max-width:640px){
  #checkoutDialog .plz-ort-row{
    grid-template-columns:1fr !important;
  }
}


/* PATCH 2026-06-07: Kategorien einklappbar gegen zu viel Scrollerei */
.category-section{
  margin-top:10px;
  border:1px solid rgba(183,122,34,.35);
  border-radius:24px;
  padding:12px;
  background:rgba(0,0,0,.14);
}
.category-toggle-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.category-toggle-head h2{
  margin:8px 0;
}
.category-toggle-btn{
  white-space:nowrap;
}
.category-section.collapsed .categories{
  display:none;
}
.category-section:not(.collapsed) .categories{
  margin-top:12px;
}
@media(max-width:760px){
  .category-section{padding:10px;border-radius:18px;}
  .category-toggle-head h2{font-size:24px;}
  .category-toggle-btn{padding:10px 13px;font-size:14px;}
}


/* 3D-Flagge Italien fuer Kategorie-Karte */
.flag-3d{
  display:inline-block;
  width:44px;
  height:32px;
  border-radius:8px;
  position:relative;
  vertical-align:middle;
  box-shadow:0 8px 18px rgba(0,0,0,.45), inset 0 1px 2px rgba(255,255,255,.75), inset 0 -7px 12px rgba(0,0,0,.22);
  overflow:hidden;
  transform:perspective(80px) rotateX(7deg) rotateY(-8deg);
}
.flag-3d::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(255,255,255,.08) 38%,rgba(0,0,0,.16) 72%,rgba(0,0,0,.28));
  pointer-events:none;
}
.flag-italy{
  background:linear-gradient(90deg,#008c45 0 33.333%,#f4f5f0 33.333% 66.666%,#cd212a 66.666% 100%);
}
.category-card .icon .flag-3d{
  margin-top:3px;
}
@media(max-width:760px){
  .flag-3d{width:38px;height:28px;border-radius:7px;}
}

/* 3D-Flaggen Indien / Griechenland – ersetzt IN/GR-Kuerzel und flache Emojis */
.flag-india{
  background:linear-gradient(180deg,#ff9933 0 33.333%,#fff 33.333% 66.666%,#138808 66.666% 100%);
}
.flag-india .flag-chakra{
  position:absolute;
  left:50%;
  top:50%;
  width:12px;
  height:12px;
  transform:translate(-50%,-50%);
  border:2px solid #000080;
  border-radius:50%;
  box-sizing:border-box;
  z-index:2;
}
.flag-india .flag-chakra::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:4px;
  height:4px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#000080;
}
.flag-greece{
  background:
    linear-gradient(90deg,transparent 0 20%,#fff 20% 34%,transparent 34%) 0 0/46% 55% no-repeat,
    linear-gradient(180deg,transparent 0 20%,#fff 20% 34%,transparent 34%) 0 0/46% 55% no-repeat,
    repeating-linear-gradient(180deg,#0d5eaf 0 11.111%,#fff 11.111% 22.222%);
}
.flag-greece::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:46%;
  height:55%;
  background:#0d5eaf;
  z-index:0;
}
.flag-greece::after{
  z-index:3;
}
.flag-greece{
  box-shadow:0 3px 10px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.35);
}
.flag-greece{
  background:
    linear-gradient(90deg,transparent 0 19%,#fff 19% 34%,transparent 34%) 0 0/48% 56% no-repeat,
    linear-gradient(180deg,transparent 0 19%,#fff 19% 34%,transparent 34%) 0 0/48% 56% no-repeat,
    linear-gradient(#0d5eaf,#0d5eaf) 0 0/48% 56% no-repeat,
    repeating-linear-gradient(180deg,#0d5eaf 0 11.111%,#fff 11.111% 22.222%);
}
.flag-greece::before{display:none;}


/* === PATCH Speisekarte Frontend Go-Live 2026-06-08 === */

/* Dashboard/Admin sicher aus Kundenfrontend ausblenden */
a[href*="dashboard"],
a[href*="admin"],
button[data-target*="dashboard"],
button[data-target*="admin"]{
  display:none !important;
}

/* Abholung/Lieferung kundenfreundlich als Auswahl */
.ig-order-type-hint{
  margin:12px auto 0;
  max-width:560px;
  padding:10px 14px;
  border:1px solid rgba(255,211,107,.45);
  border-radius:14px;
  background:rgba(0,0,0,.22);
  color:#fff4df;
  font-weight:800;
  text-align:center;
  font-size:15px;
}
.ig-order-type-hint.warn{
  border-color:#ff7777;
  color:#ffe0e0;
  background:rgba(150,0,0,.24);
}

/* Auswahlbuttons kompakter und ohne AP/LP-Kürzel */
button,
.btn,
a.btn{
  word-break:normal;
}

/* Zusatzstoffe hochgestellt am Artikelnamen */
.ig-real-sup,
.additive-sup{
  vertical-align: super !important;
  font-size: .38em !important;
  font-weight: 700 !important;
  margin-left: 2px !important;
  line-height: 1 !important;
  color: #ffd86b !important;
  text-decoration: none !important;
  letter-spacing: .02em;
}


/* === Zusatzstoffe & Allergene klickbares Popup 100626 === */
.additive-sup.ig-additive-trigger{
  display:inline;
  border:0;
  background:transparent;
  padding:0 0 0 3px;
  cursor:pointer;
  font-family:inherit;
}
.additive-sup.ig-additive-trigger:hover{
  color:#fff2a8 !important;
  text-decoration:underline !important;
}
.ig-additive-dialog{
  max-width:560px;
  width:min(92vw,560px);
}
.ig-additive-dialog::backdrop{
  background:rgba(0,0,0,.68);
}
.ig-additive-content h2{
  margin:0 0 10px;
  color:#ffd86b;
}
.ig-additive-content h3{
  margin:14px 0 7px;
  color:#fff1d0;
}
.ig-additive-content ul{
  margin:0;
  padding-left:20px;
}
.ig-additive-content li{
  margin:5px 0;
  line-height:1.35;
}
.ig-additive-empty,.ig-additive-note{
  color:#f4e4c8;
  font-size:14px;
}
.ig-additive-footer{
  max-width:1120px;
  margin:10px auto 28px;
  padding:0 18px;
  text-align:center;
}
.ig-additive-footer button{
  border:1px solid rgba(255,216,107,.55);
  border-radius:999px;
  background:rgba(0,0,0,.28);
  color:#ffd86b;
  padding:10px 16px;
  font-weight:800;
  cursor:pointer;
}
.ig-additive-footer button:hover{
  background:rgba(255,216,107,.13);
}

/* Mobile: Volltextsuche sichtbar halten und Bestellfluss entspannen */
.continue-shopping{
  width:100%;
  border:1px solid rgba(255,211,107,.7);
  border-radius:999px;
  padding:14px 16px;
  margin:0 0 10px;
  background:rgba(0,0,0,.18);
  color:#ffd86b;
  font-weight:900;
  cursor:pointer;
}

.continue-shopping:hover{
  background:rgba(255,211,107,.12);
}

@media(max-width:760px){
  .hero{
    min-height:320px;
  }
  .hero-overlay{
    min-height:320px;
  }
  .toolbar{
    position:sticky !important;
    top:0 !important;
    bottom:auto !important;
    z-index:25;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    padding:10px 0 12px;
    background:linear-gradient(180deg,rgba(32,0,0,.98),rgba(32,0,0,.90));
  }
  .search-wrap{
    width:100%;
    min-height:56px;
    border-radius:16px;
    padding:8px 12px;
  }
  .search-wrap input{
    font-size:16px;
    min-height:40px;
  }
  .sticky-cart{
    position:static !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:100%;
    z-index:30;
    box-shadow:none;
  }
  .cart-summary{
    padding-bottom:86px;
  }
  main{
    padding-top:12px;
    padding-bottom:110px;
  }
}
