/* ==========================================================================
   GEMMY – obchod podľa šablóny „Sofa“ (grid/list produktov, detail, galérie, kategórie, košík)
   Používa priamo triedy šablóny (.product, .product-modern, .thumbnail-classic, .single-product, tabs-custom …).
   Načítava sa po theme-shop.css.
   ========================================================================== */

/* ---------- mriežky s bootstrap riadkom (prepis starých grid pravidiel) ------ */
.row.product-grid, .row.gallery-cards { display: flex; flex-wrap: wrap; gap: 0; grid-template-columns: none; }
.product-grid > [class*="col-"] { display: block; }

/* ---------- lišta zoradenia + prepínač mriežka/zoznam ------------------------ */
.alternator { display: block; margin-bottom: 30px; }
.alternator form { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.alternator-sort { display: flex; gap: 12px; flex-wrap: wrap; }
.alternator select { min-height: 45px; padding: 8px 34px 8px 14px; border-radius: 0; font-size: 15px; }
.product-view-toggle { display: flex; align-items: center; gap: 4px; }
.product-view-toggle .product-view-link { background: transparent; border: 0; box-shadow: none; padding: 6px; width: auto; height: auto; min-height: 0; color: #151515 !important; font-size: 28px; line-height: 1; cursor: pointer; text-transform: none; }
.product-view-toggle .product-view-link:hover, .product-view-toggle .product-view-link.active { color: #f07d00 !important; background: transparent; border: 0; }

/* ---------- karta produktu (.product) – fotografie namiesto výrezov -------------- */
.product .product-figure { display: block; min-height: 0; aspect-ratio: 1 / 1; overflow: hidden; background: #f5f5f5; }
.product .product-figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.product .product-title { text-transform: uppercase; }
.product .product-title a { color: #151515; }
.product .product-title a:hover { color: #f07d00; }
.product .product-price-wrap { min-height: 18px; }
.product .price_default:empty, .product-modern .price_default:empty { display: none; }
.product .product-button .btn, .product .product-button a.add2cart { margin: 0 !important; }
.product-button .add2cart { display: inline-block; width: 50px; height: 50px; padding: 0; text-align: center; font-size: 20px; line-height: 46px; border-radius: 50%; }
.product-button .add2cart-label { display: none; }
.product-button .add2cart-icon { display: inline; }
.product-button > a:not(.btn) { display: none; }
.product-badge.discount-none, .product-badge.hidden { display: none; }

.product-price-old.discount-none, .price_default.discount-none { display: none !important; }
.product-price-old.discount-none + .product-price { margin-left: 0 !important; }
.product-price-wrap { display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: 0 8px; }
.product-modern .product-price-wrap { justify-content: flex-start; margin-top: 10px; }
.product-modern .product-price-old + .product-price { margin-left: 0; }

/* ---------- riadok produktu v zozname (.product-modern) ----------------------- */
.product-modern { max-width: none; box-shadow: 0 0 9px 0 rgba(0, 0, 0, .08); border-radius: 6px; }
.product-modern .product-modern-figure { display: block; width: 100%; height: 100%; min-height: 200px; }
.product-modern .product-modern-figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (min-width: 576px) { .product-modern .unit-left { width: 300px; flex: 0 0 300px; } }
.product-modern-title a { color: #151515; text-transform: uppercase; }
.product-modern-title a:hover { color: #f07d00; }
.product-modern-text { margin: 10px 0 0; color: #777; }
.product-modern-actions { margin-top: 18px; }
.product-modern-actions .add2cart { margin: 0 !important; }
.product-modern-actions .add2cart-icon { display: none; }
.product-modern.no-figure .product-modern-body { padding: 20px 30px; }
.product-modern.no-figure { margin-bottom: 0; }

/* ---------- kategórie (lupa + popisok) -------------------------------------- */
.category-button-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 30px; }
.category-tile { position: relative; background: #fff; text-align: center; }
.category-tile-media { position: relative; display: block; overflow: hidden; }
.category-tile-figure, .category-button-media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #f5f5f5; }
.category-tile-figure img, .category-button-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.category-tile-hover { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; background: rgba(69, 70, 72, .74); opacity: 0; transition: opacity .3s ease; }
.category-tile-hover .btn { margin: 0 !important; width: 50px; height: 50px; padding: 0; text-align: center; font-size: 20px; line-height: 46px; border-radius: 50%; }
.category-tile-media:hover .category-tile-hover { opacity: 1; }
@media (hover: none) { .category-tile-hover { display: none; } }
.category-tile-title { margin: 0; padding: 14px 12px; background: #151515; font-size: 17px; text-transform: uppercase; letter-spacing: .06em; }
.category-tile-title a { color: #fff; display: block; }
.category-tile:hover .category-tile-title { background: #f07d00; }
.category-tile:hover .category-tile-title a { color: #151515; }
.cat-tiles .category-tile { margin: 0; }
.cat-tiles { gap: 30px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cat-tiles.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.category-button-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.category-tile { display: flex; flex-direction: column; min-width: 0; }
.category-tile-title { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 64px; overflow-wrap: anywhere; }
.category-tile-title a { display: block; }
@media (max-width: 991px) { .cat-tiles, .cat-tiles.cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
@media (max-width: 480px) { .cat-tiles, .cat-tiles.cols-3 { grid-template-columns: 1fr; } }

/* ---------- galérie (.thumbnail-classic) ------------------------------------- */
.g-grid, .g-grid.masonry-true, .g-grid.masonry-false { display: grid !important; column-count: auto !important; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important; gap: 30px !important; }
.g-item { position: relative; margin: 0; background: transparent; border: 0; box-shadow: none; border-radius: 0; max-width: none; }
.g-item .thumbnail-classic-figure { aspect-ratio: 370 / 315; overflow: hidden; }
.g-item .thumbnail-classic-figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.g-item .thumbnail-classic-button .btn, .gcard-item .thumbnail-classic-button .btn { margin: 0 !important; }
.g-item .thumbnail-classic-title { margin: 0; }
.gcard-item .thumbnail-classic-figure { aspect-ratio: 370 / 315; overflow: hidden; }
.gcard-item .thumbnail-classic-figure img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gcard-item .thumbnail-classic-title a { color: inherit; }
.gcard-label { margin-top: 12px; text-align: center; font-family: var(--font-head); text-transform: uppercase; letter-spacing: .04em; font-size: 18px; }
.gcard-label a { color: #151515; }
.gcard-label a:hover { color: #f07d00; }
.gcard-desc { font-family: var(--font); text-transform: none; letter-spacing: 0; font-size: 14px; color: #777; margin-top: 4px; }
.gallery-cards.row { margin-bottom: 30px; }
.gallery-cards > [class*="col-"] { margin-bottom: 30px; }
@media (max-width: 575px) { .g-grid, .g-grid.masonry-true, .g-grid.masonry-false { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; } .g-item .thumbnail-classic-caption { padding: 8px; } .g-item .thumbnail-classic-title { display: none; } }

/* ---------- stránkovanie (.pagination / .page-link) --------------------------- */
.pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; margin: 40px 0; padding: 0; font-family: var(--font-head); font-size: 16px; color: #777; }
.pagination form { order: 2; margin-left: 12px; }
.pagination form div { float: none !important; }
.pagination a, .pagination b, .pagination strong, .pagination .selected { display: inline-flex; min-width: 42px; height: 42px; padding: 0 12px; align-items: center; justify-content: center; border: 1px solid #e1e1e1; color: #151515; background: #fff; }
.pagination a:hover { background: #f07d00; border-color: #f07d00; color: #fff; }
.pagination a[class*="sel"], .pagination a.active, .pagination a[class*="cur"] { background: #0a662d; border-color: #0a662d; color: #fff; }

/* ---------- detail produktu (.single-product) -------------------------------- */
.pd.row { display: flex; gap: 0; grid-template-columns: none; margin-bottom: 30px; }
.pd .pg { margin-bottom: 20px; }
.pd .pg-stage { border: 1px solid #e1e1e1; background: #fff; aspect-ratio: 1 / 1; max-height: 560px; }
.pd .pg-main { width: 100%; height: 100%; }
.pd .pg-main img { width: 100%; height: 100%; object-fit: cover; }
.pd .pg-thumbs { gap: 15px; margin-top: 15px; padding: 0; }
.pd .pg-item { flex: 0 0 110px; border: 1px solid #e1e1e1; background: #fff; }
.pd .pg-item.active, .pd .pg-item.on { border-color: #0a662d; }
.single-product.pd-info { padding-left: 0; }
@media (min-width: 992px) { .single-product.pd-info { padding-left: 20px; } }
#content .single-product h3 { font-size: 34px; margin: 0; line-height: 1.2; }
.pd-save.discount-none, .single-product-old.discount-none { display: none !important; }
.single-product ul.params, .single-product ul.list-description { border: 0; background: none; padding: 0; margin: 20px 0 0; box-shadow: none; }
.single-product .pd-availability, .single-product ul.params li { border: 0; background: none; padding: 0; margin: 0; box-shadow: none; }
.single-product .pd-availability { display: flex; gap: 6px; margin-top: 6px; }
.single-product .pd-buy { justify-content: flex-start; }
.single-product .pd-buy .status, .single-product .pd-buy .wish { display: block; width: auto; }
.pd-priceline { align-items: center; }
.single-product-price { font-family: var(--font-head); font-size: 30px; font-weight: 700; color: #0a662d; line-height: 1; }
.single-product-old { font-size: 18px; color: rgba(21, 21, 21, .5); text-decoration: line-through; }
.single-product .pd-save { margin: 0; }
.single-product .pd-perex { margin-top: 20px; color: #777; font-style: normal; }
.single-product .list-description li span:first-child { color: #151515; font-weight: 700; }
.single-product .list-description.params li { display: flex; gap: 6px; }
.single-product .pd-buy { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 30px; }
.single-product .pd-buy .status { display: block; }
.single-product .pd-buy a.add2cart { display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: auto; min-width: 200px; margin: 0; padding: 16px 32px; font-size: 16px; border-radius: 0; background: #0a662d; color: #fff; }
.single-product .pd-buy a.add2cart { background: #f07d00; color: #151515; }
.single-product .pd-buy a.add2cart:hover { background: #f07d00; color: #fff; }
.single-product .pd-buy .wish a { color: #151515; font-family: var(--font-head); text-transform: uppercase; letter-spacing: .05em; }
.single-product hr { margin: 25px 0; }
.pd-tabs.tabs-custom { margin-top: 30px; border: 0; padding: 0; box-shadow: none; background: transparent; }
.pd-tabs .tab-content { padding-top: 30px; }
.related { margin-top: 60px; }
.related h3 { margin-bottom: 30px; }

/* ---------- košík – vzhľad tabuľky šablóny (.table-cart) ---------------------- */
.cart-table { border: 1px solid #e1e1e1; text-transform: uppercase; }
.cart-head { background: #fff; color: #777; font-family: var(--font-head); font-size: 16px; font-weight: 500; letter-spacing: .05em; border-bottom: 1px solid #e1e1e1; padding-top: 20px; padding-bottom: 20px; }
.cart-item { font-family: var(--font-head); font-size: 16px; letter-spacing: .075em; color: #151515; padding-top: 22px; padding-bottom: 22px; border-bottom: 0; }
.cart-item .ci-name a { font-size: 18px; }
.cart-row .ci-count, .cart-row .ci-net, .cart-row .ci-price, .cart-row .ci-sum, .cart-head .ci-count { text-align: center; }
input.count { width: 70px; min-height: 45px; background: #ebebeb; border: 0; border-radius: 6px; font-size: 18px; }
.cart-summary { max-width: none; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 40px; margin-top: 30px; }
.cart-summary .cart-promocode { order: -1; padding: 0; }
.cart-summary .cart-line { border: 0; margin-left: auto; }
.cart-line-in { align-items: baseline; gap: 20px; padding: 0; }
.cart-line-in span:first-child, .cart-line-in strong:first-child { font-family: var(--font-head); font-size: 20px; font-weight: 500; letter-spacing: .05em; color: #9a9a9a; text-transform: uppercase; }
.cart-line-in strong:last-child { font-family: var(--font-head); font-size: 32px; font-weight: 400; color: #151515; letter-spacing: .02em; }
.cart-gift { flex-basis: 100%; }
.cart-actions .button, .cart-actions input { min-height: 56px; min-width: 200px; font-size: 16px; }

/* ---------- objednávka (kroky 2–4) – vzhľad checkoutu šablóny ---------------- */
.opt-group { border: 1px solid #e1e1e1; padding: 28px 15px; margin-bottom: 30px; }
.opt-group h3 { padding: 0 15px; margin-bottom: 18px; font-size: 20px; }
.opt-row { border: 0; margin: 0; padding: 12px 15px; background: transparent; }
.opt-row:has(input:checked) { background: transparent; border: 0; }
.opt-row label { font-family: var(--font-head); font-size: 16px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.opt-row label small { font-family: var(--font); text-transform: none; letter-spacing: .05em; color: #9b9b9b; font-weight: 400; }
.opt-row:has(input:checked) label { color: #151515; }
.opt-row input[type=radio] { accent-color: #151515; }
#step3[style*="display: block"] { display: block !important; column-count: 2; column-gap: 30px; }
#step3 fieldset { margin: 0 0 30px; break-inside: avoid; }
#step3 .cart-actions { column-span: all; }
@media (max-width: 991px) { #step3[style*="display: block"] { column-count: 1; } }
.fgrid { grid-template-columns: 1fr; gap: 6px; }
.fgrid > label { margin-top: 12px !important; font-family: var(--font-head); font-size: 14px; letter-spacing: .06em; text-transform: uppercase; color: #777; }
.fgrid > input[type=text], .fgrid > input[type=password], .fgrid > select, .fgrid > textarea { max-width: none; min-height: 45px; border: 1px solid #e1e1e1; border-radius: 0; background: #fff; }
.fgrid > textarea { grid-column: 1; }
.fgrid > input[type=checkbox] { min-height: 0; }
.registration.step fieldset legend { font-family: var(--font-head); font-size: 22px; font-weight: 500; text-transform: none; letter-spacing: 0; color: #151515; }
#step4 .recap { border: 1px solid #e1e1e1; }
.recap-total { background: #0a662d; color: #fff; }
.recap-total strong { color: #fff; }
.recap .cart-head { background: #0a662d; color: #fff; }
#step4 fieldset.cloned { margin-top: 30px; }

@media (max-width: 991px) {
  .cart-summary { flex-direction: column; align-items: stretch; }
  .cart-summary .cart-line { margin-left: 0; }
  .cart-item { font-size: 15px; }
  .product-modern .unit-left { width: 100%; flex: none; }
}

/* ---------- pätička – právne odkazy ----------------------------------------- */
.footer-legal { display: flex; flex-wrap: wrap; gap: 6px 22px; justify-content: center; }
.footer-legal a { color: inherit; }

/* ---------- kontaktný formulár (all_form.tpl) vzhľad podľa šablóny -------------- */
.form-container fieldset { border: 0; padding: 0; margin: 0; background: transparent; }
.form-grid { max-width: none; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 30px; }
.form-row { display: flex; flex-direction: column; gap: 8px; grid-template-columns: none; }
.form-row .form-column-1 { padding-top: 0; font-family: var(--font); font-size: 14px; letter-spacing: .06em; font-weight: 700; color: #151515; }
.form-row:has(textarea) { grid-column: 1 / -1; }
.form-row .form-column-2 input[type=text], .form-row .form-column-2 input[type=email], .form-row .form-column-2 textarea, .form-row .form-column-2 select {
  width: 100%; min-height: 54px; padding: 14px 20px; border: 1px solid #e1e1e1; border-radius: 0; background: #fff; font-size: 16px; color: #151515;
}
.form-row .form-column-2 textarea { min-height: 170px; }
.form-row .form-column-2 input:focus, .form-row .form-column-2 textarea:focus { border-color: #0a662d; outline: 0; box-shadow: none; }
.form-row .form-column-3 { grid-column: auto; padding-top: 0; font-size: 13px; color: #9a9a9a; }
.form-consent { grid-column: 1 / -1; margin: 0; font-size: 14px; line-height: 1.6; color: #707475; }
.form-consent a { color: #151515; font-weight: 700; text-decoration: underline; }
.form-actions { grid-column: 1 / -1; }
@media (max-width: 767px) { .form-grid { grid-template-columns: 1fr; } }

/* ---------- kontakt – boxy s adresami (clanok) --------------------------------- */
.title-classic { text-align: center; margin-bottom: 40px; }
.title-classic-title { margin: 0; }
.title-classic-subtitle { margin: 14px auto 0; max-width: 780px; color: #777; }
.contact-boxes { margin-top: 50px; padding: 40px 30px; background: #f5f5f5; }
.contact-boxes h4 { margin: 0 0 14px; font-size: 20px; }
.contact-boxes .contacts-classic { list-style: none; padding: 0; margin: 0; }
.contact-boxes .contacts-classic li { margin-bottom: 10px; color: #777; }
.contact-boxes .contacts-classic a { color: #151515; }
.contact-boxes .contacts-classic a:hover { color: #f07d00; }
.category-tile-title, .category-tile-title a { white-space: normal; word-break: normal; overflow-wrap: normal; hyphens: none; line-height: 1.25; text-align: center; }
.category-tile-title { overflow-wrap: normal; }
.ci-count { display: flex; align-items: center; justify-content: center; }
.ci-count .qty-btn { flex: 0 0 48px; width: 48px; min-width: 48px; height: 44px; padding: 0; margin: 0; border: 0; border-radius: 0; background: #f1f1f1; color: #151515; font-size: 22px; font-weight: 700; line-height: 44px; text-align: center; cursor: pointer; transition: background .15s, color .15s; }
.ci-count .qty-minus { border-radius: 4px 0 0 4px; }
.ci-count .qty-plus { border-radius: 0 4px 4px 0; margin-right: 8px; }
.ci-count .qty-btn:hover { background: #0a662d; color: #fff; }
.ci-count input.count { flex: 0 0 60px; width: 60px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; background: #f1f1f1; text-align: center; font-weight: 700; box-shadow: none; }
.category-tile-title { font-size: 16px; padding: 12px 10px; }
.form-row { align-items: stretch; }
.title-classic { display: block; text-align: center; margin-bottom: 40px; }
.title-classic::before, .title-classic::after { display: none; }
.title-classic-title, .title-classic-subtitle { display: block; width: auto; max-width: none; }
.title-classic-subtitle { margin: 14px auto 0; max-width: 780px; }

/* ---------- pätička: stĺpce a spodný pás v jednom riadku ----------------------- */
.footer-cols { display: grid; grid-template-columns: 1.2fr 1.2fr 1fr; gap: 40px; align-items: start; text-align: left; }
.footer-col { min-width: 0; }
.footer-col p { margin: 0 0 12px; }
.footer-lines { list-style: none; margin: 0; padding: 0; }
.footer-line { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 12px; }
.footer-line .icon { flex: none; font-size: 20px; line-height: 1.4; color: #0a662d; }
.footer-line a { color: inherit; overflow-wrap: anywhere; }
.footer-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px 30px; flex-wrap: wrap; }
.footer-bar p { margin: 0; white-space: nowrap; }
.footer-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 24px; }
.footer-legal a { white-space: nowrap; }
@media (max-width: 991px) { .footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; } }
@media (max-width: 575px) { .footer-cols { grid-template-columns: 1fr; } .footer-bar { flex-direction: column; text-align: center; } .footer-bar p { white-space: normal; } }

/* ---------- tabuľky v článkoch (vzhľad .table-custom zo šablóny) ------------------ */
#article-container table, .pd-text table { width: 100%; border-collapse: collapse; margin: 20px 0 30px; background: #fff; text-align: left; font-size: 15px; }
#article-container th, .pd-text th { padding: 14px 20px; background: #f5f5f5; font-family: var(--font-head); font-size: 14px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #151515; border: 1px solid #e1e1e1; }
#article-container td, .pd-text td { padding: 13px 20px; border: 1px solid #e1e1e1; color: #777; vertical-align: top; }
#article-container tr:first-child td:first-child:not(:only-child), #article-container td:first-child { color: #151515; }
#article-container tbody tr:nth-child(even) td, .pd-text tbody tr:nth-child(even) td { background: #fafafa; }
@media (max-width: 767px) { #article-container table { display: block; overflow-x: auto; } #article-container th, #article-container td { padding: 10px 12px; font-size: 14px; } }

/* ---------- registrácia, zmena údajov, zabudnuté heslo ------------------------- */
form.registration { max-width: 820px; margin: 0 0 30px; }
form.registration.form-narrow { max-width: 560px; }
form.registration fieldset { display: block; width: 100%; box-sizing: border-box; max-width: none; border: 1px solid #e1e1e1; border-radius: 0; background: #fff; padding: 10px 30px 30px; margin: 0 0 30px; }
form.registration legend { padding: 0 12px; margin-left: -12px; font-family: var(--font-head); font-size: 22px; font-weight: 500; text-transform: none; letter-spacing: 0; color: #151515; }
form.registration .form-hint { margin: 6px 0 4px; }
form.registration .fgrid > label { font-family: var(--font); font-size: 14px; font-weight: 700; letter-spacing: .04em; text-transform: none; color: #151515; margin-top: 16px !important; }
form.registration .fgrid > label:first-child { margin-top: 6px !important; }
form.registration .fgrid > input[type=text], form.registration .fgrid > input[type=password], form.registration .fgrid > select { width: 100%; max-width: none; min-height: 50px; padding: 12px 16px; border: 1px solid #e1e1e1; border-radius: 0; background-color: #fff; font-size: 16px; }
form.registration .fgrid > input:focus, form.registration .fgrid > select:focus { border-color: #0a662d; outline: 0; box-shadow: none; }
form.registration .fgrid > input[type=checkbox] { width: 20px; height: 20px; margin: 4px 0 0; justify-self: start; }
.form-submit { display: flex; justify-content: flex-start; gap: 12px; margin-top: 6px; }
.form-submit .button, .form-submit input { min-width: 200px; min-height: 52px; }
@media (max-width: 575px) { form.registration fieldset { padding: 6px 16px 22px; } .form-submit .button { width: 100%; } }

/* ---------- články: výpis, podsekcie ---------------------------------------------- */
.category-buttons-articles .category-buttons-title { margin-bottom: 20px; }
.article-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 30px; }
.acard { display: flex; flex-direction: column; background: #fff; border: 1px solid #e1e1e1; border-radius: 0; overflow: hidden; box-shadow: none; }
.acard-media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #f5f5f5; }
.acard-media img { width: 100%; height: 100%; object-fit: cover; display: block; float: none; margin: 0; max-width: none; border-radius: 0; }
.acard-media:empty { display: none; }
.acard-body { display: flex; flex-direction: column; flex: 1; padding: 22px 24px 26px; text-align: left; }
.acard-meta { font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: #9a9a9a; margin-bottom: 8px; }
.acard-meta a { color: #0a662d; }
.acard-title { margin: 0 0 10px; font-size: 22px; line-height: 1.2; }
.acard-title a { color: #151515; }
.acard-title a:hover { color: #f07d00; }
.acard-highlight { color: #0a662d; font-weight: 700; margin-bottom: 8px; }
.acard-perex { color: #777; margin-bottom: 16px; }
.acard-more { margin-top: auto; align-self: flex-start; padding: 10px 22px; background: #0a662d; color: #fff !important; font-family: var(--font-head); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.acard-more:hover { background: #f07d00; color: #151515 !important; }
.acard-static { padding: 24px; text-decoration: none; }
form.registration, form.registration fieldset, form.registration label, form.registration legend, form.form-container, #article-container, .pd-text { text-align: left; }
form.registration .form-hint { text-align: left; }
form.registration { margin-left: auto; margin-right: auto; }

/* ---------- hlavné menu: väčšie písmo (farby šablóny nechané) ---------------------------- */
@media (min-width: 992px) {
  .rd-navbar-static .rd-navbar-nav > .rd-nav-item + .rd-nav-item { margin-left: 22px; }
  .rd-navbar-static .rd-navbar-nav > .rd-nav-item > .rd-nav-link { font-size: 17px; letter-spacing: .03em; white-space: nowrap; }
}

/* ---------- úvod: pruh o predaji do zahraničia ---------------------------------------- */
.sales-note { background: #f5f5f5; padding: 26px 0; text-align: center; }
.sales-note p { margin: 0; font-family: var(--font-head); font-size: 22px; letter-spacing: .03em; color: #151515; text-transform: uppercase; }
.sales-note .icon { color: #f07d00; font-size: 30px; vertical-align: middle; margin-right: 8px; }
@media (max-width: 575px) { .sales-note p { font-size: 17px; } }

/* hover: jemná oranžová namiesto modrej */
a:hover, a:focus { color: #f07d00; }
.rd-nav-link:hover, .rd-dropdown-link:hover, .rd-megamenu-list-link:hover { color: #f07d00; }
.btn-primary:hover, .btn-primary:active, .btn-primary:focus,
.btn-secondary:hover, .btn-secondary:active, .btn-secondary:focus { color: #151515; background-color: #f07d00; border-color: #f07d00; }
.category-tile:hover .category-tile-title { background: #f07d00; }
.category-tile:hover .category-tile-title a { color: #151515; }
.footer-classic a:hover, .footer-classic-panel a:hover { color: #f07d00; }
.product .product-title a:hover, .product-modern-title a:hover, .cart-item .ci-name a:hover { color: #f07d00; }
.pagination a:hover { background: #f07d00; border-color: #f07d00; color: #151515; }
.account-menu a:hover { color: #f07d00; }
.cs-link:hover { color: #f07d00; }

@media (min-width: 992px) { .rd-navbar-static .rd-navbar-nav > .rd-nav-item + .rd-nav-item { margin-left: 22px; } }

/* ==========================================================================
   Farby GEMMY: základ zelená #0a662d, akcent oranžová #f07d00
   ========================================================================== */
/* oranžová: ceny, počítadlo košíka, ikony v pätičke, aktívna položka menu */
.price_used, .product-price:not(.product-price-old), .single-product-price, .recap-total strong, .cart-total .cart-line-in strong { color: #f07d00; }
#cart .cart-count { background: #f07d00; color: #fff; }
.footer-line .icon, .sales-note .icon { color: #f07d00; }
.rd-navbar-nav .rd-nav-item.active > .rd-nav-link, .rd-navbar-nav .rd-nav-item:hover > .rd-nav-link { color: #f07d00; }
.product-badge-sale { background: #f07d00; }
/* tlačidlá: základ zelená, po prechode myšou oranžová; sekundárne naopak */
.btn-secondary:hover, .btn-secondary:active, .btn-secondary:focus { color: #fff; background-color: #0a662d; border-color: #0a662d; }
.btn-secondary { color: #151515; }

/* ---------- úvodný banner: 4 kategórie za sebou ---------------------------------------- */
.slider-cats .swiper-slide { background-size: cover; background-position: center; background-color: #31383b; }
.slider-cats .swiper-slide.slide-pos-el { background-position: center 70%; }
.slider-cats .swiper-slide::before { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .62) 0%, rgba(0, 0, 0, .3) 55%, rgba(0, 0, 0, .05) 100%); z-index: 1; pointer-events: none; }
.slider-cats .swiper-slide .swiper-slide-caption { position: relative; z-index: 2; }
.slider-cats .swiper-title-1 { text-transform: uppercase; text-shadow: 0 2px 18px rgba(0, 0, 0, .45); }
.slider-cats .biggest { max-width: 520px; text-shadow: 0 1px 10px rgba(0, 0, 0, .5); }
@media (max-width: 991px) { .slider-cats .swiper-slide::before { background: rgba(0, 0, 0, .5); } .slider-cats .biggest { margin-left: auto; margin-right: auto; } }

/* ---------- obchod: 4 malé karty kategórií navrchu ---------------------------------------- */
.shop-cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px; margin: 0 0 30px; min-height: 120px; }
.shop-cats:not(.is-ready) { visibility: hidden; }
.shop-cats .category-tile-figure { aspect-ratio: 16 / 9; }
.shop-cats .category-tile-title { min-height: 0; padding: 9px 8px; font-size: 14px; }
.shop-cats .category-tile-hover .btn { width: 40px; height: 40px; font-size: 16px; line-height: 36px; }
.shop-cats .category-tile.is-active { box-shadow: 0 0 0 3px #f07d00; }
.shop-cats .category-tile.is-active .category-tile-title { background: #f07d00; }
.shop-cats .category-tile.is-active .category-tile-title a { color: #151515; }
.category-buttons-shop { display: none; }
@media (max-width: 767px) { .shop-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; min-height: 0; } .shop-cats .category-tile-title { font-size: 13px; padding: 8px 6px; } }

/* ---------- tlačidlo „Do košíka“: čitateľný text v oboch stavoch ------------------------ */
.add2cart.btn, .single-product .pd-buy a.add2cart, .pd-buy a.add2cart, .pc-actions a.add2cart { background: #0a662d !important; border-color: #0a662d !important; color: #fff !important; }
.add2cart.btn *, .single-product .pd-buy a.add2cart * { color: inherit !important; }
.add2cart.btn:hover, .single-product .pd-buy a.add2cart:hover, .pd-buy a.add2cart:hover, .pc-actions a.add2cart:hover { background: #f07d00 !important; border-color: #f07d00 !important; color: #151515 !important; }
.add2cart.btn::after, .single-product .pd-buy a.add2cart::after { background: #0a662d; }

/* ---------- dostupnosť: pulzujúca bodka ------------------------------------------------- */
.pd-availability::before { animation: stockPulse 1.8s ease-out infinite; }
@keyframes stockPulse {
  0% { box-shadow: 0 0 0 0 rgba(5, 150, 105, .55); }
  70% { box-shadow: 0 0 0 9px rgba(5, 150, 105, 0); }
  100% { box-shadow: 0 0 0 0 rgba(5, 150, 105, 0); }
}
@media (prefers-reduced-motion: reduce) { .pd-availability::before { animation: none; } }

/* zelená bodka dostupnosti sa neorezáva na kraji */
.single-product .pd-availability { padding-left: 12px; overflow: visible; }
.single-product ul.list-description, .single-product ul.params { overflow: visible; }

/* ==========================================================================
   Vyhľadávanie v hlavičke (malý panel + napovedanie), dialóg, karty produktov, kontakt
   ========================================================================== */
/* --- vyhľadávanie --- */
.site-search-wrap { position: relative; }
.site-search-toggle { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; background: none; color: #151515; font-size: 26px; line-height: 1; cursor: pointer; border-radius: 0; box-shadow: none; }
.site-search-toggle:hover, .site-search-wrap.is-open .site-search-toggle { color: #f07d00; background: none; }
.site-search-panel { position: absolute; right: 0; top: calc(100% + 12px); z-index: 1200; width: 400px; max-width: calc(100vw - 30px); background: #fff; border: 1px solid #e1e1e1; box-shadow: 0 12px 34px rgba(0, 0, 0, .18); text-align: left; }
.site-search-panel[hidden] { display: none; }
.site-search-field { display: flex; border-bottom: 1px solid #e1e1e1; }
.site-search-field input[type=text] { flex: 1; min-width: 0; height: 52px; padding: 0 16px; border: 0; border-radius: 0; background: #fff; font-size: 16px; color: #151515; box-shadow: none; }
.site-search-field input[type=text]:focus { outline: 0; box-shadow: none; border: 0; }
.site-search-go { width: 52px; height: 52px; padding: 0; border: 0; border-radius: 0; background: #0a662d; color: #fff; font-size: 20px; cursor: pointer; box-shadow: none; }
.site-search-go:hover { background: #f07d00; color: #151515; }
.site-search-results { list-style: none; margin: 0; padding: 0; max-height: 360px; overflow-y: auto; }
.site-search-results[hidden] { display: none; }
.site-search-results li { margin: 0; border-bottom: 1px solid #f0f0f0; }
.site-search-results li:last-child { border-bottom: 0; }
.site-search-results a { display: block; padding: 11px 16px; color: #151515; font-size: 15px; }
.site-search-results a:hover, .site-search-results li.is-active a { background: #f5f5f5; color: #f07d00; }
.site-search-results .ssr-empty { padding: 14px 16px; color: #777; font-size: 14px; }
.site-search-results .ssr-all button { display: block; width: 100%; padding: 12px 16px; border: 0; border-radius: 0; background: #f5f5f5; color: #0a662d; font-family: var(--font-head); font-size: 14px; letter-spacing: .04em; text-transform: uppercase; text-align: left; cursor: pointer; box-shadow: none; }
.site-search-results .ssr-all button:hover { background: #f07d00; color: #151515; }
.rd-navbar-fixed .site-search-wrap { position: fixed; top: 4px; right: 80px; z-index: 1082; }
.rd-navbar-fixed .site-search-panel { position: fixed; left: 10px; right: 10px; top: 56px; width: auto; max-width: none; }

/* --- dialóg (potvrdenie pridania do košíka, hlášky) --- */
.ui-widget-overlay { background: #151515 !important; opacity: .6 !important; }
.ui-dialog { border: 0 !important; border-radius: 0 !important; padding: 0 !important; background: #fff !important; box-shadow: 0 24px 70px rgba(0, 0, 0, .4) !important; font-family: var(--font); }
.ui-dialog .ui-dialog-titlebar { padding: 18px 64px 16px 26px !important; background: #fff !important; border: 0 !important; border-bottom: 3px solid #0a662d !important; border-radius: 0 !important; }
.ui-dialog .ui-dialog-title { float: none !important; margin: 0 !important; font-family: var(--font-head); font-size: 21px; font-weight: 400; letter-spacing: .04em; text-transform: uppercase; color: #151515; white-space: normal; }
.ui-dialog .ui-dialog-titlebar-close { top: 14px !important; right: 14px !important; width: 36px !important; height: 36px !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; background: #f5f5f5 !important; box-shadow: none !important; }
.ui-dialog .ui-dialog-titlebar-close:hover { background: #f07d00 !important; }
.ui-dialog .ui-dialog-content { padding: 24px 26px 18px !important; font-size: 16px; line-height: 1.6; color: #555; text-align: left; }
.ui-dialog .ui-dialog-buttonpane { margin: 0 !important; padding: 0 26px 24px !important; border: 0 !important; background: #fff !important; }
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: none; display: flex; justify-content: flex-end; gap: 10px; }
.ui-dialog .ui-dialog-buttonpane button { margin: 0 !important; min-width: 120px; padding: 12px 26px !important; border: 0 !important; border-radius: 0 !important; background: #0a662d !important; color: #fff !important; font-family: var(--font-head); font-size: 15px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; box-shadow: none !important; }
.ui-dialog .ui-dialog-buttonpane button:hover { background: #f07d00 !important; color: #151515 !important; }

/* --- karty produktov rovnako vysoké --- */
.product-grid > [class*="col-"] { display: flex; }
.product-grid .product { display: flex; flex-direction: column; width: 100%; }
.product-grid .product-body { display: flex; flex-direction: column; flex: 1 1 auto; }
.product-grid .product-title { flex: 1 1 auto; }
.product-grid .product-price-wrap { margin-top: auto; }

/* --- kontakt: boxy s adresami --- */
.contact-boxes, .contact-boxes p, .contact-boxes li { text-align: left; }
.contact-boxes ul, .contact-boxes .contacts-classic { list-style: none; margin: 0; padding: 0; }
.contact-boxes li, .contact-boxes .contacts-classic li { margin: 0 0 12px; padding: 0; line-height: 1.5; }
.contact-boxes p { margin: 12px 0 0; }
.contact-boxes h4 { margin: 0 0 16px; }
.ui-widget-overlay { z-index: 4000 !important; }
.ui-dialog { z-index: 4100 !important; }
#article-container .contact-boxes ul, #article-container .contact-boxes .contacts-classic { list-style: none !important; margin: 0 !important; padding: 0 !important; }
#article-container .contact-boxes li { padding: 0 !important; margin: 0 0 12px !important; list-style: none !important; }
#article-container .contact-boxes p, #article-container .contact-boxes li { font-size: 16px; text-align: left; }

/* ==========================================================================
   Menu: bez „Úvod“, tučné písmo na jednom riadku; mobilné menu vpravo, neutrálne
   ========================================================================== */
@media (min-width: 992px) {
  .rd-navbar-static .rd-navbar-nav { flex-wrap: nowrap; }
  .rd-navbar-static .rd-navbar-nav > .rd-nav-item + .rd-nav-item { margin-left: 28px; }
  .rd-navbar-static .rd-navbar-nav > .rd-nav-item > .rd-nav-link { font-size: 17px; font-weight: 700; letter-spacing: .04em; white-space: nowrap; }
  .rd-navbar-static .nav-mobile-contact { display: none; }
}

/* mobil / tablet: vysúvacie menu sprava, biele, bez 3 bodiek */
.rd-navbar-fixed .rd-navbar-project, .rd-navbar-fixed .rd-navbar-project-hamburger-open { display: none !important; }
.rd-navbar-fixed .rd-navbar-nav-wrap { left: auto; right: 0; background: #fff; box-shadow: -6px 0 24px rgba(0, 0, 0, .18); transform: none !important; clip-path: inset(0 0 0 100%); visibility: hidden; pointer-events: none; transition: clip-path .25s ease, visibility 0s .25s; }
.rd-navbar-fixed .rd-navbar-nav-wrap.active { clip-path: inset(0); visibility: visible; pointer-events: auto; transition: clip-path .25s ease; }
html, body { overflow-x: hidden; }
.rd-navbar-fixed .rd-navbar-toggle { position: fixed; top: 4px; right: 0; z-index: 1082; }
.rd-navbar-fixed .rd-navbar-nav > .rd-nav-item > .rd-nav-link { font-size: 15px; font-weight: 700; letter-spacing: .06em; color: #151515; }
.rd-navbar-fixed .rd-navbar-nav > .rd-nav-item > .rd-nav-link:hover, .rd-navbar-fixed .rd-navbar-nav > .rd-nav-item.active > .rd-nav-link { color: #f07d00; background: transparent; }
.rd-navbar-fixed .rd-navbar-nav-wrap::-webkit-scrollbar-track { background: #f5f5f5; }
.rd-navbar-fixed .nav-mobile-contact { display: block; margin: 18px 12px 0; padding: 18px 0 0; border-top: 1px solid #e1e1e1; font-size: 14px; line-height: 1.5; color: #555; }
.rd-navbar-fixed .nmc-title { display: block; margin-bottom: 4px; font-family: var(--font-head); font-size: 16px; text-transform: uppercase; letter-spacing: .05em; color: #151515; }
.rd-navbar-fixed .nmc-line { display: block; }
.rd-navbar-fixed .nmc-link { display: block; padding: 5px 0; font-size: 16px; font-weight: 700; color: #0a662d; }
.rd-navbar-fixed .nmc-link:hover { color: #f07d00; }

/* dialóg: obsah na stred */
.ui-dialog .ui-dialog-content { text-align: center !important; }
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { justify-content: center !important; }
@media (min-width: 992px) and (max-width: 1199px) {
  .rd-navbar-static .rd-navbar-nav > .rd-nav-item + .rd-nav-item { margin-left: 16px; }
  .rd-navbar-static .rd-navbar-nav > .rd-nav-item > .rd-nav-link { font-size: 14px; letter-spacing: .02em; }
}

/* šípka pri rozbaľovacích zoznamoch (shorthand background ju inde zrušil) */
#content select, .fgrid > select, .form-row select, .alternator select {
  -webkit-appearance: none; appearance: none; padding-right: 38px;
  background-color: #fff;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1.5l6 6 6-6' fill='none' stroke='%23151515' stroke-width='2'/></svg>");
  background-repeat: no-repeat; background-position: right 14px center; background-size: 14px 9px;
}

details.account > summary .account-ico { width: 24px; height: 24px; flex: none; }

/* povinné pole: hviezdička vedľa poľa, nie pod ním */
.form-row .form-column-2 { display: flex; align-items: flex-start; gap: 8px; font-weight: 700; color: #f07d00; line-height: 45px; }
.form-row .form-column-2 input[type=text], .form-row .form-column-2 textarea, .form-row .form-column-2 select { flex: 1 1 auto; width: auto; min-width: 0; line-height: normal; font-weight: 400; color: #151515; }
.form-row .form-column-2 input::placeholder, .form-row .form-column-2 textarea::placeholder { color: #8a8a8a; opacity: 1; }
.form-row .form-column-1 .req { color: #f07d00; font-weight: 700; }

/* ===== úvod: sivý pás s 4 kategóriami (2 vedľa seba) + podkategórie ===== */
.cats-grey { background: #46474a; color: #fff; }
.cats-grey h2 { color: #fff; text-align: center; text-transform: uppercase; margin-bottom: 36px; }
.cat-tiles.cat-tiles-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 980px; margin: 0 auto; gap: 24px; }
.cats-grey .category-tile { border: 1px solid rgba(255, 255, 255, .55); padding: 10px; background: transparent; }
.cats-grey .category-tile-title { background: transparent; padding: 14px 6px 6px; }
.cats-grey .category-tile-title a { color: #fff; }
.cats-grey .category-tile:hover { border-color: #f07d00; }
.cats-grey .category-tile:hover .category-tile-title { background: transparent; }
.cats-grey .category-tile:hover .category-tile-title a { color: #f07d00; }
@media (max-width: 991px) { .cat-tiles.cat-tiles-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .cats-grey .category-tile { padding: 6px; } .cats-grey .category-tile-title { font-size: 13px; padding: 10px 2px 4px; min-height: 0; } }

.sub-cats { padding-top: 34px; padding-bottom: 12px; }
.sub-cats-title { margin: 0 0 20px; text-transform: uppercase; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; }
.sub-cats-all { font-family: var(--font-body, inherit); font-size: 14px; text-transform: none; letter-spacing: 0; color: #0a662d; }
.sub-cats-all:hover { color: #f07d00; }
.sub-tiles { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 22px 18px; }
.sub-tile { display: flex; flex-direction: column; align-items: center; text-align: center; color: #151515; }
.sub-tile-img { display: block; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 8px; background: #f1f1f1; }
.sub-tile-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.sub-tile:hover .sub-tile-img img { transform: scale(1.04); }
.sub-tile-title { margin-top: 10px; font-weight: 700; font-size: 14px; line-height: 1.3; }
.sub-tile:hover .sub-tile-title { color: #f07d00; }
.sub-tile-text { justify-content: center; min-height: 64px; padding: 14px 10px; border: 1px solid #e1e1e1; border-radius: 8px; }
.sub-tile-text .sub-tile-title { margin: 0; }
.sub-tile-text:hover { border-color: #f07d00; }
@media (max-width: 1199px) { .sub-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 767px) { .sub-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; } }

/* ===== jemne zaoblené obrázky ===== */
.category-tile-figure, .category-tile-media, .category-button-media, .product-modern-figure, .product .product-figure, .product-figure,
.product img, .product-modern img, .pd-gallery img, #article-container img, .category-tile-figure img { border-radius: 8px; }
#article-container img, .pd-gallery img { max-width: 100%; height: auto; }
.cats-grey .category-tile-figure, .cats-grey .category-tile-media { border-radius: 6px; }

.nav-ext { display: inline-block; margin-left: 4px; font-size: .85em; font-weight: 700; line-height: 1; color: #f07d00; }
.rd-navbar-fixed .nav-ext { margin-left: 8px; }


/* menu: 6 položiek sa musí zmestiť do jedného riadka */
@media (min-width: 992px) {
  .rd-navbar-static .rd-navbar-nav { white-space: nowrap; }
  .rd-navbar-static .rd-nav-item + .rd-nav-item { margin-left: 18px; }
  .rd-navbar-static .rd-nav-link { font-size: 15px; letter-spacing: .02em; }
  .nav-ext { margin-left: 3px; }
}
@media (min-width: 992px) and (max-width: 1199px) { .rd-navbar-static .rd-nav-item + .rd-nav-item { margin-left: 11px; } .rd-navbar-static .rd-nav-link { font-size: 13px; letter-spacing: 0; } }

/* ===== úvod: karty zo šablóny (box-icon-creative) s obrázkom namiesto ikony ===== */
.box-icon-creative { border: 1px solid rgba(255, 255, 255, .7); color: #fff; height: 100%; transition: border-color .2s; }
.box-icon-creative:hover { border-color: #f07d00; }
.box-icon-creative-title a { color: #fff; }
.box-icon-creative-title a:hover { color: #f07d00; }
.box-icon-creative-img { display: block; width: 130px; height: 90px; object-fit: cover; border-radius: 8px; }
.sub-cats .box-icon-creative { padding: 12px; }
.sub-cats .box-icon-creative-img { width: 104px; height: 72px; }
.sub-cats .box-icon-creative-title { font-size: 16px; line-height: 1.25; margin: 0; }
.section-inset-1.bg-brown-2:not(.sub-cats) > .container > h2 { color: #fff; text-align: center; margin-bottom: 30px; }
@media (max-width: 767px) {
  .box-icon-creative-img { width: 100%; height: 100px; }
  .box-icon-creative .unit { flex-direction: column; text-align: center; }
  .sub-cats .box-icon-creative .unit { flex-direction: row; text-align: left; }
  .sub-cats .box-icon-creative-img { width: 72px; height: 54px; }
  .sub-cats .box-icon-creative-title { font-size: 14px; }
}
.sub-cats .sub-cats-title { text-align: center; text-transform: uppercase; margin-bottom: 28px; }
.sub-cats { padding-top: 40px; padding-bottom: 16px; }

/* ===== e-shop: ľavý panel kategórií (pevný, neskroluje sa s obsahom) ===== */
.shop-layout { display: flex; align-items: flex-start; gap: 36px; }
.shop-sidebar { flex: 0 0 230px; position: sticky; top: 90px; align-self: flex-start; background: #fff; border: 1px solid #e1e1e1; border-radius: 8px; padding: 18px 0 10px; }
.shop-side-title { margin: 0 0 8px; padding: 0 20px 10px; border-bottom: 1px solid #e1e1e1; font-size: 16px; text-transform: uppercase; letter-spacing: .06em; text-align: left; }
.shop-side-list { list-style: none; margin: 0; padding: 0; }
.shop-side-link { display: block; padding: 10px 20px; color: #151515; font-weight: 700; text-align: left; border-left: 3px solid transparent; }
.shop-side-link:hover { color: #f07d00; }
.shop-side-link.is-active { color: #0a662d; border-left-color: #f07d00; background: #f5f5f5; }
.shop-main { flex: 1 1 auto; min-width: 0; }
@media (max-width: 991px) {
  .shop-layout { flex-direction: column; gap: 18px; width: 100%; }
  .shop-sidebar { position: static; flex: none; width: 100%; padding: 10px 0; }
  .shop-side-title { display: none; }
  .shop-side-list { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 10px; }
  .shop-side-link { padding: 8px 14px; border: 1px solid #e1e1e1; border-radius: 6px; }
  .shop-side-link.is-active { border-color: #f07d00; }
}

/* ===== karty: zaoblená celá karta (obrázok aj tmavý pás s názvom), nie len obrázok ===== */
.category-tile { border-radius: 10px; overflow: hidden; }
.category-tile-figure, .category-tile-media, .category-tile-figure img { border-radius: 0; }
.category-tile-title { border-radius: 0; }
.product, .product-modern { border-radius: 10px; overflow: hidden; }
.product img, .product-modern img { border-radius: 0; }

/* ===== úvod: 4 hlavné kategórie v sivom páse – veľký obrázok hore, text pod ním ===== */
.section-inset-1.bg-brown-2 { padding-top: 56px; padding-bottom: 56px; }
.bg-brown-2 .box-icon-creative { padding: 14px; border-radius: 10px; background: rgba(255, 255, 255, .04); }
.bg-brown-2 .box-icon-creative .unit { display: flex; flex-direction: column !important; align-items: stretch !important; gap: 16px; text-align: center; }
.bg-brown-2 .box-icon-creative .unit-left, .bg-brown-2 .box-icon-creative .unit-left a { display: block; width: 100%; }
.bg-brown-2 .box-icon-creative-img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 6px; }
.bg-brown-2 .box-icon-creative-title { font-size: 22px; margin: 0 0 4px; }
.bg-brown-2 .box-icon-creative-text { margin: 0 0 6px; color: rgba(255, 255, 255, .7); }
@media (max-width: 767px) {
  .bg-brown-2 .box-icon-creative { padding: 8px; }
  .bg-brown-2 .box-icon-creative .unit { gap: 10px; }
  .bg-brown-2 .box-icon-creative-title { font-size: 15px; }
  .bg-brown-2 .box-icon-creative-text { display: none; }
}
.sub-cats .sub-cats-title { display: block; text-align: center; }
.bg-brown-2 .box-icon-creative-img { aspect-ratio: 2 / 1; }
.bg-brown-2 .box-icon-creative .unit-body { padding-bottom: 6px; }
.category-tile-text { background: #151515; }
.category-tile-text .category-tile-title { min-height: 74px; margin: 0; }
.category-tile-text:hover { background: #f07d00; }
@media (max-width: 991px) { .sub-cats .cat-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; } }
@media (max-width: 575px) { .sub-cats .cat-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .sub-cats .category-tile-title { font-size: 12px; padding: 8px 6px; min-height: 54px; } .category-tile-text .category-tile-title { min-height: 54px; } }

/* karty kategórií ako predtým: zaoblený je len obrázok zhora, tmavý pás s názvom ostáva rovný */
.category-tile { border-radius: 0; overflow: visible; }
.category-tile-media, .category-tile-figure, .category-tile-figure img { border-radius: 10px 10px 0 0; }
.category-tile-text { border-radius: 10px 10px 0 0; }
.category-tile-title { border-radius: 0; }
.shop-cats .category-tile, .cats-grey .category-tile { border-radius: 0; }

/* úvod: 4 hlavné kategórie = rovnaké karty ako podkategórie, len na sivom pozadí (2 vedľa seba) */
.cats-grey .category-tile { border: 0; padding: 0; background: transparent; }
.cats-grey .category-tile-title { background: #151515; padding: 14px 12px; }
.cats-grey .category-tile-title a { color: #fff; }
.cats-grey .category-tile:hover .category-tile-title { background: #f07d00; }
.cats-grey .category-tile:hover .category-tile-title a { color: #151515; }
.cats-grey .category-tile-figure { aspect-ratio: 2 / 1; }
.cats-grey h2 { color: #fff; text-align: center; }
/* posledný riadok kariet podkategórií vycentrovaný */
.sub-cats .cat-tiles { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px; }
.sub-cats .cat-tiles > .category-tile { flex: 0 0 calc(25% - 17px); max-width: calc(25% - 17px); }
@media (max-width: 991px) { .sub-cats .cat-tiles > .category-tile { flex-basis: calc(33.333% - 10px); max-width: calc(33.333% - 10px); gap: 14px; } .sub-cats .cat-tiles { gap: 14px; } }
@media (max-width: 575px) { .sub-cats .cat-tiles > .category-tile { flex-basis: calc(50% - 5px); max-width: calc(50% - 5px); } .sub-cats .cat-tiles { gap: 10px; } }

/* produktové karty: zaoblené len zhora (viac), nič sa neorezáva – tlačidlá pri hover vyčnievajú pod kartu */
.product, .product-modern { border-radius: 16px 16px 0 0; overflow: visible; }
.product .product-figure, .product-modern .product-figure, .product .product-figure img, .product-modern img { border-radius: 14px 14px 0 0; }
.category-tile-media, .category-tile-figure, .category-tile-figure img, .category-tile-text { border-radius: 14px 14px 0 0; }
.sub-tile-img { border-radius: 14px 14px 0 0; }
.product-button-wrap, .product:hover .product-button-wrap { border-radius: 16px 16px 0 0; }

/* zoznamový pohľad: všetky riadky rovnako široké a zarovnané, obrázok pevnej veľkosti, text vycentrovaný nad výškou */
.product-modern { width: 100%; margin: 0; animation: none !important; transform: none !important; }
.product-modern .unit { align-items: stretch; }
.product-modern .unit-left { width: 300px; flex: 0 0 300px; }
.product-modern .product-modern-figure { height: 100%; min-height: 220px; aspect-ratio: 300 / 220; }
.product-modern .unit-body { display: flex; align-items: center; }
.product-modern .product-modern-body { padding: 22px 28px; width: 100%; }
@media (max-width: 575px) { .product-modern .unit-left { width: 100%; flex: none; } .product-modern .product-modern-figure { aspect-ratio: 16 / 10; } }
.product-grid > [class*="col-"], .row.product-grid > [class*="col-"] { display: flex; }
.product-grid .product { width: 100%; }

/* hover produktu: podklad vyčnieva pod kartu o 60 px, preto medzi riadkami dostatok miesta (neprekrýva produkt pod ním) */
.product-grid { row-gap: 80px; }
.product-grid > [class*="col-"] { margin-top: 0; padding-bottom: 0; }
.product-grid > [class*="col-"] { padding-bottom: 36px; }

/* zaoblenie: karty kategórií väčšie a len zhora; produkt v zozname len zľava (strana s obrázkom) */
.category-tile-media, .category-tile-figure, .category-tile-figure img, .category-tile-text, .sub-tile-img { border-radius: 24px 24px 0 0; }
.product-modern { border-radius: 20px 0 0 20px; overflow: hidden; }
.product-modern .product-modern-figure, .product-modern .product-modern-figure img, .product-modern .unit-left, .product-modern img { border-radius: 20px 0 0 20px; }
@media (max-width: 575px) { .product-modern { border-radius: 20px 20px 0 0; } .product-modern .product-modern-figure, .product-modern .product-modern-figure img, .product-modern .unit-left, .product-modern img { border-radius: 20px 20px 0 0; } }
.cats-grey .category-tile-media, .cats-grey .category-tile-figure, .cats-grey .category-tile-figure img, .sub-cats .category-tile-media, .sub-cats .category-tile-figure, .sub-cats .category-tile-figure img { border-radius: 24px 24px 0 0; }

/* za zaoblenými obrázkami nesmie byť žiadne pozadie – rohy ostávajú priehľadné */
.category-tile, .category-tile-media, .category-tile-figure, .category-tile-text, .sub-tile-img { background: transparent !important; }
.category-tile-text { background: #151515 !important; }
.category-tile-text:hover { background: #f07d00 !important; }
.category-tile-media { overflow: hidden; }

/* zaoblenie menšie (jednotných 14 px) */
.category-tile-media, .category-tile-figure, .category-tile-figure img, .category-tile-text, .sub-tile-img,
.cats-grey .category-tile-media, .cats-grey .category-tile-figure, .cats-grey .category-tile-figure img,
.sub-cats .category-tile-media, .sub-cats .category-tile-figure, .sub-cats .category-tile-figure img { border-radius: 14px 14px 0 0; }
.product, .product-button-wrap, .product:hover .product-button-wrap { border-radius: 14px 14px 0 0; }
.product .product-figure, .product .product-figure img, .product img { border-radius: 12px 12px 0 0; }
.product-modern, .product-modern .product-modern-figure, .product-modern .product-modern-figure img, .product-modern .unit-left, .product-modern img { border-radius: 14px 0 0 14px; }
@media (max-width: 575px) { .product-modern, .product-modern .product-modern-figure, .product-modern .product-modern-figure img, .product-modern .unit-left, .product-modern img { border-radius: 14px 14px 0 0; } }

/* poznámka o odkazoch na špecializované e-shopy + šípka namiesto lupy na kartách úvodu */
.cats-note { margin: -14px 0 26px; text-align: center; font-size: 15px; color: #777; }
.cats-grey .cats-note { color: rgba(255, 255, 255, .7); margin-top: -18px; }
.sub-cats .cats-note { margin-top: -14px; }
.tile-arrow { font-family: Arial, sans-serif; font-size: 28px; line-height: 1; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.site-search-results .ssr-note { display: block; font-size: 12px; font-weight: 400; color: #777; margin-top: 2px; }
.site-search-results a { white-space: normal; }
.site-search-results .ssr-all button[type="submit"] { color: #0a662d !important; background: #f5f5f5; }
.site-search-results .ssr-all button[type="submit"]:hover { color: #151515 !important; background: #f07d00; }

/* zoznamový pohľad: malé medzery medzi produktmi (veľké medzery sú len pre hover v mriežke) */
.product-grid:has(.product-modern) { row-gap: 22px; }
.product-grid > .col-12 { padding-bottom: 0; margin-top: 0; }
.product-grid > .col-12 + .col-12 { margin-top: 0; }
.product-grid:has(.product-modern) > [class*="col-"] { margin-bottom: 0 !important; margin-top: 0 !important; }
.site-search-results a { display: flex; align-items: center; gap: 12px; }
.site-search-results .ssr-img { flex: 0 0 44px; width: 44px; height: 44px; object-fit: cover; border-radius: 6px; background: #f1f1f1; display: block; }
.site-search-results .ssr-text { min-width: 0; }
/* riadok produktov nesmie mať záporný horný okraj (inak prekrýva zoradenie a prepínač mriežka/zoznam) */
.row.product-grid { margin-top: 0 !important; }

/* banner slajd: stmavenie podľa zarovnania textu (text vpravo = tmavý prechod sprava, v strede = rovnomerne) */
.slider-cats .swiper-slide.slide-align-right::before { background: linear-gradient(270deg, rgba(0, 0, 0, .62) 0%, rgba(0, 0, 0, .3) 55%, rgba(0, 0, 0, .05) 100%); }
.slider-cats .swiper-slide.slide-align-center::before { background: rgba(0, 0, 0, .45); }
@media (min-width: 992px) { .slider-cats .slide-align-right .row-fix { justify-content: flex-end; } .slider-cats .slide-align-right .row-fix > div { margin-left: auto; } }
@media (max-width: 991px) { .slider-cats .swiper-slide::before { background: rgba(0, 0, 0, .5) !important; } }
/* text vpravo / v strede: tmavý panel za textom, aby bol čitateľný na každom obrázku bez ohľadu na to, kde je motív */
@media (min-width: 992px) {
  .slider-cats .slide-align-right .row-fix > div, .slider-cats .slide-align-center .row-fix > div { background: rgba(0, 0, 0, .55); padding: 28px 34px; border-radius: 14px; }
  .slider-cats .slide-align-right .row-fix > div { text-align: right; }
}

/* povinné súhlasy pri odoslaní objednávky */
.cart-consents { margin: 24px 0 8px; display: grid; gap: 12px; }
.cart-consents .consent-row { display: flex; align-items: flex-start; gap: 12px; margin: 0; cursor: pointer; font-size: 15px; line-height: 1.5; }
.cart-consents .consent-row input[type=checkbox] { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 2px; accent-color: #0a662d; }
.cart-consents .consent-row a { color: #0a662d; text-decoration: underline; }
.cart-consents .consent-row a:hover { color: #f07d00; }
.cart-consents input.invalid { outline: 2px solid #d33; outline-offset: 2px; }
.cart-consents { margin-top: 22px; }
.register_user { margin-top: 18px; }
.register_user .consent-row { display: flex; align-items: center; gap: 12px; margin: 0; cursor: pointer; font-size: 15px; }
.register_user .consent-row input[type=checkbox] { flex: 0 0 20px; width: 20px; height: 20px; accent-color: #0a662d; margin: 0; }
.cart-consent-note { margin: 22px 0 6px; font-size: 14px; color: #666; line-height: 1.5; }
.cart-consent-note a { color: #0a662d; text-decoration: underline; }
.cart-consent-note a:hover { color: #f07d00; }
.register_user .consent-row, .register_user .consent-row span { text-transform: none; letter-spacing: 0; font-family: inherit; }
.register_user .consent-row { font-size: 15px; font-weight: 600; color: #151515; }
.register_user .consent-row .opt { font-weight: 400; color: #8a8a8a; font-size: 13px; }
.cart-consents { margin-bottom: 0 !important; }
.cart-consents + .cart-actions { margin-top: 14px !important; padding-top: 0 !important; }
#step3 .cart-consents { column-span: all; break-inside: avoid; }

/* úvod: sivý pás bližšie k bannerom a kartám (menej vzduchu hore a medzi nadpisom a kartami) */
.cats-grey.section-xl { padding-top: 34px; padding-bottom: 44px; }
.cats-grey h2 { margin-bottom: 8px; }
.cats-grey .cats-note { margin: 0 0 22px; }
/* karty kategórií: zaoblený aj tmavý pás s názvom dole (celá karta zaoblená) */
.category-tile-title, .category-tile-text .category-tile-title { border-radius: 0 0 14px 14px; }
.category-tile-text { border-radius: 14px; }
.category-tile { overflow: hidden; border-radius: 14px; }
@media (max-width: 575px) { .cats-grey h2 { font-size: 26px; line-height: 1.2; } .cats-grey .cats-note { font-size: 14px; margin-bottom: 16px; } .cats-grey.section-xl { padding-top: 26px; padding-bottom: 32px; } }

/* produkty v mriežke: obrázok zaoblený zo všetkých strán, celá karta aj po hover zaoblená */
.product, .product-button-wrap, .product:hover .product-button-wrap { border-radius: 16px; }
.product .product-figure, .product .product-figure img, .product img { border-radius: 12px; }
