/* Contact-only layout, shared across public entry points for seamless routing. */
.contact-compact main > .wrap{
  width:min(1220px,calc(100% - 104px));
  margin-inline:auto;
}
.contact-compact .page-intro{padding-block:42px 25px}
.contact-compact .page-intro .eyebrow{margin-bottom:10px}
.contact-compact .page-intro h1{font-size:clamp(36px,4.5vw,58px);line-height:1.3}
.contact-compact .page-intro > p:last-child{margin-top:10px;font-size:13px;line-height:1.9}
.contact-compact .contact-options{margin-bottom:0}
.contact-compact .event-options-title{font-size:23px;line-height:1.5;margin-bottom:14px;color:var(--gold-bright)}
.contact-compact .contact-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  border:0;
  margin:0;
}
.contact-compact .contact-card-grid .contact-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  min-height:220px;
  padding:20px;
  border:1px solid #4a4030;
  border-radius:4px;
  background:linear-gradient(135deg,#211d16,#171512);
  transition:border-color .2s,background .2s;
}
.contact-compact .contact-card-grid .contact-card:hover{
  border-color:#a58758;
  background:linear-gradient(135deg,#2b251a,#201b14);
}
.contact-compact .contact-card-grid .contact-card:focus-visible{outline-offset:3px}
.contact-compact .contact-card .contact-icon{
  flex-shrink:0;
  width:36px;
  height:36px;
  margin:0 0 13px;
}
.contact-compact .contact-card .whatsapp-card-icon{color:#76c694}
.contact-compact .contact-card .eyebrow{
  margin:0 0 7px;
  font:10px/1.4 ArabicSans,Arial,sans-serif;
  letter-spacing:.7px;
}
.contact-compact .contact-card h2{
  margin:0 0 8px;
  font-size:25px;
  line-height:1.45;
  overflow-wrap:break-word;
}
.contact-compact .contact-card .event-description,
.contact-compact .contact-card .contact-phone{
  display:block;
  font-size:12px;
  line-height:1.75;
  color:#c3bbae;
  overflow-wrap:break-word;
}
.contact-compact .contact-card .contact-phone{font-family:Arial,sans-serif;white-space:nowrap;font-size:12px}
.contact-compact .contact-card .arrow{
  position:static;
  align-self:flex-end;
  display:flex;
  margin-top:auto;
  padding-top:14px;
  color:var(--gold);
  line-height:1;
}
.contact-compact .contact-card .arrow-icon{width:16px;height:16px}
.contact-compact .contact-email{margin:17px 0 0;color:#bdb4a3;font-size:12px;line-height:1.6}
.contact-compact .contact-email a{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding-block:7px}
.contact-compact .contact-email-label{color:var(--gold-bright)}
.contact-compact .contact-email [dir=ltr]{font-family:Arial,sans-serif;overflow-wrap:anywhere}
.contact-compact .contact-email .arrow-icon{width:12px;height:12px;color:var(--gold)}
.contact-compact .contact-email a:hover{color:var(--gold-bright)}
.contact-compact .contact-note{gap:20px;padding-block:18px 35px}
.contact-compact .contact-note p{font-size:25px;line-height:1.5;white-space:normal;text-align:center}
.contact-compact .contact-note .decorative-line{max-width:50px;flex:1}
/* Physical right rail is independent of language direction. Both floating
   controls remain outside the cards, including while the page is scrolled. */
.contact-compact .music-toggle{left:auto;right:8px;bottom:64px;width:36px;height:36px}
.contact-compact .whatsapp{left:auto;right:8px;bottom:18px;width:36px;height:36px;padding:7px;justify-content:center}
.contact-compact .whatsapp svg{width:21px;height:21px}
.contact-compact .whatsapp span{display:none}
html[lang=en] .contact-compact .page-intro h1{font-size:clamp(32px,4vw,52px)}
html[lang=en] .contact-compact .event-options-title{font-size:20px}
html[lang=en] .contact-compact .contact-card h2{font-size:22px;line-height:1.35}
html[lang=en] .contact-compact .contact-note p{font-size:21px;line-height:1.5}
@media(min-width:1000px){
  .contact-compact .contact-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:760px){
  /* 16px left edge + 52px right rail leaves a usable 2-column grid at 320px. */
  .contact-compact main > .wrap{width:calc(100% - 68px);margin-left:16px;margin-right:52px}
  .contact-compact .page-intro{padding-block:26px 19px}
  .contact-compact .page-intro .eyebrow{font-size:9px;margin-bottom:8px;letter-spacing:1px}
  .contact-compact .page-intro h1{font-size:34px;line-height:1.35}
  .contact-compact .page-intro > p:last-child{font-size:12px;line-height:1.8;margin-top:9px}
  .contact-compact .event-options-title{font-size:20px;margin-bottom:11px}
  .contact-compact .contact-card-grid{gap:9px}
  .contact-compact .contact-card-grid .contact-card{min-height:200px;padding:14px 12px}
  .contact-compact .contact-card .contact-icon{width:30px;height:30px;margin-bottom:10px}
  .contact-compact .contact-card .eyebrow{font-size:9px;letter-spacing:.4px;margin-bottom:6px}
  .contact-compact .contact-card h2{font-size:20px;line-height:1.5;margin-bottom:6px}
  .contact-compact .contact-card .event-description{font-size:11px;line-height:1.65}
  .contact-compact .contact-card .contact-phone{font-size:10.5px;line-height:1.6}
  .contact-compact .contact-card .arrow{padding-top:11px}
  .contact-compact .contact-card .arrow-icon{width:14px;height:14px}
  .contact-compact .contact-email{font-size:11px;margin-top:13px}
  .contact-compact .contact-email a{gap:5px 8px}
  .contact-compact .contact-note{padding-block:16px 25px;gap:12px}
  .contact-compact .contact-note p{font-size:22px}
  html[lang=en] .contact-compact .page-intro h1{font-size:31px;line-height:1.25}
  html[lang=en] .contact-compact .event-options-title{font-size:17px}
  html[lang=en] .contact-compact .contact-card h2{font-size:17px;line-height:1.4}
  html[lang=en] .contact-compact .contact-note p{font-size:17px}
}
@media(max-width:370px){
  .contact-compact .contact-card-grid{gap:8px}
  .contact-compact .contact-card-grid .contact-card{padding:12px 10px;min-height:200px}
  .contact-compact .contact-card h2{font-size:18px}
  html[lang=en] .contact-compact .contact-card h2{font-size:15px}
  .contact-compact .contact-card .event-description{font-size:10.5px}
  .contact-compact .contact-card .contact-phone{font-size:10px}
}
