/* ============================================================
   OCEAN DENT – vizuálna nadstavba (od-theme.css)
   Načítava sa ako posledný stylesheet; len prepisuje vzhľad,
   nemení DOM ani správanie React aplikácie.
   ============================================================ */

:root{
  --od-teal:#5dc2de;
  --od-deep:#4b8ebd;
  --od-pink:#fa617b;
  --od-ink:#333f48;
  --od-soft:#f2fafc;
  --od-line:#e3eef3;
}

html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;color:var(--od-ink)}
::selection{background:var(--od-teal);color:#fff}
a{transition:color .2s ease}
:focus-visible{outline:3px solid rgba(93,194,222,.6);outline-offset:2px;border-radius:4px}

/* jemný scrollbar (WebKit) */
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:#f2f7fa}
::-webkit-scrollbar-thumb{background:#bcd9e6;border-radius:8px;border:2px solid #f2f7fa}
::-webkit-scrollbar-thumb:hover{background:var(--od-teal)}

/* ---------- NAVBAR ---------- */
nav.navbar{
  background:rgba(255,255,255,.95)!important;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  box-shadow:0 2px 22px rgba(51,63,72,.10);
  padding-bottom:.4rem;
}
.navbar-info{
  background:linear-gradient(90deg,var(--od-teal),var(--od-deep));
  color:#fff!important;
  font-size:.86rem;
  padding-top:.35rem;
  padding-bottom:.35rem;
}
.navbar-info,
.navbar-info a,
.navbar-info a:hover,
.navbar-info p,
.navbar-info span{color:#fff!important;text-decoration:none}
.navbar-info a{font-size:.92rem!important}
.navbar-info svg{color:#fff!important}
.navbar-brand img{width:200px!important;height:auto;transition:transform .25s ease}
.navbar-brand:hover img{transform:scale(1.03)}
.navbar-nav a{
  font-size:1.02rem!important;
  font-weight:600;
  padding:.5rem 1rem!important;
  border-radius:999px;
  transition:background .2s ease,color .2s ease;
}
.navbar-nav a:hover{background:var(--od-soft);color:var(--od-deep)!important;text-decoration:none}
.navbar-nav a[aria-current="page"]{background:rgba(93,194,222,.16)}
.navbar-toggler{border-color:rgba(93,194,222,.5)!important;border-radius:10px}
.navbar-collapse.show,.navbar-collapse.collapsing{
  background:#fff;border-radius:0 0 16px 16px;
  box-shadow:0 18px 26px rgba(51,63,72,.12);
  padding:.5rem .75rem .9rem;
}

/* ---------- HERO / BANNER ---------- */
.banner img{object-fit:cover;object-position:center}
.banner::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:64px;
  background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.95));
  pointer-events:none;
}
.banner__caption{
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(242,250,252,.88))!important;
  border:0!important;
  border-left:5px solid var(--od-teal)!important;
  border-top-left-radius:22px!important;
  border-bottom-left-radius:22px!important;
  box-shadow:0 18px 44px -18px rgba(51,63,72,.35);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  padding-left:26px;
}
.banner__caption p{color:var(--od-ink)}
.banner__caption a p{transition:transform .2s ease}
.banner__caption a:hover p{transform:translateX(4px)}

/* ---------- SEKCIA: SLUŽBY (checkmarky) ---------- */
.main-content__services{
  background-image:linear-gradient(rgba(255,255,255,.88),rgba(255,255,255,.88)),url(/tooth.JPG)!important;
  background-position-x:100%!important;
  background-position-y:100%!important;
  background-repeat:no-repeat!important;
  background-size:contain!important;
}
.main-content__services .header h2{font-weight:700;letter-spacing:.01em}
.main-content__services .row>span{
  font-weight:600;
  border-radius:12px;
  transition:transform .2s ease,color .2s ease,background .2s ease;
}
.main-content__services .row>span:hover{
  color:var(--od-deep);
  background:rgba(93,194,222,.10);
  transform:translateX(4px);
}

/* ---------- SEKCIA: O AMBULANCII (modrý pás) ---------- */
.main-content__about{
  background:linear-gradient(135deg,var(--od-teal) 0%,var(--od-deep) 100%)!important;
  position:relative;overflow:hidden;
}
.main-content__about::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 82% 12%,rgba(255,255,255,.20),transparent 52%);
}
.main-content__about .header,
.main-content__about p{position:relative;z-index:1}
.main-content__about .button-info{
  border-radius:999px!important;
  font-weight:700;
  box-shadow:0 14px 30px -12px rgba(0,0,0,.35);
  transition:transform .22s ease,box-shadow .22s ease;
  position:relative;z-index:1;
}
.main-content__about .button-info:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 38px -14px rgba(0,0,0,.45);
  text-decoration:none;
}

