/*
Theme Name: Aerocone Plain
Theme URI: https://aerocone.ca/
Author: Aerocone
Description: Clean, lightweight responsive theme for Aerocone travel and tourism.
Version: 1.0.4
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: aerocone-plain
*/
:root{--g:#177a4c;--gd:#105b39;--ink:#17251d;--muted:#647269;--pale:#eef7f1;--line:#dfe8e2;--w:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.7 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}a{color:var(--g);text-decoration:none}a:hover{text-decoration:underline;color:var(--gd)}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}.container{width:min(var(--w),calc(100% - 40px));margin:auto}.button,.wp-block-button__link,button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--g);border-radius:999px;padding:12px 22px;background:var(--g);color:#fff!important;font-weight:750;text-decoration:none;cursor:pointer}.button:hover,button:hover{background:var(--gd);text-decoration:none}.button-outline{background:transparent;color:var(--g)!important}.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:5}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:1.25rem;font-weight:900;line-height:1.15}.brand-name span,.footer-brand span{color:var(--g)}.brand-tagline{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px}.custom-logo{max-height:54px;width:auto}.primary-nav ul{display:flex;gap:22px;align-items:center;list-style:none;margin:0;padding:0}.primary-nav a{color:#26392e;font-size:.93rem;font-weight:650}.menu-toggle{display:none}.hero{padding:78px 0;background:linear-gradient(120deg,#eff8f2,#fff 58%,#e4f3e9);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center}.eyebrow{color:var(--g);font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.12em;margin-bottom:15px}.hero h1{font-size:clamp(2.6rem,5.4vw,4.65rem);line-height:1.04;letter-spacing:-.055em;margin:0 0 22px}.hero h1 em{font-style:normal;color:var(--g)}.hero-copy{font-size:1.1rem;color:#536358;max-width:620px;margin:0 0 28px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-art{min-height:380px;position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(145deg,#cde6d5,#edf7f0 48%,#a8d3b7);box-shadow:0 12px 34px #123a2417}.sun{position:absolute;top:45px;right:70px;width:86px;height:86px;border-radius:50%;background:#f8d98a;box-shadow:0 0 0 18px #ffffff2e}.mountain{position:absolute;bottom:0;left:10px;width:0;height:0;border-left:210px solid transparent;border-right:210px solid transparent;border-bottom:250px solid #7dbd94}.mountain.two{left:145px;border-left-width:180px;border-right-width:180px;border-bottom:210px solid #4c9b6b}.art-card{position:absolute;left:24px;right:24px;bottom:22px;background:#fffffff0;border-radius:15px;padding:16px 19px;display:flex;justify-content:space-between;align-items:center;gap:10px}.art-card strong{display:block}.art-card small{display:block;color:var(--muted)}.art-icon{display:grid;place-items:center;background:var(--pale);color:var(--g);border-radius:13px;width:45px;height:45px;font-size:1.4rem}.trust{border-bottom:1px solid var(--line)}.trust-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:22px 0}.trust-item{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700;color:#425348}.trust-item span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--pale);color:var(--g)}.section{padding:78px 0}.soft{background:#f7faf8}.heading{text-align:center;max-width:740px;margin:0 auto 36px}.heading h2{font-size:clamp(2rem,4vw,3rem);line-height:1.12;letter-spacing:-.045em;margin:0 0 14px}.heading p{color:var(--muted);margin:0}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);border-radius:16px;padding:27px;background:#fff;box-shadow:0 5px 18px #14372309}.card-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:var(--pale);color:var(--g);font-size:1.4rem;margin-bottom:18px}.card h3{margin:0 0 10px;font-size:1.2rem;line-height:1.3}.card p{color:var(--muted);margin:0 0 16px}.text-link{font-weight:800}.destination{min-height:220px;background:linear-gradient(145deg,#f2f8f3,#e4f2e9)}.destination:nth-child(2){background:linear-gradient(145deg,#f6f4eb,#ece7d4)}.destination:nth-child(3){background:linear-gradient(145deg,#eef5fb,#dfeaf5)}.destination .symbol{font-size:2rem;display:block;margin-bottom:24px}.steps{counter-reset:s}.step{padding-top:60px;position:relative}.step:before{counter-increment:s;content:"0" counter(s);position:absolute;top:18px;left:27px;color:var(--g);font-weight:900;font-size:1.5rem}.tour-catalogue-section .atp-wrap{padding:0}.tour-catalogue-section .atp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:22px}.tour-catalogue-section .atp-card{border-radius:16px;overflow:hidden}.cta{padding:52px 0;background:var(--g);color:#fff}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:25px}.cta h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.15;margin:0 0 9px}.cta p{color:#e1f1e7;margin:0}.cta .button{background:#fff;color:var(--g)!important;border-color:#fff;white-space:nowrap}.site-footer{background:#10271b;color:#e7f0e9;padding:52px 0 22px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:30px}.footer-brand{font-size:1.4rem;font-weight:900;color:#fff}.footer-brand span{color:#83d4a5}.site-footer p{color:#b7c9bd;max-width:440px}.site-footer h3{color:#fff;font-size:.95rem}.footer-links{list-style:none;padding:0}.footer-links li{margin:7px 0}.footer-links a,.site-footer a{color:#c8d9ce}.footer-bottom{border-top:1px solid #ffffff21;padding-top:18px;display:flex;justify-content:space-between;gap:14px;color:#b7c9bd;font-size:.85rem}.site-main{min-height:50vh;padding:48px 0 72px}.narrow{max-width:900px;margin:auto}.entry-title{font-size:clamp(2rem,4vw,3.3rem);line-height:1.15;letter-spacing:-.04em;margin:0 0 24px}.entry-content{font-size:1.04rem}.entry-content h2,.entry-content h3{line-height:1.25}.entry-content img{border-radius:12px}.page-hero{background:var(--pale);padding:48px 0}.page-hero h1{font-size:clamp(2.2rem,4vw,3.3rem);line-height:1.1;margin:0;letter-spacing:-.045em}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.archive-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.archive-body{padding:20px}.archive-body h2{font-size:1.2rem;margin:0 0 10px}.archive-body p{color:var(--muted)}.pagination{margin-top:30px}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.alignwide{max-width:var(--w);margin-inline:auto}.alignfull{max-width:100%;width:100%}.wp-block-image img,.wp-block-cover{border-radius:12px}
@media(max-width:1000px){.primary-nav ul{gap:13px}.header-actions .button{display:none}.hero-grid{gap:28px}.grid3,.archive-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.container{width:calc(100% - 28px)}.header-inner{min-height:70px;flex-wrap:wrap;padding:10px 0}.menu-toggle{display:inline-flex;background:#fff;color:var(--g)!important;padding:8px 13px}.primary-nav{display:none;width:100%;order:4}.primary-nav.is-open{display:block}.primary-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0}.primary-nav li{border-top:1px solid var(--line)}.primary-nav a{display:block;padding:11px 0}.hero{padding:52px 0}.hero-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(2.5rem,12vw,4rem)}.hero-art{min-height:290px}.mountain{border-left-width:170px;border-right-width:170px;border-bottom-width:200px}.mountain.two{left:100px;border-left-width:150px;border-right-width:150px;border-bottom-width:170px}.trust-inner{grid-template-columns:1fr}.trust-item{justify-content:flex-start}.section{padding:56px 0}.grid3,.archive-grid{grid-template-columns:1fr}.cta-inner{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr;gap:20px}.footer-bottom{flex-direction:column}.heading{text-align:left}.art-card{left:13px;right:13px;bottom:13px}.tour-catalogue-section .atp-grid{grid-template-columns:1fr}}


/* Primary navigation dropdowns: keep child menu items hidden until opened. */
.primary-nav{min-width:0;}
.primary-nav > div > ul,
.primary-nav > ul{display:flex;gap:22px;align-items:center;list-style:none;margin:0;padding:0;}
.primary-nav li{position:relative;list-style:none;}
.primary-nav li > ul{display:none;position:absolute;top:100%;left:0;z-index:1000;min-width:255px;max-width:320px;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:8px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(17,48,30,.14);}
.primary-nav li:hover > ul,
.primary-nav li:focus-within > ul,
.primary-nav li.submenu-open > ul{display:flex;}
.primary-nav li > ul li{width:100%;border:0;}
.primary-nav li > ul a{display:block;padding:10px 12px;border-radius:7px;line-height:1.35;white-space:normal;}
.primary-nav li > ul a:hover,.primary-nav li > ul a:focus{background:var(--pale);color:var(--gd);text-decoration:none;}
.primary-nav .submenu-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin-left:3px;border:0;border-radius:6px;background:transparent;color:var(--ink)!important;vertical-align:middle;}
.primary-nav .submenu-toggle:hover,.primary-nav .submenu-toggle:focus{background:var(--pale);}
.primary-nav .submenu-toggle .chevron{display:block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px;}
@media(min-width:761px){.primary-nav .submenu-toggle{display:none;}}
@media(max-width:760px){
 .primary-nav > div > ul,.primary-nav > ul{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;}
 .primary-nav li{width:100%;border-top:1px solid var(--line);}
 .primary-nav li > a{display:inline-block;max-width:calc(100% - 44px);padding:11px 0;}
 .primary-nav li > ul{display:none;position:static;min-width:0;max-width:none;width:100%;padding:0 0 8px 14px;border:0;border-radius:0;box-shadow:none;background:transparent;}
 .primary-nav li:hover > ul{display:none;}
 .primary-nav li.submenu-open > ul,.primary-nav li:focus-within > ul{display:flex;}
 .primary-nav li > ul li{border-top:1px solid #edf2ee;}
 .primary-nav li > ul a{display:block;max-width:100%;padding:9px 10px;}
 .primary-nav .submenu-toggle{position:absolute;right:0;top:7px;display:inline-flex;}
 .primary-nav .submenu-toggle[aria-expanded="true"] .chevron{transform:rotate(225deg);margin-top:4px;}
}

/* Aerocone cinematic homepage hero video banner */
.hero-video-banner{position:relative;isolation:isolate;min-height:650px;height: min(700px, calc(100vh - 82px));padding:0;display:flex;align-items:center;background:#10271b;overflow:hidden;color:#fff}
.hero-video-media,.hero-video-shade{position:absolute;inset:0;z-index:-1}
.hero-video-media{background-position:center;background-size:cover;background-image:var(--hero-poster)}
.hero-background-video{width:100%;height:100%;object-fit:cover;display:block}
.hero-video-shade{background:linear-gradient(90deg,rgba(5,22,13,.88),rgba(5,22,13,.48) 58%,rgba(5,22,13,.18)),rgba(0,0,0,var(--hero-overlay,.55))}
.hero-video-content{width:min(var(--w),calc(100% - 40px));padding-top:80px;padding-bottom:80px;position:relative;z-index:1}
.hero-video-content>div{max-width:760px}
.hero-video-content .eyebrow{color:#a8e2bd}
.hero-video-content h1{color:#fff;max-width:760px}
.hero-video-content h1 em{color:#8be0ac}
.hero-video-content .hero-copy{color:#f0f5f1;max-width:650px}
.hero-video-content .button-outline{border-color:#fff;color:#fff!important;background:rgba(255,255,255,.08)}
.hero-video-content .button-outline:hover{background:#fff;color:var(--g)!important}
body.home .site-header,body.front-page .site-header{position:absolute;top:0;left:0;right:0;width:100%;background:rgba(9,28,17,.28);border-bottom:1px solid rgba(255,255,255,.22);z-index:20;transition:background .2s ease,box-shadow .2s ease}
body.home .site-header .brand,body.front-page .site-header .brand,body.home .site-header .primary-nav a,body.front-page .site-header .primary-nav a{color:#fff}
body.home .site-header .brand-tagline,body.front-page .site-header .brand-tagline{color:#e0eee5}
body.home .site-header .menu-toggle,body.front-page .site-header .menu-toggle{color:#fff!important;background:transparent;border-color:#ffffff80}
body.home .site-header .header-actions .button,body.front-page .site-header .header-actions .button{background:#fff;color:var(--g)!important;border-color:#fff}
body.home .site-header.is-scrolled,body.front-page .site-header.is-scrolled{position:fixed;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 5px 22px rgba(0,0,0,.08)}
body.home .site-header.is-scrolled .brand,body.front-page .site-header.is-scrolled .brand,body.home .site-header.is-scrolled .primary-nav a,body.front-page .site-header.is-scrolled .primary-nav a{color:var(--ink)}
body.home .site-header.is-scrolled .brand-tagline,body.front-page .site-header.is-scrolled .brand-tagline{color:var(--muted)}
body.home .site-header.is-scrolled .menu-toggle,body.front-page .site-header.is-scrolled .menu-toggle{color:var(--g)!important;background:#fff;border-color:var(--g)}
body.home .site-header.is-scrolled .header-actions .button,body.front-page .site-header.is-scrolled .header-actions .button{background:var(--g);color:#fff!important;border-color:var(--g)}
body.home .site-header.is-scrolled .primary-nav li>ul,body.front-page .site-header.is-scrolled .primary-nav li>ul{background:#fff}
@media(max-width:760px){.hero-video-banner{height:auto;min-height:620px;padding:0}.hero-video-content{padding-top:145px;padding-bottom:70px;width:calc(100% - 28px)}body.home .site-header .primary-nav,body.front-page .site-header .primary-nav{background:#10271b;padding:8px 14px;border-radius:0 0 12px 12px}body.home .site-header.is-scrolled .primary-nav,body.front-page .site-header.is-scrolled .primary-nav{background:#fff}body.home .site-header.is-scrolled .primary-nav a,body.front-page .site-header.is-scrolled .primary-nav a{color:var(--ink)}}
@media(prefers-reduced-motion:reduce){.hero-background-video{display:none}.hero-video-banner{background:#10271b}.site-header{transition:none}}


/* v1.0.4: desktop navigation spacing, readable dropdowns, and logo sizing */
@media (min-width: 761px) {
  .header-inner {
    width: min(1600px, calc(100% - 56px));
    gap: clamp(14px, 1.6vw, 30px);
  }
  .brand {
    flex: 0 0 auto;
    max-width: 190px;
  }
  .brand .custom-logo-link {
    display: flex;
    align-items: center;
  }
  .brand .custom-logo {
    display: block;
    width: auto;
    height: auto;
    max-width: 155px;
    max-height: 72px;
    object-fit: contain;
  }
  .primary-nav {
    flex: 1 1 auto;
    display: flex;
    justify-content: center;
    min-width: 0;
  }
  .primary-nav > div,
  .primary-nav > div > ul {
    min-width: 0;
  }
  .primary-nav > div > ul,
  .primary-nav > ul {
    gap: clamp(10px, 1.25vw, 23px);
    justify-content: center;
    flex-wrap: nowrap;
  }
  .primary-nav > div > ul > li > a,
  .primary-nav > ul > li > a {
    white-space: nowrap;
    font-size: clamp(.78rem, .86vw, .94rem);
  }
  .header-actions {
    flex: 0 0 auto;
  }
  .header-actions .button {
    white-space: nowrap;
    padding: 13px 24px;
  }
}

/* Dropdown panels must size to their contents and keep text legible over both
   the transparent homepage header and the solid scrolled header. */
.primary-nav li > ul {
  height: auto !important;
  min-height: 0 !important;
  max-height: min(70vh, 520px);
  overflow-y: auto;
  background: #fff !important;
  color: var(--ink) !important;
  padding: 8px !important;
  display: none;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 2px !important;
}
.primary-nav li:hover > ul,
.primary-nav li:focus-within > ul,
.primary-nav li.submenu-open > ul {
  display: flex;
}
.primary-nav li > ul li {
  display: block;
  flex: 0 0 auto;
  min-height: 0;
  height: auto;
  background: transparent;
}
.primary-nav li > ul a,
body.home .site-header .primary-nav li > ul a,
body.front-page .site-header .primary-nav li > ul a,
body.home .site-header.is-scrolled .primary-nav li > ul a,
body.front-page .site-header.is-scrolled .primary-nav li > ul a {
  display: block;
  width: 100%;
  min-height: 0;
  padding: 10px 12px;
  color: #20352a !important;
  background: transparent;
  font-size: .9rem;
  line-height: 1.35;
  white-space: normal;
  border-radius: 8px;
}
.primary-nav li > ul a:hover,
.primary-nav li > ul a:focus {
  color: var(--gd) !important;
  background: var(--pale) !important;
}
.primary-nav li > ul ul {
  top: 0;
  left: 100%;
}
@media (max-width: 1000px) and (min-width: 761px) {
  .header-inner { width: calc(100% - 32px); gap: 12px; }
  .brand { max-width: 130px; }
  .brand .custom-logo { max-width: 125px; max-height: 62px; }
  .primary-nav > div > ul, .primary-nav > ul { gap: 9px; }
  .primary-nav > div > ul > li > a, .primary-nav > ul > li > a { font-size: .76rem; }
  .header-actions .button { padding: 10px 14px; font-size: .82rem; }
}
@media (max-width: 760px) {
  .brand .custom-logo { max-width: 145px; max-height: 58px; object-fit: contain; }
  .primary-nav li > ul {
    max-height: none;
    overflow: visible;
    background: transparent !important;
  }
  .primary-nav li > ul a,
  body.home .site-header .primary-nav li > ul a,
  body.front-page .site-header .primary-nav li > ul a {
    color: #fff !important;
  }
  body.home .site-header.is-scrolled .primary-nav li > ul a,
  body.front-page .site-header.is-scrolled .primary-nav li > ul a {
    color: var(--ink) !important;
  }
}


/* v1.0.5: Restore dedicated staff and travel-client portal actions in the header. */
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.header-actions .button{white-space:nowrap;padding:10px 15px;font-size:.84rem}
.header-actions .portal-button.button-outline{background:#fff;color:var(--g)!important}
.header-actions .portal-button.button-outline:hover{background:#eff8f2}
@media(max-width:1100px){
 .header-inner{gap:14px}
 .primary-nav ul{gap:13px}
 .header-actions .button{padding:9px 11px;font-size:.78rem}
}
@media(max-width:900px){
 .header-inner{flex-wrap:wrap;padding:10px 0}
 .header-actions{margin-left:auto;order:3}
 .primary-nav{order:4}
}
@media(max-width:760px){
 .header-actions{width:100%;order:5;justify-content:flex-start;margin:0 0 8px}
 .header-actions .button{flex:1 1 auto;text-align:center}
}
