/* ── Layout ── */
body { overflow-x: hidden; }
.wrapper { max-width: 1344px; margin: 0 auto; padding: 0 24px; }
body.solid-header nav { background: #ffffff; box-shadow: 0 2px 8px rgba(0,0,0,0.12); }

/* ── Navigation Dropdowns ── */
.first-level-dropdown,
.second-level-dropdown {
  display: none;
}
.first-level-dropdown.open,
.second-level-dropdown.open {
  display: block;
}

/* ── Hot Tub Detail Page ── */
.hot-tub-detail * { box-sizing: border-box; }
.hot-tub-detail { font-family: 'Alice', serif; color: #1a3a4a; }
.hot-tub-detail .carousel-container { position: relative; overflow: hidden; border-radius: 12px; }
.hot-tub-detail .carousel-slides { display: flex; transition: transform 0.4s ease; }
.hot-tub-detail .carousel-slide { min-width: 100%; }
.hot-tub-detail .carousel-slide img { width: 100%; height: 450px; object-fit: cover; }
.hot-tub-detail .carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.85); border: none; width: 40px; height: 40px; border-radius: 50%; cursor: pointer; font-size: 18px; color: #1a3a4a; display: flex; align-items: center; justify-content: center; z-index: 10; box-shadow: 0 2px 8px rgba(0,0,0,0.15); }
.hot-tub-detail .carousel-btn:hover { background: #fff; }
.hot-tub-detail .carousel-prev { left: 12px; }
.hot-tub-detail .carousel-next { right: 12px; }
.hot-tub-detail .carousel-dots { display: flex; justify-content: center; gap: 8px; margin-top: 16px; }
.hot-tub-detail .carousel-dot { width: 12px; height: 12px; border-radius: 50%; background: #ccc; border: none; cursor: pointer; padding: 0; }
.hot-tub-detail .carousel-dot.active { background: #1a8a8a; }
.hot-tub-detail .badge { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 50%; background: #1a3a4a; color: #fff; font-size: 11px; text-align: center; line-height: 1.2; }
.hot-tub-detail .badge .badge-value { font-size: 16px; font-weight: bold; }
.hot-tub-detail .badge .badge-label { font-size: 9px; text-transform: uppercase; opacity: 0.85; }
.hot-tub-detail .cta-btn { display: inline-block; background: #1a8a8a; color: #fff; padding: 14px 32px; border-radius: 30px; font-size: 16px; font-weight: bold; text-decoration: none; text-transform: uppercase; letter-spacing: 1px; transition: background 0.2s; }
.hot-tub-detail .cta-btn:hover { background: #147070; }
.hot-tub-detail .tabs-container { border-radius: 8px; overflow: hidden; margin-top: 40px; }
.hot-tub-detail .tabs-nav { display: flex; background: #0a3535; border-bottom: none; }
.hot-tub-detail .tab-btn { flex: 1; padding: 14px 8px; border: none; background: transparent; cursor: pointer; font-family: 'Alice', serif; font-size: 14px; font-weight: bold; color: rgba(255,255,255,0.65); display: flex; align-items: center; justify-content: center; gap: 6px; border-right: 1px solid rgba(255,255,255,0.1); transition: background 0.2s, color 0.2s; }
.hot-tub-detail .tab-btn:last-child { border-right: none; }
.hot-tub-detail .tab-btn.active { background: transparent; color: #fff; border-bottom: 3px solid #fff; }
.hot-tub-detail .tab-btn:hover:not(.active) { color: #fff; background: rgba(255,255,255,0.08); }
.hot-tub-detail .tab-content { display: none; padding: 30px; background: #0c4040; }
.hot-tub-detail .tab-content.active { display: block; }
.hot-tub-detail .tab-content h2, .hot-tub-detail .tab-content h3 { color: #1a8a8a; margin-top: 20px; margin-bottom: 10px; font-family: 'Alice', serif; }
.hot-tub-detail .tab-content h2:first-child, .hot-tub-detail .tab-content h3:first-child { margin-top: 0; }
.hot-tub-detail .tab-content ul { padding-left: 20px; margin: 10px 0; }
.hot-tub-detail .tab-content li { margin-bottom: 6px; color: rgba(255,255,255,0.85); }
.hot-tub-detail .tab-content p { margin-bottom: 12px; line-height: 1.7; color: rgba(255,255,255,0.85); }
.hot-tub-detail .bullet-item { position: relative; padding-left: 20px; margin-bottom: 10px; line-height: 1.6; color: #1a3a4a; font-family: 'Nunito', sans-serif; font-size: 15px; }
.hot-tub-detail .bullet-item::before { content: "•"; position: absolute; left: 0; color: #1a8a8a; font-size: 18px; line-height: 1.2; }

@media (max-width: 768px) {
  .hot-tub-detail .detail-grid { grid-template-columns: 1fr !important; }
  .hot-tub-detail .carousel-slide img { height: 300px !important; }
  .hot-tub-detail .tabs-nav { flex-wrap: wrap; }
  .hot-tub-detail .tab-btn { font-size: 12px !important; padding: 10px 4px !important; }
}
