/* =========================================================
   Salón krásy Nitra — vlastné štýly (nad Bootstrapom 5.3)
   Prefix vlastných tried: sk-
   ========================================================= */

/* ---------- 1. Premenné značky ---------- */
:root{
  --sk-bg:#FDFBF8;
  --sk-surface:#FFFFFF;
  --sk-text:#1F1B18;
  --sk-muted:#6B625B;
  --sk-accent:#C2A27A;
  --sk-accent-dark:#A6875D;
  --sk-line:#EFE7DD;
  --sk-dark:#171310;

  --bs-primary:#C2A27A;
  --bs-primary-rgb:194,162,122;
  --bs-body-bg:#FDFBF8;
  --bs-body-color:#1F1B18;
  --bs-secondary-color:#6B625B;
  --bs-border-color:#EFE7DD;
  --bs-link-color:#A6875D;
  --bs-link-hover-color:#171310;
  --bs-border-radius:1rem;
  --bs-body-font-family:'Inter',system-ui,-apple-system,sans-serif;

  --sk-font-heading:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sk-header-h:88px;
  --sk-shadow-soft:0 20px 45px -28px rgba(23,19,16,.35);
  --sk-shadow-gold:0 14px 30px -12px rgba(194,162,122,.55);
}

html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

body{
  background-color:var(--sk-bg);
  overflow-x:hidden;
}

/* Serif (Cormorant Garamond) len pre veľké nadpisy H1/H2 — dramatickejšie,
   menej "novinovo-editoriálne" pôsobenie. Menšie nadpisy (H3-H6: karty,
   FAQ, footer) sú sans-serif Inter, aby web nepôsobil ako sadzba textu. */
h1,h2{
  font-family:var(--sk-font-heading);
  font-weight:700;
  color:var(--sk-dark);
  letter-spacing:.005em;
}
h3,h4,h5,h6{
  font-family:'Inter',sans-serif;
  font-weight:600;
  color:var(--sk-dark);
}
.sk-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-family:'Inter',sans-serif;
  font-style:normal;
  font-weight:600;
  color:var(--sk-accent-dark);
  letter-spacing:.03em;
  text-transform:uppercase;
  font-size:.8rem;
  margin-bottom:.5rem;
}
.sk-eyebrow::before{
  content:"";
  display:inline-block;
  width:22px;height:2px;
  background:var(--sk-accent);
  border-radius:2px;
}
.sk-display{font-size:clamp(2.1rem,4vw + .6rem,3.4rem);line-height:1.1;}
.sk-lead{color:var(--sk-muted);font-size:1.1rem;}

a{color:var(--bs-link-color);}
a:hover{color:var(--bs-link-hover-color);}

