:root{
  --td-primary: #846A5A;
  --td-canvas: #EDDDD5;
  --td-white: #FFFFFF;
}

html { scroll-behavior: smooth; }

body{
  font-family: "Open Sans", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial;
  color: #2b2b2b;
}

h1,h2,h3,h4,h5,h6,.navbar-brand,.brand-text,.btn,.section-title{
  font-family: "Raleway", "Open Sans", Arial, sans-serif;
}

.navbar-nav .dropdown-menu {
    border: 1px solid #efe9e4;
}

.bg-primary-td{ background-color: var(--td-primary)!important; }
.text-primary-td{ color: var(--td-primary)!important; }
.bg-canvas{ background-color: var(--td-canvas)!important; }

.topbar{ letter-spacing:.2px; }
.topbar .topbar-inner{
  display:flex;
  gap:1.25rem;
  align-items:center;
  justify-content:center;
  padding:.45rem 0;
  text-align:center;
  flex-wrap:wrap;
}
.topbar .topbar-inner span{ opacity:.95; }

.btn{
  --btn-ring: rgba(132,106,90,.28);
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .06s ease;
  border-radius: 999px;
  box-shadow: none!important;
  outline: none!important;
  -webkit-tap-highlight-color: transparent;
  appearance: none;
}

.btn-accent{
  background-color: var(--td-primary);
  border: 1px solid var(--td-primary);
  color: #fff;
  padding: .65rem 1.25rem;
}
.btn-accent:hover,
.btn-accent:active,
.btn-accent:focus,
.btn-accent:focus-visible,
.btn-accent:not(:disabled):not(.disabled):active{
  background-color: #6f594c;
  border-color: #6f594c!important;
  color: #fff;
  box-shadow: none!important;
  outline: none!important;
  transform: none;
}
.btn-accent:disabled{
  background-color: #b9aca4;
  border-color: #b9aca4;
  color: #fff;
  opacity: .7;
  cursor: not-allowed;
}

.btn-outline-primary-td{
  border: 1px solid var(--td-primary);
  color: var(--td-primary);
  background: transparent;
  padding: .6rem 1.15rem;
}
.btn-outline-primary-td:hover,
.btn-outline-primary-td:active,
.btn-outline-primary-td:focus,
.btn-outline-primary-td:focus-visible,
.btn-outline-primary-td:not(:disabled):not(.disabled):active,
.show > .btn-outline-primary-td.dropdown-toggle{
  background-color: var(--td-primary);
  color: #fff;
  border-color: var(--td-primary)!important;
  box-shadow: none!important;
  outline: none!important;
  transform: none;
}
.btn-outline-primary-td:focus:not(:focus-visible){
  box-shadow: none!important;
  outline: none!important;
}
.btn-outline-primary-td:disabled{
  color: #b9aca4;
  border-color: #d7cfc9;
  opacity: .7;
  cursor: not-allowed;
}

.navbar .nav-link{
  font-weight: 600;
  color: #6b5b52;
  transition: color .2s ease;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link.active{
  color: var(--td-primary);
}

.navbar .dropdown-toggle::after{
  display: none!important;
}

/* hamburger tlačidlo – bez bordera a tieňa */
.navbar-toggler{
  border: none!important;
  box-shadow: none!important;
  outline: none!important;
}
.navbar-toggler:focus,
.navbar-toggler:active{
  border: none!important;
  box-shadow: none!important;
  outline: none!important;
}

@media (min-width: 992px){
  .dropdown-hover:hover .dropdown-menu{
    display:block;
    margin-top:0;
  }
}

.dropdown-menu{
  padding-inline: .75rem;
}
.dropdown-menu .dropdown-item{
  background: transparent!important;
  color: #2b2b2b;
  transition: color .25s ease;
  position: relative;
}
.dropdown-menu .dropdown-item span{
  position: relative;
  display: inline-block;
}
.dropdown-menu .dropdown-item span::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: 0%;
  background: var(--td-primary);
  transition: width .25s ease;
}
.dropdown-menu .dropdown-item:hover span,
.dropdown-menu .dropdown-item:focus span{
  color: var(--td-primary);
}
.dropdown-menu .dropdown-item:hover span::after,
.dropdown-menu .dropdown-item:focus span::after{
  width: 100%;
}

