/* =====================================================
   damcuoi.store — Homepage + Calculator styles
   ===================================================== */

/* ===== Shared container ===== */
.dchd-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1.25rem;
}

.section-title {
  font-family: 'Lora', serif;
  font-size: 1.6rem;
  color: var(--primary, #5A4235);
  margin-bottom: .5rem;
}
.section-desc { color: #666; margin-bottom: 1.5rem; }
.section-more { margin-top: 1.5rem; text-align: center; }

/* ===== Section spacing ===== */
.dchd-hero,
.dchd-intent-nav,
.dchd-top-products,
.dchd-categories,
.dchd-compare-preview,
.dchd-faq,
.dchd-about-teaser {
  padding: 3rem 0;
}
.dchd-hero { background: var(--bg, #FAF6EF); }
.dchd-intent-nav { background: #fff; }
.dchd-top-products { background: var(--bg, #FAF6EF); }
.dchd-categories { background: #fff; }
.dchd-compare-preview { background: var(--bg, #FAF6EF); }
.dchd-faq { background: #fff; }
.dchd-about-teaser { background: var(--primary, #5A4235); color: #fff; }
.dchd-about-teaser .section-title,
.dchd-about-teaser h2 { color: #fff; }

/* ===== Hero ===== */
.hero-eyebrow { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--accent, #B8956A); margin-bottom: .5rem; }
.hero-h1 { font-family: 'Lora', serif; font-size: 2rem; line-height: 1.3; color: var(--primary, #5A4235); margin-bottom: 1rem; }
.hero-h1 strong { color: var(--accent, #B8956A); }
.hero-desc { font-size: 1rem; color: #555; margin-bottom: 1.5rem; max-width: 600px; }
.hero-ctas { display: flex; gap: .75rem; flex-wrap: wrap; }
.hero-cta-secondary { background: transparent; border: 2px solid var(--primary, #5A4235); color: var(--primary, #5A4235); }
.hero-cta-secondary:hover { background: var(--primary, #5A4235); color: #fff; }

/* ===== Intent nav ===== */
.intent-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.intent-card { display: block; padding: 1.5rem; border: 1.5px solid #e8e0d8; border-radius: 10px; text-decoration: none; transition: box-shadow .2s, border-color .2s; }
.intent-card:hover { border-color: var(--accent, #B8956A); box-shadow: 0 4px 14px rgba(90,66,53,.1); }
.intent-icon { font-size: 1.8rem; display: block; margin-bottom: .5rem; }
.intent-card h3 { font-family: 'Lora', serif; font-size: 1rem; color: var(--primary, #5A4235); margin-bottom: .35rem; }
.intent-card p { font-size: .88rem; color: #666; margin: 0; }

/* ===== Product cards grid ===== */
.product-cards-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; }

/* ===== Categories tabs ===== */
.cat-tabs { display: flex; gap: .5rem; border-bottom: 2px solid #e8e0d8; margin-bottom: 1.5rem; }
.cat-tab { background: none; border: none; padding: .6rem 1rem; font-size: .95rem; cursor: pointer; color: #888; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: color .2s; }
.cat-tab.is-active, .cat-tab:hover { color: var(--primary, #5A4235); border-bottom-color: var(--primary, #5A4235); }
.cat-panel { display: none; }
.cat-panel.is-active { display: block; }
.cat-links { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .5rem; }
.cat-links li a { display: block; padding: .5rem .75rem; border-radius: 6px; color: var(--primary, #5A4235); text-decoration: none; font-size: .92rem; }
.cat-links li a:hover { background: var(--bg, #FAF6EF); text-decoration: underline; }

/* ===== Compare table ===== */
.compare-table-wrap { overflow-x: auto; margin-bottom: 1rem; }
.compare-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.compare-table th, .compare-table td { padding: .65rem .9rem; text-align: left; border-bottom: 1px solid #e8e0d8; }
.compare-table th { background: var(--bg, #FAF6EF); color: var(--primary, #5A4235); font-weight: 600; }
.compare-table tr:hover td { background: #faf6f0; }
.btn-sm { padding: .3rem .7rem; font-size: .8rem; }

/* ===== FAQ accordion ===== */
.faq-accordion { display: flex; flex-direction: column; gap: .5rem; }
.faq-item { border: 1px solid #e8e0d8; border-radius: 8px; overflow: hidden; }
.faq-q { width: 100%; text-align: left; background: none; border: none; padding: 1rem 1.25rem; font-family: 'Lora', serif; font-size: .95rem; color: var(--primary, #5A4235); cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.faq-q::after { content: '+'; font-size: 1.2rem; color: var(--accent, #B8956A); flex-shrink: 0; }
.faq-q[aria-expanded="true"]::after { content: '−'; }
.faq-a { padding: .75rem 1.25rem 1rem; background: #faf6f0; font-size: .92rem; color: #444; }
.faq-a p { margin: 0; }
.faq-a a { color: var(--primary, #5A4235); }

/* ===== About teaser ===== */
.about-inner { max-width: 600px; }
.dchd-about-teaser h2 { font-family: 'Lora', serif; font-size: 1.5rem; margin-bottom: .75rem; }
.dchd-about-teaser p { color: rgba(255,255,255,.85); margin-bottom: 1.25rem; }
.about-cta { background: var(--accent, #B8956A); color: #fff; }
.about-cta:hover { background: #9e7b52; }

/* ===== Calculator ===== */
.dchd-calculator-wrap { background: #fff; border-radius: 12px; box-shadow: 0 2px 16px rgba(90,66,53,.08); padding: 2rem; margin: 2rem 0; }
.calc-title { font-family: 'Lora', serif; font-size: 1.4rem; color: var(--primary, #5A4235); margin-bottom: .5rem; }
.calc-desc { color: #666; margin-bottom: 1.5rem; font-size: .92rem; }
.dchd-calc-form { display: grid; gap: 1.25rem; }
.calc-field label { display: block; font-weight: 500; color: var(--text, #2B2520); margin-bottom: .4rem; font-size: .92rem; }
.calc-field select,
.calc-field input[type="range"] { width: 100%; }
.calc-field select { padding: .5rem .75rem; border: 1.5px solid #d9d0c8; border-radius: 6px; background: #fff; font-size: .92rem; color: var(--text, #2B2520); }
.calc-range-wrap { display: flex; align-items: center; gap: 1rem; }
.calc-range-wrap input[type="range"] { flex: 1; accent-color: var(--accent, #B8956A); }
.calc-range-val { font-weight: 600; color: var(--accent, #B8956A); min-width: 60px; text-align: right; }
.calc-range-hints { display: flex; justify-content: space-between; font-size: .75rem; color: #aaa; margin-top: .2rem; }
.calc-checkboxes { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .5rem; }
.calc-checkbox-item { display: flex; align-items: center; gap: .4rem; font-size: .9rem; cursor: pointer; }
.calc-checkbox-item input { accent-color: var(--accent, #B8956A); }
.calc-submit { width: auto; align-self: flex-start; padding: .75rem 2rem; font-size: 1rem; }

/* Calculator output */
.calc-results { display: none; margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid #e8e0d8; }
.calc-results.is-visible { display: block; }
.calc-budget-bar { background: #e8e0d8; border-radius: 4px; height: 8px; margin-bottom: .5rem; }
.calc-budget-fill { background: var(--accent, #B8956A); height: 8px; border-radius: 4px; transition: width .4s; }
.calc-budget-text { font-size: .88rem; color: #666; margin-bottom: 1rem; }
.calc-combo-list h3,
.calc-checklist h3 { font-family: 'Lora', serif; font-size: 1rem; color: var(--primary, #5A4235); margin: 1rem 0 .5rem; }
.calc-combo-list ul,
.calc-checklist ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.calc-combo-item { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .65rem .9rem; background: var(--bg, #FAF6EF); border-radius: 7px; font-size: .9rem; }
.calc-item-type { font-weight: 600; color: var(--primary, #5A4235); }
.calc-item-name { flex: 1; color: #444; }
.calc-item-qty { color: #888; font-size: .82rem; }
.calc-item-total { font-weight: 600; color: var(--accent, #B8956A); }
.calc-item-link { padding: .25rem .65rem; font-size: .8rem; }
.calc-checklist ul li { display: flex; align-items: flex-start; gap: .5rem; font-size: .88rem; color: #555; }
.calc-checklist input[type="checkbox"] { margin-top: 2px; accent-color: var(--accent, #B8956A); }

/* ===== Responsive ===== */
@media (max-width: 600px) {
  .hero-h1 { font-size: 1.5rem; }
  .hero-ctas { flex-direction: column; }
  .intent-cards { grid-template-columns: 1fr; }
  .cat-tabs { overflow-x: auto; }
  .calc-submit { width: 100%; }
}