::selection{background:var(--sk-accent);color:#fff;}

/* focus visibile pre klávesnicu */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,.nav-link:focus-visible{
  outline:2px solid var(--sk-accent-dark);
  outline-offset:2px;
  border-radius:.25rem;
}

/* ---------- 2. Skip link ---------- */
.sk-skip-link{
  position:absolute;
  top:-100px;
  left:1rem;
  z-index:2000;
  background:var(--sk-dark);
  color:#fff;
  padding:.65rem 1.1rem;
  border-radius:.5rem;
  text-decoration:none;
  transition:top .2s ease;
}
.sk-skip-link:focus{top:1rem;color:#fff;}

/* ---------- 3. Hlavička / navigácia ---------- */
/* Pevná hlavička (nie sticky) — na stránkach s veľkou fotkou (.sk-hero) je
   kým je používateľ hore, priehľadná a fotka jemne presvitá cez ňu. Po
   scrolli (aj na stránkach bez fotky) je vždy pevná krémová. */
body{padding-top:var(--sk-header-h);}
.sk-header{
  position:fixed !important;
  top:0; left:0; right:0;
  z-index:1030;
  background:rgba(253,251,248,.96);
  backdrop-filter:saturate(160%) blur(6px);
  border-bottom:1px solid var(--sk-line);
  box-shadow:0 6px 18px -12px rgba(23,19,16,.18);
  transition:box-shadow .3s ease,border-color .3s ease,background-color .3s ease;
}
.sk-header.is-scrolled{
  background:rgba(253,251,248,.98);
  border-bottom-color:var(--sk-line);
  box-shadow:0 6px 18px -12px rgba(23,19,16,.25);
}
/* priehľadný stav len na stránkach s veľkou fotkou v hero sekcii —
   rovnomerný tmavý závoj (nie doznievajúci na 0 v rámci vlastnej výšky),
   aby text a logo boli čitateľné na akejkoľvek fotke pod ním */
body:has(.sk-hero) .sk-header:not(.is-scrolled){
  background:linear-gradient(180deg,rgba(10,8,6,.62) 0%,rgba(10,8,6,.48) 100%);
  border-bottom-color:transparent;
  box-shadow:none;
  backdrop-filter:blur(3px) saturate(120%);
}
body:has(.sk-hero) .sk-header:not(.is-scrolled) .sk-nav .nav-link{color:#fff;}
body:has(.sk-hero) .sk-header:not(.is-scrolled) .sk-nav .nav-link.active::after{background:#fff;}
body:has(.sk-hero) .sk-header:not(.is-scrolled) .sk-dropdown-caret{color:#fff;}
body:has(.sk-hero) .sk-header:not(.is-scrolled) .navbar-brand img{filter:brightness(0) invert(1);}
body:has(.sk-hero) .sk-header:not(.is-scrolled) .navbar-toggler{border-color:rgba(255,255,255,.6);}
body:has(.sk-hero) .sk-header:not(.is-scrolled) .navbar-toggler-icon{filter:invert(1);}

/* hero na stránke priamo pod hlavičkou nabieha za ňu (jej fotka presvitá) */
main>.sk-hero:first-child{margin-top:calc(-1 * var(--sk-header-h));}
main>.sk-hero:first-child .sk-hero-inner{padding-block:calc(5.5rem + var(--sk-header-h) - 1rem);padding-bottom:calc(-3rem + var(--sk-header-h));}
@media (max-width:767.98px){
  main>.sk-hero:first-child .sk-hero-inner{padding-block:calc(3.5rem + var(--sk-header-h) - .5rem);padding-bottom:calc(-3rem + var(--sk-header-h));}
}

.sk-header .navbar-brand{display:flex;align-items:center;padding:.3rem 0;}
.sk-header .navbar-brand img{height:52px;width:auto;display:block;transition:filter .3s ease;}

/* rozbalené mobilné menu má vždy vlastné pevné pozadie, nech je nad hlavičkou hocičo */
@media (max-width:991.98px){
  .sk-header .navbar-collapse.show{
    background:rgba(253,251,248,.98);
    margin:0 -1rem;
    padding:1rem 1rem 1.25rem;
    border-radius:0 0 1.1rem 1.1rem;
    box-shadow:0 20px 40px -18px rgba(23,19,16,.4);
  }
  .sk-header .navbar-collapse.show .nav-link{color:var(--sk-text) !important;}
  .sk-header .navbar-collapse.show .sk-dropdown-caret{color:var(--sk-text) !important;}
}
.sk-nav .nav-link{
  color:var(--sk-text);
  font-weight:500;
  padding:.55rem .9rem !important;
  position:relative;
  transition:color .3s ease;
}
.sk-nav .nav-link:hover,.sk-nav .nav-link:focus,.sk-nav .nav-link.active{color:var(--sk-accent-dark);}
.sk-nav .nav-link.active::after{
  content:"";
  position:absolute;
  left:.9rem;right:.9rem;bottom:.3rem;
  height:2px;background:var(--sk-accent);
  border-radius:2px;
}
/* "Služby" — odkaz (navigácia na /sluzby) + samostatná šípka (rozbaľuje podmenu) */
.sk-nav-dropdown{display:flex;align-items:stretch;}
.sk-dropdown-caret{
  display:flex;align-items:center;justify-content:center;
  width:2.4rem;
  border:0;background:transparent;color:var(--sk-text);
  padding:0;margin-left:-.3rem;
}
.sk-dropdown-caret::after{transition:transform .25s ease;}
.sk-dropdown-caret:hover,.sk-dropdown-caret:focus,.sk-dropdown-caret[aria-expanded="true"]{color:var(--sk-accent-dark);}
.sk-dropdown-caret[aria-expanded="true"]::after{transform:rotate(180deg);}

/* submenu "Služby" — dropdown so zoznamom podstránok */
.sk-nav .dropdown-menu{
  border:0;
  border-radius:1rem;
  padding:.6rem;
  margin-top:.6rem !important;
  box-shadow:0 24px 48px -18px rgba(23,19,16,.35);
  background:#fff;
  min-width:15rem;
}
.sk-nav .dropdown-item{
  border-radius:.6rem;
  padding:.55rem .8rem;
  font-weight:500;
  color:var(--sk-text);
}
.sk-nav .dropdown-item:hover,.sk-nav .dropdown-item:focus{background:#FBF6EE;color:var(--sk-accent-dark);}
.sk-nav .dropdown-divider{border-color:var(--sk-line);margin:.4rem .4rem;}

/* desktop: podmenu sa dá otvoriť aj prejdením myšou, nielen klikom na šípku */
@media (min-width:992px){
  .sk-nav-dropdown{position:relative;}
  .sk-nav-dropdown .dropdown-menu{
    display:block;
    opacity:0;visibility:hidden;
    transform:translateY(6px);
    transition:opacity .18s ease,transform .18s ease,visibility .18s;
    pointer-events:none;
  }
  .sk-nav-dropdown:hover .dropdown-menu,
  .sk-nav-dropdown .dropdown-menu.show{
    opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;
  }
}
@media (max-width:991.98px){
  .sk-nav .dropdown-menu{
    position:static !important;
    float:none;
    box-shadow:none;
    background:#FBF6EE;
    margin-top:.35rem !important;
    padding:.4rem;
  }
  .sk-dropdown-caret{width:2.75rem;}
}
.sk-header .navbar-toggler{
  border:1px solid var(--sk-line);
  padding:.4rem .55rem;
}
.sk-header .navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(194,162,122,.35);}
.sk-btn-book{
  --bs-btn-color:#fff;
  --bs-btn-bg:var(--sk-accent-dark);
  --bs-btn-border-color:var(--sk-accent-dark);
  --bs-btn-hover-bg:#8f7350;
  --bs-btn-hover-border-color:#8f7350;
  --bs-btn-hover-color:#fff;
  font-weight:600;
  white-space:nowrap;
  box-shadow:var(--sk-shadow-gold);
  transition:transform .2s ease,box-shadow .2s ease;
}
.sk-btn-book:hover{transform:translateY(-2px);box-shadow:0 18px 36px -12px rgba(194,162,122,.65);}
@media (min-width:992px){
  body{padding-top:0;}
}

/* ---------- 4. Hero ---------- */
.sk-hero{
  position:relative;
  color:#fff;
  isolation:isolate;
  overflow:hidden;
}
.sk-hero picture,.sk-hero img.sk-hero-img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;
}
.sk-hero::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(23,19,16,.6) 0%,rgba(23,19,16,.38) 45%,rgba(23,19,16,.72) 100%);
  z-index:-1;
}

/* Hero fotokarusel (Bootstrap carousel ako pohyblivé pozadie hero sekcie) */
.sk-hero .carousel{position:absolute;inset:0;z-index:-2;overflow:hidden;}
.sk-hero .carousel-inner,.sk-hero .carousel-item{height:100%;}
.sk-hero .carousel-item img{width:100%;height:100%;object-fit:cover;display:block;}
@keyframes sk-kenburns{from{transform:scale(1.01);}to{transform:scale(1.09);}}
.sk-hero .carousel-item.active img{animation:sk-kenburns 7s ease-out forwards;}
.sk-hero .carousel-indicators{z-index:2;margin-bottom:1.5rem;}
.sk-hero .carousel-indicators [data-bs-target]{
  width:8px;height:8px;border-radius:50%;opacity:1;
  background-color:rgba(255,255,255,.5);border:0;margin:0 4px;
}
.sk-hero .carousel-indicators .active{background-color:var(--sk-accent);}
@media (prefers-reduced-motion:reduce){
  .sk-hero .carousel-item.active img{animation:none;}
}
.sk-hero-inner{padding-block:5.5rem;min-height:78vh;display:flex;align-items:center;}
@media (max-width:767.98px){.sk-hero-inner{padding-block:3.5rem;min-height:62vh;}}
.sk-hero .sk-eyebrow{color:var(--sk-accent);}
.sk-hero h1{color:#fff;}
.sk-hero p{color:rgba(255,255,255,.88);}
.sk-hero .breadcrumb{--bs-breadcrumb-divider-color:rgba(255,255,255,.6);}
.sk-hero .breadcrumb a{color:rgba(255,255,255,.85);}
.sk-hero .breadcrumb .active{color:#fff;}

/* split hero (opálenie / maderoterapia) */
.sk-split-hero{background:var(--sk-surface);border-bottom:1px solid var(--sk-line);}
/* Pevná výška riadku, nech ju nediktuje prirodzený pomer strán fotky
   (bez toho sa portrétová fotka natiahla na absurdnú výšku a text
   stĺpec zostal osamotený uprostred obrovskej prázdnej plochy). */
.sk-split-hero .row{min-height:70vh;}
.sk-split-hero .sk-split-text{padding-block:4rem;}
.sk-split-hero .sk-split-img{position:relative;overflow:hidden;}
.sk-split-hero .sk-split-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:991.98px){
  .sk-split-hero .row{min-height:auto;}
  .sk-split-hero .sk-split-img{min-height:360px;}
  .sk-split-hero .sk-split-text{padding-block:3rem;}
}

/* breadcrumb (non-hero, e.g. legal pages) */
.sk-breadcrumb-bar{background:var(--sk-surface);border-bottom:1px solid var(--sk-line);}

/* ---------- 5. Ornamenty ---------- */
.sk-divider{display:block;margin:2.25rem auto;opacity:.85;}
.sk-divider.text-center{margin-inline:auto;}
.sk-pattern-bg{
  background-image:url('../ornaments/pattern-tile-gold.svg');
  background-repeat:repeat;
  background-size:220px;
}
.sk-section{padding-block:4.5rem;}
@media (max-width:767.98px){.sk-section{padding-block:3rem;}}
.sk-section-alt{background:linear-gradient(180deg,#FBF6EE 0%,#FDFBF8 100%);}

/* ---------- 6. Ikony ---------- */
.sk-icon-circle{
  display:inline-flex;align-items:center;justify-content:center;
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(155deg,#fff 0%,#F7EFE2 100%);
  border:0;
  box-shadow:0 10px 24px -14px rgba(194,162,122,.55),inset 0 0 0 1px rgba(194,162,122,.18);
  color:var(--sk-accent-dark);
  flex-shrink:0;
}
.sk-icon-circle svg{width:30px;height:30px;}
.sk-icon-circle.sk-icon-lg{width:88px;height:88px;}
.sk-icon-circle.sk-icon-lg svg{width:42px;height:42px;}

/* ---------- 7. Služby v kruhoch (luxusnejší, "boutique" menu štýl) ---------- */
.sk-service-circle{
  display:block;
  text-decoration:none;
  text-align:center;
  color:inherit;
}
.sk-service-circle .sk-circle-img{
  display:block;
  width:100%;
  max-width:172px;
  aspect-ratio:1/1;
  border-radius:50%;
  overflow:hidden;
  margin:0 auto 1.15rem;
  box-shadow:var(--sk-shadow-soft),0 0 0 6px #fff,0 0 0 7px var(--sk-line);
  transition:transform .35s ease,box-shadow .35s ease;
}
.sk-service-circle .sk-circle-img picture{display:block;width:100%;height:100%;}
.sk-service-circle .sk-circle-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.sk-service-circle:hover{color:inherit;}
.sk-service-circle:hover .sk-circle-img{transform:translateY(-6px);box-shadow:0 26px 46px -18px rgba(23,19,16,.4),0 0 0 6px #fff,0 0 0 7px var(--sk-accent);}
.sk-service-circle:hover .sk-circle-img img{transform:scale(1.08);}
.sk-service-circle h3{
  font-family:var(--sk-font-heading);
  font-style:italic;
  font-weight:600;
  font-size:1.3rem;
  color:var(--sk-dark);
  margin-bottom:.35rem;
  transition:color .25s ease;
}
.sk-service-circle:hover h3{color:var(--sk-accent-dark);}
.sk-service-circle p{color:var(--sk-muted);font-size:.88rem;margin:0 auto;max-width:24ch;}

/* ---------- 7b. Karty služieb (obdĺžnikové, používané na iných miestach) ---------- */
.sk-service-card{
  background:var(--sk-surface);
  border:0;
  border-radius:1.1rem;
  overflow:hidden;
  height:100%;
  box-shadow:var(--sk-shadow-soft);
  transition:transform .3s ease,box-shadow .3s ease;
}
.sk-service-card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -22px rgba(23,19,16,.4);}
.sk-service-card .sk-card-img{aspect-ratio:4/3;overflow:hidden;}
.sk-service-card .sk-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.sk-service-card:hover .sk-card-img img{transform:scale(1.05);}
.sk-service-card .card-body{padding:1.5rem;}
.sk-service-card .sk-card-phone{color:var(--sk-muted);font-size:.9rem;}
.sk-service-card .stretched-link::after{border-radius:var(--bs-border-radius);}

/* ---------- 8. Cenníkové tabuľky ---------- */
.sk-price-table{
  --bs-table-bg:transparent;
  margin-bottom:0;
}
.sk-price-table th{
  font-family:'Inter',sans-serif;
  font-weight:600;
  font-size:.85rem;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--sk-muted);
  border-bottom-width:2px;
  border-color:var(--sk-accent);
}
.sk-price-table td{vertical-align:middle;}
.sk-price-table .sk-price{
  font-weight:700;
  color:var(--sk-accent-dark);
  white-space:nowrap;
  text-align:right;
}
.sk-price-table tbody tr:hover{background:rgba(194,162,122,.08);}
.sk-price-note{font-size:.85rem;color:var(--sk-muted);}
.sk-price-group-title{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-family:'Inter',sans-serif;
  color:var(--sk-accent-dark);
  font-weight:700;
  font-size:.85rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  margin-top:2.25rem;
  padding-bottom:.5rem;
  border-bottom:2px solid var(--sk-accent);
}
.sk-price-group-title:first-of-type{margin-top:0;}
.sk-price-todo{
  background:#FBF3E8;
  border:0;
  border-radius:1rem;
  padding:1rem 1.25rem;
  color:var(--sk-muted);
  font-size:.92rem;
  box-shadow:inset 0 0 0 1px rgba(194,162,122,.35);
}

/* mobilná tabuľka cenníka: dvojriadkový layout ako fallback pre veľmi úzke obrazovky */
@media (max-width:380px){
  .sk-price-table.sk-price-stack thead{display:none;}
  .sk-price-table.sk-price-stack,
  .sk-price-table.sk-price-stack tbody,
  .sk-price-table.sk-price-stack tr,
  .sk-price-table.sk-price-stack td{display:block;width:100%;}
  .sk-price-table.sk-price-stack tr{border-bottom:1px solid var(--sk-line);padding:.5rem 0;}
  .sk-price-table.sk-price-stack td{padding:.15rem 0;border:0;}
  .sk-price-table.sk-price-stack .sk-price{text-align:left;}
}

/* ---------- 9. Accordion (FAQ, cenník) ---------- */
.accordion-button{font-family:'Inter',sans-serif;font-weight:600;color:var(--sk-dark);}
.accordion-button:not(.collapsed){background:#FBF6EF;color:var(--sk-accent-dark);box-shadow:none;}
.accordion-button:focus{box-shadow:0 0 0 .2rem rgba(194,162,122,.35);}
.accordion-item{border-color:var(--sk-line);border-radius:1rem !important;overflow:hidden;margin-bottom:.6rem;border-top-width:1px !important;}
.accordion-item:last-of-type{margin-bottom:0;}

/* ---------- 10. Breadcrumbs ---------- */
.breadcrumb{font-size:.9rem;}
.breadcrumb-item+.breadcrumb-item::before{color:var(--sk-muted);}

/* ---------- 11. Galéria ---------- */
.sk-gallery a{display:block;border-radius:.6rem;overflow:hidden;position:relative;}
.sk-gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease;}
.sk-gallery a:hover img{transform:scale(1.06);}

/* ---------- 12. Pätka ---------- */
.sk-footer{
  background:linear-gradient(165deg,var(--sk-accent-dark) 0%,#2E2110 100%);
  color:rgba(255,255,255,.82);
  padding-block:3.5rem 0;
}
.sk-footer a{color:rgba(255,255,255,.8);text-decoration:none;}
.sk-footer a:hover{color:var(--sk-accent);text-decoration:underline;}
.sk-footer h2,.sk-footer h3{color:#fff;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase;font-family:'Inter',sans-serif;font-weight:600;}
.sk-footer .sk-footer-logo{height:40px;width:auto;margin-bottom:1rem;}
.sk-footer .sk-footer-desc{color:rgba(255,255,255,.6);font-size:.92rem;max-width:32ch;}
.sk-footer hr{border-color:rgba(255,255,255,.14);margin-block:2.25rem;}
.sk-footer .sk-social-link{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(255,255,255,.25);
  margin-right:.4rem;
}
.sk-footer .sk-social-link:hover{border-color:var(--sk-accent);background:rgba(194,162,122,.15);}
.sk-footer .sk-partner-badge{background:#fff;border-radius:.5rem;padding:.5rem .75rem;display:inline-block;line-height:0;}
.sk-footer-bottom{padding-block:1.25rem;border-top:1px solid rgba(255,255,255,.14);margin-top:2.5rem;color:rgba(255,255,255,.55);}
.sk-footer-bottom .sep{margin-inline:.5rem;opacity:.5;}

/* podpis autora — vlastný tooltip */
.sk-credit{
  position:relative;
  color:var(--sk-accent);
  font-weight:600;
  text-decoration:none;
  border-bottom:1px dotted rgba(194,162,122,.6);
}
.sk-credit:hover{color:var(--sk-accent);text-decoration:none;border-bottom-style:solid;}
.sk-credit::after{
  content:attr(title);
  position:absolute;
  bottom:135%;left:50%;
  transform:translateX(-50%) translateY(4px);
  background:#0d0b09;
  color:#fff;
  padding:.4rem .7rem;
  border-radius:6px;
  font-size:.75rem;
  font-weight:400;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease,transform .18s ease;
  pointer-events:none;
  z-index:20;
}
.sk-credit:hover::after,.sk-credit:focus-visible::after{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
@media (max-width:575.98px){.sk-credit::after{display:none;}}

/* ---------- 13. Tlačidlo „Späť hore“ ---------- */
.sk-to-top{
  position:fixed;
  right:1.1rem;bottom:1.1rem;
  width:46px;height:46px;
  border-radius:50%;
  background:var(--sk-dark);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  border:0;
  box-shadow:0 10px 24px -10px rgba(0,0,0,.45);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s;
  z-index:1030;
}
.sk-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.sk-to-top:hover{background:var(--sk-accent-dark);color:#fff;}

/* ---------- 14. Sticky mobilné CTA ---------- */
.sk-mobile-cta{
  position:fixed;left:0;right:0;bottom:0;
  z-index:1040;
  background:var(--sk-surface);
  border-top:1px solid var(--sk-line);
  box-shadow:0 -8px 24px -16px rgba(23,19,16,.35);
  padding:.6rem .75rem;
  padding-bottom:calc(.6rem + env(safe-area-inset-bottom));
}
@media (min-width:992px){.sk-mobile-cta{display:none;}}
.sk-mobile-cta .btn{min-height:48px;}
body.sk-has-mobile-cta{padding-bottom:78px;}
@media (min-width:992px){body.sk-has-mobile-cta{padding-bottom:0;}}

/* ---------- 15. Scroll reveal ---------- */
.sk-reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease;}
.sk-reveal.is-visible{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion:reduce){
  .sk-reveal{opacity:1;transform:none;transition:none;}
}

/* ---------- 16. Cookie consent — zladenie s paletou ---------- */
#cc-main{
  --cc-font-family:'Inter',sans-serif;
  --cc-btn-primary-bg:var(--sk-accent-dark);
  --cc-btn-primary-border-color:var(--sk-accent-dark);
  --cc-btn-primary-hover-bg:#8f7350;
  --cc-btn-primary-hover-border-color:#8f7350;
  --cc-btn-secondary-bg:#fff;
  --cc-btn-secondary-hover-bg:#f3ede4;
  --cc-bg:#FDFBF8;
  --cc-text:#1F1B18;
  --cc-toggle-on-bg:var(--sk-accent-dark);
  --cc-cookie-category-block-bg:#fff;
  --cc-cookie-category-block-border:#EFE7DD;
  --cc-separator-border-color:#EFE7DD;
  --cc-overlay-bg:rgba(23,19,16,.55);
  --cc-modal-border-radius:16px;
  --cc-btn-border-radius:10px;
}

/* placeholder pre mapy/video pred súhlasom (im-wrapper) — vlastný pomer strán namiesto
   Bootstrap .ratio, lebo selektor iframemanagera (div[data-service]) má vyššiu
   špecifickosť než ".ratio > *" a prebíjal by mu position:absolute, čím by sa box
   zdvojnásobil (prázdny priestor hore + mapa/video zmenšené dole). */
.im-wrapper{
  position:relative;
  width:100%;
  aspect-ratio:var(--im-ratio,16/9);
  border-radius:1rem;
  overflow:hidden;
  box-shadow:var(--sk-shadow-soft);
}
.im-wrapper.ratio-9x16{--im-ratio:9/16;}
.im-wrapper>div[data-service]{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
}
.im-wrapper>div[data-service]::before{content:none !important;}
.sk-map-wrapper{max-height:440px;}

/* jemný tieň na obsahové fotky namiesto tenkého orámovania */
main img.rounded-4{box-shadow:var(--sk-shadow-soft);}

/* ---------- 17. Formuláre ---------- */
.form-control,.form-select{
  border-color:var(--sk-line);
  padding-block:.65rem;
}
.form-control:focus,.form-select:focus{
  border-color:var(--sk-accent);
  box-shadow:0 0 0 .2rem rgba(194,162,122,.25);
}
.form-label{font-weight:500;}

/* ---------- 18. Kartička prevádzky (kontakt) ---------- */
.sk-branch-card{
  border:0;
  border-radius:1.1rem;
  background:#fff;
  padding:1.5rem;
  height:100%;
  box-shadow:var(--sk-shadow-soft);
  transition:transform .25s ease,box-shadow .25s ease;
}
.sk-branch-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -22px rgba(23,19,16,.4);}
.sk-branch-card .sk-branch-name{font-family:'Inter',sans-serif;font-weight:700;font-size:1.2rem;}

/* ---------- 19. Print (cenník) ---------- */
@media print{
  .sk-header,.sk-footer,.sk-mobile-cta,.sk-to-top,#cc-main,.sk-no-print{display:none !important;}
  body{background:#fff;padding:0 !important;}
  a[href]::after{content:none !important;}
  .sk-price-table{font-size:12pt;}
  .sk-section{padding-block:0;}
  /* pri tlači zobraz všetky cenníkové kategórie rozbalené, bez ohľadu na stav accordionu */
  .accordion-collapse{display:block !important;height:auto !important;visibility:visible !important;}
  .accordion-button{pointer-events:none;}
  .accordion-button::after{display:none;}
}

/* ---------- 20. Drobné poistky proti horizontálnemu scrollu ---------- */
img,svg{max-width:100%;height:auto;}
.table-responsive{-webkit-overflow-scrolling:touch;}