.hero .badge{ border-radius: 999px; }
.hero-img{ aspect-ratio: 4 / 3; background: var(--td-canvas); }

.section-title{
  color: #4a403a;
  font-weight: 800;
  letter-spacing: .3px;
}

.card-service{
  border: 0;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}
.card-service .card-body{ padding: 1.4rem 1.3rem; }
.card-service h3{
  color: var(--td-primary);
  margin-bottom: .5rem;
}
.card a{
  color: var(--td-primary);
  text-decoration: none;
}
.card a:hover{ text-decoration: underline; }

.list-checked{
  list-style: none;
  padding-left: 0;
}
.list-checked li{
  padding-left: 2rem;
  position: relative;
  margin-bottom: .5rem;
}
.list-checked li::before{
  content: "✓";
  position: absolute;
  left: .4rem;
  top: 0;
  color: var(--td-primary);
  font-weight: 800;
}

.logo-mobile{ display:none; width:160px; height:auto; }
.logo-desktop{ display:block; width:180px; height:auto; }

@media (max-width:991.98px){
  .logo-desktop{ display:none; }
  .logo-mobile{ display:block; }
}

.hero-modern{
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,1) 0%,
    rgba(237,221,213,0.2) 100%
  );
}



.hero-modern .hero-badge{
  background: var(--td-canvas);
  color: var(--td-primary);
  border: 1px solid rgba(132,106,90,.2);
  padding: .5rem .9rem;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .2px;
}

.hero-modern .hero-title{
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: .5px;
  font-size: clamp(2.8rem, 3.8vw + 1rem, 4.5rem);
  color: var(--td-primary);
}

.hero-modern .hero-lead{
  font-size: clamp(1rem, .4vw + .95rem, 1.175rem);
  color: #4a403a;
  max-width: 48ch;
}

.hero-modern .hero-media{
  aspect-ratio: 4/3;
  background: var(--td-canvas);
  box-shadow: 0 10px 28px rgba(0,0,0,.06), 0 0 0 6px #fff inset;
}

@media (max-width: 991.98px){
  .hero-modern .hero-media{ aspect-ratio: 3/4; }
}


.services-slider{ overflow: visible; }

/* track */
.services-track{
  display:grid;
  grid-auto-flow:column;
  gap:1.25rem;
  overflow-x:auto;
  overflow-y:visible;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;

  /* zabráni orezaniu pri hoveri */
  padding-block:.5rem;
  margin-block:-.5rem;
}
.services-track::-webkit-scrollbar{ display:none; }

/* 1 kolóna */
@media (max-width:767.98px){
  .services-track{ grid-auto-columns:100%; }
}

/* 2 kolóny – odrátaná 1 medzera */
@media (min-width:768px) and (max-width:1199.98px){
  .services-track{ grid-auto-columns:calc((100% - 1.25rem)/2); }
}

/* 3 kolóny – odrátané 2 medzery */
@media (min-width:1200px){
  .services-track{ grid-auto-columns:calc((100% - 2.5rem)/3); }
}

.services-modern .service-item{
  display:flex;
  gap:1rem;
  align-items:center;
  background:#fff;
  padding:1.25rem 1.25rem 1.25rem 1rem;
  border-radius:1rem;
  text-decoration:none;
  box-shadow:none;
  border:1px solid #efe9e4;
  scroll-snap-align:start;
  transition:transform .15s ease, border-color .15s ease, background-color .15s ease;
  min-height:160px;
}
.services-modern .service-item:hover,
.services-modern .service-item:focus{
  transform:translateY(-2px);
  border-color:#e5d9d2;
}

