/* Villages of Kapolei — modern, Hawaiian. */
:root{
  --voka-deep:#0b3a3c;      /* deep ocean */
  --voka-teal:#0f766e;      /* lagoon */
  --voka-surf:#3aa8a0;      /* shallow water */
  --voka-sand:#f6f1e7;      /* sand */
  --voka-shell:#fffdf9;     /* shell white */
  --voka-ink:#132321;       /* text */
  --voka-mute:#5d6b69;
  --voka-sun:#e8833a;       /* sunset accent */
  --voka-line:#e3ded2;
  --voka-radius:14px;
}

body{ background:var(--voka-shell); color:var(--voka-ink); }

.voka-page{
  max-width:1080px; margin:0 auto; padding:0 24px 72px;
  font-size:17px; line-height:1.7;
}

/* --- hero --- */
.voka-hero{
  position:relative; margin-bottom:48px; padding:72px 40px;
  border-radius:var(--voka-radius);
  background:linear-gradient(135deg,var(--voka-deep) 0%,var(--voka-teal) 55%,var(--voka-surf) 100%);
  color:#fff; overflow:hidden;
}
.voka-hero::after{
  /* soft wave band */
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:56px;
  background:radial-gradient(ellipse 60% 100% at 20% 0,transparent 60%,var(--voka-shell) 61%),
             radial-gradient(ellipse 60% 100% at 70% 0,transparent 60%,var(--voka-shell) 61%);
  background-size:52% 100%, 52% 100%;
  background-position:left bottom, right bottom;
  background-repeat:no-repeat;
}
.voka-hero h1{
  margin:0; color:#fff; font-size:clamp(30px,4.6vw,52px); line-height:1.12;
  letter-spacing:-.02em; font-weight:700; position:relative; z-index:1;
}
.voka-hero .voka-kicker{
  display:inline-block; margin:0 0 14px; padding:5px 14px; border-radius:999px;
  background:rgba(255,255,255,.16); font-size:12px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; position:relative; z-index:1;
}

/* --- typography --- */
.voka-page h2{
  margin:44px 0 14px; font-size:clamp(23px,2.6vw,32px); line-height:1.22;
  letter-spacing:-.015em; color:var(--voka-deep); font-weight:700;
}
.voka-page h2::after{
  content:""; display:block; width:52px; height:3px; margin-top:12px;
  border-radius:3px; background:var(--voka-sun);
}
.voka-page h3{ margin:30px 0 10px; font-size:20px; color:var(--voka-deep); font-weight:700; }
.voka-page p{ margin:0 0 18px; color:var(--voka-ink); }
.voka-page a{ color:var(--voka-teal); text-decoration:underline; text-underline-offset:3px; }
.voka-page a:hover{ color:var(--voka-sun); }

/* --- lists --- */
.voka-page ul,.voka-page ol{ margin:0 0 22px; padding-left:22px; }
.voka-page li{ margin:0 0 9px; }

/* --- media --- */
.voka-page img{
  max-width:100%; height:auto; display:block;
  border-radius:var(--voka-radius); margin:22px 0;
}

/* --- documents: any link to a PDF becomes a card --- */
.voka-page a[href$=".pdf"]{
  display:inline-flex; align-items:center; gap:10px;
  margin:0 10px 10px 0; padding:12px 18px;
  background:var(--voka-sand); border:1px solid var(--voka-line);
  border-radius:10px; text-decoration:none; font-weight:600;
  color:var(--voka-deep); transition:.15s ease;
}
.voka-page a[href$=".pdf"]::before{ content:"\1F4C4"; font-size:17px; }
.voka-page a[href$=".pdf"]:hover{
  background:#fff; border-color:var(--voka-surf); color:var(--voka-teal);
  transform:translateY(-1px);
}

/* --- tables --- */
.voka-page table{
  width:100%; border-collapse:collapse; margin:22px 0; font-size:15px;
  border:1px solid var(--voka-line); border-radius:var(--voka-radius); overflow:hidden;
}
.voka-page th{
  background:var(--voka-deep); color:#fff; text-align:left;
  padding:12px 14px; font-weight:600;
}
.voka-page td{ padding:12px 14px; border-top:1px solid var(--voka-line); }
.voka-page tr:nth-child(even) td{ background:var(--voka-sand); }

/* --- village grid (home) --- */
.voka-villages{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px; margin:26px 0 40px; padding:0; list-style:none;
}
.voka-villages li{
  margin:0; padding:22px 18px; border-radius:var(--voka-radius);
  background:var(--voka-sand); border:1px solid var(--voka-line);
  font-weight:700; color:var(--voka-deep); text-align:center;
}

@media(max-width:640px){
  .voka-hero{ padding:48px 24px; }
  .voka-page{ padding:0 18px 56px; font-size:16px; }
}

