/* Shared functional UI. Page layouts remain native Elementor. */
.pgh-site-nav{font:500 14px Inter,sans-serif;position:relative;color:var(--e-global-color-primary)}
.pgh-site-nav ul{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
.pgh-site-nav a{display:block;text-decoration:none;color:var(--e-global-color-primary);padding:10px 0;white-space:nowrap}
.pgh-site-nav a:hover,.pgh-site-nav .current-menu-item a{color:var(--e-global-color-primary);text-decoration:underline;text-decoration-color:var(--e-global-color-accent);text-underline-offset:8px;text-decoration-thickness:2px}
.pgh-site-nav .pgh-menu-reserve a{background:var(--e-global-color-accent);padding:13px 21px;border-radius:4px;text-decoration:none}
.pgh-menu-toggle{display:none;border:1px solid var(--e-global-color-pghline);background:var(--e-global-color-pghsurface);color:var(--e-global-color-primary);border-radius:4px;font:600 14px Inter,sans-serif;padding:10px 15px;cursor:pointer}
.pgh-menu-toggle span{margin-right:8px}
.pgh-footer-menu ul{display:block}
.pgh-footer-menu a,.pgh-footer-menu a:hover,.pgh-footer-menu .current-menu-item a{color:var(--e-global-color-pghlight);white-space:normal;padding:6px 0;line-height:1.5}
.pgh-reservation{max-width:760px;color:var(--e-global-color-primary);font:400 16px/1.65 Inter,sans-serif}
.pgh-form-fields{display:grid;grid-template-columns:1.3fr 1.3fr .8fr;gap:16px}
.pgh-reservation label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.pgh-reservation input,.pgh-reservation select{width:100%;min-width:0;box-sizing:border-box;background:var(--e-global-color-pghsurface);color:var(--e-global-color-primary);border:1px solid var(--e-global-color-pghline);border-radius:4px;padding:13px 12px;font:inherit;color-scheme:light}
.pgh-reservation button{background:var(--e-global-color-accent);color:var(--e-global-color-primary);border:0;border-radius:4px;font:600 15px Inter,sans-serif;padding:17px 24px;cursor:pointer;transition:transform .2s ease}
.pgh-reservation button:hover{transform:translateY(-2px)}
.pgh-reservation p{margin:18px 0}
.pgh-reservation output{display:block;border-left:2px solid var(--e-global-color-accent);padding:12px 16px;background:var(--e-global-color-pghbg);font-weight:500;margin:24px 0}
.pgh-form-note{color:var(--e-global-color-secondary);font-size:13px}
.pgh-reservation [role=alert]{border:1px solid var(--e-global-color-accent);padding:16px}
.pgh-chat{position:fixed;bottom:24px;right:24px;z-index:9999;font:400 15px/1.6 Inter,sans-serif;color:var(--e-global-color-primary)}
.pgh-chat-trigger{border:0;border-radius:100px;background:var(--e-global-color-pghwhatsapp);color:var(--e-global-color-pghsurface);padding:14px 19px;display:flex;gap:10px;align-items:center;cursor:pointer;font:600 14px Inter,sans-serif;transition:transform .2s ease}
.pgh-chat-trigger:hover{transform:translateY(-3px)}
.pgh-chat svg{width:24px;height:24px;fill:currentColor;flex-shrink:0}
.pgh-chat-panel{position:absolute;bottom:70px;right:0;width:320px;max-width:calc(100vw - 40px);border:1px solid var(--e-global-color-pghline);background:var(--e-global-color-pghsurface);border-radius:4px;overflow:hidden}
.pgh-chat-panel[hidden]{display:none}
.pgh-chat-heading{background:var(--e-global-color-pghwhatsapp);color:var(--e-global-color-pghsurface);padding:20px;display:flex;justify-content:space-between;align-items:center}
.pgh-chat-close{border:0;background:none;color:inherit;font:400 24px Inter,sans-serif;cursor:pointer;padding:4px 8px}
.pgh-chat-body{padding:24px}
.pgh-chat-body p{margin:0 0 18px}
.pgh-chat-body a{display:block;border-radius:4px;text-align:center;padding:13px 16px;text-decoration:none;background:var(--e-global-color-pghwhatsapp);color:var(--e-global-color-pghsurface);font-weight:600;margin-top:12px}
.pgh-chat-body .pgh-chat-secondary{background:var(--e-global-color-pghbg);color:var(--e-global-color-primary)}
.pgh-chat-body small{display:block;color:var(--e-global-color-secondary);font-size:12px;margin-top:16px}
.pgh-site-nav a:focus-visible,.pgh-menu-toggle:focus-visible,.pgh-chat button:focus-visible,.pgh-chat a:focus-visible,.pgh-reservation input:focus-visible,.pgh-reservation button:focus-visible{outline:2px solid var(--e-global-color-primary);outline-offset:4px}
.pgh-site-content .elementor-button:focus-visible{outline:2px solid var(--e-global-color-primary);outline-offset:4px}
.pgh-site-content p:last-child{margin-bottom:0}
.pgh-site-content img{max-width:100%}
.pgh-site-content .elementor-widget-image figcaption{margin-top:9px;text-align:left;font:400 11px/1.5 Inter,sans-serif;color:var(--e-global-color-secondary)}
.pgh-site-content [id]{scroll-margin-top:30px}
@media(max-width:1024px){.pgh-site-nav ul{gap:15px}.pgh-site-nav{font-size:13px}}
@media(max-width:1024px){
 .pgh-site-nav:not(.pgh-footer-menu) .pgh-menu-toggle{display:block}
 .pgh-site-nav:not(.pgh-footer-menu) ul{display:none;position:absolute;top:52px;right:0;min-width:270px;padding:16px 22px;background:var(--e-global-color-pghsurface);border:1px solid var(--e-global-color-pghline);border-radius:4px;z-index:100}
 .pgh-site-nav:not(.pgh-footer-menu) ul.is-open{display:block}
 .pgh-site-nav:not(.pgh-footer-menu) a{padding:13px 0;font-size:15px}
 .pgh-site-nav:not(.pgh-footer-menu) .pgh-menu-reserve a{padding:13px 18px;margin-top:8px;text-align:center}
 .pgh-chat{right:16px;bottom:16px}
 .pgh-chat-trigger{padding:15px;border-radius:100px}
 .pgh-chat-trigger span{display:none}
 .pgh-chat-panel{bottom:68px}
}
@media(prefers-reduced-motion:reduce){.pgh-site-content .animated,.pgh-site-content .elementor-invisible{animation:none!important;visibility:visible!important;opacity:1!important;transform:none!important}.pgh-site-content .elementor-button,.pgh-chat-trigger,.pgh-reservation button{transition:none!important;transform:none!important}}
@media(max-width:767px){.pgh-form-fields{grid-template-columns:1fr;gap:18px}}
noscript .pgh-site-nav ul{display:flex!important}
.pgh-chat-close:focus-visible{outline-color:var(--e-global-color-pghsurface)}
footer .elementor-button:focus-visible{outline-color:var(--e-global-color-accent)}
/* Dark native Elementor header: accessible shared navigation. */
.pgh-header-dark .pgh-site-nav a{color:var(--e-global-color-pghlight)}
.pgh-header-dark .pgh-site-nav .pgh-menu-reserve a{color:var(--e-global-color-primary)}
.pgh-header-dark .pgh-site-nav a:focus-visible{outline-color:var(--e-global-color-accent)}
@media(max-width:1024px){.pgh-header-dark .pgh-site-nav ul a{color:var(--e-global-color-primary)}}
@media(prefers-reduced-motion:reduce){.pgh-site-content .swiper-wrapper,.pgh-site-content .swiper-slide{transition-duration:0ms!important}}

/* Native carousel controls: visible focus and comfortable click targets. */
.elementor-image-carousel-wrapper .elementor-swiper-button{padding:10px;background:var(--e-global-color-pghdark);border-radius:4px}
.elementor-image-carousel-wrapper [role="button"]:focus-visible{outline:2px solid var(--e-global-color-accent);outline-offset:4px}