.services-modern .service-icon{
  flex:0 0 auto;
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:1rem;
  background:var(--td-canvas);
  outline:4px solid #fff;
  box-shadow:0 4px 12px rgba(0,0,0,.06) inset;
}
.services-modern .service-icon img{ max-width:72%; height:auto; display:block; }

.services-modern .service-copy{ position:relative; padding-left:1rem; }
.services-modern .service-copy::before{
  content:"";
  position:absolute;
  left:0; top:.25rem; bottom:.25rem;
  width:2px;
  background:color-mix(in srgb, var(--td-primary) 35%, transparent);
}

.services-modern h3{ color:#4a403a; font-weight:800; letter-spacing:.2px; margin-bottom:.3rem!important; }
.services-modern p{ color:#4a403a; margin-bottom:0!important; }

.services-controls .btn{
  padding:.45rem .7rem;
  line-height:1;
  border-radius:999px;
}
.services-controls .btn:disabled{ opacity:.45; cursor:not-allowed; }

.why-us{
  background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(237, 221, 213, 0.2) 100%);
  border-bottom:1px solid rgba(132,106,90,.15);
}

.why-title{
  color: #4a403a;
  font-weight:800;
  letter-spacing:.3px;
}

.why-text{
  color:#4a403a;
  line-height:1.7;
}

.why-media{
  aspect-ratio:4/3;
  background:var(--td-canvas);
  box-shadow:0 10px 28px rgba(0,0,0,.08),0 0 0 6px #fff inset;
}

@media (max-width:991.98px){
  .why-media{ aspect-ratio:3/4; }
}

.feedback-section {
background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(237, 221, 213, 0.2) 100%);
}

