/* Bosque Guardián Lodge — página «Antes de tu viaje» (parts/viaje/*). */
.bg-viaje{padding:90px 0;background:#fff;scroll-margin-top:100px}
.bg-viaje-crema{background:#f4f1ec}
.bg-viaje-fila{display:flex;flex-wrap:wrap;align-items:center}
.bg-viaje-ante{margin:0 0 10px;color:#ef7f1a;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.bg-viaje-h2{margin:0 0 18px;color:#03351d;font-size:30px;line-height:1.25;font-weight:600;letter-spacing:.02em;text-transform:none}
.bg-viaje .separator-line-thick{margin-top:0;margin-bottom:24px}
.bg-viaje-texto{color:#4a4a4a;font-size:15px;line-height:1.75}
.bg-viaje-texto p{margin:0 0 14px}
.bg-viaje-texto p:last-child{margin-bottom:0}
.bg-viaje-cabecera{max-width:720px;margin:0 auto 50px}
.bg-viaje h3{margin:0 0 10px;color:#03351d;font-size:16px;line-height:1.35;font-weight:600;letter-spacing:.04em;text-transform:uppercase}

/* Botones */
.bg-viaje-btn{display:inline-flex;align-items:center;gap:10px;margin-top:26px;padding:12px 22px;border:1px solid #03351d;color:#03351d!important;background:transparent;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none!important;transition:background .2s,color .2s}
.bg-viaje-btn .fa{font-size:17px}
.bg-viaje-btn:hover,.bg-viaje-btn:focus-visible{background:#03351d;color:#fff!important}

/* Introducción e índice */
.bg-viaje-intro{padding:60px 0 80px}
.bg-viaje-intro .col-md-7{padding-right:50px}
.bg-viaje-indice{background:#f4f1ec;border-top:4px solid #03351d;padding:28px 30px 18px}
.bg-viaje-indice-titulo{margin:0 0 10px;color:#03351d;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.bg-viaje-indice ol{margin:0;padding:0;list-style:none;counter-reset:ind}
.bg-viaje-indice li{counter-increment:ind;border-bottom:1px solid #ddd7cc}
.bg-viaje-indice li:last-child{border-bottom:0}
.bg-viaje-indice a{display:flex;align-items:center;gap:14px;padding:12px 0;color:#333!important;font-size:14px;font-weight:500;text-decoration:none!important;transition:color .2s,padding .2s}
.bg-viaje-indice a:before{content:counter(ind,decimal-leading-zero);color:#ef7f1a;font-size:12px;font-weight:600;min-width:20px}
.bg-viaje-indice a span{flex:1}
.bg-viaje-indice a .fa{color:#03351d;font-size:16px;transition:transform .2s}
.bg-viaje-indice a:hover,.bg-viaje-indice a:focus-visible{color:#03351d!important;padding-left:4px}
.bg-viaje-indice a:hover .fa{transform:translateX(4px)}

/* Cómo llegar */
.bg-viaje-pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin:0;padding:0;list-style:none;position:relative}
.bg-viaje-n3{grid-template-columns:repeat(3,1fr)}
.bg-viaje-n2{grid-template-columns:repeat(2,1fr)}
.bg-viaje-n1{grid-template-columns:1fr}
.bg-viaje-pasos:before{content:"";position:absolute;top:36px;left:12%;right:12%;border-top:1px dashed #b9b2a5}
.bg-viaje-n1:before{display:none}
.bg-viaje-paso{position:relative;text-align:center;padding:0 6px}
.bg-viaje-paso-ico{position:relative;display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;margin-bottom:20px;border-radius:50%;background:#03351d;color:#fff;font-size:26px;box-shadow:0 0 0 8px #f4f1ec}
.bg-viaje-paso-ico b{position:absolute;top:-4px;right:-4px;width:26px;height:26px;border-radius:50%;background:#ef7f1a;color:#fff;font-size:12px;line-height:26px;font-weight:600}
.bg-viaje-paso-texto{color:#555;font-size:14px;line-height:1.65}
.bg-viaje-paso-texto p{margin:0}

/* Tarifas */
.bg-viaje-vigencia{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:7px 16px;border-radius:30px;background:#f4f1ec;color:#03351d;font-size:13px;font-weight:500}
.bg-viaje-vigencia .fa{color:#ef7f1a}
.bg-viaje-tabla-caja{max-width:980px;margin:0 auto;box-shadow:0 18px 50px rgba(3,53,29,.10);border-top:4px solid #03351d;background:#fff}
.bg-viaje-tabla{width:100%;border-collapse:collapse}
.bg-viaje-tabla thead th{padding:16px 22px;background:#f4f1ec;color:#03351d;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-align:left}
.bg-viaje-tabla tbody th,.bg-viaje-tabla td{padding:16px 22px;border-top:1px solid #ece7de;vertical-align:middle}
.bg-viaje-tabla tbody th{color:#222;font-size:15px;font-weight:600;text-align:left}
.bg-viaje-tabla tbody th small{display:block;margin-top:3px;color:#7a7a7a;font-size:13px;font-weight:400}
.bg-viaje-tabla td{color:#03351d;font-size:16px;font-weight:600;white-space:nowrap}
.bg-viaje-tabla .bg-viaje-num{text-align:right}
.bg-viaje-tabla tbody tr:hover{background:#fbfaf7}
.bg-viaje-nota{max-width:980px;margin:16px auto 0;color:#6b6b6b;font-size:13px;line-height:1.6;font-style:italic}
.bg-viaje-incluye{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:30px;max-width:980px;margin:50px auto 0}
.bg-viaje-caja{padding:28px 28px 22px;background:#f4f1ec}
.bg-viaje-condiciones{background:#fff;border:1px solid #e3ddd2}
.bg-viaje-condiciones .bg-viaje-texto{font-size:14px}

/* Listas con ícono (check / equis) */
.bg-viaje-lista ul{margin:0;padding:0;list-style:none}
.bg-viaje-lista li{position:relative;margin:0 0 10px;padding-left:28px;color:#444;font-size:14px;line-height:1.6}
.bg-viaje-lista li:before{content:"\f00c";font-family:FontAwesome;position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:#03351d;color:#fff;font-size:10px;line-height:18px;text-align:center}
.bg-viaje-caja-no_incluye .bg-viaje-lista li:before{content:"\f00d";background:#b9b2a5}
.bg-viaje-lista-grande li{margin-bottom:16px;padding:16px 18px 16px 52px;background:#f4f1ec;font-size:15px}
.bg-viaje-lista-grande li:before{left:18px;top:18px;width:22px;height:22px;line-height:22px;font-size:12px}

/* Qué llevar */
.bg-viaje-grupos{display:flex;flex-wrap:wrap;justify-content:center;gap:30px}
.bg-viaje-grupo{flex:0 1 calc((100% - 60px)/3);padding:30px 28px 22px;background:#fff;border-bottom:3px solid #ef7f1a;box-shadow:0 10px 30px rgba(3,53,29,.06)}
.bg-viaje-grupo-ico{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:16px;border-radius:50%;background:#e6eee8;color:#03351d;font-size:22px}
.bg-viaje-ico-grande{width:64px;height:64px;font-size:28px;margin-bottom:22px}

/* Clima */
.bg-viaje-verde{background:#03351d}
.bg-viaje-verde .bg-viaje-h2{color:#fff}
.bg-viaje-verde .bg-viaje-texto{color:rgba(255,255,255,.82)}
.bg-viaje-datos{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0 0 0 30px;padding:0;list-style:none;background:rgba(255,255,255,.18)}
.bg-viaje-datos li{display:flex;flex-direction:column;gap:4px;padding:28px 26px;background:#03351d}
.bg-viaje-datos .fa{color:#ef7f1a;font-size:24px;margin-bottom:8px}
.bg-viaje-datos strong{color:#fff;font-size:24px;line-height:1.2;font-weight:600}
.bg-viaje-datos span{color:rgba(255,255,255,.75);font-size:13px;letter-spacing:.06em;text-transform:uppercase}

/* Salud */
#viaje-salud .bg-viaje-fila{align-items:flex-start}
.bg-viaje-salud .col-md-5,#viaje-salud .col-md-5{padding-right:40px}

/* Preguntas frecuentes */
.bg-viaje-faq{max-width:860px;margin:0 auto}
.bg-viaje-faq details{margin:0 0 12px;background:#fff;border-left:3px solid transparent;transition:border-color .2s}
.bg-viaje-faq details[open]{border-left-color:#ef7f1a}
.bg-viaje-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;cursor:pointer;list-style:none;color:#03351d;font-size:15px;font-weight:600}
.bg-viaje-faq summary::-webkit-details-marker{display:none}
.bg-viaje-faq summary .fa{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:#f4f1ec;color:#03351d;font-size:12px;line-height:30px;text-align:center;transition:transform .25s,background .2s}
.bg-viaje-faq details[open] summary .fa{transform:rotate(45deg);background:#03351d;color:#fff}
.bg-viaje-faq summary:hover .fa{background:#e6eee8}
.bg-viaje-faq summary:focus-visible{outline:2px solid #ef7f1a;outline-offset:-2px}
.bg-viaje-faq details .bg-viaje-texto{padding:0 24px 22px;font-size:14px}

/* Cierre */
.bg-viaje-cta{background:#f4f1ec;border-top:1px solid #e3ddd2}
.bg-viaje-cta .bg-viaje-texto{max-width:560px;margin:0 auto}
.bg-viaje-botones{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:28px}
.bg-viaje-botones .btn{margin:0}
.bg-viaje-botones .bg-viaje-btn{margin:0}
.bg-viaje-btn-wa .fa{color:#25d366;transition:color .2s}
.bg-viaje-btn-wa:hover .fa{color:#fff}

/* Tablet */
@media (max-width:991px){
    .bg-viaje{padding:64px 0;scroll-margin-top:80px}
    .bg-viaje-fila>div{width:100%;flex:0 0 100%}
    .bg-viaje-intro .col-md-7,#viaje-salud .col-md-5{padding-right:15px}
    .bg-viaje-indice{margin-top:36px}
    .bg-viaje-pasos{grid-template-columns:repeat(2,1fr);row-gap:40px}
    .bg-viaje-pasos:before{display:none}
    .bg-viaje-incluye{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
    .bg-viaje-condiciones{grid-column:1/-1}
    .bg-viaje-grupo{flex-basis:calc((100% - 30px)/2)}
    .bg-viaje-datos{margin:30px 0 0}
    #viaje-salud .bg-viaje-lista{margin-top:24px}
    .bg-viaje-h2{font-size:26px}
}

/* Móvil: la tabla pasa a tarjetas */
@media (max-width:640px){
    .bg-viaje{padding:50px 0}
    .bg-viaje-cabecera{margin-bottom:34px}
    .bg-viaje-pasos,.bg-viaje-incluye{grid-template-columns:1fr}
    .bg-viaje-paso{text-align:left;display:grid;grid-template-columns:72px 1fr;column-gap:18px;align-items:start}
    .bg-viaje-paso-ico{grid-row:span 2;margin:0}
    .bg-viaje-paso h3{margin-top:6px}
    .bg-viaje-grupo{flex-basis:100%}
    .bg-viaje-tabla-caja{box-shadow:none;border-top:0;background:transparent}
    .bg-viaje-tabla thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
    .bg-viaje-tabla,.bg-viaje-tabla tbody,.bg-viaje-tabla tr,.bg-viaje-tabla tbody th,.bg-viaje-tabla td{display:block;width:100%}
    .bg-viaje-tabla tr{margin:0 0 14px;background:#fff;border-top:3px solid #03351d;box-shadow:0 8px 24px rgba(3,53,29,.08)}
    .bg-viaje-tabla tbody th{border-top:0;padding:16px 18px 10px}
    .bg-viaje-tabla td{display:flex;justify-content:space-between;padding:10px 18px;border-top:1px solid #f0ece4}
    .bg-viaje-tabla td:before{content:attr(data-label);color:#777;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
    .bg-viaje-datos{grid-template-columns:1fr 1fr}
    .bg-viaje-datos li{padding:20px 16px}
    .bg-viaje-datos strong{font-size:19px}
    .bg-viaje-faq summary{padding:16px 18px;font-size:14px}
    .bg-viaje-faq details .bg-viaje-texto{padding:0 18px 18px}
    .bg-viaje-botones{flex-direction:column}
    .bg-viaje-botones .btn,.bg-viaje-botones .bg-viaje-btn{width:100%;justify-content:center}
}

/* El tema pinta los íconos <i> de gris: se fuerza el color dentro de los círculos */
.bg-viaje-paso-ico .fa{color:#fff!important}
.bg-viaje-grupo-ico .fa{color:#03351d!important}

/* Introducción solo con índice (sin texto propio) */
.bg-viaje-solo-indice{justify-content:center}
.bg-viaje-solo-indice .bg-viaje-indice{margin-top:0}
.bg-viaje-indice .bg-viaje-btn{margin:18px 0 10px}

/* «Qué llevar» con una sola lista: en columnas */
.bg-viaje-grupo:only-child{flex-basis:100%;max-width:980px}
.bg-viaje-grupo:only-child h3:empty{display:none}
.bg-viaje-grupo:only-child .bg-viaje-lista ul{columns:3;column-gap:40px}
.bg-viaje-grupo:only-child .bg-viaje-lista li{break-inside:avoid}
@media (max-width:991px){.bg-viaje-grupo:only-child .bg-viaje-lista ul{columns:2}}
@media (max-width:640px){.bg-viaje-grupo:only-child .bg-viaje-lista ul{columns:1}}
.bg-viaje-indice .bg-viaje-btn:before{content:none}
.bg-viaje-indice .bg-viaje-btn{display:inline-flex;padding:12px 22px;gap:10px}
/* Incluye / No incluye / Condiciones: columnas según los bloques que haya */
.bg-viaje-incluye{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
