/*
Theme Name: Happy Holidays USA Pro
Theme URI: https://happyholidaysusa.com
Author: Happy Holidays USA
Description: Full-width editable WordPress theme for Happy Holidays USA. Includes editable Gutenberg homepage setup, responsive mobile menu, logo support, ad slots, holiday utility cards, archives, pages and posts.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: happyholidaysusa-pro
*/

:root{
  --hh-navy:#08275a;
  --hh-navy-2:#061b40;
  --hh-blue:#155bb5;
  --hh-red:#d80d18;
  --hh-red-2:#ef233c;
  --hh-green:#0f8f4b;
  --hh-purple:#7545b8;
  --hh-gold:#f7b500;
  --hh-text:#14213d;
  --hh-muted:#5d6b82;
  --hh-border:#dce5f2;
  --hh-bg:#f7faff;
  --hh-white:#fff;
  --hh-shadow:0 18px 45px rgba(8,39,90,.12);
  --hh-radius:18px;
  --hh-font:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --hh-serif:Georgia,"Times New Roman",serif;
}

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--hh-text);font-family:var(--hh-font);line-height:1.6;overflow-x:hidden}a{color:var(--hh-navy);text-decoration:none}a:hover{color:var(--hh-red)}img{max-width:100%;height:auto;display:block}.screen-reader-text{position:absolute;left:-9999px}.alignwide,.alignfull{max-width:100%!important}.wp-site-blocks,.site{width:100%;max-width:none;margin:0}.container,.hh-container{width:100%;max-width:none;margin:0 auto;padding-left:clamp(18px,3vw,64px);padding-right:clamp(18px,3vw,64px)}