/* === FEEDBACK SLIDER (bez šípok, bez orámovania) === */
.feedback-section .section-title { color:#4a403a; }
.feedback-section .section-lead { margin-top:.25rem; }

/* menšia medzera nad kartou */
.feedback-slider{
  position: relative;
  max-width: 820px;
  margin: .5rem auto 0; /* zmenšené */
}

.feedback-track{
  position: relative;
  overflow: hidden;
  min-height: 200px;
}

.feedback-item{
  position: absolute;
  inset: 0;
  margin: 0;
  background: transparent;     /* bez karty */
  border: 0;                   /* bez okraja */
  box-shadow: none;            /* bez tieňa */
  padding: clamp(1rem, 1.5vw + .75rem, 1.75rem);
  opacity: 0;
  transform: translateY(6px);  /* jemný nábeh */
  transition: opacity .35s ease, transform .35s ease;
  display: grid;
  gap: .75rem;
  align-content: center;
  text-align: center;
}

.feedback-item[aria-hidden="false"]{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.feedback-icon{
  font-size: 1.5rem;
  color: var(--td-primary);
  opacity: .9;
}

.feedback-text{
  font-size: clamp(1rem, .35vw + 1rem, 1.125rem);
  color:#4a403a;
  line-height: 1.75;
  margin: 0;
}

.feedback-meta{
  display:flex;
  gap:.5rem;
  align-items:center;
  justify-content:center;
  margin-top: .35rem;
}
.feedback-name{
  font-weight: 800;
  color:#4a403a;
}
.feedback-stars i{ margin-left: .15rem; color: #f5c451; }

.feedback-dots{
  display:flex;
  justify-content:center;
  gap:.5rem;
  margin-top:.5rem; /* menšie ako predtým */
}
.feedback-dots .dot{
  width:10px; height:10px;
  border-radius:999px;
  background:#d7cfc9;
  border:0;
  padding:0;
  cursor:pointer;
  transition: transform .2s ease, background-color .2s ease;
}
.feedback-dots .dot.active{
  background: var(--td-primary);
  transform: scale(1.15);
}
.feedback-dots .dot:focus-visible{
  outline: 2px solid color-mix(in srgb, var(--td-primary) 60%, white);
  outline-offset: 2px;
}

@media (max-width: 575.98px){
  .feedback-track{ min-height: 220px; }
}

/* Odkaz v texte (GDPR) */
.link-td{ color: var(--td-primary); text-decoration: underline; }
.link-td:hover, .link-td:focus{ color:#6f594c; }

/* Form – TOPDENTAL štýl */
.form-control-td,
.form-select{
  border: 1px solid #e9e2dc;
  border-radius: 12px;
  background: #fff;
  padding: .6rem .9rem;
  box-shadow: none;
  outline: none;
}
.form-control-td:focus,
.form-select:focus{
  border-color: color-mix(in srgb, var(--td-primary) 60%, #fff);
  box-shadow: 0 0 0 3px rgba(132,106,90,.15);
}

.form-check-td .form-check-input{
  width: 1.05rem; height: 1.05rem;
  border-radius: .35rem;
  border: 1px solid #d8cfc8;
  box-shadow: none;
}
.form-check-td .form-check-input:checked{
  background-color: var(--td-primary);
  border-color: var(--td-primary);
}
.form-check-td .form-check-input:focus{
  box-shadow: 0 0 0 3px rgba(132,106,90,.15);
}
.form-check-td .form-check-label{ color:#4a403a; margin-left:.25rem; }
.form-label{ color:#6b5b52; font-weight:600; }

/* Errnotify / status hláška – animované zobrazenie/skrývanie */
.form-alert{
  font-size: .95rem;
  display: grid;
  align-content: center;
  padding: .6rem .9rem;
  border-radius: 12px;
  background: transparent;
  color: #4a403a;

  /* animácia */
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .25s ease, transform .25s ease;
  pointer-events: none;
}
.form-alert.is-visible{
  opacity: 1;
  transform: translateY(0);
}

.form-alert.is-error{
  background: #fff4f2;
  border: 1px solid #f3d0c8;
  color: #7a3326;
}
.form-alert.is-success{
  background: #f3fff6;
  border: 1px solid #cbead5;
  color: #145f35;
}
.form-alert:empty{
  padding: 0;
  border: 0; background: transparent;
}

/* Disabled tlačidlo počas odosielania */
button[disabled]{ opacity:.8; cursor:not-allowed; }


/* Footer modern */
.footer-modern{
  border-top: 1px solid rgba(132,106,90,.15);
  /* opačný jemný gradient */
background-color: #FFFFFF;
}

.footer-title{
  color:#4a403a;
  font-weight:800;
  letter-spacing:.3px;
  margin-bottom:.75rem;
}

.footer-links li a{
  color:#2b2b2b;
  text-decoration:none;
}
.footer-links li a:hover{ color: var(--td-primary); text-decoration: underline; }

.footer-list li{
  color:#4a403a;
  margin-bottom:.35rem;
}

/* badge pod logom */
.badge-td{
  display:inline-block;
  background: var(--td-canvas);
  color: var(--td-primary);
  border: 1px solid rgba(132,106,90,.2);
  padding:.35rem .6rem;
  border-radius:999px;
  font-weight:700;
  letter-spacing:.2px;
}

/* socials */
.social-td{
  width:36px; height:36px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgba(132,106,90,.35);
  color:#6b5b52;
  text-decoration:none;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .06s ease;
}
.social-td:hover, .social-td:focus{
  background: var(--td-primary);
  border-color: var(--td-primary);
  color:#fff;
  transform: translateY(-1px);
}

/* Úplná ochrana – nikdy neaplikuj underline logiku na social tlačidlá */
.footer-modern a.social-td {
  text-decoration: none !important;
}

.footer-modern a.social-td::after {
  display: none !important;
}


/* tenký hraničný <hr> vo footri */
.border-td{
  border-color: rgba(132,106,90,.15) !important;
}

.footer-logo{
  display: block;
  width: 220px;
  height: auto;
  padding-bottom: 30px;
}

.footer-modern a{
  text-decoration: none !important; /* zruší klasický underline */
  position: relative;
  transition: color .2s ease;
}

.footer-modern a::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 0%;
  height: 1px;
  background-color: currentColor;
  transition: width .25s ease;
}

.footer-modern a:hover::after,
.footer-modern a:focus::after{
  width: 100%;
}


.link-td-footer {
  color: #4a403a;
  text-decoration: none;
  transition: color .2s ease;
}

.link-td-footer:hover,
.link-td-footer:focus {
  color: var(--td-primary);
}

/* === ARTICLE TEMPLATE === */
.article-hero{
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,1) 0%,
    rgba(237,221,213,0.35) 100%
  );
}
.article-title{
  font-family: "Raleway","Open Sans",Arial,sans-serif;
  font-weight: 800;
  letter-spacing: .6px;
  color: #4a403a;
  font-size: clamp(1.9rem, 1.5vw + 1.6rem, 2.75rem);
  margin-bottom: .35rem;
}
.article-subtitle{
  font-size: .98rem;
}

.article-body .article-content{
  max-width: 880px;
  margin-inline: auto;
}

.article-body h2{
  font-family: "Raleway","Open Sans",Arial,sans-serif;
  color: #4a403a;
  font-weight: 800;
  letter-spacing: .3px;
  font-size: clamp(1.25rem, .6vw + 1.1rem, 1.5rem);
  margin-top: 1.5rem;
  margin-bottom: .5rem;
}
.article-body p{
  color:#4a403a;
  line-height: 1.75;
  margin-bottom: 1rem;
}

/* kroky – sekundárny zoznam odlišný od .list-checked */
.article-steps{
  padding-left: 1.15rem;
  margin: .5rem 0 1.25rem 0;
  color:#4a403a;
}
.article-steps li{ margin-bottom: .5rem; }

/* CTA */
.article-cta{
  display: grid;
}
.article-cta-inner{
  background: #fff;
  border: 1px solid #efe9e4;
  border-radius: 1rem;
  padding: clamp(1rem, 2vw + .75rem, 1.75rem);
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
  text-align: center;
}

/* === CENNÍK – tabuľky === */
.table-wrap{
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.price-heading{
  color:#4a403a;
  font-weight:800;
  letter-spacing:.3px;
  margin-bottom:.75rem;
}

.price-table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: .98rem;
  background: #fff;
  border: 1px solid #efe9e4;
  border-radius: 12px;
  overflow: hidden;
}

.price-table thead th{
  background: var(--td-canvas);
  color:#4a403a;
  font-weight: 700;
  padding: .85rem 1rem;
  border-bottom: 1px solid #efe9e4;
  white-space: nowrap;
}

.price-table tbody td{
  padding: .75rem 1rem;
  border-top: 1px solid #f4eee9;
  color:#4a403a;
  vertical-align: top;
}

.price-table tbody tr:nth-child(odd) td{
  background: #fff;
}
.price-table tbody tr:nth-child(even) td{
  background: #fdfbf9;
}

.price-table .price{
  text-align: right;
  white-space: nowrap;
  font-weight: 700;
  color: var(--td-primary);
}

@media (max-width: 575.98px){
  .price-table{ font-size: .95rem; }
  .price-table thead th{ padding: .75rem .85rem; }
  .price-table tbody td{ padding: .65rem .85rem; }
}

/* === Kontakt – jednotné štýly === */
#kontakt h3,
#kontakt .h5.text-primary-td{
  color: var(--td-primary);
  font-weight: 800;
  letter-spacing: .2px;
  margin-bottom: .35rem;
}

#kontakt p,
#kontakt li,
#kontakt span{
  color: #4a403a;
  line-height: 1.65;
}

#kontakt .list-unstyled li{ margin-bottom: .35rem; }

/* Ikony – rovnaká farba všade */
#kontakt .fa-solid,
#kontakt .fa-regular,
#kontakt .fa-brands,
#kontakt i[class^="fa-"]{
  color: var(--td-primary);
  opacity: .95;
}

/* Odkazy – hladké podčiarknutie (okrem tlačidiel) */
#kontakt a{
  color: var(--td-primary);
  text-decoration: none;
  position: relative;
  transition: color .2s ease;
}
#kontakt a:hover,
#kontakt a:focus{
  color: #6f594c; /* mierne stmavenie na hover */
}
#kontakt a::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 0%;
  height: 1px;
  background: currentColor;
  transition: width .25s ease;
}
#kontakt a:hover::after,
#kontakt a:focus::after{
  width: 100%;
}

