/*
Theme Name: Pacific Golf Agency 2026
Description: Pacific Golf Agency, LLC website (October 2026 redesign). Home, About Us and Contact Us layouts live in front-page.php, page-about-us.php and page-contact-us.php.
Author: Pacific Golf Agency
Version: 1.0.3
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: pga2026
*/

:root{
  --pga-blue:#005880;
  --pga-deep:#003B57;
  --pga-ink:#10222D;
  --pga-body:#2E4552;
  --pga-muted:#475B66;
  --pga-pale:#CFE0E9;
  --pga-mist:#E6EFF4;
  --pga-ground:#F3F7F9;
  --pga-line:#DCE6EB;
}
*{box-sizing:border-box}
body{margin:0;background:#FFFFFF;color:var(--pga-ink);font-family:'Source Sans 3',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%}
body{display:flex;flex-direction:column;min-height:100vh}
main{flex:1 0 auto}
.site-header,.site-footer{flex:none}
a{color:var(--pga-blue)}a:hover{color:var(--pga-deep)}
h1,h2,h3{font-family:Archivo,'Source Sans 3',sans-serif}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip:auto;background:#fff;color:var(--pga-deep);padding:10px 16px;z-index:100000;border-radius:6px}
.wrap{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}

/* Header */
.site-header{background:#FFFFFF;border-bottom:1px solid var(--pga-line)}
.site-header .wrap{padding-top:16px;padding-bottom:16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.site-header .logo img{height:56px;width:auto;display:block}
.main-nav{display:flex;flex-wrap:wrap;align-items:center;gap:28px;font-weight:600;font-size:17px}
.navlink{color:var(--pga-ink);text-decoration:none}
.navlink:hover{color:var(--pga-blue);text-decoration:underline}
.navlink.current{color:var(--pga-blue);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}

/* Buttons */
.btn{display:inline-flex;align-items:center;min-height:44px;padding:14px 26px;border-radius:6px;font-weight:700;text-decoration:none;border:2px solid transparent;line-height:1.2}
.btn:hover{filter:brightness(1.12)}
.btn-primary{background:var(--pga-blue);color:#FFFFFF}
.btn-primary:hover{color:#FFFFFF}
.btn-nav{padding:12px 22px}
.btn-nav.current{background:var(--pga-deep)}
.btn-light{background:#FFFFFF;color:var(--pga-deep)}
.btn-light:hover{color:var(--pga-deep)}
.btn-ghost{background:transparent;color:#FFFFFF;border-color:#FFFFFF}
.btn-ghost:hover{color:#FFFFFF}
.btn-row{display:flex;flex-wrap:wrap;gap:16px}

/* Type helpers */
.eyebrow{margin:0 0 14px;font-family:Archivo,sans-serif;font-weight:700;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--pga-blue)}
.h2{margin:0 0 16px;font-weight:800;font-size:42px;line-height:1.15;color:var(--pga-deep)}
.lead{font-size:20px;color:var(--pga-body)}
.body{color:var(--pga-body)}

/* Sections */
.section{padding:88px 0}
.section-ground{background:var(--pga-ground)}
.section-mist{background:var(--pga-mist)}
.section-deep{background:var(--pga-deep);color:#FFFFFF}
.split{display:flex;flex-wrap:wrap;align-items:center;gap:56px}
.split > *{min-width:0}

/* Hero */
.hero{position:relative;overflow:hidden;background:var(--pga-deep);min-height:640px;display:flex;align-items:flex-end}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;display:block}
.hero .wrap{position:relative;width:100%;padding-top:160px;padding-bottom:64px}
.hero-panel{background:rgba(0,43,64,.82);border-radius:12px;padding:40px;max-width:680px}
.hero-panel .eyebrow{color:var(--pga-pale)}
.hero-panel h1{margin:0 0 20px;font-weight:800;font-size:56px;line-height:1.05;color:#FFFFFF}
.hero-panel p.lead{margin:0 0 28px;color:var(--pga-mist)}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;padding-top:56px;padding-bottom:56px}
.stat-num{margin:0;font-family:Archivo,sans-serif;font-weight:800;font-size:52px;line-height:1}
.stat-label{margin:10px 0 0;font-size:17px;color:var(--pga-pale)}

/* Cards */
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.card{background:var(--pga-ground);border-radius:10px;padding:32px}
.card-white{background:#FFFFFF}
.card h3{margin:16px 0 8px;font-weight:700;font-size:24px;color:var(--pga-deep)}
.card-white h3{margin:0 0 10px;font-size:23px}
.card p{margin:0;color:var(--pga-body)}

figure{margin:0}
.photo{width:100%;height:420px;object-fit:cover;border-radius:10px;display:block}
figcaption{margin-top:12px;font-size:15px;color:var(--pga-muted)}

.range-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.range-list li{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--pga-pale);padding-bottom:10px}
.range-list .name{font-weight:600}
.range-list .detail{color:var(--pga-muted);text-align:right}

.topline{border-top:4px solid var(--pga-blue);padding-top:20px}
.topline h3{margin:0 0 8px;font-weight:700;font-size:22px;color:var(--pga-deep)}
.topline p{margin:0;color:var(--pga-body)}
.section-deep .topline{border-top-color:var(--pga-pale)}
.section-deep .topline h3{color:#FFFFFF}
.section-deep .topline p{color:var(--pga-pale)}

.cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.cta h2{margin:0 0 8px;font-weight:800;font-size:36px;line-height:1.15;color:var(--pga-deep)}
.cta p{margin:0;color:var(--pga-body)}

/* About */
.page-intro{padding:72px 0 56px}
.page-intro h1{margin:0 0 20px;font-weight:800;font-size:54px;line-height:1.08;color:var(--pga-deep);max-width:820px}
.page-intro p.lead{margin:0;font-size:21px;max-width:760px}
.bio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:40px}
.bio{border:1px solid var(--pga-line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.bio img{width:100%;height:420px;object-fit:cover;display:block}
.bio-body{padding:32px;display:flex;flex-direction:column;gap:16px}
.bio h2{margin:0;font-weight:800;font-size:32px;color:var(--pga-deep)}
.bio .role{margin:4px 0 0;font-weight:600;color:var(--pga-blue)}
.bio p{margin:0;color:var(--pga-body)}
.bio ul{margin:0;padding-left:22px;color:var(--pga-body);display:grid;gap:8px}
.bio .also{padding-top:16px;border-top:1px solid var(--pga-line)}

/* Contact */
.contact-info{display:grid;gap:28px}
.contact-item{display:flex;gap:16px;align-items:flex-start}
.contact-item svg{flex:none;margin-top:2px}
.contact-item p{margin:0}
.contact-card{background:#FFFFFF;border:1px solid var(--pga-line);border-radius:12px;padding:36px}
.contact-card .gform_wrapper.gravity-theme .gfield_label,.contact-card .gform_wrapper .gfield_label{font-weight:600;font-size:17px;color:var(--pga-ink)}
.contact-card .gform_wrapper input[type=text],.contact-card .gform_wrapper input[type=email],.contact-card .gform_wrapper input[type=tel],.contact-card .gform_wrapper textarea{width:100%;border:1px solid #9FB4BF;border-radius:6px;padding:12px 14px;font:inherit;font-size:17px;color:var(--pga-ink);background:#FFFFFF;min-height:48px}
.contact-card .gform_wrapper input:focus,.contact-card .gform_wrapper textarea:focus{outline:3px solid #7FABBF;outline-offset:1px;border-color:var(--pga-blue)}
.contact-card .gform_wrapper .gform_footer input[type=submit],.contact-card .gform_wrapper .gform_footer button,.contact-card .gform_wrapper .gform_button{background:var(--pga-blue)!important;color:#FFFFFF!important;border:none!important;padding:16px 32px!important;border-radius:6px!important;font:inherit!important;font-weight:700!important;min-height:48px;cursor:pointer}
.contact-card .gform_wrapper .gform_footer input[type=submit]:hover{filter:brightness(1.12)}
.contact-card .gform_confirmation_message{font-size:20px;color:var(--pga-deep);font-weight:600}
.gform_wrapper .gform_validation_container,.gform_wrapper .gfield--type-honeypot{display:none!important;position:absolute!important;left:-9000px!important}
.contact-card .gform_fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0;padding:0;list-style:none}
.contact-card .gfield{margin:0;padding:0;grid-column:1 / -1}
.contact-card .gfield.gf-half{grid-column:auto}
.contact-card .gfield_label{display:block;margin:0 0 6px}
.contact-card .gfield_required{margin-left:6px;font-weight:400;font-size:14px;color:#8A2F2F}
.contact-card .gform_wrapper textarea{min-height:170px;resize:vertical}
.contact-card .gform_footer{margin:24px 0 0;padding:0}
.contact-card .gfield_description,.contact-card .validation_message{margin-top:6px;font-size:15px}
.contact-card .gfield_error input,.contact-card .gfield_error textarea{border-color:#8A2F2F}
.contact-card .validation_message,.contact-card .gform_validation_errors{color:#8A2F2F}
.contact-card .gform_validation_errors{border:1px solid #8A2F2F;border-radius:6px;padding:12px 16px;margin-bottom:20px}
@media (max-width:600px){.contact-card .gfield.gf-half{grid-column:1 / -1}}

/* Full width pages */
.full-width-entry{width:100%}
.page-content .post-password-form input[type=password]{border:1px solid #9FB4BF;border-radius:6px;padding:10px 12px;font:inherit;min-height:44px}
.page-content .post-password-form input[type=submit]{background:var(--pga-blue);color:#fff;border:none;border-radius:6px;padding:10px 20px;font:inherit;font-weight:700;min-height:44px;cursor:pointer}

/* Generic pages */
.page-content{padding:56px 0 88px}
.page-content h1.page-title{margin:0 0 24px;font-weight:800;font-size:44px;line-height:1.1;color:var(--pga-deep)}
.page-content .entry{color:var(--pga-body)}

/* Footer */
.site-footer{background:var(--pga-blue);color:#FFFFFF}
.site-footer .wrap{padding-top:40px;padding-bottom:40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.site-footer img{height:64px;width:auto;display:block}
.footer-nav{display:flex;flex-wrap:wrap;gap:24px;font-weight:600}
.site-footer a{color:#FFFFFF}.site-footer a:hover{color:var(--pga-pale)}
.copyright{margin:0;font-size:15px;color:var(--pga-pale);flex-basis:100%}

@media (max-width:700px){
  .hero{min-height:560px}
  .hero .wrap{padding-top:120px;padding-bottom:32px}
  .hero-panel{padding:28px}
  .hero-panel h1{font-size:38px}
  .h2{font-size:32px}
  .page-intro h1{font-size:38px}
  .section{padding:64px 0}
  .photo{height:280px}
  .bio img{height:360px}
  .bio-grid{grid-template-columns:1fr}
  .stat-num{font-size:44px}
  .contact-card{padding:24px}
}
