:root{--ms-primarni-z:var(--ms-primarni,#1f6feb);--ms-akcent-z:var(--ms-akcent,#0b4fb3);--ms-hlavicka-z:var(--ms-hlavicka,#ffffff);--ms-text-z:var(--ms-text,#1d2330);}
.ms-obal{max-width:1200px;margin:0 auto;padding:0 20px;box-sizing:border-box;}
.ms-hlavicka{background:var(--ms-hlavicka-z);border-bottom:1px solid rgba(0,0,0,.08);position:relative;z-index:50;}
.ms-hlavicka-radek{display:flex;align-items:center;gap:24px;min-height:72px;flex-wrap:wrap;}
.ms-znacka{display:flex;align-items:center;text-decoration:none;color:var(--ms-text-z);}
.ms-znacka img.ms-logo{max-height:52px;width:auto;display:block;}
.ms-znacka .ms-logo-text{font-size:1.5rem;font-weight:700;color:var(--ms-text-z);}
.ms-menu{flex:1;display:flex;flex-wrap:wrap;gap:4px;align-items:center;}
.ms-menu ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap;}
.ms-menu a.sel{color:var(--ms-primarni-z);}
.ms-paticka-menu a{display:block;}
.ms-menu li{position:relative;list-style:none;}
.ms-menu a{display:block;padding:10px 14px;border-radius:6px;color:var(--ms-text-z);text-decoration:none;font-weight:600;}
.ms-menu a:hover{background:rgba(0,0,0,.05);color:var(--ms-primarni-z);}
.ms-menu ul ul{display:none;position:absolute;left:0;top:100%;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.12);border-radius:8px;padding:6px;min-width:220px;flex-direction:column;}
.ms-menu li:hover>ul{display:flex;}
.ms-nastroje{display:flex;align-items:center;gap:12px;margin-left:auto;}
.ms-ucet a{color:var(--ms-text-z);text-decoration:none;}
.ms-kosik{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--ms-primarni-z);color:#fff !important;text-decoration:none;font-weight:700;}
.ms-kosik:hover{background:var(--ms-akcent-z);}
.ms-kosik-pocet{display:inline-block;min-width:22px;padding:0 6px;border-radius:999px;background:#fff;color:var(--ms-primarni-z);font-size:.85em;text-align:center;line-height:22px;}
.ms-paticka{background:#11151c;color:#c9d1dc;margin-top:48px;padding:36px 0 16px;}
.ms-paticka a{color:#fff;text-decoration:none;}
.ms-paticka a:hover{text-decoration:underline;}
.ms-paticka-radek{display:flex;gap:40px;flex-wrap:wrap;align-items:flex-start;}
.ms-paticka-blok{min-width:200px;line-height:1.6;}
.ms-paticka-menu{display:flex;flex-direction:column;gap:6px;margin-left:auto;}
.ms-paticka-menu ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.ms-paticka-copy{margin-top:28px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);font-size:.85em;opacity:.8;}
.ms-uvod{padding:72px 0 80px;text-align:center;background:linear-gradient(135deg,var(--ms-primarni-z),var(--ms-akcent-z));color:#fff;}
.ms-uvod h1{font-size:2.6rem;margin:0 0 .4em;color:#fff;}
.ms-uvod-perex{max-width:640px;margin:0 auto 1.6em;font-size:1.15em;}
.ms-uvod-cta{display:inline-block;padding:14px 28px;border-radius:999px;background:#fff;color:var(--ms-primarni-z) !important;font-weight:700;text-decoration:none;}
.ms-uvod-kontakt{margin-top:2em;opacity:.9;}.ms-uvod-kontakt a{color:#fff;}
@media (max-width:760px){.ms-hlavicka-radek{gap:12px;padding:10px 0;}.ms-menu{order:3;flex-basis:100%;}.ms-nastroje{margin-left:auto;}.ms-paticka-menu{margin-left:0;}.ms-uvod h1{font-size:1.9rem;}}
/* E-shop ve vlastním designu (třída html.ms-vlastni) */
html.ms-vlastni body{margin:0;font-family:system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;color:var(--ms-text-z);background:#f6f7f9;line-height:1.5;}
html.ms-vlastni img{max-width:100%;}
html.ms-vlastni .box{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;box-sizing:border-box;}
html.ms-vlastni .flex{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
html.ms-vlastni .button{display:inline-flex;align-items:center;justify-content:center;gap:.4em;padding:.7em 1.3em;border:0;border-radius:999px;background:var(--ms-primarni-z);color:#fff;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;}
html.ms-vlastni .button:hover{background:var(--ms-akcent-z);}
html.ms-vlastni .button.white10,html.ms-vlastni .button.black45{background:#fff;color:var(--ms-text-z);border:1px solid rgba(0,0,0,.15);}
html.ms-vlastni .button img{height:1em;width:auto;display:block;}
html.ms-vlastni .link{font-weight:600;text-decoration:underline;}
html.ms-vlastni .link.color1,html.ms-vlastni .color1{color:var(--ms-primarni-z);}
html.ms-vlastni .button.color1{color:#fff;}
html.ms-vlastni .icon-info{display:inline-flex;align-items:center;gap:.4em;font-size:.85em;font-weight:600;}
html.ms-vlastni .icon-info img{display:block;width:1.1em;height:1.1em;}
html.ms-vlastni .cart{display:flex;flex-direction:column;gap:32px;max-width:1200px;margin:32px auto;padding:0 20px;box-sizing:border-box;}
html.ms-vlastni .cart .step{display:flex;flex-direction:column;gap:12px;}
html.ms-vlastni .cart .step h2{position:relative;font-size:1.4em;margin:0 0 .3em;}
html.ms-vlastni .cart .step h2:has(span){padding-left:1.8em;}
html.ms-vlastni .cart .step h2 span{position:absolute;left:0;top:.1em;display:flex;width:1.4em;height:1.4em;align-items:center;justify-content:center;border-radius:50%;background:var(--ms-primarni-z);color:#fff;font-size:.8em;}
html.ms-vlastni .cart-items{display:flex;flex-direction:column;gap:8px;}
html.ms-vlastni .cart-row{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:16px;position:relative;}
html.ms-vlastni .cart-row .img{display:block;flex-shrink:0;width:72px;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#fff;}
html.ms-vlastni .cart-row .img img{display:block;width:100%;height:100%;object-fit:contain;}
html.ms-vlastni .cart-row .info{flex:1 1 220px;}
html.ms-vlastni .cart-row .info span{display:block;}
html.ms-vlastni .cart-row .info .title{font-weight:700;}
html.ms-vlastni .cart-row .info .title a{color:inherit;text-decoration:none;}
html.ms-vlastni .cart-row .info .title a:hover{color:var(--ms-primarni-z);}
html.ms-vlastni .cart-row .info .note,html.ms-vlastni .cart-row .amount{font-size:.85em;color:rgba(0,0,0,.6);}
html.ms-vlastni .cart-items .cart-row .remove{display:block;position:relative;width:1.1em;height:1.1em;opacity:.5;cursor:pointer;}
html.ms-vlastni .cart-items .cart-row .remove:before,html.ms-vlastni .cart-items .cart-row .remove:after{content:'';position:absolute;left:0;top:calc(50% - 1px);width:100%;height:2px;background:currentColor;transform:rotate(45deg);}
html.ms-vlastni .cart-items .cart-row .remove:after{transform:rotate(-45deg);}
html.ms-vlastni .cart-items .cart-row .remove:hover{opacity:1;}
html.ms-vlastni .amount-change{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border:1px solid rgba(0,0,0,.15);border-radius:999px;}
html.ms-vlastni .amount-change input{width:3em;text-align:center;border:0;background:none;font:inherit;font-weight:700;color:inherit;-moz-appearance:textfield;}
html.ms-vlastni .amount-change input::-webkit-outer-spin-button,html.ms-vlastni .amount-change input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
html.ms-vlastni .amount-change button{width:1.6em;height:1.6em;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font:inherit;font-weight:700;line-height:1;cursor:pointer;}
html.ms-vlastni .amount-change button:hover{background:rgba(0,0,0,.06);}
html.ms-vlastni .amount-change .plus:before{content:'+';}
html.ms-vlastni .amount-change .minus:before{content:'\2212';}
html.ms-vlastni .pricing{display:block;}
html.ms-vlastni .pricing span{display:inline-block;line-height:1.2;}
html.ms-vlastni .pricing .price{font-size:1.3em;font-weight:700;}
html.ms-vlastni .pricing .price.no-tax,html.ms-vlastni .price-no-tax{display:block;font-size:.8em;font-weight:500;color:rgba(0,0,0,.6);}
html.ms-vlastni .pricing .price-old{display:flex;align-items:center;gap:.4em;}
html.ms-vlastni .pricing .price-old .amount,html.ms-vlastni .price-old .cena{text-decoration:line-through;color:rgba(0,0,0,.55);}
html.ms-vlastni .pricing .price-old .discount{padding:.2em .4em;border:2px solid var(--ms-primarni-z);border-radius:.4em;font-size:.8em;font-weight:700;}
html.ms-vlastni .pricing .omnibus-info{display:block;margin-top:.2rem;font-size:.8em;color:rgba(0,0,0,.6);}
html.ms-vlastni .no-tax:not(:empty):after{display:inline-block;margin-left:.25em;content:' bez DPH';}
html.ms-vlastni .cart .total-price{display:flex;justify-content:flex-end;gap:1.2em;font-size:1.15em;font-weight:700;}
html.ms-vlastni .cart .total-price > div span{display:block;}
html.ms-vlastni .cart .total-price > div .total-no-tax,html.ms-vlastni .cart .summary .summary-price .total.no-tax{font-size:.7em;font-weight:600;}
html.ms-vlastni .delivery .opts{display:flex;flex-direction:column;gap:8px;}
html.ms-vlastni .delivery .opts:not(:first-child){margin-top:16px;}
html.ms-vlastni .delivery .opts .subheadline,html.ms-vlastni .subheadline{display:block;font-weight:700;}
html.ms-vlastni .delivery input[type=radio]{position:absolute;visibility:hidden;left:-9999px;}
html.ms-vlastni .delivery .cart-row{border:2px solid transparent;}
html.ms-vlastni .delivery .cart-row:has(input):hover{background:#f0f3f7;cursor:pointer;}
html.ms-vlastni .delivery .cart-row:has(input[type=radio]:checked){border-color:var(--ms-primarni-z);}
html.ms-vlastni .delivery .cart-row .radio-sel{display:flex;width:1.2em;height:1.2em;align-items:center;justify-content:center;border:2px solid rgba(0,0,0,.25);border-radius:50%;box-sizing:border-box;}
html.ms-vlastni .delivery .cart-row .radio-sel:after{content:'';display:block;width:50%;height:50%;border-radius:50%;background:var(--ms-primarni-z);opacity:0;}
html.ms-vlastni .delivery .cart-row:has(input[type=radio]:checked) .radio-sel{border-color:var(--ms-primarni-z);}
html.ms-vlastni .delivery .cart-row:has(input[type=radio]:checked) .radio-sel:after{opacity:1;}
html.ms-vlastni .client-details{padding:24px;gap:16px;}
html.ms-vlastni .checkbox{display:block;position:relative;}
html.ms-vlastni .checkbox:has(.chk1:checked) + .hidden{display:none;}
html.ms-vlastni .form-item{display:flex;flex-wrap:wrap;gap:6px;width:100%;}
html.ms-vlastni .form-item label{display:block;width:100%;font-size:.9em;font-weight:600;}
html.ms-vlastni .form-item.obligatory label:after{content:' *';}
html.ms-vlastni .form-item-element{display:flex;width:100%;border:1px solid rgba(0,0,0,.2);border-radius:8px;background:#fff;}
html.ms-vlastni .form-item-element:focus-within{border-color:var(--ms-primarni-z);}
html.ms-vlastni .form-item :is(input,textarea,select){display:block;width:100%;padding:.6em .8em;border:0;background:none;font:inherit;color:inherit;outline:none;box-sizing:border-box;}
html.ms-vlastni .form-item .note{display:block;width:100%;font-size:.8em;color:rgba(0,0,0,.6);}
html.ms-vlastni .form-item .form-error{display:block;width:100%;font-size:.8em;color:#c62828;}
html.ms-vlastni .cart .summary{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:20px;}
html.ms-vlastni .cart .summary span{display:block;font-size:1.3em;font-weight:700;}
html.ms-vlastni .cart .summary .summary-price{flex-grow:2;text-align:right;}
html.ms-vlastni .cart .summary-consent{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px 20px;margin-top:12px;}
html.ms-vlastni .order-list{display:block;width:100%;}
html.ms-vlastni .order-list table{width:100%;border-collapse:separate;border-spacing:0 6px;}
html.ms-vlastni .order-list table :is(td,th){padding:12px 16px;text-align:left;vertical-align:top;}
html.ms-vlastni .order-list table th{font-size:.8em;color:var(--ms-primarni-z);font-weight:600;padding-bottom:0;}
html.ms-vlastni .order-list table td{background:#fff;}
html.ms-vlastni .order-list table td .items{display:inline-block;max-width:25em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:rgba(0,0,0,.6);}
html.ms-vlastni .order-list table :is(td,th):nth-child(4),html.ms-vlastni .order-list table td:last-child{text-align:right;}
html.ms-vlastni .order-detail{display:flex;flex-direction:column;gap:24px;max-width:1200px;margin:32px auto;padding:0 20px;box-sizing:border-box;}
html.ms-vlastni .order-detail .head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 24px;}
html.ms-vlastni .order-detail .order-title{display:block;font-size:1.6em;font-weight:700;}
html.ms-vlastni .order-detail .date{display:block;font-size:.9em;color:rgba(0,0,0,.6);}
html.ms-vlastni .order-detail .cols{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px 0;}
html.ms-vlastni .payment-box{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:20px;padding:20px;}
html.ms-vlastni .payment-box .qr{display:block;width:8em;}
html.ms-vlastni .payment-box .qr img{display:block;width:100%;}
html.ms-vlastni .payment-box .data span{display:block;margin-block:.1rem;font-size:.9em;}
html.ms-vlastni .payment-box .data .title{font-size:1.2em;font-weight:700;}
@media (min-width:961px){html.ms-vlastni .order-detail .cols > *{width:49%;}}
@media (max-width:760px){html.ms-vlastni .cart-row{padding:12px;}html.ms-vlastni .order-list table thead{display:none;}html.ms-vlastni .order-list table,html.ms-vlastni .order-list table tbody,html.ms-vlastni .order-list table tr,html.ms-vlastni .order-list table td{display:block;}html.ms-vlastni .order-list table td{text-align:left !important;}}
/* ==========================================================================
   E-shop Vlásenický dvůr — vlastní design microsite (režim „vlastni“, bez stylu hlavního webu)
   Vzor: dodaný náhled (1055 px) přepočtený na 1440 px (× ~1,36). Barvy změřené z náhledu.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@400;500;600;700&family=Nunito+Sans:opsz,wght@6..12,400;6..12,600;6..12,700;6..12,800&family=Roboto+Slab:wght@700;800&display=swap');

:root {
  --vd-zelena: #66921d;
  --vd-zelena-tmava: #4f7416;
  --vd-zelena-text: #4b6a12;
  --vd-zelena-svetla: #d5e5a2;
  --vd-zelena-pozadi: #e9f2d9;
  --vd-zelena-kruh: #eef6d6;
  --vd-kopec: #d3e5a3;
  --vd-strom: #79a733;
  --vd-modra-lista: #cfe9f2;
  --vd-modra-hero: #d3e8f2;
  --vd-modra-paticka: #ddeff6;
  --vd-text: #17191c;
  --vd-text-2: #4a4f55;
  --vd-text-3: #6d7277;
  --vd-linka: #e6e8e3;
  --vd-tmava-zelena: #47561f;
  --vd-radius: 14px;
  --vd-radius-m: 10px;
  --vd-obal: 1340px;
  --vd-pismo: 'Nunito Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --vd-pismo-nadpis: 'Lexend', 'Nunito Sans', system-ui, sans-serif;
  --vd-pismo-logo: 'Roboto Slab', Georgia, serif;
  /* proměnné čistých šablon obchodu (ZAKLADNI_CSS_ESHOP) */
  --ms-primarni-z: var(--vd-zelena);
  --ms-akcent-z: var(--vd-zelena-tmava);
  --ms-text-z: var(--vd-text);
}

html.ms-vlastni body { margin: 0; background: #fff; color: var(--vd-text); font-family: var(--vd-pismo); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
html.ms-vlastni *, html.ms-vlastni *:before, html.ms-vlastni *:after { box-sizing: border-box; }
html.ms-vlastni img { max-width: 100%; }
html.ms-vlastni a { color: inherit; }
html.ms-vlastni h1, html.ms-vlastni h2, html.ms-vlastni h3 { font-family: var(--vd-pismo-nadpis); font-weight: 700; letter-spacing: -0.01em; color: var(--vd-text); }
html.ms-vlastni svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
html.ms-vlastni svg.vd-plne, html.ms-vlastni svg .vd-plne { fill: currentColor; stroke: none; }
.vd-obal { width: 100%; max-width: var(--vd-obal); margin: 0 auto; padding-inline: 24px; }

/* ---------- tlačítka ---------- */
.vd-tlacitko { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 0 26px; border: 2px solid var(--vd-zelena); border-radius: 12px; background: var(--vd-zelena); color: #fff !important; font-family: var(--vd-pismo); font-size: 16px; font-weight: 800; text-decoration: none; cursor: pointer; transition: background .2s, border-color .2s, color .2s, box-shadow .2s; box-shadow: 0 2px 0 rgba(0,0,0,.06); }
.vd-tlacitko svg { font-size: 20px; }
.vd-tlacitko:hover { background: var(--vd-zelena-tmava); border-color: var(--vd-zelena-tmava); }
.vd-tlacitko-obrys { background: #fff; color: var(--vd-text) !important; border-color: var(--vd-zelena); }
.vd-tlacitko-obrys:hover { background: var(--vd-zelena-pozadi); border-color: var(--vd-zelena-tmava); }
.vd-tlacitko-male { min-height: 42px; padding: 0 22px; font-size: 14px; }
.vd-odkaz { display: inline-flex; align-items: center; gap: 12px; color: var(--vd-zelena-text); font-weight: 800; font-size: 15px; text-decoration: none; }
.vd-odkaz svg { font-size: 19px; color: var(--vd-text); }
.vd-odkaz:hover { text-decoration: underline; }

/* ---------- horní lišta ---------- */
.vd-topbar { background: var(--vd-modra-lista); font-size: 14px; color: var(--vd-text); }
.vd-topbar-in { display: flex; align-items: center; justify-content: space-between; min-height: 40px; gap: 16px; }
.vd-topbar-kontakt { display: flex; gap: 40px; }
.vd-topbar a { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--vd-text); }
.vd-topbar a:hover { color: var(--vd-zelena-tmava); }
.vd-topbar-kontakt svg { font-size: 16px; color: #c0392b; }
.vd-topbar-kontakt a + a svg { color: var(--vd-text); }
.vd-topbar-prava { display: flex; align-items: center; gap: 28px; }
.vd-topbar-menu { display: flex; align-items: center; }
.vd-topbar-menu a { padding: 0 18px; border-left: 1px solid rgba(0,0,0,.25); line-height: 1; }
.vd-topbar-menu a:first-child { border-left: 0; }
.vd-social { display: flex; align-items: center; gap: 16px; }
.vd-social a svg { font-size: 20px; }

/* ---------- hlavička ---------- */
.vd-hlavicka { background: #fff; position: relative; z-index: 50; }
.vd-hlavicka-in { display: flex; align-items: center; gap: 32px; min-height: 102px; }
.vd-logo { display: flex; align-items: center; gap: 18px; text-decoration: none; color: var(--vd-text); flex-shrink: 0; }
.vd-logo img, .vd-logo .ms-logo { display: block; width: auto; height: 86px; max-width: 300px; object-fit: contain; }
.vd-logo .ms-logo-text { display: none; }
.vd-logo-text { font-family: var(--vd-pismo-logo); font-weight: 800; font-size: 17.5px; line-height: 1.2; letter-spacing: -0.005em; }
.vd-hledani { flex: 1; max-width: 555px; margin-left: 50px; position: relative; }
.vd-hledani .form-item { position: relative; }
.vd-hledani .form-item-element { display: flex; align-items: center; height: 44px; border: 1.5px solid #d4d8d2; border-radius: 12px; background: #fff; overflow: hidden; box-shadow: inset 0 1px 2px rgba(0,0,0,.04); }
.vd-hledani .form-item-element:focus-within { border-color: var(--vd-zelena); }
.vd-hledani input { flex: 1; min-width: 0; height: 100%; padding: 0 16px; border: 0; outline: 0; background: none; font: inherit; font-size: 15px; color: var(--vd-text); }
.vd-hledani input::placeholder { color: #6e7378; }
.vd-hledani .button { display: flex; align-items: center; justify-content: center; width: 54px; height: calc(100% - 6px); margin-right: 3px; border: 0; border-radius: 9px; background: var(--vd-zelena); color: #fff; cursor: pointer; }
.vd-hledani .button svg { font-size: 20px; }
.vd-hledani .button:hover { background: var(--vd-zelena-tmava); }
.vd-nastroje { display: flex; align-items: center; gap: 30px; margin-left: auto; }
.vd-ucet { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; }
.vd-ucet svg { font-size: 22px; }
.vd-ucet a { text-decoration: none; color: var(--vd-text); font-weight: 600; }
.vd-ucet a:hover { color: var(--vd-zelena-tmava); }
.vd-kosik { display: inline-flex; align-items: center; gap: 12px; height: 46px; padding: 0 10px 0 22px; border-radius: 999px; background: var(--vd-zelena-svetla); color: var(--vd-text) !important; font-weight: 800; font-size: 15px; text-decoration: none; transition: background .2s; }
.vd-kosik:hover { background: #c8dc8b; }
.vd-kosik svg { font-size: 22px; }
.vd-kosik-pocet { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 28px; padding: 0 6px; border-radius: 999px; background: var(--vd-tmava-zelena); color: #fff; font-size: 14px; font-weight: 800; }
.vd-navicon { display: none; width: 44px; height: 44px; border: 0; border-radius: 10px; background: var(--vd-zelena-pozadi); color: var(--vd-text); cursor: pointer; align-items: center; justify-content: center; }
.vd-navicon svg { font-size: 24px; }
.vd-menu { border-top: 1px solid var(--vd-linka); border-bottom: 1px solid var(--vd-linka); background: #fff; }
.vd-menu .vd-obal { display: flex; justify-content: center; flex-wrap: wrap; }
.vd-menu a { display: block; padding: 13px 33px; color: var(--vd-text); text-decoration: none; font-size: 17px; font-weight: 400; white-space: nowrap; border-bottom: 3px solid transparent; }
.vd-menu a:hover, .vd-menu a.sel { color: var(--vd-zelena-tmava); border-bottom-color: var(--vd-zelena); }

/* našeptávač (default.js: .whisperer.show) */
.vd-hledani .whisperer { display: none; position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 60; }
.vd-hledani .whisperer.show { display: block; }
.vd-hledani .whisperer .inner { max-height: 380px; border: 1px solid var(--vd-linka); border-radius: 12px; background: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.12); overflow: hidden; }
.vd-hledani .whisperer .overflow { max-height: 380px; overflow-y: auto; padding-bottom: 6px; }
.vd-hledani .whisperer .whisperer-title { display: block; padding: 12px 16px 4px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--vd-zelena-text); }
.vd-hledani .whisperer .whisperer-title:empty { display: none !important; }
.vd-hledani .whisperer .results > div { position: relative; }
.vd-hledani .whisperer .results > div:hover { background: var(--vd-zelena-pozadi); }
.vd-hledani .whisperer .results a { display: flex; align-items: center; gap: 12px; padding: 8px 44px 8px 16px; text-decoration: none; color: var(--vd-text); }
.vd-hledani .whisperer .thumb { display: flex; width: 40px; height: 40px; flex-shrink: 0; border-radius: 8px; overflow: hidden; background: #f3f4f1; }
.vd-hledani .whisperer .thumb img { width: 100%; height: 100%; object-fit: cover; }
.vd-hledani .whisperer .name strong, .vd-hledani .whisperer .path strong { font-weight: 700; }
.vd-hledani .whisperer mark { background: var(--vd-zelena-svetla); color: inherit; }
.vd-hledani .whisperer .path { display: flex; flex-wrap: wrap; gap: 6px; font-size: 14px; color: var(--vd-text-3); }
.vd-hledani .whisperer .remove { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border: 0; border-radius: 50%; background: none; cursor: pointer; }
.vd-hledani .whisperer .remove svg { width: 10px; height: 10px; fill: var(--vd-text-3); stroke: none; }

/* ---------- úvodní stránka ---------- */
.vd-uvod { padding-bottom: 0; overflow-x: clip; }
.vd-hero { position: relative; display: grid; grid-template-columns: 43% 57%; min-height: 388px; margin-top: 20px; padding: 0; border-radius: 18px; overflow: hidden; background: var(--vd-modra-hero); max-width: calc(var(--vd-obal) - 48px); }
.vd-hero-text { position: relative; z-index: 2; padding: 38px 20px 40px 55px; }
.vd-stitek { display: block; margin-bottom: 14px; font-size: 13px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: #3a3f44; }
.vd-hero h1 { margin: 0 0 24px; font-size: 45px; line-height: 1.15; font-weight: 600; letter-spacing: -0.02em; }
.vd-swoosh-obal { position: relative; display: inline-block; white-space: nowrap; }
.vd-swoosh { position: absolute; left: 0; width: 100% !important; height: 18px !important; bottom: -16px; stroke: var(--vd-zelena) !important; stroke-width: 4 !important; }
.vd-hero-perex { margin: 0 0 30px; font-size: 20px; line-height: 1.5; color: #3e4449; }
.vd-hero-tlacitka { display: flex; flex-wrap: nowrap; gap: 18px; }
.vd-hero-tlacitka .vd-tlacitko { min-height: 46px; border-radius: 11px; }
.vd-hero-tlacitka .vd-tlacitko:first-child { padding: 0 26px; }
.vd-hero-tlacitka .vd-tlacitko-obrys { border-color: #b4c48c; padding: 0 20px; box-shadow: 0 2px 6px rgba(0,0,0,.08); }
.vd-hero-foto { position: absolute; inset: 0 0 0 auto; width: 60.5%; background: url('/DATA/microsite/vlasenickydvur/obrazky/hero.jpg') no-repeat right center / cover; -webkit-mask-image: linear-gradient(to right, transparent 0, #000 9%); mask-image: linear-gradient(to right, transparent 0, #000 9%); }

.vd-kategorie { display: grid; grid-template-columns: repeat(6, 1fr); gap: 14px; margin-top: 22px; max-width: var(--vd-obal); }
html.ms-vlastni .vd-kat, html.ms-vlastni .vd-kat-popis { color: #fff; }
.vd-kat { position: relative; display: block; height: 180px; border-radius: var(--vd-radius); overflow: hidden; text-decoration: none; color: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.vd-kat img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.vd-kat:hover img { transform: scale(1.05); }
.vd-kat:after { content: ""; position: absolute; inset: 40% 0 0 0; background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,.62)); }
.vd-kat-popis { position: absolute; left: 14px; right: 10px; bottom: 16px; z-index: 2; display: flex; align-items: center; gap: 10px; font-size: 15.5px; font-weight: 800; line-height: 1.15; text-shadow: 0 1px 2px rgba(0,0,0,.35); }
.vd-kat-popis > svg:first-child { font-size: 30px; stroke-width: 1.6; }
.vd-kat-popis .vd-sipka { font-size: 15px; }

.vd-sekce { margin-top: 40px; }
.vd-stitek-sekce { display: block; font-size: 11px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; color: #3f4449; }
.vd-sekce h2, .vd-o-skole h2 { margin: 8px 0 0; font-size: 31px; line-height: 1.2; font-weight: 600; }
.vd-sekce-hlava { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 26px; }

/* karty zboží (úvod i výpis kategorie) */
.vd-produkty { display: grid; grid-template-columns: repeat(6, 1fr); gap: 11px; }
.vd-karta { display: flex; flex-direction: column; border: 1px solid var(--vd-linka); border-radius: 11px; background: #fff; overflow: hidden; transition: box-shadow .2s, transform .2s; }
.vd-karta:hover { box-shadow: 0 10px 24px rgba(0,0,0,.08); transform: translateY(-2px); }
.vd-karta-foto { position: relative; display: block; aspect-ratio: 218 / 200; background: #f3f4f1; overflow: hidden; }
.vd-karta-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vd-karta-text { display: flex; flex: 1; flex-direction: column; padding: 13px 15px 15px; }
.vd-karta-nazev { font-size: 15.5px; font-weight: 600; line-height: 1.3; color: var(--vd-text); text-decoration: none; }
.vd-karta-nazev:hover { color: var(--vd-zelena-tmava); }
.vd-karta-perex { margin-top: 4px; font-size: 12.5px; line-height: 1.35; color: var(--vd-text-2); }
.vd-karta-spodek { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 14px; }
.vd-karta-cena { display: flex; flex-direction: column; font-size: 16px; font-weight: 800; color: var(--vd-text); line-height: 1.1; }
.vd-karta-cena .vd-cena-puvodni { font-size: 12px; font-weight: 600; color: var(--vd-text-3); text-decoration: line-through; }
.vd-karta-kosik { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 30px; border: 0; border-radius: 7px; background: var(--vd-zelena); color: #fff; cursor: pointer; transition: background .2s; }
.vd-karta-kosik svg { font-size: 19px; }
.vd-karta-kosik:hover { background: var(--vd-zelena-tmava); }
.vd-karta-kosik[disabled] { opacity: .55; cursor: wait; }
.vd-sleva { position: absolute; left: 10px; top: 10px; padding: 3px 9px; border-radius: 999px; background: #c0392b; color: #fff; font-size: 13px; font-weight: 800; }

.vd-hero, .vd-podpora { width: calc(100% - 48px); }
/* banner podpory */
.vd-podpora { position: relative; display: flex; align-items: center; gap: 28px; min-height: 100px; margin-top: 26px; padding: 0 60px 0 40px; border: 1px solid #dfe9cb; border-radius: var(--vd-radius); background: #e8f1d7; overflow: hidden; max-width: calc(var(--vd-obal) - 48px); }
.vd-podpora-maskot { align-self: flex-end; width: 222px; height: auto; margin-bottom: -1px; }
.vd-podpora-text { display: flex; flex-direction: column; gap: 6px; }
.vd-podpora-text strong { font-family: var(--vd-pismo-nadpis); font-size: 21.5px; white-space: nowrap; font-weight: 600; line-height: 1.25; }
.vd-podpora-text span { font-size: 16px; color: var(--vd-text-2); }
.vd-podpora-paprsky { font-size: 30px; color: var(--vd-zelena); stroke-width: 2.4 !important; margin-left: auto; margin-top: -22px; transform: rotate(80deg); }
.vd-podpora .vd-tlacitko { flex-shrink: 0; border-color: var(--vd-zelena-tmava); }

/* výhody */
.vd-vyhody { margin-top: 36px; }
.vd-vyhody-radek { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 18px; }
.vd-vyhoda { display: flex; align-items: flex-start; gap: 22px; padding: 0 22px; border-left: 1.5px solid var(--vd-linka); }
.vd-vyhoda:first-child { border-left: 0; padding-left: 6px; }
.vd-vyhoda-ikona { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; flex-shrink: 0; border-radius: 50%; background: var(--vd-zelena-kruh); color: var(--vd-text); }
.vd-vyhoda-ikona svg { font-size: 34px; stroke-width: 1.5; }
.vd-vyhoda strong { display: block; font-family: var(--vd-pismo-nadpis); font-size: 18px; font-weight: 600; line-height: 1.3; }
.vd-vyhoda div > span { display: block; margin-top: 6px; font-size: 14px; line-height: 1.45; color: var(--vd-text-2); }

/* o škole */
.vd-o-skole { position: relative; display: grid; grid-template-columns: 595px 1fr; gap: 50px; align-items: center; margin-top: 42px; padding-bottom: 20px; }
.vd-o-skole-foto { display: block; width: 100%; height: 226px; object-fit: cover; border-radius: var(--vd-radius); box-shadow: 0 6px 18px rgba(0,0,0,.12); }
.vd-o-skole-text { position: relative; z-index: 2; max-width: 610px; }
.vd-o-skole h2 { font-size: 28px; }
.vd-o-skole p { margin: 14px 0 22px; font-size: 16px; line-height: 1.55; color: #2e3337; }
.vd-o-skole-dekor { position: absolute; right: 0; bottom: 0; width: 40%; height: 140px; pointer-events: none; }
.vd-o-skole-dekor:before { content: ""; position: absolute; right: -24px; bottom: -40px; width: 100%; height: 80px; background: var(--vd-kopec); border-radius: 100% 0 0 0 / 100% 0 0 0; }
.vd-strom { position: absolute; bottom: 0; width: 46px !important; height: 104px !important; stroke: var(--vd-strom) !important; stroke-width: 2.4 !important; z-index: 1; }
.vd-strom-1 { right: 64px; bottom: -6px; }
.vd-strom-2 { right: 22px; height: 120px !important; width: 52px !important; bottom: -4px; }

/* ---------- patička ---------- */
.vd-paticka { margin-top: 24px; background: var(--vd-modra-paticka); color: var(--vd-text); font-size: 14px; }
.vd-paticka a { color: var(--vd-text); text-decoration: none; }
.vd-paticka a:hover { color: var(--vd-zelena-tmava); text-decoration: underline; }
.vd-paticka-in { display: grid; grid-template-columns: 330px 220px 190px 1fr auto; gap: 0; padding-top: 22px; padding-bottom: 28px; }
.vd-paticka-in > * { padding: 0 34px; }
.vd-paticka-in > *:first-child { padding-left: 0; }
.vd-paticka-znacka, .vd-paticka-sloupec:nth-of-type(2) { border-right: 1px solid rgba(0,0,0,.12); }
.vd-logo-mensi img, .vd-logo-mensi .ms-logo { width: auto; height: 66px; }
.vd-logo-mensi .vd-logo-text { font-size: 14px; }
.vd-paticka-kontakt { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.vd-paticka-kontakt li { display: flex; align-items: center; gap: 14px; }
.vd-paticka-kontakt svg { font-size: 17px; }
.vd-paticka-sloupec { display: flex; flex-direction: column; gap: 4px; padding-top: 2px; }
.vd-paticka-nadpis { display: block; margin-bottom: 6px; font-family: var(--vd-pismo-nadpis); font-size: 15.5px; font-weight: 600; }
.vd-paticka-novinky { border-left: 1px solid rgba(0,0,0,.12); padding-left: 48px !important; }
.vd-paticka-novinky p { margin: 0 0 12px; font-size: 13px; color: var(--vd-text-2); max-width: 330px; }
.vd-novinky-radek { display: flex; max-width: 400px; height: 38px; }
.vd-novinky-pole { display: flex; flex: 1; align-items: center; gap: 10px; padding: 0 12px; border: 1px solid #c9d3d6; border-right: 0; border-radius: 6px 0 0 6px; background: #fff; }
.vd-novinky-pole svg { font-size: 16px; color: var(--vd-text-2); }
.vd-novinky-pole input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font: inherit; font-size: 13px; }
.vd-novinky-radek .vd-tlacitko { min-height: 38px; height: 38px; padding: 0 22px; border-radius: 0 7px 7px 0; font-size: 13px; }
.vd-souhlas { display: flex; align-items: center; gap: 10px; margin-top: 10px; font-size: 12.5px; cursor: pointer; }
.vd-souhlas input { width: 16px; height: 16px; accent-color: var(--vd-zelena); }
.vd-souhlas a { text-decoration: underline !important; }
.vd-novinky-zprava { display: block; margin-top: 8px; font-size: 13px; font-weight: 700; }
.vd-novinky-zprava.vd-chyba { color: #b3261e; }
.vd-novinky-zprava.vd-ok { color: var(--vd-zelena-tmava); }
.vd-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.vd-social-paticka { align-self: flex-start; padding-top: 18px !important; padding-right: 0 !important; gap: 22px; }
.vd-social-paticka svg { font-size: 19px; }
.vd-paticka-spodek { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 38px; border-top: 1px solid rgba(0,0,0,.08); font-size: 12.5px; }
.vd-paticka-motto { display: inline-flex; align-items: center; gap: 12px; }
.vd-paticka-motto svg { font-size: 19px; color: var(--vd-zelena); }

html.ms-vlastni .in_website_hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
html.ms-vlastni .PKWin_frm_chyba { display: block; margin-top: 6px; color: #b3261e; font-size: 13px; font-weight: 700; }
html.ms-vlastni .button.color1 { color: #fff; }

/* ---------- stránky obchodu (výpis, detail, obecný obsah) ---------- */
html.ms-vlastni main.main, .vd-stranka { display: block; }
html.ms-vlastni .wrapper { width: 100%; max-width: var(--vd-obal); margin: 0 auto; padding: 0 24px; }
html.ms-vlastni .section { padding: 26px 0 40px; }
html.ms-vlastni .breadcrumbs ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 10px; padding: 0; font-size: 14px; color: var(--vd-text-3); }
html.ms-vlastni .breadcrumbs li + li:before { content: "›"; margin-right: 8px; }
html.ms-vlastni .breadcrumbs a { text-decoration: none; color: var(--vd-text-3); }
html.ms-vlastni .breadcrumbs a:hover { color: var(--vd-zelena-tmava); }
html.ms-vlastni .page-head h1, html.ms-vlastni .detail h1 { margin: 0 0 20px; font-size: 34px; font-weight: 600; }

/* výpis kategorie */
html.ms-vlastni .shop { display: grid; grid-template-columns: 250px 1fr; gap: 28px; align-items: start; }
html.ms-vlastni .filters-vertical .show-filters { display: none; }
html.ms-vlastni .filters-vertical .wndw { position: static; display: block; left: auto; width: auto; height: auto; padding: 0; }
html.ms-vlastni .filters-vertical .wndw:before, html.ms-vlastni .filters-vertical .wndw .outer, html.ms-vlastni .filters-vertical .wndw .cross { display: none; }
html.ms-vlastni .filters-vertical .wndw > div { display: block; max-width: none; max-height: none; background: none; box-shadow: none; backdrop-filter: none; transform: none; border-radius: 0; }
html.ms-vlastni .shop-filters-inner { text-align: left; padding: 18px; border: 1px solid var(--vd-linka); border-radius: var(--vd-radius); background: #fff; }
html.ms-vlastni .filter-title { display: block; margin-bottom: 8px; font-family: var(--vd-pismo-nadpis); font-weight: 600; font-size: 17px; }
html.ms-vlastni .categories ul { list-style: none; margin: 0; padding: 0; }
html.ms-vlastni .categories li a { display: block; padding: 8px 10px; border-radius: 8px; text-decoration: none; color: var(--vd-text); font-weight: 600; }
html.ms-vlastni .categories li a:hover, html.ms-vlastni .categories li.sel > a { background: var(--vd-zelena-pozadi); color: var(--vd-zelena-tmava); }
html.ms-vlastni .categories ul ul { padding-left: 12px; }
html.ms-vlastni .items-topbar { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-bottom: 16px; }
html.ms-vlastni .ordering { display: flex; gap: 6px; }
html.ms-vlastni .ordering a { padding: 7px 14px; border-radius: 999px; background: #f2f4ef; color: var(--vd-text); text-decoration: none; font-size: 14px; font-weight: 700; cursor: pointer; }
html.ms-vlastni .ordering a.sel, html.ms-vlastni .ordering a:hover { background: var(--vd-zelena); color: #fff; }
html.ms-vlastni #eshop-produkty.items { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
html.ms-vlastni .pagination { display: flex; justify-content: center; gap: 6px; margin-top: 26px; }
html.ms-vlastni .pagination a, html.ms-vlastni .pagination span { display: inline-flex; min-width: 38px; height: 38px; align-items: center; justify-content: center; border-radius: 10px; background: #f2f4ef; text-decoration: none; font-weight: 700; }
html.ms-vlastni .pagination a.sel { background: var(--vd-zelena); color: #fff; }
html.ms-vlastni .custom-dropdown { margin-top: 14px; }
html.ms-vlastni .custom-dropdown-label { display: block; font-weight: 800; margin-bottom: 6px; }
html.ms-vlastni .custom-dropdown-overflow { display: block; }
html.ms-vlastni .checkbox label { cursor: pointer; }

/* detail produktu */
html.ms-vlastni .detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "drob drob" "foto nazev" "foto obsah"; column-gap: 48px; align-items: start; }
html.ms-vlastni .detail > .breadcrumbs { grid-area: drob; }
html.ms-vlastni .detail > h1 { grid-area: nazev; }
html.ms-vlastni .detail > .image { grid-area: foto; grid-row: 2 / span 20; }
html.ms-vlastni .detail > :not(.breadcrumbs):not(h1):not(.image) { grid-column: 2; }
html.ms-vlastni .detail .image .swiper { border-radius: var(--vd-radius); overflow: hidden; background: #f3f4f1; }
html.ms-vlastni .detail .image .swiper-wrapper { display: flex; }
html.ms-vlastni .detail .image .swiper-slide { flex-shrink: 0; width: 100%; }
html.ms-vlastni .detail .image .swiper-slide a { display: block; position: relative; padding-top: 92%; }
html.ms-vlastni .detail .image .swiper-slide a span { position: absolute; inset: 0; }
html.ms-vlastni .detail .image .swiper-slide img { width: 100%; height: 100%; object-fit: cover; }
html.ms-vlastni .detail .image .cover { position: relative; }
html.ms-vlastni .detail .image .swiper-button { position: absolute; top: 50%; z-index: 5; width: 38px; height: 38px; margin-top: -19px; border-radius: 50%; background: rgba(0,0,0,.35); display: flex; align-items: center; justify-content: center; cursor: pointer; }
html.ms-vlastni .detail .image .swiper-button img { width: 14px; }
html.ms-vlastni .detail .image .swiper-button-prev { left: 10px; transform: rotate(180deg); }
html.ms-vlastni .detail .image .swiper-button-next { right: 10px; }
html.ms-vlastni .detail .image .swiper-button-lock, html.ms-vlastni .swiper-notification { display: none !important; }
html.ms-vlastni .detail .image .thumbs { margin-top: 10px; overflow: hidden; }
html.ms-vlastni .detail .image .thumbs .swiper-slide { width: 25%; padding-right: 8px; }
html.ms-vlastni .detail .image .thumbs .swiper-slide a { padding-top: 75%; border-radius: 8px; overflow: hidden; opacity: .6; }
html.ms-vlastni .detail .image .thumbs .swiper-slide-thumb-active a { opacity: 1; }
html.ms-vlastni .detail .box.table:not(:has(td)) { display: none; }
html.ms-vlastni .detail .box.table { margin-bottom: 16px; padding: 0; border: 0; background: none; }
html.ms-vlastni .detail .box.table table { width: 100%; border-collapse: collapse; font-size: 14px; }
html.ms-vlastni .detail .box.table td { padding: 8px 0; border-bottom: 1px solid var(--vd-linka); }
html.ms-vlastni .detail .box.table td:first-child { color: var(--vd-text-3); width: 40%; }
html.ms-vlastni .prdescription { font-size: 16px; line-height: 1.6; color: #2e3337; }
html.ms-vlastni .prdescription ul:empty { display: none; }
html.ms-vlastni .detail .box.buy { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 22px; padding: 22px 24px; border: 1px solid var(--vd-linka); border-radius: var(--vd-radius); background: #fbfcf8; flex-direction: row; }
html.ms-vlastni .detail .box.buy .pricing { margin-right: auto; }
html.ms-vlastni .detail .box.buy .price { font-size: 30px; font-weight: 800; }
html.ms-vlastni .detail .box.buy .price.no-tax { font-size: 13px; font-weight: 600; }
html.ms-vlastni .detail .buy-info { display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
html.ms-vlastni .detail .buy-info .link { color: var(--vd-zelena-text); text-decoration: underline; cursor: pointer; }
html.ms-vlastni .icon-info img { width: 16px; height: 16px; vertical-align: -3px; filter: hue-rotate(60deg) saturate(.8); }
html.ms-vlastni .dostupnost-skladem { color: var(--vd-zelena-tmava); font-weight: 700; }
html.ms-vlastni .dostupnost-neni { color: #a0522d; font-weight: 700; }
html.ms-vlastni .detail .box.buy .button { display: inline-flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 30px; border: 0; border-radius: 12px; background: var(--vd-zelena); color: #fff; font: inherit; font-weight: 800; font-size: 17px; cursor: pointer; text-decoration: none; }
html.ms-vlastni .detail .box.buy .button img { width: 20px; }
html.ms-vlastni .detail .box.buy .button:hover { background: var(--vd-zelena-tmava); }
html.ms-vlastni .eshop-pocet-kusu input { width: 70px; height: 44px; text-align: center; border: 1px solid #c9d3d6; border-radius: 10px; font: inherit; }

/* okna (.wndw — otevírá default.js třídou .show) */
html.ms-vlastni .wndw { position: fixed; top: 0; width: 100%; height: 100%; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 16px; left: -99999px; }
html.ms-vlastni .wndw.show { left: 0; }
html.ms-vlastni .wndw.show.hide { left: -99999px; }
html.ms-vlastni .wndw:before { content: ""; position: absolute; inset: 0; background: rgba(20,30,20,.45); }
html.ms-vlastni .wndw > .outer { position: absolute; inset: 0; z-index: 1; }
html.ms-vlastni .wndw > div { position: relative; z-index: 2; width: 100%; max-width: 560px; max-height: calc(100vh - 48px); border-radius: 18px; background: #fff; box-shadow: 0 20px 60px rgba(0,0,0,.25); }
html.ms-vlastni .wndw.wide > div { max-width: 820px; }
html.ms-vlastni .wndw .overflow { max-height: calc(100vh - 48px); overflow-y: auto; }
html.ms-vlastni .wndw .wndw-content { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; padding: 34px 38px; text-align: center; }
html.ms-vlastni .wndw .wndw-content .title { width: 100%; font-family: var(--vd-pismo-nadpis); font-size: 24px; font-weight: 600; }
html.ms-vlastni .wndw .cross { position: absolute; right: 12px; top: 12px; z-index: 3; width: 34px; height: 34px; border-radius: 50%; background: var(--vd-zelena-pozadi); cursor: pointer; }
html.ms-vlastni .wndw .cross span { position: absolute; left: 9px; top: 16px; width: 16px; height: 2px; background: var(--vd-text); }
html.ms-vlastni .wndw .cross span:nth-child(1) { transform: rotate(45deg); }
html.ms-vlastni .wndw .cross span:nth-child(2) { transform: rotate(-45deg); }
html.ms-vlastni .wndw .link.close { display: block; width: 100%; cursor: pointer; text-decoration: underline; color: var(--vd-text-3); }
html.ms-vlastni .wndw .flex { display: flex; justify-content: center; gap: 12px; }
html.ms-vlastni .wndw .button { display: inline-flex; align-items: center; min-height: 46px; padding: 0 26px; border: 0; border-radius: 12px; background: var(--vd-zelena); color: #fff; font: inherit; font-weight: 800; text-decoration: none; cursor: pointer; }
html.ms-vlastni .wndw .form { text-align: left; width: 100%; }
html.ms-vlastni .wndw .form h2 { margin: 0 0 12px; }
html.ms-vlastni .wndw .form { display: flex; flex-wrap: wrap; gap: 12px; }
html.ms-vlastni .wndw .form .form-item.w33-100 { width: calc(33.33% - 8px); }
html.ms-vlastni .wndw .form-bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; width: 100%; font-size: 13px; }
html.ms-vlastni body.fixed { overflow: hidden; }

/* obecný obsah stránek obchodu (o škole, podpora, obchodní podmínky…) */
.vd-stranka { padding: 34px 0 48px; }
.vd-stranka .vd-obal { max-width: 900px; }
.vd-stranka h1 { margin: 0 0 18px; font-size: 38px; font-weight: 600; }
.vd-stranka h2 { margin: 28px 0 10px; font-size: 24px; font-weight: 600; }
.vd-stranka p, .vd-stranka li { font-size: 17px; line-height: 1.65; color: #2e3337; }

/* blog (převzaté šablony „novinky-vypis“ a „novinka-detail“) */
.vd-blog-uvod { margin: -8px 0 24px; font-size: 17px; color: var(--vd-text-2); }
.vd-blog-mrizka { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.vd-blog-mrizka .blog-preview .inner { display: flex; flex-direction: column; height: 100%; border: 1px solid var(--vd-linka); border-radius: var(--vd-radius); background: #fff; overflow: hidden; transition: box-shadow .2s; }
.vd-blog-mrizka .blog-preview .inner:hover { box-shadow: 0 10px 30px rgba(30,40,20,.10); }
.vd-blog-mrizka .blog-preview .img { display: block; position: relative; padding-top: 58%; background: var(--vd-zelena-pozadi); }
.vd-blog-mrizka .blog-preview .img-inner { position: absolute; inset: 0; }
.vd-blog-mrizka .blog-preview .img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vd-blog-mrizka .blog-preview .inner > div { display: flex; flex-direction: column; flex: 1; gap: 10px; padding: 18px 20px 20px; }
.vd-blog-mrizka .blog-preview .title a { font-family: var(--vd-pismo-nadpis); font-size: 20px; font-weight: 600; line-height: 1.3; color: var(--vd-text); text-decoration: none; }
.vd-blog-mrizka .blog-preview .title a:hover { color: var(--vd-zelena-tmava); }
.vd-blog-mrizka .blog-preview .perex { font-size: 15px; line-height: 1.55; color: var(--vd-text-2); }
.vd-blog-mrizka .blog-preview .flex { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 6px; }
.vd-blog-mrizka .blog-preview .link { color: var(--vd-zelena-text); font-weight: 800; font-size: 15px; text-decoration: none; }
.vd-blog-mrizka .blog-preview .date, .vd-clanek .article-info .date { font-size: 14px; color: var(--vd-text-3); }
html.ms-vlastni .vd-clanek-obal { max-width: 948px; }
.vd-clanek h1 { margin: 6px 0 8px; font-size: 38px; font-weight: 600; line-height: 1.2; }
.vd-clanek .article-info { margin-bottom: 20px; }
.vd-clanek > .image { display: block; margin: 0 0 24px; border-radius: var(--vd-radius); overflow: hidden; }
.vd-clanek > .image img { display: block; width: 100%; height: auto; }
.vd-clanek p, .vd-clanek li { font-size: 17px; line-height: 1.7; color: #2e3337; }
.vd-clanek h2 { margin: 30px 0 10px; font-size: 26px; font-weight: 600; }
.vd-clanek h3 { margin: 24px 0 8px; font-size: 21px; font-weight: 600; }
.vd-clanek a { color: var(--vd-zelena-text); }
.vd-clanek img { max-width: 100%; height: auto; border-radius: var(--vd-radius-m); }
.vd-clanek blockquote { margin: 20px 0; padding: 14px 20px; border-left: 4px solid var(--vd-zelena); background: var(--vd-zelena-pozadi); border-radius: 0 var(--vd-radius-m) var(--vd-radius-m) 0; }
.vd-clanek .grid-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; margin: 20px 0; }
.vd-clanek .grid-gallery .img { display: block; position: relative; padding-top: 75%; border-radius: var(--vd-radius-m); overflow: hidden; }
.vd-clanek .grid-gallery .img span { position: absolute; inset: 0; }
.vd-clanek .grid-gallery .img img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.vd-blog-dalsi { background: #f7f9f3; }
.vd-blog-dalsi h2 { margin: 0 0 20px; font-size: 28px; font-weight: 600; }
.vd-blog-dalsi:not(:has(.blog-preview)) { display: none; }
.vd-blog-vse { display: flex; justify-content: center; margin-top: 26px; }

/* košík a účet — ladění čistých šablon obchodu do barev školy */
html.ms-vlastni .button.color1, html.ms-vlastni .button { font-family: var(--vd-pismo); }
html.ms-vlastni .box { border-color: var(--vd-linka); }
html.ms-vlastni .cart .step h2 { font-family: var(--vd-pismo-nadpis); font-weight: 600; }

/* ---------- responzivita ---------- */
@media (max-width: 1240px) {
  .vd-blog-mrizka { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vd-podpora-text strong { white-space: normal; }
  .vd-hero-tlacitka { flex-wrap: wrap; }
  .vd-hledani { margin-left: 24px; }
  .vd-menu a { padding: 13px 18px; font-size: 16px; }
  .vd-produkty { grid-template-columns: repeat(4, 1fr); }
  .vd-kategorie { grid-template-columns: repeat(3, 1fr); }
  .vd-hero h1 { font-size: 44px; }
  .vd-o-skole { grid-template-columns: 1fr 1fr; }
  .vd-paticka-in { grid-template-columns: 1fr 1fr 1fr; row-gap: 26px; }
  .vd-paticka-novinky { border-left: 0; padding-left: 0 !important; grid-column: 1 / span 2; }
  .vd-paticka-znacka, .vd-paticka-sloupec:nth-of-type(2) { border-right: 0; }
  .vd-vyhody-radek { grid-template-columns: repeat(2, 1fr); row-gap: 24px; }
  .vd-vyhoda:nth-child(3) { border-left: 0; padding-left: 6px; }
  html.ms-vlastni #eshop-produkty.items { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .vd-blog-mrizka { grid-template-columns: 1fr; }
  .vd-clanek h1 { font-size: 30px; }
  .vd-topbar-kontakt { gap: 18px; }
  .vd-topbar-menu { display: none; }
  .vd-hlavicka-in { flex-wrap: wrap; gap: 14px; padding: 12px 24px; min-height: 0; }
  .vd-logo img, .vd-logo .ms-logo { width: auto; height: 60px; max-width: 210px; }
  .vd-logo-text { font-size: 14px; }
  .vd-hledani { order: 3; flex-basis: 100%; max-width: none; margin-left: 0; }
  .vd-nastroje { gap: 14px; }
  .vd-ucet { font-size: 0; }
  .vd-ucet a { font-size: 14px; }
  .vd-navicon { display: inline-flex; }
  .vd-menu { display: none; }
  .vd-menu.otevreno { display: block; }
  .vd-menu .vd-obal { flex-direction: column; padding: 6px 24px; }
  .vd-menu a { padding: 12px 4px; border-bottom: 1px solid var(--vd-linka); }
  .vd-hero, .vd-podpora { width: calc(100% - 32px); }
  .vd-hero { grid-template-columns: 1fr; }
  .vd-hero-text { padding: 30px 26px 220px; }
  .vd-hero-foto { inset: auto 0 0 0; width: 100%; height: 220px; background-position: center; -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 18%); mask-image: linear-gradient(to bottom, transparent 0, #000 18%); }
  .vd-hero h1 { font-size: 36px; }
  .vd-hero-perex { font-size: 18px; }
  .vd-kategorie { grid-template-columns: repeat(2, 1fr); }
  .vd-kat { height: 140px; }
  .vd-produkty { grid-template-columns: repeat(2, 1fr); }
  .vd-sekce-hlava { flex-direction: column; align-items: flex-start; }
  .vd-podpora { flex-wrap: wrap; padding: 20px 22px; }
  .vd-podpora-maskot { width: 160px; }
  .vd-podpora-paprsky { display: none; }
  .vd-vyhody-radek { grid-template-columns: 1fr; }
  .vd-vyhoda { border-left: 0 !important; padding-left: 0 !important; }
  .vd-o-skole { grid-template-columns: 1fr; gap: 24px; padding-bottom: 110px; }
  .vd-o-skole-dekor { width: 100%; }
  .vd-paticka-in { grid-template-columns: 1fr; }
  .vd-paticka-in > * { padding: 0 !important; }
  .vd-paticka-novinky { grid-column: auto; }
  .vd-paticka-spodek { flex-direction: column; padding-block: 12px; text-align: center; }
  html.ms-vlastni .shop { grid-template-columns: 1fr; }
  html.ms-vlastni #eshop-produkty.items { grid-template-columns: repeat(2, 1fr); }
  html.ms-vlastni .detail { grid-template-columns: 1fr; grid-template-areas: "drob" "nazev" "foto"; }
  html.ms-vlastni .detail > .image { grid-row: auto; }
  html.ms-vlastni .detail > :not(.breadcrumbs):not(h1):not(.image) { grid-column: 1; }
  html.ms-vlastni .wndw .form .form-item.w33-100 { width: 100%; }
}
@media (max-width: 520px) {
  .vd-topbar-kontakt a:first-child { display: none; }
  .vd-kosik-text { display: none; }
  .vd-kosik { padding-left: 14px; }
  .vd-hero h1 { font-size: 30px; }
  .vd-kategorie, .vd-produkty { gap: 10px; }
}
