/*
Theme Name: Holiday Expert (Astra Child)
Template: astra
Version: 2.0.0 Coastal
*/
:root{
  --he-bg:#FBF8F3; --he-surface:#FFFFFF;
  --he-teal:#0E7C86; --he-teal-dark:#0B5B63; --he-teal-tint:#E0F0EE;
  --he-coral:#FF6B4A; --he-coral-dark:#E0542F;
  --he-text:#143642; --he-sand:#EFE7D6;
}
body{ background:var(--he-bg); color:var(--he-text); }

/* HEADER / MENU - light */
#masthead, .ast-primary-header-bar, .main-header-bar, .site-primary-header-wrap,
.ast-main-header-wrap, .main-header-bar-wrap,
.site-header-primary-section-left, .site-header-primary-section-center,
.site-header-primary-section-right{ background:#FFFFFF !important; }
.main-header-bar{ border-bottom:1px solid var(--he-sand) !important; box-shadow:0 1px 6px rgba(20,54,66,.05); }
#masthead .main-header-menu a, #masthead .ast-nav-menu > li > a, #masthead .menu-link{ color:var(--he-text) !important; }
#masthead .main-header-menu a:hover, #masthead .ast-nav-menu > li > a:hover, .current-menu-item > a{ color:var(--he-coral) !important; }
#masthead .sub-menu{ background:#FFFFFF !important; border:1px solid var(--he-sand) !important; }
#masthead .sub-menu a{ color:var(--he-text) !important; }
#masthead .sub-menu a:hover{ background:var(--he-teal-tint) !important; color:var(--he-teal-dark) !important; }

/* HERO */
.he-hero{ background:var(--he-teal-tint) !important; color:var(--he-text) !important; padding:64px 20px !important; text-align:center; }
.he-hero h1{ color:var(--he-text) !important; font-size:2.6rem; line-height:1.15; margin:0 0 12px; }
.he-hero-sub, .he-hero p, .he-hero .he-hero-sub{ color:#3A6168 !important; font-size:1.05rem; }

/* SEARCH */
.he-search-box{ max-width:640px; margin:18px auto 0; display:flex; background:#fff; border:1px solid #cfe3e0; border-radius:12px; overflow:hidden; box-shadow:0 6px 18px rgba(20,54,66,.08); }
.he-search-input{ flex:1; border:0; padding:14px 16px; font-size:1rem; outline:none; color:var(--he-text); }
.he-search-btn{ background:var(--he-coral) !important; color:#fff !important; border:0; padding:0 28px; font-weight:500; cursor:pointer; }
.he-search-btn:hover{ background:var(--he-coral-dark) !important; }
.he-popular, .he-popular a{ color:var(--he-teal) !important; }
.he-popular a:hover{ color:var(--he-coral) !important; }

/* CATEGORY CARDS */
.he-categories-section{ padding:48px 20px; max-width:1100px; margin:0 auto; }
.he-categories-section h2{ text-align:center; color:var(--he-text); font-size:1.8rem; margin:0 0 28px; }
.he-cat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.he-cat-card{ position:relative; display:block; border-radius:14px; overflow:hidden; aspect-ratio:4/3; box-shadow:0 6px 18px rgba(20,54,66,.08); border:1px solid var(--he-sand); }
.he-cat-card img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.he-cat-card:hover img{ transform:scale(1.06); }
.he-cat-overlay{ position:absolute; inset:0; display:flex; align-items:flex-end; padding:16px; background:linear-gradient(to top, rgba(11,91,99,.78), rgba(11,91,99,0) 60%); color:#fff; font-weight:500; font-size:1.15rem; }

/* TRUST */
.he-trust-section{ background:#FFFFFF; padding:40px 20px; border-top:1px solid var(--he-sand); }
.he-trust-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; max-width:1000px; margin:0 auto; }
.he-trust-item{ text-align:center; color:var(--he-text); }
.he-trust-icon{ color:var(--he-teal); font-size:2rem; }

/* NEWSLETTER */
.he-newsletter{ background:var(--he-teal); color:#fff; padding:48px 20px; text-align:center; }
.he-newsletter h2, .he-newsletter p{ color:#fff !important; }
.he-nl-input{ padding:12px 14px; border:0; border-radius:10px 0 0 10px; min-width:240px; }
.he-nl-btn{ background:var(--he-coral); color:#fff; border:0; padding:12px 22px; border-radius:0 10px 10px 0; font-weight:500; cursor:pointer; }
.he-nl-btn:hover{ background:var(--he-coral-dark); }

/* RESPONSIVE */
@media (max-width:880px){ .he-cat-grid{ grid-template-columns:repeat(2,1fr);} .he-trust-grid{ grid-template-columns:repeat(2,1fr);} .he-hero h1{ font-size:2rem;} }
@media (max-width:560px){ .he-cat-grid{ grid-template-columns:1fr;} }

/* === Compact single-row primary menu === */
@media (min-width:922px){
.ast-nav-menu .menu-link,.main-header-menu .menu-link{font-size:15px !important;padding-left:11px !important;padding-right:11px !important;letter-spacing:0 !important;}
.ast-nav-menu > .menu-item{margin:0 !important;}
}
