/* Víno s láskou — vsl-styles.css */
/* Všechny CSS styly rebrandingu: údržba + fáze 1–9 */
/* Hostováno přes Shoptet Správce souborů: /user/documents/upload/vsl-styles.css */

/* ===== ÚDRŽBOVÝ OVERLAY ===== */
html.vsl-lock,body.vsl-lock{overflow:hidden!important;height:100%!important}
#vsl-m{position:fixed;inset:0;background:#1A1A1A;color:#F8F7F5;font-family:'Inter',sans-serif;z-index:2147483647;display:flex;align-items:safe center;justify-content:safe center;padding:48px 24px;overflow-y:auto;-webkit-font-smoothing:antialiased}
#vsl-m::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(153,101,21,.06) 0%,transparent 70%);pointer-events:none}
#vsl-m *,#vsl-m *::before,#vsl-m *::after{margin:0;padding:0;box-sizing:border-box}
#vsl-m .vm-c{position:relative;max-width:620px;width:100%;text-align:center;z-index:1}
#vsl-m .vm-logo{margin-bottom:40px}
#vsl-m .vm-logo img{display:block;height:140px;width:auto;max-width:100%;margin:0 auto}
#vsl-m .vm-div{width:60px;height:2px;background:#996515;margin:0 auto 40px;border-radius:1px}
#vsl-m h1{font-family:'Playfair Display',serif;font-weight:600;font-size:2.4rem;line-height:1.25;color:#fff;margin-bottom:20px;letter-spacing:-.01em}
#vsl-m h1 span{color:#996515}
#vsl-m .vm-sub{font-size:1.1rem;line-height:1.7;color:#B8B8B8;margin-bottom:48px;font-weight:400}
#vsl-m .vm-card{background:#2C2C2C;border:1px solid rgba(153,101,21,.2);border-radius:12px;padding:32px;margin-bottom:48px}
#vsl-m .vm-card h2{font-family:'Playfair Display',serif;font-weight:500;font-size:1.25rem;color:#996515;margin-bottom:8px}
#vsl-m .vm-card p{font-size:.95rem;color:#B8B8B8;margin-bottom:24px;line-height:1.6}
#vsl-m .vm-links{display:flex;flex-direction:column;gap:12px}
#vsl-m .vm-link{display:block;padding:14px 24px;border-radius:8px;text-decoration:none;font-size:.95rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1)}
#vsl-m .vm-p{background:#996515;color:#1A1A1A}
#vsl-m .vm-p:hover{background:#B8803F;transform:translateY(-1px);box-shadow:0 4px 20px rgba(153,101,21,.3)}
#vsl-m .vm-s{background:transparent;color:#F8F7F5;border:1px solid #6B6B6B}
#vsl-m .vm-s:hover{border-color:#996515;color:#996515}
#vsl-m .vm-foot{color:#6B6B6B;font-size:.8rem;line-height:1.6}
#vsl-m .vm-foot a{color:#6B6B6B;text-decoration:none;transition:color .2s}
#vsl-m .vm-foot a:hover{color:#996515}
@keyframes vslfu{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
#vsl-m .vm-c>*{animation:vslfu .8s ease-out both}
#vsl-m .vm-c>*:nth-child(2){animation-delay:.1s}
#vsl-m .vm-c>*:nth-child(3){animation-delay:.2s}
#vsl-m .vm-c>*:nth-child(4){animation-delay:.3s}
#vsl-m .vm-c>*:nth-child(5){animation-delay:.4s}
#vsl-m .vm-c>*:nth-child(6){animation-delay:.5s}
@media(max-width:480px){#vsl-m h1{font-size:1.75rem}#vsl-m .vm-sub{font-size:1rem}#vsl-m .vm-card{padding:24px}#vsl-m .vm-logo{font-size:2rem}}

/* ===== FÁZE 1: ROOT PROMĚNNÉ, FONTY, BARVY ===== */
:root{--color-primary:#1A1A1A;--color-primary-h:0;--color-primary-s:0%;--color-primary-l:10%;--color-primary-hover:#996515;--color-primary-hover-h:36;--color-primary-hover-s:76%;--color-primary-hover-l:34%;--color-secondary:#996515;--color-secondary-h:36;--color-secondary-s:76%;--color-secondary-l:34%;--color-secondary-hover:#B8803F;--color-secondary-hover-h:33;--color-secondary-hover-s:49%;--color-secondary-hover-l:48%;--color-tertiary:#996515;--color-tertiary-h:36;--color-tertiary-s:76%;--color-tertiary-l:34%;--color-tertiary-hover:#B8803F;--color-tertiary-hover-h:33;--color-tertiary-hover-s:49%;--color-tertiary-hover-l:48%;--color-header-background:#FFFFFF;--template-font:"Inter";--template-headings-font:"Playfair Display";--header-background-url:none}
body{background:#F8F7F5}
body,.overall-wrapper,input,select,textarea,button{font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3,h4,h5,h6,.main-heading,.navigation-title{font-family:"Playfair Display",Georgia,"Times New Roman",serif;letter-spacing:-.01em}
a{color:#1A1A1A;transition:color .2s ease}
a:hover{color:#996515}
.main-heading::after,h2.heading::after{content:"";display:block;width:48px;height:2px;background:#996515;margin-top:12px;border-radius:1px}

/* ===== FÁZE 2: HLAVIČKA ===== */
#header{background-image:none!important;background-color:#FFFFFF!important;padding-top:0!important;min-height:180px!important}
#header #videoWrapper,#header .header-title{display:none!important}
.header-navigation{background-color:#FFFFFF!important;box-shadow:0 2px 14px rgba(0,0,0,.06)!important}
.header-navigation>div{display:flex!important;align-items:center!important;gap:32px!important;min-height:180px!important;max-width:none!important;width:100%!important;padding:0 32px!important}
.site-name{display:block!important;float:none!important;height:auto!important;max-width:none!important;margin:0!important;padding:0!important;flex-shrink:0!important}
.site-name a{display:block!important;max-width:none!important}
.site-name img,.site-name a>span{max-height:160px!important;max-width:none!important;width:auto!important;height:160px!important;display:block!important}
#navigation{position:static!important;width:auto!important;height:auto!important;flex:1 1 auto!important;order:2!important}
.navigation-buttons{float:none!important;flex-shrink:0!important;display:flex!important;align-items:center!important;gap:8px!important;order:3!important}
#navigation .menu-level-1>li>a{color:#1A1A1A!important}
#navigation .menu-level-1>li>a:hover{color:#996515!important}
#navigation .menu-level-1>li.ext>a::after{border-top-color:#1A1A1A!important}
.navigation-buttons a,.navigation-buttons button{color:#1A1A1A!important}
.navigation-buttons svg{fill:#1A1A1A!important}
.navigation-buttons a:hover,.navigation-buttons button:hover{color:#996515!important}
.navigation-buttons a:hover svg{fill:#996515!important}

/* ===== FÁZE 3: HERO SEKCE ===== */
.vsl-hero{display:none;position:relative;min-height:70vh;background:linear-gradient(135deg,#0D0D0D 0%,#1A1A1A 40%,#2C2C2C 100%);color:#F8F7F5;padding:96px 24px 80px;margin:0;overflow:hidden;align-items:center;justify-content:center}
.vsl-hero.vsl-hero--ready{display:flex}
.vsl-hero__content{position:relative;z-index:2;text-align:center;max-width:760px}
.vsl-hero__badge{display:inline-block;font-family:"Inter",sans-serif;font-size:13px;letter-spacing:4px;text-transform:uppercase;color:#996515;font-weight:500;margin-bottom:32px;padding:12px 0}
.vsl-hero__badge::before,.vsl-hero__badge::after{content:"";display:block;width:60px;height:1px;background:linear-gradient(90deg,transparent,#996515,transparent);margin:0 auto}
.vsl-hero__badge::before{margin-bottom:10px}
.vsl-hero__badge::after{margin-top:10px}
.vsl-hero h1{font-family:"Playfair Display",serif;color:#996515;font-size:clamp(34px,6vw,64px);line-height:1.15;margin:0 0 24px;font-weight:500}
.vsl-hero h1 em{font-style:italic;font-weight:400}
.vsl-hero__sub{font-family:"Inter",sans-serif;font-size:18px;color:#C8C8C8;line-height:1.7;margin:0 auto 40px;max-width:520px}
.vsl-hero__cta{display:inline-flex;flex-wrap:wrap;gap:16px;justify-content:center}
.vsl-hero__btn{display:inline-block;padding:16px 40px;font-family:"Inter",sans-serif;font-weight:600;font-size:14px;letter-spacing:2px;text-transform:uppercase;border:2px solid #996515;text-decoration:none;transition:all .3s ease;cursor:pointer}
.vsl-hero__btn--primary{background:#996515;color:#1A1A1A}
.vsl-hero__btn--primary:hover{background:transparent;color:#996515}
.vsl-hero__btn--secondary{background:transparent;color:#996515}
.vsl-hero__btn--secondary:hover{background:#996515;color:#1A1A1A}
@media(max-width:640px){.vsl-hero{min-height:60vh;padding:80px 20px 60px}.vsl-hero h1{font-size:clamp(28px,8vw,44px)}.vsl-hero__sub{font-size:16px}.vsl-hero__btn{padding:14px 28px;font-size:13px}}

/* ===== FÁZE 4: TRUST BAR ===== */
.vsl-trust{background:#FFF;padding:48px 24px;border-bottom:1px solid #996515;opacity:0;transition:opacity .3s ease;margin:0}
.vsl-trust--ready{opacity:1}
.vsl-trust__grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1000px;margin:0 auto;gap:32px;text-align:center}
.vsl-trust__num{font-family:"Playfair Display",Georgia,serif;font-size:36px;font-weight:600;color:#1A1A1A;display:block;line-height:1.1;letter-spacing:-.01em}
.vsl-trust__lbl{color:#6B6B6B;font-family:"Inter",sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:1px;margin-top:4px;display:block;font-weight:500}
@media(max-width:768px){.vsl-trust{padding:32px 16px;margin:0 0 24px}.vsl-trust__grid{grid-template-columns:repeat(2,1fr);gap:24px}.vsl-trust__num{font-size:28px}.vsl-trust__lbl{font-size:11px}}

/* ===== FÁZE 5: KATEGORIE ZEMÍ ===== */
.vsl-categories{background:#FFFFFF;padding:72px 24px;scroll-margin-top:140px}
.vsl-cat-hdr{text-align:center;max-width:640px;margin:0 auto 44px}
.vsl-cat-hdr h2{font-family:"Playfair Display",Georgia,serif;font-size:34px;font-weight:600;color:#1A1A1A;margin:0 0 12px;letter-spacing:-.01em}
.vsl-cat-hdr h2::after{content:"";display:block;width:48px;height:2px;background:#996515;margin:12px auto 0;border-radius:1px}
.vsl-cat-hdr p{font-family:"Inter",sans-serif;font-size:15px;color:#6B6B6B;margin:16px 0 0;line-height:1.6}
.vsl-cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;max-width:1240px;margin:0 auto}
.vsl-cat{position:relative;overflow:hidden;background:#1A1A1A;display:flex;align-items:center;justify-content:center;padding:36px 20px;text-align:center;text-decoration:none;border:1px solid #2A2A2A;transition:transform .3s ease,box-shadow .3s ease}
.vsl-cat::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.25) 0%,rgba(5,5,5,.88) 100%);z-index:1}
.vsl-cat:hover{transform:translateY(-5px);box-shadow:0 12px 40px rgba(153,101,21,.3)}
.vsl-cat__in{position:relative;z-index:2;color:#FFFFFF}
.vsl-cat__flag{font-size:40px;line-height:1;display:block;margin-bottom:12px}
.vsl-cat__name{font-family:"Playfair Display",Georgia,serif;font-size:22px;font-weight:600;color:#FFFFFF;margin:0 0 4px}
.vsl-cat__reg{font-family:"Inter",sans-serif;font-size:12px;color:#C4C4C4;display:block;letter-spacing:.2px}
@media(max-width:1024px){.vsl-cat-grid{grid-template-columns:repeat(3,1fr);max-width:820px}}
@media(max-width:640px){.vsl-categories{padding:48px 16px}.vsl-cat-hdr{margin-bottom:28px}.vsl-cat-hdr h2{font-size:26px}.vsl-cat-hdr p{font-size:14px}.vsl-cat-grid{grid-template-columns:repeat(2,1fr);gap:10px}.vsl-cat{padding:28px 14px}.vsl-cat__flag{font-size:32px;margin-bottom:10px}.vsl-cat__name{font-size:18px}.vsl-cat__reg{font-size:11px}.vsl-cat-grid>.vsl-cat:nth-child(5):last-child,.vsl-cat-grid>.vsl-cat:nth-last-child(1):nth-child(odd){grid-column:1/-1}}

/* ===== FÁZE 6: PRODUKTOVÉ KARTY ===== */
/* POZOR: Waltz má na .p-bottom transform:scaleY(0) (reveal-on-hover), který nejde přepsat CSS. */
/* Řešení: JS přesune .p-tools mimo .p-bottom (do .vsl-p-actions kontejneru), .p-desc skryjeme. */
.products{gap:24px!important;padding:12px 0!important}
.products .product{background:#FFFFFF;border:1px solid #E8E8E8;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;padding:0!important;overflow:hidden;position:relative;display:flex;flex-direction:column}
.products .product:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(153,101,21,.15);border-color:#996515}
.products .product .p{padding:0!important;background:#FFFFFF!important;height:100%;display:flex;flex-direction:column;border:0!important;box-shadow:none!important}
/* Fotka v KATALOGU (listing) */
.products .product .p-image{display:block;background:#F8F7F5;position:relative;overflow:hidden;aspect-ratio:1/1;padding:0!important;margin:0!important}
.products .product .p-image img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;transition:transform .4s ease;max-width:none!important;max-height:none!important;padding:8px!important;box-sizing:border-box!important}
.products .product:hover .p-image img{transform:scale(1.08)}

/* Fotka na DETAILU produktu — větší, bez oříznutí */
.p-detail .p-image,#product-detail .p-image{background:#F8F7F5!important;padding:0!important;max-width:none!important;aspect-ratio:auto!important}
.p-main-image{display:block!important;width:100%!important;max-width:520px!important;margin:0 auto!important;padding:16px!important;box-sizing:border-box!important;aspect-ratio:1/1!important;background:#FFFFFF!important}
.p-main-image img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center!important;display:block!important}
/* Vedlejší náhledy (thumbnails pod hlavní fotkou) */
.p-more-images,.p-other-images,.more-images{margin-top:12px!important}
.p-more-images a,.p-other-images a,.more-images a{padding:6px!important;background:#FFFFFF!important;border:1px solid #E8E8E8!important;transition:border-color .2s ease}
.p-more-images a:hover,.p-other-images a:hover,.more-images a:hover{border-color:#996515!important}
.p-in{padding:18px 16px 16px!important;flex:1;display:flex;flex-direction:column;background:#FFFFFF}
.p-name{display:block!important;margin-bottom:8px!important;text-decoration:none!important;min-height:74px!important}
.p-name span{font-family:"Playfair Display",Georgia,serif!important;font-size:17px!important;font-weight:500!important;color:#1A1A1A!important;line-height:1.35!important;text-transform:none!important;letter-spacing:-.01em!important;overflow:hidden!important;text-overflow:ellipsis!important;display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;word-break:break-word!important}
.products .product:hover .p-name span{color:#996515}
.prices,.prices-top{margin:4px 0 10px!important;padding:0!important;background:transparent!important;border:0!important}
.price-final,.price-final strong{font-family:"Playfair Display",Georgia,serif!important;font-size:22px!important;font-weight:600!important;color:#1A1A1A!important;letter-spacing:-.01em!important;background:transparent!important;border:0!important;padding:0!important}
.price-standard{font-family:"Inter",sans-serif!important;font-size:13px!important;color:#B8B8B8!important;text-decoration:line-through}

/* Popis vína pod cenou (JS ho naplní z [data-micro="description"] pokud má text) */
.vsl-p-desc-text{font-family:"Inter",sans-serif;font-size:13px;color:#2C2C2C;line-height:1.55;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.vsl-p-desc-text:empty{display:none}

/* Waltz .p-bottom nelze „otevřít" (transform:scaleY(0) přebíjí i !important). */
/* Schováváme úplně — obsah přesunut JS-em do .vsl-p-actions */
.p-bottom{display:none!important}
.p-desc{display:none!important}

/* Kontejner vytvořený JS-em, kam se přesune .p-tools z mrtvé .p-bottom */
.vsl-p-actions{margin-top:auto;padding-top:12px;display:flex;gap:8px;align-items:stretch;width:100%}
.vsl-p-actions .p-tools{display:flex!important;gap:8px!important;align-items:stretch!important;width:100%!important;margin:0!important;transform:none!important;opacity:1!important;height:auto!important}
.vsl-p-actions form,.vsl-p-actions .pr-action{display:flex!important;gap:8px!important;align-items:stretch!important;width:100%!important;margin:0!important}
.vsl-p-actions .btn,.vsl-p-actions .add-to-cart-button,.vsl-p-actions .btn-conversion,.vsl-p-actions button.btn-cart{background:#996515!important;color:#1A1A1A!important;border:1px solid #996515!important;font-family:"Inter",sans-serif!important;font-weight:600!important;font-size:12px!important;letter-spacing:1.2px!important;text-transform:uppercase!important;padding:10px 14px!important;transition:all .3s ease!important;border-radius:0!important;box-shadow:none!important;flex:1!important;cursor:pointer!important;min-height:42px!important;line-height:1!important}
.vsl-p-actions .btn:hover,.vsl-p-actions .add-to-cart-button:hover,.vsl-p-actions .btn-conversion:hover,.vsl-p-actions button.btn-cart:hover{background:#B8803F!important;border-color:#B8803F!important;color:#1A1A1A!important}
.vsl-p-actions .quantity{border:1px solid #E8E8E8!important;background:#FFFFFF!important;border-radius:0!important;display:inline-flex!important;align-items:center!important;box-shadow:none!important;height:42px!important;flex-shrink:0!important}
.vsl-p-actions .quantity input.amount{font-family:"Inter",sans-serif!important;color:#1A1A1A!important;background:transparent!important;border:0!important;width:32px!important;text-align:center!important;font-weight:500!important;padding:0!important}
.vsl-p-actions .quantity .increase,.vsl-p-actions .quantity .decrease{color:#6B6B6B!important;background:transparent!important;border:0!important;transition:color .2s ease!important;padding:0 10px!important;cursor:pointer!important;line-height:40px!important}
.vsl-p-actions .quantity .increase:hover,.vsl-p-actions .quantity .decrease:hover{color:#996515!important}
.p-code{display:none!important}
.p-rating,.star-rating{margin:4px 0 8px!important}
.p-in--noRating .p-name{margin-top:0!important}

/* Wine tagy (JS injection z p-desc) */
.vsl-wine-tags{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:5px;z-index:5;pointer-events:none}
.vsl-wine-tag{display:inline-block;padding:4px 10px;font-family:"Inter",sans-serif;font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;line-height:1;width:fit-content}
.vsl-wine-tag--white{background:#F8F7F5;color:#1A1A1A;border:1px solid #D4C4A8}
.vsl-wine-tag--red{background:#1A1A1A;color:#FFFFFF}
.vsl-wine-tag--rose{background:#C97B8A;color:#FFFFFF}
.vsl-wine-tag--sparkling{background:#2C2C2C;color:#996515;border:1px solid #996515}
.vsl-wine-tag--sugar{background:rgba(255,255,255,.92);color:#6B6B6B;border:1px solid #E8E8E8}

/* Shoptet flagy (akce/novinka/výprodej) */
.flag,.flags>span,.flag-action,.flag-discount,.flag-new,.flag-sale,.flag-onsale{position:absolute;top:12px;right:12px;padding:4px 10px;font-family:"Inter",sans-serif;font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;z-index:6;color:#FFFFFF;line-height:1;border-radius:0}
.flag-action,.flag-sale,.flag-discount,.flag-onsale{background:#996515}
.flag-new{background:#1A1A1A}

/* Recommended products (homepage Nejprodávanější, související atd.) */
.recommended-products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:20px!important}
a.recommended-product{display:flex!important;flex-direction:column!important;background:#FFFFFF!important;border:1px solid #E8E8E8!important;padding:20px 18px!important;text-align:center!important;text-decoration:none!important;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease!important;margin:0!important;float:none!important;width:auto!important;color:#1A1A1A!important;min-height:260px}
a.recommended-product:hover{border-color:#996515!important;box-shadow:0 8px 25px rgba(153,101,21,.12)!important;transform:translateY(-2px)!important}
a.recommended-product img{max-width:100%!important;width:auto!important;height:150px!important;object-fit:contain!important;margin:0 auto 14px!important;display:block!important}
a.recommended-product .p-bottom{display:flex!important;flex-direction:column!important;gap:8px!important;margin-top:auto!important;padding:0!important;height:auto!important;transform:none!important;opacity:1!important;position:static!important}
a.recommended-product .name{font-family:"Playfair Display",Georgia,serif!important;font-size:14px!important;font-weight:500!important;color:#1A1A1A!important;display:block!important;line-height:1.3!important;min-height:36px}
a.recommended-product .price,a.recommended-product .price-final{font-family:"Playfair Display",Georgia,serif!important;font-size:18px!important;font-weight:600!important;color:#996515!important;display:block!important;background:transparent!important;border:0!important;padding:0!important;margin:0!important}

/* Responsive */
@media(max-width:1024px){.products{gap:16px!important}.p-name span{font-size:16px!important}}
@media(max-width:640px){.products{gap:12px!important}.p-in{padding:14px 12px!important}.p-name span{font-size:15px!important}.price-final,.price-final strong{font-size:19px!important}.vsl-wine-tag{font-size:9px;padding:4px 9px}.vsl-p-actions .btn,.vsl-p-actions .add-to-cart-button,.vsl-p-actions .btn-conversion,.vsl-p-actions button.btn-cart{padding:9px 10px!important;font-size:11px!important;min-height:38px!important}.vsl-p-actions .quantity{height:38px!important}.p-image{aspect-ratio:4/5}}

/* ===== FÁZE 7: NÁŠ PŘÍBĚH ===== */
#o-nas.vsl-story{scroll-margin-top:100px;padding:100px 24px;background:#1A1A1A;color:#FFFFFF;position:relative;overflow:hidden}
#o-nas.vsl-story::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 40%,rgba(153,101,21,.12),transparent 60%);pointer-events:none}
.vsl-story__grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:1100px;margin:0 auto;position:relative;z-index:2}
.vsl-story__photo{aspect-ratio:4/5;background:linear-gradient(135deg,#2C2C2C 0%,#1A1A1A 100%);border:1px solid rgba(153,101,21,.35);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;position:relative;overflow:hidden}
.vsl-story__photo::after{content:"";position:absolute;inset:12px;border:1px solid rgba(153,101,21,.2);pointer-events:none}
.vsl-story__monogram{font-family:"Playfair Display",Georgia,serif;font-size:92px;font-weight:500;color:#996515;line-height:1;letter-spacing:-.02em}
.vsl-story__photo-lbl{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#B8B8B8}
.vsl-story__overline{font-family:"Inter",sans-serif;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#B8B8B8;margin-bottom:16px}
.vsl-story__h2{font-family:"Playfair Display",Georgia,serif;font-size:36px;font-weight:500;line-height:1.2;color:#996515;margin:0 0 24px;letter-spacing:-.01em}
.vsl-story__p{font-family:"Inter",sans-serif;font-size:15px;line-height:1.8;color:#D8D8D8;margin:0 0 16px}
.vsl-story__signature{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:22px;color:#FFFFFF;margin-top:28px}
@media(max-width:1024px){.vsl-story__grid{gap:40px;max-width:760px}.vsl-story__h2{font-size:30px}.vsl-story__monogram{font-size:74px}}
@media(max-width:640px){#o-nas.vsl-story{padding:64px 16px;scroll-margin-top:80px}.vsl-story__grid{grid-template-columns:1fr;gap:32px}.vsl-story__photo{aspect-ratio:1/1;max-width:300px;margin:0 auto}.vsl-story__monogram{font-size:64px}.vsl-story__h2{font-size:26px;margin-bottom:18px}.vsl-story__p{font-size:14px;line-height:1.7}.vsl-story__signature{font-size:19px}}

/* ===== FÁZE 8: NEWSLETTER ===== */
.vsl-newsletter{padding:80px 24px;background:#0F0F0F;color:#FFFFFF;text-align:center;position:relative;overflow:hidden;border-top:1px solid rgba(153,101,21,.35)}
.vsl-newsletter::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(153,101,21,.18),transparent 65%);pointer-events:none}
.vsl-newsletter__in{position:relative;z-index:2;max-width:560px;margin:0 auto}
.vsl-newsletter__overline{font-family:"Inter",sans-serif;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#B8B8B8;margin-bottom:14px}
.vsl-newsletter__h2{font-family:"Playfair Display",Georgia,serif;font-size:34px;font-weight:500;line-height:1.2;color:#996515;margin:0 0 12px;letter-spacing:-.01em}
.vsl-newsletter__sub{font-family:"Inter",sans-serif;font-size:15px;line-height:1.7;color:#D8D8D8;margin:0 0 32px}
.vsl-newsletter__form{display:flex;gap:0;max-width:480px;margin:0 auto}
.vsl-newsletter__input{flex:1;padding:14px 20px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.05);color:#FFFFFF;font-family:"Inter",sans-serif;font-size:14px;outline:none;min-height:50px;border-right:0}
.vsl-newsletter__input::placeholder{color:#9A9A9A}
.vsl-newsletter__input:focus{border-color:rgba(153,101,21,.6);background:rgba(255,255,255,.08)}
.vsl-newsletter__btn{padding:14px 32px;background:#996515;color:#1A1A1A;border:1px solid #996515;cursor:pointer;font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;font-family:"Inter",sans-serif;transition:background .2s,color .2s,transform .2s;white-space:nowrap}
.vsl-newsletter__btn:hover{background:#B8803F;border-color:#B8803F;transform:translateY(-1px)}
.vsl-newsletter__btn:disabled{opacity:.6;cursor:wait;transform:none}
.vsl-newsletter__gdpr{font-family:"Inter",sans-serif;font-size:12px;color:#8A8A8A;margin-top:18px;line-height:1.6}
.vsl-newsletter__gdpr a{color:#B8B8B8;text-decoration:underline}
.vsl-newsletter__gdpr a:hover{color:#996515}
.vsl-newsletter__msg{font-family:"Inter",sans-serif;font-size:15px;margin-top:20px;min-height:22px;line-height:1.5}
.vsl-newsletter__msg--ok{color:#996515}
.vsl-newsletter__msg--err{color:#E08B6E}
@media(max-width:640px){.vsl-newsletter{padding:56px 16px}.vsl-newsletter__h2{font-size:26px}.vsl-newsletter__sub{font-size:14px;margin-bottom:24px}.vsl-newsletter__form{flex-direction:column;gap:10px}.vsl-newsletter__input{border-right:1px solid rgba(255,255,255,.2);font-size:16px;min-height:52px}.vsl-newsletter__btn{padding:14px 24px;min-height:50px}}

/* ===== FÁZE 9: B2B SEKCE + PATIČKA ===== */
/* B2B sekce (jen homepage) */
.vsl-b2b{padding:90px 24px;background:#1A1A1A;color:#FFFFFF;position:relative;overflow:hidden;border-top:1px solid rgba(153,101,21,.2)}
.vsl-b2b::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 30%,rgba(153,101,21,.1),transparent 60%);pointer-events:none}
.vsl-b2b__in{max-width:1200px;margin:0 auto;position:relative;z-index:2}
.vsl-b2b__hdr{text-align:center;margin-bottom:56px}
.vsl-b2b__overline{font-family:"Inter",sans-serif;font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#B8B8B8;margin-bottom:14px}
.vsl-b2b__h2{font-family:"Playfair Display",Georgia,serif;font-size:36px;font-weight:500;line-height:1.2;color:#FFFFFF;margin:0 0 14px;letter-spacing:-.01em}
.vsl-b2b__sub{font-family:"Inter",sans-serif;font-size:15px;line-height:1.7;color:#B8B8B8;margin:0 auto;max-width:620px}
.vsl-b2b__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.vsl-b2b__card{background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);padding:40px 28px 32px;text-align:center;transition:border-color .3s ease,background .3s ease,transform .3s ease}
.vsl-b2b__card:hover{border-color:rgba(153,101,21,.6);background:rgba(153,101,21,.04);transform:translateY(-3px)}
.vsl-b2b__icon{display:flex;align-items:center;justify-content:center;width:62px;height:62px;margin:0 auto 22px;color:#996515}
.vsl-b2b__icon svg{width:100%;height:100%;display:block}
.vsl-b2b__card h3{font-family:"Playfair Display",Georgia,serif;font-size:19px;font-weight:500;color:#FFFFFF;margin:0 0 12px;letter-spacing:.01em}
.vsl-b2b__card p{font-family:"Inter",sans-serif;font-size:14px;line-height:1.7;color:#B8B8B8;margin:0}
.vsl-b2b__refs{text-align:center;margin-top:48px}
.vsl-b2b__refs-lbl{font-family:"Inter",sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#8A8A8A;margin:0 0 10px}
.vsl-b2b__refs-list{font-family:"Inter",sans-serif;font-size:13px;color:#B8B8B8;margin:0 0 24px;line-height:1.7}
.vsl-b2b__cta{display:inline-block;padding:14px 44px;border:1.5px solid #996515;color:#996515;font-family:"Inter",sans-serif;font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s,transform .2s}
.vsl-b2b__cta:hover{background:#996515;color:#1A1A1A;transform:translateY(-1px)}
@media(max-width:1024px){.vsl-b2b{padding:72px 24px}.vsl-b2b__grid{grid-template-columns:repeat(2,1fr);gap:22px}.vsl-b2b__h2{font-size:30px}.vsl-b2b__hdr{margin-bottom:44px}}
@media(max-width:640px){.vsl-b2b{padding:60px 16px}.vsl-b2b__grid{grid-template-columns:1fr;gap:18px}.vsl-b2b__card{padding:32px 24px 28px}.vsl-b2b__h2{font-size:26px}.vsl-b2b__sub{font-size:14px}.vsl-b2b__card h3{font-size:17px}.vsl-b2b__cta{padding:12px 32px;font-size:12px}.vsl-b2b__refs{margin-top:36px}}

/* Footer override — Shoptet Waltz */
#footer,.footer,footer[role="contentinfo"]{background:#0A0A0A!important;color:#B8B8B8!important;border-top:1px solid rgba(153,101,21,.35)!important;font-family:"Inter",sans-serif!important}
#footer *,.footer *{border-color:rgba(255,255,255,.08)}
#footer a,.footer a{color:#B8B8B8!important;transition:color .2s ease;text-decoration:none}
#footer a:hover,.footer a:hover{color:#996515!important}
#footer h3,#footer h4,#footer h5,.footer h3,.footer h4,.footer h5{font-family:"Inter",sans-serif!important;font-weight:700!important;font-size:12px!important;letter-spacing:2px!important;text-transform:uppercase!important;color:#FFFFFF!important;margin:0 0 18px!important}
#footer p,.footer p{color:#B8B8B8!important;font-size:14px!important;line-height:1.7!important}
#footer li,.footer li{margin-bottom:8px!important;list-style:none!important}
#footer ul,.footer ul{padding-left:0!important;margin:0!important}
#footer input[type="text"],#footer input[type="email"],.footer input[type="text"],.footer input[type="email"]{background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.15)!important;color:#FFFFFF!important;padding:10px 14px!important}
#footer input::placeholder,.footer input::placeholder{color:#8A8A8A!important}
#footer .btn,.footer .btn,#footer button,.footer button{background:#996515!important;color:#1A1A1A!important;border-color:#996515!important;font-family:"Inter",sans-serif!important;font-weight:700!important;letter-spacing:1px!important;text-transform:uppercase!important}
#footer .btn:hover,.footer .btn:hover,#footer button:hover,.footer button:hover{background:#B8803F!important;border-color:#B8803F!important}
#footer img,.footer img{filter:brightness(0) invert(1);opacity:.9}
#footer svg,.footer svg{color:#B8B8B8;transition:color .2s ease}
#footer a:hover svg,.footer a:hover svg{color:#996515}
/* Copyright řádek (Shoptet má obvykle .footer-bottom nebo .copyright) */
#footer .copyright,#footer .footer-bottom,.footer .copyright,.footer .footer-bottom{border-top:1px solid rgba(153,101,21,.25)!important;padding-top:20px!important;margin-top:24px!important;font-size:12px!important;color:#8A8A8A!important}

/* Dodatečný VsL copyright řádek (pokud ho JS přidá) */
.vsl-footer-legal{background:#0A0A0A;color:#8A8A8A;font-family:"Inter",sans-serif;font-size:12px;padding:20px 24px;border-top:1px solid rgba(153,101,21,.25);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;max-width:1200px;margin:0 auto}
.vsl-footer-legal span{color:#8A8A8A}
@media(max-width:640px){.vsl-footer-legal{flex-direction:column;text-align:center;padding:18px 16px}}

/* ===== FÁZE 10: MOBILNÍ OPTIMALIZACE ===== */
/* Globální — žádný horizontální scroll na mobilu */
html,body{max-width:100%;overflow-x:hidden}

/* Hamburger tlačítko (JS ho vkládá do .navigation-buttons) */
.vsl-burger{display:none;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:0;cursor:pointer;padding:0;margin:0;flex-shrink:0}
.vsl-burger__box{display:flex;flex-direction:column;gap:5px;width:24px}
.vsl-burger__bar{display:block;width:24px;height:2px;background:#1A1A1A;transition:transform .25s ease,opacity .2s ease}
.vsl-burger[aria-expanded="true"] .vsl-burger__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.vsl-burger[aria-expanded="true"] .vsl-burger__bar:nth-child(2){opacity:0}
.vsl-burger[aria-expanded="true"] .vsl-burger__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Fullscreen mobile nav overlay */
.vsl-mobile-nav{position:fixed;inset:0;z-index:2147483000;background:#0F0F0F;color:#FFFFFF;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:24px;opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease;-webkit-font-smoothing:antialiased}
.vsl-mobile-nav--open{opacity:1;visibility:visible}
.vsl-mobile-nav::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 20%,rgba(153,101,21,.12),transparent 65%);pointer-events:none}
.vsl-mobile-nav__close{position:absolute;top:16px;right:16px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(255,255,255,.15);color:#FFFFFF;font-size:28px;font-weight:300;line-height:1;cursor:pointer;border-radius:0;z-index:2}
.vsl-mobile-nav__close:hover{border-color:#996515;color:#996515}
.vsl-mobile-nav__list{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;max-width:420px;margin:0;padding:0;list-style:none}
.vsl-mobile-nav__item{width:100%;text-align:center}
.vsl-mobile-nav__link{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 16px;font-family:"Playfair Display",Georgia,serif;font-size:22px;font-weight:500;color:#FFFFFF;text-decoration:none;letter-spacing:.01em;transition:color .2s ease}
.vsl-mobile-nav__link:hover,.vsl-mobile-nav__link:active{color:#996515}
.vsl-mobile-nav__divider{width:60px;height:1px;background:rgba(153,101,21,.4);margin:14px auto;border:0}
.vsl-mobile-nav__actions{display:flex;gap:12px;margin-top:10px;flex-wrap:wrap;justify-content:center}
.vsl-mobile-nav__action{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:10px 18px;border:1px solid rgba(255,255,255,.2);color:#FFFFFF;text-decoration:none;font-family:"Inter",sans-serif;font-size:13px;letter-spacing:1px;text-transform:uppercase}
.vsl-mobile-nav__action:hover{border-color:#996515;color:#996515}
.vsl-mobile-nav__foot{position:absolute;bottom:28px;left:0;right:0;text-align:center;font-family:"Inter",sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#6B6B6B;z-index:2}

/* Body lock scroll když je menu otevřené */
body.vsl-nav-open{overflow:hidden!important;touch-action:none}

/* ===== @media 1024px — tablet ===== */
@media(max-width:1024px){
  /* Hero — mírné zmenšení */
  .vsl-hero{min-height:65vh;padding:80px 20px 60px}
  .vsl-hero h1{font-size:clamp(30px,5vw,52px)}
  /* Produkty recommended — min-width dolů */
  .recommended-products{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))!important;gap:16px!important}
}

/* ===== @media 768px — hamburger aktivní, hlavička 70px ===== */
@media(max-width:768px){
  /* Hlavička — sjednotit mobilní verze (SUPER-SPECIFIC pro Shoptet mobile template) */
  body.mobile #header,body #header{min-height:70px!important;padding-top:0!important;background-image:none!important;background-color:#FFFFFF!important}
  body.mobile #header .header-navigation,body #header .header-navigation{min-height:70px!important;box-shadow:0 2px 10px rgba(0,0,0,.06)!important;top:0!important}
  body.mobile #header .header-navigation>div,body #header .header-navigation>div{min-height:70px!important;gap:10px!important;padding:0 12px!important;flex-wrap:nowrap!important;align-items:center!important}
  /* Logo — SUPER-SPECIFIC nutné pro Shoptet mobile (h1.site-name > a > img) */
  body.mobile #header .site-name,body #header .site-name{max-height:54px!important;margin:0!important;padding:0!important;flex:1 1 auto!important}
  body.mobile #header .site-name a,body #header .site-name a{display:block!important;max-height:54px!important;max-width:220px!important}
  body.mobile #header .site-name a img,body #header .site-name img,body #header .site-name a>span{max-height:54px!important;height:54px!important;width:auto!important;max-width:200px!important;object-fit:contain!important;display:block!important}
  /* Desktop navigace skrýt — ale jen vizuálně, Shoptet nativní hamburger ji toggluje */
  body #header #navigation{display:none!important}
  body #header #navigation.vsl-nav-visible,body #header.vsl-nav-open #navigation{display:block!important;position:fixed!important;inset:0!important;top:70px!important;background:#0F0F0F!important;z-index:99999!important;padding:24px 16px!important;overflow-y:auto!important}
  /* Navigation buttons (cart, login) zmenšit gap */
  body #header .navigation-buttons{gap:4px!important;order:3!important;flex-shrink:0!important;display:flex!important;align-items:center!important}
  body #header .navigation-buttons>*{min-width:44px!important;min-height:44px!important;padding:10px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
  /* Shoptet sr-only text uvnitř ikon skryté — ale ikony samotné musí zůstat */
  body #header .navigation-buttons .sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
  /* === SHOPTET NATIVNÍ HAMBURGER — stylujeme ho jako 3-pruhy burger === */
  body #header .navigation-buttons a[data-target="navigation"],body #header .navigation-buttons a[data-testid="hamburgerMenu"]{position:relative!important;width:44px!important;height:44px!important;background:transparent!important;border:0!important}
  body #header .navigation-buttons a[data-target="navigation"]::before,body #header .navigation-buttons a[data-testid="hamburgerMenu"]::before{content:""!important;display:block!important;width:22px!important;height:2px!important;background:#1A1A1A!important;box-shadow:0 -7px 0 #1A1A1A, 0 7px 0 #1A1A1A!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;transition:all .25s ease!important}
  /* Shoptet text „Více" fallback skrýt */
  body #header .menu-helper,body .menu-helper{display:none!important}
  /* Ostatní ikony (search, login, cart) — zajistit viditelnost SVG/background */
  body #header .navigation-buttons a[data-target="search"],body #header .navigation-buttons a[data-target="cart"],body #header .navigation-buttons button[data-target="login"]{color:#1A1A1A!important}
  /* Vlastní VsL hamburger (fallback, pokud Shoptet nativní nefunguje) */
  .vsl-burger{display:none!important}

  /* Hero — tlačítka tap target 48px */
  .vsl-hero{min-height:60vh;padding:72px 16px 56px}
  .vsl-hero h1{font-size:clamp(28px,7vw,40px)}
  .vsl-hero__sub{font-size:15px;padding:0 8px}
  .vsl-hero__cta{gap:12px}
  .vsl-hero__btn{min-height:48px;padding:14px 28px;font-size:13px}

  /* Trust bar — už 4→2 na 768, doplnit padding */
  .vsl-trust{padding:40px 16px}

  /* Kategorie — 3→2 na 768 */
  .vsl-cat-grid{grid-template-columns:repeat(2,1fr);max-width:560px;gap:12px}
  .vsl-categories{padding:56px 16px}

  /* Příběh — jednosloupcově už na tabletu */
  #o-nas.vsl-story{padding:72px 16px}
  .vsl-story__grid{grid-template-columns:1fr;gap:36px;max-width:520px}
  .vsl-story__photo{aspect-ratio:4/5;max-width:340px;margin:0 auto}

  /* Newsletter */
  .vsl-newsletter{padding:64px 16px}

  /* B2B — 4→2 na 1024 už máme, doplníme 1024 hranici */
  .vsl-b2b{padding:64px 16px}

  /* Footer — menší padding + vrstvený layout */
  #footer .footer-inner,.footer .footer-inner,#footer .container,.footer .container{padding-left:16px!important;padding-right:16px!important}
  #footer h3,#footer h4,#footer h5,.footer h3,.footer h4,.footer h5{font-size:11px!important;margin-bottom:14px!important}

  /* Wine tagy na kartě o něco menší */
  .vsl-wine-tag{font-size:10px;padding:3px 8px}
}

/* ===== @media 640px — phone, produkty 1 sloupec, tap targets ===== */
@media(max-width:640px){
  /* Body font scale */
  html{scroll-padding-top:80px}

  /* Hero */
  .vsl-hero{min-height:78vh;padding:64px 16px 48px}
  .vsl-hero h1{font-size:clamp(26px,8vw,36px)}
  .vsl-hero__badge{font-size:11px;letter-spacing:3px;margin-bottom:24px}
  .vsl-hero__sub{font-size:14px;margin-bottom:32px}
  .vsl-hero__btn{min-height:50px;padding:15px 26px;font-size:12px;letter-spacing:1.6px;width:100%;max-width:300px}
  .vsl-hero__cta{flex-direction:column;align-items:center;gap:10px;width:100%}

  /* Produkty — Shoptet Waltz dává default 2 sloupce na mobilu přes flex-basis 50%, přepneme na 1 sloupec per prototyp */
  .products{gap:14px!important;flex-direction:column!important}
  .products .product{width:100%!important;flex-basis:100%!important;max-width:100%!important}
  .products .product .p-image{aspect-ratio:1/1!important;max-height:420px}
  .p-name{min-height:auto!important}
  .p-name span{-webkit-line-clamp:2!important;font-size:16px!important}

  /* Recommended products — 2 sloupce */
  .recommended-products{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}
  a.recommended-product{padding:14px 10px!important;min-height:220px}
  a.recommended-product img{height:110px!important}
  a.recommended-product .name{font-size:13px!important;min-height:32px}
  a.recommended-product .price,a.recommended-product .price-final{font-size:16px!important}

  /* Příběh */
  #o-nas.vsl-story{padding:56px 16px;scroll-margin-top:80px}
  .vsl-story__h2{font-size:24px}

  /* Newsletter — input font 16px aby iOS nezoomovoval, min-height 52px */
  .vsl-newsletter{padding:48px 16px}
  .vsl-newsletter__h2{font-size:24px}
  .vsl-newsletter__input{font-size:16px!important;min-height:52px;border-right:1px solid rgba(255,255,255,.2)}
  .vsl-newsletter__btn{min-height:52px;font-size:13px}

  /* B2B CTA tap target */
  .vsl-b2b{padding:48px 16px}
  .vsl-b2b__h2{font-size:24px}
  .vsl-b2b__cta{min-height:48px;padding:14px 36px;width:100%;max-width:320px;box-sizing:border-box}

  /* Mobile nav položky menší na malém displeji */
  .vsl-mobile-nav__link{font-size:20px;min-height:48px}
  .vsl-mobile-nav__close{top:12px;right:12px;width:44px;height:44px}

  /* Globální tap targets — všechna Shoptet tlačítka min 44px */
  button,.btn,a.btn,input[type="submit"],input[type="button"]{min-height:44px}

  /* iOS input font-size 16px aby nezoomovalo při focusu */
  input[type="text"],input[type="email"],input[type="tel"],input[type="password"],input[type="search"],input[type="number"],textarea,select{font-size:16px!important}
}

/* ===== @media 480px — úzký telefon ===== */
@media(max-width:480px){
  /* Trust bar — 2 sloupce s menšími čísly */
  .vsl-trust__num{font-size:24px}
  .vsl-trust__lbl{font-size:10px;letter-spacing:.5px}

  /* Kategorie 2 sloupce užší */
  .vsl-cat{padding:22px 10px}
  .vsl-cat__flag{font-size:28px;margin-bottom:8px}
  .vsl-cat__name{font-size:16px}
  .vsl-cat__reg{font-size:10px}

  /* Copyright řádek ještě menší */
  .vsl-footer-legal{font-size:11px;padding:16px 12px}
}
