/*
  Cortavistas Chile — estilos.etips.css
  Bootstrap 5.3.8 — archivo único sin @import
  Autor: eTips Chile
*/

/* ==========================================
   VARIABLES GLOBALES
   ========================================== */
:root {
  --blanco:     #ffffff;
  --negro:      #000000;
  --cafe-oscuro:#1e0e04;
  --dorado:     #C95215;
  --dorado-claro:#D9641E;
  --crema:      #fdf8f2;
  --verde-wp:   #25D366;
  --marron-00:  #a36200;
  --navbar-h:   72px;
}

/* ==========================================
   BASE
   ========================================== */
html, body { height:100%; font-size:14px; font-family:'Lato', sans-serif; }
*:focus { outline:none !important; border:0 !important; -webkit-box-shadow:none !important; box-shadow:none !important; }
a, button, input, input:focus { outline:none !important; -moz-outline-style:none !important; -webkit-box-shadow:none !important; box-shadow:none !important; }
a { text-decoration:none !important; }

/* ==========================================
   CABECERA / NAVBAR
   ========================================== */
#navMenuTop { padding-top:8px; padding-bottom:8px; font-size:15px; background-color:rgba(255,252,248,0.97); font-family:'Lato', sans-serif; transition:background-color .4s ease-in-out; box-shadow:0 1px 8px rgba(0,0,0,0.08); }
#navMenuTop .navbar-brand { padding:0; font-size:0; line-height:0; margin-right:0.5rem; }
#navMenuTop .navbar-brand img { max-width:150px; width:100%; height:auto; }
#navMenuTop .navbar-toggler { color:rgba(30,14,4,.8); border:0; font-size:1rem; padding:0.4rem 0.6rem; }
.navbarscroll { box-shadow:0 2px 14px rgba(0,0,0,0.14) !important; }
#menuCompleto { padding:0; }
#menuCompleto .nav-link { padding:0.4rem 0.85rem; color:var(--cafe-oscuro); font-weight:600; font-size:0.92rem; }
#menuCompleto .nav-link:hover { color:var(--dorado); }
#menuCompleto li.active .nav-link { color:var(--dorado); }
.cv-nav-phone-link { font-weight:700; border:1.5px solid var(--dorado); border-radius:20px; font-size:0.85rem; white-space:nowrap; color:var(--dorado) !important; }

/* ==========================================
   CUERPO (clearfix para navbar fijo)
   ========================================== */
