/* ==========================================================
   GALAXIS-TV Warenkorb Design V1
   Datei: /templates/bootstrap5a/css/galx-cart.css
   Ziel: Warenkorb optisch an Fast Checkout V6 angleichen.
   ========================================================== */

:root{
  --galx-navy:#061b31;
  --galx-navy-2:#0b2a46;
  --galx-coral:#ff6f61;
  --galx-orange:#ff8b3d;
  --galx-gold:#e8ad4d;
  --galx-ink:#071827;
  --galx-muted:#607089;
  --galx-line:#dbe6f2;
  --galx-soft:#f7fafc;
}

.shopping_cart{
  max-width:1420px;
  margin:0 auto 44px;
  padding:0 clamp(14px,2.8vw,34px);
  color:var(--galx-ink);
}

.shopping_cart .galx-cart-title{
  margin:30px 0 18px;
}

.shopping_cart .galx-cart-title > span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 13px;
  border-radius:999px;
  background:rgba(255,111,97,.10);
  color:#d84d43;
  border:1px solid rgba(255,111,97,.22);
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.shopping_cart .galx-cart-title h1{
  margin:10px 0 4px;
  color:var(--galx-navy);
  font-size:clamp(2rem,3vw,2.65rem);
  line-height:1.05;
  font-weight:950;
  letter-spacing:-.035em;
}

.shopping_cart .galx-cart-title p{
  margin:0;
  color:var(--galx-muted);
  font-size:1.02rem;
}

.shopping_cart > form > .row{
  --bs-gutter-x:1.6rem;
  align-items:flex-start;
}

.shopping_cart .galx-cart-products{
  border-radius:26px;
  background:#fff;
  border:1px solid rgba(6,27,49,.10);
  box-shadow:0 18px 52px rgba(6,27,49,.075);
  overflow:hidden;
}

.shopping_cart .galx-cart-products table{
  margin:0 !important;
  width:100%;
}

.shopping_cart .galx-cart-products thead,
.shopping_cart .galx-cart-products .card-header,
.shopping_cart .galx-cart-products .bg-h{
  background:
    radial-gradient(circle at 100% 0%, rgba(255,111,97,.13), transparent 38%),
    linear-gradient(135deg,var(--galx-navy),var(--galx-navy-2)) !important;
  color:#fff !important;
  border:0 !important;
}

.shopping_cart .galx-cart-products th,
.shopping_cart .galx-cart-products .card-header{
  padding:14px 18px !important;
  color:#fff !important;
  font-weight:950 !important;
}

.shopping_cart .galx-cart-products td{
  padding:18px !important;
  border-color:rgba(6,27,49,.08) !important;
  vertical-align:middle;
}

.shopping_cart .galx-cart-products tr:hover td{
  background:#fbfdff;
}

.shopping_cart .galx-cart-products img{
  border-radius:18px;
  background:#f7fafc;
  border:1px solid rgba(6,27,49,.08);
  box-shadow:0 8px 22px rgba(6,27,49,.045);
}

.shopping_cart .galx-cart-products a{
  color:var(--galx-navy);
  font-weight:850;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.shopping_cart .galx-cart-products a:hover{
  color:var(--galx-coral);
}

.shopping_cart input[type="text"],
.shopping_cart input[type="number"],
.shopping_cart .qty,
.shopping_cart .quantity{
  border-radius:999px !important;
  border:1px solid rgba(6,27,49,.14) !important;
  background:#fffaf7 !important;
  min-height:42px;
  text-align:center;
  font-weight:850;
}

.shopping_cart button,
.shopping_cart .btn{
  border-radius:999px !important;
  font-weight:900;
}

.shopping_cart button[name*="update"],
.shopping_cart button[value*="update"],
.shopping_cart .btn-update{
  background:var(--galx-navy) !important;
  border-color:var(--galx-navy) !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(6,27,49,.18);
}

.shopping_cart a[href*="delete"],
.shopping_cart a[href*="remove"],
.shopping_cart .cart_quantity_delete,
.shopping_cart .btn-delete{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 11px;
  border-radius:999px;
  color:#d84d43 !important;
  background:rgba(255,111,97,.09);
  border:1px solid rgba(255,111,97,.18);
  text-decoration:none !important;
  font-weight:900;
}

.shopping_cart .galx-cart-sidebar{
  position:sticky;
  top:18px;
}

.shopping_cart .galx-cart-summary{
  overflow:hidden;
  border-radius:26px !important;
  background:#fff;
  border:1px solid rgba(6,27,49,.10);
  box-shadow:0 18px 52px rgba(6,27,49,.075);
}

.shopping_cart .galx-cart-summary .list-group-item{
  border-left:0;
  border-right:0;
  border-color:rgba(6,27,49,.08);
  padding:13px 18px !important;
  background:#fff !important;
  color:#26364b;
}

.shopping_cart .galx-cart-summary .list-group-item:first-child{
  border-top:0;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,111,97,.13), transparent 38%),
    linear-gradient(135deg,var(--galx-navy),var(--galx-navy-2)) !important;
  color:#fff !important;
  font-size:1.04rem;
  font-weight:950 !important;
}

