/* ============================================
   GLOBAL THEME VARIABLES
   Frosty Theme
   Primary Brand Color: #9e1414
   ============================================ */

:root {
  --brand-primary: #9e1414;
  --brand-primary-dark: #7f1010;
  --brand-soft-bg: #fff5f5;
  --brand-text-dark: #2c3e50;
}

/* --------------------------------------------
   GENERAL FIXES / OVERRIDES
--------------------------------------------- */

a.coa-button[href=""] { display: none !important; }
.needsclick.kl-teaser-WnKT3K.undefined.kl-private-reset-css-Xuajs1 { z-index: 1 !important; }

.is-provider-spotify { height:152px; }
.is-provider-spotify iframe { height:152px !important; }

.custom-accordion .elementor-accordion-item .elementor-tab-title {
  position: relative;
}

/* --------------------------------------------
   AFFILIATE / LEGAL CONTENT BLOCK (.aff)
--------------------------------------------- */

.aff h1 {
  font-size: 28px;
  color: var(--brand-text-dark);
  margin-bottom: 10px;
  border-bottom: 3px solid var(--brand-primary);
  padding-bottom: 10px;
}

.aff h2 {
  font-size: 22px;
  color: var(--brand-text-dark);
  margin-top: 35px;
  margin-bottom: 15px;
  border-bottom: 2px solid var(--brand-primary);
  padding-bottom: 8px;
}

.aff h3 {
  font-size: 18px;
  color: var(--brand-text-dark);
  margin-top: 25px;
  margin-bottom: 12px;
}

.aff p { margin-bottom: 15px; }

.aff ul, .aff ol {
  margin-bottom: 20px;
  padding-left: 40px;
}

.aff li { margin-bottom: 10px; }

.aff .section-number {
  font-weight: 600;
  color: var(--brand-primary);
}

.aff .important {
  background-color: var(--brand-soft-bg);
  border-left: 4px solid var(--brand-primary);
  padding: 15px 20px;
  margin: 20px 0;
}

.aff .signature-section {
  margin-top: 50px;
  border-top: 2px solid var(--brand-primary);
  padding-top: 30px;
}

.aff strong {
  font-weight: 600;
  color: var(--brand-text-dark);
}

/* --------------------------------------------
   BACK IN STOCK / PRODUCT PANELS
--------------------------------------------- */

.cwginstock-subscribe-form .panel-primary {
  border-color: var(--brand-primary) !important;
}

.cwginstock-subscribe-form .panel-primary > .panel-heading {
  color: #fff;
  background-color: #f3f1ed !important;
  border-color: #f3f1ed !important;
}

.single-product .cwginstock-panel-heading h4 {
  color: #000 !important;
}

/* ============================================
   BLOG / ARTICLE SYSTEM (Scoped)
   Prefix retained to avoid conflicts
============================================= */

.hh-blog-article {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
  line-height: 1.7;
  color: #333;
}

/* HEADINGS */

.hh-blog-title {
  font-size: 32px;
  color: var(--brand-text-dark);
  margin-bottom: 10px;
  font-weight: 700;
}

.hh-blog-heading-2 {
  font-size: 26px;
  color: var(--brand-text-dark);
  margin-top: 40px;
  margin-bottom: 15px;
  border-bottom: 2px solid var(--brand-primary);
  padding-bottom: 10px;
  font-weight: 600;
}

.hh-blog-heading-3 {
  font-size: 20px;
  color: var(--brand-text-dark);
  margin-top: 25px;
  margin-bottom: 12px;
  font-weight: 600;
}

/* --------------------------------------------
   CALLOUTS / BOXES
--------------------------------------------- */

.hh-blog-author-box,
.hh-blog-checklist,
.hh-blog-callout {
  background-color: var(--brand-soft-bg);
  border-left: 4px solid var(--brand-primary);
  padding: 20px;
  margin: 30px 0;
}

.hh-blog-callout-warning {
  background-color: #ffebee;
  border-left-color: var(--brand-primary);
}

/* --------------------------------------------
   TABLES
--------------------------------------------- */

.hh-blog-table thead {
  background-color: var(--brand-primary);
  color: white;
}

.hh-blog-table tbody tr:hover {
  background-color: var(--brand-soft-bg);
}

/* --------------------------------------------
   LINKS / CTA
--------------------------------------------- */

.hh-blog-link,
.hh-blog-toc-link,
nav a,
a {
  color: var(--brand-primary);
}

.hh-blog-link:hover,
.hh-blog-toc-link:hover,
nav a:hover {
  color: var(--brand-primary-dark);
  text-decoration: underline;
}

.hh-blog-cta-link {
  background-color: var(--brand-primary);
  color: white;
  padding: 12px 24px;
  font-weight: 600;
}

.hh-blog-cta-link:hover {
  background-color: var(--brand-primary-dark);
}

/* --------------------------------------------
   MOBILE
--------------------------------------------- */

@media screen and (max-width: 768px) {
  .hh-blog-title { font-size: 26px; }
  .hh-blog-heading-2 { font-size: 22px; }
  .hh-blog-heading-3 { font-size: 18px; }

  .hh-blog-table td:before {
    color: var(--brand-primary);
  }
}