/* Huna visual refinements — consistent cards, editorial event details and
   breathing room for Arabic and English forms. */

/* Homepage locations: one equal card per live location, no floating shadows.
   On small screens the same cards become a deliberate swipe strip. */
#home-loc-featured{ display:none !important; }
#home-loc-scroll{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px;
  overflow:visible; padding:4px 0 8px; scroll-snap-type:none;
}
#home-loc-scroll .loc-card{
  width:100%; min-width:0; height:auto; aspect-ratio:4/5; flex:none;
  border-radius:18px; box-shadow:none !important; transform:none;
}
#home-loc-scroll .loc-card:hover{ box-shadow:none !important; transform:translateY(-2px); }
#home-loc-scroll .loc-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
#home-loc-scroll .loc-info{ inset-inline:20px; bottom:20px; }
@media(max-width:980px){ #home-loc-scroll{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } }
@media(max-width:560px){
  #home-loc-scroll{ display:flex; gap:14px; overflow-x:auto; padding:4px 4px 18px; scroll-snap-type:x mandatory; }
  #home-loc-scroll .loc-card{ flex:0 0 min(82vw,350px); width:auto; height:auto; aspect-ratio:4/5; scroll-snap-align:start; }
  html[dir="rtl"] #home-loc-scroll{ direction:rtl; }
}

/* Documentary archive: three restrained landscape posters per row, with the
   source video ratio preserved instead of tall, oversized poster panels. */
.ch-archive .ch-doc-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; align-items:start; }
.ch-archive .ch-doc-card{ min-width:0; }
.ch-archive .ch-doc-poster{ width:100%; height:auto !important; aspect-ratio:16/9; margin-bottom:14px; }
.ch-archive .ch-doc-poster img{ width:100%; height:100%; object-fit:cover; }
.ch-archive .ch-doc-title{ line-height:1.4; }
@media(max-width:980px){ .ch-archive .ch-doc-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; } }
@media(max-width:600px){ .ch-archive .ch-doc-grid{ grid-template-columns:1fr; gap:28px; } }

/* Restaurant cards share one silhouette and keep every action on the same
   baseline, even when CMS descriptions vary in length. */
