/* Capa de pulido visual (botones, tarjetas, íconos, movimiento). Solo suma estilos: no cambia estructura ni textos. */
:root { --o-ease: cubic-bezier(.22, .8, .24, 1); --o-blue: #013a79; --o-lime: #b7cc1d; }
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }

/* Botones */
.rts-btn, .btn-transparent, .bt, .btn-submit, .btn-whatsapp {
  transition: transform .28s var(--o-ease), box-shadow .28s var(--o-ease), background-color .25s ease, color .25s ease, border-color .25s ease !important;
  -webkit-tap-highlight-color: transparent;
}
.rts-btn { border-radius: 999px; letter-spacing: .005em; }
.rts-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(1, 58, 121, .18); }
.rts-btn:active { transform: translateY(0) scale(.97); box-shadow: 0 3px 8px rgba(1, 58, 121, .16); transition-duration: .08s !important; }
.rts-btn i, .rts-btn img { transition: transform .28s var(--o-ease); }
.rts-btn:hover i, .rts-btn:hover img { transform: translateX(4px); }
.btn-transparent:hover { transform: translateX(3px); }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible { outline: 3px solid rgba(10, 74, 159, .55); outline-offset: 3px; border-radius: 12px; }

/* Encabezado tipo cristal al hacer scroll */
.header--sticky.sticky {
  background: rgba(255, 255, 255, .78) !important;
  -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px);
  box-shadow: 0 1px 0 rgba(1, 58, 121, .08), 0 8px 24px rgba(1, 58, 121, .06);
}
.header--sticky { transition: background-color .3s ease, box-shadow .3s ease; }

/* Tarjetas */
.single-short-service, .single-service-area, .single-choose-us, .single-testimonials-style, .feature-signle-sm-card, .accordion-item, .card-sede-item {
  transition: transform .35s var(--o-ease), box-shadow .35s var(--o-ease), border-color .3s ease;
}
@media (hover: hover) {
  .single-short-service:hover, .single-service-area:hover, .single-choose-us:hover, .single-testimonials-style:hover, .feature-signle-sm-card:hover {
    transform: translateY(-5px); box-shadow: 0 18px 40px rgba(1, 58, 121, .12);
  }
}
.single-short-service, .single-choose-us, .single-testimonials-style, .feature-signle-sm-card { border-radius: 20px; }
.single-short-service .icon img, .single-short-service .icon svg { transition: transform .35s var(--o-ease); }
.single-short-service:hover .icon img { transform: scale(1.08) rotate(-2deg); }

/* Imágenes y miniaturas: zoom suave */
.thumbnail, .vedio-icone { overflow: hidden; border-radius: 20px; }
.thumbnail img, .vedio-icone > a img { transition: transform .7s var(--o-ease); }
@media (hover: hover) { .thumbnail:hover img, .vedio-icone:hover > a img { transform: scale(1.04); } }

