/* =========================================================================
   Aswan event landing — page-specific layer.
   Loads after master-ui.css and only adds what is unique to this page:
   the hero scene, the registration card, the agenda and the FAQ list.
   Header, footer, buttons, cards, forms and tokens all come from the
   master layer, so this page cannot drift from the rest of the site.
   ========================================================================= */

/* ------------------------------------------------------------------ hero */
.aswan-hero{
  position:relative;overflow:hidden;
  background:#f8efe2;
  padding-block:0;
}
.aswan-hero-media{
  position:absolute;inset:0;
  background:url("aswan-nile-hero-v2.jpg") 44% 52%/cover no-repeat;
  /* Fade the photograph into the page instead of cutting the dark water off
     with a hard horizontal edge at the bottom of the section. */
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 68%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,#000 68%,transparent 100%);
}
/* The copy sits on the RTL reading side, so the paper wash comes from the
   right and the felucca scene stays readable on the left. */
.aswan-hero::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,
    rgba(255,253,249,.02) 0%,
    rgba(255,253,249,.08) 25%,
    rgba(255,253,249,.34) 45%,
    rgba(255,253,249,.78) 64%,
    rgba(255,253,249,.94) 100%);
}
/* A very quiet geometric band along the top, echoing the mashrabiya motif. */
.aswan-hero::after{
  content:"";position:absolute;inset-inline:0;top:0;height:96px;z-index:2;
  pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cg fill='none' stroke='%23063766' stroke-width='1' opacity='0.09'%3E%3Cpath d='M36 2 66 19v34L36 70 6 53V19z'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image:linear-gradient(180deg,#000,transparent);
  mask-image:linear-gradient(180deg,#000,transparent);
}
.aswan-hero-grid{
  position:relative;z-index:3;
  display:grid;grid-template-columns:1fr minmax(380px,430px);
  gap:var(--m-9);align-items:start;
  padding-block:var(--m-9);
}
/* RTL: column 1 is the right-hand side, so the copy reads first and the
   registration card sits on the left, as in the reference layout. */
.aswan-copy{grid-column:1;padding-top:clamp(38px,5vw,76px)}
.aswan-copy h1{
  color:var(--m-navy);font-weight:900;letter-spacing:-.035em;
  font-size:clamp(2.5rem,5.4vw,4.6rem);line-height:1.18;margin-top:var(--m-2);
}
.aswan-copy h1 .accent{color:var(--m-teal)}
.aswan-sub{
  color:var(--m-ink-2);font-size:clamp(1rem,1.5vw,1.2rem);
  font-weight:700;line-height:1.9;margin-top:var(--m-4);
}
.aswan-benefits{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:var(--m-5);margin:var(--m-7) 0 var(--m-6);
}
.aswan-benefits > div{text-align:center;color:var(--m-navy)}
.aswan-benefits .master-icon-circle{
  width:58px;height:58px;background:rgba(255,255,255,.86);
  border-color:rgba(230,164,43,.4);margin-bottom:var(--m-3);
}
.aswan-benefits b{display:block;font-size:.95rem;font-weight:800}
.aswan-benefits small{display:block;color:var(--m-ink-2);font-size:.79rem;line-height:1.7;margin-top:3px}

/* --------------------------------------------------- registration card */
.registration-card{
  grid-column:2;grid-row:1;
  background:rgba(255,255,255,.97);
  border:1px solid var(--m-line-cool);
  border-top:4px solid var(--m-gold);
  border-radius:var(--m-r-lg);
  box-shadow:var(--m-sh-3);
  padding:var(--m-6) var(--m-5);
}
.registration-card h2{
  text-align:center;color:var(--m-navy);
  font-size:1.2rem;font-weight:900;line-height:1.6;
}
.registration-card .reg-sub{
  text-align:center;color:var(--m-muted);
  font-size:.82rem;font-weight:700;margin-bottom:var(--m-4);
}
.registration-card .reg-sub::after{
  content:"";display:block;width:60px;height:3px;border-radius:2px;
  margin:var(--m-3) auto 0;
  background:linear-gradient(90deg,transparent,var(--m-gold),transparent);
}
.registration-card .mf-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--m-3)}
.registration-card .mf-field label{font-size:.8rem}
.registration-card input:not([type=checkbox]):not([type=file]),
.registration-card select,
.registration-card textarea{min-height:44px;font-size:.87rem}
.registration-card textarea{min-height:72px}

