
:root{
  --green:#063f36;--green2:#08735f;--mint:#65d1b1;--dark:#071b18;
  --soft:#f5f8f7;--cream:#f5f2eb;--muted:#647570;--line:#dce6e2;
  --shadow:0 18px 55px rgba(2,40,33,.12)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#17312c;background:#fff}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(6,63,54,.09)}
.nav{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.logo img{width:138px;height:auto}
.menu{display:flex;align-items:center;gap:18px}
.menu a{text-decoration:none;color:var(--dark);font-weight:700;font-size:13.5px}
.menu a:hover,.menu a.active{color:var(--green2)}
.menu .cta{background:var(--green);color:#fff;padding:13px 18px;border-radius:999px}
.menu .cta:hover{background:var(--green2);color:#fff}
.mobileBtn{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 12px;font-size:22px;color:var(--green)}
.mobileMenu{display:none;padding:0 0 18px}
.mobileMenu a{display:block;padding:9px 0;color:var(--dark);text-decoration:none;font-weight:700}

.hero{min-height:500px;display:flex;align-items:center;position:relative;background-position:center;background-size:cover}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,29,25,.96) 0%,rgba(3,49,41,.84) 50%,rgba(3,49,41,.28) 100%)}
.heroInner{position:relative;z-index:2;padding:76px 0 88px;color:#fff}
.kicker{display:inline-flex;align-items:center;gap:10px;color:#a9dfcf;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:2.3px;margin-bottom:22px}
.kicker:before{content:"";width:36px;height:2px;background:#55c7a7}
.hero h1{max-width:850px;margin:0 0 24px;font-size:clamp(46px,6vw,78px);line-height:.99;letter-spacing:-3px}
.hero h1 span{color:var(--mint)}
.hero p{max-width:720px;margin:0 0 32px;font-size:18px;line-height:1.72;color:rgba(255,255,255,.84)}
.actions{display:flex;gap:13px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:0 25px;border-radius:999px;text-decoration:none;font-weight:800;font-size:14px;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btnLight{background:#fff;color:var(--green)}
.btnDark{background:var(--green);color:#fff}
.btnOutline{border:1px solid rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.06)}

.section{padding:95px 0}
.soft{background:var(--soft)}
.dark{background:var(--dark);color:#fff}
.head{max-width:790px;margin-bottom:44px}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:2.2px;text-transform:uppercase;color:var(--green2);margin-bottom:11px}
.title{margin:0 0 16px;color:var(--dark);font-size:clamp(34px,4vw,53px);line-height:1.04;letter-spacing:-1.9px}
.copy{margin:0;color:var(--muted);font-size:17px;line-height:1.74}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 8px 24px rgba(2,40,33,.04)}
.cardPhoto{height:245px;background-size:cover;background-position:center}
.cardBody{padding:27px}
.card h3{margin:0 0 11px;font-size:23px;color:var(--dark)}
.card p{margin:0 0 18px;color:var(--muted);line-height:1.65;font-size:14.5px}
.textLink{color:var(--green2);text-decoration:none;font-weight:800}

.feature{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.featurePhoto{min-height:520px;border-radius:28px;background-size:cover;background-position:center;box-shadow:var(--shadow)}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;margin:27px 0 32px}
.check{display:flex;gap:10px;align-items:flex-start}
.check i{font-style:normal;width:26px;height:26px;min-width:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e5f4ef;color:var(--green2);font-weight:900}
.check span{font-size:14px;line-height:1.45}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px}
.stat{padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}
.stat strong{display:block;font-size:27px;color:var(--green);margin-bottom:4px}
.stat span{font-size:13px;color:var(--muted)}

.priceBox{border-radius:24px;padding:34px;background:var(--dark);color:#fff}
.priceBox h3{margin:0 0 9px;font-size:26px}
.price{font-size:42px;font-weight:900;color:var(--mint);margin:12px 0 16px}
.list{list-style:none;padding:0;margin:20px 0;display:grid;gap:11px}
.list li{position:relative;padding-left:23px;line-height:1.5}
.list li:before{content:"✓";position:absolute;left:0;color:var(--green2);font-weight:900}
.priceBox .list li:before{color:var(--mint)}

.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:15px}
.gallery div{min-height:300px;border-radius:20px;background-size:cover;background-position:center}
.gallery div:first-child{min-height:430px;grid-row:span 2}
.gallery div:nth-child(n+2){min-height:207px}

.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form .full{grid-column:1/-1}
.form input,.form select,.form textarea{width:100%;border:1px solid var(--line);border-radius:13px;padding:14px 15px;font:inherit}
.form textarea{min-height:130px;resize:vertical}
.note{font-size:13px;color:var(--muted);line-height:1.55}

footer{background:#041512;color:#fff;padding:48px 0 28px}
.footerGrid{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:40px}
footer img{width:180px;height:auto;margin-bottom:18px}
footer p,footer a{color:rgba(255,255,255,.72);font-size:14px;line-height:1.65}
footer a{text-decoration:none;display:block;margin:7px 0}
.footerBottom{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:20px;color:rgba(255,255,255,.55);font-size:12px}

@media(max-width:980px){
  .menu{display:none}.mobileBtn{display:block}
  .grid3{grid-template-columns:1fr}
  .feature{grid-template-columns:1fr;gap:40px}
  .stats{grid-template-columns:1fr 1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .gallery div:first-child{grid-column:1/-1;grid-row:auto}
}
@media(max-width:720px){
  .container{width:min(100% - 28px,1180px)}
  .nav{min-height:78px}.logo img{width:116px}
  .hero{min-height:520px;background-position:60% center}
  .heroInner{padding:64px 0 78px}.hero h1{font-size:clamp(42px,13vw,61px);letter-spacing:-2.2px}.hero p{font-size:16.5px}
  .actions{display:grid}.btn{width:100%}
  .section{padding:70px 0}
  .grid2,.checks,.form,.stats,.footerGrid{grid-template-columns:1fr}
  .form .full{grid-column:auto}
  .featurePhoto{min-height:390px}
  .gallery{grid-template-columns:1fr}
  .gallery div,.gallery div:first-child{min-height:280px}
}

/* GGS RESERVATION FORMS */
.bookingWrap{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start}
.bookingCard{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:30px}
.bookingSide{background:var(--dark);color:#fff;border-radius:24px;padding:30px;position:sticky;top:115px}
.bookingSide h3{margin:0 0 10px;font-size:26px}
.bookingSide p{color:rgba(255,255,255,.72);line-height:1.65}
.bookingSide .miniStat{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.bookingSide .miniStat:last-child{border-bottom:0}
.bookingSide .miniStat strong{display:block;color:var(--mint);margin-bottom:4px}
.bookingForm{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bookingForm .full{grid-column:1/-1}
.bookingForm label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.9px;color:#36534d;margin-bottom:7px}
.bookingForm input,.bookingForm select,.bookingForm textarea{
  width:100%;border:1px solid var(--line);border-radius:13px;padding:14px 14px;background:#fff;color:#17312c;font:inherit
}
.bookingForm textarea{min-height:115px;resize:vertical}
.bookingForm input:focus,.bookingForm select:focus,.bookingForm textarea:focus{outline:2px solid rgba(8,115,95,.16);border-color:var(--green2)}
.formGroupTitle{grid-column:1/-1;margin:10px 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:17px;font-weight:900;color:var(--dark)}
.helper{font-size:12px;color:var(--muted);line-height:1.5;margin-top:5px}
.playerSetups{grid-column:1/-1;display:grid;gap:10px}
.playerRow{display:grid;grid-template-columns:70px 1fr 1fr;gap:10px;align-items:center}
.playerRow strong{font-size:13px}
.phoneRow{display:grid;grid-template-columns:120px 1fr;gap:10px}
.summaryBox{display:none;margin-top:22px;padding:22px;border-radius:18px;background:#eef7f4;border:1px solid #cfe7df}
.summaryBox.show{display:block}
.summaryBox h4{margin:0 0 12px;color:var(--dark)}
.summaryBox pre{white-space:pre-wrap;font-family:inherit;font-size:13px;line-height:1.55;color:#29453f;margin:0}
.formActions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;margin-top:5px}
.formActions button,.formActions a{border:0;cursor:pointer}
.clubOptions{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.clubOption{border:1px solid var(--line);border-radius:16px;padding:15px;background:#fafcfb}
.clubOption strong{display:block;color:var(--dark);margin-bottom:4px}
.clubOption span{font-size:12px;color:var(--muted);line-height:1.4}
@media(max-width:980px){
  .bookingWrap{grid-template-columns:1fr}
  .bookingSide{position:static}
}
@media(max-width:720px){
  .bookingCard,.bookingSide{padding:22px}
  .bookingForm{grid-template-columns:1fr}
  .bookingForm .full,.formGroupTitle,.playerSetups,.formActions,.clubOptions{grid-column:auto}
  .playerRow{grid-template-columns:1fr 1fr}
  .playerRow strong{grid-column:1/-1}
  .phoneRow{grid-template-columns:105px 1fr}
  .clubOptions{grid-template-columns:1fr}
  .formActions{display:grid}
}

/* LANGUAGE SWITCH */
.langSwitch,.mobileLang{display:flex;align-items:center;gap:5px}
.langSwitch button,.mobileLang button{border:0;background:transparent;padding:5px 3px;color:#80908c;font-weight:900;font-size:12px;cursor:pointer}
.langSwitch button.active,.mobileLang button.active{color:var(--green2)}
.langSwitch span,.mobileLang span{color:#a6b2af;font-size:11px}
.mobileLang{padding:8px 0 5px;margin-top:5px;border-top:1px solid var(--line)}
@media(max-width:980px){.langSwitch{display:none}}


/* FORM CONTROL SIZE NORMALIZATION */
.bookingForm input,
.bookingForm select,
.bookingForm textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:13px;
  padding:14px 14px;
  background:#fff;
  color:#17312c;
  font:inherit;
  font-size:16px;
  font-weight:400;
}

.bookingForm input,
.bookingForm select{
  height:52px;
  min-height:52px;
  line-height:22px;
}

.bookingForm select{
  appearance:auto;
  -webkit-appearance:menulist;
  -moz-appearance:menulist;
}

.bookingForm textarea{
  min-height:115px;
  height:auto;
  resize:vertical;
}

.phoneRow select,
.phoneRow input{
  height:52px;
  min-height:52px;
}

/* GOLF COURSE RATE CARDS + CHECKOUT */
.coursePriceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.coursePriceCard{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 12px 34px rgba(2,40,33,.08)}
.coursePriceImage{height:235px;background-size:cover;background-position:center}
.coursePriceBody{padding:26px}.coursePriceBody h3{margin:4px 0 10px;font-size:24px;color:var(--dark)}.coursePriceBody>p{color:var(--muted);font-size:14px;line-height:1.55}
.coursePriceTop{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.currencyBadge{font-size:11px;font-weight:900;background:#e8f4f0;color:var(--green2);padding:7px 9px;border-radius:999px}
.rateGrid{display:grid;grid-template-columns:1.2fr 1fr 1fr;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:18px 0}.rateGrid>div{padding:10px 9px;border-bottom:1px solid var(--line);font-size:13px}.rateGrid>div:nth-last-child(-n+3){border-bottom:0}.rateHead{background:#f5f8f7;font-size:11px!important;font-weight:900;text-align:center;color:#51645f}.rateLabel{font-weight:800;color:var(--dark)}.rateValue{text-align:center;font-weight:900;color:var(--green)}
.courseCardActions{display:flex;align-items:center;justify-content:space-between;gap:12px}.courseCardActions .btn{min-height:44px;padding:0 18px;border:0;cursor:pointer}
.pricingNote{margin:20px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
.checkoutTotalBox{background:#eef7f4;border:1px solid #cfe7df;border-radius:18px;padding:20px}.checkoutTotalBox>div{display:flex;align-items:center;justify-content:space-between;gap:15px}.checkoutTotalBox span{font-weight:800;color:#36534d}.checkoutTotalBox strong{font-size:28px;color:var(--green)}.checkoutTotalBox p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.55}
#payButton[disabled]{opacity:.55;cursor:not-allowed;transform:none}
@media(max-width:980px){.coursePriceGrid{grid-template-columns:1fr}}
@media(max-width:720px){.coursePriceImage{height:210px}.courseCardActions{align-items:stretch;flex-direction:column}.courseCardActions .btn{width:100%}.checkoutTotalBox>div{align-items:flex-start;flex-direction:column}}


/* GOLF COURSE CATALOG */
.courseCatalogSection{padding:72px 0 88px;background:#fff}
.courseCatalogGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.courseCatalogCard{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;display:flex;flex-direction:column;box-shadow:0 10px 28px rgba(2,40,33,.06)}
.courseCatalogImage{height:180px;background-size:cover;background-position:center}
.courseCatalogBody{padding:22px;display:flex;flex-direction:column;flex:1}
.courseCatalogBody h3{font-size:21px;line-height:1.15;margin:5px 0 10px;color:var(--dark)}
.courseCatalogBody p{font-size:13.5px;line-height:1.55;color:var(--muted);margin:0 0 16px}
.courseRates{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:4px 0 14px}
.courseRate{border-radius:13px;background:#f4f8f7;padding:11px 12px}
.courseRate span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);font-weight:800;margin-bottom:4px}
.courseRate strong{font-size:20px;color:var(--green)}
.courseRate.request strong{font-size:14px;line-height:1.25}
.clubExtras{border-top:1px solid var(--line);padding-top:13px;margin-top:2px}
.clubExtrasTitle{font-size:11px;text-transform:uppercase;letter-spacing:.8px;font-weight:900;color:#36534d;margin-bottom:8px}
.clubExtraRow{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;padding:3px 0;color:#38514b}
.clubExtraRow strong{color:var(--dark)}
.courseCatalogActions{display:grid;gap:8px;margin-top:auto;padding-top:17px}
.courseCatalogActions .btn{width:100%;min-height:46px}
.courseCatalogActions .textLink{text-align:center;font-size:12.5px}
.catalogNote{margin-top:18px;color:var(--muted);font-size:12.5px;line-height:1.6}

/* CHECKOUT TWEAKS */
.checkoutClubGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.checkoutTotalBox{background:#eef7f4;border:1px solid #cfe7df;border-radius:18px;padding:20px}
.checkoutTotalBox>div{display:flex;justify-content:space-between;gap:16px;align-items:center}
.checkoutTotalBox strong{font-size:25px;color:var(--green)}
.checkoutTotalBox p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.5}

@media(max-width:1120px){.courseCatalogGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){
  .courseCatalogSection{padding:55px 0 66px}
  .courseCatalogGrid{grid-template-columns:1fr}
  .courseCatalogImage{height:210px}
  .checkoutClubGrid{grid-template-columns:1fr}
}

/* CLUB MODEL CATALOG */
.clubCatalogSection{background:linear-gradient(180deg,#f7faf9 0%,#fff 100%)}
.clubCatalogGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.clubModelCard{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 12px 34px rgba(2,40,33,.07);display:flex;flex-direction:column}
.clubPhotoGrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:6px;padding:10px;background:#f2f6f5;height:250px}
.clubPhotoTile{min-width:0;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.clubPhotoTile:first-child{grid-row:1 / span 1}
.clubPhotoTile img{width:100%;height:100%;object-fit:contain;padding:7px;transition:transform .25s ease}
.clubPhotoTile:hover img{transform:scale(1.035)}
.clubModelBody{padding:22px;display:flex;flex-direction:column;flex:1}
.clubModelBody h3{font-size:25px;margin:4px 0 10px;color:var(--dark)}
.clubModelPrice{display:flex;align-items:baseline;gap:9px;margin-bottom:16px}
.clubModelPrice strong{font-size:30px;color:var(--green)}
.clubModelPrice span{font-size:12px;color:var(--muted);font-weight:700}
.clubSpecs{display:grid;gap:9px;margin-bottom:20px}
.clubSpecs div{display:flex;justify-content:space-between;gap:15px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.clubSpecs span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px}
.clubSpecs strong{font-size:13px;text-align:right;color:var(--dark)}
.clubSelectBtn{width:100%;margin-top:auto;border:0;cursor:pointer}
.rentalEstimate{padding:18px;border-radius:16px;background:#eef7f4;border:1px solid #cfe7df;display:grid;gap:4px}
.rentalEstimate span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.8px;color:#47645e}
.rentalEstimate strong{font-size:30px;color:var(--green)}
.rentalEstimate small{color:var(--muted)}
@media(max-width:1120px){.clubCatalogGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.clubCatalogGrid{grid-template-columns:1fr}.clubPhotoGrid{height:230px}.courseCatalogGrid{grid-template-columns:1fr}}


/* V5 — SYMMETRIC GOLF COURSE CARDS */
.courseCatalogGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}
.courseCatalogCard{
  height:590px;
  min-height:590px;
  display:flex;
  flex-direction:column;
}
.courseCatalogImage{
  height:205px;
  min-height:205px;
  flex:0 0 205px;
}
.courseCatalogBody{
  padding:22px;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
}
.courseCatalogBody h3{
  min-height:49px;
  display:flex;
  align-items:flex-start;
}
.courseCatalogBody > p{
  min-height:63px;
}
.courseRates{
  min-height:68px;
}
.clubExtras{
  min-height:78px;
}
.courseCatalogActions{
  margin-top:auto;
  min-height:82px;
  justify-content:end;
}
@media(max-width:980px){
  .courseCatalogGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .courseCatalogGrid{grid-template-columns:1fr}
  .courseCatalogCard{height:auto;min-height:0}
  .courseCatalogBody h3,.courseCatalogBody>p,.courseRates,.clubExtras,.courseCatalogActions{min-height:0}
}


/* V5 — CLUB IMAGE CAROUSEL */
.clubCatalogGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}
.clubModelCard{
  height:100%;
}
.clubCarousel{
  position:relative;
  height:310px;
  padding:14px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 38%,rgba(44,126,102,.34),transparent 48%),
    linear-gradient(145deg,#071b18 0%,#0b342d 52%,#103f35 100%);
}
.clubCarouselTrack{
  position:relative;
  width:100%;
  height:100%;
  border-radius:18px;
  overflow:hidden;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(255,255,255,.08);
}
.clubSlide{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:opacity .35s ease, visibility .35s ease;
}
.clubSlide.active{
  opacity:1;
  visibility:visible;
}
.clubSlide img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:18px;
  filter:drop-shadow(0 16px 20px rgba(0,0,0,.30));
}
.clubCarouselBtn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
  background:rgba(3,28,24,.72);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-size:22px;
  line-height:1;
  backdrop-filter:blur(8px);
  transition:.2s ease;
}
.clubCarouselBtn:hover{
  background:rgba(17,94,76,.92);
  transform:translateY(-50%) scale(1.05);
}
.clubCarouselBtn.prev{left:24px}
.clubCarouselBtn.next{right:24px}
.clubCarouselDots{
  position:absolute;
  z-index:6;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  display:flex;
  gap:7px;
}
.clubCarouselDot{
  width:7px;
  height:7px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.40);
  cursor:pointer;
  transition:.2s ease;
}
.clubCarouselDot.active{
  width:22px;
  background:#73d7b9;
}
@media(max-width:1120px){
  .clubCatalogGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .clubCatalogGrid{grid-template-columns:1fr}
  .clubCarousel{height:285px}
}


/* V6 — FINAL COURSE GRID FIX
   The previous fixed-height rule was being overridden/combined with legacy layout.
   This forces a true equal-width grid and prevents a card from spanning the row. */
.courseCatalogGrid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-auto-flow:row !important;
  grid-auto-rows:1fr !important;
  gap:22px !important;
  align-items:stretch !important;
}
.courseCatalogGrid > .courseCatalogCard{
  grid-column:auto !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:100% !important;
  min-height:590px !important;
  margin:0 !important;
}
.courseCatalogImage{
  width:100% !important;
  height:205px !important;
  min-height:205px !important;
  flex:0 0 205px !important;
}
.courseCatalogBody{
  width:100%;
  box-sizing:border-box;
}
.courseCatalogBody h3{min-height:50px !important}
.courseCatalogBody > p{min-height:66px !important}
.courseRates{min-height:70px !important}
.clubExtras{
  min-height:82px !important;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.courseCatalogActions{
  min-height:88px !important;
  margin-top:auto !important;
}

/* Cleaner club rental gallery — lighter premium green */
.clubCarousel{
  background:
    radial-gradient(circle at 50% 38%,rgba(255,255,255,.72),transparent 34%),
    radial-gradient(circle at 20% 12%,rgba(171,218,197,.68),transparent 38%),
    linear-gradient(145deg,#dcece5 0%,#c6dfd4 48%,#a9cfc0 100%) !important;
}
.clubCarouselTrack{
  background:rgba(255,255,255,.24) !important;
  border:1px solid rgba(255,255,255,.55) !important;
}
.clubSlide img{
  filter:drop-shadow(0 14px 18px rgba(8,50,41,.20)) !important;
}
.clubCarouselBtn{
  background:rgba(10,75,61,.76) !important;
  border-color:rgba(255,255,255,.60) !important;
}
.clubCarouselDot{background:rgba(7,72,58,.30) !important}
.clubCarouselDot.active{background:#075c4a !important}

@media(max-width:1050px){
  .courseCatalogGrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:720px){
  .courseCatalogGrid{grid-template-columns:1fr !important}
  .courseCatalogGrid > .courseCatalogCard{
    height:auto !important;
    min-height:0 !important;
  }
  .courseCatalogBody h3,
  .courseCatalogBody > p,
  .courseRates,
  .clubExtras,
  .courseCatalogActions{min-height:0 !important}
}

/* V7 — DEFINITIVE GOLF PACKAGE CARD LAYOUT */
.courseCatalogGrid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:stretch !important;
}
.courseCatalogCard{
  display:grid !important;
  grid-template-rows:205px 1fr auto !important;
  width:100% !important;
  height:100% !important;
  min-height:620px !important;
  max-width:none !important;
  margin:0 !important;
  overflow:hidden !important;
}
.courseCatalogImage{
  width:100% !important;
  height:205px !important;
  min-height:205px !important;
}
.courseCatalogBody{
  display:grid !important;
  grid-template-rows:auto 54px 68px 72px 82px !important;
  align-content:start !important;
  gap:0 !important;
  padding:22px !important;
}
.courseCatalogBody .eyebrow{margin-bottom:5px !important}
.courseCatalogBody h3{
  min-height:0 !important;
  margin:0 !important;
  align-self:start !important;
}
.courseCatalogBody>p{
  min-height:0 !important;
  margin:10px 0 0 !important;
  overflow:hidden !important;
}
.courseRates{
  min-height:0 !important;
  align-self:end !important;
  margin:0 !important;
}
.clubExtras{
  min-height:0 !important;
  align-self:end !important;
  margin:0 !important;
  padding-top:13px !important;
}
.courseCatalogActions{
  min-height:86px !important;
  padding:0 22px 20px !important;
  margin:0 !important;
  display:grid !important;
  align-content:end !important;
}
.courseCatalogActions .btn{width:100% !important}
@media(max-width:1050px){
  .courseCatalogGrid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:720px){
  .courseCatalogGrid{grid-template-columns:1fr !important}
  .courseCatalogCard{
    min-height:0 !important;
    grid-template-rows:190px auto auto !important;
  }
  .courseCatalogImage{height:190px !important;min-height:190px !important}
  .courseCatalogBody{
    display:block !important;
  }
  .courseCatalogBody h3,.courseCatalogBody>p,.courseRates,.clubExtras{margin-bottom:14px !important}
  .courseCatalogActions{min-height:0 !important}
}

/* V8 — authoritative 4-course grid from Base de Datos GGS(2).xlsx */
.courseCatalogGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;align-items:stretch!important}
.courseCatalogCard{display:grid!important;grid-template-rows:220px 1fr auto!important;min-height:650px!important;height:100%!important;width:100%!important;overflow:hidden!important}
.courseCatalogImage{height:220px!important;min-height:220px!important;width:100%!important}
.courseCatalogBody{display:flex!important;flex-direction:column!important;padding:24px!important}
.courseCatalogBody h3{min-height:52px!important;margin:0!important}
.courseCatalogBody>p{min-height:64px!important;margin:12px 0 16px!important}
.rateMatrix{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;min-height:150px!important;margin-top:auto!important}
.rateMatrix .courseRate{display:flex!important;flex-direction:column!important;justify-content:center!important;min-height:68px!important;padding:12px 13px!important}
.rateMatrix .courseRate span{font-size:10px!important;line-height:1.25!important}
.clubExtras.compact{min-height:66px!important;margin-top:14px!important;padding-top:12px!important}
.courseCatalogActions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;min-height:102px!important;padding:0 24px 22px!important;align-content:end!important}
.courseCatalogActions .btn{width:100%!important}
.lifestyleGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.lifestyleGrid img{width:100%;height:260px;object-fit:cover;border-radius:20px;box-shadow:0 12px 35px rgba(2,40,33,.10)}
.rentalLifestyle{background:linear-gradient(180deg,#f7faf8 0%,#edf5f1 100%)}
@media(max-width:900px){.courseCatalogGrid{grid-template-columns:1fr!important}.courseCatalogCard{min-height:0!important}.lifestyleGrid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.rateMatrix{grid-template-columns:1fr 1fr!important}.lifestyleGrid{grid-template-columns:1fr}.lifestyleGrid img{height:230px}}

/* V9 FINAL — symmetrical course cards and local course galleries */
.courseCatalogGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important;align-items:stretch!important}
.courseCatalogCard{display:grid!important;grid-template-rows:220px 1fr auto!important;height:100%!important;min-height:650px!important;width:100%!important;overflow:hidden!important;border-radius:24px!important}
.courseCatalogImage{width:100%!important;height:220px!important;min-height:220px!important;background-size:cover!important;background-position:center!important}
.courseCatalogBody{display:flex!important;flex-direction:column!important;padding:24px!important}
.courseCatalogBody h3{min-height:52px!important;margin:0!important}.courseCatalogBody>p{min-height:64px!important;margin:12px 0 16px!important}
.rateMatrix{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;min-height:150px!important;margin-top:auto!important}
.courseCatalogActions{display:grid!important;gap:10px!important;min-height:102px!important;padding:0 24px 22px!important;align-content:end!important}.courseCatalogActions .btn{width:100%!important}
.courseGallerySection{background:linear-gradient(180deg,#fff 0%,#f3f8f5 100%)}
.courseGallery{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:14px}.courseGallery img{width:100%;height:270px;object-fit:cover;border-radius:20px;box-shadow:0 12px 32px rgba(2,40,33,.10)}.courseGallery img:first-child{grid-row:span 2;height:554px}
@media(max-width:900px){.courseCatalogGrid{grid-template-columns:1fr!important}.courseCatalogCard{min-height:0!important}.courseGallery{grid-template-columns:1fr 1fr}.courseGallery img:first-child{grid-column:1/-1;grid-row:auto;height:360px}}
@media(max-width:620px){.courseGallery{grid-template-columns:1fr}.courseGallery img,.courseGallery img:first-child{height:240px}.rateMatrix{grid-template-columns:1fr 1fr!important}}


/* V10 — HOME: VALUE PROPOSITION DIRECTLY BELOW HERO */
.hero + .section{
  padding-top:72px;
  padding-bottom:82px;
  background:#fff;
}
.hero + .section .head{
  margin-bottom:38px;
}
.hero + .section .grid3{
  align-items:stretch;
}
.hero + .section .card{
  height:100%;
  display:flex;
  flex-direction:column;
}
.hero + .section .cardPhoto{
  height:250px;
  min-height:250px;
  background-size:cover;
  background-position:center;
}
.hero + .section .cardBody{
  flex:1;
  display:flex;
  flex-direction:column;
}
.hero + .section .cardBody .textLink{
  margin-top:auto;
}
@media(max-width:720px){
  .hero + .section{
    padding-top:52px;
    padding-bottom:58px;
  }
  .hero + .section .cardPhoto{
    height:215px;
    min-height:215px;
  }
}
