
/* Modern Overrides (external) */
:root{
  --brand:#2f5d62; /* lakeside teal */
  --ink:#0e1113;
  --ink-2:#2b2f31;
  --paper:#ffffff;
  --muted:#6b7177;
  --soft:#f4f7f9;
  --radius:18px;
  --shadow-sm:0 6px 18px rgba(14,17,19,.08);
  --shadow-md:0 10px 30px rgba(14,17,19,.14);
}

html,body{ scroll-behavior:smooth; }
body{
  background: radial-gradient(1200px 800px at 20% -10%, #f8fbff 0%, #f5f7fa 50%, #f2f4f6 100%);
  color: var(--ink-2);
  font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
}

/* Header + Nav */
#thhf-masthead-sticky{ backdrop-filter:saturate(140%) blur(6px); box-shadow: var(--shadow-sm); }
.hfe-nav-menu a.hfe-menu-item{ position:relative; padding:12px 16px; border-radius:12px; }
.hfe-nav-menu a.hfe-menu-item:hover{ background: #e9f3f4; color:#0b3b3f; }
.hfe-nav-menu .hfe-menu-item:after{
  content:''; position:absolute; left:16px; right:16px; bottom:8px; height:2px;
  background: var(--brand); transform:scaleX(0); transform-origin:left; transition:transform .35s ease;
}
.hfe-nav-menu a.hfe-menu-item:hover:after{ transform:scaleX(1); }

/* Buttons / CTAs */
a.btn, .btn, .button, .button.alt, .wp-block-button__link, .searchsubmit{
  border-radius: 12px !important;
  box-shadow: var(--shadow-sm);
  transition: transform .12s ease, box-shadow .18s ease, background .22s ease, color .22s ease, border-color .22s ease;
  background: var(--brand); color:#fff; border:1px solid transparent;
}
a.btn:hover, .btn:hover, .button:hover, .button.alt:hover, .wp-block-button__link:hover, .searchsubmit:hover{
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
  filter: saturate(1.05);
}

/* Cards / Sections */
.elementor-section{ padding-top:30px; padding-bottom:30px; }
.elementor-container{ gap:18px; }
.elementor-widget-container, .product-wrapper, .blog-post, .widget-area .widget{
  border-radius: var(--radius);
  background: var(--paper);
  box-shadow: var(--shadow-sm);
}
.elementor-widget-container:hover{ box-shadow: var(--shadow-md); }

/* Hero / Banner */
[class*="hero"], .wd-banner, .rev_slider, .wp-block-cover, .wp-block-image img{
  border-radius: var(--radius);
  overflow: clip;
}
img{ image-rendering: -webkit-optimize-contrast; border-radius: 12px; }
.site-logo img{ border-radius:0; }

/* Forms & inputs */
input[type="text"], input[type="email"], input[type="tel"], input[type="search"], select, textarea{
  border-radius: 12px;
  border:1px solid #e2e8ee;
  background:#fff;
  transition: box-shadow .2s ease, border-color .2s ease;
}
input:focus, select:focus, textarea:focus{
  outline: none;
  border-color:#cfe3e5;
  box-shadow: 0 0 0 4px rgba(47,93,98,.10);
}

/* Footer */
footer, .wd-footer{ background:#0f1214; color:#cfd6dc; }
footer a{ color:#fff; }

/* Utilities */
.rounded-xl{ border-radius: var(--radius) !important; }
.shadow-soft{ box-shadow: var(--shadow-sm) !important; }
.bg-soft{ background: var(--soft) !important; }

/* Mobile tweaks */
@media (max-width: 768px){
  .elementor-section{ padding-top:24px; padding-bottom:24px; }
  .hfe-nav-menu a.hfe-menu-item{ padding:10px 12px; }
}