/* ---------- SEKCIA: PRIJÍMAME PACIENTOV ---------- */
.main-content__offer .info-list{
  background:#fff;
  border:1px solid var(--od-line);
  border-radius:14px;
  box-shadow:0 8px 24px -16px rgba(75,142,189,.45);
  transition:transform .2s ease,box-shadow .2s ease;
}
/* text v boxoch bol biely na bielom (neviditeľný) → tmavá/teal farba */
.main-content__offer .info-list,
.main-content__offer .info-list h1,
.main-content__offer .info-list h2,
.main-content__offer .info-list h3,
.main-content__offer .info-list h4,
.main-content__offer .info-list h5,
.main-content__offer .info-list h6,
.main-content__offer .info-list p,
.main-content__offer .info-list span{color:var(--od-deep)!important}
.main-content__offer .info-list h5{margin:0;font-size:1.05rem}
.main-content__offer .info-list:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 32px -16px rgba(75,142,189,.6);
}

/* ---------- KONTAKTNÉ IKONY ---------- */
.rounded-icon{
  background:linear-gradient(135deg,var(--od-teal),var(--od-deep))!important;
  box-shadow:0 14px 30px -12px rgba(75,142,189,.75);
  transition:transform .22s ease,box-shadow .22s ease;
}
.rounded-icon:hover{transform:translateY(-4px) scale(1.05)}
.rounded-icon svg{color:#fff!important}

/* ---------- POISŤOVNE ---------- */
.main-content__insurance{
  background:var(--od-soft);
  border-top:1px solid var(--od-line);
  border-bottom:1px solid var(--od-line);
}
.main-content__insurance img{
  max-width:680px;width:92%;
  filter:drop-shadow(0 10px 18px rgba(51,63,72,.12));
}

/* ---------- NADPISY PODSTRÁNOK ---------- */
main h1{color:var(--od-deep)!important;font-weight:700}
main h1::after{
  content:"";display:block;width:64px;height:5px;border-radius:5px;
  background:linear-gradient(90deg,var(--od-teal),var(--od-deep));
  margin-top:10px;
}
.main-content__about h1::after,
.main-content__contact-info h1::after,
.banner__caption h1::after{display:none}
.main-content__about h1{color:#fff!important}

/* ---------- FOTKY (O nás) ---------- */
img.amb,
main img[alt="portrait"],
main img[alt*="Simona"],
main img[alt*="ambulanci"]{
  border-radius:18px;
  box-shadow:0 22px 44px -20px rgba(51,63,72,.4);
}

/* ---------- MAPA (Kontakt) ---------- */
main iframe{
  border:1px solid var(--od-line)!important;
  border-radius:18px;
  box-shadow:0 18px 40px -20px rgba(51,63,72,.3);
}

/* ---------- TABUĽKY (hodiny a pod.) ---------- */
.table-responsive .table td{font-size:1rem}

/* ---------- PÄTIČKA ---------- */
.main-footer{height:auto!important}
.footer-middle{
  background:linear-gradient(135deg,var(--od-teal) 0%,var(--od-deep) 100%)!important;
  padding-bottom:1.5rem;
}
.footer-middle h4{font-size:1.35rem!important;font-weight:700;letter-spacing:.02em}
.footer-middle a{color:#fff!important}
.footer-middle a:hover{text-decoration:underline}
.footer-bottom{
  background:var(--od-soft);
  color:#7a8a94;
  padding-top:1.2rem!important;
  padding-bottom:1.2rem!important;
}
.footer-bottom p{font-size:.85rem!important;margin:0}

/* ---------- HORNÁ LIŠTA: klikateľný telefón / adresa / e-mail ---------- */
.navbar-info span{cursor:pointer}
.navbar-info a.od-info-link{color:#fff!important;text-decoration:none;cursor:pointer}
.navbar-info a.od-info-link:hover{text-decoration:underline!important;opacity:.92}

/* ---------- OPRAVY ---------- */
/* Scroll-reveal niekedy neodkryl obsah (.animated ostal opacity:0 = prázdne boxy) → vždy viditeľné */
.animated{opacity:1!important}
/* Mobilné rozbalené menu: nech vyrastie podľa obsahu, aby biele pozadie pokrylo VŠETKY položky */
.navbar-collapse.show,.navbar-collapse.collapsing{height:auto!important;max-height:calc(100vh - 110px)!important;overflow-y:auto!important}

/* ---------- DROBNOSTI ---------- */
hr{border-color:var(--od-teal)!important;border-width:3px!important;border-radius:3px;opacity:1}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
