/* ── GOLFPQ SHARED STYLES ───────────────────────────────────── */
:root {
  --gold:      #F0A500;
  --gold-dark: #c88800;
  --dark:      #1C2D3A;
  --dg:        #1e5c2e;
  --dg-h:      #164822;
  --text:      #1a1a1a;
  --light:     #f9f7f2;
  --white:     #ffffff;
  --radius:    8px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Montserrat',sans-serif;color:var(--text);background:var(--white)}
img{display:block;width:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
.script{font-family:'Dancing Script',cursive;color:var(--gold);font-weight:700}
.gold{color:var(--gold)}

/* NAV */
nav{position:sticky;top:0;z-index:100;background:var(--white);display:flex;align-items:center;gap:1rem;padding:.75rem 2rem;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.nav-logo{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.nav-logo img{width:48px;height:48px;object-fit:contain}
.nav-links{display:flex;gap:.15rem;list-style:none;flex-wrap:wrap;margin:0 auto}
.nav-links a{padding:.4rem .65rem;font-size:.76rem;font-weight:600;border-radius:4px;transition:background .2s;white-space:nowrap}
.nav-links a:hover{background:#f0f0f0}
.nav-links a.active{background:var(--gold);color:var(--white)}
.nav-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}
.wa-btn{width:38px;height:38px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;transition:opacity .2s}
.wa-btn:hover{opacity:.8}
.wa-btn svg{width:22px;height:22px;fill:white}

/* HERO */
.hero{position:relative;min-height:500px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--white);overflow:hidden}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.48)}
.hero-content{position:relative;z-index:1;max-width:760px;padding:3rem 1.5rem}
.hero-content h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:900;line-height:1.15}
.hero-content h1 .script{font-size:1.1em}
.hero-content p{margin:1.2rem auto;font-size:.95rem;max-width:560px;opacity:.9;line-height:1.7}

/* BUTTONS */
.btn-gold{display:inline-block;background:var(--gold);color:var(--white);padding:.85rem 2rem;border-radius:var(--radius);font-weight:700;font-size:.95rem;letter-spacing:.03em;border:none;cursor:pointer;transition:background .2s}
.btn-gold:hover{background:var(--gold-dark)}
.btn-outline{display:inline-block;padding:.75rem 1.75rem;border:2px solid var(--text);border-radius:var(--radius);font-weight:700;font-size:.85rem;transition:all .2s}
.btn-outline:hover{background:var(--text);color:var(--white)}
.btn-green{display:inline-block;width:100%;text-align:center;background:var(--dg);color:var(--white);padding:.7rem 1rem;border-radius:var(--radius);font-size:.82rem;font-weight:700;letter-spacing:.03em;transition:background .2s;cursor:pointer;border:none}
.btn-green:hover{background:var(--dg-h)}

/* TICKER */
.ticker{background:var(--gold);color:var(--white);padding:.9rem 2rem;font-weight:700;font-size:.9rem;text-align:center;letter-spacing:.02em}
.ticker a{text-decoration:underline}

/* SECTIONS */
.section-light{background:var(--light);padding:4rem 2rem}
.section-dark{background:var(--dark);color:var(--white);padding:4rem 2rem;text-align:center}
.section-white{background:var(--white);padding:4rem 2rem}
.section-inner{max-width:1100px;margin:0 auto}
.section-h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;margin-bottom:.5rem}
.divider{width:50px;height:3px;background:var(--gold);margin:.75rem auto 2.5rem}
.divider.left{margin-left:0}

/* GRID HELPERS */
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem}