/* photo hero + home blocks */
.voka-hero--photo{background-image:linear-gradient(135deg,rgba(11,58,60,.88),rgba(15,118,110,.72)),var(--voka-photo);background-size:cover;background-position:center;padding:110px 40px;}
.voka-hero p{position:relative;z-index:1;margin:14px 0 0;max-width:56ch;font-size:18px;color:rgba(255,255,255,.92);}
.voka-cta{display:inline-block;margin-top:22px;padding:13px 28px;border-radius:999px;background:var(--voka-sun);color:#fff !important;text-decoration:none !important;font-weight:700;position:relative;z-index:1;}
.voka-cta:hover{background:#fff;color:var(--voka-deep) !important;}
.voka-split{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center;margin:40px 0;}
.voka-split img{margin:0;border-radius:var(--voka-radius);}
@media(max-width:820px){.voka-split{grid-template-columns:1fr;}}
.voka-page .voka-villages li{transition:.15s ease;}
.voka-page .voka-villages li:hover{background:#fff;border-color:var(--voka-surf);transform:translateY(-2px);}

/* ---- theme header / title fixes ---- */
.page .page-header,.page .entry-header,.page .entry-title,.page-header .entry-title{display:none !important;}
.site-header{background:var(--voka-deep) !important;padding:14px 24px !important;}
.site-header .site-branding,.site-header .site-title,.site-header .site-title a{color:#fff !important;text-decoration:none !important;}
.site-header .site-title{font-size:22px !important;font-weight:700 !important;letter-spacing:-.01em;margin:0 !important;}
.site-header .site-navigation ul{display:flex !important;flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;list-style:none;align-items:center;}
.site-header .site-navigation a{color:rgba(255,255,255,.86) !important;text-decoration:none !important;font-size:14px;font-weight:500;padding:6px 0;white-space:nowrap;}
.site-header .site-navigation a:hover{color:#fff !important;}
.site-header .site-navigation .current-menu-item>a{color:#fff !important;border-bottom:2px solid var(--voka-sun);}
.site-header>*{max-width:1180px;margin-inline:auto;}
.site-header .header-inner{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;}
.voka-page{padding-top:28px;}
.site-footer{background:var(--voka-deep);color:rgba(255,255,255,.8);padding:32px 24px;margin-top:60px;}
.site-footer a{color:#fff;}

.voka-villages--photo li{padding:0;overflow:hidden;position:relative;min-height:150px;display:flex;align-items:flex-end;border:0;}
.voka-villages--photo li img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;margin:0;border-radius:0;}
.voka-villages--photo li span{position:relative;z-index:1;width:100%;padding:34px 14px 14px;color:#fff;font-weight:700;font-size:16px;background:linear-gradient(transparent,rgba(11,58,60,.9));}
.custom-logo{max-height:52px;width:auto;}

/* ---- header v2 (real Hello Elementor classes) ---- */
header.site-header{background:var(--voka-deep) !important;height:auto !important;min-height:0 !important;padding:10px 24px !important;display:block !important;position:relative;z-index:300;box-shadow:0 1px 0 rgba(255,255,255,.08);}
header.site-header .header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px 28px;flex-wrap:wrap;}
header.site-header .site-branding{display:flex;align-items:center;gap:12px;flex:0 0 auto;}
header.site-header .site-description{display:none !important;}
header.site-header .site-title,header.site-header .site-title a{color:#fff !important;text-decoration:none !important;font-size:19px;font-weight:700;margin:0;}
header.site-header .custom-logo{max-height:46px;width:auto;display:block;}
header.site-header nav.site-navigation{flex:1 1 auto;display:flex;justify-content:flex-end;}
header.site-header nav.site-navigation ul.menu{display:flex !important;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:2px 20px;margin:0;padding:0;list-style:none;}
header.site-header nav.site-navigation ul.menu li{margin:0;}
header.site-header nav.site-navigation ul.menu li a{color:rgba(255,255,255,.85) !important;text-decoration:none !important;font-size:13.5px;font-weight:500;letter-spacing:.01em;white-space:nowrap;padding:5px 0;display:block;border-bottom:2px solid transparent;}
header.site-header nav.site-navigation ul.menu li a:hover{color:#fff !important;}
header.site-header nav.site-navigation ul.menu li.current-menu-item a{color:#fff !important;border-bottom-color:var(--voka-sun);}
header.site-header nav.site-navigation-dropdown ul.menu li a{color:var(--voka-deep) !important;}
.voka-page{padding-top:0;}
.voka-hero{margin-top:0;}
@media(max-width:1100px){header.site-header nav.site-navigation ul.menu{gap:2px 14px;} header.site-header nav.site-navigation ul.menu li a{font-size:12.5px;}}

/* hero v2 */
.voka-hero::after{display:none !important;}
.voka-hero{box-shadow:0 18px 46px -22px rgba(11,58,60,.55);}
.voka-hero--photo{padding:120px 48px;}
