body.service-page{margin:0;background:#fff;color:#113b5c;font-family:'Inter',sans-serif;line-height:1.6}
.service-page *{box-sizing:border-box}
.service-shell{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:24px 0 48px}
.service-home{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:#1c6398;font-size:14px}
.service-home img{width:110px;height:auto}
.service-heading{font-family:'Playfair Display',serif;text-align:center;font-size:clamp(28px,4vw,44px);font-weight:500;letter-spacing:.025em;line-height:1.2;margin:32px 0 36px}
.service-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.service-photo{margin:0;overflow:hidden;border:0;border-radius:var(--radius-sm,2px);background:#f2f8fc;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;transition:box-shadow .3s ease}
.service-photo:hover{box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}
.service-photo img{display:block;width:100%;aspect-ratio:499/293;object-fit:cover}
.service-photo-link{position:relative;display:block;cursor:zoom-in;overflow:hidden}
.service-photo-link img{transition:transform .5s ease}
.service-photo-link:hover img,.service-photo-link:focus-visible img{transform:scale(1.05)}
.service-photo-link::after{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--color-primary,#147dcc) 20%,transparent);opacity:0;transition:opacity .3s ease;pointer-events:none}
.service-photo-label{position:absolute;bottom:0;left:0;right:0;z-index:1;padding:16px;background:linear-gradient(to top,color-mix(in srgb,var(--color-primary,#147dcc) 90%,transparent),transparent);color:#fff;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;opacity:0;transition:opacity .3s ease;pointer-events:none}
.service-photo-link:hover::after,.service-photo-link:focus-visible::after,.service-photo-link:hover .service-photo-label,.service-photo-link:focus-visible .service-photo-label{opacity:1}
.service-lightbox{position:fixed;inset:0;margin:auto;padding:48px 58px 20px;width:min(1320px,calc(100% - 24px));max-height:calc(100dvh - 24px);border:0;border-radius:14px;background:#102432;color:#fff;overflow:auto}
.service-lightbox::backdrop{background:#00111ddd}
.service-lightbox figure{margin:0}
.service-lightbox figure img{display:block;width:100%;height:calc(100dvh - 150px);max-height:850px;object-fit:contain}
.service-lightbox figcaption{text-align:center;padding:12px 0 0;font:400 14px 'Inter',sans-serif;color:#daeaf4}
.service-lightbox button{position:absolute;background:transparent;color:#fff;border:0;padding:0;cursor:pointer;font-family:Arial,sans-serif;line-height:1;display:grid;place-items:center;width:44px;height:44px}
.service-lightbox button:focus-visible{outline:2px solid #7ac5fa;outline-offset:3px}
.service-lightbox-close{right:10px;top:4px;font-size:34px}
.service-lightbox-prev{left:6px;top:calc(50% - 22px);font-size:52px}
.service-lightbox-next{right:6px;top:calc(50% - 22px);font-size:52px}
html:has(.service-lightbox[open]){overflow:hidden}
@media(max-width:600px){.service-lightbox{padding:48px 34px 18px}.service-lightbox button{width:30px}.service-lightbox-prev{left:0}.service-lightbox-next{right:0}}
@media(prefers-reduced-motion:reduce){.service-photo,.service-photo-link img,.service-photo-link::after,.service-photo-label{transition:none}}
.service-photo figcaption{padding:10px 12px;text-align:center;color:#617d91;font-size:13px}
.service-working{text-align:center;margin-top:42px;padding-top:26px;border-top:1px solid #dbe9f2}
.service-working h2{font-family:'Playfair Display',serif;font-size:clamp(19px,2.5vw,28px);font-weight:500;letter-spacing:.025em;margin:0 0 18px;line-height:1.4}
.service-worker{display:block;margin:0 auto;width:min(330px,80%);height:260px;object-fit:contain}
.service-page a:focus-visible{outline:3px solid #147dcc;outline-offset:5px}
@media(max-width:700px){.service-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.service-heading{margin-top:28px}.service-shell{width:calc(100% - 48px)}}
@media(max-width:420px){.service-gallery{grid-template-columns:1fr}.service-worker{height:220px}}

.service-text{max-width:820px;margin:48px auto 0;padding-top:32px;border-top:1px solid #dbe9f2;color:#48677d;font-size:17px;line-height:1.7}
.service-text h2{font-family:'Playfair Display',serif;font-size:clamp(22px,2.6vw,30px);font-weight:500;letter-spacing:.02em;color:#113b5c;line-height:1.3;margin:36px 0 14px}
.service-text h2:first-child{margin-top:0}
.service-text p{margin:0 0 16px}
.service-text ul{margin:0 0 16px;padding-left:22px;list-style:disc}
.service-text li{margin-bottom:8px}
.service-text a{color:#1c6398}
.service-text strong{color:#113b5c;font-weight:600}
.service-cta-wrap{text-align:center;margin:28px 0}
.service-text .service-cta{display:inline-block;background:#147dcc;color:#fff;padding:12px 28px;border-radius:2px;text-decoration:none;font-weight:600;letter-spacing:.03em;box-shadow:0 4px 6px -1px #0000001a;transition:background-color .2s ease}
.service-text .service-cta:hover{background:#0f6aae}
.service-text .service-links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:12px 28px}
.service-footer{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:24px 0 40px;border-top:1px solid #dbe9f2;text-align:center;color:#617d91;font-size:14px}
.service-footer address{font-style:normal}
.service-footer p{margin:6px 0 0}
.service-footer a{color:#1c6398}

/* Logo bez strechy a podnadpisu (škôlka pre psov) – rovnaká veľkosť znaku ako v pôvodnom logu */
.service-home img.logo-bez-strechy{width:92px}

/* ===== Luxusnejšia galéria (škôlka, hotel pre mačky) a zväčšené fotky ===== */
.service-gallery{gap:20px;grid-auto-flow:dense}
.service-photo{position:relative;border-radius:12px;box-shadow:0 4px 10px rgb(8 23 42 / .14), 0 18px 40px -12px rgb(8 23 42 / .5);transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease}
.service-photo:hover{transform:translateY(-4px);box-shadow:0 8px 18px rgb(8 23 42 / .18), 0 30px 60px -16px rgb(8 23 42 / .62)}
.service-photo-link img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.service-photo-link:hover img,.service-photo-link:focus-visible img{transform:scale(1.07)}
.service-photo-link::after{background:linear-gradient(180deg,transparent 40%,rgb(8 23 42 / .62));transition:opacity .5s ease}
.service-photo-label{background:none;padding:1.1rem 1.3rem;font-family:'Playfair Display',serif;font-style:italic;font-size:1.05rem;font-weight:400;letter-spacing:.05em;text-transform:none;transform:translateY(10px);transition:opacity .45s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
.service-photo-link:hover .service-photo-label,.service-photo-link:focus-visible .service-photo-label{transform:none}
.service-lightbox::backdrop{background:#00111ddd;backdrop-filter:blur(6px)}
.service-lightbox figure img{border-radius:8px}

/* ===== Hotel pre mačky: príprava na pobyt ===== */
.priprava{margin:56px auto 0;max-width:1120px}
.priprava-uvod{text-align:center;max-width:760px;margin:0 auto 36px}
.priprava-uvod h2{font-family:'Playfair Display',serif;font-size:clamp(26px,3.4vw,40px);font-weight:600;color:#1c6398;line-height:1.25;margin:0 0 14px}
.priprava-uvod p{margin:0;color:#48677d;font-size:18px;line-height:1.65}
.priprava-podnadpis{font-family:'Playfair Display',serif;font-size:clamp(20px,2.4vw,26px);font-weight:600;color:#113b5c;margin:0 0 20px;padding-left:14px;border-left:4px solid #147dcc}
.priprava-mriezka{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:44px}
.priprava-karta{background:#fff;border:1px solid #dbe9f2;border-top:4px solid #147dcc;border-radius:10px;padding:24px;color:#48677d;font-size:16px;line-height:1.65;box-shadow:0 4px 10px #08172a0d,0 18px 40px -22px #08172a47}
.priprava-karta-hlava{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.priprava-ikona{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;background:#147dcc1a;color:#147dcc}
.priprava-karta h4{margin:0;font-family:'Playfair Display',serif;font-size:19px;font-weight:600;line-height:1.25;color:#113b5c}
.priprava-karta p{margin:0 0 12px}
.priprava-karta p:last-child{margin-bottom:0}
.priprava-karta strong{color:#113b5c;font-weight:600}
.priprava-dva{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.priprava-panel{background:#f4f9fd;border:1px solid #dbe9f2;border-radius:10px;padding:28px;color:#48677d;font-size:16px;line-height:1.65}
.priprava-panel h3{font-family:'Playfair Display',serif;font-size:clamp(20px,2.2vw,25px);font-weight:600;color:#113b5c;margin:0 0 16px}
.priprava-panel ul{list-style:none;margin:0;padding:0}
.priprava-panel li{position:relative;padding:0 0 0 24px;margin-bottom:14px}
.priprava-panel li:last-child{margin-bottom:0}
.priprava-panel li::before{content:"";position:absolute;left:2px;top:.6em;width:8px;height:8px;border-radius:50%;background:#147dcc}
.priprava-panel strong{color:#113b5c;font-weight:600}
.priprava-panel-zvyraznene{background:linear-gradient(145deg,#0b2a3f,#0c3e5e);border-color:transparent;color:#d8eaf5;box-shadow:0 18px 40px -16px #08172a80}
.priprava-panel-zvyraznene h3{color:#fff}
.priprava-panel-zvyraznene li{padding-left:32px}
.priprava-panel-zvyraznene li::before{left:0;top:.2em;width:18px;height:18px;border-radius:50%;background:#54b7f3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2a3f' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat}
.priprava-zaver{margin:32px auto 0;max-width:760px;text-align:center;padding:18px 24px;border-radius:10px;background:#147dcc12;color:#113b5c;font-size:17px;line-height:1.65;font-weight:500}
@media(max-width:900px){.priprava-mriezka{grid-template-columns:repeat(2,minmax(0,1fr))}.priprava-dva{grid-template-columns:1fr}}
@media(max-width:600px){.priprava{margin-top:40px}.priprava-mriezka{grid-template-columns:1fr;gap:16px}.priprava-karta{padding:20px}.priprava-panel{padding:22px}}

.service-text-hore{border-top:0;padding-top:0;margin-top:40px}
.service-text-hore + .priprava{margin-top:48px}

/* Čo odporúčame / Čo priniesť: pod sebou na celú šírku, aby panel nebol osamotený vpravo */
.priprava-dva{grid-template-columns:1fr;gap:24px}
.priprava-panel:not(.priprava-panel-zvyraznene) ul{columns:2;column-gap:40px}
.priprava-panel:not(.priprava-panel-zvyraznene) li{break-inside:avoid}
.priprava-panel-zvyraznene{padding:32px 36px}
.priprava-panel-zvyraznene ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 32px}
.priprava-panel-zvyraznene li{margin-bottom:0}
@media(max-width:900px){.priprava-panel-zvyraznene ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.priprava-panel:not(.priprava-panel-zvyraznene) ul{columns:1}.priprava-panel-zvyraznene{padding:24px 22px}.priprava-panel-zvyraznene ul{grid-template-columns:1fr}}

/* Hotel pre mačky SAURUS Plus: rovnaké písmo a veľkosť ako nadpis "Ako pripraviť mačku…" */
.service-text h2.znacka-nadpis{font-family:'Playfair Display',serif;font-size:clamp(26px,3.4vw,40px);font-weight:600;letter-spacing:0;color:#1c6398;line-height:1.25;text-align:center;margin:0 0 22px}

/* Hotel pre psov: zväčšená fotka o 30 % menšia (nižšia kvalita pôvodných fotiek) */
@media(min-width:700px){
.service-lightbox.service-lightbox-mensi{width:min(924px,calc(100% - 24px))}
.service-lightbox.service-lightbox-mensi figure img{height:min(calc(100dvh - 150px),595px)}
}

/* Pätička v škatuli ako na úvodnej stránke (nie na celú šírku) */
.paticka-obal{max-width:1168px;margin-top:56px;margin-bottom:40px}
@media(max-width:600px){.paticka-obal{margin-top:40px;margin-bottom:24px}}

/* Škôlka: Čo priniesť – 4 body v dvoch stĺpcoch */
.priprava-skolka{margin-top:48px}
.priprava-skolka .priprava-panel-zvyraznene ul{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.priprava-skolka .priprava-panel-zvyraznene ul{grid-template-columns:1fr}}

/* Škôlka: Podmienky prijatia (karty ako pri mačkách) */
.priprava-podmienky .priprava-karta h3{margin:0;font-family:'Playfair Display',serif;font-size:19px;font-weight:600;line-height:1.25;color:#113b5c}
.priprava-podmienky .priprava-mriezka{margin-bottom:0}
.priprava-zoznam{list-style:none;margin:0 0 12px;padding:0}
.priprava-zoznam li{position:relative;padding-left:18px;margin-bottom:8px}
.priprava-zoznam li::before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;border-radius:50%;background:#147dcc}

/* Škôlka: Podmienky prijatia – krátky zoznam */
.podmienky-karta{max-width:760px;margin:0 auto;padding:28px 32px;background:#fff;border:1px solid #dbe9f2;border-top:4px solid #147dcc;border-radius:10px;box-shadow:0 4px 10px #08172a0d,0 18px 40px -22px #08172a47;color:#48677d;font-size:17px;line-height:1.6}
.podmienky-karta h2{font-family:'Playfair Display',serif;font-size:clamp(26px,3.4vw,40px);font-weight:600;color:#1c6398;line-height:1.25;text-align:center;margin:0 0 20px}
.podmienky-karta ul{list-style:none;margin:0;padding:0}
.podmienky-karta li{position:relative;padding:10px 0 10px 34px;border-bottom:1px solid #e6f0f7}
.podmienky-karta li:last-child{border-bottom:0}
.podmienky-karta li::before{content:"";position:absolute;left:0;top:12px;width:22px;height:22px;border-radius:50%;background:#147dcc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/13px no-repeat}
.podmienky-karta strong{color:#113b5c;font-weight:600}
@media(max-width:600px){.podmienky-karta{padding:22px 18px;font-size:16px}}

/* Čo priniesť pri príchode: nadpis H2 rovnako ako H3 */
.priprava-panel h2{font-family:'Playfair Display',serif;font-size:clamp(20px,2.2vw,25px);font-weight:600;color:#113b5c;margin:0 0 16px}
.priprava-panel-zvyraznene h2{color:#fff}

/* Podmienky prijatia: rovnaký vzhľad na všetkých podstránkach (podľa škôlky) */
.podmienky-karta h3{font-family:'Playfair Display',serif;font-size:clamp(26px,3.4vw,40px);font-weight:600;color:#1c6398;line-height:1.25;text-align:center;margin:0 0 20px}
.podmienky-karta .podmienky-bod{display:block;color:#113b5c;font-weight:600}
.podmienky-karta .podmienky-s-nadpismi p{margin:4px 0 0}
.priprava .podmienky-karta + .priprava-dva{margin-top:40px}
.podmienky-text > .podmienky-karta{margin:0 auto 2.6rem}

/* Podmienky prijatia: odrážky ako modrá bodka namiesto ikony ✓ */
.podmienky-karta li{padding-left:28px}
.podmienky-karta li::before{left:4px;top:calc(10px + .8em - 5px);width:10px;height:10px;border-radius:50%;background:#147dcc}

/* Škôlka: Rezervácia, príjem a odovzdanie pod podmienkami prijatia */
.podmienky-doplnok{max-width:760px;margin:32px auto 0;color:#48677d;font-size:17px;line-height:1.7}
.podmienky-doplnok h3{font-family:'Playfair Display',serif;font-size:clamp(22px,2.6vw,30px);font-weight:600;color:#1c6398;line-height:1.3;margin:0 0 12px;text-align:center}
.podmienky-doplnok p{margin:0 0 8px;text-align:center}
.podmienky-doplnok a{color:#1c6398;font-weight:600;text-decoration:none}
.podmienky-doplnok a:hover{text-decoration:underline}

.podmienky-doplnok p + h3{margin-top:28px}

/* Rezervácia a Cena v škôlke: zarovnanie doľava ako na hoteli pre psov */
.podmienky-doplnok h3,.podmienky-doplnok p{text-align:left}

/* Hotel pre psov: Čo priniesť pri príchode (rovnaký panel ako v škôlke) */
.priprava-v-texte{margin-top:2rem}
.priprava-v-texte .priprava-panel-zvyraznene h3{margin:0 0 16px}

.podmienky-doplnok + .priprava-dva{margin-top:40px}

/* zvýraznený text v blokoch Kŕmenie / Rezervácia / Cena */
.podmienky-doplnok strong,.podmienky-doplnok b{color:#113b5c;font-weight:700}
.podmienky-text > p strong,.podmienky-text > p b{color:#113b5c;font-weight:700}

/* Hotel pre psov: odkazy v texte (napr. na Facebook) rovnako ako v škôlke a mačkách */
.podmienky-text > p a{color:#1c6398;font-weight:600;text-decoration:none}
.podmienky-text > p a:hover,.podmienky-text > p a:focus-visible{text-decoration:underline;text-underline-offset:3px}
