/*
Theme Name: POMGEN Custom Medical Elementor
Theme URI: https://example.com/
Author: Solutiontech
Author URI: https://example.com/
Description: Custom POMGEN medical theme with DAL-inspired header and navigation structure, built for Elementor.
Version: 3.3.17
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: pomgen
License: GPL-2.0-or-later
*/

:root{
  --pom-blue:#2877b8;
  --pom-blue-dark:#075b91;
  --pom-teal:#238f9f;
  --pom-yellow:#f2e93b;
  --pom-navy:#123b5a;
  --pom-green:#087c75;
  --pom-text:#294b60;
  --pom-muted:#6c7f8d;
  --pom-light:#f3f8fb;
  --pom-border:#dce7ed;
  --pom-white:#fff;
  --pom-shadow:0 16px 45px rgba(11,63,94,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--pom-text);background:#fff;line-height:1.7;font-size:16px}
a{color:var(--pom-blue-dark);text-decoration:none}
a:hover{color:var(--pom-teal)}
img{max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
.container{width:min(1200px,calc(100% - 48px));margin:auto}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Top utility bar */
.pom-topbar{background:var(--pom-navy);color:#fff;font-size:14px}
.pom-topbar .container{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.pom-topbar a{color:#fff;opacity:.95}
.pom-topbar a:hover{color:var(--pom-yellow)}
.pom-topbar-left,.pom-topbar-right{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.pom-emergency{font-weight:800;color:var(--pom-yellow)!important}

/* Main brand header */
.pom-brand-header{background:#fff}
.pom-brand-row{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:18px 0 16px;min-height:175px}
.pom-brand-identity{display:flex;align-items:center;gap:20px;min-width:0}
.pom-logo-link{display:block;flex:0 0 auto}
.pom-logo{display:block;width:185px;max-width:100%;height:auto}
.pom-brand-name{border-left:3px solid var(--pom-teal);padding-left:20px;min-width:330px}
.pom-brand-kicker{font-size:14px;font-weight:800;letter-spacing:2.3px;color:var(--pom-teal);margin-bottom:1px}
.pom-brand-name h1{margin:0;color:var(--pom-blue-dark);font-size:36px;line-height:1.05;font-weight:800;letter-spacing:-1px}
.pom-brand-country{font-size:14px;letter-spacing:4px;font-weight:800;color:var(--pom-navy);margin-top:6px}
.pom-brand-tagline{display:inline-block;margin-top:8px;background:var(--pom-yellow);padding:4px 13px;font-size:13px;font-weight:800;color:#193646}
.pom-brand-tagline span{padding:0 7px;color:var(--pom-blue-dark)}
.pom-brand-right{display:flex;flex-direction:column;align-items:flex-end;gap:22px;min-width:390px}
.pom-quick-links{display:flex;align-items:center;gap:12px;color:#758492;font-size:14px;font-weight:700}
.pom-quick-links a{color:var(--pom-blue-dark)}
.pom-search{display:flex;width:min(430px,100%);height:48px}
.pom-search input{flex:1;border:1px solid #d6dfe5;border-right:0;padding:0 15px;font-size:15px;outline:none;border-radius:4px 0 0 4px}
.pom-search input:focus{border-color:var(--pom-teal)}
.pom-search button{width:58px;border:0;border-radius:0 4px 4px 0;background:var(--pom-teal);color:#fff;font-size:27px;font-weight:800;cursor:pointer}
.pom-header-tools{display:flex;align-items:flex-start;gap:26px}
.pom-contact-list{display:grid;grid-template-columns:auto auto;gap:14px 28px}
.pom-contact-item{display:flex;gap:10px;align-items:center;font-size:14px}
.pom-contact-item strong{display:block;color:var(--pom-navy);font-size:14px}
.pom-contact-item span{color:var(--pom-muted);font-size:13px}
.pom-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--pom-light);color:var(--pom-blue);font-weight:800}
.pom-header-button{background:var(--pom-yellow);color:#172f3f;padding:13px 19px;border-radius:5px;font-weight:800;white-space:nowrap;box-shadow:0 7px 18px rgba(0,0,0,.08)}
.pom-header-button:hover{background:#e2d92a;color:#172f3f}
.pom-header-contact-row{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-bottom:18px}
.pom-header-email{display:flex;align-items:center;gap:8px;color:var(--pom-navy);font-size:13px;font-weight:600}
.pom-header-email strong{font-weight:800}
.pom-email-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--pom-light);color:var(--pom-teal);font-size:14px}
.pom-emergency-button{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:180px;min-height:58px;padding:9px 17px;border-radius:5px;background:#d71920;color:#fff;text-align:center;line-height:1.2;box-shadow:0 8px 18px rgba(215,25,32,.22);transition:.2s ease}
.pom-emergency-button strong{font-size:18px;letter-spacing:.3px}
.pom-emergency-button span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}
.pom-emergency-button:hover{background:#b90f16;color:#fff;transform:translateY(-1px)}

/* Navigation - DAL-inspired structure */
.pom-nav{background:var(--pom-blue-dark);box-shadow:0 6px 18px rgba(4,55,84,.14);position:relative;z-index:20;border-top:4px solid var(--pom-yellow)}
.pom-nav .container{display:flex;align-items:stretch}
.pom-menu{list-style:none;margin:0;padding:0;display:flex;align-items:stretch;width:100%}
.pom-menu>li{position:relative}
.pom-menu>li>a{display:flex;align-items:center;gap:8px;color:#fff;padding:19px 22px;font-size:15px;font-weight:800;min-height:64px;white-space:nowrap}
.pom-menu>li>a:hover,.pom-menu>li.current-menu-item>a,.pom-menu>li.current_page_item>a{background:var(--pom-yellow);color:#172f3f}
.pom-menu .menu-item-has-children>a:after{content:"⌄";font-size:14px;line-height:1}
.pom-menu ul{position:absolute;left:0;top:100%;min-width:235px;background:#fff;list-style:none;padding:9px 0;margin:0;box-shadow:var(--pom-shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease;border-top:4px solid var(--pom-yellow)}
.pom-menu li:hover>ul,.pom-menu li:focus-within>ul{opacity:1;visibility:visible;transform:none}
.pom-menu ul a{display:block;padding:11px 18px;color:var(--pom-navy);font-size:14px;font-weight:700}
.pom-menu ul a:hover{background:var(--pom-light);color:var(--pom-blue-dark)}

/* Mobile nav */
.pom-mobile-toggle{display:none;border:0;background:transparent;color:#fff;font-size:28px;padding:12px}
.pom-mobile-nav{display:none}

/* Hero */
.pom-hero{position:relative;min-height:520px;overflow:hidden;background:
linear-gradient(110deg,rgba(6,63,104,.94) 0%,rgba(7,91,145,.82) 46%,rgba(35,143,159,.58) 100%),
radial-gradient(circle at 85% 25%,rgba(242,233,59,.4),transparent 28%),
linear-gradient(135deg,#075b91,#238f9f)}
.pom-hero:before{content:"";position:absolute;right:7%;top:55px;width:340px;height:340px;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:0 0 0 35px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.02)}
.pom-hero:after{content:"";position:absolute;inset:auto -8% -130px 40%;height:300px;background:rgba(242,233,59,.18);transform:rotate(-8deg);border-radius:50%}

/* POMGEN full-width four-image hero slider */
.pom-hero-slider{width:100%;max-width:none;min-height:0;height:clamp(480px,42vw,680px);background:#075b91;position:relative}
.pom-slider-track{height:100%;width:100%;position:relative;overflow:hidden}
.pom-slide{position:absolute;inset:0;width:100%;height:100%;background-size:cover;background-position:center;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s ease}
.pom-slide:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,43,68,.18),rgba(6,43,68,0) 68%)}
.pom-slide.is-active{opacity:1;visibility:visible;z-index:2}
.pom-slide .container{height:100%;display:flex;align-items:center;position:relative;z-index:3}
.pom-hero-slider .pom-hero-content{padding:70px 0;max-width:760px;text-shadow:0 2px 12px rgba(0,0,0,.12)}
.pom-hero-slider .pom-kicker{backdrop-filter:blur(2px)}
.pom-slider-arrow{position:absolute;z-index:8;top:50%;transform:translateY(-50%);width:50px;height:50px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(0,0,0,.18);color:#fff;font-size:42px;line-height:38px;cursor:pointer;display:grid;place-items:center;transition:.2s ease}
.pom-slider-arrow:hover{background:var(--pom-yellow);color:#173244;border-color:var(--pom-yellow)}
.pom-slider-prev{left:24px}.pom-slider-next{right:24px}
.pom-slider-dots{position:absolute;z-index:9;bottom:25px;left:50%;transform:translateX(-50%);display:flex;gap:9px}
.pom-slider-dots button{width:10px;height:10px;border:2px solid #fff;border-radius:50%;padding:0;background:rgba(255,255,255,.3);cursor:pointer;box-shadow:0 1px 5px rgba(0,0,0,.25)}
.pom-slider-dots button.is-active{background:var(--pom-yellow);border-color:var(--pom-yellow);transform:scale(1.25)}
@media(max-width:760px){
  .pom-hero-slider{height:clamp(500px,115vw,650px)}
  .pom-slide{background-position:66% center}
  .pom-slide .container{align-items:flex-end}
  .pom-hero-slider .pom-hero-content{padding:60px 0 75px;max-width:100%}
  .pom-hero-slider .pom-hero-content h1{font-size:clamp(36px,9vw,52px)}
  .pom-hero-slider .pom-hero-content p{font-size:16px;max-width:560px}
  .pom-slider-arrow{width:40px;height:40px;font-size:32px}
  .pom-slider-prev{left:12px}.pom-slider-next{right:12px}
  .pom-slider-dots{bottom:18px}
}
@media(max-width:480px){
  .pom-hero-slider{height:570px}
  .pom-slide{background-position:70% center}
  .pom-hero-slider .pom-hero-content{padding-bottom:72px}
  .pom-hero-slider .pom-buttons{gap:9px}
  .pom-hero-slider .pom-btn{padding:11px 15px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .pom-slide{transition:none}
}

.pom-hero .container{position:relative;z-index:2;min-height:510px;display:flex;align-items:center}
.pom-hero-content{max-width:720px;color:#fff;padding:70px 0}
.pom-kicker{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);padding:8px 14px;border-radius:30px;text-transform:uppercase;letter-spacing:1.5px;font-size:12px;font-weight:800}
.pom-kicker:before{content:"";width:9px;height:9px;background:var(--pom-yellow);border-radius:50%}
.pom-hero h1{font-size:clamp(42px,5.5vw,72px);line-height:1.06;margin:22px 0 20px;color:#fff;letter-spacing:-1.5px}
.pom-hero h1 span{color:var(--pom-yellow)}
.pom-hero p{font-size:19px;max-width:650px;color:rgba(255,255,255,.9);margin:0 0 30px}
.pom-buttons{display:flex;gap:14px;flex-wrap:wrap}
.pom-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 23px;border-radius:5px;font-weight:800;border:2px solid transparent}
.pom-btn-primary{background:var(--pom-yellow);color:#173244}
.pom-btn-primary:hover{background:#fff;color:var(--pom-blue-dark)}
.pom-btn-outline{border-color:rgba(255,255,255,.7);color:#fff}
.pom-btn-outline:hover{background:#fff;color:var(--pom-blue-dark)}

/* Quick cards */
.pom-quick-wrap{margin-top:-52px;position:relative;z-index:5}
.pom-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;box-shadow:var(--pom-shadow);border-radius:7px;overflow:hidden}
.pom-quick-card{padding:27px 28px;display:flex;gap:18px;align-items:flex-start;border-right:1px solid var(--pom-border)}
.pom-quick-card:last-child{border-right:0}
.pom-quick-card .pom-icon{width:48px;height:48px;flex:0 0 48px;background:var(--pom-light);font-size:18px}
.pom-quick-card h3{margin:0 0 4px;color:var(--pom-navy);font-size:18px}
.pom-quick-card p{margin:0;color:var(--pom-muted);font-size:14px}

/* General sections */
.pom-section{padding:88px 0}
.pom-section-alt{background:var(--pom-light)}
.pom-section-head{text-align:center;max-width:760px;margin:0 auto 44px}
.pom-eyebrow{margin:0 0 7px;color:var(--pom-teal);font-weight:900;text-transform:uppercase;letter-spacing:1.8px;font-size:12px}
.pom-section-head h2{margin:0;color:var(--pom-navy);font-size:clamp(32px,4vw,46px);line-height:1.15}
.pom-section-head h2:after{content:"";display:block;width:58px;height:4px;background:var(--pom-yellow);margin:16px auto 0;border-radius:5px}
.pom-section-head p{color:var(--pom-muted);margin:17px 0 0}

/* About */
.pom-about-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:65px;align-items:center}
.pom-about-image{min-height:390px;border-radius:9px;background:
linear-gradient(135deg,rgba(7,91,145,.94),rgba(35,143,159,.75)),
radial-gradient(circle at 75% 25%,rgba(242,233,59,.65),transparent 28%);position:relative;overflow:hidden;box-shadow:var(--pom-shadow)}
.pom-about-image:before{content:"POMGEN";position:absolute;right:-18px;bottom:-35px;color:rgba(255,255,255,.12);font-size:110px;font-weight:900}
.pom-about-content h2{font-size:42px;line-height:1.15;color:var(--pom-navy);margin:0 0 17px}
.pom-about-content p{color:var(--pom-muted)}
.pom-checks{list-style:none;padding:0;margin:24px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}
.pom-checks li{font-weight:700;color:var(--pom-navy)}
.pom-checks li:before{content:"✓";display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--pom-yellow);margin-right:9px;font-size:13px}

/* Cards */
.pom-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pom-card{background:#fff;border:1px solid var(--pom-border);border-radius:7px;overflow:hidden;transition:.25s ease}
.pom-card:hover{transform:translateY(-5px);box-shadow:var(--pom-shadow)}
.pom-card-media{height:180px;background:linear-gradient(135deg,var(--pom-blue-dark),var(--pom-teal));display:grid;place-items:center;color:#fff;font-size:44px;font-weight:900}
.pom-card-body{padding:24px}
.pom-card-body h3{margin:0 0 9px;color:var(--pom-navy);font-size:20px}
.pom-card-body p{margin:0;color:var(--pom-muted);font-size:14px}
.pom-card-link{display:inline-block;margin-top:17px;font-weight:800;color:var(--pom-blue-dark)}

/* Counters */
.pom-stats{background:var(--pom-blue-dark);color:#fff}
.pom-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;text-align:center}
.pom-stat{padding:14px}
.pom-stat strong{display:block;font-size:44px;line-height:1;color:var(--pom-yellow)}
.pom-stat span{display:block;margin-top:8px;font-weight:700;color:rgba(255,255,255,.85)}

/* Feature split */
.pom-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:stretch}
.pom-feature-box{background:#fff;border:1px solid var(--pom-border);padding:30px;border-radius:7px}
.pom-feature-box h3{color:var(--pom-navy);margin:0 0 10px;font-size:22px}
.pom-feature-box p{color:var(--pom-muted)}
.pom-feature-list{list-style:none;margin:20px 0 0;padding:0}
.pom-feature-list li{padding:13px 0;border-bottom:1px solid var(--pom-border);font-weight:700}
.pom-feature-list li:last-child{border-bottom:0}

/* Appointment */
.pom-appointment{background:linear-gradient(120deg,var(--pom-navy),var(--pom-blue-dark));color:#fff}
.pom-appointment-grid{display:grid;grid-template-columns:1fr .9fr;gap:55px;align-items:center}
.pom-appointment h2{font-size:42px;line-height:1.15;color:#fff;margin:0 0 15px}
.pom-appointment p{color:rgba(255,255,255,.82)}
.pom-appointment-form{background:#fff;padding:30px;border-radius:7px;box-shadow:var(--pom-shadow)}
.pom-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.pom-form-grid input,.pom-form-grid select,.pom-form-grid textarea{width:100%;padding:13px 14px;border:1px solid var(--pom-border);border-radius:4px;color:var(--pom-text);background:#fff}
.pom-form-grid textarea{min-height:105px;grid-column:1/-1}
.pom-form-grid .full{grid-column:1/-1}

/* Team/news */
.pom-team-grid,.pom-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pom-team-card,.pom-news-card{background:#fff;border:1px solid var(--pom-border);border-radius:7px;overflow:hidden}
.pom-team-photo{height:240px;background:linear-gradient(135deg,#dceef3,#9bcfd6);display:grid;place-items:center;color:var(--pom-blue-dark);font-size:60px;font-weight:900}
.pom-team-body,.pom-news-body{padding:22px}
.pom-team-body h3,.pom-news-body h3{margin:0;color:var(--pom-navy)}
.pom-team-body p,.pom-news-body p{color:var(--pom-muted);font-size:14px}
.pom-news-meta{color:var(--pom-teal);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:1px}

/* CTA */
.pom-cta{background:var(--pom-yellow);color:#183343;padding:55px 0}
.pom-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.pom-cta h2{margin:0;font-size:34px;line-height:1.2}
.pom-cta p{margin:8px 0 0;max-width:700px}

/* Footer */
.pom-footer{background:#0c2e45;color:#b9cad4}
.pom-footer-main{padding:65px 0 35px}
.pom-footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:45px}
.pom-footer h3{color:#fff;margin:0 0 17px;font-size:17px}
.pom-footer p{font-size:14px}
.pom-footer a{color:#cbd9e0;font-size:14px}
.pom-footer a:hover{color:var(--pom-yellow)}
.pom-footer-logo{width:250px;background:#fff;padding:8px;border-radius:4px;margin-bottom:14px}
.pom-footer-links{list-style:none;padding:0;margin:0}
.pom-footer-links li{margin:8px 0}
.pom-footer-bottom{border-top:1px solid rgba(255,255,255,.13);padding:20px 0;font-size:13px}
.pom-footer-bottom .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* Elementor / WP content */
.site-main{min-height:300px}
.entry-content{font-size:16px}
.entry-content h1{font-size:46px;color:var(--pom-navy);line-height:1.15}
.entry-content h2{font-size:38px;color:var(--pom-navy);line-height:1.2}
.entry-content h3{font-size:28px;color:var(--pom-navy);line-height:1.25}
.entry-content p{font-size:16px}
.alignwide{max-width:1200px;margin-left:auto;margin-right:auto}
.alignfull{width:100%;margin-left:0;margin-right:0}

/* Responsive */
@media(max-width:1000px){
  .pom-brand-row{display:block;min-height:0}
  .pom-brand-right{align-items:flex-start;min-width:0;margin-top:18px}
  .pom-quick-links{flex-wrap:wrap}
  .pom-header-contact-row{justify-content:flex-start;flex-wrap:wrap}
  .pom-search{width:100%;max-width:500px}
  .pom-header-tools{justify-content:space-between}
  .pom-menu>li>a{padding:18px 13px;font-size:13px}
  .pom-card-grid,.pom-team-grid,.pom-news-grid{grid-template-columns:repeat(2,1fr)}
  .pom-about-grid,.pom-appointment-grid,.pom-feature-grid{grid-template-columns:1fr;gap:35px}
  .pom-footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .container{width:min(100% - 30px,600px)}
  .pom-topbar .container{padding:8px 0}
  .pom-topbar-right{display:none}
  .pom-brand-row{padding:16px 0}
  .pom-brand-identity{gap:14px}
  .pom-logo{width:125px}
  .pom-brand-name{padding-left:14px;min-width:0}
  .pom-brand-name h1{font-size:26px}
  .pom-brand-kicker{font-size:10px;letter-spacing:1.5px}
  .pom-brand-country{font-size:10px;letter-spacing:2px}
  .pom-brand-tagline{font-size:10px;margin-top:5px}
  .pom-header-tools{display:block}
  .pom-contact-list{grid-template-columns:1fr 1fr;margin-bottom:15px}
  .pom-nav .container{justify-content:flex-end}
  .pom-menu{display:none}
  .pom-mobile-toggle{display:block}
  .pom-mobile-nav{display:none;background:#fff}
  .pom-mobile-nav.is-open{display:block}
  .pom-mobile-nav ul{list-style:none;padding:8px 15px;margin:0}
  .pom-mobile-nav li a{display:block;padding:11px 10px;border-bottom:1px solid var(--pom-border);font-weight:800;color:var(--pom-navy)}
  .pom-hero,.pom-hero .container{min-height:470px}
  .pom-hero-content{padding:55px 0}
  .pom-hero h1{font-size:43px}
  .pom-hero p{font-size:17px}
  .pom-quick-wrap{margin-top:0;padding-top:20px}
  .pom-quick-grid{grid-template-columns:1fr}
  .pom-quick-card{border-right:0;border-bottom:1px solid var(--pom-border)}
  .pom-quick-card:last-child{border-bottom:0}
  .pom-section{padding:65px 0}
  .pom-card-grid,.pom-team-grid,.pom-news-grid,.pom-stats-grid,.pom-footer-grid{grid-template-columns:1fr}
  .pom-stats-grid{gap:0}
  .pom-stat{border-bottom:1px solid rgba(255,255,255,.13)}
  .pom-checks{grid-template-columns:1fr}
  .pom-form-grid{grid-template-columns:1fr}
  .pom-form-grid textarea,.pom-form-grid .full{grid-column:auto}
  .pom-cta-inner{display:block}
  .pom-cta .pom-btn{margin-top:20px}
  .pom-footer-bottom .container{display:block}
}
@media(max-width:480px){
  .pom-brand-identity{align-items:flex-start}
  .pom-logo{width:105px}
  .pom-brand-name h1{font-size:21px}
  .pom-brand-country{font-size:8px;letter-spacing:1.5px}
  .pom-brand-tagline{font-size:9px;padding:3px 8px}
  .pom-contact-list{grid-template-columns:1fr}
  .pom-header-button{display:inline-block}
  .pom-hero h1{font-size:36px}
  .pom-section-head h2,.pom-about-content h2,.pom-appointment h2{font-size:32px}
}


/* =========================================================
   POMGEN v3.0 — THEME-ONLY MEDICAL SHELL
   Supplied reference: DAL-style header/menu proportions.
   All page content is intentionally controlled by Elementor.
   ========================================================= */
body{overflow-x:hidden}
.pom-elementor-main{min-height:260px;background:#fff;width:100%}
.pom-menu-empty{color:#fff;font-weight:700;padding:20px 0;flex:1}

/* Compact, balanced branding row */
.pom-brand-row{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:18px 0 16px;min-height:175px}
.pom-logo{display:block;width:185px;max-width:100%;height:auto}
.pom-brand-identity{display:flex;align-items:center;gap:20px;min-width:0}
.pom-brand-name{border-left:3px solid var(--pom-teal);padding-left:20px;min-width:330px}
.pom-brand-kicker{font-size:14px;font-weight:800;letter-spacing:2.3px;color:var(--pom-teal);margin-bottom:1px}
.pom-brand-name h1{margin:0;color:var(--pom-blue-dark);font-size:36px;line-height:1.05;font-weight:800;letter-spacing:-1px}
.pom-brand-country{font-size:14px;letter-spacing:4px;font-weight:800;color:var(--pom-navy);margin-top:6px}
.pom-brand-tagline{display:inline-block;margin-top:8px;background:var(--pom-yellow);padding:4px 13px;font-size:13px;font-weight:800;color:#193646}
.pom-brand-tagline span{padding:0 7px;color:var(--pom-blue-dark)}
.pom-brand-right{display:flex;flex-direction:column;align-items:flex-end;gap:18px;min-width:420px}
.pom-quick-links{display:flex;align-items:center;gap:12px;color:#758492;font-size:14px;font-weight:700}
.pom-quick-links a{color:var(--pom-blue-dark)}
.pom-header-contact-row{display:flex;align-items:center;justify-content:flex-end;gap:18px}
.pom-header-email{display:flex;align-items:center;gap:8px;color:var(--pom-navy);font-size:13px;font-weight:600}
.pom-header-email strong{font-weight:800}
.pom-email-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--pom-light);color:var(--pom-teal);font-size:14px}
.pom-emergency-button{display:flex;flex-direction:column;justify-content:center;align-items:center;min-width:180px;min-height:58px;padding:9px 17px;border-radius:5px;background:#d71920;color:#fff;text-align:center;line-height:1.2;box-shadow:0 8px 18px rgba(215,25,32,.22);transition:.2s ease}
.pom-emergency-button strong{font-size:18px}
.pom-emergency-button span{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}
.pom-emergency-button:hover{background:#b90f16;color:#fff;transform:translateY(-1px)}
.pom-search{display:flex;width:min(540px,100%);height:48px}
.pom-search input{flex:1;border:1px solid #d6dfe5;border-right:0;padding:0 15px;font-size:15px;outline:none;border-radius:4px 0 0 4px}
.pom-search input:focus{border-color:var(--pom-teal)}
.pom-search button{width:58px;border:0;border-radius:0 4px 4px 0;background:var(--pom-teal);color:#fff;font-size:27px;font-weight:800;cursor:pointer}

/* Reference-like main menu */
.pom-nav{background:#075b91;border-top:4px solid var(--pom-yellow);box-shadow:0 6px 18px rgba(4,55,84,.14);position:relative;z-index:20}
.pom-nav .container{min-height:68px;display:flex;align-items:stretch}
.pom-menu{list-style:none;margin:0;padding:0;display:flex;align-items:stretch;width:100%}
.pom-menu>li{position:relative}
.pom-menu>li>a{display:flex;align-items:center;gap:8px;color:#fff;padding:20px 22px;font-size:15px;font-weight:800;min-height:68px;white-space:nowrap}
.pom-menu>li>a:hover,.pom-menu>li.current-menu-item>a,.pom-menu>li.current_page_item>a{background:var(--pom-yellow);color:#173244}
.pom-menu>li.menu-item-has-children>a:after{content:"⌄";font-size:14px;line-height:1}
.pom-menu ul{position:absolute;left:0;top:100%;min-width:235px;background:#fff;list-style:none;padding:9px 0;margin:0;box-shadow:var(--pom-shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease;border-top:4px solid var(--pom-yellow)}
.pom-menu li:hover>ul,.pom-menu li:focus-within>ul{opacity:1;visibility:visible;transform:none}
.pom-menu ul a{display:block;padding:11px 18px;color:var(--pom-navy);font-size:14px;font-weight:700}
.pom-menu ul a:hover{background:var(--pom-light);color:var(--pom-blue-dark)}
.pom-mobile-toggle{display:none;border:0;background:transparent;color:#fff;font-size:28px;padding:12px}
.pom-mobile-nav{display:none}

/* Elementor takes over the page body */
.pom-elementor-main>.elementor{width:100%}
.pom-elementor-main>.elementor-section,.pom-elementor-main>.e-con{max-width:none}
.elementor-page .pom-elementor-main{width:100%}
.pom-elementor-main h1,.pom-elementor-main h2,.pom-elementor-main h3{font-family:Montserrat,Arial,sans-serif;color:var(--pom-navy)}
.pom-elementor-main p,.pom-elementor-main li{font-family:Montserrat,Arial,sans-serif;font-size:16px}

/* Keep legacy generated homepage sections disabled if cached template content exists. */
.pom-hero-slider,.pom-quick-wrap{display:none!important}

/* Responsive */
@media(max-width:1000px){
  .pom-brand-row{display:block;min-height:0}
  .pom-brand-right{align-items:flex-start;min-width:0;margin-top:18px}
  .pom-quick-links{flex-wrap:wrap}
  .pom-header-contact-row{justify-content:flex-start;flex-wrap:wrap}
  .pom-search{width:100%;max-width:540px}
  .pom-menu>li>a{padding-left:14px;padding-right:14px;font-size:13px}
}
@media(max-width:760px){
  .container{width:min(100% - 30px,600px)}
  .pom-topbar .container{padding:8px 0}
  .pom-topbar-right{display:none}
  .pom-brand-row{padding:16px 0}
  .pom-brand-identity{gap:14px}
  .pom-logo{width:125px}
  .pom-brand-name{padding-left:14px;min-width:0}
  .pom-brand-name h1{font-size:26px}
  .pom-brand-kicker{font-size:10px;letter-spacing:1.5px}
  .pom-brand-country{font-size:10px;letter-spacing:2px}
  .pom-brand-tagline{font-size:10px;margin-top:5px}
  .pom-header-contact-row{justify-content:flex-start}
  .pom-emergency-button{width:100%;max-width:240px}
  .pom-nav .container{justify-content:flex-end}
  .pom-menu{display:none}
  .pom-mobile-toggle{display:block}
  .pom-mobile-nav.is-open{display:block}
  .pom-mobile-nav ul{list-style:none;padding:8px 15px;margin:0}
  .pom-mobile-nav li a{display:block;padding:12px 10px;border-bottom:1px solid var(--pom-border);font-weight:800;color:var(--pom-navy)}
}
@media(max-width:480px){
  .pom-brand-identity{align-items:flex-start}
  .pom-logo{width:105px}
  .pom-brand-name h1{font-size:21px}
  .pom-brand-country{font-size:8px;letter-spacing:1.5px}
  .pom-brand-tagline{font-size:9px;padding:3px 8px}
  .pom-header-contact-row{display:block}
  .pom-header-email{margin-bottom:12px}
  .pom-emergency-button{max-width:none}
}


/* =========================================================
   POMGEN MEGA MENU
   Optional: enable on any top-level item from Appearance -> Menus.
   Designed to reproduce the supplied Medical Services reference:
   wide white panel, 6 columns, clean uppercase service links.
   ========================================================= */
.pom-menu > li.pom-mega-menu > ul {
  width: min(1180px, calc(100vw - 30px));
  min-width: 0;
  left: 50%;
  transform: translate(-50%, 8px);
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  border-top: 4px solid var(--pom-yellow);
  box-shadow: 0 18px 40px rgba(11,63,94,.16);
  overflow: hidden;
}
.pom-menu > li.pom-mega-menu:hover > ul,
.pom-menu > li.pom-mega-menu:focus-within > ul {
  transform: translate(-50%, 0);
}
.pom-menu > li.pom-mega-menu > ul > li {
  min-width: 0;
  padding: 16px 0 14px;
  border-right: 1px solid #e4eaee;
}
.pom-menu > li.pom-mega-menu > ul > li:last-child { border-right: 0; }
.pom-menu > li.pom-mega-menu > ul > li > a {
  display: block;
  padding: 8px 20px 12px;
  color: var(--pom-navy);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .2px;
  background: transparent;
}
.pom-menu > li.pom-mega-menu > ul > li > a:hover {
  color: var(--pom-blue-dark);
  background: #f3f9fb;
}
.pom-menu > li.pom-mega-menu > ul > li > ul {
  position: static;
  width: auto;
  min-width: 0;
  padding: 0 0 4px;
  margin: 0;
  border: 0;
  box-shadow: none;
  opacity: 1;
  visibility: visible;
  transform: none;
  background: transparent;
}
.pom-menu > li.pom-mega-menu > ul > li > ul > li > a {
  display: block;
  padding: 7px 20px;
  color: #3f4850;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}
.pom-menu > li.pom-mega-menu > ul > li > ul > li > a:hover {
  color: var(--pom-blue-dark);
  background: #f3f9fb;
}
/* When the menu item has no nested grandchildren, its direct children
   are simply treated as six equal columns, matching the reference. */
.pom-menu > li.pom-mega-menu > ul > li:not(.menu-item-has-children) > a {
  padding-top: 8px;
  padding-bottom: 8px;
}
@media (max-width: 1000px) {
  .pom-menu > li.pom-mega-menu > ul {
    width: calc(100vw - 30px);
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .pom-menu > li.pom-mega-menu > ul { display: none; }
  .pom-mobile-nav .pom-mega-menu > ul { display: block; position: static; width: auto; transform: none; box-shadow: none; border-top: 0; }
}


/* POMGEN dropdown submenu visibility fix
   Background remains exactly #218fa4 as requested.
   Text is white so submenu links are clearly visible. */
.pom-menu > li:not(.pom-mega-menu) > ul,
.pom-menu > li.pom-mega-menu > ul {
  background: #218fa4;
}
.pom-menu > li:not(.pom-mega-menu) > ul > li > a,
.pom-menu > li.pom-mega-menu > ul > li > a,
.pom-menu > li.pom-mega-menu > ul > li > ul > li > a {
  background: #218fa4;
  color: #ffffff;
}
.pom-menu > li:not(.pom-mega-menu) > ul > li > a:hover,
.pom-menu > li.pom-mega-menu > ul > li > a:hover,
.pom-menu > li.pom-mega-menu > ul > li > ul > li > a:hover {
  background: #218fa4;
  color: #ffffff;
}



/* =========================================================
   POMGEN v3.2.1 — FINAL SUBMENU VISIBILITY FIX
   Do not alter the menu structure. This only ensures that
   WordPress submenu links are visible above page content.
   ========================================================= */
.pom-nav,
.pom-nav .container,
.pom-menu,
.pom-menu > li,
.pom-menu > li > ul,
.pom-menu > li > ul > li {
  overflow: visible !important;
}

.pom-menu > li > ul,
.pom-menu > li.pom-mega-menu > ul {
  z-index: 99999 !important;
  background: #218fa4 !important;
}

.pom-menu > li:hover > ul,
.pom-menu > li:focus-within > ul,
.pom-menu > li.pom-mega-menu:hover > ul,
.pom-menu > li.pom-mega-menu:focus-within > ul {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.pom-menu > li > ul > li > a,
.pom-menu > li > ul > li > ul > li > a,
.pom-menu > li.pom-mega-menu > ul > li > a,
.pom-menu > li.pom-mega-menu > ul > li > ul > li > a {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #ffffff !important;
  background: #218fa4 !important;
  text-shadow: none !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
}

.pom-menu > li > ul > li > a:hover,
.pom-menu > li > ul > li > ul > li > a:hover,
.pom-menu > li.pom-mega-menu > ul > li > a:hover,
.pom-menu > li.pom-mega-menu > ul > li > ul > li > a:hover {
  color: #ffffff !important;
  background: #218fa4 !important;
}

/* Regular dropdowns: keep every submenu item inside the visible panel. */
.pom-menu > li:not(.pom-mega-menu) > ul {
  min-width: 235px !important;
  padding: 9px 0 !important;
}

/* Mega menu: keep the multi-column structure while forcing child links visible. */
.pom-menu > li.pom-mega-menu > ul > li > ul {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: static !important;
  background: transparent !important;
}

@media (max-width:760px){
  .pom-menu { overflow: hidden !important; }
  .pom-mobile-nav .pom-menu,
  .pom-mobile-nav .pom-menu > li,
  .pom-mobile-nav .pom-menu > li > ul { overflow: visible !important; }
}

/* =========================================================
   POMGEN v3.2.2 — SUBMENU CONTENT FORCE-VISIBILITY
   This is a CSS-only correction. It does not alter the
   WordPress menu structure or Mega Menu configuration.
   ========================================================= */
.pom-nav .pom-menu > li > ul {
  display: block !important;
  position: absolute !important;
  height: auto !important;
  min-height: 60px !important;
}

.pom-nav .pom-menu > li.pom-mega-menu > ul {
  display: grid !important;
  grid-auto-rows: min-content !important;
  align-items: start !important;
  height: auto !important;
  min-height: 120px !important;
}

.pom-nav .pom-menu > li > ul > li,
.pom-nav .pom-menu > li.pom-mega-menu > ul > li,
.pom-nav .pom-menu > li.pom-mega-menu > ul > li > ul > li {
  display: block !important;
  position: relative !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 34px !important;
  overflow: visible !important;
}

.pom-nav .pom-menu > li > ul > li > a,
.pom-nav .pom-menu > li.pom-mega-menu > ul > li > a,
.pom-nav .pom-menu > li.pom-mega-menu > ul > li > ul > li > a {
  position: relative !important;
  z-index: 100002 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #ffffff !important;
  background: #218fa4 !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  text-indent: 0 !important;
  white-space: normal !important;
}

.pom-nav .pom-menu > li.pom-mega-menu > ul > li > ul {
  display: block !important;
  position: static !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 1px !important;
  overflow: visible !important;
}

/* =========================================================
   POMGEN v3.2.3 — CENTERED MEGA MENU
   Keep the existing WordPress menu hierarchy intact.
   The mega-menu panel is centered relative to the full
   navigation bar so every submenu column remains visible.
   ========================================================= */
.pom-nav .pom-menu > li.pom-mega-menu {
  position: static !important;
}

.pom-nav .pom-menu > li.pom-mega-menu > ul {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  top: 100% !important;
  width: min(1180px, calc(100vw - 30px)) !important;
  min-width: 0 !important;
  margin: 0 !important;
  transform: translate(-50%, 8px) !important;
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  box-sizing: border-box !important;
  z-index: 999999 !important;
  overflow: visible !important;
}

.pom-nav .pom-menu > li.pom-mega-menu:hover > ul,
.pom-nav .pom-menu > li.pom-mega-menu:focus-within > ul {
  transform: translate(-50%, 0) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.pom-nav .pom-menu > li.pom-mega-menu > ul > li {
  min-width: 0 !important;
  width: auto !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.pom-nav .pom-menu > li.pom-mega-menu > ul > li > a,
.pom-nav .pom-menu > li.pom-mega-menu > ul > li > ul > li > a {
  color: #ffffff !important;
  background: #218fa4 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  white-space: normal !important;
  box-sizing: border-box !important;
}

@media (max-width: 1000px) and (min-width: 761px) {
  .pom-nav .pom-menu > li.pom-mega-menu > ul {
    width: calc(100vw - 30px) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* POMGEN v3.2.4 — MAIN MENU UPPERCASE ONLY
   Keep the existing menu structure and submenu styling intact. */
.pom-nav .pom-menu > li > a {
  text-transform: uppercase !important;
}

/* Keep the mobile version consistent with the desktop main menu. */
.pom-mobile-nav .mobile-menu > li > a {
  text-transform: uppercase !important;
}


/* POMGEN v3.2.5 — MAIN MENU LABELS UPPERCASE
   High-specificity fallback for desktop and mobile. Submenus remain unchanged. */
html body .pom-nav ul.pom-menu > li > a,
html body .pom-nav ul.pom-menu > li > a span,
html body .pom-mobile-nav ul.mobile-menu > li > a,
html body .pom-mobile-nav ul.mobile-menu > li > a span {
  text-transform: uppercase !important;
}


/* POMGEN v3.2.6 — Book Appointment utility link.
   Added before Media Release; existing header/menu structure remains intact. */
.pom-brand-right .pom-quick-links .pom-appointment-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 16px;
  margin-right:6px;
  background:#2573bb;
  color:#fff !important;
  border-radius:6px;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 5px 14px rgba(37,115,187,.18);
  transition:background .2s ease,transform .2s ease,box-shadow .2s ease;
}
.pom-brand-right .pom-quick-links .pom-appointment-link:hover,
.pom-brand-right .pom-quick-links .pom-appointment-link:focus {
  background:#14598e;
  color:#fff !important;
  transform:translateY(-1px);
  box-shadow:0 7px 18px rgba(20,89,142,.24);
}
@media(max-width:760px){
  .pom-brand-right .pom-quick-links .pom-appointment-link {
    min-height:34px;
    padding:7px 12px;
  }
}


/* =========================================================
   POMGEN v3.2.7 — Top Bar Custom Items + Footer Widgets
   Added without changing the existing header/menu structure.
   ========================================================= */
.pom-topbar-right{display:flex;align-items:center;justify-content:flex-end;gap:20px;flex-wrap:wrap}
.pom-topbar-right a{white-space:nowrap}
.pom-footer-widgets{background:#0b3954;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10);padding:32px 0}
.pom-footer-widget-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.pom-footer-widget-column{min-width:0}
.pom-footer-widget .widget-title{color:#fff;margin:0 0 12px;font-size:16px;font-weight:800}
.pom-footer-widget p,.pom-footer-widget li,.pom-footer-widget a{font-size:14px}
.pom-footer-widget ul{margin:0;padding-left:18px}
.pom-footer-widget-placeholder{min-height:80px;border:1px dashed rgba(255,255,255,.22);border-radius:8px;padding:20px;color:rgba(255,255,255,.55);font-size:13px;text-align:center}
.pom-footer-legal{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pom-footer-legal a{font-size:13px}
@media(max-width:900px){
  .pom-footer-widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .pom-topbar-right{display:flex;justify-content:flex-start;gap:12px}
  .pom-footer-widget-grid{grid-template-columns:1fr}
  .pom-footer-legal{justify-content:flex-start;margin-top:10px}
}


/* POMGEN v3.2.8 — Social media icons beside Book Appointment. */
.pom-quick-links .pom-social-links{display:inline-flex;align-items:center;gap:7px;margin-right:3px;}
.pom-quick-links .pom-social-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:#eef7fa;color:var(--pom-blue-dark)!important;text-decoration:none!important;border:1px solid rgba(31,144,162,.16);transition:all .2s ease;}
.pom-quick-links .pom-social-icon svg{width:17px;height:17px;fill:currentColor;display:block;}
.pom-quick-links .pom-social-icon:hover,.pom-quick-links .pom-social-icon:focus{background:var(--pom-teal);color:#fff!important;border-color:var(--pom-teal);transform:translateY(-1px);box-shadow:0 5px 12px rgba(31,144,162,.22);}
@media(max-width:760px){
  .pom-quick-links .pom-social-links{gap:6px;margin:0;}
  .pom-quick-links .pom-social-icon{width:32px;height:32px;}
  .pom-quick-links .pom-social-icon svg{width:16px;height:16px;}
}


/* POMGEN v3.2.9 — Footer widget placeholders removed. Empty widget areas remain available for manual population. */

/* =========================================================
   POMGEN — ELEMENTOR EDITOR MENU ISOLATION FIX
   Elementor editing mode only.
   This prevents the public dropdown / Mega Menu from opening
   over the Elementor editing canvas while editing a page.
   Normal visitors and the live website are unchanged.
   ========================================================= */
body.elementor-editor-active .pom-nav .pom-menu > li > ul,
body.elementor-editor-active .pom-nav .pom-menu > li.pom-mega-menu > ul,
body.elementor-editor-preview .pom-nav .pom-menu > li > ul,
body.elementor-editor-preview .pom-nav .pom-menu > li.pom-mega-menu > ul {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}

body.elementor-editor-active .pom-nav .pom-menu > li:hover > ul,
body.elementor-editor-active .pom-nav .pom-menu > li:focus-within > ul,
body.elementor-editor-active .pom-nav .pom-menu > li.pom-mega-menu:hover > ul,
body.elementor-editor-active .pom-nav .pom-menu > li.pom-mega-menu:focus-within > ul,
body.elementor-editor-preview .pom-nav .pom-menu > li:hover > ul,
body.elementor-editor-preview .pom-nav .pom-menu > li:focus-within > ul,
body.elementor-editor-preview .pom-nav .pom-menu > li.pom-mega-menu:hover > ul,
body.elementor-editor-preview .pom-nav .pom-menu > li.pom-mega-menu:focus-within > ul {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
}

/* Keep top-level navigation available, but make its submenu area
   completely non-interactive while Elementor is being edited. */
body.elementor-editor-active .pom-nav .pom-menu > li > ul *,
body.elementor-editor-preview .pom-nav .pom-menu > li > ul * {
  pointer-events: none !important;
}

/* =========================================================
   POMGEN — TOP-LEVEL SUBMENU ISOLATION FIX
   v3.3.3
   Keeps the existing menu design intact. When a top-level
   item is active/hovered, only that item's submenu is allowed
   to receive pointer events. This prevents another top-level
   mega menu from appearing while moving into a submenu.
   ========================================================= */
.pom-nav .pom-menu > li.pomgen-menu-active > ul {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.pom-nav .pom-menu > li:not(.pomgen-menu-active) > ul {
  pointer-events: none !important;
}

/* =========================================================
   POMGEN v3.3.4 — FULL-WIDTH NAV + HOMEPAGE HERO ALIGNMENT
   Layout-only correction. Existing menu hierarchy, submenu
   behavior, colors, typography and Elementor content remain intact.
   ========================================================= */
@media (min-width: 761px) {
  /* The main navigation must use the complete viewport width.
     The previous 1200px container caused the menu items to overflow,
     leaving a blank area on the left and clipping Contact on the right. */
  .pom-nav .container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .pom-nav .pom-menu {
    width: 100% !important;
    min-width: 0 !important;
  }

  .pom-nav .pom-menu > li {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }

  .pom-nav .pom-menu > li > a {
    width: 100% !important;
    justify-content: center !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    min-width: 0 !important;
  }
}

/* Homepage Elementor hero: make the first Elementor section/container
   full-bleed so its left and right edges align with the full-width nav. */
body.home .pom-elementor-main > .elementor > .elementor-section:first-child,
body.home .pom-elementor-main > .elementor > .e-con:first-child {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

body.home .pom-elementor-main > .elementor > .elementor-section:first-child > .elementor-container {
  max-width: none !important;
}

@media (max-width: 760px) {
  /* Preserve the existing mobile navigation behavior. */
  .pom-nav .container {
    width: 100% !important;
    max-width: none !important;
  }
}



/* =========================================================
   POMGEN v3.3.8 — REMOVE BLANK TOP-LEVEL MENU SPACER
   Hides a top-level menu item whose visible label is empty,
   including custom links whose URL is '#'. No other menu item
   is changed.
   ========================================================= */
.pom-nav .pom-menu > li.pomgen-empty-top-item {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  flex: 0 0 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.pom-nav .pom-menu > li.pomgen-empty-top-item > a {
  display: none !important;
}


/* =========================================================
   POMGEN v3.3.9 — FINAL NAVIGATION ALIGNMENT CORRECTION
   Targeted fix only: remove the unintended blank top-level
   spacer and let real menu labels size naturally across the
   full-width navigation. This avoids the overlap introduced
   by equal-width flex items while keeping the existing menu
   hierarchy, dropdowns and mega menu intact.
   ========================================================= */
@media (min-width: 761px) {
  .pom-nav .container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .pom-nav .pom-menu {
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    gap: 0 !important;
  }

  /* Undo the equal 1/8 widths from v3.3.4-v3.3.8. */
  .pom-nav .pom-menu > li {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .pom-nav .pom-menu > li > a {
    width: auto !important;
    min-width: 0 !important;
    justify-content: center !important;
    padding: 20px clamp(10px, 1.25vw, 22px) !important;
    white-space: nowrap !important;
  }

  /* A blank top-level item must never occupy navigation space. */
  .pom-nav .pom-menu > li.pomgen-empty-top-item,
  .pom-nav .pom-menu > li.pomgen-nav-spacer {
    display: none !important;
    width: 0 !important;
    flex: 0 0 0 !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .pom-nav .pom-menu > li.pomgen-empty-top-item > a,
  .pom-nav .pom-menu > li.pomgen-nav-spacer > a {
    display: none !important;
  }
}

/* Full-width Elementor page shell: remove the theme's 24px
   outer container gutter while preserving Elementor's own
   internal content widths. */
.pom-elementor-main {
  width: 100% !important;
  max-width: none !important;
}
.pom-elementor-main > .elementor {
  width: 100% !important;
  max-width: none !important;
}
.pom-elementor-main > .elementor > .elementor-section:first-child,
.pom-elementor-main > .elementor > .e-con:first-child {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}


/* =========================================================
   POMGEN v3.3.13 — NAVIGATION GAP FIX ONLY
   Keep the working v3.3.9 navigation structure. Remove the
   visible blue space between adjacent top-level items by
   using a contiguous flex layout. Long labels keep their
   natural width and share the remaining space.
   ========================================================= */
@media (min-width: 761px) {
  .pom-nav .pom-menu {
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    width: 100% !important;
  }

  .pom-nav .pom-menu > li {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .pom-nav .pom-menu > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-left: clamp(8px, 1vw, 18px) !important;
    padding-right: clamp(8px, 1vw, 18px) !important;
    white-space: nowrap !important;
  }
}

/* =========================================================
   POMGEN v3.3.15 — HOME / ABOUT US ZERO-GAP FINAL
   Remove the temporary visual separator. HOME and ABOUT US
   now meet directly, exactly like the other adjacent menu items.
   No menu width, height, colors, hierarchy or dropdown behavior
   is changed.
   ========================================================= */
@media (min-width: 761px) {
  .pom-nav .pom-menu > li:first-child {
    border-right: 0 !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
  }

  .pom-nav .pom-menu > li:first-child > a {
    border-right: 0 !important;
    margin-right: 0 !important;
  }
}
