/* Gia An V1 — trang Liên hệ & đặt phòng: hero, thẻ thông tin + bản đồ, form tối, liên kết nhanh, FAQ */
.phero{position:relative;min-height:56svh;display:grid;align-items:end;padding:140px var(--gutter) 60px;color:var(--white);overflow:hidden}
.phero__bg{position:absolute;inset:0}
.phero__bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.phero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,21,16,.55),rgba(42,21,16,.2) 40%,rgba(42,21,16,.8))}
.phero__c{position:relative;z-index:2;max-width:760px}
.phero__title{font-family:var(--display);font-weight:400;font-size:clamp(44px,7vw,96px);line-height:.98;margin:6px 0 16px}
.phero__lead{font-size:clamp(17px,1.4vw,21px);max-width:54ch;opacity:.92}

/* two columns */
.ct{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:start;padding:clamp(60px,8vw,110px) var(--gutter)}
.ct__h{font-family:var(--display);font-weight:400;font-size:clamp(28px,3vw,42px);line-height:1.05;margin-bottom:22px;letter-spacing:.01em}
.ct__info{padding:clamp(26px,3.4vw,44px);border:1px solid rgba(42,21,16,.16);background:rgba(255,255,255,.35);border-radius:4px}
.ct__list{display:grid;gap:0}
.ct__list>div{display:grid;grid-template-columns:minmax(120px,.38fr) 1fr;gap:6px 24px;padding:14px 0;border-top:1px solid rgba(42,21,16,.12)}
.ct__list>div:last-child{border-bottom:1px solid rgba(42,21,16,.12)}
.ct__list dt{font-family:var(--sans);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);padding-top:5px}
.ct__list dd{font-size:clamp(16px,1.2vw,18px);line-height:1.5;font-weight:400}
.ct__phone a{border-bottom:1px solid rgba(42,21,16,.3);transition:border-color .3s,color .3s;white-space:nowrap}
.ct__phone a:first-child{font-family:var(--display);font-size:1.35em;letter-spacing:.04em;border-bottom-width:1px}
.ct__phone a:hover{color:var(--gold);border-color:var(--gold)}
.ct__sep{opacity:.45;margin:0 10px}
.ct__map{margin-top:26px;aspect-ratio:16/10;overflow:hidden;border-radius:3px;border:1px solid rgba(42,21,16,.14);background:var(--cream-2)}
.ct__map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.25) contrast(1.04)}
.btn--ink{color:var(--ink);border-color:rgba(42,21,16,.45)}
.ct__info .btn--line{margin-top:18px}

/* form (dark card, reuses .contact__form field styles from style.css) */
.ct__form{position:sticky;top:90px;background:var(--ink);color:var(--cream);border:1px solid rgba(243,236,226,.12);border-radius:4px;scroll-margin-top:90px;box-shadow:0 40px 80px -40px rgba(42,21,16,.5)}
.ct__h--form{color:var(--cream);margin-bottom:6px}
.ct__formlead{font-weight:300;opacity:.8;font-size:16px;margin:-6px 0 4px;max-width:none}
.contact__form .row--3{grid-template-columns:1fr 1fr .7fr}
.contact__form input[type=number]{-moz-appearance:textfield}
.contact__form input[type=number]::-webkit-outer-spin-button,.contact__form input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.contact__form input[type=date]{min-width:0;width:100%}
.ct__form .btn--solid{margin-top:4px}
.ct__form .booking__note+.booking__note{margin-top:-10px}

/* quick links */
.ql{padding-top:clamp(20px,4vw,40px)}
.ql__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,28px)}
.ql__card{position:relative;display:flex;flex-direction:column;gap:10px;padding:clamp(24px,3vw,36px);border:1px solid rgba(42,21,16,.18);border-radius:4px;min-height:200px;transition:background .6s var(--ease),color .6s var(--ease),border-color .6s var(--ease)}
.ql__num{font-family:var(--sans);font-size:10px;letter-spacing:.3em;opacity:.5}
.ql__card h3{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.4vw,34px);line-height:1.05;letter-spacing:.02em}
.ql__card p{font-weight:300;font-size:16px;opacity:.8;max-width:30ch}
.ql__arrow{margin-top:auto;font-family:var(--serif);font-size:26px;line-height:1;color:var(--gold);transition:transform .6s var(--ease)}
.ql__card:hover,.ql__card:focus-visible{background:var(--ink);color:var(--cream);border-color:var(--ink);outline:0}
.ql__card:hover .ql__arrow{transform:translateX(8px)}

/* faq (same look as doan/) */
.faq{padding-top:clamp(40px,6vw,80px)}
.faq__list{max-width:880px}
.faq details{border-top:1px solid rgba(42,21,16,.15)}
.faq details:last-child{border-bottom:1px solid rgba(42,21,16,.15)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 0;font-family:var(--display);font-size:clamp(21px,2vw,28px);line-height:1.2;letter-spacing:.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';flex:none;font-family:var(--serif);font-size:30px;line-height:1;color:var(--gold);transition:transform .5s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 28px;font-weight:300;opacity:.85;max-width:64ch}

/* nav current */
.nav__links a.is-current{opacity:1}
.nav__links a.is-current::after{transform:scaleX(1);transform-origin:left}

@media (max-width:960px){
  .ct{grid-template-columns:minmax(0,1fr)}
  .ct__form{position:static}
  .ql__grid{grid-template-columns:1fr}
  .ql__card{min-height:0}
}
@media (max-width:680px){
  .phero__shade{background:linear-gradient(180deg,rgba(42,21,16,.62),rgba(42,21,16,.45) 40%,rgba(42,21,16,.88))}
  .phero{min-height:48svh;padding:120px var(--gutter) 44px}
  .ct{padding:44px var(--gutter)}
  .ct__list>div{grid-template-columns:1fr;gap:4px}
  .ct__list dt{padding-top:0}
  .contact__form .row{grid-template-columns:minmax(0,1fr)}
  .contact__form .row--3{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .contact__form input,.contact__form textarea{min-width:0;width:100%}
  .contact__form .row--3 label:last-child{grid-column:1/-1}
  .ct__phone a{display:inline-block}
}
