/* Estilos de tema para look profesional */
:root{
  --brand-primary:#5c3df6; --brand-secondary:#6c757d; --brand-bg:#f8f9fb; --brand-dark:#1f2430;
}
body{background:var(--brand-bg); color:#2a2a2a;}
.navbar{box-shadow:0 1px 12px rgba(0,0,0,.04);} 
.hero{background:linear-gradient(135deg,#4b2bbd 0%,#6a3df0 55%,#8a6dfb 100%);border-radius:14px; overflow:hidden; position:relative}
.hero-overlay{background:rgba(255,255,255,.03);padding-top:24px;padding-bottom:24px}
.hero h1{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3)}
.search-bar{max-width:980px;margin:12px auto 0; background:rgba(255,255,255,.12); padding:12px; border-radius:12px}
.search-bar .form-control,.search-bar .form-select{height:44px; background:#fff; border:0}
.search-bar .btn{height:44px}
.promo-tiles{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; align-items:center}
.promo-tile{background:#fff;border:1px solid #eee;border-radius:12px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between; min-height:56px}
.promo-tile h6{margin:0;font-weight:700; font-size:.95rem}
.promo-tile img{height:32px; width:auto}
.card-package{border:none;box-shadow:0 8px 16px rgba(0,0,0,.06);border-radius:14px;overflow:hidden}
.card-package .card-img-top{height:150px;object-fit:cover}
.badge-destination{position:absolute;left:10px;top:10px;background:var(--brand-primary);color:#fff;border-radius:20px;padding:4px 10px;font-size:.75rem}

/* Chips bajo buscador */
.search-chips .chip-toggle{background:var(--brand-primary); color:#fff; border:1px solid var(--brand-primary); border-radius:999px; padding:6px 12px; font-size:.9rem; box-shadow:0 2px 6px rgba(92,61,246,.25)}
.search-chips .chip-toggle:hover{filter:brightness(1.05)}
.search-chips .chip-toggle.active{background:#fff; color:var(--brand-primary); border-color:#fff}
.search-chips span{color:#eaeaea}

/* Promos strip */
.promo-strip{display:flex; gap:12px; overflow-x:auto; padding-bottom:6px}
.promo-banner{background:#fff; border:1px solid #eee; border-radius:12px; padding:12px; display:flex; align-items:center; gap:10px; min-height:72px}
.promo-banner img{height:48px}
.promo-banner .promo-title{font-weight:800}
.promo-banner .promo-sub{font-size:.9rem; color:#6c757d}
.promo-banner.black{background:#111; color:#fff; border-color:#111}

/* Carrusel en cards */
.pkg-carousel{position:relative}
.pkg-carousel .carousel-track img{display:none; width:100%; height:150px; object-fit:cover}
.pkg-carousel .carousel-btn{position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,.35); color:#fff; border:none; width:28px; height:28px; border-radius:50%}
.pkg-carousel .carousel-btn.prev{left:8px}
.pkg-carousel .carousel-btn.next{right:8px}

/* Beneficios y bloques */
.benefit-card{background:#fff;border-radius:12px;box-shadow:0 8px 16px rgba(0,0,0,.06);overflow:hidden}
.benefit-card .accent{height:6px;background:var(--brand-primary)}
.benefit-icon{font-size:24px}
.gradient-purple{background:linear-gradient(135deg,#5c3df6,#8a6dfb); color:#fff; border:none}

.newsletter input[type=email]{height:42px}
.stars{color:#ffb400;font-size:.8rem}
.price{font-weight:700;color:var(--brand-primary)}
.amenities{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.amenities .chip{background:#f1f3f5;border:1px solid #e5e7eb;color:#4b5563;border-radius:999px;padding:2px 8px;font-size:.75rem}
.benefit-card{border-radius:14px; overflow:hidden; border:1px solid #eee; background:#fff; box-shadow:0 8px 16px rgba(0,0,0,.04)}
.benefit-card .accent{height:6px; background:var(--brand-primary)}
.benefit-icon{font-size:24px; width:36px; height:36px; display:flex; align-items:center; justify-content:center; border-radius:999px; background:#efeafd; color:#3b2de6}
.footer{color:#6c757d}
 .btn-primary{background:linear-gradient(135deg,#5c3df6 0%, #8a6dfb 100%);border-color:#5c3df6; color:#fff; box-shadow:0 6px 14px rgba(92,61,246,.25)}
.btn-outline-primary{background:linear-gradient(135deg,#5c3df6 0%, #8a6dfb 100%); color:#fff; border-color:#5c3df6; box-shadow:0 6px 14px rgba(92,61,246,.25)}
.btn-outline-primary:hover{filter:brightness(1.06); color:#fff}
.btn-outline-secondary{background:linear-gradient(135deg,#5c3df6 0%, #8a6dfb 100%); color:#fff; border-color:#5c3df6; box-shadow:0 6px 14px rgba(92,61,246,.25)}
.btn-outline-secondary:hover{filter:brightness(1.06); color:#fff}
.btn-gradient-primary{background:linear-gradient(135deg,#5c3df6 0%, #8a6dfb 100%); color:#fff; border:none; box-shadow:0 6px 14px rgba(92,61,246,.25)}
.btn-gradient-primary:hover{filter:brightness(1.06); color:#fff}
.btn-gradient-primary:focus{box-shadow:0 0 0 .25rem rgba(92,61,246,.35)}
.stars{display:flex; align-items:center; gap:2px}
.stars .star{width:18px; height:18px; display:inline-block; position:relative; line-height:18px;}
.stars .star::before{content:'★'; font-size:18px; color:#ddd; position:absolute; left:0; top:-1px}
.stars .star.full::before{color:#f5a623}
.stars .star.half::before{background:linear-gradient(to right,#f5a623 50%,#ddd 50%); -webkit-background-clip:text; background-clip:text; color:transparent}

.amenities .chip{display:inline-flex; align-items:center; gap:6px; padding:6px 10px; background:#f4f4f7; border:1px solid #ececf1; border-radius:999px; font-size:.85rem}
.amenities .chip .icon{font-size:16px}
/* Iconografía SVG */
.navbar .nav-link svg{width:16px; height:16px}
.navbar .nav-link:hover svg{color:var(--brand-primary)}
.amenities .chip .icon svg{width:14px; height:14px}

/* Reseñas */
#reviews .review-item{border-bottom:1px solid #eee; padding:8px 0}
#reviews .review-item:last-child{border-bottom:none}
#reviews .pagination .page-link{color:var(--brand-primary)}

/* Distribución de ratings */
.rating-dist .bar{background:#eef2f7; height:8px; border-radius:4px; overflow:hidden}
.rating-dist .bar .fill{background:var(--brand-primary); height:100%}
