/* ── 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; }

/* ── 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;
  }
}
