/*
Theme Name: HG Aviation
Theme URI: https://hgaviation.vn
Author: HG Aviation
Description: Custom WordPress theme for HG Aviation — airline representation, GSA, cargo and destination marketing across Vietnam & Indochina. Ported 1:1 from the HG Aviation Redesign prototype. CMS layer: Secure Custom Fields (SCF).
Version: 2.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: hgaviation
*/

*{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  h1,h2,h3{font-family:'Montserrat',system-ui,sans-serif !important;letter-spacing:-.02em}
  h1,h2{font-weight:600 !important}
  h3{font-weight:600 !important}
  html,body{overflow-x:hidden;overflow-y:auto !important;max-width:100%}
  body{font-family:'Montserrat',system-ui,sans-serif;color:#0B1420;background:#FBFBF9;-webkit-font-smoothing:antialiased;line-height:1.55}
  a{color:inherit;text-decoration:none}
  a:hover{color:#1B4DE4}
  img{display:block;max-width:100%}
  .hg-dd-menu{opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s}
  .hg-dd:hover .hg-dd-menu{opacity:1;visibility:visible;transform:none}
  .svc-row{transition:padding .3s ease,background .3s ease}
  .svc-row:hover{padding-left:22px;background:linear-gradient(90deg,#F5F6FA,transparent)}
  .svc-reveal{max-height:0;opacity:0;overflow:hidden;transition:max-height .35s ease,opacity .3s ease,margin-top .3s ease}
  .svc-row:hover .svc-reveal{max-height:60px;opacity:1;margin-top:6px}
  .svc-ico{color:#0B1420;transition:color .3s ease,transform .3s ease}
  .svc-row:hover .svc-ico{color:#1B4DE4;transform:translateY(-1px)}
  .svc-num{color:#D3D6DC;transition:color .3s ease}
  .svc-row:hover .svc-num{color:#1B4DE4}
  .svc-arrow{opacity:0;transform:translateX(-8px);transition:opacity .3s ease,transform .3s ease;color:#1B4DE4;font-size:20px}
  .svc-row:hover .svc-arrow{opacity:1;transform:none}
  ::selection{background:#1B4DE4;color:#fff}
  @keyframes hgFade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  @keyframes hgLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes vnPulse{0%{r:5;opacity:1}70%{r:15;opacity:0}100%{opacity:0}}
  .vn-pulse{transform-box:fill-box;transform-origin:center;animation:vnPulse 2.6s ease-out infinite}
  @keyframes vnDraw{from{stroke-dashoffset:520}to{stroke-dashoffset:0}}
  @keyframes vnFlow{to{stroke-dashoffset:-40}}
  @keyframes pMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  .pmarquee:hover{animation-play-state:paused}
  .vn-arc{stroke-dasharray:5 7;animation:vnFlow 1.6s linear infinite}
  .vn-city{position:absolute;transform:translate(-50%,-50%)}
  .vn-dot{position:absolute;left:50%;top:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;background:#5C8DFF;box-shadow:0 0 10px 2px rgba(92,141,255,.9)}
  .vn-ring{position:absolute;left:50%;top:50%;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;border:2px solid #5C8DFF;animation:vnRing 2.6s ease-out infinite}
  @keyframes vnRing{0%{transform:scale(1);opacity:.9}70%{transform:scale(5);opacity:0}100%{opacity:0}}
  .vn-name{position:absolute;left:16px;top:-8px;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;letter-spacing:.08em;color:#EAF0FF;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.6)}
  @keyframes vnPlane{0%{opacity:0;transform:translateY(6px)}50%{opacity:1}100%{opacity:0;transform:translateY(-6px)}}
  .vn-plane{animation:vnPlane 3.4s ease-in-out infinite}
  @keyframes svcTrace{from{stroke-dasharray:0 700}to{stroke-dasharray:700 0}}
  @keyframes drumSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
  .drum-spin{transform-box:fill-box;transform-origin:center;animation:drumSpin 60s linear infinite}
  .svc-trace{animation:svcTrace 9s linear infinite}
  .ind-zoom{transition:transform .6s cubic-bezier(.2,.7,.2,1);transform:scale(1.12)}
  .ind-zoom:hover{transform:scale(1)}
  .ind-tab svg{transition:transform .2s ease}
  .ind-tab:hover svg{transform:scale(1.18)}
  .why-node:hover{transform:scale(1.12) rotate(-6deg);box-shadow:0 22px 42px -14px rgba(27,77,228,.85)}
  .svc-card{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease,box-shadow .2s ease,border-color .2s ease}
  .svc-card.in{opacity:1;transform:none}
  .svc-card:nth-child(2){transition-delay:.08s}
  .svc-card:nth-child(3){transition-delay:.16s}
  .svc-card:nth-child(4){transition-delay:.24s}
  .svc-card:nth-child(5){transition-delay:.32s}
  .svc-card:nth-child(6){transition-delay:.4s}
  @keyframes hgMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  .hg-logos{display:flex;width:max-content;animation:hgMarquee 34s linear infinite}
  .hg-logos-wrap:hover .hg-logos{animation-play-state:paused}
  .hg-logo-item{transition:color .25s,transform .25s}
  .hg-logo-item:hover{color:#1B4DE4 !important;transform:scale(1.08)}
  @keyframes hgLogoShine{0%{background-position:200% 0}60%,100%{background-position:-200% 0}}
  .hg-logo-badge{position:relative;overflow:hidden;transition:border-color .3s,color .3s}
  .hg-brand:hover .hg-logo-badge{color:#1B4DE4;border-color:#1B4DE4}
  .hg-logo-badge::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(27,77,228,.55) 50%,transparent 70%);background-size:250% 100%;animation:hgLogoShine 4.5s ease-in-out infinite;pointer-events:none}

  .hg-burger{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:8px;z-index:120}
  .hg-burger span{display:block;width:24px;height:2px;background:currentColor;transition:transform .25s,opacity .25s}
  #hgmnav{display:none}
  .hg-drawer{position:fixed;inset:0 0 0 auto;width:min(320px,82vw);background:#fff;color:#0B1420;box-shadow:-18px 0 50px -20px rgba(11,20,32,.5);transform:translateX(101%);visibility:hidden;transition:transform .3s cubic-bezier(.2,.7,.2,1);z-index:110;padding:88px 26px 30px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}
  .hg-drawer a{padding:13px 4px;border-bottom:1px solid #EEEEE8;font-size:16px;font-weight:500;color:#0B1420}
  .hg-drawer .sub{font-size:14px;color:#525A66;padding-left:16px}
  .hg-scrim{position:fixed;inset:0;background:rgba(8,12,21,.4);opacity:0;visibility:hidden;transition:opacity .3s;z-index:105}
  #hgmnav:checked ~ .hg-drawer{transform:translateX(0)}
  #hgmnav:checked ~ .hg-scrim{opacity:1;visibility:visible}
  @media(max-width:900px){.hg-nav{display:none !important}.hg-burger{display:inline-flex}.hg-drawer{visibility:visible}}

  @media(max-width:768px){
    div[style*="grid-template-columns"]{grid-template-columns:1fr !important}
    section[style*="min-height:100vh"],section[style*="min-height: 100vh"]{min-height:auto !important}
    div[style*="grid-template-columns:200px"]{grid-template-columns:1fr !important}
  }

/* ── WordPress-specific additions ───────────────────────────────── */
.hg-nav ul{list-style:none;display:flex;align-items:center;gap:clamp(12px,2.2vw,32px);margin:0;padding:0}
.hg-nav li{position:relative}
.hg-drawer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}

.hg-form input,.hg-form select,.hg-form textarea{width:100%;padding:13px 15px;border:1px solid #DADAD3;border-radius:8px;background:#fff;color:#0B1420;font-size:15px}
.hg-form input:focus,.hg-form select:focus,.hg-form textarea:focus{outline:none;border-color:#1B4DE4}
.hg-form label{font-size:13px;font-weight:600;color:#3A424E;margin-bottom:6px;display:block}

.hg-prose p{margin-bottom:20px;line-height:1.75;color:#3A424E;text-align:justify}
.hg-prose h2{font-size:clamp(24px,2.6vw,34px);margin:36px 0 14px}
.hg-prose h3{font-size:20px;font-weight:600 !important;margin:26px 0 10px}
.hg-prose ul,.hg-prose ol{margin:0 0 20px 20px;line-height:1.7;color:#3A424E}
.hg-prose img{border-radius:12px;margin:20px 0}
.hg-prose blockquote{border-left:3px solid #1B4DE4;padding:6px 0 6px 24px;margin:28px 0;font-family:'Montserrat',sans-serif;font-size:clamp(20px,2vw,26px);font-weight:600;line-height:1.35;color:#0B1420}

.svc-card{transition:transform .2s,box-shadow .2s,border-color .2s}
.svc-card:hover{transform:translateX(6px);box-shadow:0 16px 40px -20px rgba(11,20,32,.28);border-color:#C6D3F5}
.ind-tab:hover{color:#1B4DE4 !important;transform:translateY(-2px)}
#partners a:hover,#news a:hover{transform:translateY(-4px)}

.pagination,.nav-links{display:flex;gap:8px;justify-content:center;align-items:center}
.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;border:1px solid #DADAD3;border-radius:8px;font-weight:600;font-size:14px}
.page-numbers.current{background:#1B4DE4;border-color:#1B4DE4;color:#fff}
