/* Products Page Styles */
/* Uses px for font sizes per site rules (html { font-size: 62.5% } makes rem unreliable) */

/* Clean up hero-to-content transition on product pages */
.article-header {
  border-bottom: none !important;
}

#hawaii-top .article-header {
  border: none !important;
}

#hawaii-top + .wrapper-sides {
  margin-top: -5px;
}

.products-text {
  color: #1a5276;
}

.products-border {
  border-color: #1a5276 !important;
}

.text-products {
  color: #1a5276;
}

/* Product card hover states */
.hg-product-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hg-product-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.15);
}

/* Guidebook feature list */
.guidebook-features {
  list-style: none;
  padding: 0;
  margin: 0;
}

.guidebook-features li {
  padding: 8px 0;
  border-bottom: 1px solid #eee;
  font-size: 15px;
}

.guidebook-features li:last-child {
  border-bottom: none;
}

.guidebook-features li i {
  color: #27ae60;
  margin-right: 8px;
  width: 20px;
  text-align: center;
}

/* Table of contents styling */
.guidebook-toc {
  background: #f8f9fa;
  border-radius: 12px;
  padding: 20px 24px;
  margin: 20px 0;
}

.guidebook-toc h4 {
  margin: 0 0 12px;
  color: #1a5276;
}

.guidebook-toc ol {
  margin: 0;
  padding-left: 20px;
}

.guidebook-toc li {
  padding: 4px 0;
  font-size: 15px;
  color: #333;
}

/* Purchase section sticky on desktop */
@media (min-width: 768px) {
  .product-purchase-sidebar {
    position: sticky;
    top: 100px;
  }
}

/* Hide the inline island buttons on desktop — sidebar handles it */
@media (min-width: 640px) {
  .hg-island-btn-row {
    display: none !important;
  }
  .hg-island-btn-row-label {
    display: none !important;
  }
}

/* Island button active/selected state */
.hg-island-btn.is-selected {
  background: rgba(240,192,64,0.25) !important;
  border-color: #f0c040 !important;
  box-shadow: 0 0 0 2px #f0c040;
  font-weight: bold;
}

/* Island button hover in sidebar */
#island-planner-buttons .hg-island-btn:hover {
  background: rgba(255,255,255,0.28) !important;
  border-color: rgba(255,255,255,0.7) !important;
}

/* Island button hover in inline row */
.hg-island-btn-row .hg-island-btn:hover {
  opacity: 0.85;
}

/* Download page styles */
.download-card {
  background: #fff;
  border: 2px solid #27ae60;
  border-radius: 16px;
  padding: 32px;
  text-align: center;
  margin: 24px 0;
}

.download-card h2 {
  color: #27ae60;
  margin: 0 0 12px;
}

.download-card .download-link {
  display: inline-block;
  background: #27ae60;
  color: #fff;
  padding: 14px 36px;
  border-radius: 30px;
  font-size: 17px;
  font-weight: bold;
  text-decoration: none;
  margin: 16px 0;
  transition: background 0.2s ease;
}

.download-card .download-link:hover {
  background: #219a52;
  color: #fff;
}

/* Print styles */
@media print {
  .hg-product-card,
  .hg-quiz-cta,
  .hg-buy-btn,
  .content-nav-bar-links {
    display: none !important;
  }
}