/* file inputs — the JS previews into the <img> inside each label */
.upload{
  display:grid;grid-template-columns:38px 1fr;column-gap:var(--m-3);
  align-items:center;
  border:1px dashed #c9d5e0;border-radius:var(--m-r-sm);
  padding:var(--m-3);margin-top:var(--m-3);cursor:pointer;
  transition:border-color .18s ease,background .18s ease;
}
.upload:hover{border-color:var(--m-teal);background:var(--m-surface-alt)}
.upload input[type=file]{position:absolute;opacity:0;width:1px;height:1px}
.upload b{
  grid-row:1/3;display:grid;place-items:center;
  width:38px;height:38px;border-radius:var(--m-r-sm);
  background:var(--m-surface-alt);color:var(--m-teal);
}
.upload b svg{width:20px;height:20px}
.upload span{font-size:.83rem;font-weight:700;color:var(--m-ink-2)}
.upload small{font-size:.71rem;color:var(--m-muted)}
.upload img{
  grid-column:1/3;width:100%;max-height:120px;object-fit:cover;
  border-radius:var(--m-r-sm);margin-top:var(--m-3);
}
.upload input[type=file]:focus-visible + b{outline:3px solid var(--m-gold);outline-offset:2px}

.reg-privacy{
  display:flex;gap:var(--m-2);align-items:flex-start;
  background:var(--m-surface-alt);border:1px solid var(--m-line-cool);
  border-radius:var(--m-r-sm);padding:var(--m-3);
  color:var(--m-muted);font-size:.75rem;line-height:1.85;
}
.reg-privacy svg{width:17px;height:17px;flex:0 0 17px;margin-top:3px;stroke:var(--m-teal)}
.registration-card #aswanStatus{margin:0;min-height:18px;font-size:.82rem;text-align:center}
.aswan-success{text-align:center;display:grid;gap:var(--m-3);justify-items:center;padding:var(--m-5) 0}
.aswan-success h3{color:var(--m-teal-deep);font-size:1.15rem;font-weight:900}
.aswan-success p{color:var(--m-ink-2);line-height:1.95;font-size:.92rem}

/* ---------------------------------------------------------------- why */
.aswan-why{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--m-5)}
.aswan-why article{text-align:center}
.aswan-why h3{color:var(--m-navy);font-size:1rem;font-weight:800;margin-top:var(--m-3)}
.aswan-why p{color:var(--m-muted);font-size:.87rem;line-height:1.95;margin-top:var(--m-2)}

/* -------------------------------------------------------------- agenda */
.aswan-agenda{
  display:grid;grid-template-columns:repeat(3,1fr);gap:var(--m-5);
  max-width:1040px;margin-inline:auto;list-style:none;
}
.aswan-agenda li{
  display:flex;gap:var(--m-4);align-items:flex-start;
  background:var(--m-surface);border:1px solid var(--m-line-cool);
  border-radius:var(--m-r-md);box-shadow:var(--m-sh-1);padding:var(--m-5);
}
.aswan-agenda h3{color:var(--m-navy);font-size:.98rem;font-weight:800;line-height:1.7}
.aswan-agenda p{color:var(--m-muted);font-size:.86rem;line-height:1.9;margin-top:4px}

/* ----------------------------------------------------------------- faq */
.aswan-faq{max-width:860px;margin-inline:auto;display:grid;gap:var(--m-3)}
.aswan-faq details{
  background:var(--m-surface);border:1px solid var(--m-line-cool);
  border-radius:var(--m-r-md);box-shadow:var(--m-sh-1);
  padding:var(--m-4) var(--m-5);
}
.aswan-faq summary{
  cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:var(--m-3);
  color:var(--m-navy);font-weight:800;font-size:.96rem;line-height:1.7;
  min-height:32px;
}
.aswan-faq summary::-webkit-details-marker{display:none}
.aswan-faq summary::after{
  /* physical borders on purpose: rotated 45deg this is a down-chevron in
     both directions, whereas inline-end flips it into a side arrow in RTL */
  content:"";flex:0 0 12px;width:12px;height:12px;
  border-right:2px solid var(--m-gold-deep);border-bottom:2px solid var(--m-gold-deep);
  transform:rotate(45deg);transition:transform .2s ease;margin-bottom:5px;
}
.aswan-faq details[open] summary::after{transform:rotate(-135deg);margin-bottom:0}
.aswan-faq p{color:var(--m-ink-2);line-height:2;font-size:.9rem;margin-top:var(--m-3)}