/* Výnimky – tlačidlá nemajú underline */
#kontakt a.btn,
#kontakt .btn{
  text-decoration: none !important;
}
#kontakt a.btn::after{ display: none; }

/* výška odsadenia pri skrolnutí na kotvu */
:root{ --scroll-offset: 88px; } /* približne výška .navbar na desktope */

@media (max-width: 991.98px){
  :root{ --scroll-offset: 72px; } /* mobil */
}

/* aplikuj na sekcie/ciele s id */
[id]{ scroll-margin-top: var(--scroll-offset); }


.feedback-item[aria-hidden="false"]{
  position: relative;
}

@media (max-width: 575.98px){
  .feedback-track{ min-height: auto; }
}

/* odstráni modrý okraj na mobile */
.navbar .nav-link:focus,
.navbar .dropdown-toggle:focus,
.navbar .dropdown-toggle:focus-visible{
  outline: none !important;
  box-shadow: none !important;
}

/* vypne modrý tap highlight na iOS/Android */
.navbar a,
.navbar .dropdown-item{
  -webkit-tap-highlight-color: transparent;
}

.dropdown-caret{
  transition: transform .25s ease;
}
.dropdown.show .dropdown-caret{
  transform: rotate(180deg);
}

.navbar .dropdown-toggle[aria-expanded="true"] .dropdown-caret{
  transform: rotate(180deg) !important;
}