.site-header{width:100%;background:#fff;border-bottom:1px solid var(--hh-border);position:sticky;top:0;z-index:1000}.header-inner{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px;padding:10px clamp(18px,3vw,64px)}.site-branding{display:flex;align-items:center;min-width:220px}.site-branding a{display:flex;align-items:center}.custom-logo,.site-logo-img{width:200px!important;max-width:200px!important;height:auto!important}.site-title,.site-description{display:none!important}.main-navigation{display:flex;align-items:center;gap:18px}.main-navigation ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:8px}.main-navigation li{position:relative}.main-navigation a{display:block;padding:12px 12px;border-radius:10px;font-weight:750;font-size:15px;color:#11264a}.main-navigation a:hover{background:#f2f6ff;color:var(--hh-red)}.menu-item-has-children>a:after{content:'⌄';font-size:12px;margin-left:4px}.main-navigation .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;background:#fff;border:1px solid var(--hh-border);box-shadow:var(--hh-shadow);border-radius:14px;padding:8px;z-index:999}.main-navigation li:hover>.sub-menu,.main-navigation li:focus-within>.sub-menu{display:block}.main-navigation .sub-menu a{padding:10px 12px;white-space:nowrap}.header-actions{display:flex;align-items:center;gap:14px}.shop-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--hh-red);color:#fff!important;border-radius:12px;padding:13px 24px;font-weight:850;box-shadow:0 14px 30px rgba(216,13,24,.22)}.shop-button:hover{background:#b9000c;color:#fff!important}.search-toggle{font-size:22px;color:var(--hh-navy);line-height:1}.mobile-menu-toggle{display:none;appearance:none;background:#fff;border:1px solid var(--hh-border);border-radius:12px;padding:10px 12px;font-weight:850;color:var(--hh-navy)}

.ad-slot{width:100%;min-height:80px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:#64748b;display:flex;align-items:center;justify-content:center;text-align:center;font-size:14px;margin:20px 0}.ad-slot:empty:before{content:'Ad slot'}

.site-main{width:100%;max-width:none}.entry-content{width:100%;max-width:none}.entry-content>.wp-block-group,.entry-content>.wp-block-cover{width:100%;max-width:none}.entry-content p,.entry-content li{font-size:17px}.entry-header{padding:48px clamp(18px,4vw,72px) 24px}.entry-title{font-size:clamp(36px,5vw,68px);line-height:.95;color:var(--hh-navy);font-family:var(--hh-serif);margin:0 0 18px}.page-content-default{padding:0 clamp(18px,4vw,72px) 64px;max-width:1100px}

.hh-hero{width:100%;display:grid;grid-template-columns:minmax(320px,.95fr) minmax(360px,1.05fr);gap:clamp(28px,5vw,80px);align-items:center;padding:clamp(48px,7vw,96px) clamp(18px,4vw,72px) 34px;background:linear-gradient(90deg,#fff 0%,#fff 56%,#f3f7ff 56%,#f3f7ff 100%)}.hh-hero h1{font-family:var(--hh-serif);font-size:clamp(52px,6vw,92px);line-height:.92;margin:0 0 18px;color:var(--hh-navy);letter-spacing:-.04em}.hh-hero h1 .red{color:var(--hh-red)}.hh-hero p{font-size:clamp(18px,1.5vw,22px);line-height:1.45;color:#344762;margin:0 0 28px;max-width:680px}.hh-search{display:flex;max-width:650px;margin:0 0 24px;border:1px solid var(--hh-border);border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 10px 24px rgba(8,39,90,.06)}.hh-search input{flex:1;border:0;padding:17px 20px;font-size:16px;outline:none}.hh-search button{border:0;background:var(--hh-red);color:#fff;padding:0 30px;font-weight:850}.trust-row{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:18px;max-width:730px}.trust-item{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.2;color:#243b5a}.trust-item b{display:block;color:#122747}.trust-icon{font-size:24px}.hh-hero-visual{min-height:360px;border-radius:0 0 0 46px;background:linear-gradient(90deg,rgba(8,39,90,.15),rgba(255,255,255,.15)),url('assets/images/hero-holiday-scene.svg');background-size:cover;background-position:center;position:relative;box-shadow:var(--hh-shadow);overflow:hidden}.quote-card{position:absolute;right:8%;top:18%;background:rgba(255,255,255,.94);border-radius:18px;padding:34px 32px;text-align:center;box-shadow:0 20px 44px rgba(8,39,90,.16);font-family:var(--hh-serif);font-size:28px;line-height:1.25;color:#0f1d36}.quote-card em{font-size:34px}.quote-card span{display:block;color:var(--hh-red);font-size:28px;margin-top:14px}.star-deco{position:absolute;left:7%;bottom:20%;font-size:54px;color:var(--hh-gold)}

.section{width:100%;padding:34px clamp(18px,4vw,72px)}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.section h2{font-family:var(--hh-serif);font-size:clamp(30px,3.5vw,48px);line-height:1.05;margin:0;color:#0a214a}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.utility-card,.holiday-card,.feature-card,.caption-card,.state-card{background:#fff;border:1px solid var(--hh-border);border-radius:var(--hh-radius);box-shadow:0 10px 28px rgba(8,39,90,.08);padding:26px;min-height:190px}.utility-card .circle{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:26px;margin-bottom:16px}.circle.red{background:var(--hh-red)}.circle.blue{background:var(--hh-blue)}.circle.green{background:var(--hh-green)}.circle.purple{background:var(--hh-purple)}.utility-card h3{margin:0 0 6px;font-size:22px;line-height:1.2;color:#071d45}.utility-card p{margin:0 0 14px;color:#52647c}.card-button{display:inline-flex;border:1px solid #b8c8e0;border-radius:9px;padding:9px 15px;font-weight:850;color:var(--hh-navy);background:#fff}.card-button:hover{border-color:var(--hh-red);color:var(--hh-red)}

.holiday-strip{display:grid;grid-template-columns:repeat(6,minmax(160px,1fr));gap:16px}.holiday-tile{min-height:96px;border-radius:12px;color:#fff;padding:18px;display:flex;align-items:center;gap:12px;background-size:cover;background-position:center;box-shadow:0 10px 24px rgba(8,39,90,.14);position:relative;overflow:hidden}.holiday-tile:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,21,53,.65),rgba(4,21,53,.15))}.holiday-tile>*{position:relative}.holiday-tile strong{display:block;font-size:17px}.holiday-tile small{font-weight:650}.tile-christmas{background-image:url('assets/images/tile-christmas.svg')}.tile-thanksgiving{background-image:url('assets/images/tile-thanksgiving.svg')}.tile-halloween{background-image:url('assets/images/tile-halloween.svg')}.tile-july{background-image:url('assets/images/tile-july.svg')}.tile-memorial{background-image:url('assets/images/tile-memorial.svg')}.tile-labor{background-image:url('assets/images/tile-labor.svg')}

.two-col-grid{display:grid;grid-template-columns:1fr 1fr 1.05fr;gap:18px}.feature-card{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}.feature-card h3,.caption-card h3{margin:0 0 8px;color:var(--hh-navy);font-size:22px}.feature-card p,.caption-card p{margin:0 0 16px;color:#4a5e78}.printables-img{height:145px;background:url('assets/images/printables-pack.svg') center/contain no-repeat}.caption-bubbles{min-height:130px;position:relative;background:#f7f3ff;border-radius:14px}.bubble{position:absolute;background:#fff;border:1px solid #e6dcff;border-radius:12px;padding:10px 12px;box-shadow:0 8px 20px rgba(8,39,90,.08);font-size:13px}.bubble.one{left:16px;top:16px}.bubble.two{right:18px;bottom:18px}.countdown-card{background:linear-gradient(90deg,#fff,#fff5f5);border:1px solid var(--hh-border);border-radius:var(--hh-radius);padding:26px;box-shadow:0 10px 28px rgba(8,39,90,.08)}.countdown-card h3{color:var(--hh-red);margin:0 0 4px}.countdown-boxes{display:flex;gap:12px;margin-top:16px}.count-box{background:#fff;border:1px solid var(--hh-border);border-radius:12px;padding:14px 16px;text-align:center;min-width:72px;box-shadow:0 8px 18px rgba(8,39,90,.08)}.count-box b{display:block;font-family:var(--hh-serif);font-size:32px;color:var(--hh-red);line-height:1}.count-box small{font-weight:800;color:#2d3b50}.newsletter{display:grid;grid-template-columns:auto 1fr minmax(320px,520px);gap:26px;align-items:center;background:linear-gradient(90deg,var(--hh-navy),#073982);color:#fff;border-radius:12px;padding:22px clamp(20px,3vw,44px);margin:22px 0}.newsletter h2{font-size:28px;margin:0;color:#fff;font-family:var(--hh-font)}.newsletter p{margin:4px 0 0;color:#dceaff}.newsletter form{display:flex;border-radius:8px;overflow:hidden;background:#fff}.newsletter input{flex:1;border:0;padding:14px 16px}.newsletter button{border:0;background:var(--hh-red);color:#fff;padding:0 24px;font-weight:850}.stars{font-size:42px;color:var(--hh-gold)}

.site-footer{width:100%;background:linear-gradient(90deg,var(--hh-navy-2),#083b82);color:#fff;margin-top:0}.footer-inner{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:34px;padding:34px clamp(18px,4vw,72px)}.footer-logo img{width:220px;height:auto}.site-footer h3{font-size:16px;margin:0 0 10px;color:#fff}.site-footer p,.site-footer a{color:#d8e8ff;font-size:15px}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin:6px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding:16px clamp(18px,4vw,72px);font-size:14px;color:#cbd9ef}.socials{display:flex;gap:12px;margin-top:10px}.socials a{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--hh-navy);display:flex;align-items:center;justify-content:center;font-weight:900}

.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:38px;padding:32px clamp(18px,4vw,72px) 64px}.post-card{border:1px solid var(--hh-border);border-radius:16px;padding:24px;background:#fff;box-shadow:0 10px 24px rgba(8,39,90,.06);margin-bottom:20px}.post-card h2{margin:0 0 8px}.sidebar{position:relative}.widget{border:1px solid var(--hh-border);border-radius:16px;padding:20px;background:#fff;margin-bottom:20px}.wp-block-table table{width:100%;border-collapse:collapse}.wp-block-table th,.wp-block-table td{border:1px solid var(--hh-border);padding:12px;text-align:left}.wp-block-button__link{border-radius:10px;background:var(--hh-red);font-weight:850}.wp-block-button.is-style-outline .wp-block-button__link{background:#fff;color:var(--hh-navy);border:1px solid #b8c8e0}

@media(max-width:1100px){.hh-hero{grid-template-columns:1fr}.hh-hero-visual{min-height:320px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.holiday-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.two-col-grid{grid-template-columns:1fr}.content-layout{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr 1fr}.main-navigation a{padding:10px 8px;font-size:14px}.shop-button{padding:12px 16px}}

@media(max-width:860px){.header-inner{min-height:68px;gap:12px}.custom-logo,.site-logo-img{width:200px!important;max-width:200px!important}.mobile-menu-toggle{display:inline-flex;align-items:center;gap:8px}.main-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--hh-border);box-shadow:0 20px 40px rgba(8,39,90,.12);padding:14px 18px;z-index:999}.main-navigation.is-open{display:block}.main-navigation ul{display:block}.main-navigation li{border-bottom:1px solid #eef2f7}.main-navigation li:last-child{border-bottom:0}.main-navigation a{padding:14px 8px;font-size:16px}.main-navigation .sub-menu{position:static;display:block;box-shadow:none;border:0;padding:0 0 0 16px;background:#f8fafc;border-radius:10px;margin-bottom:10px}.header-actions .shop-button{display:none}.search-toggle{display:none}.hh-hero{padding-top:36px;background:#fff}.hh-hero h1{font-size:clamp(44px,12vw,66px)}.hh-search{flex-direction:column}.hh-search input{width:100%}.hh-search button{padding:14px 20px}.trust-row{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:1fr}.holiday-strip{grid-template-columns:1fr 1fr}.feature-card{grid-template-columns:1fr}.newsletter{grid-template-columns:1fr;text-align:center}.newsletter form{flex-direction:column}.newsletter button{padding:14px}.footer-inner{grid-template-columns:1fr}.content-layout{padding-left:18px;padding-right:18px}}

@media(max-width:520px){.container,.hh-container,.section{padding-left:16px;padding-right:16px}.site-branding{min-width:0}.custom-logo,.site-logo-img{width:180px!important;max-width:180px!important}.header-inner{padding-left:14px;padding-right:14px}.mobile-menu-toggle span{display:none}.hh-hero{padding-left:16px;padding-right:16px}.quote-card{right:18px;left:18px;top:30px;font-size:22px;padding:24px}.quote-card em{font-size:26px}.star-deco{bottom:20px}.holiday-strip{grid-template-columns:1fr}.countdown-boxes{display:grid;grid-template-columns:repeat(2,1fr)}.entry-title{font-size:40px}.entry-header{padding-left:16px;padding-right:16px}.page-content-default{padding-left:16px;padding-right:16px}}