/* CARDS */
.card{border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.1);background:var(--white)}
.card img{height:220px;object-fit:cover}
.card-body{padding:1.25rem}
.card-body h3{color:var(--gold);font-size:1rem;font-weight:700;margin-bottom:.5rem}
.card-body p{font-size:.82rem;line-height:1.65;color:#444;margin-bottom:1rem}
.card-tag{display:inline-block;background:var(--light);color:var(--dark);font-size:.7rem;font-weight:700;padding:.2rem .6rem;border-radius:20px;margin-bottom:.5rem;letter-spacing:.05em;text-transform:uppercase}

/* CITY SECTIONS */
.city-block{padding:3.5rem 2rem;border-bottom:1px solid #eee}
.city-block:nth-child(even){background:var(--light)}
.city-inner{max-width:1100px;margin:0 auto}
.city-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}
.city-flag{font-size:1.5rem}
.city-header h2{font-size:1.8rem;font-weight:900}
.city-header h2 span{color:var(--gold)}
.city-intro{font-size:.92rem;line-height:1.75;color:#444;margin-bottom:2rem;max-width:680px}

/* FEATURES */
.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;max-width:1100px;margin:0 auto}
.feature{padding:1rem}
.feat-icon{width:70px;height:70px;border-radius:50%;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin:0 auto 1rem}
.feature h3{color:var(--gold);font-size:.95rem;font-weight:700;margin-bottom:.5rem}
.feature p{font-size:.82rem;opacity:.8;line-height:1.65}

/* PACKAGE CARDS */
.pkg-card{border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.12);background:var(--white);display:flex;flex-direction:column}
.pkg-img{height:220px;overflow:hidden;position:relative}
.pkg-img img{height:100%;width:100%;object-fit:cover;transition:transform .4s}
.pkg-card:hover .pkg-img img{transform:scale(1.04)}
.pkg-badge{position:absolute;top:1rem;left:1rem;background:var(--gold);color:var(--white);font-size:.72rem;font-weight:800;padding:.3rem .75rem;border-radius:20px;letter-spacing:.05em;text-transform:uppercase}
.pkg-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}
.pkg-body h3{font-size:1.1rem;font-weight:800;margin-bottom:.4rem}
.pkg-meta{display:flex;gap:1rem;margin-bottom:.75rem}
.pkg-meta span{font-size:.75rem;font-weight:700;color:#666;display:flex;align-items:center;gap:.3rem}
.pkg-body p{font-size:.83rem;line-height:1.65;color:#444;margin-bottom:1rem;flex:1}
.pkg-includes{list-style:none;margin-bottom:1.25rem}
.pkg-includes li{font-size:.78rem;padding:.2rem 0;color:#333}
.pkg-includes li::before{content:"✓ ";color:var(--dg);font-weight:700}
.pkg-price{font-size:1.3rem;font-weight:900;color:var(--dark);margin-bottom:1rem}
.pkg-price span{font-size:.8rem;font-weight:400;color:#888}

/* SPLIT SECTION */
.split{display:grid;grid-template-columns:1fr 1fr;max-width:1200px;margin:0 auto;padding:5rem 2rem;gap:4rem;align-items:center}
.split-img{border-radius:12px;overflow:hidden;height:420px}
.split-img img{width:100%;height:100%;object-fit:cover;object-position:center center}
.split-text h2{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:900;line-height:1.2}
.split-text p{margin:1.2rem 0;font-size:.92rem;line-height:1.75;color:#444}
.service-list{list-style:none;margin:1rem 0 1.5rem}
.service-list li{font-size:.85rem;font-weight:700;letter-spacing:.05em;padding:.2rem 0}
.service-list li::before{content:"✅ "}

/* INFO ACCORDION */
.accordion-item{border-bottom:1px solid #e0e0e0}
.accordion-btn{width:100%;text-align:left;padding:1.1rem 1rem;background:none;border:none;font-family:inherit;font-size:.95rem;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--dark)}
.accordion-btn:hover{color:var(--gold)}
.accordion-btn .icon{font-size:1.2rem;transition:transform .3s;flex-shrink:0}
.accordion-btn.open .icon{transform:rotate(45deg)}
.accordion-content{display:none;padding:.25rem 1rem 1.25rem;font-size:.88rem;line-height:1.75;color:#444}
.accordion-content.open{display:block}

/* REVIEWS */
.reviews-section{background:var(--light);padding:4rem 2rem}
.reviews-inner{max-width:1200px;margin:0 auto}
.reviews-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.review-card{background:var(--white);border-radius:var(--radius);padding:1rem;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.reviewer{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}
.reviewer-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;color:var(--white);flex-shrink:0}
.reviewer-name{font-size:.8rem;font-weight:700}
.reviewer-time{font-size:.7rem;color:#888}
.review-stars{color:#f4b400;font-size:.8rem;margin-bottom:.4rem}
.review-text{font-size:.78rem;color:#444;line-height:1.55}
.btn-review{display:inline-block;padding:.5rem 1.25rem;background:#4285F4;color:var(--white);border-radius:20px;font-size:.78rem;font-weight:700;transition:opacity .2s}
.btn-review:hover{opacity:.85}
.stars{color:#f4b400;font-size:1.2rem}

/* PHOTO GRID */
.photo-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:auto auto;gap:6px;max-width:1100px;margin:3rem auto;padding:0 2rem}
.photo-grid img{height:200px;object-fit:cover;border-radius:6px}
.photo-grid img:first-child{grid-row:span 2;height:406px}

/* CONTACT FORM */
.contact-section{display:grid;grid-template-columns:1fr 1.4fr;max-width:1100px;margin:4rem auto;border-radius:12px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.12)}
.contact-left{background:var(--gold);color:var(--white);padding:2.5rem 2rem}
.contact-left h2{font-size:1.6rem;font-weight:800;margin-bottom:.5rem}
.contact-left p{font-size:.88rem;opacity:.85;margin-bottom:1.5rem}
.contact-detail{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:.85rem;font-weight:600}
.contact-right{background:var(--white);padding:2.5rem 2rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.form-group{margin-bottom:1rem}
.form-group label{display:block;font-size:.78rem;font-weight:700;margin-bottom:.3rem}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6rem .8rem;border:1px solid #ddd;border-radius:4px;font-size:.82rem;font-family:inherit;transition:border .2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--gold)}
.form-group textarea{min-height:80px;resize:vertical}
.checkbox-group{display:flex;gap:1.5rem;flex-wrap:wrap}
.checkbox-group label{display:flex;align-items:center;gap:.4rem;font-size:.78rem;cursor:pointer}
.form-group.req label::after{content:" *";color:red}
#formSuccess{display:none;text-align:center;padding:3rem 1rem}

/* COURSES BANNER */
.courses-banner{background:var(--gold);padding:2rem;text-align:center}
.courses-banner h2{font-size:1.8rem;font-weight:400}

/* INFO SECTION */
.info-section{background:var(--dark);color:var(--white);padding:4rem 2rem;text-align:center}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;max-width:900px;margin:0 auto}
.info-item h3{color:var(--gold);margin:.75rem 0 .4rem;font-size:.95rem}
.info-item p{font-size:.82rem;opacity:.8;line-height:1.65}

/* FOOTER */
footer{background:var(--dark);color:var(--white);padding:3rem 2rem 1.5rem}
.footer-inner{max-width:1100px;margin:0 auto}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem;margin-bottom:2.5rem}
.footer-brand h3{font-size:1.1rem;font-weight:900;margin-bottom:.2rem}
.footer-brand p{font-size:.82rem;opacity:.65;margin-top:.5rem}
.footer-col h4{color:var(--gold);font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem}
.footer-col p,.footer-col a{font-size:.82rem;opacity:.7;line-height:1.9;display:block}
.footer-col a:hover{opacity:1}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1rem;text-align:center;font-size:.75rem;opacity:.4}

/* BREADCRUMB */
.breadcrumb{background:var(--dark);padding:.6rem 2rem;font-size:.78rem;color:rgba(255,255,255,.6)}
.breadcrumb a{color:var(--gold)}
.breadcrumb span{color:rgba(255,255,255,.4);margin:0 .4rem}

/* PAGE HERO SMALL */
.page-hero{position:relative;min-height:320px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--white);overflow:hidden}
.page-hero .hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.48)}
.page-hero .hero-content{position:relative;z-index:1;max-width:760px;padding:2.5rem 1.5rem}
.page-hero h1{font-size:clamp(1.8rem,4vw,3rem);font-weight:900;line-height:1.15}
.page-hero p{margin:1rem auto 0;font-size:.95rem;max-width:560px;opacity:.9;line-height:1.7}

/* RESPONSIVE */
@media(max-width:900px){
  .split{grid-template-columns:1fr;padding:3rem 1.25rem}
  .split-img{height:280px}
  .footer-top{grid-template-columns:1fr}
  .contact-section{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
}
@media(max-width:768px){
  nav{padding:.6rem 1rem}
  .nav-links{display:none}
  .photo-grid{grid-template-columns:1fr 1fr}
  .photo-grid img:first-child{grid-row:span 1;height:200px}
}

/* ── PRICE MATCH BANNER ─────────────────────────── */
#price-match-banner { background:var(--dark); color:var(--white); }
.pmb-inner { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:.6rem 1.2rem; padding:.85rem 2rem; font-size:.83rem; text-align:center; }
.pmb-sep { opacity:.35; }
.pmb-cta { background:var(--gold); color:var(--white); padding:.35rem .9rem; border-radius:20px; font-weight:700; font-size:.78rem; white-space:nowrap; transition:background .2s; }
.pmb-cta:hover { background:var(--gold-dark); }

/* ── NAV LOGO ───────────────────────────────────── */
.nav-logo-link { display:flex; align-items:center; flex-shrink:0; }


/* ── NAV CONTACT BUTTONS ────────────────────────── */
.ncb { display:flex; align-items:center; gap:.35rem; padding:.45rem .8rem; border-radius:6px; font-size:.75rem; font-weight:700; transition:all .2s; white-space:nowrap; }
.email-ncb { background:#f0f0f0; color:var(--dark); }
.email-ncb:hover { background:#e0e0e0; }
.zalo-ncb  { background:#0068ff; color:white; }
.zalo-ncb:hover { background:#0054d4; }
.wa-ncb    { background:#25D366; color:white; }
.wa-ncb:hover { background:#1da955; }

/* ── REVIEWS GRID + MOBILE SLIDER ──────────────── */
.reviews-scroll-wrap { overflow:hidden; }
.reviews-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; }
.reviews-grid.slider-mode {
  display:flex; overflow-x:auto; scroll-snap-type:x mandatory;
  gap:.75rem; padding-bottom:.5rem;
  scrollbar-width:none; -ms-overflow-style:none;
}
.reviews-grid.slider-mode::-webkit-scrollbar { display:none; }
.reviews-grid.slider-mode .review-card {
  min-width:calc(100vw - 4rem); scroll-snap-align:start; flex-shrink:0;
}
.slider-dots { display:flex; justify-content:center; gap:.4rem; margin-top:.75rem; }
.slider-dots .dot { width:8px; height:8px; border-radius:50%; background:#ddd; border:none; cursor:pointer; padding:0; transition:background .2s; }
.slider-dots .dot.active { background:var(--gold); }

/* ── INSTAGRAM ──────────────────────────────────── */
.ig-section { max-width:1100px; margin:0 auto; padding:3rem 2rem; }
.ig-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.5rem; flex-wrap:wrap; gap:1rem; }
.ig-handle { display:flex; align-items:center; gap:.75rem; }
.ig-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; cursor:pointer; }
@media(min-width:600px){ .ig-grid { grid-template-columns:repeat(6,1fr); } }
.ig-cell { position:relative; overflow:hidden; aspect-ratio:1/1; border-radius:4px; }
.ig-cell img { width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.ig-cell:hover img { transform:scale(1.06); }
.ig-overlay { position:absolute; inset:0; background:rgba(0,0,0,.3); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .25s; }
.ig-cell:hover .ig-overlay { opacity:1; }

/* ── CONTACT FORM STACK ─────────────────────────── */
.contact-cta-stack { display:flex; flex-direction:column; gap:.6rem; margin:1.25rem 0; }
.contact-cta-btn { display:flex; align-items:center; gap:.6rem; padding:.75rem 1rem; border-radius:8px; font-weight:700; font-size:.88rem; transition:opacity .2s; }
.contact-cta-btn:hover { opacity:.88; }
.wa-cta    { background:#25D366; color:white; }
.zalo-cta  { background:#0068ff; color:white; }
.email-cta { background:#f0f0f0; color:var(--dark); }

/* ── FOOTER CONTACT BUTTONS ─────────────────────── */
.footer-btns { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:1rem; }
.footer-contact-btn { padding:.45rem 1rem; border-radius:20px; font-size:.78rem; font-weight:700; transition:opacity .2s; }
.footer-contact-btn:hover { opacity:.85; }
.wa-fb { background:#25D366; color:white; }
.zl-fb { background:#0068ff; color:white; }
.em-fb { background:rgba(255,255,255,.15); color:white; }

/* ── LANGUAGE SWITCHER ──────────────────────────── */
.lang-switcher {
  display: flex; align-items: center; gap: 2px; margin: 0 4px;
}
.lang-btn {
  background: transparent; border: 1px solid rgba(28,45,58,.25);
  color: var(--dark); font-size: .72rem; font-weight: 700;
  padding: .22rem .42rem; border-radius: 4px; cursor: pointer;
  line-height: 1; letter-spacing: .04em; font-family: inherit;
  transition: background .15s, color .15s, border-color .15s;
}
.lang-btn:hover { background: rgba(28,45,58,.1); border-color: var(--dark); }
.lang-btn.active {
  background: var(--dark); color: #fff; border-color: var(--dark);
}
@media (max-width: 768px) {
  .lang-switcher { margin: 0 2px; }
  .lang-btn { font-size: .68rem; padding: .2rem .36rem; }
}

/* ── HAMBURGER MOBILE NAV ───────────────────────── */
.hamburger {
  display: none; flex-direction: column; justify-content: space-between;
  width: 28px; height: 20px; background: none; border: none; cursor: pointer;
  padding: 0; flex-shrink: 0;
}
.hamburger span {
  display: block; height: 2.5px; border-radius: 2px;
  background: var(--dark); transition: transform .3s, opacity .3s;
}
.hamburger.is-open span:nth-child(1) { transform: translateY(8.75px) rotate(45deg); }
.hamburger.is-open span:nth-child(2) { opacity: 0; }
.hamburger.is-open span:nth-child(3) { transform: translateY(-8.75px) rotate(-45deg); }

/* ── INSTAGRAM PLACEHOLDER ──────────────────────── */
.ig-placeholder { border: 2px dashed #ddd; border-radius: 12px; margin: 1rem 0; }
.ig-placeholder-inner {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 3rem 2rem; text-align: center; color: #666;
  text-decoration: none; transition: background .2s;
}
.ig-placeholder-inner:hover { background: #f9f9f9; border-radius: 10px; }
.ig-placeholder-inner p { font-weight: 700; font-size: 1.1rem; margin-top: .5rem; }

/* ── RESPONSIVE OVERHAUL ────────────────────────── */
@media (max-width: 900px) {
  /* Nav contact buttons hidden on tablet, hamburger shown */
  .nav-right .ncb span { display: none; }
  .nav-right .ncb { padding: .4rem; min-width: 32px; justify-content: center; }
}

@media (max-width: 768px) {
  /* ── NAV ── */
  .hamburger { display: flex; }
  .nav-links {
    display: none; position: absolute; top: 100%; left: 0; right: 0;
    background: var(--white); flex-direction: column; padding: .5rem 1rem 1rem;
    box-shadow: 0 8px 24px rgba(0,0,0,.12); z-index: 200;
  }
  .nav-links.mobile-open { display: flex; }
  .nav-links li { border-bottom: 1px solid #f0f0f0; }
  .nav-links a { display: block; padding: .75rem .5rem; font-size: .9rem; }
  nav { position: sticky; top: 0; z-index: 100; flex-wrap: nowrap; padding: .5rem 1rem !important; }
  
  .nav-right .email-ncb { display: none; } /* hide on mobile, WA + Zalo sufficient */

  /* ── PMB ── */
  .pmb-inner { font-size: .75rem; gap: .4rem .75rem; }
  .pmb-sep { display: none; }
  .pmb-cta { margin-top: .25rem; }

  /* ── HERO ── */
  .hero { min-height: 380px; }
  .hero-content h1 { font-size: 1.8rem; }
  .hero-content p { font-size: .88rem; }
  .page-hero { min-height: 240px; }
  .page-hero h1 { font-size: 1.6rem; }

  /* ── GRIDS ── */
  .grid-2, .grid-3, .grid-4, .features-grid, .info-grid, .packages-grid {
    grid-template-columns: 1fr;
  }
  .photo-grid { grid-template-columns: 1fr 1fr; }
  .photo-grid img:first-child { grid-row: span 1; height: 180px; }
  .photo-grid img { height: 180px; }

  /* ── SPLIT ── */
  .split { grid-template-columns: 1fr; padding: 2.5rem 1.25rem; gap: 2rem; }
  .split-img { height: 240px; }
  .split-text h2 { font-size: 1.8rem; }

  /* ── CONTACT FORM ── */
  .contact-section { grid-template-columns: 1fr; border-radius: 8px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }

  /* ── REVIEWS ── */
  .reviews-grid.slider-mode .review-card { min-width: calc(85vw); }

  /* ── CARDS ── */
  .card img { height: 180px; }
  .pkg-img { height: 180px; }

  /* ── CITY BLOCKS ── */
  .city-header { flex-direction: row; gap: .5rem; }
  .city-header h2 { font-size: 1.3rem; }

  /* ── FOOTER ── */
  .footer-top { grid-template-columns: 1fr; gap: 1.5rem; }
  .footer-btns { flex-wrap: wrap; }

  /* ── INSTAGRAM ── */
  .ig-header { flex-direction: column; align-items: flex-start; gap: .75rem; }
  .ig-grid { grid-template-columns: repeat(3, 1fr) !important; }

  /* ── TICKER ── */
  .ticker { font-size: .78rem; padding: .75rem 1rem; }

  /* ── SECTIONS ── */
  .section-light, .section-dark, .section-white { padding: 3rem 1.25rem; }
  .city-block { padding: 2.5rem 1.25rem; }
}

@media (max-width: 480px) {
  .hero-content h1 { font-size: 1.5rem; }
  .section-h2 { font-size: 1.4rem; }
  .contact-cta-btn { font-size: .82rem; padding: .65rem .85rem; }
  .reviews-grid.slider-mode .review-card { min-width: calc(92vw); }
}

/* ── MOBILE CHECKBOX FIX ────────────────────────── */
.checkbox-group {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
.checkbox-group label {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  font-size: .84rem;
  cursor: pointer;
  line-height: 1.4;
  padding: .35rem 0;
}
.checkbox-group input[type="checkbox"] {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  accent-color: var(--gold);
  cursor: pointer;
}

/* ── FOOTER LOGO TRANSPARENT ────────────────────── */
.footer-brand img,
footer img[alt="GolfPQ"] {
  background: transparent !important;
  mix-blend-mode: normal;
}

/* Nav logo on light background — no changes needed (transparent PNG) */


/* ── 6-PHOTO EQUAL GRID ─────────────────────────── */




/* ── NAV MOBILE — logo left, buttons right ──────── */
@media (max-width: 768px) {
  nav {
    justify-content: space-between !important;
    align-items: center;
  }
  .nav-links { order: 3; }
  .nav-logo-link { order: 1; flex-shrink: 0; }
  .nav-right {
    order: 2;
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: .4rem;
  }
}

/* ── REVIEWS MOBILE — one card, full width ──────── */
@media (max-width: 768px) {
  .reviews-scroll-wrap { overflow: hidden; }
  .reviews-grid.slider-mode {
    display: flex !important;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 0;
    padding: 0 1rem;
    scrollbar-width: none;
  }
  .reviews-grid.slider-mode::-webkit-scrollbar { display: none; }
  .reviews-grid.slider-mode .review-card {
    min-width: calc(100vw - 2rem) !important;
    max-width: calc(100vw - 2rem);
    scroll-snap-align: center;
    flex-shrink: 0;
    margin-right: 12px;
    box-sizing: border-box;
  }
  .review-text {
    font-size: .85rem !important;
    line-height: 1.6 !important;
    white-space: normal;
    word-break: break-word;
  }
}

/* ── FOOTER LOGO SIZE ───────────────────────────── */


/* ── NAV LOGO BIGGER ON MOBILE ──────────────────── */


/* ══════════════════════════════════════════════════
   FINAL FIXES — 2026-07-22
══════════════════════════════════════════════════ */

/* ── 8-PHOTO GRID (4 cols × 2 rows) ────────────── */





/* ── NAV LOGO BIGGER ────────────────────────────── */

nav { min-height: 80px; }

/* ── NAV MOBILE — FORCE logo left, buttons right ── */
nav {
  display: flex !important;
  align-items: center !important;
  width: 100%;
  box-sizing: border-box;
}
.nav-logo-link {
  flex-shrink: 0;
}
.nav-links {
  /* Desktop: centred with auto margins */
  margin-left: auto;
  margin-right: auto;
}
.nav-right {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: .4rem;
  /* Always stays on the right */
}

@media (max-width: 768px) {
  nav { padding: .4rem .85rem !important; }
  .nav-links {
    /* When hidden on mobile, remove auto margins so logo & nav-right spread */
    margin: 0 !important;
    position: absolute;
    top: 100%;
    left: 0; right: 0;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
    z-index: 200;
    flex-direction: column;
    padding: .5rem 1rem 1rem;
    display: none;
  }
  .nav-links.mobile-open { display: flex !important; }

  /* Push nav-right hard right on mobile */
  nav {
    justify-content: space-between !important;
  }
  .nav-logo-link { order: 1; }
  .nav-right      { order: 2; margin-left: auto; }

  
  nav { min-height: 60px; }
}

/* ── ZALO BUTTON — crisper icon ─────────────────── */
.zalo-ncb img,
.ncb img {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  width: 18px !important;
  height: 18px !important;
  border-radius: 4px;
  flex-shrink: 0;
}
.ncb {
  display: flex;
  align-items: center;
  gap: .35rem;
  padding: .45rem .75rem;
  border-radius: 6px;
  font-size: .75rem;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none;
  transition: opacity .2s;
}
.ncb:hover { opacity: .85; }
.email-ncb { background: #f0f0f0; color: var(--dark); }
.zalo-ncb  { background: #0068ff; color: white; }
.wa-ncb    { background: #25D366; color: white; }


/* ══ DEFINITIVE FIXES — last rule wins ══════════════ */

/* Nav logo — fills the nav bar */
.nav-logo-img {
  width: 76px !important;
  height: 76px !important;
  object-fit: contain !important;
}
@media (max-width: 768px) {
  .nav-logo-img { width: 54px !important; height: 54px !important; }
  nav { min-height: 60px !important; }
}

/* Photo grid — 4 columns × 2 rows */
.photo-grid-8 {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 6px !important;
}
.photo-grid-8 img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
  height: auto !important;
}
@media (max-width: 768px) {
  .photo-grid-8 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 4px !important;
  }
}

/* ── MOBILE BUTTON SPACING ─────────────────────────── */
@media (max-width: 600px) {
  .page-hero { min-height: 280px; }
  .section-dark a.btn-gold,
  .section-dark a.btn-outline {
    display: block;
    width: 100%;
    max-width: 280px;
    margin: .4rem auto 0;
    text-align: center;
  }
}

/* ════════════════════════════════════════════════
   GOLFPQ v2.0 — SPEC ADDITIONS
════════════════════════════════════════════════ */

/* ── DROPDOWN NAV ──────────────────────────────── */
.nav-inner {
  display: flex; align-items: center; max-width: 1400px;
  margin: 0 auto; padding: 0 1.5rem; width: 100%; gap: .5rem;
}
.nav-links { display: flex; list-style: none; gap: 0; flex: 1; margin: 0; }
.nav-group { position: relative; }
.nav-group-btn {
  background: none; border: none; cursor: pointer;
  font-family: inherit; font-size: .78rem; font-weight: 700;
  color: var(--dark); padding: .55rem .75rem; border-radius: 4px;
  display: flex; align-items: center; gap: .3rem; white-space: nowrap;
  transition: background .15s;
}
.nav-group-btn:hover, .nav-group.active .nav-group-btn { background: #f0f0f0; }
.nav-arrow { font-size: .6rem; opacity: .5; transition: transform .2s; }
.nav-group-btn[aria-expanded="true"] .nav-arrow { transform: rotate(180deg); }
.nav-dropdown {
  display: none; position: absolute; top: calc(100% + 4px); left: 0;
  background: #fff; border-radius: 8px; box-shadow: 0 8px 32px rgba(0,0,0,.15);
  min-width: 220px; list-style: none; padding: .5rem 0; z-index: 300;
}
.nav-group-btn[aria-expanded="true"] + .nav-dropdown { display: block; }
.nav-dropdown li a {
  display: block; padding: .6rem 1.1rem; font-size: .82rem; font-weight: 600;
  color: var(--dark); transition: background .15s;
}
.nav-dropdown li a:hover { background: #f5f5f5; color: var(--gold); }
.nav-dropdown li a.nav-current { color: var(--gold); }

/* ── BREADCRUMBS ───────────────────────────────── */
#breadcrumbs { background: #1C2D3A !important; padding: 0; font-size: .78rem; color: rgba(255,255,255,.7); }
#breadcrumbs:empty { display: none; }
.bc-nav { padding: .5rem 2rem; max-width: 1100px; margin: 0 auto; }
.bc-list {
  display: flex; align-items: center; gap: .35rem; list-style: none;
  flex-wrap: wrap; font-size: .75rem; font-weight: 600;
}
.bc-list li a { color: #c8922a !important; opacity: .9; text-decoration: none; }
.bc-list li a:hover { opacity: 1; }
.bc-list li[aria-current] { color: rgba(255,255,255,.55); font-weight: 400; }
.bc-sep { color: rgba(255,255,255,.3); font-size: .7rem; }
.breadcrumb-list {
  display: flex; align-items: center; gap: .4rem; list-style: none;
  max-width: 1100px; margin: 0 auto; flex-wrap: wrap;
}
.breadcrumb-list li a { color: var(--gold); opacity: .9; }
.breadcrumb-list li[aria-current] { color: rgba(255,255,255,.6); }

/* ── COURSE TABLE ──────────────────────────────── */
.table-wrap { overflow-x: auto; margin: 1.5rem 0; }
.course-table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.course-table th {
  background: var(--dark); color: var(--gold); font-weight: 700;
  padding: .75rem 1rem; text-align: left; white-space: nowrap;
}
.course-table td {
  padding: .65rem 1rem; border-bottom: 1px solid #eee;
  vertical-align: top;
}
.course-table tr:hover td { background: #fafafa; }
.table-note { font-size: .78rem; color: #666; font-style: italic; margin-top: .5rem; }

/* ── FACT CARD ─────────────────────────────────── */
.fact-card {
  background: var(--light); border-radius: 10px; padding: 1.5rem 2rem;
  margin: 1.5rem 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
}
.fact-item { }
.fact-label { font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: #888; margin-bottom: .2rem; }
.fact-value { font-size: .95rem; font-weight: 700; color: var(--dark); }

/* ── LOCAL NOTES ───────────────────────────────── */
.local-notes {
  border-left: 3px solid var(--gold); background: #fffdf0;
  padding: 1rem 1.25rem; border-radius: 0 8px 8px 0; margin: 1.5rem 0;
}
.local-notes-label { font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--gold); margin-bottom: .4rem; }
.local-notes p { font-size: .85rem; color: #444; line-height: 1.65; margin: 0; }

/* ── AUTHORSHIP ────────────────────────────────── */
.authorship {
  display: flex; align-items: center; gap: .75rem; font-size: .78rem;
  color: #666; border-top: 1px solid #eee; padding-top: 1rem; margin-top: 1.5rem;
}
.authorship-label { font-weight: 700; color: var(--dark); }

/* ── PAGE CONTENT WRAPPER ──────────────────────── */
.page-content { max-width: 860px; margin: 0 auto; padding: 3rem 2rem; }
.page-content h2 { font-size: 1.5rem; font-weight: 800; margin: 2.25rem 0 .75rem; color: var(--dark); }
.page-content h3 { font-size: 1.1rem; font-weight: 700; margin: 1.5rem 0 .5rem; color: var(--dark); }
.page-content p { font-size: .92rem; line-height: 1.8; color: #333; margin-bottom: .9rem; }
.page-content ul, .page-content ol { font-size: .92rem; line-height: 1.8; color: #333; margin: .5rem 0 .9rem 1.5rem; }
.page-content li { margin-bottom: .2rem; }
.page-content a:not([class*="btn"]) { color: var(--gold); font-weight: 600; }
.page-content .section-cta { margin: 1.5rem 0; display: flex; flex-wrap: wrap; gap: .75rem; }

/* ── QUICK VERDICT BOXES ───────────────────────── */
.verdict-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.verdict-box { background: var(--light); border-radius: 8px; padding: 1.25rem; }
.verdict-box h3 { font-size: .9rem; margin: 0 0 .6rem; }
.verdict-box ul { margin: 0; padding-left: 1.25rem; font-size: .84rem; }

/* ── PACKAGE CARD ──────────────────────────────── */
.pkg-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; margin: 1.5rem 0; }
.pkg-box { border: 1px solid #e8e8e8; border-radius: 10px; padding: 1.5rem; }
.pkg-box h3 { font-size: 1.05rem; font-weight: 800; margin: 0 0 .5rem; }
.pkg-box ul { font-size: .84rem; padding-left: 1.25rem; margin: .75rem 0 1rem; line-height: 1.75; }

/* ── MOBILE DROPDOWN ───────────────────────────── */
@media (max-width: 900px) {
  .nav-links { display: none; }
  .nav-links.mobile-open {
    display: flex; flex-direction: column;
    position: absolute; top: 100%; left: 0; right: 0;
    background: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.12);
    z-index: 200; padding: .5rem 0 1rem;
  }
  .nav-group { width: 100%; }
  .nav-group-btn { width: 100%; padding: .75rem 1.25rem; border-radius: 0; font-size: .9rem; }
  .nav-dropdown { position: static; box-shadow: none; padding: 0 0 .25rem 1.5rem; }
  .nav-group-btn[aria-expanded="true"] + .nav-dropdown { display: block; }
  .nav-dropdown li a { padding: .5rem .75rem; font-size: .85rem; }
  .nav-inner { padding: .4rem .85rem; }
}

@media (max-width: 600px) {
  .page-content { padding: 2rem 1.25rem; }
  .fact-card { grid-template-columns: 1fr 1fr; }
}

/* ── EMAIL CAPTURE BAR ─────────────────────────── */
.email-capture-bar {
  background: var(--dark); padding: 1rem 1.5rem;
  display: flex; flex-wrap: nowrap; align-items: center; gap: 1rem;
  border-radius: 10px; overflow: visible;
}
.ec-text { flex: 0 0 200px; color: #fff; }
.ec-text strong { display: block; font-size: 1rem; font-weight: 800; margin-bottom: .2rem; }
.ec-text span { font-size: .82rem; opacity: .75; }
.ec-form {
  display: flex; flex-wrap: nowrap; gap: .4rem; flex: 1 1 0; min-width: 0;
}
.ec-form input, .ec-form select { min-width: 0;
  flex: 1 1 120px; padding: .55rem .75rem; border: none; border-radius: 6px;
  font-size: .82rem; font-family: inherit; background: rgba(255,255,255,.12);
  color: #fff; outline: none;
}
.ec-form input::placeholder { color: rgba(255,255,255,.55); }
.ec-form select { color: rgba(255,255,255,.85); }
.ec-form select option { color: var(--dark); background: #fff; }
/* Buttons live outside the form, as a separate flex child */
.ec-btns {
  display: flex; flex-direction: column; gap: .4rem; flex: 0 0 auto;
}
.ec-btns button { font-family: inherit; }

/* ── WECHAT BUTTON ─────────────────────────────── */
.wc-cta {
  background: #07c160; color: #fff !important;
  font-size: .82rem; padding: .65rem 1rem; border-radius: 8px;
  font-weight: 700; margin-top: .4rem;
}
.footer-contact-btn.wc-fb {
  background: #07c160; color: #fff; border-color: #07c160;
  font-size: .75rem;
}

/* ── EMAIL CAPTURE SECTION WRAPPER ─────────────── */
.email-capture-section { max-width: 1100px; margin: 0 auto; padding: 0 2rem 2.5rem; }

@media (max-width: 900px) {
  /* Email capture — stack on smaller screens */
  .email-capture-bar {
    flex-direction: column;
    align-items: stretch;
    padding: 1.25rem 1.25rem;
    gap: .75rem;
  }
  .ec-text { flex: none; }
  .ec-text strong { font-size: .9rem; }
  .ec-text span { font-size: .78rem; }
  .ec-form {
    flex-direction: row;
    flex-wrap: wrap;
    gap: .4rem;
  }
  .ec-form input { flex: 1 1 calc(50% - .4rem); min-width: 0; font-size: .8rem; padding: .5rem .65rem; }
  .ec-form select { flex: 1 1 calc(50% - .4rem); min-width: 0; font-size: .8rem; padding: .5rem .65rem; }
  .ec-btns { flex-direction: row; }
  .ec-btns button { flex: 1 1 0; padding: .65rem; }
}
@media (max-width: 480px) {
  .ec-form input, .ec-form select { min-width: 0; flex: 1 1 100%; }
  .ec-btns { flex-direction: column; }
}


/* ── BREADCRUMB EMPTY STATE — handled in main breadcrumb block above ── */

/* ── FOUNDER IMAGE MOBILE ──────────────────────────────────────────── */
@media (max-width: 700px) {
  .founder-flex { flex-direction: column !important; }
  .founder-flex > img {
    width: 100% !important;
    height: 240px !important;
    object-fit: cover !important;
  }
}

/* ── PAGE HERO DARK OVERLAY FIX ────────────────────────────────────── */
.page-hero { background: var(--dark); }

/* ── BUTTON TEXT ALWAYS VISIBLE ─────────────────────────────────────── */
.btn-gold, a.btn-gold { color: #fff !important; }
.btn-green, a.btn-green { color: #fff !important; }
.btn-outline, a.btn-outline { color: var(--dark) !important; }
.btn-review, a.btn-review { color: var(--gold) !important; }
a.btn-gold:hover, a.btn-green:hover { opacity: .9; }

/* ── SECTION-CTA BTN-OUTLINE DARK TEXT FIX ────────────────────────── */
.section-cta a.btn-outline { color: var(--dark) !important; }
.section-cta a.btn-outline[style*="white"] { color: white !important; }
.section-cta a.btn-outline[style*="rgba"] { color: white !important; }
.hero-content a.btn-outline { color: white !important; }

/* ── BREADCRUMB BOX — visibility controlled by :empty rule above ─── */

/* ── EMAIL CAPTURE BOTTOM PADDING ────────────────────────────────── */
.email-capture-section {
  padding-bottom: 1.5rem !important;
}
.email-capture-bar {
  margin-bottom: 0;
  padding-bottom: 1.25rem;
}

/* ── WHERE TO STAY — QUICK RECS CARDS ────────────────────────────── */
.area-recs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
}
.area-card {
  background: var(--light);
  border-radius: 10px;
  padding: 1.25rem 1.5rem;
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}
.area-icon {
  font-size: 1.75rem;
  flex-shrink: 0;
  line-height: 1;
  margin-top: .1rem;
}
.area-body h4 {
  font-size: .88rem;
  font-weight: 800;
  color: var(--dark);
  margin: 0 0 .2rem;
}
.area-body p {
  font-size: .82rem;
  color: #555;
  line-height: 1.55;
  margin: 0;
}
@media (max-width: 600px) {
  .area-recs { grid-template-columns: 1fr; }
}

/* ════════════════════════════════════════════════
   TYPOGRAPHY HIERARCHY
════════════════════════════════════════════════ */

/* ── HEADING TYPOGRAPHY — Gold + Script hierarchy ──────────────────── */
/* Bold dark word + gold italic script word, as on Vietnam pages */
h2 .script, h3 .script {
  font-family: 'Dancing Script', cursive;
  font-style: normal;
  color: var(--gold);
  font-weight: 700;
}
/* Section heading divider (gold underline, centred) */
.section-h2-sub {
  text-align: center;
  margin-bottom: 2rem;
}
.section-h2-sub .script {
  font-family: 'Dancing Script', cursive;
  color: var(--gold);
  font-weight: 700;
  font-size: 1.1em;
}

/* Card h3 names in gold (matching Vietnam pages) */
.page-content h3.gold-title { color: var(--gold); }

/* City block headers (emoji + gold + dash + title) */
.city-header h2 span { color: var(--gold); }

/* Partner sites banner in footer */
.footer-partner {
  border-top: 1px solid rgba(255,255,255,.12);
  padding-top: 1rem;
  margin-top: 1rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.footer-partner span { font-size: .72rem; color: rgba(255,255,255,.45); text-transform: uppercase; letter-spacing: .08em; }

/* ── PAGE CONTENT h2 GOLD FIRST WORD VARIANT ──────────────────────── */
.page-content h2 em {
  font-style: normal;
  font-family: 'Dancing Script', cursive;
  color: var(--gold);
  font-size: 1.05em;
  font-weight: 700;
}

/* ── FACT CARD LABEL FIX (small caps grey like Vietnam pages) ────────── */
.fact-label {
  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #888;
  margin-bottom: .25rem;
}

@media (max-width: 600px) {
  .bc-nav { padding: .5rem 1rem; }
  .bc-list { font-size: .7rem; }
}
