/* ==========================================================
   Amoblamientos Patagónicos - estilos propios del sitio
   (se cargan después de style.css en todas las páginas)
   ========================================================== */

.ie-panel { display: none; background: #212121; padding: 10px 0; box-shadow: 3px 3px 5px 0 rgba(0,0,0,.3); clear: both; text-align: center; position: relative; z-index: 1; }
html.ie-10 .ie-panel, html.lt-ie-10 .ie-panel { display: block; }

.col-lg-1-5 { flex: 0 0 12.5%; max-width: 12.5%; }

/* ---------- Logo ----------
   Se muestra más grande que en el template original para que se lea
   "Amoblamientos Patagónicos". Proporción del archivo: 730 x 200. */
.rd-navbar-brand .brand__name img { width: auto; height: 56px; max-width: none; }
.rd-navbar--is-stuck .rd-navbar-brand .brand__name img { height: 50px; }
@media (min-width: 1200px) {
  .rd-navbar-brand .brand__name img { height: 64px; }
  .rd-navbar--is-stuck .rd-navbar-brand .brand__name img { height: 54px; }
}
.rd-navbar-fixed .rd-navbar-brand .brand__name img { height: 44px; }

/* ---------- Menú mobile: hamburguesa a la derecha ---------- */
.rd-navbar-fixed .rd-navbar-brand { left: 12px; }
.rd-navbar-fixed .rd-navbar-panel .rd-navbar-toggle { margin-left: auto; }
/* el panel del menú se abre desde la derecha, del lado del botón */
.rd-navbar-fixed .rd-navbar-nav-wrap {
  left: auto;
  right: 0;
  transform: translateX(110%);
  border-right: 0;
  border-left: 1px solid #ebebeb;
}
.rd-navbar-fixed .rd-navbar-nav-wrap.active { transform: translateX(0); }
/* en mobile queda una sola flecha (la del template, a la derecha) y gira al abrir */
.rd-navbar-fixed .rd-navbar-nav > li.rd-navbar-submenu-toggle > a::after { display: none; }
.rd-navbar-fixed .rd-navbar-nav > li.rd-navbar-submenu-toggle.mobile-opened::after { transform: rotate(180deg); }
.page-loader-logo .brand__name img { width: 234px; height: auto; }

/* ---------- Menú: submenú de Soluciones ---------- */
.rd-navbar-nav > li.rd-navbar-submenu-toggle { position: relative; }

.rd-navbar-nav .rd-navbar-submenu {
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  border: 1px solid #e0e0e0;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  border-radius: 4px;
  min-width: 220px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s ease;
  z-index: 1000;
  list-style: none;
  padding: 0;
  margin: 0;
}
.rd-navbar-nav .rd-navbar-submenu li { width: 100%; border: none; }
.rd-navbar-nav .rd-navbar-submenu a {
  padding: 12px 20px;
  color: #333;
  border-bottom: 1px solid #f0f0f0;
  display: block;
  text-decoration: none;
  font-size: 14px;
  transition: all 0.2s ease;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
}
.rd-navbar-nav .rd-navbar-submenu a:hover { background-color: #583B2D; color: #fff; padding-left: 25px; }
.rd-navbar-nav .rd-navbar-submenu li:last-child a { border-bottom: none; }

.rd-navbar-nav > li.rd-navbar-submenu-toggle > a::after {
  content: '▼';
  font-size: 10px;
  margin-left: 8px;
  display: inline-block;
  transition: transform 0.3s ease;
}

@media (min-width: 992px) {
  .rd-navbar-nav > li.rd-navbar-submenu-toggle:hover .rd-navbar-submenu { opacity: 1; visibility: visible; transform: translateY(0); }
  .rd-navbar-nav > li.rd-navbar-submenu-toggle:hover > a::after { transform: rotate(180deg); }
}

@media (max-width: 991px) {
  .rd-navbar-nav .rd-navbar-submenu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.1);
    border: none;
    background: #f8f9fa;
    padding: 0;
    display: none;
    margin-top: 5px;
    border-radius: 4px;
  }
  .rd-navbar-nav > li.rd-navbar-submenu-toggle.mobile-opened .rd-navbar-submenu { display: block; }
  .rd-navbar-nav .rd-navbar-submenu a { border-bottom: 1px solid #e9ecef; padding: 10px 20px; color: #495057; font-size: 13px; }
  .rd-navbar-nav .rd-navbar-submenu a:hover { background: #e9ecef; padding-left: 20px; color: #583B2D; }
  .rd-navbar-nav .rd-navbar-submenu li:last-child a { border-bottom: none; }
  .rd-navbar-nav > li.rd-navbar-submenu-toggle.mobile-opened > a::after { transform: rotate(180deg); }
  .rd-navbar-nav > li.rd-navbar-submenu-toggle > a { cursor: pointer; }
}

/* ---------- Botón flotante de WhatsApp ---------- */
#btnFlotante {
  position: fixed;
  bottom: 35px;
  right: 90px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #25d366;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease;
}
#btnFlotante:hover { transform: scale(1.07); box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25); }
#btnFlotante a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
#btnFlotante img, #btnFlotante svg { width: 35px; height: 35px; display: block; }

@media (max-width: 768px) {
  #btnFlotante { bottom: 20px; right: 20px; width: 55px; height: 55px; }
  #btnFlotante img, #btnFlotante svg { width: 30px; height: 30px; }
}

/* ---------- Home: zoom lento en las imágenes del slider (Ken Burns) ----------
   La imagen se copia a una capa ::after de .slide-inner (background: inherit),
   así el zoom no interfiere con el transform que usa el efecto interleave. */
.swiper-slider_style-3 .slide-inner { overflow: hidden; }

.swiper-slider_style-3 .slide-inner::after {
  content: '';
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 0;
  background: inherit;
  background-size: cover;
  background-position: center;
  transform: scale(1);
  transform-origin: 50% 50%;
  /* al salir del slide vuelve suavemente, sin saltos */
  transition: transform 6s ease-in-out;
  will-change: transform;
  pointer-events: none;
}
.swiper-slider_style-3 .swiper-slide.is-kb .slide-inner::after {
  transform: scale(1.15);
  transition: transform 7s linear;
}
/* alternamos el punto de fuga para que cada slide se mueva distinto */
.swiper-slider_style-3 .swiper-slide:nth-child(2n) .slide-inner::after { transform-origin: 30% 40%; }
.swiper-slider_style-3 .swiper-slide:nth-child(3n) .slide-inner::after { transform-origin: 70% 60%; }

/* el degradé de mobile y el texto quedan por encima de la capa con zoom */
.swiper-slider_style-3 .slide-inner::before { z-index: 1 !important; }

@media (prefers-reduced-motion: reduce) {
  .swiper-slider_style-3 .slide-inner::after,
  .swiper-slider_style-3 .swiper-slide.is-kb .slide-inner::after { transform: none; transition: none; }
}

/* ---------- Modal del formulario de consulta ----------
   Todas las clases llevan el prefijo "ap-modal" para no chocar con el tema.
   El formulario vive dentro de un iframe: su Bootstrap 5 no toca esta página. */
.ap-modal {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  visibility: hidden;
  opacity: 0;
  transition: opacity .3s ease, visibility 0s linear .3s;
}
.ap-modal.is-open { visibility: visible; opacity: 1; transition: opacity .3s ease; }

.ap-modal__backdrop {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  background: rgba(21, 16, 13, 0.72);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.ap-modal__dialog {
  position: relative;
  width: 100%;
  max-width: 900px;
  max-height: calc(100vh - 32px);
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
  overflow: hidden;
  transform: translateY(24px) scale(.98);
  transition: transform .35s cubic-bezier(.2,.8,.2,1);
}
.ap-modal.is-open .ap-modal__dialog { transform: none; }

.ap-modal__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  background: #583B2D;
  color: #fff;
  flex-shrink: 0;
}
.ap-modal__title {
  margin: 0;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: .02em;
  color: #fff;
  line-height: 1.3;
}
.ap-modal__title .mdi { margin-right: 8px; color: #25d366; }

.ap-modal__close {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  color: #fff;
  font-size: 24px;
  line-height: 36px;
  text-align: center;
  cursor: pointer;
  padding: 0;
  transition: background .2s ease;
}
.ap-modal__close:hover, .ap-modal__close:focus { background: rgba(255,255,255,.28); outline: none; }

.ap-modal__body { position: relative; flex: 1 1 auto; min-height: 200px; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.ap-modal__frame { display: block; width: 100%; height: 620px; border: 0; }

.ap-modal__loader {
  position: absolute;
  top: 50%; left: 50%;
  width: 40px; height: 40px;
  margin: -20px 0 0 -20px;
  border: 3px solid #eee;
  border-top-color: #583B2D;
  border-radius: 50%;
  animation: ap-spin .8s linear infinite;
}
.ap-modal.is-loaded .ap-modal__loader { display: none; }
@keyframes ap-spin { to { transform: rotate(360deg); } }

html.ap-modal-lock, html.ap-modal-lock body { overflow: hidden; }

@media (max-width: 575px) {
  .ap-modal { padding: 0; align-items: flex-end; }
  .ap-modal__dialog { max-height: 94vh; border-radius: 14px 14px 0 0; transform: translateY(100%); }
}