.shopping_cart .galx-cart-summary .ot_total{
  margin:8px 10px 10px;
  border-radius:18px !important;
  background:#f6f9fc !important;
  border:1px solid rgba(6,27,49,.08) !important;
  color:var(--galx-navy);
  font-size:1.05rem;
}

.shopping_cart .galx-cart-summary .ot_shipping select,
.shopping_cart .galx-cart-summary .form-select{
  border-radius:999px !important;
  border-color:rgba(255,111,97,.24) !important;
  background-color:#fffaf7;
  font-weight:750;
}

.shopping_cart .galx-cart-checkout,
.shopping_cart .btn-checkout{
  min-height:56px;
  border:0 !important;
  border-radius:999px !important;
  background:
    linear-gradient(135deg,#ff6658 0%,#ff7840 55%,#ff9a35 100%) !important;
  color:#fff !important;
  box-shadow:
    0 16px 38px rgba(255,111,97,.31),
    inset 0 1px 0 rgba(255,255,255,.24) !important;
  font-size:1.08rem;
  font-weight:950 !important;
  letter-spacing:.01em;
}

.shopping_cart .galx-cart-checkout:hover,
.shopping_cart .btn-checkout:hover{
  transform:translateY(-2px);
  box-shadow:
    0 20px 46px rgba(255,111,97,.35),
    inset 0 1px 0 rgba(255,255,255,.25) !important;
  filter:brightness(.99);
}

.shopping_cart .button_row{
  padding-top:4px;
}

.shopping_cart .button_row .btn-outline-secondary{
  min-height:46px;
  border-radius:999px !important;
  background:#fff;
  border-color:rgba(6,27,49,.16);
  color:var(--galx-navy);
  box-shadow:0 8px 22px rgba(6,27,49,.06);
}

.shopping_cart .alert{
  border-radius:18px;
  border:1px solid rgba(6,27,49,.10);
}

.shopping_cart .alert-info{
  background:#f7fafc;
  color:#26364b;
}

.shopping_cart .my-4 .btn-secondary{
  min-height:48px;
  border-radius:999px !important;
  background:var(--galx-navy) !important;
  border-color:var(--galx-navy) !important;
}

.shopping_cart + .mb-5{
  max-width:1420px;
  margin-left:auto;
  margin-right:auto;
  padding-left:clamp(14px,2.8vw,34px);
  padding-right:clamp(14px,2.8vw,34px);
}

@media (max-width:991.98px){
  .shopping_cart{
    padding-left:12px;
    padding-right:12px;
  }

  .shopping_cart .galx-cart-sidebar{
    position:relative;
    top:auto;
  }

  .shopping_cart .galx-cart-products,
  .shopping_cart .galx-cart-summary{
    border-radius:22px !important;
  }
}

@media (max-width:575.98px){
  .shopping_cart .galx-cart-title{
    margin-top:20px;
  }

  .shopping_cart .galx-cart-title h1{
    font-size:2rem;
  }

  .shopping_cart .galx-cart-products td{
    padding:13px !important;
  }

  .shopping_cart .galx-cart-checkout,
  .shopping_cart .btn-checkout{
    min-height:52px;
  }
}


/* ==========================================================
   GALAXIS-TV Warenkorb Design V2 Politur
   Ziele:
   - Kasse-Button besser positionieren, nicht vom Chat/Widget überlagern.
   - Warenkorb etwas kompakter.
   - Zusammenfassung ruhiger.
   - Mengen-Update-Button harmonischer.
   - Artikelkarte unten weniger leer.
   ========================================================== */

/* Überschrift etwas kompakter */
.shopping_cart .galx-cart-title{
  margin:24px 0 16px !important;
}

.shopping_cart .galx-cart-title h1{
  font-size:clamp(1.9rem,2.55vw,2.35rem) !important;
  letter-spacing:-.03em;
}

.shopping_cart .galx-cart-title p{
  font-size:.98rem !important;
}

/* Layout: rechte Summary nicht zu massiv */
@media (min-width:1200px){
  .shopping_cart > form > .row{
    --bs-gutter-x:1.35rem;
  }

  .shopping_cart .col-12.col-lg-8{
    flex:0 0 66.66666667%;
    max-width:66.66666667%;
  }

  .shopping_cart .col-12.col-sm-10.col-md-8.col-lg-4{
    flex:0 0 33.33333333%;
    max-width:33.33333333%;
  }
}

/* Artikelkarte kompakter und ausgeglichener */
.shopping_cart .galx-cart-products{
  border-radius:24px;
}

.shopping_cart .galx-cart-products th,
.shopping_cart .galx-cart-products .card-header{
  padding:12px 18px !important;
}

.shopping_cart .galx-cart-products td{
  padding:16px 18px !important;
}

.shopping_cart .galx-cart-products img{
  max-width:96px;
}

/* Löschen-Pill etwas schöner mittig */
.shopping_cart a[href*="delete"],
.shopping_cart a[href*="remove"],
.shopping_cart .cart_quantity_delete,
.shopping_cart .btn-delete{
  min-height:34px;
  padding:0 14px;
  box-shadow:0 8px 18px rgba(255,111,97,.07);
}

/* Menge + Aktualisieren harmonischer */
.shopping_cart input[type="text"],
.shopping_cart input[type="number"],
.shopping_cart .qty,
.shopping_cart .quantity{
  min-height:40px !important;
  background:#fff !important;
  border-color:rgba(255,111,97,.20) !important;
  box-shadow:inset 0 1px 2px rgba(6,27,49,.035);
}

.shopping_cart button[name*="update"],
.shopping_cart button[value*="update"],
.shopping_cart .btn-update{
  background:
    linear-gradient(135deg,#061b31,#0b2a46) !important;
  border-color:transparent !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(6,27,49,.18);
}

.shopping_cart button[name*="update"]:hover,
.shopping_cart button[value*="update"]:hover,
.shopping_cart .btn-update:hover{
  transform:translateY(-1px);
  box-shadow:0 13px 28px rgba(6,27,49,.22);
}

/* Zusammenfassung kompakter */
.shopping_cart .galx-cart-summary{
  border-radius:24px !important;
}

.shopping_cart .galx-cart-summary .list-group-item{
  padding:12px 17px !important;
}

.shopping_cart .galx-cart-summary .list-group-item:first-child{
  font-size:1rem;
  padding-top:14px !important;
  padding-bottom:14px !important;
}

.shopping_cart .galx-cart-summary .ot_total{
  margin:7px 9px 9px;
  padding-top:12px !important;
  padding-bottom:12px !important;
}

/* Kasse-Button: im rechten Block besser sichtbar, nicht zu tief am Bildschirmrand */
.shopping_cart .button_row{
  position:relative;
  z-index:5;
  padding-top:8px;
  padding-bottom:18px;
}

.shopping_cart .galx-cart-checkout,
.shopping_cart .btn-checkout{
  min-height:54px !important;
  margin-bottom:18px !important;
  position:relative;
  z-index:6;
}

/* Auf großen Screens bleibt der Button normal in der Summary, aber mit Abstand nach unten */
@media (min-width:992px){
  .shopping_cart .galx-cart-sidebar{
    top:22px;
  }

  .shopping_cart .button_row{
    margin-bottom:34px;
  }
}

/* Falls unten rechts Chat/Widget liegt: zusätzlicher Sicherheitsabstand */
@media (min-width:1200px){
  .shopping_cart{
    margin-bottom:70px !important;
  }
}

/* Mobile: Button gern sticky, aber nur mobil */
@media (max-width:991.98px){
  .shopping_cart .button_row{
    position:sticky;
    bottom:0;
    z-index:40;
    padding:10px 12px 14px;
    margin-left:-12px;
    margin-right:-12px;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(12px);
    border-top:1px solid rgba(6,27,49,.10);
    box-shadow:0 -10px 28px rgba(6,27,49,.08);
  }

  .shopping_cart .galx-cart-checkout,
  .shopping_cart .btn-checkout{
    margin-bottom:0 !important;
  }
}

/* Zuletzt angesehen näher und sauberer */
.shopping_cart + .mb-5{
  margin-top:10px !important;
}



/* ==========================================================
   GALAXIS-TV Warenkorb V5 – Produktkarten/Slider unter Warenkorb kleiner
   Ziel: Zuletzt angesehen / Empfehlungskarten unter dem Warenkorb optisch wie Produktseite.
   Nur Darstellung, keine Warenkorb-Logik.
   ========================================================== */

.shopping_cart + .mb-5,
.shopping_cart ~ .mb-5,
.shopping_cart + .my-5,
.shopping_cart ~ .my-5,
.shopping_cart + .products,
.shopping_cart ~ .products,
.shopping_cart + .listing,
.shopping_cart ~ .listing{
  max-width:1420px;
  margin-left:auto;
  margin-right:auto;
  padding-left:clamp(14px,2.8vw,34px);
  padding-right:clamp(14px,2.8vw,34px);
}

.shopping_cart + .mb-5 .card,
.shopping_cart ~ .mb-5 .card,
.shopping_cart + .mb-5 .productbox,
.shopping_cart ~ .mb-5 .productbox,
.shopping_cart + .mb-5 .product_box,
.shopping_cart ~ .mb-5 .product_box,
.shopping_cart + .mb-5 .product,
.shopping_cart ~ .mb-5 .product,
.shopping_cart + .mb-5 .galx-product-card,
.shopping_cart ~ .mb-5 .galx-product-card{
  min-height:0 !important;
}

.shopping_cart + .mb-5 :is(.galx-product-title,.prod_name,.product_name,.productname,.card-title,.title,.name),
.shopping_cart ~ .mb-5 :is(.galx-product-title,.prod_name,.product_name,.productname,.card-title,.title,.name){
  min-height:48px !important;
  max-height:54px !important;
  overflow:hidden !important;
  display:block !important;
  margin-top:8px !important;
  margin-bottom:6px !important;
  text-align:center !important;
}

.shopping_cart + .mb-5 :is(.galx-product-title h1,.galx-product-title h2,.galx-product-title h3,.prod_name,.product_name,.productname,.card-title,.title,.name,.card-title a,.prod_name a,.product_name a,.productname a),
.shopping_cart ~ .mb-5 :is(.galx-product-title h1,.galx-product-title h2,.galx-product-title h3,.prod_name,.product_name,.productname,.card-title,.title,.name,.card-title a,.prod_name a,.product_name a,.productname a){
  font-size:14px !important;
  line-height:1.22 !important;
  font-weight:850 !important;
  letter-spacing:-.01em !important;
  color:#061b31 !important;
  text-align:center !important;
  text-decoration:none !important;
  white-space:normal !important;
  overflow:hidden !important;
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
}

.shopping_cart + .mb-5 :is(.galx-product-image,.prod_image,.image,.card-img-top),
.shopping_cart ~ .mb-5 :is(.galx-product-image,.prod_image,.image,.card-img-top){
  min-height:150px !important;
  max-height:170px !important;
  overflow:hidden !important;
}

.shopping_cart + .mb-5 :is(.galx-product-image img,.prod_image img,.image img,.card-img-top,img.img-fluid),
.shopping_cart ~ .mb-5 :is(.galx-product-image img,.prod_image img,.image img,.card-img-top,img.img-fluid){
  max-height:150px !important;
  width:auto !important;
  object-fit:contain !important;
}

.shopping_cart + .mb-5 :is(.galx-product-actions,.buttons,.buttonrow),
.shopping_cart ~ .mb-5 :is(.galx-product-actions,.buttons,.buttonrow){
  margin-top:8px !important;
  padding-top:4px !important;
}

.shopping_cart + .mb-5 :is(.galx-product-price,.price,.pricebox),
.shopping_cart ~ .mb-5 :is(.galx-product-price,.price,.pricebox){
  font-size:16px !important;
  line-height:1.15 !important;
}

@media (max-width:575.98px){
  .shopping_cart + .mb-5 :is(.galx-product-title h1,.galx-product-title h2,.galx-product-title h3,.prod_name,.product_name,.productname,.card-title,.title,.name,.card-title a,.prod_name a,.product_name a,.productname a),
  .shopping_cart ~ .mb-5 :is(.galx-product-title h1,.galx-product-title h2,.galx-product-title h3,.prod_name,.product_name,.productname,.card-title,.title,.name,.card-title a,.prod_name a,.product_name a,.productname a){
    font-size:13px !important;
    line-height:1.2 !important;
  }
}
