/* ========================================================================
   EUROSKLENÍK – EXTERNÝ CSS (clean build from inline CSS)
   - HTML a <style> značky odstránené
   - Žiadny JavaScript
   - Duplicity zlúčené (leaf-bg/leaf, header/footer bloky)
   - Zachované brand farby a všetky sekcie (hero, produkty, košík, accordion, tooltipy)
=========================================================================== */

/* -------------------- TOKENS -------------------- */
:root{
  --brand:#5FA421; --brand-2:#8CD750; --brand-light:#8CD750;
  --ink:#1b1f16; --muted:#5f6c55; --bg:#f9fff6;
  --radius:12px;
  --shadow:0 6px 18px rgba(0,0,0,.08);
  --shadow-sm:0 8px 22px rgba(0,0,0,.06);
  --shadow-lg:0 18px 42px rgba(0,0,0,.12);
  --card:#ffffff; --card-b:#e6efdf; --ring:0 0 0 3px rgba(95,164,33,.22);
  --header-h:68px; --header-h-m:60px;
}

/* -------------------- BASE -------------------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{height:100%}
body{
  margin:0;
  font-family:'Poppins',system-ui,Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
  font-size:16px;
  padding-top:var(--header-h);
  padding-bottom:84px;
  overflow-x:hidden
}
img{max-width:100%;display:block}
a{color:var(--brand);text-decoration:none;transition:color .25s}
a:hover{color:#3c7516}
.page-width{max-width:1280px;margin:0 auto;padding:0 20px}
[id]{scroll-margin-top:calc(var(--header-h) + 16px)}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-thumb{background:var(--brand);border-radius:10px}

/* -------------------- BACKGROUND ANIMS -------------------- */
@keyframes ekxGradientSlide{0%{background-position:50% 0%}50%{background-position:50% 100%}100%{background-position:50% 0%}}
body.bodyClass{background:linear-gradient(0deg, rgba(95,164,33,.06), rgba(95,164,33,.06)), #fff;position:relative}
body.bodyClass::before{
  content:"";position:fixed;inset:80% 0 80% 0;z-index:-1;
  background:linear-gradient(180deg,#6a11cb 0%,#2575fc 16%,#00c6ff 32%,#fbd72b 50%,#ff3cac 68%,#6a11cb 84%,#2575fc 100%);
  background-size:100% 700%;
  animation:ekxGradientSlide 18s ease-in-out infinite;
  opacity:.85;mix-blend-mode:soft-light;pointer-events:none;
}

/* listky */
@keyframes fallLeaf {
  0% { transform: translateY(-10vh) rotate(0deg) scale(0.9); opacity: 0.7; }
  50%{ transform: translateY(50vh) rotate(45deg) scale(1); opacity: 1; }
  100%{ transform: translateY(110vh) rotate(90deg) scale(0.9); opacity: 0; }
}
.leaf-bg{ position: fixed; inset: 0; pointer-events: none; z-index: -1; overflow: hidden; }
.leaf{
  position:absolute;width:42px;height:42px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 128' fill='%2398cc2c'><path d='M32 2c15 20 25 40 25 62s-10 42-25 62C17 106 7 86 7 64S17 22 32 2z'/></svg>") no-repeat center/contain;
  animation: fallLeaf 14s linear infinite; opacity:.85;
}
.leaf:nth-child(1){ left:8%; animation-delay:0s; }
.leaf:nth-child(2){ left:22%; animation-delay:3s; animation-duration:18s; }
.leaf:nth-child(3){ left:45%; animation-delay:6s; animation-duration:16s; }
.leaf:nth-child(4){ left:68%; animation-delay:9s; animation-duration:20s; }
.leaf:nth-child(5){ left:85%; animation-delay:12s; animation-duration:22s; }

/* -------------------- HEADER (FIXNÝ) -------------------- */
header,#header,.header,.header.mainPanel{
  position:fixed !important;top:0 !important;left:0 !important;right:0 !important;z-index:1000 !important;width:100% !important;
  background:#171c24 !important;border-bottom:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 12px 36px rgba(0,0,0,.35) !important;border-radius:0 0 18px 18px;padding:10px 18px;
}
header::before,#header::before,.header::before{content:none !important}
.header .container,.header .nav,.header .inner,.header .panel,.header .wrap,
.header [class*="container"],.header [class*="inner"],.header [class*="wrap"],.header [class*="panel"]{background:transparent !important;background-image:none !important}
.header a,.header .logo,.header .brand,.header .mainMenuStyle a{color:#fff !important}
.header .mainMenuStyle ul{display:flex;list-style:none;gap:1.1rem;margin:0;padding:0}
.header .mainMenuStyle li a{
  position:relative;padding:10px 16px;font-weight:600;text-transform:uppercase;border-radius:999px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff;
  transition:transform .25s,box-shadow .25s,background .25s,color .25s;
}
.header .mainMenuStyle li a:hover,.header .mainMenuStyle li a.is-active{
  background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#111;transform:translateY(-2px);box-shadow:0 10px 26px rgba(95,164,33,.22);
}
.responsive_menu_main_trg span,.responsive_menu_main_trg::before,.responsive_menu_main_trg::after{background:#fff !important}
@media (max-width:950px){:root{--header-h:var(--header-h-m)}}

/* bežiaca akcentová linka */
@keyframes esk-pan-x { 0%{background-position:0% 50%} 100%{background-position:200% 50%} }
:where(header,#header,.header)::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:3px;
  background: linear-gradient(90deg,#5fa421,#8cd750,#5fa421);
  background-size: 200% 100%; animation: esk-pan-x 6s linear infinite;
  opacity:.55; pointer-events:none; filter:saturate(1.1);
}

/* posun obsahu pod header */
:where(body){ padding-top: var(--header-h) !important; }
[id]{ scroll-margin-top: calc(var(--header-h) + 16px); }

/* -------------------- HEADINGS -------------------- */
h1,h2,h3{
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  font-weight:800;text-transform:uppercase;letter-spacing:.5px
}

/* -------------------- HERO -------------------- */
@keyframes ekxZoom{from{transform:scale(1)}to{transform:scale(1.06)}}
#ekx-hero{--ekx-hero-img:url('/storage/img_2524.jpeg');--overlay:rgba(0,0,0,.35);--radius:22px;--minh:72vh;position:relative;isolation:isolate;overflow:hidden;min-height:var(--minh)}
#ekx-hero .bg{position:absolute;inset:0;background-image:var(--ekx-hero-img);background-size:cover;background-position:center;filter:saturate(1.05) contrast(1.04);animation:ekxZoom 12s ease-in-out infinite alternate;transform:translateZ(0)}
#ekx-hero .content{position:relative;z-index:3;display:grid;place-items:center;min-height:var(--minh);padding:64px 20px;text-align:center;color:#fff}
#ekx-hero .card{max-width:min(1020px,92vw);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.28);border-radius:var(--radius);backdrop-filter:blur(10px);box-shadow:0 20px 60px rgba(0,0,0,.25),0 0 0 1px rgba(255,255,255,.06) inset;padding:clamp(20px,5vw,42px)}
#ekx-hero h1{margin:0 0 14px;font-weight:900;line-height:1.08;font-size:clamp(28px,4.8vw,64px);background:linear-gradient(135deg,#fff,#e8f5e9 40%,#fff 65%);-webkit-background-clip:text;background-clip:text;color:transparent}
#ekx-hero p.lead{margin:0 auto 26px;max-width:760px;color:rgba(255,255,255,.92);font-size:clamp(16px,2.2vw,20px);line-height:1.55}

/* -------------------- BUTTONS -------------------- */
:where(.button,.btn,.ekx-bbtn,.shoppingCartIn,button,input[type="submit"],a.button,a.btn){
  position:relative;isolation:isolate;color:#fff;border:0;background:linear-gradient(135deg,var(--brand),var(--brand-2));
  border-radius:12px;transition:transform .2s, box-shadow .2s, background .2s, color .2s;will-change:transform,box-shadow;
}
:where(.button,.btn,.ekx-bbtn,.shoppingCartIn,button,input[type="submit"],a.button,a.btn)::before{
  content:"";position:absolute;inset:-2px;border-radius:inherit;z-index:-1;background:linear-gradient(45deg,var(--brand),var(--brand-2),var(--brand));
  background-size:200%;filter:blur(6px);opacity:0;animation:ekx-fire 6s linear infinite;transition:opacity .25s;
}
:where(.button,.btn,.ekx-bbtn,.shoppingCartIn,button,input[type="submit"],a.button,a.btn):hover::before{opacity:1}
:where(.button,.btn,.ekx-bbtn,.shoppingCartIn,button,input[type="submit"],a.button,a.btn):active{transform:translateY(0) scale(.98)}
@keyframes ekx-fire{0%{background-position:0 0}50%{background-position:200% 0}100%{background-position:0 0}}
.no-fire,.no-fire::before{all:unset}
a.button, .btn, .button{padding:12px 20px;font-weight:800}
.shoppingCartIn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;
  box-shadow:0 4px 12px rgba(95,164,33,.4);
}
.shoppingCartIn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 15px rgba(95,164,33,.5)}

/* -------------------- PRODUCT DETAIL / PARAMS -------------------- */
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:40px 20px;max-width:1200px;margin:0 auto}
@media (max-width:900px){.product-detail{grid-template-columns:1fr}}
.product-detail img{width:100%;border-radius:16px;box-shadow:0 8px 28px rgba(0,0,0,.08);object-fit:cover;max-height:480px}
.product-info h1{font-size:2.2em;font-weight:800;margin-bottom:12px;background:linear-gradient(135deg,var(--brand),var(--brand-2));-webkit-background-clip:text;color:transparent}
.product-info .price{font-size:1.6em;font-weight:900;color:var(--brand);margin-bottom:20px}
.product-info .description{font-size:1.05em;color:var(--muted);line-height:1.7;margin-bottom:30px}
.product-parameters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.product-parameters a{display:inline-block;padding:10px 16px;border:1px solid #dcead6;border-radius:10px;background:#f8fbf7;font-weight:600;color:var(--ink);transition:.2s;cursor:pointer;text-decoration:none}
.product-parameters a:hover{background:#e6f5e6;color:var(--brand)}
.product-parameters a.active{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;border-color:transparent;box-shadow:0 4px 16px rgba(95,164,33,.3)}
.cta-row{display:flex;gap:16px;flex-wrap:wrap}
.cta-row a{display:inline-block;padding:14px 24px;border-radius:12px;font-weight:800;text-decoration:none;font-size:1.05em;transition:.2s}
.cta-row .btn-buy{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff}
.cta-row .btn-buy:hover{background:linear-gradient(135deg,var(--brand-2),var(--brand))}
.cta-row .btn-secondary{background:#eef5ed;color:var(--brand);border:1px solid #d2e8d1}
.cta-row .btn-secondary:hover{background:#dff4dc}

/* -------------------- PRODUCT CARDS -------------------- */
.product-card{background:#fff;border-radius:16px;border:1px solid #e6f1e1;box-shadow:0 8px 24px rgba(0,0,0,.06);overflow:hidden;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}
.product-card:hover{transform:translateY(-6px);box-shadow:0 14px 38px rgba(0,0,0,.1)}
.product-card img{width:100%;height:220px;object-fit:cover;border-bottom:1px solid #eaeaea}
.product-card .card-body{padding:18px;display:flex;flex-direction:column;gap:10px}
.product-card h3{margin:0;font-size:1.2em;font-weight:700;color:var(--ink)}
.product-card .price{font-size:1.1em;font-weight:800;color:var(--brand)}
.product-card .cta{margin-top:auto;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-weight:700;text-align:center;padding:12px;border-radius:12px;text-decoration:none;transition:background .2s}
.product-card .cta:hover{background:linear-gradient(135deg,var(--brand-2),var(--brand))}

/* -------------------- PARAMETER CHIPS -------------------- */
.param_button a{display:inline-block;padding:8px 14px;border:1px solid #e0eede;border-radius:10px;background:#f8fbf7;font-weight:600;transition:.2s}
.param_button a:hover{background:#e8f5e9;color:var(--brand)}
.param_button a.active{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 4px 12px rgba(95,164,33,.25)}
.divProductParameterValue .param_button a{
  display:inline-block;padding:16px 26px;background:#f9f9f9;color:#333;border-radius:12px;border:2px solid #ddd;font-weight:600;font-size:16px;transition:.3s;position:relative;min-width:180px;box-shadow:0 4px 10px rgba(0,0,0,.05)
}
.divProductParameterValue .param_button a:hover{background:#e6f8dc;color:#000;border-color:#5fa421;transform:translateY(-3px)}
.divProductParameterValue .param_button a.active{background:linear-gradient(135deg,#5fa421,#85d84d);color:#fff;border-color:#5fa421;box-shadow:0 6px 16px rgba(95,164,33,.4)}
.divProductParameterValue .param_button a.active::after{content:"✓";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:18px}

/* -------------------- TOOLTIP -------------------- */
.tooltip{position:relative;display:inline-block;cursor:pointer;color:#5fa421;font-weight:600;font-size:16px}
.tooltip::after{content:"ℹ️";margin-left:6px;font-size:18px;vertical-align:middle}
.tooltip:hover::before{
  content:attr(title);white-space:pre-line;position:absolute;bottom:125%;left:50%;transform:translateX(-50%);
  background:#2d2d2d;color:#fff;padding:10px 14px;border-radius:6px;font-size:14px;width:max-content;max-width:300px;text-align:center;z-index:999;opacity:1;transition:opacity .3s;box-shadow:0 4px 10px rgba(0,0,0,.2)
}
.tooltip[data-tooltip]:hover::before{content:attr(data-tooltip)}
.tooltip:hover::after{
  content:"";position:absolute;bottom:115%;left:50%;transform:translateX(-50%);border-width:6px;border-style:solid;border-color:transparent transparent #2d2d2d transparent
}

/* -------------------- SEKCIA #produkty -------------------- */
#produkty{position:relative;isolation:isolate;overflow:hidden}
#produkty::before{
  content:"";position:absolute;inset:-20% -5%;z-index:-1;
  background:linear-gradient(180deg,#f7fbf5 0%,#ffffff 50%,#f7fbf5 100%),
             radial-gradient(800px 420px at 15% 10%, rgba(140,215,80,.18), transparent 60%),
             radial-gradient(700px 380px at 85% 90%, rgba(95,164,33,.14), transparent 60%);
  background-size:100% 100%,160% 160%,160% 160%;background-position:50% 50%,0% 0%,100% 100%;
  animation:euros-bg-sway 42s ease-in-out infinite;pointer-events:none
}
@keyframes euros-bg-sway{0%{background-position:50% 50%,0% 0%,100% 100%}50%{background-position:50% 50%,100% 100%,0% 0%}100%{background-position:50% 50%,0% 0%,100% 100%}}
#produkty article{border:1px solid #e9f1e4;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 8px 26px rgba(0,0,0,.06);transition:transform .2s,box-shadow .2s,border-color .2s}
#produkty article:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(0,0,0,.10);border-color:#dbead4}
#produkty .chip{display:inline-block;padding:8px 10px;border:1px solid #eef2ea;border-radius:10px;background:#fafdfb;font-weight:600;font-size:13px}
#produkty ul{margin:4px 0 0 18px;padding:0;color:var(--ink)}
#produkty li{margin:.25em 0}
#produkty .cta-primary{display:inline-block;text-decoration:none;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-2));padding:10px 14px;border-radius:12px;box-shadow:0 10px 26px rgba(95,164,33,.22);transition:transform .18s,box-shadow .18s}
#produkty .cta-primary:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(95,164,33,.28)}
#produkty .cta-secondary{display:inline-block;font-weight:800;border:1px solid #d9eedb;color:var(--brand);background:#e8f5e9;padding:10px 14px;border-radius:12px;transition:transform .18s,background .18s,border-color .18s}
#produkty .cta-secondary:hover{transform:translateY(-1px);background:#e2f2e5;border-color:#cfe7d2}

/* -------------------- FOOTER -------------------- */
#eurosklenik-footer{background:linear-gradient(135deg,#143a17,#1d4e1f);color:#fff;margin-top:40px}
#eurosklenik-footer .accent{height:4px;background:linear-gradient(90deg,var(--brand),var(--brand-2))}
#eurosklenik-footer .f-wrap{max-width:1280px;margin:0 auto;padding:32px 20px}
#eurosklenik-footer .f-grid{display:grid;gap:24px;grid-template-columns:2fr 1fr 1fr 1fr}
@media (max-width:960px){#eurosklenik-footer .f-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){#eurosklenik-footer .f-grid{grid-template-columns:1fr}}
#eurosklenik-footer h4{margin:0 0 10px;font-weight:800;font-size:16px;letter-spacing:.3px}
#eurosklenik-footer p,#eurosklenik-footer li,#eurosklenik-footer a{color:rgba(255,255,255,.92)}
#eurosklenik-footer a{text-decoration:none}
#eurosklenik-footer a:hover{color:#e8ffd6}
#eurosklenik-footer ul{list-style:none;margin:0;padding:0}
#eurosklenik-footer li{margin:.4em 0}
#eurosklenik-footer .brand{font-weight:900;font-size:20px;letter-spacing:.4px;margin-bottom:8px}
#eurosklenik-footer .badge{display:inline-block;margin-top:6px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
#eurosklenik-footer .social{display:flex;gap:10px;margin-top:10px}
#eurosklenik-footer .social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
#eurosklenik-footer .bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:20px;padding:12px 0 4px;display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}
#eurosklenik-footer .bottom a{color:#dfffc6}

/* ========================================================================
   KOŠÍK – DOPRAVA / PLATBA / SÚHRN
=========================================================================== */
#block_delivery{margin:22px 0}
table.cartPayment, table.cartDelivery{margin:16px 0; width:100%}
#cartSummary, .cartSummary, .order-summary{margin:22px 0}

/* Nadpisy sekcií */
#block_delivery h3, #cartSummary h3, .cartSummary h3, .order-summary h3{
  margin:12px 0 10px;font-weight:900;letter-spacing:.2px;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;position:relative;
}
#block_delivery h3::after, #cartSummary h3::after, .cartSummary h3::after, .order-summary h3::after{
  content:"";position:absolute;left:0;bottom:-6px;height:4px;width:72px;border-radius:3px;background:linear-gradient(90deg,var(--brand),var(--brand-2));
}

/* DOPRAVA */
#block_delivery table.cartPayment{
  border-collapse:separate !important;border-spacing:0 12px !important;table-layout:fixed !important;width:100% !important;
}
#block_delivery table.cartPayment tr.row_delivery > td{
  background:#fff !important;border:1px solid var(--card-b) !important;padding:12px 14px !important;vertical-align:middle !important;
}
#block_delivery table.cartPayment tr.row_delivery > td:first-child{
  border-right:none !important;border-radius:16px 0 0 16px !important;position:relative !important;box-shadow:var(--shadow-sm) !important;
}
#block_delivery table.cartPayment tr.row_delivery > td:last-child{
  border-left:none !important;border-radius:0 16px 16px 0 !important;
}
#block_delivery table.cartPayment tr.row_delivery:hover > td:first-child{
  box-shadow:var(--shadow-lg) !important;border-color:#d8ecd2 !important;
}
#block_delivery table.cartPayment tr.row_delivery > td:first-child::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:6px;border-radius:16px 0 0 16px;background:linear-gradient(180deg,#8cd750,#5fa421);opacity:.28;pointer-events:none;
}
#block_delivery table.cartPayment tr.row_delivery > td:first-child > label{
  display:inline-flex !important;align-items:center !important;gap:10px !important;padding:8px 12px !important;border-radius:12px !important;background:#f7fbf5 !important;border:1px solid #e1efd8 !important;cursor:pointer !important;transition:border-color .2s,box-shadow .2s,background .2s !important;
}
#block_delivery table.cartPayment tr.row_delivery > td:first-child > div{margin-top:6px !important;color:#5d6b55 !important;font-size:13px !important}
#block_delivery table.cartPayment input[type=radio]{-webkit-appearance:none !important;appearance:none !important;width:18px !important;height:18px !important;border-radius:50% !important;border:2px solid #b9d7ad !important;background:#fff !important;display:inline-grid !important;place-items:center !important;transition:border-color .2s,box-shadow .2s,background .2s !important}
#block_delivery table.cartPayment input[type=radio]:focus-visible{box-shadow:var(--ring) !important;border-color:#8cca73 !important}
#block_delivery table.cartPayment input[type=radio]:checked{border-color:#8cca73 !important;background:radial-gradient(circle at 50% 50%, #5fa421 0 6px, transparent 7px) !important}
#block_delivery table.cartPayment input[type=radio] + span{font-weight:800 !important;color:#10150e !important;position:relative !important}
#block_delivery table.cartPayment input[type=radio]:checked + span::after{
  content:"Vybrané";margin-left:8px;padding:4px 8px;border-radius:999px;font:800 11px/1 system-ui,-apple-system,Segoe UI,Roboto,Arial;background:#eef9e9;color:#2f7a1e;border:1px solid #d7edd0;
}
#block_delivery table.cartPayment td.price{text-align:right !important;min-width:96px !important}
#block_delivery table.cartPayment td.price > div{font-weight:900 !important;font-size:16px !important;color:#10150e !important}

/* PLATBA */
table.cartDelivery{
  border-collapse:separate !important;border-spacing:0 12px !important;table-layout:fixed !important;width:100% !important;
}
table.cartDelivery tr.row_payment > td{
  background:#fff !important;border:1px solid var(--card-b) !important;padding:12px 14px !important;vertical-align:middle !important;
}
table.cartDelivery tr.row_payment > td:first-child{
  border-right:none !important;border-radius:16px 0 0 16px !important;position:relative !important;box-shadow:var(--shadow-sm) !important;
}
table.cartDelivery tr.row_payment > td:last-child{border-left:none !important;border-radius:0 16px 16px 0 !important}
table.cartDelivery tr.row_payment:hover > td:first-child{box-shadow:var(--shadow-lg) !important;border-color:#d8ecd2 !important}
table.cartDelivery tr.row_payment > td:first-child::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:6px;border-radius:16px 0 0 16px;background:linear-gradient(180deg,#8cd750,#5fa421);opacity:.28;pointer-events:none;
}
table.cartDelivery tr.row_payment > td:first-child > label{
  display:inline-flex !important;align-items:center !important;gap:10px !important;padding:8px 12px !important;border-radius:12px !important;background:#f7fbf5 !important;border:1px solid #e1efd8 !important;
}
table.cartDelivery tr.row_payment > td:first-child > div{margin-top:6px !important;color:#5d6b55 !important;font-size:13px !important}
table.cartDelivery input[type=radio]{-webkit-appearance:none !important;appearance:none !important;width:18px !important;height:18px !important;border-radius:50% !important;border:2px solid #b9d7ad !important;background:#fff !important;display:inline-grid !important;place-items:center !important;transition:border-color .2s,box-shadow .2s,background .2s !important}
table.cartDelivery input[type=radio]:focus-visible{box-shadow:var(--ring) !important;border-color:#8cca73 !important}
table.cartDelivery input[type=radio]:checked{border-color:#8cca73 !important;background:radial-gradient(circle at 50% 50%, #5fa421 0 6px, transparent 7px) !important}
table.cartDelivery input[type=radio] + span{font-weight:800 !important;color:#10150e !important;position:relative !important}
table.cartDelivery input[type=radio]:checked + span::after{content:"Vybrané";margin-left:8px;padding:4px 8px;border-radius:999px;font:800 11px/1 system-ui,-apple-system,Segoe UI,Roboto,Arial;background:#eef9e9;color:#2f7a1e;border:1px solid #d7edd0 !important}
table.cartDelivery td.price{text-align:right !important;min-width:96px !important}
table.cartDelivery td.price > div{font-weight:900 !important;font-size:16px !important;color:#10150e !important}

/* Mobil stacking buniek */
@media (max-width:860px){
  #block_delivery table.cartPayment tr.row_delivery > td,
  table.cartDelivery tr.row_payment > td{display:block !important}
  #block_delivery table.cartPayment tr.row_delivery td.price,
  table.cartDelivery tr.row_payment td.price{text-align:left !important;padding-top:8px !important}
}

/* SÚHRN */
#cartSummary, .cartSummary, .cartSum, .sumaryCart, .summary, .order-summary{
  background:linear-gradient(180deg,#ffffff,#f7fcf1) !important;border:1px solid #e3efde !important;border-radius:18px !important;box-shadow:0 14px 36px rgba(0,0,0,.10) !important;padding:16px !important;
}
#cartSummary .price, .cartSummary .price, .summary .price{font-weight:900 !important}
#cartSummary .row, .cartSummary .row, .order-summary .row{padding:6px 0;border-bottom:1px dashed #e3efde}
#cartSummary .row:last-child, .cartSummary .row:last-child, .order-summary .row:last-child{border-bottom:none}

/* ========================================================================
   KALKULÁTOR – OVERLAY/DRAWER (len štýly, ak prvky existujú)
=========================================================================== */
#ekxCalcOverlay{transition:opacity .2s ease;background:rgba(0,0,0,.45);backdrop-filter:none;position:fixed;inset:0;opacity:0;pointer-events:none;z-index:9996}
@media (min-width:1024px){#ekxCalcOverlay{backdrop-filter:saturate(120%) blur(2px)}}
#ekxCalcDrawer{position:fixed;left:50%;bottom:0;transform:translate(-50%,8%);opacity:0;pointer-events:none;z-index:9997;will-change:transform,opacity;transition:transform .2s cubic-bezier(.2,.8,.2,1), opacity .18s ease}
body.ekx-calc-open{overflow:hidden}
body.ekx-calc-open #ekxCalcOverlay{opacity:1;pointer-events:auto}
body.ekx-calc-open #ekxCalcDrawer{transform:translate(-50%,0);opacity:1;pointer-events:auto}

/* -------------------- ACCORDION (tg-*) -------------------- */
:root{
  --ring: 0 0 0 3px rgba(95,164,33,.22);
}
.tg-group{ display:grid; gap:12px; }
.tg-container{
  background: linear-gradient(180deg, #fff, #f7fcf1);
  border:1px solid var(--card-b);
  border-radius:14px; box-shadow: var(--shadow-sm);
  overflow:hidden; transition: box-shadow .2s, border-color .2s, transform .15s; position:relative;
}
.tg-container:hover{ transform: translateY(-1px); box-shadow: var(--shadow-lg); border-color:#d8ecd2; }
.tg-container::before{
  content:""; position:absolute; inset:0 auto 0 0; width:6px;
  background: linear-gradient(180deg, var(--brand-2), var(--brand)); opacity:.22; pointer-events:none;
}
.tg-checkbox{ position:absolute !important; inset:0 0 auto 0; opacity:0; width:0; height:0; pointer-events:none; }
.tg-label{
  display:flex; align-items:center; gap:10px; padding:14px 16px; cursor:pointer; user-select:none;
  font: 800 16px/1.2 'Poppins',system-ui,Arial,sans-serif; color: var(--ink);
  position:relative; transition: background .18s, color .18s, box-shadow .2s;
}
.tg-label::after{
  content:""; margin-left:auto; width:18px; height:18px; flex:0 0 18px;
  mask: url("data:image/svg+xml;utf8,<svg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><path fill='black' d='M12 15.5 5.5 9l1.4-1.4L12 12.7l5.1-5.1L18.5 9z'/></svg>") center/contain no-repeat;
  background: currentColor; transform: rotate(-90deg); transition: transform .18s ease; opacity:.8;
}
.tg-checkbox:checked + .tg-label{ background:#f2f9ee; color:#1a3d0d; box-shadow: inset 0 0 0 1px #cfe6c4; }
.tg-checkbox:checked + .tg-label::after{ transform: rotate(0deg); }
.tg-label{ outline:none }
.tg-checkbox:focus-visible + .tg-label{ box-shadow: var(--ring); }
.tg-content{
  max-height: 0; overflow: hidden; padding: 0 16px;
  transition: max-height .32s ease, padding .18s ease, opacity .22s ease;
  opacity: .0; border-top:1px solid transparent;
}
.tg-checkbox:checked + .tg-label + .tg-content{
  max-height: 1000px; padding: 12px 16px 16px; opacity: 1; border-top-color:#e9f3e4;
}
.tg-content p{ margin:.45em 0; color:var(--muted) }
.tg-content ul{ margin:.2em 0 .2em 1.2em; color:var(--ink) }
.tg-content li{ margin:.25em 0 }
.tg-content h5, .tg-content h4, .tg-content h3{ margin:.2em 0 .4em; font-weight:800; }
@media (max-width:680px){
  .tg-label{ padding:12px 14px; font-size:15px }
  .tg-content{ padding:0 14px }
}
.tg-content a.btn, .tg-content .btn, .tg-content a.button, .tg-content button{
  position:relative; isolation:isolate; display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px; border-radius:12px; border:1px solid transparent;
  background: linear-gradient(135deg, var(--brand), var(--brand-2)); color:#fff; text-decoration:none;
  font-weight:900; box-shadow: 0 12px 26px rgba(95,164,33,.25); transition: transform .16s, box-shadow .2s;
}
.tg-content a.btn::before, .tg-content .btn::before, .tg-content a.button::before, .tg-content button::before{
  content:""; position:absolute; inset:-2px; z-index:-1; border-radius:inherit;
  background: linear-gradient(45deg, var(--brand), var(--brand-2), var(--brand));
  background-size:200%; filter: blur(6px); opacity:0; transition:opacity .25s; animation: fireMove 6s linear infinite;
}
.tg-content a.btn:hover::before, .tg-content .btn:hover::before, .tg-content a.button:hover::before, .tg-content button:hover::before{ opacity:1 }
@keyframes fireMove{0%{background-position:0 0}50%{background-position:200% 0}100%{background-position:0 0}}

/* -------------------- RESPONSIVE helpers -------------------- */
@media (max-width:768px){
  .product-options{grid-template-columns:1fr}
}
