/* P&P Global Header & Footer — styles are scoped to plugin components. */
.ppghf-hide-theme-header .pp-theme-header,
.ppghf-hide-theme-header .elementor-location-header,
.ppghf-hide-theme-header #masthead,
.ppghf-hide-theme-header header.site-header { display:none!important; }
.ppghf-hide-theme-footer .pp-theme-footer,
.ppghf-hide-theme-footer .elementor-location-footer,
.ppghf-hide-theme-footer #colophon,
.ppghf-hide-theme-footer footer.site-footer { display:none!important; }

#ppghf-header,
#ppghf-footer,
#ppghf-header *,
#ppghf-footer * { box-sizing: border-box; }

/* ---------- HEADER / MENU ---------- */
.ppghf-header{
  position:absolute;
  top:0;left:0;right:0;
  z-index:99999;
  width:100%;
  background:transparent;
  font-family:"Noto Sans Thai",system-ui,sans-serif;
}
.ppghf-header__inner{
  width:min(1280px,calc(100% - 40px));
  min-height:94px;
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:28px;
}
.ppghf-logo{
  display:inline-flex;
  align-items:center;
  margin-right:auto;
  color:#fff;
  font-size:20px;
  font-weight:800;
  text-decoration:none;
}
.ppghf-logo img{
  display:block;
  width:175px!important;
  max-width:175px!important;
  height:auto!important;
  max-height:82px!important;
  object-fit:contain;
}
.ppghf-nav ul{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
.ppghf-nav>ul,
.ppghf-nav>div>ul{
  display:flex!important;
  align-items:center;
  gap:22px;
}
.ppghf-nav li{position:relative;margin:0!important;padding:0!important}
.ppghf-nav>ul>li>a,
.ppghf-nav>div>ul>li>a{
  min-height:94px;
  display:flex;
  align-items:center;
  color:#fff!important;
  font-size:16px;
  font-weight:700;
  text-decoration:none!important;
  text-shadow:0 2px 7px rgba(0,0,0,.35);
  white-space:nowrap;
}
.ppghf-nav .menu-item-has-children>a::after{
  content:"▾";
  margin-left:7px;
  font-size:11px;
}
.ppghf-nav .sub-menu{
  position:absolute;
  top:calc(100% - 8px);
  left:-12px;
  min-width:230px;
  padding:10px!important;
  background:#fff;
  border-radius:14px;
  box-shadow:0 18px 50px rgba(0,0,0,.16);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.2s ease;
}
.ppghf-nav li:hover>.sub-menu,
.ppghf-nav li:focus-within>.sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.ppghf-nav .sub-menu a{
  display:block;
  padding:10px 12px;
  border-radius:8px;
  color:var(--navy)!important;
  font-size:15px;
  font-weight:600;
  text-decoration:none!important;
  text-shadow:none!important;
}
.ppghf-nav .sub-menu a:hover,.ppghf-nav .sub-menu a:focus{background:#f6eee4;color:var(--pp-gold)!important}
.ppghf-actions{display:flex;align-items:center;gap:12px}
.ppghf-action{
  min-height:50px;
  padding:0 23px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  color:#fff!important;
  font-size:15px;
  font-weight:800;
  text-decoration:none!important;
  white-space:nowrap;
}
.ppghf-action--line{background:var(--green)}
.ppghf-action--phone{background:rgba(13,43,122,.94);border:1px solid rgba(255,255,255,.18)}
.ppghf-toggle,.ppghf-mobile,.ppghf-backdrop{display:none}

/* ---------- FOOTER ---------- */
.ppghf-footer{
  position:relative;
  z-index:2;
  background:#051336;
  color:#fff;
  padding:54px 0 24px;
  font-family:"Noto Sans Thai",system-ui,sans-serif;
}
.ppghf-footer__inner{width:min(1240px,calc(100% - 40px));margin:0 auto}
.ppghf-footer__grid{display:grid;grid-template-columns:1.08fr 1.28fr 1.14fr;gap:64px;align-items:start}
.ppghf-footer h3,.ppghf-footer h4,.ppghf-footer h5{margin:0 0 14px;color:#fff}
.ppghf-footer h5{font-size:14px;letter-spacing:.02em;color:#d9e2f5}
.ppghf-footer p,.ppghf-footer a{color:#aeb9d1;font-size:15px;line-height:1.8;text-decoration:none}
.ppghf-footer a:hover,.ppghf-footer a:focus{color:#fff}
.ppghf-footer__logo{display:block;width:190px!important;max-width:100%!important;height:auto!important;max-height:100px!important;object-fit:contain;margin:0 0 18px}
.ppghf-footer__links{display:grid;gap:18px}
.ppghf-footer__nav-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.ppghf-footer__menu{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.ppghf-footer__menu li{margin:0;padding:0}
.ppghf-footer__menu a{display:inline-flex;align-items:center;line-height:1.45}
.ppghf-footer__menu a::before{content:"";width:0;height:1px;margin-right:0;background:var(--pp-gold);transition:.2s ease}
.ppghf-footer__menu a:hover::before,.ppghf-footer__menu a:focus::before{width:12px;margin-right:7px}
.ppghf-footer__info-links{padding-top:17px;border-top:1px solid rgba(255,255,255,.1)}
.ppghf-footer__info-links .ppghf-footer__menu{display:flex;flex-wrap:wrap;gap:7px 16px}
.ppghf-footer__info-links .ppghf-footer__menu a{font-size:14px}
.ppghf-footer__social{display:flex;align-items:center;gap:12px;margin:18px 0}
.ppghf-footer__social a,.ppghf-footer__social span{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;overflow:hidden;background:#fff}
.ppghf-footer__social img{display:block;width:100%!important;height:100%!important;object-fit:cover}
.ppghf-map{display:inline-flex!important;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff!important;font-weight:700}
.ppghf-map:hover,.ppghf-map:focus{background:#fff;color:#051336!important}
.ppghf-footer__bottom{margin-top:36px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);color:#7f8cab;font-size:13px}

@media (max-width:1100px){
  .ppghf-nav,.ppghf-actions{display:none}
  .ppghf-toggle{display:grid;width:48px;height:48px;padding:12px;border:1px solid rgba(255,255,255,.35);border-radius:12px;background:rgba(5,19,54,.72);place-content:center;gap:5px;cursor:pointer}
  .ppghf-toggle span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:.2s ease}
  .ppghf-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .ppghf-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .ppghf-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .ppghf-mobile{display:block;position:fixed;top:0;right:0;z-index:100001;width:min(390px,88vw);height:100dvh;padding:100px 24px 30px;background:#fff;box-shadow:-20px 0 60px rgba(0,0,0,.18);overflow:auto;transform:translateX(105%);transition:transform .25s ease}
  .ppghf-mobile[hidden]{display:none}
  .ppghf-mobile.is-open{transform:translateX(0)}
  .ppghf-mobile ul{list-style:none;margin:0;padding:0}
  .ppghf-mobile li{border-bottom:1px solid #e9edf4}
  .ppghf-mobile a{display:block;padding:14px 6px;color:var(--navy);font-weight:700;text-decoration:none}
  .ppghf-mobile .sub-menu{padding-left:16px}
  .ppghf-mobile__actions{display:grid;gap:10px;margin-top:24px}
  .ppghf-backdrop{position:fixed;inset:0;z-index:100000;border:0;background:rgba(0,0,0,.52);cursor:pointer}
  .ppghf-backdrop:not([hidden]){display:block}
  body.ppghf-menu-open{overflow:hidden}
}
@media (max-width:980px){
  .ppghf-footer__grid{grid-template-columns:1fr 1fr;gap:40px}
  .ppghf-footer__brand{grid-column:1/-1}
}
@media (max-width:760px){
  .ppghf-header__inner,.ppghf-footer__inner{width:min(100% - 28px,1240px)}
  .ppghf-logo img{width:138px!important;max-width:138px!important;max-height:70px!important}
  .ppghf-footer__grid{grid-template-columns:1fr;gap:28px}
  .ppghf-footer__brand{grid-column:auto}
  .ppghf-footer__nav-grid{gap:20px}
}
@media (prefers-reduced-motion:reduce){.ppghf-header *,.ppghf-footer *{scroll-behavior:auto!important;transition:none!important}}
