.contact-hero { min-height: 310px; position: relative; overflow: hidden; background: linear-gradient(110deg,#fffdf9 20%,#fff8ed 100%); }
.contact-hero::after { content:""; position:absolute; inset:0; opacity:.16; background-image: radial-gradient(circle at 2px 2px,rgba(216,138,24,.2) 1px,transparent 0); background-size:28px 28px; pointer-events:none; }
.contact-hero-photo { width: 42%; position:absolute; inset-block:0; left:0; background: linear-gradient(90deg,transparent 60%,#fffdf9), linear-gradient(rgba(6,21,44,.08),rgba(6,21,44,.08)), url('../img/bbb.png') center/cover no-repeat; }
.contact-hero-inner { min-height:310px; position:relative; z-index:2; padding-block:26px 46px; }
.breadcrumbs { display:flex; align-items:center; gap:12px; color:#9298a1; font-size:12px; }
.breadcrumbs a { color:var(--ink); font-weight:700; }
.breadcrumbs i { color:var(--gold); font-size:8px; }
.contact-hero-copy { width:min(600px,56%); margin-right:0; margin-left:auto; padding-top:38px; text-align:center; }
.contact-hero-copy > p:first-child { margin:0 0 2px; color:var(--gold-dark); font-size:13px; font-weight:700; }
.contact-hero-copy h1 { margin:0; font-size:clamp(36px,4vw,54px); line-height:1.35; }
.contact-hero-copy > p:last-child { max-width:570px; margin:15px auto 0; color:var(--muted); font-size:14px; }
.heading-mark { margin:12px 0; display:flex; align-items:center; justify-content:center; gap:9px; }
.heading-mark span { width:55px; height:1px; background:var(--gold); }
.heading-mark i { width:10px; height:10px; background:var(--gold); transform:rotate(45deg); }

.contact-main { padding:58px 0 40px; background:linear-gradient(#fff,#fffdfa); }
.contact-layout { display:grid; grid-template-columns:minmax(0,1.48fr) minmax(310px,.82fr); gap:28px; align-items:start; }
.booking-card,.contact-card { padding:32px; background:#fff; border:1px solid #efe3d2; border-radius:14px; box-shadow:0 16px 42px rgba(12,29,52,.08); }
.card-heading { margin-bottom:25px; text-align:center; }
.card-heading span { color:var(--gold-dark); font-size:12px; font-weight:700; }
.card-heading h2 { margin:3px 0 7px; font-size:23px; }
.card-heading h2::after { content:""; width:42px; height:2px; display:block; margin:10px auto 0; background:var(--gold); }
.card-heading p { max-width:480px; margin:0 auto; color:var(--muted); font-size:12px; line-height:1.9; }
.booking-form { display:grid; grid-template-columns:1fr 1fr; gap:18px 20px; }
.field { min-width:0; }
.field.full,.submit-booking,.privacy-note { grid-column:1/-1; }
.field label { margin-bottom:7px; display:block; color:#323d51; font-size:12px; font-weight:600; }
.field label span { color:#8c929c; font-size:10px; font-weight:400; }
.control { min-height:53px; display:flex; align-items:center; overflow:hidden; background:#fff; border:1px solid #dcdfe5; border-radius:6px; transition:border-color .2s,box-shadow .2s; }
.control:focus-within { border-color:var(--gold); box-shadow:0 0 0 3px rgba(244,170,50,.12); }
.control > i { width:48px; flex:0 0 48px; color:#727986; text-align:center; border-inline-end:1px solid #e3e5e9; }
.control input,.control select,.control textarea { width:100%; min-width:0; padding:13px 15px; color:var(--ink); background:transparent; border:0; outline:0; font:500 13px/1.5 "Cairo",sans-serif; }
.control input::placeholder,.control textarea::placeholder { color:#a2a7af; font-weight:400; }
.control select { cursor:pointer; }
.textarea-control { align-items:flex-start; }
.textarea-control > i { padding-top:19px; }
.control textarea { min-height:105px; resize:vertical; }
.field-error { display:none; margin-top:5px; color:#c83c3c; font-size:10px; }
.field.is-invalid .control { border-color:#d9534f; box-shadow:0 0 0 3px rgba(217,83,79,.08); }
.field.is-invalid .field-error { display:block; }
.submit-booking { min-height:56px; margin-top:3px; color:var(--gold); background:linear-gradient(110deg,#071a35,#0b2a53); border:0; border-radius:6px; font:700 15px "Cairo",sans-serif; cursor:pointer; box-shadow:0 10px 24px rgba(6,21,44,.15); transition:transform .2s,filter .2s; }
.submit-booking:hover { transform:translateY(-2px); filter:brightness(1.1); }
.submit-booking i { margin-inline-end:8px; font-size:18px; }
.privacy-note { margin:0; color:#858b95; text-align:center; font-size:10px; }
.privacy-note i { margin-inline-end:6px; color:var(--gold-dark); }
.contact-list { display:flex; flex-direction:column; gap:15px; }
.contact-list > a,.contact-list > div { display:flex; align-items:center; gap:13px; }
.contact-list > a > i,.contact-list > div > i { width:43px; height:43px; flex:0 0 43px; display:grid; place-items:center; color:var(--gold); background:var(--navy); border-radius:50%; }
.contact-list span { min-width:0; display:flex; flex-direction:column; }
.contact-list strong { font-size:12px; }
.contact-list b { color:#656e7c; font-size:11px; font-weight:500; overflow-wrap:anywhere; }
.hotel-preview,.map-preview { margin:22px 0 0; overflow:hidden; border-radius:8px; }
.hotel-preview img { width:100%; height:145px; object-fit:cover; }
.map-preview { position:relative; }
.map-preview img { width:100%; height:125px; object-fit:cover; }
.map-preview figcaption { position:absolute; inset-inline:8px; bottom:8px; padding:7px 9px; color:#fff; background:rgba(6,21,44,.85); border-radius:5px; text-align:center; font-size:9px; }
.map-preview figcaption i { margin-inline-end:5px; color:var(--gold); }
.map-button { width:100%; min-height:45px; margin-top:13px; padding-inline:12px; color:#10203a; background:#f7b647; font-size:11px; }

.contact-benefits { padding:0 0 45px; background:#fffdfa; }
.benefits-grid { display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden; background:#fff; border:1px solid #efe3d2; border-radius:12px; box-shadow:0 12px 35px rgba(12,29,52,.07); }
.benefits-grid article { min-height:145px; padding:23px 18px; position:relative; text-align:center; }
.benefits-grid article:not(:last-child)::after { content:""; width:1px; height:65%; position:absolute; top:18%; inset-inline-end:0; background:#ead9bd; }
.benefits-grid i { color:var(--gold-dark); font-size:32px; }
.benefits-grid h3 { margin:8px 0 2px; font-size:14px; }
.benefits-grid p { margin:0; color:var(--muted); font-size:10px; line-height:1.8; }
.contact-cta { color:#fff; background:linear-gradient(90deg,rgba(6,21,44,.96),rgba(6,21,44,.72)),url('../img/Untitled (15 x 12 in).png') center/cover no-repeat; }
.contact-cta-inner { min-height:190px; padding-block:38px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.contact-cta h2 { margin:0; font-size:31px; }
.contact-cta p { margin:5px 0 0; color:rgba(255,255,255,.78); font-size:13px; }
.contact-cta-inner > div:last-child { display:flex; gap:12px; }

html[dir="ltr"] body { font-family:"Cairo",sans-serif; }
html[dir="ltr"] .contact-hero-photo { left:auto; right:0; background:linear-gradient(270deg,transparent 60%,#fffdf9),linear-gradient(rgba(6,21,44,.08),rgba(6,21,44,.08)),url('../img/bbb.png') center/cover no-repeat; }
html[dir="ltr"] .contact-hero-copy { margin-left:0; margin-right:auto; }
html[dir="ltr"] .contact-card,html[dir="ltr"] .booking-card { text-align:left; }
html[dir="ltr"] .footer-contact a,html[dir="ltr"] .footer-contact p { direction:ltr; }

@media(max-width:940px){
    .contact-hero-photo { width:100%; opacity:.22; background:linear-gradient(rgba(255,253,249,.35),#fffdf9),url('../img/bbb.png') center/cover no-repeat; }
    html[dir="ltr"] .contact-hero-photo { background:linear-gradient(rgba(255,253,249,.35),#fffdf9),url('../img/bbb.png') center/cover no-repeat; }
    .contact-hero-copy { width:min(650px,90%); margin-inline:auto; }
    .contact-layout { grid-template-columns:1fr; }
    .contact-card { grid-row:2; }
    .benefits-grid { grid-template-columns:repeat(2,1fr); }
    .benefits-grid article:nth-child(2)::after { display:none; }
    .contact-cta-inner { flex-direction:column; text-align:center; }
}
@media(max-width:700px){
    .contact-hero,.contact-hero-inner { min-height:300px; }
    .contact-hero-inner { padding-top:20px; }
    .contact-hero-copy { padding-top:38px; }
    .contact-hero-copy h1 { font-size:38px; }
    .contact-hero-copy > p:last-child { font-size:12px; }
    .contact-main { padding-top:35px; }
    .booking-card,.contact-card { padding:25px 18px; border-radius:11px; }
    .booking-form { grid-template-columns:1fr; gap:15px; }
    .field,.field.full,.submit-booking,.privacy-note { grid-column:1; }
    .control { min-height:51px; }
    .benefits-grid { grid-template-columns:1fr; }
    .benefits-grid article { min-height:128px; }
    .benefits-grid article:not(:last-child)::after { width:70%; height:1px; top:auto; bottom:0; right:15%; }
    .contact-cta-inner > div:last-child { width:100%; flex-direction:column; }
    .contact-cta-inner .button { width:100%; }
    .contact-cta h2 { font-size:25px; }
}