@media (min-width: 992px){
  .navbar .dropdown-hover:hover .dropdown-toggle .dropdown-caret{
    transform: rotate(180deg);
  }
}

@media (max-width: 991.98px){
  .navbar .nav-item .btn-accent{
    margin-top: 2rem;
  }

  .navbar .nav-item.ms-lg-3{
    display: flex;
    justify-content: center;
  }
}

@media (max-width: 991.98px){
  .hero-modern .btn-accent{
    display: flex;
    justify-content: center;
    margin-inline: auto;
  }
}

.hero-cover{
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgb(132 106 90 / 35%);
}

.hero-cover-media{
  position: absolute;
  inset: 0;
  z-index: 1;
}

@media (max-width: 991.98px){
  .hero-cover-media img{
    object-position: 75% 25%;
  }
}

.hero-cover-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hero-cover-overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(237,221,213,0.45) 0%,
    rgba(255,255,255,0) 100%
  );
}

.hero-cover-content{
  position: relative;
  z-index: 2;
  min-height: clamp(520px, 72vh, 760px);
  display: grid;
  align-content: center;
  padding-block: clamp(3rem, 6vw, 6rem);
}

.hero-cover .hero-badge{
  background: var(--td-canvas);
  color: var(--td-primary);
  border: 1px solid rgba(132,106,90,.2);
  padding: .5rem .9rem;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .2px;
}

.hero-cover .hero-title{
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: .5px;
  font-size: clamp(2.6rem, 3.6vw + 1rem, 4.4rem);
  color: var(--td-primary);
}

.hero-cover .hero-lead{
  font-size: clamp(1rem, .4vw + .95rem, 1.175rem);
  color: #4a403a;
  max-width: 48ch;
  margin-inline: auto;
}

.hero-cover-cta{
  display: flex;
  justify-content: center;
}

@media (min-width: 992px){
  .hero-cover .hero-lead{ margin-inline: 0; }
  .hero-cover-cta{ justify-content: flex-start; }
}

