/*
Theme Name: HealthDentl
Theme URI: https://healthdentl.com
Author: Bob Bevilacqua
Author URI: https://healthdentl.com
Description: Clean, science-forward, conversion-focused DTC theme for HealthDentl tooth desensitizer products, styled after modern direct-response supplement brands: crisp white/cream background, checkmark-driven copy, guarantee seals, sticky header, bold rounded CTAs. Built for Elementor page building.
Version: 1.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: healthdentl
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root{
  --hd-teal-dark:#0B3D66;
  --hd-teal:#1668A8;
  --hd-teal-soft:#E9F2FA;
  --hd-mint-bg:#F5FAFE;
  --hd-orange:#FF6B35;
  --hd-orange-dark:#E4551F;
  --hd-white:#FFFFFF;
  --hd-cream:#FDFBF7;
  --hd-text-dark:#0F2A42;
  --hd-text-muted:#51708A;
  --hd-border:#D7E6F2;
  --hd-gold:#F2A93B;
  --hd-font-head:'Poppins', sans-serif;
  --hd-font-body:'Inter', sans-serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
  font-family:var(--hd-font-body);
  color:var(--hd-text-dark);
  background:var(--hd-cream);
  margin:0;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,h5,h6{
  font-family:var(--hd-font-head);
  color:var(--hd-teal-dark);
  font-weight:700;
  line-height:1.25;
  margin-top:0;
}

p{ line-height:1.65; color:var(--hd-text-muted); }
a{ color:var(--hd-teal); }
img{ max-width:100%; height:auto; display:block; }

/* ---------- Buttons ---------- */
.button,
a.button,
button:not(.elementor-button),
input[type="submit"]{
  display:inline-block;
  background:var(--hd-orange);
  color:#fff !important;
  border:none;
  border-radius:50px;
  padding:16px 34px;
  font-family:var(--hd-font-head);
  font-weight:700;
  font-size:15px;
  letter-spacing:.3px;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(255,107,53,.30);
  transition:background .2s ease, transform .15s ease, box-shadow .2s ease;
}
.button:hover,
a.button:hover,
button:not(.elementor-button):hover,
input[type="submit"]:hover{
  background:var(--hd-orange-dark);
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(228,85,31,.38);
}

/* ---------- Sticky header ---------- */
.hd-site-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 48px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--hd-border);
  position:sticky;
  top:0;
  z-index:999;
}
.hd-site-header .hd-logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--hd-font-head);
  font-weight:800;
  font-size:21px;
  color:var(--hd-teal-dark);
  text-decoration:none;
}
.hd-site-header .hd-logo img{ height:38px; width:auto; }
.hd-site-header nav{ display:flex; align-items:center; }
.hd-site-header nav a{
  margin-left:28px;
  color:var(--hd-text-dark);
  text-decoration:none;
  font-weight:600;
  font-size:14.5px;
}
.hd-site-header nav a:hover{ color:var(--hd-teal); }
.hd-site-header .hd-cta{
  margin-left:28px;
  background:var(--hd-orange);
  color:#fff !important;
  padding:11px 24px;
  border-radius:50px;
  font-size:14px;
  font-weight:700;
  box-shadow:0 6px 16px rgba(255,107,53,.28);
}

/* ---------- Trust / guarantee badge row ---------- */
.hd-badge-row{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:34px;
  padding:20px 0;
}
.hd-badge{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:600;
  font-size:14px;
  color:var(--hd-teal-dark);
}
.hd-badge i{ color:var(--hd-teal); font-size:20px; }

/* ---------- Guarantee seal ---------- */
.hd-guarantee-seal{
  width:120px;
  height:120px;
  border-radius:50%;
  background:var(--hd-teal-soft);
  border:2px dashed var(--hd-teal);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-family:var(--hd-font-head);
  font-weight:700;
  font-size:13px;
  color:var(--hd-teal-dark);
  margin:0 auto;
  padding:10px;
}

/* ---------- Star rating ---------- */
.hd-stars{ color:var(--hd-gold); font-size:16px; letter-spacing:2px; }

/* ---------- Testimonial / review card ---------- */
.hd-review-card{
  background:#fff;
  border:1px solid var(--hd-border);
  border-radius:16px;
  padding:26px 24px;
  box-shadow:0 10px 30px rgba(14,59,54,0.06);
}
.hd-review-card p{ font-size:15px; color:var(--hd-text-dark); }
.hd-review-card .hd-review-name{
  font-weight:700;
  color:var(--hd-teal-dark);
  font-size:13.5px;
  margin-top:10px;
}

/* ---------- Icon box hover polish ---------- */
.elementor-icon-box-wrapper{ transition:transform .2s ease; }
.elementor-widget-icon-box:hover .elementor-icon-box-wrapper{ transform:translateY(-4px); }

/* ---------- Accordion / FAQ polish ---------- */
.elementor-accordion-item{
  margin-bottom:12px;
  border-radius:10px !important;
  overflow:hidden;
}

/* ---------- Section helpers ---------- */
.hd-section{ padding:80px 20px; }
.hd-section-soft{ background:var(--hd-mint-bg); }
.hd-section-dark{ background:var(--hd-teal-dark); color:#fff; }

/* ---------- Footer ---------- */
.hd-site-footer{
  background:var(--hd-teal-dark);
  color:#FFFFFF;
  padding:50px 40px 30px;
  text-align:center;
  font-size:13.5px;
}
.hd-site-footer a{ color:#fff; }
.hd-site-footer p{ color:#FFFFFF; }
.hd-site-footer .hd-footer-badges{
  display:flex;
  justify-content:center;
  gap:24px;
  margin-bottom:20px;
  flex-wrap:wrap;
  font-weight:600;
  color:#fff;
}

@media (max-width:767px){
  .hd-site-header{ padding:14px 18px; }
  .hd-site-header nav{ display:none; }
  .hd-badge-row{ gap:18px; }
  .hd-section{ padding:50px 16px; }
}
