.textile-shop { max-width:1240px; margin:0 auto; padding:48px 24px; color:#242424; line-height:1.5; }
.textile-shop h1 { font-size:clamp(30px,5vw,44px); line-height:1.2; margin-bottom:14px; color:#B82649; }
.textile-lead { font-size:20px; margin-bottom:28px; }
.textile-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:16px; background:#fff; padding:24px; }
.textile-filters label { flex:1 1 240px; font-weight:600; }
.textile-filters input,.textile-filters select { box-sizing:border-box; display:block; width:100%; margin-top:8px; padding:12px; border:1px solid #ccc; background:#fff; color:#242424; font:inherit; font-weight:400; min-width:0; }
.textile-filters button,.textile-inquiry { background:#B82649; color:#fff; border:0; padding:13px 18px; font:inherit; text-decoration:none; cursor:pointer; }
.textile-filters a { color:#B82649; padding:12px 0; }
.textile-count { margin:24px 0 16px; }
.textile-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start; }
.textile-product { background:#fff; min-width:0; }
.textile-product>img,.textile-no-image { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; background:#fff; }
.textile-no-image { display:grid; place-items:center; color:#666; }
.textile-product-body { padding:20px; }
.textile-brand { color:#666; font-size:14px; margin-bottom:6px; }
.textile-product h2 { font-size:23px; line-height:1.3; margin-bottom:8px; overflow-wrap:anywhere; }
.textile-product summary { cursor:pointer; color:#B82649; font-weight:600; padding:16px 0; }
.textile-description { margin-bottom:12px; font-size:15px; }
.textile-variant { display:flex; flex-direction:column; padding:8px 0; border-top:1px solid #eee; font-size:14px; }
.textile-pdf { display:inline-block; color:#B82649; margin:12px 0; }
.textile-inquiry { display:block; text-align:center; margin-top:12px; }
.textile-pagination { display:flex; flex-wrap:wrap; gap:8px; margin-top:32px; }
.textile-pagination a { display:grid; place-items:center; min-width:40px; min-height:40px; color:#242424; background:#fff; text-decoration:none; }
.textile-pagination a[aria-current] { background:#B82649; color:#fff; }
.textile-shop a:focus-visible,.textile-shop button:focus-visible,.textile-shop summary:focus-visible { outline:2px solid #B82649; outline-offset:3px; }
@media(max-width:900px) { .textile-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } }
@media(max-width:540px) { .textile-shop { padding:32px 16px; } .textile-grid { grid-template-columns:1fr; } .textile-filters { padding:16px; } }
.textile-price { margin-top:16px; color:#B82649; font-size:24px; font-weight:700; }
.textile-price small { font-size:14px; font-weight:400; color:#444; }
.textile-price-note { margin-top:6px; font-size:13px; color:#666; }

.textile-image-link { display:block; background:#fff; }
.textile-image-link>img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.textile-product h2 a { color:inherit; text-decoration:none; }
.textile-product h2 a:hover { color:#B82649; }
.textile-color-count { margin-top:16px; color:#666; font-size:14px; }
.textile-product { transition:box-shadow 180ms ease; }
.textile-product:hover { box-shadow:0 8px 28px #00000012; }
.textile-back { display:inline-block; color:#B82649; margin-bottom:28px; text-decoration:none; }
.textile-detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
.textile-gallery { min-width:0; }
.textile-main-photo { display:block; background:#fff; }
.textile-main-photo img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.textile-thumbnails { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.textile-thumbnails a { border:2px solid transparent; background:#fff; }
.textile-thumbnails img { display:block; width:72px; height:72px; object-fit:contain; }
.textile-thumbnails a[aria-current] { border-color:#B82649; }
.textile-options { background:#fff; padding:28px; min-width:0; }
.textile-field-heading { font-size:17px; margin:24px 0 12px; }
.textile-field-heading span { display:block; color:#666; font-size:14px; font-weight:400; margin-top:4px; }
.textile-swatches,.textile-size-buttons { display:flex; flex-wrap:wrap; gap:8px; }
.textile-swatches a { display:grid; place-items:center; min-width:38px; min-height:38px; padding:3px; border:2px solid #ddd; border-radius:50%; color:#242424; text-decoration:none; }
.textile-swatches img { border-radius:50%; display:block; }
.textile-swatches span { padding:4px; font-size:12px; }
.textile-swatches a[aria-current],.textile-size-buttons a[aria-current] { border-color:#B82649; outline:1px solid #B82649; }
.textile-size-buttons a { padding:9px 12px; min-width:24px; border:1px solid #ccc; text-align:center; color:#242424; text-decoration:none; }
.textile-size-buttons a[aria-current] { background:#B82649; color:#fff; }
.textile-quantity { margin-top:24px; }
.textile-quantity label { display:block; font-size:17px; font-weight:700; margin-bottom:12px; }
.textile-quantity>div { display:flex; flex-wrap:wrap; gap:10px; }
.textile-quantity input[type=number] { width:84px; padding:12px; border:1px solid #ccc; font:inherit; }
.textile-quantity button { padding:12px 18px; border:1px solid #B82649; background:#fff; color:#B82649; font:inherit; cursor:pointer; }
.textile-price-box { margin-top:24px; padding:18px; background:#f2f2f4; }
.textile-price-box .textile-price { margin:0 0 8px; }
.textile-specification { margin-top:32px; padding:28px; background:#fff; }
.textile-specification h2 { font-size:24px; margin-bottom:16px; }
.textile-specification p { margin-bottom:14px; }
@media(max-width:900px) { .textile-detail { grid-template-columns:1fr; gap:24px; } .textile-gallery { max-width:600px; width:100%; margin:auto; } }
@media(max-width:540px) { .textile-options,.textile-specification { padding:20px; } }
@media(prefers-reduced-motion:reduce) { .textile-product { transition:none; } }
.textile-size-buttons a { display:flex; flex-direction:column; justify-content:center; min-width:54px; }
.textile-size-buttons small { font-size:11px; font-weight:400; margin-top:3px; }
.textile-stock { margin-top:22px; padding:16px; border-left:3px solid #B82649; background:#f2f2f4; font-size:15px; }
.textile-stock strong,.textile-stock span { display:block; }
.textile-stock span { margin-top:6px; font-size:12px; color:#555; }
.textile-stock p { margin-top:8px; }
.textile-stock.is-available { border-color:#277044; }
.textile-stock.is-available strong { color:#277044; }
.textile-stock.is-empty strong { color:#B82649; }
.textile-card-stock { margin-top:12px; font-size:13px; color:#555; }
.textile-inquiry[aria-disabled=true] { opacity:.5; }

/* Ucelený detail Hi Reklama: výber produktu, dopyt a návrh potlače. */
.textile-topbar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px; margin-bottom:28px; }
.textile-topbar a { color:#242424; text-decoration:none; }
.textile-topbar .textile-basket-link { border:1px solid #ddd; padding:10px 16px; background:#fff; }
.textile-basket-link span { display:inline-grid; place-items:center; min-width:24px; height:24px; margin-left:8px; background:#B82649; color:#fff; border-radius:50%; }
.textile-product-page .textile-detail { gap:36px; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); }
.textile-product-page .textile-options { padding:28px; }
.textile-product-page .textile-gallery { position:sticky; top:20px; }
.textile-product-page h1 { margin:8px 0; }
.textile-subtitle { font-size:20px; margin-bottom:16px; }
.textile-product-meta { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:13px; color:#666; padding-bottom:16px; border-bottom:1px solid #eee; }
.textile-product-meta a { color:#B82649; }
.textile-product-page .textile-field-heading { display:flex; gap:12px; align-items:baseline; margin:20px 0 10px; font-size:16px; }
.textile-product-page .textile-field-heading span { display:inline; margin:0; }
.textile-product-page .textile-swatches { gap:6px; }
.textile-product-page .textile-swatches a { min-width:30px; min-height:30px; padding:2px; }
.textile-product-page .textile-swatches img { width:28px; height:28px; }
.textile-product-page .textile-size-buttons { gap:6px; }
.textile-product-page .textile-size-buttons a { display:block; min-width:24px; padding:8px 10px; font-size:14px; }
.textile-product-page .textile-stock { margin:16px 0 0; padding:12px 14px; font-size:14px; }
.textile-product-page .textile-stock span { font-size:11px; }
.textile-product-page .textile-quantity { margin-top:18px; }
.textile-product-page .textile-quantity label { margin-bottom:8px; font-size:16px; }
.textile-stepper { display:flex; width:fit-content; border:1px solid #ccc; }
.textile-stepper button { width:44px; border:0; padding:8px; color:#242424; background:#f5f5f5; font-size:22px; }
.textile-stepper input[type=number] { box-sizing:border-box; width:76px; border:0; padding:10px; text-align:center; appearance:textfield; -moz-appearance:textfield; }
.textile-stepper input::-webkit-inner-spin-button,.textile-stepper input::-webkit-outer-spin-button { appearance:none; margin:0; }
.textile-product-page .textile-price-box { margin-top:18px; padding:16px; }
.textile-product-page .textile-price { font-size:29px; margin-bottom:2px; }
.textile-net { font-size:15px; color:#555; }
.textile-total { margin-top:10px; font-size:14px; }
.textile-add-basket .textile-inquiry { width:100%; box-sizing:border-box; margin:16px 0 10px; font-weight:600; }
.textile-inquiry:disabled { opacity:.5; cursor:not-allowed; }
.textile-configure { display:block; padding:14px; border:1px solid #B82649; color:#B82649; text-align:center; text-decoration:none; font-weight:600; background:#fff; }
.textile-configure:hover { background:#B82649; color:#fff; }
.textile-editor-note { font-size:12px; line-height:1.5; color:#666; margin:8px 0 12px; }
.textile-attributes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; margin-top:24px; }
.textile-attributes>div { display:grid; grid-template-columns:1fr 1fr; gap:16px; border-top:1px solid #eee; padding:12px 0; font-size:14px; }
.textile-attributes dt { color:#666; }
.textile-attributes dd { margin:0; }
@media(max-width:900px) { .textile-product-page .textile-detail { grid-template-columns:1fr; } .textile-product-page .textile-gallery { position:static; } }
@media(max-width:540px) { .textile-product-page .textile-options { padding:20px; } .textile-attributes { grid-template-columns:1fr; } }
.textile-cart-notice { padding:16px 20px; border-left:3px solid #277044; background:#fff; margin-bottom:24px; }
.textile-empty-cart,.textile-cart-summary { padding:28px; background:#fff; }
.textile-cart-items { display:grid; gap:12px; margin-bottom:20px; }
.textile-cart-item { display:grid; grid-template-columns:100px minmax(0,1fr) 100px 180px; gap:24px; align-items:center; background:#fff; padding:20px; }
.textile-cart-image img { display:block; width:100px; height:100px; object-fit:contain; }
.textile-cart-item h2 { font-size:20px; margin-bottom:6px; }
.textile-cart-item label { font-size:13px; }
.textile-cart-item input { display:block; box-sizing:border-box; width:100%; margin-top:6px; padding:10px; border:1px solid #ccc; font:inherit; }
.textile-cart-line-price { text-align:right; font-weight:600; }
.textile-cart-line-price button,.textile-clear-cart button { display:block; margin-top:8px; border:0; padding:8px 0; background:none; color:#B82649; font:inherit; cursor:pointer; }
.textile-cart-line-price button { margin-left:auto; font-size:13px; font-weight:400; }
.textile-cart-summary { margin:28px 0 16px; max-width:580px; margin-left:auto; }
.textile-cart-summary h2 { font-size:22px; }
.textile-cart-summary details { margin-top:20px; }
.textile-cart-summary summary { cursor:pointer; font-size:14px; }
.textile-cart-summary textarea { box-sizing:border-box; width:100%; margin-top:12px; padding:12px; border:1px solid #ddd; font:inherit; font-size:14px; }
.textile-clear-cart { display:flex; justify-content:flex-end; }
@media(max-width:700px) { .textile-cart-item { grid-template-columns:72px minmax(0,1fr); gap:14px; padding:16px; } .textile-cart-image img { width:72px; height:72px; } .textile-cart-line-price { text-align:left; } .textile-cart-line-price button { margin-left:0; } }
/* Samostatný panel filtrov a prehľadný katalóg textilu. */
.textile-catalog-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:28px; align-items:start; }
.textile-filter-sidebar { min-width:0; }
.textile-filter-drawer { background:#fff; }
.textile-filter-drawer>summary { padding:18px 20px; font-size:20px; font-weight:700; cursor:pointer; border-bottom:1px solid #eee; }
.textile-facet-form { padding:0 20px 20px; }
.textile-search-label { display:block; font-size:14px; font-weight:600; padding:18px 0; }
.textile-search-label input { box-sizing:border-box; display:block; width:100%; margin-top:8px; padding:10px; font:inherit; font-weight:400; border:1px solid #ccc; min-width:0; }
.textile-facet { padding:14px 0; border-top:1px solid #eee; }
.textile-facet>summary { font-size:15px; font-weight:600; cursor:pointer; }
.textile-facet-options { margin-top:12px; display:grid; gap:10px; max-height:220px; overflow:auto; padding-right:4px; }
.textile-facet-options label { display:flex; align-items:center; gap:8px; font-size:14px; cursor:pointer; min-width:0; }
.textile-facet-options input { flex:0 0 auto; accent-color:#B82649; width:16px; height:16px; margin:0; }
.textile-facet-options span { overflow-wrap:anywhere; }
.textile-facet-options img { border:1px solid #ddd; border-radius:50%; object-fit:cover; flex:0 0 20px; }
.textile-price-filter { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
.textile-price-filter label { font-size:12px; }
.textile-price-filter input { box-sizing:border-box; width:100%; min-width:0; margin-top:6px; padding:9px; font:inherit; border:1px solid #ccc; }
.textile-filter-actions { display:grid; gap:12px; margin-top:16px; text-align:center; }
.textile-filter-actions button { border:0; background:#B82649; color:#fff; padding:13px; font:inherit; font-weight:600; cursor:pointer; }
.textile-filter-actions a { color:#B82649; font-size:14px; }
.textile-catalog-results { min-width:0; }
.textile-results-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin-bottom:20px; min-height:44px; }
.textile-results-toolbar label { display:flex; align-items:center; gap:10px; font-size:13px; }
.textile-results-toolbar select { font:inherit; padding:10px; border:1px solid #ccc; background:#fff; color:#242424; max-width:100%; }
.textile-active-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.textile-active-filters span { padding:6px 10px; border:1px solid #ead6dd; background:#fff; color:#8e1d3a; font-size:12px; }
.textile-catalog-page .textile-grid { gap:20px; }
.textile-catalog-page .textile-product { height:100%; display:flex; flex-direction:column; }
.textile-catalog-page .textile-product-body { padding:18px; display:flex; flex-direction:column; flex:1; }
.textile-catalog-page .textile-product h2 { font-size:22px; }
.textile-card-subtitle { font-size:14px; color:#555; min-height:21px; }
.textile-card-swatches { display:flex; align-items:center; flex-wrap:wrap; gap:5px; margin-top:14px; min-height:24px; }
.textile-card-swatches a { display:block; line-height:0; border-radius:50%; border:1px solid #ddd; }
.textile-card-swatches img { border-radius:50%; }
.textile-card-swatches span { font-size:12px; color:#666; }
.textile-catalog-page .textile-price { font-size:23px; margin-top:14px; }
.textile-card-net { font-size:12px; color:#666; }
.textile-catalog-page .textile-card-stock { font-size:12px; margin:10px 0 16px; }
.textile-catalog-page .textile-inquiry { margin-top:auto; font-size:14px; }
.textile-empty-results { padding:32px; background:#fff; }
.textile-empty-results h2 { font-size:23px; margin-bottom:12px; }
.textile-empty-results a { display:inline-block; margin-top:16px; color:#B82649; }
@media(max-width:1100px) and (min-width:901px) { .textile-catalog-page .textile-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:900px) { .textile-catalog-layout { grid-template-columns:1fr; gap:20px; } .textile-filter-drawer>summary { font-size:17px; } .textile-facet-options { max-height:190px; } .textile-results-toolbar label { flex-wrap:wrap; } }
@media(max-width:540px) { .textile-catalog-page .textile-topbar h1 { font-size:29px; } .textile-results-toolbar { align-items:flex-start; } .textile-results-toolbar label { width:100%; justify-content:space-between; } .textile-catalog-page .textile-grid { gap:16px; } }
.textile-catalog-page { max-width:1560px; }
@media(min-width:1200px) { .textile-catalog-page .textile-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(min-width:1101px) and (max-width:1199px) { .textile-catalog-page .textile-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.textile-catalog-results[aria-busy=true] .textile-grid { opacity:.55; }
/* Skupiny a farebné varianty podľa originálneho katalógu MALFINI. */
.textile-group-heading { grid-column:1 / -1; margin:8px 0 0; padding:14px 0; border-bottom:2px solid #B82649; font-size:22px; text-transform:uppercase; }
.textile-catalog-page .textile-product-body { text-align:center; }
.textile-catalog-page .textile-product h2 { text-transform:uppercase; font-size:18px; line-height:1.35; }
.textile-card-code { color:#666; font-weight:400; }
.textile-catalog-page .textile-brand { display:none; }
.textile-catalog-page .textile-card-swatches { justify-content:center; gap:3px; }
.textile-catalog-page .textile-card-swatches a,.textile-catalog-page .textile-card-swatches img { border-radius:0; }
.textile-catalog-page .textile-card-swatches img { width:19px; height:19px; }
.textile-catalog-page .textile-price { font-size:20px; }
.textile-catalog-page .textile-inquiry { background:transparent; border-top:1px solid #eee; color:#B82649; padding:12px 0 0; font-weight:600; }
/* Kompaktný prehľad: osem produktov, hlavná cena bez DPH. */
.textile-catalog-page { box-sizing:border-box; width:100%; max-width:1920px; }
.textile-catalog-page .textile-grid { gap:14px; }
.textile-catalog-page .textile-product-body { padding:12px 8px 16px; }
.textile-catalog-page .textile-product h2 { font-size:14px; }
.textile-catalog-page .textile-card-subtitle { font-size:12px; }
.textile-catalog-page .textile-card-swatches { gap:2px; margin-top:10px; }
.textile-catalog-page .textile-card-swatches img { width:14px; height:14px; }
.textile-catalog-page .textile-price { font-size:18px; margin-top:12px; font-weight:700; }
.textile-catalog-page .textile-price small { font-size:10px; font-weight:400; }
.textile-card-gross { margin-top:4px; color:#666; font-size:11px; font-weight:400; }
@media(min-width:1200px) { .textile-catalog-page .textile-grid { grid-template-columns:repeat(8,minmax(0,1fr)); } }
@media(min-width:901px) and (max-width:1199px) { .textile-catalog-page .textile-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(min-width:541px) and (max-width:900px) { .textile-catalog-page .textile-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:540px) { .textile-catalog-page .textile-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } }
/* Širší panel s otvorenými filtrami a mriežkou farebných vzoriek. */
.textile-catalog-layout { grid-template-columns:320px minmax(0,1fr); }
.textile-facet-form .textile-facet-options:not(.textile-color-options) { max-height:none; overflow:visible; }
.textile-facet>summary { font-size:18px; }
.textile-facet-options label:has(input[name="category[]"]:checked) { color:#B82649; font-weight:700; background:#faf0f3; padding:8px; margin-left:-8px; }
.textile-color-names-toggle { display:block; padding:0; margin:12px 0 10px; border:0; background:none; color:#444; text-decoration:underline; font:inherit; font-size:14px; cursor:pointer; text-align:left; }
.textile-facet-options.textile-color-options { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:2px; max-height:none; overflow:visible; padding:0; margin-top:0; }
.textile-color-options label { display:block; position:relative; aspect-ratio:1; min-width:0; }
.textile-color-options input { position:absolute; width:1px; height:1px; opacity:0; margin:0; }
.textile-color-options label>img { display:block; box-sizing:border-box; width:100%; height:100%; border:1px solid #ddd; border-radius:0; object-fit:cover; }
.textile-color-options label>span { display:none; }
.textile-color-options label:has(input:checked) { outline:3px solid #B82649; outline-offset:-3px; z-index:1; }
.textile-color-options label:has(input:focus-visible) { outline:3px solid #242424; outline-offset:1px; z-index:2; }
.textile-color-options.show-color-names { grid-template-columns:1fr; gap:8px; }
.textile-color-options.show-color-names label { display:flex; align-items:center; gap:10px; aspect-ratio:auto; min-height:28px; }
.textile-color-options.show-color-names label>img { width:26px; height:26px; flex-basis:26px; }
.textile-color-options.show-color-names label>span { display:block; font-size:13px; }
.textile-active-filters .textile-current-category { padding:10px 16px; background:#B82649; border-color:#B82649; color:#fff; font-size:20px; font-weight:700; line-height:1.4; }
@media(max-width:900px) { .textile-catalog-layout { grid-template-columns:1fr; } .textile-facet-options.textile-color-options { grid-template-columns:repeat(12,minmax(0,1fr)); } .textile-color-options.show-color-names { grid-template-columns:1fr; } }
@media(max-width:540px) { .textile-facet-options.textile-color-options { grid-template-columns:repeat(10,minmax(0,1fr)); } .textile-color-options.show-color-names { grid-template-columns:1fr; } }
.textile-facet-options.textile-size-options { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; padding:2px; }
.textile-size-options label { position:relative; display:flex; justify-content:center; align-items:center; box-sizing:border-box; min-height:38px; padding:5px 3px; border:1px solid #d5d5d5; background:#fff; text-align:center; line-height:1.2; }
.textile-size-options input { position:absolute; opacity:0; width:1px; height:1px; margin:0; }
.textile-size-options label>span { font-size:12px; overflow-wrap:anywhere; }
.textile-size-options label:has(input:checked) { color:#fff; background:#B82649; border-color:#B82649; font-weight:700; }
.textile-size-options label:has(input:focus-visible) { outline:2px solid #242424; outline-offset:2px; }
.textile-size-options label:hover { border-color:#B82649; }
/* Ceny sú zarovnané na spodný okraj kariet v každom riadku. */
.textile-catalog-page .textile-grid { align-items:stretch; }
.textile-catalog-page .textile-product-body { flex:1; }
.textile-catalog-page .textile-product-body>.textile-price { margin-top:auto; padding-top:14px; }
.textile-catalog-page .textile-product-body>.textile-price-note:last-child { margin-top:auto; padding-top:14px; }
.textile-catalog-page .textile-card-gross { line-height:1.5; }
/* Základné údaje pri obrázku a dokumenty priamo pod ním. */
.textile-media { min-width:0; }
.textile-product-page .textile-gallery { position:static; }
.textile-document-buttons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:20px; }
.textile-document-buttons a,.textile-document-buttons button { display:flex; align-items:center; justify-content:center; gap:10px; box-sizing:border-box; padding:16px 12px; border:1px solid #d6d6d6; border-radius:6px; background:#fff; color:#242424; font:inherit; font-size:14px; line-height:1.4; text-align:center; text-decoration:none; cursor:pointer; }
.textile-document-buttons svg { flex:0 0 20px; color:#B82649; }
.textile-document-buttons a:hover,.textile-document-buttons button:hover { border-color:#B82649; color:#B82649; }
.textile-product-overview { padding:20px 0; border-bottom:1px solid #eee; }
.textile-available-sizes { font-size:14px; color:#555; margin-bottom:12px; }
.textile-material-summary { font-size:14px; line-height:1.6; margin-bottom:14px; }
.textile-product-overview .textile-features { display:block; list-style:disc; padding-left:20px; margin:0 0 18px; color:#242424; }
.textile-product-overview .textile-features li { display:list-item; margin:0 0 8px; font-size:14px; line-height:1.5; }
.textile-quick-attributes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:16px 0; }
.textile-quick-attributes>div { padding:12px; background:#f2f2f4; }
.textile-quick-attributes dt { font-size:11px; color:#666; margin-bottom:5px; }
.textile-quick-attributes dd { margin:0; font-size:15px; font-weight:600; }
.textile-product-overview .textile-attributes { grid-template-columns:1fr; margin-top:14px; }
.textile-product-overview .textile-attributes>div { grid-template-columns:120px minmax(0,1fr); padding:9px 0; font-size:13px; }
.textile-care-details { font-size:13px; margin-top:12px; }
.textile-care-details summary { cursor:pointer; color:#B82649; }
.textile-care-text { margin-top:10px; line-height:1.6; }
.textile-model-links { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }
.textile-model-links a { padding:9px 16px; border:1px solid #ccc; border-radius:20px; background:#fff; color:#242424; text-decoration:none; font-size:13px; font-weight:700; text-transform:uppercase; }
.textile-model-links a[aria-current] { background:#B82649; color:#fff; border-color:#B82649; }
.textile-model-links a:hover { border-color:#B82649; }
.textile-package-dialog { box-sizing:border-box; border:0; border-radius:8px; padding:28px; width:min(560px,calc(100% - 32px)); max-height:85vh; overflow:auto; color:#242424; }
.textile-package-dialog::backdrop { background:#0008; }
.textile-package-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.textile-package-heading h2 { font-size:24px; }
.textile-package-close { border:0; background:transparent; font:inherit; font-size:30px; cursor:pointer; padding:4px 8px; }
.textile-package-variant { font-size:14px; margin:14px 0 20px; }
.textile-package-rows>div { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:10px 0; border-top:1px solid #eee; font-size:14px; }
.textile-package-rows dd { margin:0; text-align:right; }
@media(max-width:900px) { .textile-media { max-width:600px; margin:auto; width:100%; } }
@media(max-width:400px) { .textile-document-buttons { gap:8px; } .textile-document-buttons a,.textile-document-buttons button { padding:12px 8px; font-size:12px; } }
/* Rýchly výber: fotografia | sklad a variant | množstvo a cena. */
.textile-product-page { box-sizing:border-box; width:100%; max-width:1560px; padding-top:24px; }
.textile-product-page .textile-topbar { margin-bottom:20px; }
.textile-product-page .textile-detail { grid-template-columns:minmax(260px,1fr) minmax(340px,1.15fr) minmax(240px,.72fr); gap:22px; }
.textile-product-page .textile-options { padding:20px; }
.textile-product-page h1 { font-size:32px; line-height:1.2; margin:6px 0 8px; }
.textile-title-code { font-size:.8em; color:#777; font-weight:400; white-space:nowrap; }
.textile-product-page .textile-subtitle { font-size:17px; margin-bottom:14px; }
.textile-product-page .textile-stock { margin:0 0 14px; padding:10px 12px; }
.textile-product-page .textile-stock span { font-size:10px; }
.textile-essential-facts { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:14px; margin-bottom:18px; padding-bottom:14px; border-bottom:1px solid #eee; }
.textile-essential-facts dt { color:#666; font-size:12px; margin-bottom:4px; }
.textile-essential-facts dd { margin:0; font-size:15px; font-weight:600; line-height:1.4; }
.textile-product-page .textile-field-heading { margin:14px 0 8px; }
.textile-product-page .textile-swatches { gap:5px; }
.textile-product-page .textile-swatches a { min-width:26px; min-height:26px; padding:2px; }
.textile-product-page .textile-swatches img { width:24px; height:24px; }
.textile-product-page .textile-size-buttons a { padding:8px; }
.textile-product-page .textile-model-links { margin:18px 0 0; gap:7px; }
.textile-model-links a { padding:7px 12px; font-size:12px; }
.textile-buy-panel { background:#fff; padding:20px; min-width:0; }
.textile-buy-panel>.textile-minimum { font-size:12px; color:#666; margin-bottom:12px; }
.textile-buy-panel .textile-quantity { margin-top:0; }
.textile-buy-panel .textile-quantity label { font-size:16px; }
.textile-buy-panel .textile-price-box { padding:14px 10px; }
.textile-buy-panel .textile-price { font-size:26px; }
.textile-buy-panel .textile-price small { font-size:12px; }
.textile-buy-panel .textile-configure { padding:12px 8px; font-size:14px; }
.textile-buy-panel .textile-inquiry { padding:13px 8px; font-size:14px; }
.textile-buy-panel .textile-price-note { font-size:11px; }
.textile-product-page .textile-thumbnails { gap:7px; margin-top:10px; }
.textile-product-page .textile-thumbnails img { width:52px; height:52px; }
.textile-product-page .textile-document-buttons { gap:8px; margin-top:12px; }
.textile-document-buttons a,.textile-document-buttons button { padding:12px 8px; font-size:12px; }
.textile-more-details { margin-top:24px; background:#fff; padding:18px 22px; }
.textile-more-details>summary { font-size:16px; font-weight:600; cursor:pointer; }
.textile-more-details .textile-product-overview { border:0; padding-bottom:0; }
@media(min-width:701px) and (max-width:1199px) {
 .textile-product-page .textile-detail { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); }
 .textile-buy-panel { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; align-items:start; }
 .textile-buy-panel>.textile-minimum { grid-column:1; }
 .textile-buy-panel .textile-quantity { grid-column:1; }
 .textile-buy-panel .textile-price-box { grid-column:1; margin-top:0; }
 .textile-buy-panel .textile-add-basket { grid-column:2; grid-row:1 / 3; }
 .textile-buy-panel .textile-configure { grid-column:2; grid-row:3; }
 .textile-buy-panel>.textile-price-note { grid-column:2; }
}
@media(max-width:700px) {
 .textile-product-page .textile-detail { grid-template-columns:1fr; gap:16px; }
 .textile-product-page .textile-main-photo img { height:270px; aspect-ratio:auto; object-fit:contain; }
 .textile-product-page .textile-media { max-width:100%; }
 .textile-product-page .textile-options,.textile-buy-panel { padding:18px; }
 .textile-essential-facts { grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); }
}
@media(min-width:1200px) {
    .textile-product-page .textile-detail { align-items:stretch; }
    .textile-product-page .textile-options,
    .textile-product-page .textile-buy-panel { align-self:stretch; }
}.textile-inquiry-form{display:grid;gap:14px;max-width:620px;text-align:left;margin:24px 0}.textile-inquiry-form label{display:grid;gap:6px;font-weight:600}.textile-inquiry-form input,.textile-inquiry-form textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #ccc;font:inherit}.textile-received{padding:24px;background:#fff;border-bottom:2px solid #B82649;margin:20px 0;overflow-wrap:anywhere}

/* Výber modelu pri názve, množstvo za farbou a veľkosťou. */
.textile-product-page .textile-model-links { margin:10px 0 12px; }
.textile-options>.textile-minimum { margin:20px 0 6px; color:#666; font-size:12px; }
.textile-options .textile-quantity { margin-top:0; padding-top:8px; border-top:1px solid #eee; }
.textile-price-tiers { width:100%; border-collapse:collapse; margin:14px 0 20px; font-size:13px; }
.textile-price-tiers caption { text-align:left; font-weight:700; margin-bottom:10px; }
.textile-price-tiers th,.textile-price-tiers td { padding:11px 6px; border-bottom:1px solid #e8e8e8; text-align:right; }
.textile-price-tiers th:first-child { text-align:left; }
.textile-price-tiers thead th { font-size:11px; color:#666; font-weight:400; }
.textile-price-tiers button { border:0; padding:0; background:transparent; color:inherit; font:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.textile-price-tiers .is-active { background:#f9edf0; color:#B82649; font-weight:700; }
.textile-price-tiers td:last-child { white-space:nowrap; }
@media(min-width:701px) and (max-width:1199px) {
 .textile-buy-panel { display:block; }
}
/* Náhľady využijú voľnú výšku; dokumenty lícujú so spodkom panelov. */
@media(min-width:1200px) {
 .textile-product-page .textile-media { display:flex; flex-direction:column; align-self:stretch; }
 .textile-product-page .textile-gallery { display:flex; flex-direction:column; flex:1; min-height:0; }
 .textile-product-page .textile-main-photo { flex:0 0 auto; }
 .textile-product-page .textile-thumbnails { display:grid; grid-template-columns:repeat(auto-fit,minmax(58px,1fr)); flex:1; align-content:stretch; }
 .textile-product-page .textile-thumbnails a { position:relative; min-height:72px; min-width:0; }
 .textile-product-page .textile-thumbnails img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
 .textile-product-page .textile-document-buttons { flex:0 0 auto; }
}
/* Zoznam produktov začína pri hornej hrane filtrov; ovládanie je nad ním. */
@media(min-width:901px) {
 .textile-catalog-page .textile-catalog-results { position:relative; }
 .textile-catalog-page .textile-results-toolbar { position:absolute; right:0; bottom:100%; margin-bottom:20px; justify-content:flex-end; gap:24px; }
 .textile-catalog-page .textile-grid>.textile-group-heading:first-child { margin-top:0; }
 .textile-catalog-page .textile-lead { padding-right:360px; min-height:44px; box-sizing:border-box; }
}
/* Krátky návod k vlastnému merchu. */
.textile-merch-intro { margin-bottom:82px; }
.textile-merch-intro .textile-topbar { align-items:flex-start; margin-bottom:30px; }
.textile-merch-eyebrow { margin:0 0 10px; color:#666; font-size:12px; font-weight:700; letter-spacing:.12em; }
.textile-catalog-page .textile-merch-intro h1 { margin:0; color:#B82649; font-size:clamp(28px,2.6vw,46px); font-weight:900; line-height:1.12; letter-spacing:-.025em; }
.textile-merch-intro .textile-basket-link { flex-shrink:0; }
.textile-merch-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; padding:0; margin:0; list-style:none; }
.textile-merch-steps li { display:flex; align-items:center; gap:14px; min-width:0; }
.textile-merch-icon { display:grid; place-items:center; flex:0 0 58px; height:58px; border:1px solid #e7d7dd; border-radius:14px; background:#fff; color:#B82649; }
.textile-merch-icon svg { width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.textile-merch-number { display:block; margin-bottom:4px; color:#B82649; font-size:12px; font-weight:700; letter-spacing:.08em; }
.textile-merch-steps strong { display:block; font-size:16px; line-height:1.35; font-weight:700; }
@media(max-width:1100px) {
 .textile-merch-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 28px; }
}
@media(max-width:900px) {
 .textile-merch-intro { margin-bottom:28px; }
}
@media(max-width:540px) {
 .textile-merch-intro .textile-topbar { gap:20px; margin-bottom:24px; }
 .textile-merch-steps { gap:20px 14px; }
 .textile-merch-steps li { align-items:flex-start; flex-direction:column; gap:10px; }
 .textile-merch-icon { flex-basis:auto; width:46px; height:46px; border-radius:10px; }
 .textile-merch-icon svg { width:27px; height:27px; }
 .textile-merch-steps strong { font-size:14px; }
}
/* Merch štúdio: výrazná obálka a krátka animácia vlastnej potlače. */
.textile-merch-intro { position:relative; padding:32px; border-radius:22px; color:#fff; background:radial-gradient(ellipse at 73% 10%,#753044 0,transparent 46%),#242127; box-shadow:0 12px 30px #2421270b; }
.textile-merch-intro .textile-topbar { display:grid; grid-template-columns:minmax(0,1fr) 260px auto; align-items:center; gap:24px; margin-bottom:28px; }
.textile-merch-eyebrow { color:#e6c2cc; }
.textile-catalog-page .textile-merch-intro h1 { color:#fff; font-size:clamp(28px,2.7vw,46px); max-width:780px; }
.textile-merch-intro h1 span { color:#B82649; }
.textile-merch-intro .textile-basket-link { align-self:start; border:1px solid #ffffff45; border-radius:24px; background:#ffffff0c; color:#fff; font-size:12px; white-space:nowrap; }
.textile-merch-intro .textile-basket-link:hover { background:#B82649; border-color:#B82649; }
.textile-merch-art { position:relative; height:225px; }
.textile-merch-shirt { display:block; width:100%; height:100%; transform:rotate(-9deg); animation:merch-shirt-in 1s ease-out both; }
.textile-merch-print { transform-origin:151px 130px; animation:merch-print-in 1.5s .5s ease-out both; }
.textile-merch-sticker { position:absolute; right:-3px; top:0; z-index:1; padding:12px; background:#e1f58a; color:#252128; font-size:12px; font-weight:900; line-height:1.2; transform:rotate(9deg); border-radius:8px; animation:merch-pop .8s .8s both; }
.textile-merch-tag { position:absolute; left:12px; bottom:-3px; padding:9px 14px; border-radius:20px; background:#B82649; color:#fff; font-size:12px; font-weight:700; transform:rotate(-5deg); animation:merch-pop .8s 1.2s both; }
.textile-merch-tag span { margin-left:12px; }
.textile-merch-spark { animation:merch-spark 3.5s ease-in-out; }
.textile-merch-steps { gap:12px; }
.textile-merch-steps li { position:relative; gap:12px; padding:18px 14px; border:1px solid #ffffff19; border-radius:14px; background:#ffffff08; transition:background .2s,transform .2s; }
.textile-merch-steps li:hover { transform:translateY(-4px); background:#ffffff12; }
.textile-merch-icon { flex-basis:48px; height:48px; border:0; border-radius:12px; background:#B82649; color:#fff; }
.textile-merch-steps li:nth-child(even) .textile-merch-icon { background:#ffffff12; color:#B82649; }
.textile-merch-number { color:#B82649; font-size:11px; }
.textile-merch-steps strong { color:#fff; font-size:15px; }
@keyframes merch-shirt-in { from { opacity:0; transform:translateY(18px) rotate(2deg); } to { opacity:1; transform:translateY(0) rotate(-9deg); } }
@keyframes merch-print-in { 0%,25% { opacity:0; transform:scale(.35); } 75% { opacity:1; transform:scale(1.12); } 100% { opacity:1; transform:scale(1); } }
@keyframes merch-pop { from { opacity:0; translate:0 10px; scale:.8; } to { opacity:1; translate:0 0; scale:1; } }
@keyframes merch-spark { 0%,45%,75% { opacity:.2; } 25%,60%,100% { opacity:1; } }
@media(max-width:1200px) {
 .textile-merch-intro .textile-topbar { grid-template-columns:minmax(0,1fr) 210px; }
 .textile-merch-intro .textile-basket-link { grid-column:1; grid-row:2; justify-self:start; }
 .textile-merch-art { grid-column:2; grid-row:1 / 3; height:205px; }
}
@media(max-width:700px) {
 .textile-merch-intro { padding:24px 18px; border-radius:16px; }
 .textile-merch-intro .textile-topbar { grid-template-columns:minmax(0,1fr) 125px; gap:20px 10px; }
 .textile-catalog-page .textile-merch-intro h1 { font-size:clamp(24px,4.8vw,34px); }
 .textile-merch-art { height:150px; }
 .textile-merch-sticker { padding:7px; font-size:9px; right:-5px; }
 .textile-merch-tag { font-size:9px; padding:7px 8px; left:0; }
 .textile-merch-steps li { flex-direction:row; padding:14px 10px; gap:10px; }
 .textile-merch-icon { flex:0 0 34px; height:34px; border-radius:9px; }
 .textile-merch-icon svg { width:24px; height:24px; }
 .textile-merch-steps strong { font-size:13px; }
}
@media(max-width:400px) {
 .textile-merch-intro .textile-topbar { grid-template-columns:minmax(0,1fr); }
 .textile-merch-art { grid-column:1; grid-row:2; height:160px; width:190px; justify-self:center; }
 .textile-merch-intro .textile-basket-link { grid-row:3; }
 .textile-merch-steps li { flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) {
 .textile-merch-intro *, .textile-merch-intro *::before, .textile-merch-intro *::after { animation:none!important; transition:none!important; }
 .textile-merch-steps li:hover { transform:none; }
}
/* Skutočná realizácia potlače a samostatný vstup do košíka. */
.textile-merch-intro { margin-bottom:20px; }
.textile-merch-intro .textile-topbar { grid-template-columns:minmax(0,1fr) minmax(240px,340px); gap:36px; }
.textile-merch-photo { position:relative; margin:0 8px 10px 0; transform:rotate(-4deg); animation:merch-photo-in 1s ease-out both; }
.textile-merch-photo-frame { position:relative; overflow:hidden; border:5px solid #fff; border-radius:16px; box-shadow:0 14px 30px #0005; }
.textile-merch-photo img { display:block; width:100%; height:auto; aspect-ratio:1.5; object-fit:cover; transition:transform .5s; }
.textile-merch-photo:hover img { transform:scale(1.045); }
.textile-merch-photo-frame::after { content:""; position:absolute; inset:-40%; background:linear-gradient(110deg,transparent 40%,#ffffff65 50%,transparent 60%); transform:translateX(-100%); pointer-events:none; animation:merch-photo-shine 1.8s .5s both; }
.textile-merch-photo figcaption { position:absolute; right:-12px; bottom:-12px; background:#B82649; color:#fff; border-radius:20px; padding:10px 16px; font-size:12px; font-weight:700; box-shadow:0 4px 12px #0003; transform:rotate(4deg); }
.textile-merch-photo figcaption span { margin-left:12px; }
.textile-catalog-cartbar { display:flex; align-items:center; min-height:44px; margin-bottom:20px; }
.textile-cart-cta { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:46px; box-sizing:border-box; padding:12px 20px; border-radius:9px; background:#B82649; color:#fff; text-decoration:none; font-size:15px; font-weight:700; box-shadow:0 5px 14px #B8264928; transition:background .2s,transform .2s; }
.textile-cart-cta:hover { background:#941e3b; transform:translateY(-2px); }
.textile-cart-cta:focus-visible { outline:3px solid #242127; outline-offset:4px; }
.textile-cart-cta svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
@keyframes merch-photo-in { from { opacity:0; transform:translateY(15px) rotate(0); } to { opacity:1; transform:translateY(0) rotate(-4deg); } }
@keyframes merch-photo-shine { from { transform:translateX(-100%); } to { transform:translateX(100%); } }
@media(max-width:700px) {
 .textile-merch-intro .textile-topbar { grid-template-columns:minmax(0,1fr); gap:26px; }
 .textile-merch-photo { width:min(100%,320px); justify-self:center; margin:0 0 12px; }
 .textile-merch-photo figcaption { right:0; }
}
@media(prefers-reduced-motion:reduce) {
 .textile-merch-photo,.textile-merch-photo-frame::after { animation:none; }
 .textile-merch-photo-frame::after { display:none; }
 .textile-merch-photo img,.textile-cart-cta { transition:none; }
 .textile-merch-photo:hover img,.textile-cart-cta:hover { transform:none; }
}
/* Dodané tričko s priehľadným pozadím a mäkkou žiarou. */
.textile-merch-cutout { width:100%; margin:0; transform:none; animation:none; isolation:isolate; }
.textile-merch-cutout::before { content:""; position:absolute; z-index:-1; inset:15% 4%; border-radius:50%; background:radial-gradient(ellipse,#ed69966b,transparent 70%); filter:blur(18px); }
.textile-merch-cutout .textile-merch-photo-frame { height:280px; overflow:visible; border:0; border-radius:0; box-shadow:none; }
.textile-merch-cutout .textile-merch-photo-frame::after { display:none; }
.textile-merch-cutout img { width:100%; height:100%; aspect-ratio:auto; object-fit:contain; filter:drop-shadow(0 12px 12px #0006); transform:rotate(-5deg); animation:merch-cutout-lift 3.8s ease-in-out both; transition:transform .45s,filter .45s; }
.textile-merch-cutout:hover img { transform:translateY(-7px) rotate(-2deg) scale(1.025); filter:drop-shadow(0 20px 16px #0007); }
.textile-merch-cutout figcaption { right:0; bottom:0; transform:rotate(-3deg); }
@keyframes merch-cutout-lift { 0% { opacity:0; transform:translateY(14px) rotate(0); } 25% { opacity:1; transform:translateY(-6px) rotate(-6deg); } 65% { opacity:1; transform:translateY(1px) rotate(-3deg); } 100% { opacity:1; transform:translateY(0) rotate(-5deg); } }
@media(max-width:700px) {
 .textile-merch-cutout { width:min(100%,280px); }
 .textile-merch-cutout .textile-merch-photo-frame { height:240px; }
}
@media(prefers-reduced-motion:reduce) {
 .textile-merch-cutout img { animation:none; transition:none; }
 .textile-merch-cutout:hover img { transform:rotate(-5deg); }
}
/* Väčšia typografia, magenta obrysové ikony a spoločný riadok ovládania. */
.textile-catalog-page .textile-merch-intro h1 { font-size:clamp(36px,3.5vw,62px); font-weight:900; line-height:1.08; max-width:980px; }
.textile-merch-steps li { padding:20px 16px; gap:16px; }
.textile-merch-steps .textile-merch-icon,.textile-merch-steps li:nth-child(even) .textile-merch-icon { flex:0 0 64px; width:64px; height:64px; border:0; border-radius:0; background:transparent; color:#B82649; }
.textile-merch-icon svg,.textile-merch-icon img { display:block; width:64px; height:64px; object-fit:contain; }
.textile-merch-icon svg { stroke-width:2.6; }
.textile-merch-steps strong { font-size:20px; font-weight:800; line-height:1.3; }
.textile-merch-number { font-size:13px; }
.textile-catalog-cartbar { justify-content:space-between; gap:20px; flex-wrap:wrap; }
.textile-catalog-page .textile-catalog-cartbar .textile-results-toolbar { position:static; margin:0; min-height:48px; justify-content:flex-start; gap:24px; flex:1; }
.textile-catalog-cartbar .textile-results-toolbar p { margin:0; font-size:17px; }
.textile-catalog-cartbar .textile-results-toolbar label { font-size:16px; font-weight:600; }
.textile-catalog-cartbar .textile-results-toolbar select { min-height:48px; padding:11px 36px 11px 14px; font-size:16px; border-radius:7px; }
.textile-catalog-cartbar .textile-cart-cta { margin-left:auto; }
@media(max-width:1100px) {
 .textile-catalog-page .textile-merch-intro h1 { font-size:clamp(34px,4.5vw,50px); }
}
@media(max-width:700px) {
 .textile-catalog-page .textile-merch-intro h1 { font-size:clamp(32px,6.3vw,44px); }
 .textile-merch-steps li { flex-direction:column; gap:12px; padding:16px 12px; }
 .textile-merch-steps .textile-merch-icon,.textile-merch-steps li:nth-child(even) .textile-merch-icon { flex-basis:52px; width:52px; height:52px; }
 .textile-merch-icon svg,.textile-merch-icon img { width:52px; height:52px; }
 .textile-merch-steps strong { font-size:18px; }
 .textile-catalog-page .textile-catalog-cartbar .textile-results-toolbar { flex-basis:100%; gap:12px; }
 .textile-catalog-cartbar .textile-results-toolbar label { width:auto; flex-wrap:wrap; justify-content:flex-start; }
 .textile-catalog-cartbar .textile-results-toolbar select { max-width:100%; }
}
/* Kompaktnejší úvod s dominantným nadpisom a tričkom. */
.textile-merch-intro { padding:20px 28px; }
.textile-merch-intro .textile-topbar { grid-template-columns:minmax(0,1fr) minmax(260px,370px); gap:20px; margin-bottom:12px; }
.textile-catalog-page .textile-merch-intro h1 { font-size:clamp(40px,4.2vw,74px); font-weight:900; line-height:1.02; letter-spacing:-.035em; }
.textile-merch-cutout .textile-merch-photo-frame { height:250px; }
.textile-merch-cutout img { position:relative; z-index:1; transform:rotate(-5deg) scale(1.23); animation:merch-cutout-compact 3.8s ease-in-out both; }
.textile-merch-cutout:hover img { transform:translateY(-5px) rotate(-2deg) scale(1.26); }
.textile-merch-cutout figcaption { z-index:2; bottom:-2px; }
.textile-merch-steps li { padding:12px 14px; gap:12px; }
.textile-merch-steps .textile-merch-icon,.textile-merch-steps li:nth-child(even) .textile-merch-icon { flex:0 0 52px; width:52px; height:52px; }
.textile-merch-icon svg { width:52px; height:52px; stroke-width:2.6; }
@keyframes merch-cutout-compact { 0% { opacity:0; transform:translateY(10px) rotate(0) scale(1.15); } 30% { opacity:1; transform:translateY(-5px) rotate(-6deg) scale(1.23); } 100% { opacity:1; transform:rotate(-5deg) scale(1.23); } }
@media(max-width:1100px) {
 .textile-merch-intro .textile-topbar { grid-template-columns:minmax(0,1fr) 270px; }
 .textile-catalog-page .textile-merch-intro h1 { font-size:clamp(38px,4.8vw,56px); }
 .textile-merch-cutout .textile-merch-photo-frame { height:230px; }
}
@media(max-width:700px) {
 .textile-merch-intro { padding:22px 18px 18px; }
 .textile-merch-intro .textile-topbar { grid-template-columns:minmax(0,1fr); gap:8px; margin-bottom:14px; }
 .textile-catalog-page .textile-merch-intro h1 { font-size:clamp(36px,8vw,54px); }
 .textile-merch-cutout { width:220px; margin:10px 0; }
 .textile-merch-cutout .textile-merch-photo-frame { height:210px; }
 .textile-merch-steps li { gap:8px; padding:12px 10px; }
 .textile-merch-steps .textile-merch-icon,.textile-merch-steps li:nth-child(even) .textile-merch-icon { flex-basis:44px; width:44px; height:44px; }
 .textile-merch-icon svg { width:44px; height:44px; }
}
@media(prefers-reduced-motion:reduce) {
 .textile-merch-cutout img { animation:none; }
 .textile-merch-cutout:hover img { transform:rotate(-5deg) scale(1.23); }
}
/* Ostré rohy a spoločná ľavá hrana nadpisu a krokov. */
.textile-merch-intro { border-radius:0; }
.textile-merch-intro .textile-topbar { padding-left:0; padding-right:0; }
.textile-catalog-page .textile-merch-intro h1 { margin-left:0; }
.textile-merch-intro .textile-merch-steps { margin-left:0; margin-right:0; }
.textile-merch-cutout figcaption { bottom:8px; right:0; }
.textile-print-pointer { position:absolute; width:66px; height:90px; right:18px; bottom:calc(100% - 3px); overflow:visible; fill:none; stroke:#B82649; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; pointer-events:none; }
@media(max-width:700px) {
 .textile-merch-intro { border-radius:0; }
 .textile-print-pointer { width:52px; height:72px; right:22px; }
}
/* Kroky nededia odsadenie položiek globálnej navigácie. */
.textile-merch-intro .textile-merch-steps > li { margin:0; }

/* Svetlý úvod: návod vľavo a veľké tričko vpravo. */
.textile-merch-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,390px); grid-template-rows:auto auto; gap:20px 32px; align-items:center; padding:28px; background:#eaeaec; color:#242127; box-shadow:none; }
.textile-merch-intro .textile-topbar { display:contents; }
.textile-merch-intro .textile-topbar>div:first-child { grid-column:1; grid-row:1; align-self:end; }
.textile-catalog-page .textile-merch-intro h1 { color:#242127; font-size:clamp(38px,3.8vw,66px); }
.textile-merch-intro h1 span { color:#B82649; }
.textile-merch-intro .textile-merch-steps { grid-column:1; grid-row:2; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-self:start; padding:0; }
.textile-merch-steps li { background:#fff; border-color:#dadade; }
.textile-merch-steps li:hover { background:#fcf5f7; }
.textile-merch-steps strong { color:#242127; }
.textile-merch-number { color:#B82649; }
.textile-merch-intro .textile-merch-cutout { grid-column:2; grid-row:1 / 3; width:100%; margin:0; }
.textile-merch-cutout .textile-merch-photo-frame { height:380px; }
.textile-merch-cutout::before { background:radial-gradient(ellipse,#B8264926,transparent 70%); }
.textile-merch-cutout img { transform:rotate(-5deg); filter:drop-shadow(0 12px 12px #24212735); animation:merch-light-arrive 1.2s ease-out both; }
.textile-merch-cutout:hover img { transform:translateY(-5px) rotate(-2deg) scale(1.025); filter:drop-shadow(0 18px 15px #24212740); }
.textile-print-pointer { stroke:#B82649; }
@keyframes merch-light-arrive { from { opacity:0; transform:translateY(12px) rotate(0); } to { opacity:1; transform:rotate(-5deg); } }
@media(max-width:1100px) and (min-width:901px) {
 .textile-merch-intro { grid-template-columns:minmax(0,1fr) 300px; gap:20px; }
 .textile-merch-steps strong { font-size:18px; }
}
@media(max-width:900px) {
 .textile-merch-intro { grid-template-columns:minmax(0,1fr); gap:24px; padding:24px 18px; }
 .textile-merch-intro .textile-topbar>div:first-child { grid-column:1; grid-row:1; }
 .textile-merch-intro .textile-merch-steps { grid-column:1; grid-row:2; }
 .textile-merch-intro .textile-merch-cutout { grid-column:1; grid-row:3; max-width:360px; justify-self:center; }
 .textile-merch-cutout .textile-merch-photo-frame { height:330px; }
 .textile-catalog-page .textile-merch-intro h1 { font-size:clamp(34px,6vw,54px); }
}
@media(prefers-reduced-motion:reduce) {
 .textile-merch-cutout img { animation:none; }
 .textile-merch-cutout:hover img { transform:rotate(-5deg); }
}
/* Rozloženie podľa schválenej predlohy; Rubik je lokálny a iba v úvode. */
@font-face { font-family:Rubik; src:url('/css/fonts/rubik-variable.ttf') format('truetype'); font-style:normal; font-weight:300 900; font-display:swap; }
.textile-merch-intro { font-family:Rubik,Roboto,sans-serif; grid-template-columns:minmax(0,1fr) 220px; gap:20px 24px; padding:28px; background:#eaeaec; align-items:center; }
.textile-merch-intro .textile-topbar>div:first-child { align-self:center; }
.textile-catalog-page .textile-merch-intro h1 { font-family:Rubik,Roboto,sans-serif; font-weight:800; font-size:clamp(32px,3.1vw,56px); line-height:1.2; letter-spacing:-.025em; color:#151618; }
.textile-merch-intro h1 span { color:#B82649; }
.textile-merch-intro .textile-merch-steps { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.textile-merch-intro .textile-merch-steps>li { display:flex; flex-direction:row; align-items:center; gap:10px; margin:0; padding:14px 12px; min-height:96px; box-sizing:border-box; border:1px solid #b9b9bd; border-radius:0; background:transparent; }
.textile-merch-intro .textile-merch-steps>li:first-child { background:#fff; border-color:#fff; }
.textile-merch-steps li>span:last-child { display:flex; align-items:center; gap:9px; min-width:0; }
.textile-merch-number { margin:0; font-size:22px; font-weight:700; color:#B82649; }
.textile-merch-steps strong { font-family:Rubik,Roboto,sans-serif; font-size:clamp(15px,1.2vw,20px); font-weight:700; line-height:1.25; color:#151618; }
.textile-merch-steps .textile-merch-icon,.textile-merch-steps li:nth-child(even) .textile-merch-icon { flex:0 0 42px; width:42px; height:42px; color:#B82649; background:transparent; }
.textile-merch-icon svg { width:42px; height:42px; }
.textile-merch-intro .textile-merch-cutout { grid-column:2; grid-row:1 / 3; align-self:center; }
.textile-merch-cutout .textile-merch-photo-frame { height:270px; }
.textile-merch-cutout img { transform:none; animation:merch-reference-arrive 1s ease-out both; }
.textile-merch-cutout:hover img { transform:translateY(-5px) scale(1.025); }
.textile-merch-cutout::before { display:none; }
.textile-merch-cutout figcaption { font-family:Rubik,Roboto,sans-serif; font-size:10px; padding:8px 12px; bottom:0; right:-8px; }
@keyframes merch-reference-arrive { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@media(min-width:901px) and (max-width:1199px) {
 .textile-merch-intro { grid-template-columns:minmax(0,1fr) 180px; gap:16px; padding:22px; }
 .textile-merch-intro .textile-merch-steps { gap:8px; }
 .textile-merch-intro .textile-merch-steps>li { padding:10px 8px; gap:6px; }
 .textile-merch-steps .textile-merch-icon,.textile-merch-steps li:nth-child(even) .textile-merch-icon { flex-basis:30px; width:30px; height:30px; }
 .textile-merch-icon svg { width:30px; height:30px; }
 .textile-merch-steps li>span:last-child { gap:5px; }
 .textile-merch-steps strong { font-size:14px; }
 .textile-merch-number { font-size:18px; }
}
@media(max-width:900px) {
 .textile-merch-intro { grid-template-columns:minmax(0,1fr) 170px; padding:22px 18px; gap:18px; }
 .textile-merch-intro .textile-merch-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .textile-catalog-page .textile-merch-intro h1 { font-size:clamp(27px,4vw,40px); }
 .textile-merch-cutout .textile-merch-photo-frame { height:270px; }
}
@media(max-width:600px) {
 .textile-merch-intro { grid-template-columns:minmax(0,1fr); }
 .textile-merch-intro .textile-merch-cutout { grid-column:1; grid-row:3; width:210px; justify-self:center; }
 .textile-catalog-page .textile-merch-intro h1 { font-size:clamp(27px,6.5vw,38px); }
 .textile-merch-intro .textile-merch-steps>li { gap:8px; padding:12px 8px; }
 .textile-merch-steps .textile-merch-icon,.textile-merch-steps li:nth-child(even) .textile-merch-icon { flex-basis:32px; width:32px; height:32px; }
 .textile-merch-icon svg { width:32px; height:32px; }
 .textile-merch-steps strong { font-size:15px; }
 .textile-merch-number { font-size:18px; }
 .textile-merch-steps li>span:last-child { gap:6px; }
}
@media(prefers-reduced-motion:reduce) {
 .textile-merch-cutout img { animation:none; }
 .textile-merch-cutout:hover img { transform:none; }
}
/* Jednotné biele kroky a rovnaký rez celého nadpisu. */
.textile-merch-intro .textile-merch-steps > li, .textile-merch-intro .textile-merch-steps > li:first-child { background:#fff; border-color:#fff; }
.textile-merch-intro .textile-merch-steps > li:hover { background:#fff; border-color:#B82649; }
.textile-catalog-page .textile-merch-intro h1 span { font-family:inherit; font-weight:inherit; font-style:inherit; color:#B82649; }

/* Postupné načítanie katalógu a rýchly návrat hore. */
.textile-load-more { display:grid; justify-items:center; gap:10px; padding:28px 0; }
.textile-load-more button,.textile-back-top { border:0; background:#B82649; color:#fff; padding:13px 20px; font:inherit; font-weight:600; cursor:pointer; }
.textile-load-more button:disabled { opacity:.6; cursor:wait; }
.textile-load-more p { font-size:14px; text-align:center; }
.textile-back-top { position:fixed; right:24px; bottom:24px; z-index:1100; box-shadow:0 4px 18px #0003; border-radius:8px; }
.textile-back-top:hover,.textile-load-more button:hover { background:#941e3b; }
.textile-back-top:focus-visible,.textile-load-more button:focus-visible { outline:3px solid #242127; outline-offset:4px; }
.textile-back-top[hidden],.textile-load-more[hidden],.textile-load-more button[hidden],.textile-pagination[hidden] { display:none!important; }
@media(max-width:540px) { .textile-back-top { right:16px; bottom:16px; } }
/* Detail produktu využíva celú šírku a má výrazný košík. */

.textile-product-page .textile-topbar .textile-basket-link { display:inline-flex; align-items:center; gap:12px; background:#B82649; color:#fff; border:1px solid #B82649; padding:16px 24px; font-size:20px; font-weight:700; border-radius:8px; box-shadow:0 4px 14px #B8264926; }
.textile-product-page .textile-basket-link svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.textile-product-page .textile-basket-link span { margin-left:0; min-width:28px; height:28px; background:#fff; color:#B82649; font-size:16px; }
.textile-product-page .textile-topbar .textile-basket-link:hover { background:#941e3b; }
@media(max-width:540px) {

 .textile-product-page .textile-topbar .textile-basket-link { font-size:17px; padding:13px 16px; }
}
/* Zvislé náhľady vedľa hlavnej fotografie produktu. */
.textile-product-page .textile-gallery { display:grid; grid-template-columns:64px minmax(0,1fr); gap:12px; align-items:start; }
.textile-product-page .textile-main-photo { grid-column:2; grid-row:1; min-width:0; }
.textile-product-page .textile-thumbnails { grid-column:1; grid-row:1; display:flex; flex-direction:column; flex-wrap:nowrap; gap:8px; margin:0; }
.textile-product-page .textile-thumbnails a { display:block; position:static; min-height:0; min-width:0; }
.textile-product-page .textile-thumbnails img { position:static; width:60px; height:60px; object-fit:contain; }
.textile-product-page .textile-topbar>a:first-child { display:inline-flex; align-items:center; gap:10px; padding:12px 0; color:#B82649; font-size:20px; font-weight:700; text-decoration:none; }
.textile-product-page .textile-topbar>a:first-child:hover { color:#941e3b; text-decoration:underline; text-underline-offset:5px; }
@media(max-width:540px) {
 .textile-product-page .textile-gallery { grid-template-columns:52px minmax(0,1fr); gap:8px; }
 .textile-product-page .textile-thumbnails img { width:48px; height:48px; }
 .textile-product-page .textile-topbar>a:first-child { font-size:18px; }
}
.textile-topbar .textile-catalog-back { display:inline-grid; place-items:center; width:44px; height:44px; color:#B82649; }
.textile-catalog-back:focus-visible { outline:2px solid currentColor; }
.textile-back-arrow { display:block; width:30px; height:30px; background:currentColor; mask:url(/img/service-back-arrow.svg) center/contain no-repeat; }

/* Fotografie vyplnia výšku ľavého panelu až po dokumenty. */
@media(min-width:1200px) {
 .textile-product-page .textile-gallery { grid-template-columns:84px minmax(0,1fr); align-items:stretch; }
 .textile-product-page .textile-main-photo { display:flex; align-items:stretch; height:100%; }
 .textile-product-page .textile-main-photo img { width:100%; height:100%; min-height:360px; aspect-ratio:auto; object-fit:contain; }
 .textile-product-page .textile-thumbnails { display:grid; grid-template-columns:minmax(0,1fr); grid-auto-rows:minmax(70px,1fr); align-content:stretch; }
 .textile-product-page .textile-thumbnails a { position:relative; min-height:70px; }
 .textile-product-page .textile-thumbnails img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
}
/* Širší cenový panel smerom doprava pri zachovaní ľavých stĺpcov. */
@media(min-width:1200px) {
 .textile-product-page .textile-detail { grid-template-columns:minmax(260px,1fr) minmax(340px,1.15fr) minmax(330px,.95fr); }
 .textile-product-page { max-width:1680px; }
}
.textile-buy-panel .textile-field-heading { font-size:22px; }
.textile-buy-panel .textile-price-tiers { font-size:17px; }
.textile-buy-panel .textile-price-tiers caption { font-size:18px; }
.textile-buy-panel .textile-price-tiers thead th { font-size:14px; }
.textile-buy-panel .textile-price-tiers th,.textile-buy-panel .textile-price-tiers td { padding:14px 8px; }
.textile-buy-panel .textile-price { font-size:34px; }
.textile-buy-panel .textile-price small { font-size:15px; }
.textile-buy-panel .textile-net,.textile-buy-panel .textile-total { font-size:17px; line-height:1.5; }
.textile-buy-panel .textile-price-note { font-size:14px; line-height:1.5; }
.textile-buy-panel .textile-configure,.textile-buy-panel .textile-inquiry { font-size:17px; padding:16px 12px; }
/* O desať percent väčší produktový detail na širokej obrazovke. */
@media(min-width:1400px) {
 .textile-product-page { zoom:1.1; width:calc(100% / 1.1); }
}
/* Rovnaká základná výška detailu pri rôznom počte fotiek a cenových pásiem. */
@media(min-width:1200px) {
 .textile-product-page .textile-detail { min-height:820px; align-items:stretch; }
 .textile-product-page .textile-media { display:flex; flex-direction:column; min-height:0; }
 .textile-product-page .textile-gallery { flex:1; grid-template-rows:minmax(0,1fr); min-height:600px; }
 .textile-product-page .textile-main-photo { position:relative; height:auto; min-height:0; background:#fff; }
 .textile-product-page .textile-main-photo img { position:absolute; inset:0; width:100%; height:100%; min-height:0; object-fit:contain; }
 .textile-product-page .textile-thumbnails { grid-auto-rows:minmax(0,1fr); min-height:0; }
 .textile-product-page .textile-thumbnails a { min-height:0; }
 .textile-product-page .textile-options,.textile-product-page .textile-buy-panel { box-sizing:border-box; }
 .textile-product-page .textile-tier-box { min-height:270px; }
}