@media (max-width: 991.98px){
  .hero-cover-overlay{
    background: linear-gradient(
      to top,
      rgba(237,221,213,0.45) 0%,
      rgba(255,255,255,0) 60%
    );
  }
}

@media (max-width: 991.98px){
  .hero-cover .hero-title,
  .hero-cover .hero-lead,
  .hero-cover .hero-badge{
    color: #fff;
  }

  .hero-cover .hero-badge{
    background: rgba(255,255,255,0.2);
    border-color: rgba(255,255,255,0.3);
  }
}

@media (max-width: 991.98px){
  .hero-cover .btn.btn-accent{
    box-shadow: 0 6px 18px rgba(0,0,0,.25) !important;
  }
  .hero-cover .btn.btn-accent:hover,
  .hero-cover .btn.btn-accent:focus,
  .hero-cover .btn.btn-accent:active{
    box-shadow: 0 8px 24px rgba(0,0,0,.30) !important;
  }
  .hero-cover {
      border-bottom: 1px solid rgb(132 106 90 / 35%);
  }  
}

.services-slider{
  overflow-x: clip;
  overflow-y: visible;
  position: relative;
}

@supports not (overflow: clip){
  .services-slider{ overflow-x: hidden; }
}

.services-track{
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
  padding-inline: .5rem;
  margin-inline: -.5rem;
}

.services-track > *{
  min-width: 0;
  max-width: 100%;
}

.services-track{
  touch-action: pan-y;
}

@media (max-width: 991.98px){
  body{ overflow-x: clip; overflow-y: visible; }
}


@media (max-width: 991.98px){
  .services-slider{ overflow-x: hidden; }

  .services-track{
    padding-left: .75rem;   /* rovnaké ako container */
    padding-right: .75rem;
    margin-inline: 0;
    scroll-padding-left: .75rem;
    scroll-padding-right: .75rem;
    touch-action: pan-y;
    overscroll-behavior-x: contain;
  }
}

#kontakt a{
  color: #4a403a;
  text-decoration: none;
  position: relative;
  transition: color .2s ease;
}
#kontakt a:hover,
#kontakt a:focus{
  color: var(--td-primary);
}
#kontakt a::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 0%;
  height: 1px;
  background: currentColor;
  transition: width .25s ease;
}
#kontakt a:hover::after,
#kontakt a:focus::after{
  width: 100%;
}
#kontakt a.btn,
#kontakt .btn{
  text-decoration: none !important;
}
#kontakt a.btn::after{ display: none; }

@media (min-width: 992px){
  .services-slider{
    overflow: visible;
  }
  .services-track{
    padding-inline: 0;
    margin-inline: 0;
    scroll-padding-left: 0;
    scroll-padding-right: 0;
  }
}


:root{
  --svc-gap: 1.25rem;
  --svc-hair: .25px; /* vlasový odpočet proti pretečeniu */
}

.services-slider{
  overflow: hidden;
}

/* 2 karty */
@media (min-width: 768px) and (max-width: 1199.98px){
  .services-track{
    display: flex !important;
  }
  .services-track > .service-item{
    flex: 0 0 calc(((100% - var(--svc-gap)) / 2) - var(--svc-hair));
    box-sizing: border-box;
  }
}

/* 3 karty – desktop */
@media (min-width: 1200px){
  .services-track{
    display: flex !important;
  }
  .services-track > .service-item{
    flex: 0 0 calc(((100% - (2 * var(--svc-gap))) / 3) - var(--svc-hair));
    box-sizing: border-box;
  }
}

/* alternatíva bez posunu – iba zmena bordera */
.services-modern .service-item:hover,
.services-modern .service-item:focus{
  transform: none;
  border-color: #e5d9d2;
}

.services-modern .service-icon img{
  transition: transform .25s ease;
}

.services-modern .service-item:hover .service-icon img{
  transform: scale(1.08);
}

