/* Neutralizace p-tag marginu ktery Shoptet pridava kolem bloku */
p:has(> .vsp-lb) { margin: 0 !important; padding: 0 !important; line-height: 0 !important; }
p + div.vsp { margin-top: 0 !important; }
div.vsp { margin-top: 0 !important; }
/* Reset lightbox + Shoptet wrapper */
.vsp-lb { margin: 0 !important; padding: 0 !important; }
.vsp-lb + div.vsp { margin-top: 0 !important; }
@import url('https://fonts.googleapis.com/css2?family=Exo+2:ital,wght@0,300;0,400;0,600;0,700;0,800;0,900;1,700&family=Source+Sans+3:wght@300;400;600;700&display=swap');
.vsp, .vsp * { box-sizing: border-box !important; }
.vsp { font-family: 'Source Sans 3', Arial, sans-serif !important; font-size: 17px !important; color: #1c1c1c !important; line-height: 1.65 !important; -webkit-font-smoothing: antialiased !important; max-width: 100% !important; }
.vsp a { text-decoration: none !important; color: inherit !important; }
.vsp h1, .vsp h2, .vsp h3, .vsp h4 { font-family: 'Exo 2', Arial, sans-serif !important; font-weight: 800 !important; line-height: 1.1 !important; letter-spacing: -0.025em !important; margin: 0 0 0 0 !important; padding: 0 !important; color: #1c1c1c !important; }
.vsp-hero { background: #f8f8f6 !important; border-top: 5px solid #80a51f !important; border-bottom: none !important; padding: 32px 40px 46px 40px !important; position: relative !important; overflow: hidden !important; margin-bottom: 0 !important; margin-top: -30px; }
.vsp-hero-bg { position: absolute !important; top: 0 !important; right: 0 !important; bottom: 0 !important; width: 60% !important; background-size: cover !important; background-position: center center !important; -webkit-mask-image: linear-gradient(to right, transparent 0%, black 60%) !important; mask-image: linear-gradient(to right, transparent 0%, black 60%) !important; pointer-events: none !important; }
.vsp-hero-label { font-family: 'Exo 2', Arial, sans-serif !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: #80a51f !important; display: flex !important; align-items: center !important; gap: 12px !important; margin-bottom: 18px !important; }
.vsp-hero-label::before { content: '' !important; display: inline-block !important; width: 32px !important; height: 2px !important; background: #80a51f !important; flex-shrink: 0 !important; }
.vsp-hero h1 { font-family: 'Exo 2', Arial, sans-serif !important; font-size: 48px !important; font-weight: 900 !important; color: #1c1c1c !important; line-height: 1.05 !important; letter-spacing: -0.03em !important; margin-bottom: 12px !important; }
.vsp-hero h1 em { font-style: italic !important; color: #80a51f !important; }
.vsp-hero-addr { font-family: 'Source Sans 3', Arial, sans-serif !important; font-size: 18px !important; font-weight: 300 !important; color: #666 !important; margin-bottom: 28px !important; margin-top: 4px !important; line-height: 1.5 !important; }
.vsp-hero-addr strong { color: #1c1c1c !important; font-weight: 600 !important; }
.vsp-btns { display: flex !important; flex-wrap: wrap !important; gap: 12px !important; }
.vsp-btn { font-family: 'Exo 2', Arial, sans-serif !important; font-size: 14px !important; font-weight: 700 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; padding: 14px 32px !important; display: inline-block !important; transition: all 0.18s !important; border: 1px solid transparent !important; cursor: pointer !important; white-space: nowrap !important; text-decoration: none !important; line-height: 1.2 !important; }
.vsp-btn-a { background: #80a51f !important; color: #fff !important; border-color: #80a51f !important; }
.vsp-btn-a:hover { background: #6a8a18 !important; color: #fff !important; border-color: #6a8a18 !important; }
.vsp-btn-b { background: transparent !important; color: #1c1c1c !important; border-color: #1c1c1c !important; }
.vsp-btn-b:hover { border-color: #80a51f !important; color: #80a51f !important; }
.vsp-sec { padding: 44px 40px !important; border-top: 1px solid #e0e0da !important; }
.vsp-eyebrow { font-family: 'Exo 2', Arial, sans-serif !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.22em !important; text-transform: uppercase !important; color: #80a51f !important; margin-bottom: 6px !important; display: block !important; }
.vsp-sec h2 { font-family: 'Exo 2', Arial, sans-serif !important; font-size: 22px !important; font-weight: 800 !important; color: #1c1c1c !important; margin-bottom: 28px !important; letter-spacing: -0.025em !important; }
.vsp-2col { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 32px !important; align-items: start !important; }
.vsp-contacts { width: 100% !important; border-collapse: collapse !important; border: 1px solid #e0e0da !important; }
.vsp-crow { border-bottom: 1px solid #e0e0da !important; }
.vsp-crow:last-child { border-bottom: none !important; }
.vsp-crow:hover .vsp-cslug { background: #80a51f !important; }
.vsp-crow:hover .vsp-cbody { background: #f2f6e3 !important; }
.vsp-cslug { background: #2a2a2a !important; width: 55px !important; min-width: 55px !important; max-width: 55px !important; text-align: center !important; vertical-align: middle !important; border-right: 1px solid #1a1a1a !important; padding: 0 !important; white-space: nowrap !important; }
.vsp-cta { display: block !important; text-decoration: none !important; color: inherit !important; padding: 12px 8px !important; font-family: 'Exo 2', Arial, sans-serif !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; color: #fff !important; text-align: center !important; }
.vsp-cbody { padding: 0 !important; vertical-align: middle !important; width: 100% !important; background: #fff !important; }
.vsp-cbody .vsp-cta { display: block !important; padding: 7px 16px !important; text-align: left !important; color: #1c1c1c !important; font-size: 17px !important; font-weight: normal !important; letter-spacing: 0 !important; text-transform: none !important; }
.vsp-clabel { font-family: 'Exo 2', Arial, sans-serif !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; color: #80a51f !important; display: block !important; line-height: 1.3 !important; margin-bottom: 2px !important; }
.vsp-cval { font-family: 'Source Sans 3', Arial, sans-serif !important; font-size: 19px !important; font-weight: 400 !important; color: #1c1c1c !important; line-height: 1.3 !important; display: block !important; }
.vsp-boxes { display: grid !important; grid-template-columns: 1fr 1fr !important; border: 1px solid #e0e0da !important; }
.vsp-boxes-single { display: grid !important; grid-template-columns: 1fr !important; border: 1px solid #e0e0da !important; }
.vsp-box { padding: 20px 22px !important; border-right: 1px solid #e0e0da !important; background: #fff !important; transition: background 0.15s !important; }
.vsp-box:last-child { border-right: none !important; }
.vsp-box:hover { background: #f2f6e3 !important; }
.vsp-blabel { font-family: 'Exo 2', Arial, sans-serif !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.16em !important; text-transform: uppercase !important; color: #80a51f !important; margin-bottom: 6px !important; display: block !important; }
.vsp-bval { font-family: 'Source Sans 3', Arial, sans-serif !important; font-size: 16px !important; line-height: 1.55 !important; color: #1c1c1c !important; }
.vsp-bval strong { font-weight: 700 !important; color: #1c1c1c !important; }
.vsp-bval a { color: #80a51f !important; font-weight: 600 !important; }
.vsp-bval a:hover { text-decoration: underline !important; }
.vsp-hours { border: 1px solid #e0e0da !important; overflow: hidden !important; }
.vsp-hours-head { background: #2a2a2a !important; color: #fff !important; padding: 14px 22px !important; font-family: 'Exo 2', Arial, sans-serif !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0.15em !important; text-transform: uppercase !important; line-height: 1.3 !important; }
.vsp-hours-head span { color: #80a51f !important; }
.vsp-hrow { display: grid !important; grid-template-columns: 1fr 1fr !important; padding: 12px 22px !important; border-top: 1px solid #e0e0da !important; background: #fff !important; transition: background 0.12s !important; align-items: center !important; }
.vsp-hrow:hover { background: #f8f8f6 !important; }
.vsp-hrow.is-today { background: #f2f6e3 !important; border-left: 4px solid #80a51f !important; padding-left: 18px !important; }
.vsp-hrow.is-closed { background: #fdf0f0 !important; border-left: 4px solid #c0392b !important; padding-left: 18px !important; }
.vsp-hday { font-family: 'Exo 2', Arial, sans-serif !important; font-size: 14px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.05em !important; color: #444 !important; line-height: 1.3 !important; }
.vsp-hrow.is-today .vsp-hday { color: #80a51f !important; }
.vsp-hrow.is-closed .vsp-hday { color: #c0392b !important; }
.vsp-htime { font-family: 'Source Sans 3', Arial, sans-serif !important; font-size: 15px !important; color: #555 !important; text-align: right !important; line-height: 1.3 !important; }
.vsp-hrow.is-today .vsp-htime { color: #1c1c1c !important; font-weight: 600 !important; }
.vsp-hrow.is-closed .vsp-htime { color: #1c1c1c !important; font-weight: 600 !important; }
.vsp-badge { display: inline-block !important; background: #80a51f !important; color: #fff !important; font-family: 'Exo 2', Arial, sans-serif !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; padding: 2px 8px !important; margin-left: 8px !important; vertical-align: middle !important; }
.vsp-badge.is-closed { background: #c0392b !important; }
.vsp-cats { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; border: 1px solid #e0e0da !important; margin-bottom: 20px !important; }
.vsp-cat { padding: 24px !important; border-right: 1px solid #e0e0da !important; background: #fff !important; transition: background 0.15s !important; }
.vsp-cat:last-child { border-right: none !important; }
.vsp-cat:hover { background: #f2f6e3 !important; }
.vsp-cat-title { font-family: 'Exo 2', Arial, sans-serif !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; color: #80a51f !important; border-bottom: 2px solid #e6efc8 !important; padding-bottom: 10px !important; margin-bottom: 14px !important; display: block !important; }
.vsp-cat p { font-family: 'Source Sans 3', Arial, sans-serif !important; font-size: 15px !important; color: #444 !important; margin-bottom: 14px !important; line-height: 1.6 !important; }
.vsp-blist { display: flex !important; flex-wrap: wrap !important; gap: 5px !important; }
.vsp-brand { font-family: 'Exo 2', Arial, sans-serif !important; font-size: 11px !important; font-weight: 600 !important; text-transform: uppercase !important; letter-spacing: 0.08em !important; padding: 4px 11px !important; background: #fff !important; color: #1c1c1c !important; border: 1px solid #e0e0da !important; outline: none !important; transition: all 0.15s !important; display: inline-block !important; line-height: 1.4 !important; }
.vsp-brand:hover { border-color: #80a51f !important; color: #80a51f !important; background: #fff !important; }
.vsp-tags { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; }
.vsp-tag { font-family: 'Exo 2', Arial, sans-serif !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; padding: 5px 14px !important; border: 1px solid #e0e0da !important; outline: none !important; color: #1c1c1c !important; background: #fff !important; transition: all 0.18s !important; display: inline-block !important; line-height: 1.4 !important; }
.vsp-tag:hover { border-color: #80a51f !important; color: #80a51f !important; background: #fff !important; }
.vsp-trans { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; border: 1px solid #e0e0da !important; margin-bottom: 20px !important; }
.vsp-tcard { padding: 24px !important; border-right: 1px solid #e0e0da !important; background: #fff !important; transition: background 0.15s !important; }
.vsp-tcard:last-child { border-right: none !important; }
.vsp-tcard:hover { background: #f2f6e3 !important; }
.vsp-ttype { font-family: 'Exo 2', Arial, sans-serif !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; color: #fff !important; background: #1c1c1c !important; display: inline-block !important; padding: 4px 12px !important; margin-bottom: 12px !important; }
.vsp-ttext { font-family: 'Source Sans 3', Arial, sans-serif !important; font-size: 15px !important; color: #333 !important; line-height: 1.65 !important; }
.vsp-ttext strong { color: #1c1c1c !important; font-weight: 700 !important; }
.vsp-ttext a { color: #80a51f !important; font-weight: 600 !important; }
.vsp-map { border: 1px solid #e0e0da !important; overflow: hidden !important; margin-bottom: 4px !important; line-height: 0 !important; }
.vsp-map iframe { display: block !important; width: 100% !important; height: 380px !important; border: none !important; margin: 0 !important; padding: 0 !important; }
.vsp-gallery { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important; gap: 4px !important; }
.vsp-gitem { aspect-ratio: 4/3 !important; overflow: hidden !important; cursor: zoom-in !important; background: #f0f0f0 !important; position: relative !important; display: block !important; }
.vsp-gitem::after { content: '+ zobrazit' !important; position: absolute !important; inset: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; font-family: 'Exo 2', Arial, sans-serif !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; color: #fff !important; background: rgba(128,165,31,0) !important; transition: background 0.22s !important; pointer-events: none !important; }
.vsp-gitem:hover::after { background: rgba(128,165,31,0.55) !important; }
.vsp-gitem img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; transition: transform 0.4s ease !important; margin: 0 !important; padding: 0 !important; border: none !important; }
.vsp-gitem:hover img { transform: scale(1.06) !important; }
.vsp-lb { display: none !important; position: fixed !important; inset: 0 !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 999999 !important; background: rgba(8,8,8,0.95) !important; align-items: center !important; justify-content: center !important; }
.vsp-lb.on { display: flex !important; }
.vsp-lb-img { max-width: 90vw !important; max-height: 86vh !important; object-fit: contain !important; display: block !important; border: none !important; margin: 0 auto !important; }
.vsp-lb-x { position: absolute !important; top: 20px !important; right: 24px !important; font-size: 28px !important; color: #fff !important; cursor: pointer !important; background: none !important; border: none !important; line-height: 1 !important; opacity: 0.7 !important; font-family: 'Exo 2', Arial, sans-serif !important; padding: 0 !important; }
.vsp-lb-x:hover { opacity: 1 !important; color: #80a51f !important; }
.vsp-lb-arr { position: absolute !important; top: 50% !important; transform: translateY(-50%) !important; font-size: 40px !important; color: #fff !important; cursor: pointer !important; background: rgba(255,255,255,0.07) !important; border: none !important; padding: 8px 18px !important; transition: background 0.15s !important; font-family: 'Exo 2', Arial, sans-serif !important; font-weight: 300 !important; line-height: 1 !important; }
.vsp-lb-arr:hover { background: rgba(128,165,31,0.5) !important; }
.vsp-lb-prev { left: 16px !important; }
.vsp-lb-next { right: 16px !important; }
.vsp-lb-n { position: absolute !important; bottom: 20px !important; left: 50% !important; transform: translateX(-50%) !important; font-family: 'Exo 2', Arial, sans-serif !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.15em !important; text-transform: uppercase !important; color: rgba(255,255,255,0.45) !important; }
.vsp-litem { padding: 18px 20px !important; border-right: 1px solid #e0e0da !important; border-bottom: 1px solid #e0e0da !important; background: #fff !important; transition: background 0.15s !important; }
.vsp-litem:hover { background: #f2f6e3 !important; }
.vsp-note { background: #f2f6e3 !important; border-left: 4px solid #80a51f !important; padding: 16px 22px !important; font-family: 'Source Sans 3', Arial, sans-serif !important; font-size: 16px !important; color: #333 !important; line-height: 1.6 !important; }
.vsp-note a { color: #80a51f !important; font-weight: 700 !important; }
.vsp-legal-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; border: 1px solid #e0e0da !important; margin-bottom: 0 !important; }
.vsp-lcard { padding: 20px 22px !important; border-right: 1px solid #e0e0da !important; border-bottom: 1px solid #e0e0da !important; background: #fff !important; transition: background 0.15s !important; }
.vsp-lcard:nth-child(3n) { border-right: none !important; }
.vsp-lcard:nth-last-child(-n+3) { border-bottom: none !important; }
.vsp-lcard:hover { background: #f2f6e3 !important; }
.vsp-lcard-label { display: block !important; font-family: 'Exo 2', Arial, sans-serif !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; color: #80a51f !important; margin-bottom: 7px !important; }
.vsp-lcard-val { display: block !important; font-family: 'Source Sans 3', Arial, sans-serif !important; font-size: 16px !important; color: #1c1c1c !important; font-weight: 600 !important; line-height: 1.35 !important; }
.vsp-lcard-val small { font-size: 13px !important; color: #888 !important; font-weight: 400 !important; }
@media (max-width: 760px) {
  .vsp-hero { padding: 32px 20px 28px 20px !important; }
  .vsp-hero h1 { font-size: 44px !important; }
  .vsp-sec { padding: 32px 20px !important; }
  .vsp-2col { grid-template-columns: 1fr !important; gap: 20px !important; }
  .vsp-cats { grid-template-columns: 1fr !important; }
  .vsp-trans { grid-template-columns: 1fr !important; }
  .vsp-cat, .vsp-tcard { border-right: none !important; border-bottom: 1px solid #e0e0da !important; }
  .vsp-cslug { display: none !important; }
  .vsp-boxes { grid-template-columns: 1fr !important; }
  .vsp-boxes .vsp-box { border-right: none !important; border-bottom: 1px solid #e0e0da !important; }
  .vsp-gallery { grid-template-columns: repeat(2, 1fr) !important; }
  .vsp-hero-bg { width: 100% !important; -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.25) 40%, rgba(0,0,0,0.35) 100%) !important; mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.25) 40%, rgba(0,0,0,0.35) 100%) !important; }
  .vsp-legal-grid { grid-template-columns: 1fr 1fr !important; }
}