/* Íconos flotantes (redes y contacto) */
.cardo .socialContainer {
  background: rgba(255, 255, 255, .86) !important; color: var(--o-blue);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  box-shadow: 0 6px 18px rgba(1, 58, 121, .18); border: 1px solid rgba(1, 58, 121, .08);
  transition: transform .3s var(--o-ease), box-shadow .3s var(--o-ease), background-color .25s ease;
}
.cardo .socialContainer svg, .cardo .socialContainer svg path { fill: var(--o-blue); }
.cardo .socialContainer:hover { transform: scale(1.1) translateY(-2px); box-shadow: 0 12px 26px rgba(1, 58, 121, .28); background: #fff !important; }
.cardo .socialContainer:active { transform: scale(.94); }

/* Acordeones (preguntas frecuentes) */
.accordion-button { transition: background-color .25s ease, color .25s ease, box-shadow .25s ease; }
.accordion-button i, .accordion-button::after { transition: transform .3s var(--o-ease); }
.accordion-collapse { transition: height .35s var(--o-ease); }

/* Menú: submenús con entrada suave */
.header-one .submenu { transition: opacity .25s ease, transform .3s var(--o-ease), visibility .25s; }

/* Barra inferior móvil: respuesta táctil */
#orlant-appbar .oab-item { transition: transform .15s var(--o-ease), color .2s ease; }
#orlant-appbar .oab-item:active { transform: scale(.92); }

/* Aparición al desplazarse: más suave y corta */
.wow { animation-duration: .7s !important; }

@media (prefers-reduced-motion: reduce) {
  .rts-btn:hover, .cardo .socialContainer:hover, .single-short-service:hover, .single-service-area:hover { transform: none; }
}

/* Boutique: fondo azul de marca y logos en cuadrícula ordenada */
.boutique-wrap { background: var(--o-blue) !important; align-items: center !important; }
.boutique-wrap::after { background: rgba(106, 212, 242, .16) !important; }
.boutique-wrap .appoinemnt-area-left .title { color: #fff; }
.boutique-wrap .appoinemnt-area-left p.disc { color: rgba(255, 255, 255, .88); }
.boutique-wrap .right-area-start-appoinment-7 { position: relative !important; right: auto !important; bottom: auto !important; margin-left: auto; }
.boutique-brands { width: 100%; max-width: 440px; }
.boutique-brands-title { color: #b9e6f7; font: 500 13px/1 Rubik, system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 14px; }
.boutique-brands-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.boutique-brands-grid span {
  display: flex; align-items: center; justify-content: center; background: #fff; border-radius: 16px; min-height: 88px; padding: 14px 16px;
  box-shadow: 0 8px 22px rgba(0, 20, 60, .25); transition: transform .3s var(--o-ease), box-shadow .3s var(--o-ease);
}
.boutique-brands-grid span:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(0, 20, 60, .35); }
.boutique-brands-grid img { max-width: 100%; height: auto; max-height: 52px; width: auto; object-fit: contain; }
@media (max-width: 991.98px) {
  .boutique-wrap { flex-direction: column; align-items: flex-start !important; gap: 22px; }
  .boutique-wrap .appoinemnt-area-left { max-width: 100% !important; padding-bottom: 0 !important; }
  .boutique-wrap .appoinemnt-area-left .title { margin-top: 30px; font-size: clamp(26px, 7vw, 34px); }
  .boutique-wrap .right-area-start-appoinment-7 { display: block !important; max-width: 100% !important; margin: 0; width: 100%; }
  .boutique-brands { max-width: 100%; }
}

/* Preguntas frecuentes: dos columnas parejas, arrancan a la misma altura y con el botón de abrir/cerrar sin chocar con el texto */
@media (min-width: 992px) {
  .container-wrapper-faq { padding-right: 8px; }
  .row:has(> .col-lg-6 > .container-wrapper-faq) { align-items: flex-start; }
  .row:has(> .col-lg-6 > .container-wrapper-faq) > .col-lg-6:first-child .container-wrapper-faq { padding-left: 0; }
}
#accordionFAQ1, #accordionFAQ2 { margin-top: 36px !important; }
.container-wrapper-faq .accordion-item { margin-bottom: 14px; border-radius: 16px; overflow: hidden; background: #fff; }
.container-wrapper-faq .accordion-button {
  width: 100%; min-height: 76px; padding: 20px 60px 20px 24px; text-align: left; line-height: 1.35; background: transparent; align-items: center;
}
.container-wrapper-faq .accordion-button:not(.collapsed) { background: #f3f8ff; color: var(--o-blue); }
.container-wrapper-faq .accordion-item:has(.accordion-button:not(.collapsed)) { border-color: var(--o-lime); box-shadow: 0 10px 28px rgba(1, 58, 121, .08); }
.container-wrapper-faq .accordion-body { padding: 6px 28px 24px 24px; font-size: 15.5px; line-height: 1.7; }
@media (max-width: 767.98px) {
  .container-wrapper-faq .accordion-button { padding: 18px 56px 18px 18px; min-height: 64px; font-size: 16px; }
  .container-wrapper-faq .accordion-body { padding: 4px 18px 22px; }
}

/* Fotos con esquinas suavemente redondeadas (no afecta íconos, logos ni avatares) */
:root { --o-photo-radius: 16px; }
img.curva, img[src*="images/team/"], img[src*="images/success/"], img[src*="images/lab/"], img[src*="images/blog/"],
img[src*="images/about/"], img[src*="images/before-after/"], img[src*="images/procedure/"], img[src*="images/feature/"],
img[src*="images/video/"]:not(.mous), img[src*="health-package/"][src$=".webp"], img[src*="health-package/"][src$=".jpg"] {
  border-radius: var(--o-photo-radius);
}
.single-dental-service-areas, .single-dental-service-areas .thumbnail, .single-dental-service-areas .thumbnail img,
.single-team, .single-team .thumbnail, .vedio-icone, .vedio-icone > a {
  border-radius: var(--o-photo-radius); overflow: hidden;
}