.full-fnb-grid{ grid-auto-rows:1fr; align-items:stretch; gap:22px; }
.full-fnb-grid > .full-fnb-card:first-child{ grid-column:auto !important; display:flex !important; grid-template-columns:none !important; }
.full-fnb-card{ display:flex; flex-direction:column; height:100%; min-width:0; box-shadow:none; }
.full-fnb-card:hover{ box-shadow:0 16px 34px -26px rgba(30,22,16,.32) !important; }
.full-fnb-thumb,
.full-fnb-grid > .full-fnb-card:first-child .full-fnb-thumb{ height:auto; min-height:0; aspect-ratio:4/3; flex:none; }
.full-fnb-thumb img{ width:100%; height:100%; object-fit:cover; }
.full-fnb-body,
.full-fnb-grid > .full-fnb-card:first-child .full-fnb-body{ display:flex; flex:1; flex-direction:column; justify-content:flex-start; padding:22px 24px 24px; }
.full-fnb-name,
.full-fnb-grid > .full-fnb-card:first-child .full-fnb-name{ font-size:19px; line-height:1.3; min-height:2.6em; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.full-fnb-blurb,
.full-fnb-grid > .full-fnb-card:first-child .full-fnb-blurb{ font-size:13px; line-height:1.65; max-width:none; min-height:4.95em; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.full-fnb-where{ margin-top:auto; padding-top:12px; }
.full-fnb-card .menu-btn{ margin-top:14px; align-self:flex-start; }
@media(max-width:600px){ .full-fnb-grid{ grid-template-columns:1fr; gap:18px; } }

/* Event detail: create a clear editorial rhythm from cinematic title to
   decision-making facts, story, and a distinct reservation panel. */
.ev-hero{ min-height:480px; height:min(68vh,760px); }
.ev-hero-content{ padding-bottom:clamp(42px,7vh,76px); }
.ev-hero-content h1{ max-width:760px; line-height:1.08; text-wrap:balance; }
.ev-hero-cat{ border:1px solid rgba(255,205,82,.4); background:rgba(17,17,16,.55); backdrop-filter:blur(8px); }
.ev-hero-meta{ gap:10px; margin-top:26px; }
.ev-hero-meta > span,
.ev-hero-meta > a{ min-height:38px; padding:8px 13px; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:rgba(15,14,12,.28); backdrop-filter:blur(8px); }
.ev-facts{ background:linear-gradient(135deg,#f5ecdd 0%,#fbf7f0 100%); padding:28px 0; }
.ev-facts__list{ gap:12px; }
.ev-fact,
.ev-fact:first-child{ min-height:92px; padding:16px 18px; border:1px solid rgba(83,66,47,.13); border-radius:14px; background:rgba(255,255,255,.64); justify-content:center; gap:8px; }
.ev-fact dt{ color:#84612e; }
.ev-fact dd{ font-size:clamp(1rem,1.65vw,1.2rem); }
.ev-detail-body{ padding:clamp(58px,7vw,92px) 0 72px; }
.ev-detail-grid{ gap:clamp(38px,6vw,84px); }
.ev-detail-main > div:not([hidden]) + div:not([hidden]){ margin-top:46px; }
.ev-detail-main h2{ position:relative; padding-inline-start:15px; margin-top:0; }
.ev-detail-main h2::before{ content:""; position:absolute; inset-inline-start:0; top:.2em; bottom:.2em; width:3px; border-radius:3px; background:var(--gold); }
.reg-card{ border-radius:22px; padding:clamp(24px,3vw,38px); box-shadow:0 20px 55px -42px rgba(45,32,18,.5); }
.reg-card h3{ font-size:22px; line-height:1.2; margin-bottom:26px; }
@media(max-width:640px){ .ev-hero{ min-height:460px; height:70vh; } .ev-hero-meta{ gap:8px; } .ev-hero-meta > span,.ev-hero-meta > a{ padding:7px 10px; } }

/* About page: consistent breathing space and readable line lengths prevent
   adjacent stories, timeline entries and image tiles from visually touching. */
.about-story-grid{ gap:clamp(42px,7vw,100px); margin-bottom:clamp(78px,10vw,132px); align-items:center; }
.about-story-grid p{ max-width:58ch; line-height:1.95; }
.about-story-grid p + p{ margin-top:22px; }
.about-timeline{ gap:clamp(20px,3vw,42px); margin-bottom:clamp(80px,10vw,132px); }
.tl-item h3{ line-height:1.35; margin-bottom:12px; }
.tl-item p{ line-height:1.85; }
.pillar-card{ grid-template-columns:minmax(54px,70px) minmax(180px,1fr) minmax(0,1.5fr); gap:clamp(18px,3vw,36px); padding:clamp(26px,3vw,38px) 0; }
.pillar-card p{ line-height:1.85; }
.about-gallery{ gap:clamp(14px,2vw,24px); margin-bottom:clamp(80px,10vw,132px); }
.about-gallery-main{ min-height:360px; height:clamp(360px,38vw,520px); }
.about-gallery-side{ min-height:360px; gap:clamp(14px,2vw,24px); }
.about-gallery-side > div{ min-height:0; }
@media(max-width:860px){ .about-story-grid{ align-items:start; gap:28px; } .pillar-card{ grid-template-columns:54px minmax(0,1fr); } .pillar-card p{ grid-column:2; } .about-gallery-main{ height:clamp(280px,65vw,430px); min-height:0; } .about-gallery-side{ min-height:0; grid-template-columns:1fr 1fr; grid-template-rows:190px; } }
@media(max-width:560px){ .pillar-card{ grid-template-columns:42px minmax(0,1fr); gap:12px; } .about-gallery-side{ grid-template-columns:1fr; grid-template-rows:repeat(2,minmax(190px,56vw)); } }

/* Forms: labels, inputs and entered text keep clear, comfortable separation
   on both Arabic and English pages. */
.field{ gap:10px; }
.field input,.field textarea,.field select,
.reg-card input,.reg-card textarea,.reg-card select{
  box-sizing:border-box; min-height:54px; padding:15px 18px; line-height:1.5;
}
.field textarea{ min-height:132px; }
.field input:focus,.field textarea:focus,.field select:focus,
.reg-card input:focus,.reg-card textarea:focus,.reg-card select:focus{
  box-shadow:0 0 0 3px rgba(255,205,82,.18);
}

/* Membership tiers: cards align, breathe, and lead to their exact plan page. */
.mb-tier-grid{ align-items:stretch; gap:clamp(16px,2vw,26px); }
.mb-tier-card{ min-height:360px; padding:clamp(26px,3vw,38px); border-radius:22px; box-shadow:0 12px 38px -34px rgba(30,22,16,.4); }
.mb-tier-card h3{ line-height:1.2; min-height:1.2em; }
.mb-tier-card p{ line-height:1.85; }
.mb-tier-card .cta-outline{ margin-top:auto; }
.mb-tier-card .mb-tier-index{ letter-spacing:.08em; }
@media(max-width:900px){ .mb-tier-card{ min-height:0; } }
