/* CAE – košarica in blagajna (body.cae-co) */
.cae-co { --co-ink: #141413; --co-muted: #5c5c63; --co-line: #e4e4e7; --co-bg: #f4f4f5; --co-red: #ee3333; --co-red2: #d42a2a; --co-green: #1b7f3b; }

/* ---------- skupni gumbi ---------- */
.cae-co .woocommerce a.checkout-button, .cae-co #place_order {
  display: flex !important; align-items: center; justify-content: center; width: 100%; box-sizing: border-box; min-height: 56px; padding: 14px 20px !important;
  border-radius: 12px !important; font-size: 17px !important; font-weight: 700 !important; line-height: 1.2 !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important;
}

/* ---------- prednosti, plačila, dostava ---------- */
.cae-co-eta { display: flex; align-items: center; gap: 10px; margin: 14px 0 0; padding: 10px 12px; border-radius: 10px; background: #eef7f1; color: var(--co-green); font-size: 14px; line-height: 1.35; }
.cae-co-eta svg { flex: none; }
.cae-co-eta b { color: var(--co-ink); }
.cae-co-trust { list-style: none !important; margin: 14px 0 0 !important; padding: 0 !important; display: grid; gap: 8px; }
.cae-co-trust li { display: flex; align-items: flex-start; gap: 10px; margin: 0 !important; padding: 0 !important; font-size: 13.5px; line-height: 1.4; color: var(--co-muted); list-style: none !important; }
.cae-co-trust li::before { content: none !important; }
.cae-co-trust svg { flex: none; color: var(--co-ink); margin-top: 1px; }
.cae-co-pay { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 0; }
.cae-co-pay i { font-style: normal; padding: 3px 9px; border: 1px solid var(--co-line); border-radius: 6px; background: #fff; color: var(--co-ink); font-size: 12px; font-weight: 600; }

/* ---------- KOŠARICA: dva stolpca ---------- */
@media (min-width: 922px) {
  .cae-co.woocommerce-cart div.woocommerce:has(> form.woocommerce-cart-form) { display: grid; grid-template-columns: minmax(0, 1fr) 380px; column-gap: 36px; align-items: start; }
  .cae-co.woocommerce-cart div.woocommerce:has(> form.woocommerce-cart-form) > * { grid-column: 1; min-width: 0; }
  .cae-co.woocommerce-cart div.woocommerce:has(> form.woocommerce-cart-form) > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
  .cae-co.woocommerce-cart div.woocommerce:has(> form.woocommerce-cart-form) > .cart-collaterals { grid-column: 2; grid-row: 2 / span 3; position: sticky; top: 110px; }
  /* Astra z »lepljivim povzetkom« ovije obrazec v .ast-cart-non-sticky znotraj flex vrstice */
  .cae-co.woocommerce-cart div:has(> .ast-cart-non-sticky) { display: grid !important; grid-template-columns: minmax(0, 1fr) 380px; column-gap: 36px; align-items: start; }
  .cae-co.woocommerce-cart div:has(> .ast-cart-non-sticky) > .ast-cart-non-sticky { grid-column: 1; min-width: 0; width: auto !important; max-width: none !important; }
  .cae-co.woocommerce-cart div:has(> .ast-cart-non-sticky) > .cart-collaterals { grid-column: 2; grid-row: 1; position: sticky; top: 110px; }
  .cae-co.woocommerce-cart div:has(> .ast-cart-non-sticky) > :not(.ast-cart-non-sticky):not(.cart-collaterals) { grid-column: 1 / -1; }
}
.cae-co.woocommerce-cart .cart-collaterals { width: 100% !important; float: none !important; }
.cae-co.woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; float: none !important; margin: 0 !important; padding: 20px !important; border: 1px solid var(--co-line) !important; border-radius: 14px !important; background: #fff; box-sizing: border-box; }
.cae-co.woocommerce-cart .cart_totals > h2 { font-size: 20px !important; margin: 0 0 12px !important; }
.cae-co.woocommerce-cart .cart_totals table.shop_table { border: 0 !important; margin: 0 0 6px !important; }
.cae-co.woocommerce-cart .cart_totals table.shop_table th, .cae-co.woocommerce-cart .cart_totals table.shop_table td { border: 0 !important; border-top: 1px solid var(--co-line) !important; padding: 10px 0 !important; background: none !important; font-size: 14px; }
.cae-co.woocommerce-cart .cart_totals table.shop_table tr:first-child th, .cae-co.woocommerce-cart .cart_totals table.shop_table tr:first-child td { border-top: 0 !important; }
.cae-co.woocommerce-cart .cart_totals .order-total th, .cae-co.woocommerce-cart .cart_totals .order-total td { font-size: 18px !important; font-weight: 700 !important; color: var(--co-ink); }
.cae-co.woocommerce-cart .cart_totals td { text-align: right !important; }
.cae-co.woocommerce-cart .woocommerce-shipping-destination, .cae-co.woocommerce-cart .woocommerce-shipping-calculator { display: none !important; } /* naslov se vpiše na blagajni */
.cae-co.woocommerce-cart .wc-proceed-to-checkout { padding: 10px 0 0 !important; }

/* vrstica do brezplačne dostave */
.cae-co-free { margin: 0 0 16px; padding: 12px 14px; border-radius: 12px; background: var(--co-bg); font-size: 14px; color: var(--co-ink); }
.cae-co-free p { margin: 0 0 8px !important; }
.cae-co-free-bar { display: block; height: 6px; border-radius: 3px; background: #dcdce0; overflow: hidden; }
.cae-co-free-bar i { display: block; height: 100%; border-radius: 3px; background: var(--co-red); transition: width .3s; }
.cae-co-free-amt, .cae-co-free-amt .amount { color: var(--co-ink); font-weight: 700; white-space: nowrap; }
.cae-co-free.is-ok { background: #eef7f1; }
.cae-co-free.is-ok .cae-co-free-bar i { background: var(--co-green); }

/* tabela artiklov */
.cae-co.woocommerce-cart table.shop_table.cart { border: 1px solid var(--co-line) !important; border-radius: 14px !important; border-collapse: separate !important; overflow: hidden; background: #fff; }
.cae-co.woocommerce-cart table.shop_table.cart thead th { background: var(--co-bg) !important; font-size: 12px !important; text-transform: uppercase; letter-spacing: .05em; color: var(--co-muted) !important; font-weight: 700 !important; padding: 12px !important; border: 0 !important; }
.cae-co.woocommerce-cart table.shop_table.cart td { border-top: 1px solid var(--co-line) !important; padding: 14px 12px !important; vertical-align: middle; background: transparent !important; }
.cae-co.woocommerce-cart table.shop_table.cart tr { background: #fff !important; }
.cae-co.woocommerce-cart table.shop_table.cart .product-price { display: none !important; } /* cena = vmesna vsota pri 1 kosu */
.cae-co.woocommerce-cart table.shop_table.cart .product-thumbnail img { width: 80px !important; max-width: 80px; height: 80px; object-fit: contain; border: 1px solid var(--co-line); border-radius: 10px; background: #fff; }
.cae-co.woocommerce-cart table.shop_table.cart .product-name a { color: var(--co-ink) !important; font-weight: 700; text-decoration: none; }
.cae-co.woocommerce-cart table.shop_table.cart .product-subtotal { font-weight: 700; color: var(--co-ink); white-space: nowrap; }
.cae-co.woocommerce-cart table.shop_table.cart a.remove { color: var(--co-muted) !important; border: 1px solid var(--co-line); width: 28px; height: 28px; line-height: 26px; border-radius: 14px; font-size: 18px !important; }
.cae-co.woocommerce-cart table.shop_table.cart a.remove:hover { background: var(--co-ink) !important; color: #fff !important; border-color: var(--co-ink); }
.cae-co.woocommerce-cart td.actions { background: #fff !important; }
body.cae-co.woocommerce-cart .woocommerce table.shop_table.cart tbody tr td.actions:not(:has(.coupon)) { padding: 0 !important; border: 0 !important; height: 0; line-height: 0; } /* brez kod: prazna vrstica izgine */
.cae-co.woocommerce-cart td.actions [name="update_cart"] { display: none !important; } /* posodobi se samodejno */
.cae-co.woocommerce-cart td.actions .coupon { float: none !important; display: none; align-items: center; gap: 8px; }
.cae-co.woocommerce-cart td.actions .coupon.is-open { display: flex !important; }
.cae-co.woocommerce-cart td.actions .coupon #coupon_code { width: 220px !important; height: 42px; border-radius: 10px; }
.cae-co-coupon-link { background: none; border: 0; padding: 0; color: var(--co-ink); font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cae-co.woocommerce-cart .woocommerce-cart-form.is-updating { opacity: .55; pointer-events: none; }

/* »Completa il tuo impianto« */
.cae-co-xsell { margin: 32px 0 8px; }
.cae-co-xsell h2 { font-size: 22px !important; margin: 0 0 14px !important; }
.cae-co-xsell ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 12px !important; margin: 0 !important; }
.cae-co-xsell ul.products li.product { width: auto !important; margin: 0 !important; }
.cae-co-xsell ul.products::before, .cae-co-xsell ul.products::after { display: none !important; }

/* mobilna lepljiva vrstica */
.cae-co-bar { display: none; }
@media (max-width: 921px) {
  .cae-co.woocommerce-cart .cart-collaterals { margin-top: 20px; }
  .cae-co-xsell ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .cae-co.woocommerce-cart table.shop_table_responsive.cart tr.cart_item { position: relative; display: grid !important; grid-template-columns: 76px 1fr; column-gap: 12px; padding: 12px 40px 12px 12px; border-top: 1px solid var(--co-line); }
  .cae-co.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td { display: block !important; border: 0 !important; padding: 2px 0 !important; text-align: left !important; }
  .cae-co.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td::before { display: none !important; }
  .cae-co.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-price { display: none !important; }
  .cae-co.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-thumbnail { grid-row: 1 / span 3; display: block !important; }
  .cae-co.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-thumbnail img { width: 76px !important; height: 76px; }
  .cae-co.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-remove { position: absolute; top: 10px; right: 8px; }
  .cae-co.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-name, .cae-co.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-quantity, .cae-co.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-subtotal { grid-column: 2; }
  .cae-co.woocommerce-cart table.shop_table_responsive.cart tr.cart_item td.product-quantity { display: flex !important; }
  .cae-co.woocommerce-cart td.actions .coupon #coupon_code { width: 100% !important; }
  .cae-co-bar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; align-items: center; gap: 12px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--co-line); box-shadow: 0 -4px 16px rgba(20, 20, 19, .08); transform: translateY(110%); transition: transform .25s; }
  .cae-co-bar.is-visible { transform: none; }
  .cae-co-bar span { display: flex; flex-direction: column; font-size: 12px; color: var(--co-muted); line-height: 1.2; }
  .cae-co-bar span b { font-size: 19px; color: var(--co-ink); }
  .cae-co-bar a { margin-left: auto; display: flex; align-items: center; height: 48px; padding: 0 22px; border-radius: 12px; background: var(--co-red); color: #fff !important; font-weight: 700; font-size: 16px; text-decoration: none; }
  body.cae-co.woocommerce-cart { padding-bottom: 80px; }
}

/* ---------- BLAGAJNA brez motenj ---------- */
.cae-co-focus #masthead, .cae-co-focus .site-footer, .cae-co-focus .cae-ft2, .cae-co-focus .cae-ft, .cae-co-focus .ast-above-header-wrap, .cae-co-focus #cae-hbar { display: none !important; }
.cae-co-head { background: #fff; border-bottom: 1px solid var(--co-line); }
.cae-co-head-in { max-width: 1200px; margin: 0 auto; padding: 12px 20px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; }
.cae-co-head .custom-logo-link { justify-self: center; line-height: 0; }
.cae-co-head .custom-logo { max-height: 52px; width: auto !important; height: auto !important; max-width: 170px !important; object-fit: contain; }
.cae-co-back { display: inline-flex; align-items: center; gap: 6px; color: var(--co-ink) !important; font-size: 14px; font-weight: 600; text-decoration: none !important; justify-self: start; }
.cae-co-secure { justify-self: end; display: inline-flex; align-items: center; gap: 8px; color: var(--co-green); }
.cae-co-secure span { display: flex; flex-direction: column; line-height: 1.2; }
.cae-co-secure b { font-size: 14px; color: var(--co-ink); }
.cae-co-secure small { font-size: 11.5px; color: var(--co-muted); }
.cae-co-foot { text-align: center; padding: 24px 16px 32px; font-size: 13px; color: var(--co-muted); }
.cae-co-foot a { color: var(--co-ink); }

/* obrazec */
.cae-co-focus form.checkout .form-row .input-text, .cae-co-focus form.checkout .form-row select, .cae-co-focus form.checkout .select2-container .select2-selection { border-radius: 10px !important; }
.cae-co-focus .cae-co-company { display: none !important; }
.cae-co-focus .cae-co-company-toggle .optional { display: none; }
.cae-co-focus.cae-co-is-company .cae-co-company { display: block !important; }
.cae-co-focus .cae-co-company-toggle label, .cae-co-focus .cae-co-company-toggle .woocommerce-input-wrapper { display: inline-flex !important; align-items: center; gap: 8px; font-weight: 600; }
/* skrijemo SAMO polje za opombe (v Astri je v tem bloku tudi plačilo z gumbom »Invia ordine«) */
.cae-co-focus .woocommerce-additional-fields.is-collapsed > .woocommerce-additional-fields__field-wrapper,
.cae-co-focus .woocommerce-additional-fields.is-collapsed > h3 { display: none !important; }
.cae-co-focus #payment .form-row.place-order { display: block !important; }
.cae-co-note-link { background: none; border: 0; padding: 0; margin: 6px 0 0; color: var(--co-ink); font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.cae-co-focus .woocommerce-checkout-payment .wc_payment_methods { border-radius: 12px !important; }

@media (max-width: 600px) {
  .cae-co-head-in { grid-template-columns: auto 1fr auto; padding: 10px 14px; }
  .cae-co-back span, .cae-co-secure small { display: none; }
  .cae-co-head .custom-logo { max-height: 40px; max-width: 140px !important; }
}
.cae-co .form-row.cae-co-hide { display: none !important; }

/* povzetek naročila: slika levo, ime, količina in zaloga pod njim */
.cae-co-focus :is(#order_review, #ast-order-review-content) .cart_item td.product-name { display: grid !important; grid-template-columns: 56px minmax(0, 1fr); column-gap: 12px; row-gap: 2px; align-items: start; }
.cae-co-focus :is(#order_review, #ast-order-review-content) .cart_item td.product-name .ast-product-image { display: contents !important; }
.cae-co-focus :is(#order_review, #ast-order-review-content) .cart_item td.product-name .ast-product-thumbnail { grid-column: 1; grid-row: 1 / span 3; width: 56px; margin: 0 !important; }
.cae-co-focus :is(#order_review, #ast-order-review-content) .cart_item td.product-name .ast-product-thumbnail img { width: 56px !important; height: 56px !important; object-fit: contain; border: 1px solid var(--co-line); border-radius: 8px; background: #fff; }
.cae-co-focus :is(#order_review, #ast-order-review-content) .cart_item td.product-name .ast-product-name { grid-column: 2; font-size: 14px; line-height: 1.35; color: var(--co-ink); }
.cae-co-focus :is(#order_review, #ast-order-review-content) .cart_item td.product-name .product-quantity { grid-column: 2; display: block !important; margin: 2px 0 0 !important; font-size: 13px; font-weight: 600; color: var(--co-muted); }
.cae-co-focus :is(#order_review, #ast-order-review-content) .cart_item td.product-name > br { display: none !important; }
.cae-co-focus :is(#order_review, #ast-order-review-content) .cart_item td.product-name .stock { grid-column: 2; margin: 0 !important; padding: 0 !important; font-size: 13px !important; line-height: 1.3; color: var(--co-green) !important; }
.cae-co-focus :is(#order_review, #ast-order-review-content) .cart_item td.product-name dl.variation { grid-column: 2; margin: 2px 0 0 !important; font-size: 12.5px; }
.cae-co-focus :is(#order_review, #ast-order-review-content) .cart_item td.product-total { vertical-align: top !important; white-space: nowrap; font-weight: 700; }

/* »Pagamento sicuro tramite Stripe« pod gumbom */
.cae-co-stripe { display: flex !important; align-items: center; gap: 8px; margin: 8px 0 0; font-size: 13px; line-height: 1.3; color: var(--co-muted); }
.cae-co-stripe > span { display: inline !important; }
.cae-co-stripe svg { color: var(--co-green); flex: none; }
.cae-co-stripe b { color: var(--co-ink); }
/* mobilni povzetek naročila (Astra) – edini povzetek na telefonu, zato ostane, a urejen */
.cae-co-focus #ast-order-review-content table.shop_table { border: 0 !important; margin: 0 !important; }
.cae-co-focus #ast-order-review-content thead { display: none; }
.cae-co-focus #ast-order-review-content td, .cae-co-focus #ast-order-review-content th { padding: 10px 0 !important; border-left: 0 !important; border-right: 0 !important; background: none !important; }
.cae-co-focus #ast-order-review-content .cart_item td.product-total { padding-left: 10px !important; text-align: right; }
.cae-co-focus #ast-order-review-content tfoot td { text-align: right; }
.cae-co-focus #ast-order-review-content .cart_item td.product-name .stock { display: none !important; }
.cae-co-focus #ast-order-review-content { padding: 0 16px !important; }
.cae-co-focus :is(#order_review, #ast-order-review-content) .cart_item td.product-name { font-size: 0 !important; } /* skrije presledek (&nbsp;), ki bi sicer bil prazna vrstica */
.cae-co-focus :is(#order_review, #ast-order-review-content) .cart_item td.product-name .ast-product-thumbnail { align-self: start; }

.cae-co-focus :is(#order_review, #ast-order-review-content) .cart_item td.product-name > *, .cae-co-focus :is(#order_review, #ast-order-review-content) .cart_item td.product-name dl * { line-height: 1.35 !important; }
.cae-co-focus :is(#order_review, #ast-order-review-content) .cart_item td.product-name .ast-product-name { width: auto !important; max-width: none !important; }
.cae-co-focus #ast-order-review-content table.shop_table { table-layout: fixed; width: 100% !important; }
.cae-co-focus #ast-order-review-content .cart_item td.product-total, .cae-co-focus #ast-order-review-content tfoot td { width: 96px; }
/* ---------- Apple Pay / Google Pay (Stripe Express) kot urejena kartica ---------- */
.cae-co-focus #wc-stripe-express-checkout-element { background: #fff; border: 1px solid var(--co-line); border-radius: 14px; padding: 14px 16px 16px; margin: 0 0 4px !important; box-sizing: border-box; }
html[lang^="it"] .cae-co-focus #wc-stripe-express-checkout-element::before { content: "Pagamento rapido"; display: block; margin: 0 0 10px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--co-muted); }
.cae-co-focus #wc-stripe-express-checkout-button-separator { display: flex !important; align-items: center; gap: 12px; margin: 14px 0 18px !important; font-size: 12px !important; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--co-muted); text-align: center; }
.cae-co-focus #wc-stripe-express-checkout-button-separator::before, .cae-co-focus #wc-stripe-express-checkout-button-separator::after { content: ""; flex: 1; height: 1px; background: var(--co-line); }
.cae-co-focus #wc-stripe-express-checkout-button-separator[style*="none"] { display: none !important; }
/* računalnik: blagajna v dveh stolpcih, hitro plačilo v levem stolpcu, povzetek desno od vrha */
@media (min-width: 922px) {
  .cae-co-focus div.woocommerce:has(> form.checkout) { display: grid; grid-template-columns: minmax(0, 55fr) minmax(0, 40fr); column-gap: 5%; align-items: start; }
  .cae-co-focus div.woocommerce:has(> form.checkout) > * { grid-column: 1; min-width: 0; }
  .cae-co-focus div.woocommerce:has(> form.checkout) > form.checkout { display: contents !important; }
  .cae-co-focus form.checkout > #customer_details { grid-column: 1; width: 100% !important; max-width: none !important; float: none !important; }
  .cae-co-focus form.checkout > #ast-order-review-wrapper, .cae-co-focus form.checkout > #order_review_heading, .cae-co-focus form.checkout > #order_review { grid-column: 2; width: 100% !important; max-width: none !important; float: none !important; }
  .cae-co-focus form.checkout > #ast-order-review-wrapper { grid-row: 1 / span 20; }
  .cae-co-focus #wc-stripe-express-checkout-element, .cae-co-focus #wc-stripe-express-checkout-button-separator { width: 100% !important; max-width: none !important; }
}

/* blagajna (Astra »modern checkout« brez ovoja #ast-order-review-wrapper, npr. .hr): desni stolpec
   = naslov + pregled naročila + plačilo, levi = podatki kupca; brez praznin med njimi */
@media (min-width: 922px) {
  .cae-co-focus div.woocommerce > form.checkout:not(:has(> #ast-order-review-wrapper)) { display: grid !important; grid-column: 1 / -1; grid-template-columns: minmax(0, 55fr) minmax(0, 40fr); grid-template-rows: auto auto auto 1fr; column-gap: 5%; align-items: start; }
  .cae-co-focus form.checkout:not(:has(> #ast-order-review-wrapper)) > #customer_details { grid-column: 1; grid-row: 1 / span 4; }
  .cae-co-focus form.checkout:not(:has(> #ast-order-review-wrapper)) > #order_review_heading { grid-column: 2; grid-row: 1; }
  .cae-co-focus form.checkout:not(:has(> #ast-order-review-wrapper)) > #order_review { grid-column: 2; grid-row: 2; }
  .cae-co-focus form.checkout:not(:has(> #ast-order-review-wrapper)) > .ast-payment-option-heading { grid-column: 2; grid-row: 3; margin-top: 24px; }
  .cae-co-focus form.checkout:not(:has(> #ast-order-review-wrapper)) > #payment { grid-column: 2; grid-row: 4; }
  .cae-co-focus form.checkout:not(:has(> #ast-order-review-wrapper)) > *:not(#customer_details):not(#order_review_heading):not(#order_review):not(.ast-payment-option-heading):not(#payment) { grid-column: 1 / -1; }
}