/* ---------------------------------------------------------- responsive */
@media(max-width:1180px){
  .aswan-hero-grid{grid-template-columns:minmax(340px,390px) 1fr;gap:var(--m-7)}
  .aswan-copy h1{font-size:clamp(2.3rem,5vw,3.6rem)}
}
@media(max-width:1024px){
  .aswan-why{grid-template-columns:1fr 1fr}
  .aswan-agenda{grid-template-columns:1fr}
  .aswan-hero-grid{grid-template-columns:1fr;gap:var(--m-7)}
  .aswan-copy{grid-column:1;grid-row:1;text-align:center;padding-top:0}
  .registration-card{grid-column:1;grid-row:2;max-width:560px;margin-inline:auto;width:100%}
  .aswan-hero::before{
    background:linear-gradient(180deg,rgba(255,253,249,.78) 0%,rgba(255,253,249,.9) 40%,rgba(255,253,249,.98) 72%);
  }
  .aswan-benefits{max-width:640px;margin-inline:auto}
}
@media(max-width:768px){
  .aswan-hero-grid{padding-block:var(--m-8)}
  .aswan-copy h1{font-size:clamp(2.1rem,9vw,2.9rem)}
  .aswan-sub{font-size:.98rem}
  .aswan-benefits{grid-template-columns:1fr;gap:var(--m-4);margin:var(--m-6) 0}
  .aswan-benefits > div{
    display:grid;grid-template-columns:52px 1fr;align-items:center;
    column-gap:var(--m-3);text-align:start;
  }
  .aswan-benefits .master-icon-circle{grid-row:1/3;width:48px;height:48px;margin:0}
  .aswan-why{grid-template-columns:1fr}
  .registration-card{padding:var(--m-5) var(--m-4)}
  .registration-card .mf-row{grid-template-columns:1fr}
  /* keep every tap target comfortable and no caption under 14px */
  .upload{padding:var(--m-4) var(--m-3);min-height:44px}
  .aswan-faq summary{min-height:44px}
  .registration-card input:not([type=checkbox]):not([type=file]),
  .registration-card select,
  .registration-card textarea{min-height:48px;font-size:15px}
  .registration-card .mf-field label,
  .upload span{font-size:14.5px}
  .upload small,.mf-hint,.reg-privacy,.registration-card .reg-sub,
  .registration-card #aswanStatus{font-size:14px}
  .mf-consent{font-size:14.5px}
  .aswan-benefits small{font-size:14px}
  /* page layer loads after master-ui.css, so the 14px floor is restated
     here for the selectors this file owns */
  .aswan-why p,.aswan-agenda p,.event-partner span{font-size:14px}
}
.event-partner{
  display:flex;align-items:center;gap:14px;margin-top:18px;
  color:#68778a;font-size:13px;font-weight:700;
}
.event-partner img{
  width:118px;height:46px;object-fit:contain;object-position:center;
  background:#fff;border:1px solid rgba(8,47,91,.1);border-radius:7px;padding:7px 10px;
}

/* Quiet brand treatment: typography and content carry the hierarchy. */
.aswan-benefits{gap:0;border-block:1px solid rgba(8,47,91,.14);padding-block:22px}
.aswan-benefits>div{padding-inline:20px;border-inline-start:1px solid rgba(8,47,91,.12)}
.aswan-benefits>div:first-child{border-inline-start:0}
.aswan-benefits b{font-size:16px;color:#082f5b}
.master-info-strip{display:grid;grid-template-columns:repeat(4,1fr);border-radius:10px;background:#082f5b;box-shadow:none;border-bottom:0}
.master-info-strip>div{padding-block:19px}
.master-info-strip svg{display:none}
/* Each fact stacks its bold value above its muted label. Without this the
   <b> and the <span> render inline and fuse ("القيمةال label") — the
   font overlap seen on the hero copy strip. */
.master-info-strip .mi-text{display:flex;flex-direction:column;gap:3px;text-align:start;line-height:1.5}
.master-info-strip .mi-text b{color:#fff;font-size:15px;font-weight:800}
.master-info-strip .mi-text span{color:rgba(255,255,255,.78);font-size:12.5px;font-weight:600}
.registration-card{border:1px solid rgba(8,47,91,.15);border-top:0;border-radius:12px;box-shadow:0 26px 70px rgba(8,47,91,.12);padding:30px}
.registration-card h2{font-size:22px}
.upload{grid-template-columns:1fr;border-color:#ccd5dd;border-radius:8px;padding:15px}
.upload b,.reg-privacy svg{display:none}
.upload span,.upload small{grid-column:1}
.reg-privacy{border-radius:8px;background:#f6f7f5}
.aswan-why{gap:18px}.aswan-why article{text-align:start;padding:28px}.aswan-why h3{font-size:19px;margin-top:0}
.aswan-agenda li{border-radius:10px;box-shadow:none;padding:28px}
.aswan-faq details{border-radius:9px;box-shadow:none}

@media(max-width:768px){
  .aswan-benefits{display:grid;gap:0;padding-block:10px}
  .aswan-benefits>div{display:block;text-align:start;padding:14px 0;border-inline-start:0;border-top:1px solid rgba(8,47,91,.1)}
  .aswan-benefits>div:first-child{border-top:0}
  .registration-card{padding:24px 18px}
  .event-partner{justify-content:center}
  .master-info-strip{grid-template-columns:1fr}
}