.cuerpo { margin-top:0; }
.formSignInUp { margin:auto; padding:15px; padding-top:80px; width:100%; max-width:330px; }
.form-control:focus { color:#495057; border:1px solid #80bdff !important; }
/* Override Bootstrap btn-warning para alinear con paleta del logo */
.btn-warning { background-color:var(--dorado-claro) !important; border-color:var(--dorado-claro) !important; color:#fff !important; }
.btn-warning:hover, .btn-warning:active, .btn-warning:focus { background-color:var(--dorado) !important; border-color:var(--dorado) !important; color:#fff !important; }

/* ==========================================
   HOME: HERO
   ========================================== */
.cv-hero {
  background: linear-gradient(135deg, #1e0e04 0%, #3d2008 100%);
  color:#fff;
  padding-top: var(--navbar-h);
  min-height:100vh;
  display:flex;
  align-items:center;
  position:relative;
  overflow:hidden;
}
.cv-hero-bg-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.cv-hero-overlay { position:absolute; inset:0; background:linear-gradient(to right, rgba(30,14,4,0.96) 0%, rgba(30,14,4,0.82) 40%, rgba(30,14,4,0.35) 100%); }
.cv-hero-inner { position:relative; z-index:2; width:100%; }

/* Trust bar */
.cv-trust-bar { background:rgba(30,14,4,0.98); }
.cv-trust-item { color:rgba(255,255,255,0.78); font-size:0.8rem; font-weight:600; border-right:1px solid rgba(255,255,255,0.1); }
.cv-trust-item:last-child { border-right:none; }
.cv-trust-item i { color:var(--dorado-claro); margin-bottom:0.3rem; font-size:1.1rem; display:block; }

/* Casos de uso */
.cv-use-card { position:relative; border-radius:12px; overflow:hidden; display:block; text-decoration:none !important; }
.cv-use-card img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.45s ease; }
.cv-use-card:hover img { transform:scale(1.05); }
.cv-use-overlay { position:absolute; inset:0; background:linear-gradient(to top, rgba(30,14,4,0.88) 0%, rgba(30,14,4,0.15) 55%, transparent 100%); }
.cv-use-label { position:absolute; bottom:0; left:0; right:0; padding:1.2rem 1.4rem; }
.cv-use-label h3 { color:#fff; font-size:1.05rem; font-weight:700; margin-bottom:0.15rem; line-height:1.2; }
.cv-use-label p { color:rgba(255,255,255,0.72); font-size:0.78rem; margin:0; }

/* WPC vs Madera */
.cv-compare-wrap { border-radius:12px; overflow:hidden; border:1px solid #e8e1d9; }
.cv-compare-head { display:grid; grid-template-columns:1.2fr 1fr 1fr; }
.cv-compare-cell-head { padding:0.7rem 1rem; font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; }
.cv-compare-cell-head.feature { background:#f7f4f0; color:#aaa; }
.cv-compare-cell-head.wpc { background:var(--dorado); color:#fff; text-align:center; }
.cv-compare-cell-head.madera { background:#e0dbd5; color:#666; text-align:center; }
.cv-compare-row { display:grid; grid-template-columns:1.2fr 1fr 1fr; border-top:1px solid #ede8e2; }
.cv-compare-cell { padding:0.65rem 1rem; font-size:0.85rem; vertical-align:middle; }
.cv-compare-cell.feature { font-weight:600; color:var(--cafe-oscuro); background:#f7f4f0; }
.cv-compare-cell.wpc { color:var(--cafe-oscuro); font-weight:600; display:flex; align-items:center; gap:0.4rem; }
.cv-compare-cell.wpc i { color:var(--dorado); font-size:0.8rem; }
.cv-compare-cell.madera { color:#aaa; font-size:0.82rem; }

/* Proceso */
.cv-step { display:flex; align-items:flex-start; gap:1.2rem; margin-bottom:1.8rem; }
.cv-step-num { flex-shrink:0; width:50px; height:50px; border-radius:50%; background:var(--dorado); color:#fff; font-weight:900; font-size:1.15rem; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 14px rgba(201,82,21,0.35); }
.cv-step-body h4 { font-size:0.98rem; font-weight:700; color:var(--cafe-oscuro); margin-bottom:0.2rem; }
.cv-step-body p { font-size:0.86rem; color:#666; margin:0; line-height:1.55; }

.cv-hero-badge {
  display:inline-block;
  background:rgba(217,100,30,0.12);
  color:var(--dorado-claro);
  border:1px solid rgba(217,100,30,0.35);
  border-radius:20px;
  padding:0.3rem 1rem;
  font-size:0.82rem;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.cv-hero-titulo {
  font-family:'Playfair Display', serif;
  font-weight:900;
  font-size:3rem;
  line-height:1.1;
  margin-bottom:0;
  color:#fff;
}
.cv-hero-lead {
  font-size:1.1rem;
  color:rgba(255,255,255,0.85);
  line-height:1.65;
  max-width:480px;
}
.cv-hero-img {
  max-height:460px;
  border-radius:16px;
  box-shadow:0 20px 60px rgba(0,0,0,0.4);
}

/* ==========================================
   HOME: BENEFICIOS
   ========================================== */
.cv-features { background:#fff; }
.cv-feat-icon {
  width:56px; height:56px;
  border-radius:50%;
  background:#fdf0e8;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto;
}
.cv-feat-icon i { color:var(--dorado); font-size:1.3rem; }

/* ==========================================
   HOME: TÍTULO DE SECCIÓN
   ========================================== */
.cv-section-title {
  font-family:'Playfair Display', serif;
  font-weight:700;
  font-size:2rem;
  color:var(--cafe-oscuro);
  position:relative;
  padding-bottom:0.8rem;
  margin-bottom:0.5rem;
}
.cv-section-title::after {
  content:'';
  display:block;
  position:absolute;
  bottom:0; left:50%; transform:translateX(-50%);
  width:48px; height:3px;
  background:var(--dorado-claro);
  border-radius:2px;
}

/* ==========================================
   HOME: CTA CATÁLOGO
   ========================================== */
.cv-cta-catalogo { background:var(--crema); }
.cv-cta-titulo {
  font-family:'Playfair Display', serif;
  font-size:2.5rem;
  font-weight:900;
  color:var(--cafe-oscuro);
  margin-bottom:0.5rem;
}

/* ==========================================
   HOME: SECCIÓN COTIZADOR
   ========================================== */
.cv-cotiza-section {
  color:#fff;
  background: linear-gradient(135deg, #1e0e04 0%, #3d2008 100%);
}

/* ==========================================
   BANNER / SLIDER (páginas de categoría)
   ========================================== */
.contenedor-slider-desktop { height:100vh; }
#carouselDesktop .carousel-caption { left:0; right:0; bottom:20%; margin:0 auto; width:70%; text-align:left; }
#carouselDesktop .carousel-caption .titulo { padding-bottom:10px; font-size:43px; line-height:43px; text-shadow:1px 1px 4px rgba(0,0,0,0.3); }
#carouselDesktop .carousel-caption .lead { font-size:20px; text-shadow:1px 1px 4px rgba(0,0,0,0.3); }
#carouselDesktop .carousel-caption .precio { font-size:30px; text-shadow:1px 1px 4px rgba(0,0,0,0.3); }
#carouselDesktop .carousel-indicators { bottom:3%; }

#carouselMobile .carousel-caption { left:0; right:0; bottom:5%; margin:0 auto; width:80%; text-align:left; }
#carouselMobile .carousel-caption .titulo { font-size:22px; line-height:22px; text-shadow:1px 1px 4px rgba(0,0,0,0.3); }
#carouselMobile .carousel-caption .lead { font-size:14px; line-height:16px; text-shadow:1px 1px 4px rgba(0,0,0,0.3); }
#carouselMobile .carousel-caption .precio { font-size:22px; line-height:35px; text-shadow:1px 1px 4px rgba(0,0,0,0.3); }
#carouselMobile .carousel-indicators { bottom:0; }

/* ==========================================
   CATÁLOGO / FICHAS
   ========================================== */
.cover-catalogo .texto-catalogo { max-width:80%; color:#fff; }
.cover-catalogo { display:flex !important; align-items:center !important; justify-content:center; background-size:cover; background-repeat:no-repeat; }
.cover-ficha .texto { max-width:80%; color:#fff; }
.cover-ficha { display:flex !important; align-items:center !important; justify-content:center; background:#111; }

/* ==========================================
   SECCIONES GENERALES
   ========================================== */
.featured-section { padding-top:50px; padding-bottom:50px; line-height:1.5; color:#555; }
.featured-section .titulo { margin-bottom:25px; font-size:50px; line-height:50px; font-weight:400; color:#333; }
.featured-section .subtitulo { margin-bottom:5px; font-size:30px; line-height:30px; font-weight:400; color:#333; }
.featured-section .lead { margin:0 auto; margin-bottom:20px; max-width:80%; font-size:18px; line-height:22px; }

.cover-section { line-height:1.5; color:#fff; }
.cover-section .titulo { margin-bottom:25px; font-size:50px; line-height:50px; font-weight:400; color:#fff; }
.cover-section .subtitulo { margin-bottom:5px; font-size:30px; line-height:30px; font-weight:400; color:#fff; }
.cover-section .lead { margin:0 auto; margin-bottom:20px; max-width:80%; font-size:18px; line-height:22px; }

.card-product:hover { box-shadow:0 10px 28px rgba(0,0,0,.12), 0 0 18px rgba(214,195,106,.18); transition:box-shadow .35s ease; }

h1.page-header, .h1.page-header { font-size:3rem; line-height:3rem; }
h1.header-menor, .h1.header-menor { font-size:2.2rem; line-height:2.3rem; }
h2.page-header { font-size:2.5rem; line-height:2.5rem; }
h1.slogan { font-size:1.5rem; }
h2.slogan { font-size:1.2rem; line-height:1.25rem; }
h3.slogan { font-size:0.9rem; line-height:0.95rem; }

#producto { width:inherit !important; }
.half-rule { margin:40px auto; width:100px; }
.mapa-contacto { height:250px; }
.redes-gris { font-size:22px; }
.redes-gris a { color:#aaa; }
.redes-gris a:hover { color:#333; }

.box-cabecera-seccion { position:relative; }
.box-cabecera-seccion .rotulo { position:absolute; right:10rem; bottom:4rem; color:#fff; }
.box-cabecera-seccion .rotulo .linea-01 { font-size:2.5rem; line-height:2.5rem; text-align:right; }
.box-cabecera-seccion .rotulo .linea-02 { font-size:10rem; line-height:10rem; text-align:right; }
.box-cabecera-seccion .rotulo .linea-03 { font-size:2.5rem; line-height:2.5rem; text-align:right; }
.banner-interno { border-bottom:3px solid #666; }

.mini-ficha-producto.nombre { font-size:1.3rem; }
.col-precio { width:100px; }

.txt-cyber { color:#225fee; font-weight:bold; }
.label-cyber { color:var(--blanco); font-weight:bold; background-image:linear-gradient(to right, red, blue); }
.label-blackfriday { color:var(--blanco); font-weight:bold; background-image:linear-gradient(to right, black, purple); }
.box-dcto-producto { padding-left:1rem; padding-right:1rem; font-size:120%; font-weight:bold; color:#fff; background-color:#ff0000; }

/* ==========================================
   MODAL ZONAS ATENCIÓN
   ========================================== */
#modZonasAtencion .modal-body { padding:0; background-image:url(/assets/images/bg-wp.webp); }
#modZonasAtencion .modal-body .cabecera { padding:0.5rem; background-color:var(--blanco); }
#modZonasAtencion .modal-body .cabecera .logo img { height:2.2rem; }
#modZonasAtencion .modal-body .cabecera .iconos * { color:#333; }
#modZonasAtencion .modal-body .cabecera .fa-solid { cursor:pointer; }
#modZonasAtencion .modal-body .cabecera .fa-phone { position:relative; top:0.2rem; font-size:1.5rem; line-height:1.5rem; }
#modZonasAtencion .modal-body .cabecera .cerrar { font-size:1.8rem; line-height:1.8rem; }
#modZonasAtencion .modal-body .cuerpo { padding-left:1.5rem; padding-right:1.5rem; }
#modZonasAtencion .modal-body .cuerpo .burbuja { margin-top:2.5rem; margin-bottom:2.5rem; padding:1rem; border-radius:1rem; background-color:var(--blanco); }
#modZonasAtencion .modal-body .cuerpo .burbuja .zona { font-size:1.3rem; line-height:1.4rem; padding-bottom:1rem; border-bottom:1px solid #efefef; }
#modZonasAtencion .modal-body .cuerpo .burbuja .zona .titulo { margin-top:1rem; font-weight:bold; }

/* ==========================================
   UTILITARIOS
   ========================================== */
.alert { margin-bottom:0 !important; }
.icon-30 { font-size:30px; line-height:30px; }
#modalBoxSpinner .modal-content { border:0; background-color:transparent; }
#modalBoxSpinner .spinner-border { margin:0 auto; }
.spinner-loading { color:#fff; }
span.help-block { display:block; font-size:0.78rem; margin-top:0.25rem; color:#999; }
.has-success input, .has-success .form-select { background-color:#dff0d8 !important; }
.has-success textarea { background-color:#dff0d8; }
.has-success .help-block { color:#0f0; }
.has-error input, .has-error .form-select, .has-error textarea { background-color:#ffd5d5 !important; }
.has-error .help-block { color:#c0392b; }
.exito { background-color:#dff0d8 !important; }
.exito i.fas { font-size:30px; color:#3c763d; }
.error { background-color:#f2dede !important; }
.error i.fas { font-size:30px; color:#a94442; }
.color-azul { color:#2b2d6f; }
.bt-1-white { border-top:1px solid #fff !important; }
.bb-1-white { border-bottom:1px solid #fff; }
.bt-1-gris { border-top:1px solid #aaa !important; }
.bt-3-gris { border-top:3px solid #666; }
.bb-3-gris { border-bottom:3px solid #666; }
.bgc-madera-clara { background-color:#fdd9b4; }
.slim-small-text { font-size:0.8rem; line-height:0.8rem; }
.text-marron-00 { color:var(--marron-00); }
.text-verde-wp { color:var(--verde-wp); }
.card-img-top { aspect-ratio:1/1; width:100%; height:auto; object-fit:cover; }

/* ==========================================
   BOTONES FLOTANTES (desktop por defecto)
   ========================================== */
.float-wp  { position:fixed; z-index:999; width:3rem; height:3rem; bottom:15rem; right:10px; background-size:100%; background-image:url(/assets/images/btn-wp.svg); background-repeat:no-repeat; background-color:transparent; }

/* ==========================================
   FICHAS DE PRODUCTO (.fpd-)
   ========================================== */
.fpd-page-top { padding-top:72px; }

.fpd-breadcrumb { background:transparent; padding:1rem 0 0; font-size:0.82rem; margin-bottom:0; }
.fpd-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color:#aaa; }
.fpd-breadcrumb a { color:var(--dorado); }

.fpd-top { padding:1.5rem 0 2.5rem; }

.fpd-slider-wrap { border-radius:12px; overflow:hidden; box-shadow:0 4px 20px rgba(0,0,0,0.10); background:#f0ece8; }
.fpd-slider-wrap .carousel-item img { width:100%; height:auto; display:block; }
.fpd-slider-wrap .carousel-control-prev-icon,
.fpd-slider-wrap .carousel-control-next-icon { background-color:rgba(61,32,8,0.55); border-radius:50%; padding:1rem; background-size:55%; }

.fpd-info { padding-left:1.5rem; }

.fpd-badge-modelo { display:inline-block; font-size:0.72rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--dorado); background:#fdf0e8; border-radius:20px; padding:0.25rem 0.8rem; margin-bottom:0.75rem; }

.fpd-producto-titulo { font-family:'Playfair Display', serif; font-weight:900; font-size:1.95rem; line-height:1.15; color:var(--cafe-oscuro); margin-bottom:0.3rem; }
.fpd-producto-titulo .fpd-color-acento { color:var(--dorado); }
.fpd-producto-subtitulo { font-size:1rem; color:#888; margin-bottom:1.2rem; }

.fpd-precio-bloque { background:var(--crema); border-radius:10px; padding:1rem 1.2rem; margin-bottom:1.2rem; border-left:4px solid var(--dorado); }
.fpd-precio-m2 { font-size:1.8rem; font-weight:900; color:var(--cafe-oscuro); line-height:1; }
.fpd-precio-m2 small { font-size:1rem; font-weight:400; color:#888; }
.fpd-precio-tabla { font-size:0.88rem; color:#555; margin-top:0.3rem; }
.fpd-precio-tachado { text-decoration:line-through; color:#aaa; margin-right:0.4rem; }
.fpd-precio-dcto { color:#d32f2f; font-weight:700; }
.fpd-dcto-badge { display:inline-block; background:#d32f2f; color:#fff; font-size:0.75rem; font-weight:700; padding:0.15rem 0.55rem; border-radius:4px; margin-left:0.4rem; vertical-align:middle; }
.fpd-dcto-badge.blacksale { background:linear-gradient(to right, #000, #5c0eb0); }
.fpd-dcto-badge.blackfriday { background:#000; }
.fpd-dcto-badge.cyber { background:linear-gradient(to right, #225fee, #007bff); }

.fpd-quick-features { display:flex; flex-wrap:wrap; gap:0.5rem; margin:1rem 0; }
.fpd-quick-feat-item { display:flex; align-items:center; gap:0.4rem; font-size:0.8rem; color:#444; background:#f7f4f0; border-radius:6px; padding:0.3rem 0.65rem; }
.fpd-quick-feat-item i { color:var(--dorado); font-size:0.85rem; }

.fpd-btn-cotizar { background:var(--dorado-claro); border:none; color:#fff; font-weight:700; font-size:1.05rem; border-radius:8px; padding:0.75rem 2rem; width:100%; transition:background 0.2s; margin-bottom:0.6rem; cursor:pointer; display:block; text-align:center; }
.fpd-btn-cotizar:hover { background:var(--dorado); color:#fff !important; }
.fpd-btn-secundario { background:transparent; border:2px solid var(--dorado); color:var(--dorado) !important; font-weight:600; font-size:0.95rem; border-radius:8px; padding:0.65rem 2rem; width:100%; transition:all 0.2s; text-align:center; display:block; text-decoration:none !important; }
.fpd-btn-secundario:hover { background:var(--dorado); color:#fff !important; }

.fpd-nota { background:#f7f4f0; border-left:4px solid var(--dorado); border-radius:0 8px 8px 0; padding:0.85rem 1rem; font-size:0.85rem; color:#555; margin-top:1rem; margin-bottom:0; }

.fpd-section { padding:3rem 0; }
.fpd-section-alt { background:#f7f4f0; padding:3rem 0; }

.fpd-section-title { font-family:'Playfair Display', serif; font-weight:700; font-size:1.75rem; color:var(--cafe-oscuro); margin-bottom:1.1rem; position:relative; padding-bottom:0.7rem; }
.fpd-section-title::after { content:''; display:block; position:absolute; bottom:0; left:0; width:48px; height:3px; background:var(--dorado-claro); border-radius:2px; }
.fpd-section-title.centered { text-align:center; }
.fpd-section-title.centered::after { left:50%; transform:translateX(-50%); }

.fpd-color-card { border:2px solid #e9e3db; border-radius:12px; overflow:hidden; transition:border-color 0.2s, box-shadow 0.2s; background:#fff; text-decoration:none !important; display:block; }
.fpd-color-card:hover { border-color:var(--dorado); box-shadow:0 6px 20px rgba(0,0,0,0.10); }
.fpd-color-card.active { border-color:var(--dorado); box-shadow:0 0 0 3px rgba(201,82,21,0.18); }
.fpd-color-card img { width:100%; height:140px; object-fit:cover; }
.fpd-color-card .fpd-color-info { padding:0.7rem 0.9rem; }
.fpd-color-card .fpd-color-nombre { font-size:0.88rem; font-weight:700; color:var(--cafe-oscuro); margin-bottom:0.1rem; line-height:1.2; }
.fpd-color-card .fpd-color-sku { font-size:0.75rem; color:#aaa; }
.fpd-color-card .fpd-color-badge-activo { display:inline-block; font-size:0.7rem; background:#fdf0e8; color:var(--dorado); border-radius:4px; padding:0.1rem 0.4rem; font-weight:700; margin-top:0.25rem; }

.fpd-ficha-wrap { background:var(--crema); border-radius:12px; padding:1.2rem; box-shadow:0 2px 10px rgba(0,0,0,0.06); }
.fpd-ficha-table { width:100%; border-collapse:collapse; }
.fpd-ficha-table tr { border-bottom:1px solid #ede8e2; }
.fpd-ficha-table tr:last-child { border-bottom:none; }
.fpd-ficha-table td { padding:0.65rem 0.5rem; font-size:0.9rem; color:#444; vertical-align:top; }
.fpd-ficha-table td:first-child { font-weight:700; color:var(--cafe-oscuro); width:44%; white-space:nowrap; }
.fpd-ficha-table tr:nth-child(even) td { background:#fff; }

.fpd-calc-box { background:linear-gradient(135deg, #1e0e04, #3d2008); border-radius:14px; padding:2rem; color:#fff; }
.fpd-calc-box h3 { font-family:'Playfair Display', serif; font-weight:900; font-size:1.4rem; margin-bottom:0.4rem; }
.fpd-calc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.2rem; }
.fpd-calc-item { background:rgba(255,255,255,0.08); border-radius:10px; padding:0.9rem; text-align:center; }
.fpd-calc-item .valor { font-size:1.6rem; font-weight:900; color:#f09060; line-height:1; display:block; }
.fpd-calc-item .etiqueta { font-size:0.78rem; color:rgba(255,255,255,0.75); margin-top:0.3rem; display:block; line-height:1.2; }

.fpd-ventaja-item { display:flex; align-items:flex-start; gap:1rem; padding:1.1rem; background:#fff; border-radius:10px; margin-bottom:0.85rem; box-shadow:0 1px 5px rgba(0,0,0,0.05); }
.fpd-ventaja-item .icon-circle { flex-shrink:0; width:42px; height:42px; border-radius:50%; background:#fdf0e8; display:flex; align-items:center; justify-content:center; }
.fpd-ventaja-item .icon-circle i { color:var(--dorado); font-size:1rem; }
.fpd-ventaja-item h6 { font-weight:700; color:var(--cafe-oscuro); margin-bottom:0.15rem; font-size:0.92rem; }
.fpd-ventaja-item p  { font-size:0.86rem; color:#666; margin:0; }

.fpd-uso-card { border:none; border-radius:10px; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,0.06); padding:1.2rem; height:100%; transition:transform 0.2s; }
.fpd-uso-card:hover { transform:translateY(-3px); }
.fpd-uso-card i { font-size:1.6rem; color:var(--dorado); margin-bottom:0.6rem; display:block; }
.fpd-uso-card h6 { font-weight:700; color:var(--cafe-oscuro); font-size:0.9rem; margin-bottom:0.3rem; }
.fpd-uso-card p  { font-size:0.83rem; color:#666; margin:0; }

.fpd-install-step { display:flex; align-items:flex-start; gap:1rem; margin-bottom:1.2rem; }
.fpd-install-step .num { flex-shrink:0; width:36px; height:36px; border-radius:50%; background:var(--dorado); color:#fff; font-weight:900; font-size:1rem; display:flex; align-items:center; justify-content:center; }
.fpd-install-step h6 { font-weight:700; color:var(--cafe-oscuro); margin-bottom:0.15rem; font-size:0.9rem; }
.fpd-install-step p  { font-size:0.86rem; color:#555; margin:0; }

.fpd-faq .card { border:none; border-radius:8px; margin-bottom:0.5rem; box-shadow:0 1px 5px rgba(0,0,0,0.05); overflow:hidden; }
.fpd-faq .card-header { background:#fff; border-bottom:none; padding:0; }
.fpd-faq .card-header button { display:block; width:100%; text-align:left; background:none; border:none; font-weight:700; color:var(--cafe-oscuro); padding:0.9rem 1.1rem; font-size:0.92rem; cursor:pointer; }
.fpd-faq .card-header button::after { content:"\f078"; font-family:"Font Awesome 6 Free"; font-weight:900; float:right; transition:transform 0.3s; color:var(--dorado); }
.fpd-faq .card-header button.collapsed::after { transform:rotate(0deg); }
.fpd-faq .card-header button:not(.collapsed)::after { transform:rotate(180deg); }
.fpd-faq .card-body { font-size:0.9rem; color:#555; padding:0.6rem 1.1rem 1rem; }

.fpd-cta { background:linear-gradient(135deg, #1e0e04, var(--dorado)); color:#fff; border-radius:16px; padding:3rem 2rem; text-align:center; margin:0 0 3rem; }
.fpd-cta h2 { font-family:'Playfair Display', serif; font-weight:900; margin-bottom:0.8rem; }
.fpd-cta p  { font-size:1rem; color:rgba(255,255,255,0.88); margin-bottom:1.6rem; }
.fpd-cta .btn-primary-cta { background:#fff; color:var(--cafe-oscuro) !important; font-weight:700; border-radius:30px; padding:0.7rem 2.2rem; transition:background 0.2s; }
.fpd-cta .btn-primary-cta:hover { background:#f09060; color:var(--cafe-oscuro) !important; }
.fpd-cta .btn-secondary-cta { background:transparent; color:#fff !important; border:2px solid rgba(255,255,255,0.55); font-weight:600; border-radius:30px; padding:0.7rem 2rem; transition:border-color 0.2s; text-decoration:none !important; }
.fpd-cta .btn-secondary-cta:hover { border-color:#fff; }

.fpd-cotizar-widget { background:var(--crema); border-radius:10px; padding:1rem 1.2rem; margin-bottom:0.8rem; }
.fpd-cotizar-widget label { font-size:0.82rem; font-weight:700; color:var(--cafe-oscuro); margin-bottom:0.3rem; }
.fpd-cotizar-widget .input-group-text { background:var(--dorado); color:#fff; border-color:var(--dorado); }
.fpd-cotizar-widget .form-control { border-color:#e0d5c8; }
.fpd-cotizar-widget .form-control:focus { border-color:var(--dorado) !important; }

/* ==========================================
   @media xs — hasta 575px
   ========================================== */
@media (max-width: 575.98px) {
  #navMenuTop { background-color:rgba(30,14,4,1) !important; }
  #navMenuTop .navbar-brand { padding-top:0 !important; }
  #navMenuTop .navbar-brand img { max-width:130px !important; }
  #navMenuTop .navbar-toggler { font-size:0.9rem; line-height:0.9rem; color:rgba(255,255,255,.8) !important; }
  #menuCompleto li a { color:#fff !important; }
  #menuCompleto li a:hover { color:#f0956a !important; }
  #menuCompleto li.active a { color:#f0956a !important; }

  .cuerpo { margin-top:52px !important; }
  .cv-hero { min-height:100svh; padding-top:70px; padding-bottom:2rem; }
  .cv-hero-overlay { background:rgba(30,14,4,0.85) !important; }
  .cv-hero-titulo { font-size:2rem !important; }
  .cv-hero-img { max-height:260px; border-radius:10px; }
  .cv-trust-item { border-right:none; border-bottom:1px solid rgba(255,255,255,0.1); }
  .cv-trust-item:last-child { border-bottom:none; }
  .cv-use-card { height:220px !important; }
  .cv-cta-titulo { font-size:1.8rem !important; }

  .menu-sections { padding-bottom:2rem; }
  .menu-sections li { padding-top:10px !important; }
  .menu-sections li a { padding-left:10px !important; }
  .menu-sections li.active a { padding-left:5px !important; }
  .menu-sections li.active a:before { position:relative !important; display:inline-block !important; top:-1px !important; left:-10px !important; width:0 !important; height:0 !important; border-width:4px 0 4px 5px !important; border-color:transparent #f0956a !important; border-style:solid !important; color:#f0956a !important; content:"" !important; }
  .menu-redes { flex-direction:row-reverse !important; padding-top:25px !important; padding-bottom:10px !important; }
  .menu-redes li a { padding-left:0 !important; }
  .menu-redes-xs { flex-direction:row; padding-top:1.2rem; padding-bottom:2rem; }
  .menu-redes-xs li a { padding-left:11px !important; }
  .menu-redes-xs li a i { font-size:1.5rem !important; line-height:1.5rem !important; }

  #boxMenuTop .box-menu-lista { position:absolute !important; }

  h1.page-header { font-size:1.8rem !important; line-height:1.9rem !important; font-weight:bold !important; }
  h2.header-menor { font-size:1.4rem !important; line-height:1.5rem !important; font-weight:bold !important; }
  h5.card-title { font-weight:bold !important; }

  .cover-section .titulo { margin-bottom:0 !important; font-size:40px !important; line-height:40px !important; }
  .cover-section .subtitulo { font-size:30px !important; line-height:30px !important; }
  .cover-section .lead { font-size:14px !important; line-height:22px !important; }
  .featured-section .titulo { font-size:27px !important; line-height:27px !important; }
  .featured-section .subtitulo { font-size:20px !important; line-height:20px !important; }
  .featured-section .lead { font-size:14px !important; line-height:18px !important; }
  .img-100-mobile { width:100% !important; }
  .img-55-mobile { width:55% !important; }
  .mapa-contacto { height:400px !important; }
  .table-cotizacion { font-size:12px !important; }

  .box-cabecera-seccion .rotulo { right:2rem !important; bottom:2rem !important; }
  .box-cabecera-seccion .rotulo .linea-01 { font-size:1rem !important; line-height:1rem !important; }
  .box-cabecera-seccion .rotulo .linea-02 { font-size:4rem !important; line-height:4rem !important; }
  .box-cabecera-seccion .rotulo .linea-03 { font-size:1rem !important; line-height:1rem !important; }

  .float-wp { bottom:3rem; }

  .fpd-navbar-contrast { display:none !important; }
  .fpd-breadcrumb { padding-top:76px !important; }
  .fpd-breadcrumb, .fpd-breadcrumb .breadcrumb-item, .fpd-breadcrumb .breadcrumb-item a { font-size:0.72rem !important; }
  .fpd-top { padding:0 !important; padding-top:1.5rem !important; padding-bottom:1.5rem !important; padding-left:15px !important; padding-right:15px !important; }
  .fpd-info { padding-top:1.5rem; }
  .fpd-slider-wrap { border-radius:8px; overflow:hidden; }
  .fpd-slider-wrap .carousel, .fpd-slider-wrap .carousel-inner, .fpd-slider-wrap .carousel-item { overflow:hidden; max-width:100%; }
  .fpd-slider-wrap .carousel-item img { height:auto; width:100%; max-width:100%; display:block; }
  .fpd-producto-titulo { font-size:1.4rem !important; }
  .fpd-calc-grid { gap:0.5rem; }
  .fpd-calc-item .valor { font-size:1.2rem; }
}

/* ==========================================
   @media sm — 576px a 767px
   ========================================== */
@media (min-width: 576px) and (max-width: 767.98px) {
  #navMenuTop { background-color:rgba(30,14,4,1) !important; }
  #navMenuTop .navbar-brand { padding-top:0 !important; }
  #navMenuTop .navbar-toggler { color:rgba(255,255,255,.8) !important; }
  #menuCompleto li a { color:#fff !important; }
  #menuCompleto li a:hover { color:#f0956a !important; }
  #menuCompleto li.active a { color:#f0956a !important; }
  .cuerpo { margin-top:53px !important; }
  .cv-hero { min-height:100svh; padding-bottom:2rem; }
  .cv-hero-overlay { background:rgba(30,14,4,0.82) !important; }
  .cv-hero-titulo { font-size:2.3rem; }
  .cv-use-card { height:240px !important; }

  .menu-sections li { padding-top:10px !important; }
  .menu-sections li a { padding-left:10px !important; }
  .menu-sections li.active a { padding-left:5px !important; }
  .menu-sections li.active a:before { position:relative !important; display:inline-block !important; top:-1px !important; left:-10px !important; width:0 !important; height:0 !important; border-width:4px 0 4px 5px !important; border-color:transparent #f0956a !important; border-style:solid !important; color:#f0956a !important; content:"" !important; }
  .menu-redes { flex-direction:row; padding-top:2.5rem; padding-bottom:10px; }
  .menu-sections { padding-bottom:2rem; }
  #boxMenuTop .box-menu-lista { position:absolute !important; }

  .cover-section .titulo { margin-bottom:0 !important; font-size:40px !important; line-height:40px !important; }
  .cover-section .subtitulo { font-size:30px !important; line-height:30px !important; }
  .cover-section .lead { font-size:14px !important; line-height:22px !important; }
  .featured-section .titulo { font-size:27px !important; line-height:27px !important; }
  .featured-section .subtitulo { font-size:20px !important; line-height:20px !important; }
  .featured-section .lead { font-size:14px !important; line-height:18px !important; }
  .img-100-mobile { width:100% !important; }
  .img-55-mobile { width:55% !important; }
  .mapa-contacto { height:400px !important; }
  .table-cotizacion { font-size:12px !important; }

  .box-cabecera-seccion .rotulo { right:2rem !important; bottom:2rem !important; }
  .box-cabecera-seccion .rotulo .linea-01 { font-size:1rem !important; line-height:1rem !important; }
  .box-cabecera-seccion .rotulo .linea-02 { font-size:4rem !important; line-height:4rem !important; }
  .box-cabecera-seccion .rotulo .linea-03 { font-size:1rem !important; line-height:1rem !important; }

  .fpd-page-top { padding-top:52px; }
  .fpd-navbar-contrast { display:none !important; }
  .fpd-breadcrumb { padding-top:72px !important; }
  .fpd-breadcrumb, .fpd-breadcrumb .breadcrumb-item, .fpd-breadcrumb .breadcrumb-item a { font-size:0.78rem !important; }
  .fpd-top { padding:0 !important; padding-top:1.5rem !important; padding-bottom:1.5rem !important; }
  .fpd-info { padding-left:15px !important; padding-right:15px !important; padding-top:1.5rem; }
  .fpd-slider-wrap { border-radius:10px; overflow:hidden; }
  .fpd-slider-wrap .carousel, .fpd-slider-wrap .carousel-inner, .fpd-slider-wrap .carousel-item { overflow:hidden; max-width:100%; }
  .fpd-slider-wrap .carousel-item img { height:auto; display:block; }
  .fpd-producto-titulo { font-size:1.5rem; }
  .fpd-calc-grid { gap:0.5rem; }
  .fpd-calc-item .valor { font-size:1.2rem; }
}

/* ==========================================
   @media md — 768px a 991px
   ========================================== */
@media (min-width: 768px) and (max-width: 991.98px) {
  .box-cabecera-seccion .rotulo { right:2rem !important; bottom:2rem !important; }
  .box-cabecera-seccion .rotulo .linea-01 { font-size:1rem !important; line-height:1rem !important; }
  .box-cabecera-seccion .rotulo .linea-02 { font-size:4rem !important; line-height:4rem !important; }
  .box-cabecera-seccion .rotulo .linea-03 { font-size:1rem !important; line-height:1rem !important; }
  .menu-sections { padding-bottom:2rem; }
  .menu-redes { flex-direction:row; padding-top:2.5rem; padding-bottom:10px; }
}

/* ==========================================
   @media navbar: 768px a 991px (hamburger visible, menú colapsado)
   ========================================== */
@media (min-width: 768px) and (max-width: 991.98px) {
  #navMenuTop { background-color:rgba(30,14,4,1) !important; }
  #navMenuTop .navbar-toggler { color:rgba(255,255,255,.8) !important; }
  #menuCompleto li a { color:#fff !important; }
  #menuCompleto li a:hover { color:#f0956a !important; }
  #menuCompleto li.active a { color:#f0956a !important; }
  .cuerpo { margin-top:62px; }
  .featured-section { padding-top:5px; padding-bottom:5px; }
  .featured-section .titulo { font-size:27px; line-height:27px; }
  .featured-section .subtitulo { font-size:20px; line-height:20px; }
  .featured-section .lead { font-size:14px; line-height:18px; }
  .mapa-contacto { height:400px; }
  .table-cotizacion { font-size:12px; }
}

/* ==========================================
   @media lg — 992px a 1199px
   ========================================== */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .cuerpo { margin-top:57px !important; }
  .contenedor-slider-desktop { height:calc(100vh - 78px); }
  .menu-sections { padding-bottom:0; }
  .menu-redes { flex-direction:row; }
  .box-cabecera-seccion .rotulo { right:2rem !important; bottom:2rem !important; }
  .box-cabecera-seccion .rotulo .linea-01 { font-size:1rem !important; line-height:1rem !important; }
  .box-cabecera-seccion .rotulo .linea-02 { font-size:4rem !important; line-height:4rem !important; }
  .box-cabecera-seccion .rotulo .linea-03 { font-size:1rem !important; line-height:1rem !important; }
}
