/* Approved September homepage revisions. EN only; Arabic copy is pending. */
.home .about__patronage{color:var(--wps-deep);font-size:14px;font-weight:700;line-height:1.5;max-width:62ch;margin:0 0 20px;padding:0;background:none;border:0;border-radius:0}
[data-theme="dark"] .home .about__patronage{color:#d8efff}
.home .about p.body{margin:20px 0 0;max-width:62ch}
.home .router__head{max-width:none;margin-bottom:34px}
.home .router__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;align-items:stretch}
.home .tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.home .tile{min-height:160px}
.home .tile__r,.home .panel__k,.home .panel .facts{display:none}
.home .panel{min-height:0;height:100%;padding:38px 42px}
.home .panel__body{height:100%;display:flex;flex-direction:column}
.home .panel__p{max-width:75ch}
.home .panel .rows{margin-top:auto;display:flex;flex-direction:column;gap:10px}
.home .panel .row{justify-content:space-between;text-align:left}
.home .router__else{font-size:15px}
.home .supp__head .h2 em,.home .supp__attendance em{display:inline;color:var(--wps-teal)}
.home .supp__attendance{font-size:clamp(30px,4vw,54px);margin:30px 0 20px;text-align:center}
.home .stats__pause{position:absolute;right:22px;bottom:22px;z-index:4;border:1px solid rgba(255,255,255,.65);border-radius:99px;background:rgba(5,25,67,.74);color:#fff;padding:9px 16px;font:600 13px/1.2 inherit;cursor:pointer}
.home .home-feedback__center{text-align:center;margin:32px auto 0}
.home #partners .pcar{overflow:visible}
.home #partners .pcar__group{overflow:hidden;padding-top:8px}
.home #partners .pcar--static{-webkit-mask-image:none;mask-image:none}
.home #partners .pcar__track--static{width:100%;justify-content:center;animation:none;transform:none}
.home .astat__grid{grid-column:2 / 4;grid-template-columns:repeat(3,minmax(0,1fr))}
.home .astat{grid-column:auto!important}
.home .reg__date{display:inline-block;margin-top:.14em;color:var(--wps-teal);font-style:normal}
.home-venue-strip__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,80px);align-items:center}
.home-venue-strip__details{display:grid;gap:0;margin:32px 0}
.home-venue-strip__details>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;padding:17px 0;border-bottom:1px solid var(--brd)}
.home-venue-strip__details dt{display:flex;align-items:center;gap:10px;color:var(--w55);font-size:14px;font-weight:650}
.home-venue-strip__icon{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:9px;color:var(--wps-deep);background:rgba(0,157,217,.09);border:1px solid rgba(0,157,217,.16)}
.home-venue-strip__icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
[data-theme="dark"] .home-venue-strip__icon{color:#72d8ff;background:rgba(0,157,217,.15);border-color:rgba(114,216,255,.24)}
.home-venue-strip__details dd{color:var(--ink);font-size:17px;font-weight:650;margin:0}
.home-venue-strip__actions{display:flex;flex-wrap:wrap;gap:12px}
.home-venue-strip__map{margin:0;border:1px solid var(--brd);border-radius:var(--r-lg);overflow:hidden;background:#eef5fa;box-shadow:0 24px 55px rgba(11,40,92,.12)}
.home-venue-strip__map img{display:block;width:100%;height:auto}
.home-venue-strip__map figcaption{padding:13px 18px;color:var(--w55);font-size:13px;line-height:1.4}
.home .ai,.home #propModal{display:none!important}
.home .ig__also{display:flex;align-items:center;gap:12px;margin-top:20px;color:#66758e;font-size:14px}
.home .ig__also a{width:34px;height:34px;display:grid;place-items:center;color:#083f91;background:#fff;border:1px solid #d4e7f5;border-radius:50%;transition:background .2s,color .2s}
.home .ig__also a:hover,.home .ig__also a:focus-visible{background:#083f91;color:#fff}
.home .ig__also svg{width:16px;height:16px;fill:currentColor}
.home .ig__post::after,.home .ig__cap,.home .ig__type{display:none!important}
.home .ig__post:hover,.home .ig__post:focus-visible{transform:none;box-shadow:none;outline:2px solid transparent}
.home .ig__post:focus-visible{outline-color:#008f87;outline-offset:3px}
@media(max-width:900px){
  .home .router__grid{display:flex;flex-direction:column;gap:22px}
  .home .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home .panel{min-height:300px;height:auto}
  .home .panel .rows{flex-direction:row;flex-wrap:wrap}
  .home .panel .row{min-width:180px;justify-content:center;text-align:center;flex:1 1 auto}
  .home-venue-strip__grid{grid-template-columns:1fr}
}
@media(max-width:1080px){
  .home .astat__grid{grid-column:auto}
}
@media(max-width:640px){
  .home .router__grid{display:block}
  .home .tiles{grid-template-columns:1fr}
  .home .tile{min-height:100px}
  .home .panel{min-height:0;padding:27px 22px;grid-column:1/-1}
  .home .panel .rows{flex-direction:column}
  .home .panel .row{min-width:0;flex:auto}
  .home .astat__grid{grid-template-columns:1fr}
  .home-venue-strip__details>div{grid-template-columns:80px minmax(0,1fr);gap:12px}
}
@media(prefers-reduced-motion:reduce){.home .stats__bg video{display:none}}
/* Logo strips: draggable (mouse) and swipeable (touch); vertical page scroll stays free. */
.home .pcar:not(.pcar--static){touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.home .pcar.is-dragging{cursor:grabbing}
.home .pcar img{-webkit-user-drag:none;user-select:none}
/* Speaker card without a CRM photo: initials tile. */
.home .spk__initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--wps-deep),var(--wps-dark));color:#fff;font-size:56px;font-weight:700;letter-spacing:.04em}
/* Exhibition rows: let each logo fill its tile (wps.css caps .ex__i img at 32px tall). */
.home #exhibition .ex{min-height:112px;padding:12px 10px}
.home #exhibition .ex__i{width:100%;display:flex;align-items:center;justify-content:center}
.home #exhibition .ex__i img{max-height:64px;max-width:100%;width:auto;height:auto;object-fit:contain}
@media(max-width:760px){.home #exhibition .ex{min-height:96px}.home #exhibition .ex__i img{max-height:52px}}
/* Partner / sponsor strips: logos fill their card (wps.css caps .plogo img at 36px tall). */
.home #partners .plogo{min-height:112px;min-width:200px;padding:16px 24px}
.home #partners .plogo img{max-height:76px;max-width:180px;width:auto;height:auto;object-fit:contain}
@media(max-width:760px){.home #partners .plogo{min-height:96px;min-width:170px}.home #partners .plogo img{max-height:60px;max-width:150px}}

/* ── Homepage on phones (≤760px) ── */
@media(max-width:760px){
  /* Hero: the scroll hint collided with "Explore the Summit" */
  .home .hero .scroll{display:none}
  /* Fixed bottom Register bar (54px): keep the chat bubble and the footer clear of it */
  .home #chatFab{bottom:74px!important}
  .home .foot{padding-bottom:94px}
  /* Ways to Participate: compact row tiles, icon beside the name */
  .home .tiles{gap:10px}
  .home .tile{min-height:0;display:flex;flex-direction:row;align-items:center;gap:14px;padding:14px 16px;text-align:left}
  .home .tile__ic{flex:none;width:44px;height:44px}
  .home .tile__ic img{width:100%;height:100%}
  .home .tile__l{margin-top:0}
  /* Speakers: two per row (web-team master, mobile rule) */
  .home .spk__grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .home .spk__grid>.spk{max-width:none;width:auto}
  .home .spk__b{padding:12px 12px 14px}
  .home .spk__r,.home .spk__o{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
  .home .spk__r{-webkit-line-clamp:3}
  .home .spk__o{-webkit-line-clamp:2}
  /* Exhibition: one swipeable row per group, readable tiles */
  .home #exhibition .ex__grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding:2px 0 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .home #exhibition .ex__grid::-webkit-scrollbar{display:none}
  .home #exhibition .ex{flex:0 0 44%;scroll-snap-align:start}
  /* Passes: swipeable, one card with a peek of the next */
  .home .pass__grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:4px 2px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .home .pass__grid::-webkit-scrollbar{display:none}
  .home .pass__grid>.pass{flex:0 0 86%;scroll-snap-align:center}
}
/* Hero scroll hint: only where the hero has room below the buttons (it touched
   "Explore the Summit" on landscape phones, tablets and short laptop screens). */
@media(max-width:1080px),(max-height:760px){.home .hero .scroll{display:none}}
/* WPS 2025 in numbers on phones: numbers fit their column, pause button below the grid. */
@media(max-width:760px){
  .home section.stats:not(.supp) .stats__panel{padding:44px 18px}
  .home .stats__grid{gap:28px 14px}
  .home .stats__grid .stat{padding-left:12px}
}
/* Homepage on phones, round 2 (29 Sep): lighter padding, swipeable speakers, venue strip in rows. */
@media(max-width:760px){
  /* Less padding inside cards and panels */
  .home #speakers .white-panel,.home #awards .aw__panel{padding:36px 18px}
  .home #router .panel{padding:20px 18px}
  .home #programme .trk__card{padding:20px}
  .home .voice__body{padding:30px 20px}
  /* Speakers: one swipeable row of normal-width cards */
  .home .spk__grid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:2px 2px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .home .spk__grid::-webkit-scrollbar{display:none}
  .home .spk__grid>.spk{flex:0 0 72%;max-width:none;scroll-snap-align:start}
  .home .spk__b{padding:12px 14px 14px}
  /* Programme: the detail card sits inside the list under the tapped track */
  .home .trk__list>.trk__card{margin:4px 0 8px}
  /* Venue strip: one clear row per fact (icon, small label, bold value), with room to breathe */
  .home .home-venue-strip__details{display:grid;grid-template-columns:1fr;gap:0;margin:28px 0 32px;border-top:1px solid var(--brd)}
  .home .home-venue-strip__details>div{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;row-gap:3px;align-items:center;padding:16px 0;border-bottom:1px solid var(--brd)}
  .home .home-venue-strip__details dt{display:contents;font-size:var(--t-eyebrow-size);font-weight:var(--t-eyebrow-weight);letter-spacing:var(--t-eyebrow-ls);text-transform:uppercase;color:var(--w55)}
  .home .home-venue-strip__icon{grid-column:1;grid-row:1 / span 2;margin:0}
  .home .home-venue-strip__details dd{grid-column:2;margin:0;font-size:var(--t-h5-size);font-weight:var(--t-h5-weight);line-height:1.35;color:var(--w)}
  .home .home-venue-strip__actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .home .home-venue-strip__actions .btn{justify-content:center;padding:14px 10px;white-space:nowrap}
  /* Passes: wider cards, less padding, one-line buttons, room for the "Most popular" badge */
  .home .pass__grid{padding-top:18px}
  .home .pass__grid>.pass{flex-basis:92%;padding:24px 14px}
  .home .pass .btn{white-space:nowrap;padding:14px 10px;justify-content:center;width:100%;min-height:52px}
}
/* Scroll indicator under every horizontal-swipe row (built by the script in front-page.php):
   pale track, sky-blue thumb, same colours as the site's .dot component. Phones only. */
.home .hpager{display:flex;justify-content:center;margin-top:16px}
.home .hpager[hidden]{display:none}
.home .hpager__bar{display:block;position:relative;width:40%;max-width:180px;height:6px;border-radius:999px;background:#C9D6E6;overflow:hidden;cursor:pointer}
.home .hpager__fill{display:block;height:100%;border-radius:999px;background:var(--wps-light);box-shadow:0 0 7px rgba(0,157,217,.25);transition:width .2s var(--ease)}
html[data-theme="dark"] .home .hpager__bar{background:rgba(255,255,255,.2)}
@media(min-width:761px){.home .hpager{display:none}}

/* Tracks (Marwa, 7 Oct 2026): the first track (Plenary Stage) runs the full width of the list. */
.home .trk__list > .trk__b:first-child{grid-column:1 / -1}

/* Logos (Marwa, 7 Oct 2026): logos fill more of their cards so they read clearly. */
.home #exhibition .ex{padding:10px 12px}
.home #supported-by #pcarForces .plogo{padding:10px}
.home #exhibition .ex__i img{max-height:86px;max-width:100%}
@media(max-width:760px){.home #exhibition .ex__i img{max-height:70px}}
@media (max-width:760px){.home #supported-by #pcarForces .plogo img{max-width:100%;max-height:100%;object-fit:contain}}

/* Awards banner (Marwa, 7 Oct 2026): trophy exactly centred, no copy over it.
   wps-award-trophy-wide-2026.webp is a 2:1 version of the trophy shot with the trophy at exactly 50% across and 36% down (centred above the photo strip),
   so "center/cover" keeps it on the panel's centre at every desktop width. The grid keeps a centred, empty
   middle column (28%) that is wider than the trophy. */
@media (min-width:1081px){
  .home #awards .awards__panel::before{background:
    linear-gradient(90deg,rgba(10,9,37,.92) 0%,rgba(10,9,37,.7) 24%,rgba(10,9,37,0) 38%,rgba(10,9,37,0) 62%,rgba(10,9,37,.55) 80%,rgba(10,9,37,.85) 100%),
    radial-gradient(700px 480px at 6% 96%, rgba(0,199,177,.09), transparent 65%),
    url('../images/wps-award-trophy-wide-2026.webp?v=2') center/cover no-repeat #0A0925}
  [dir="rtl"] .home #awards .awards__panel::before{background:
    linear-gradient(270deg,rgba(10,9,37,.92) 0%,rgba(10,9,37,.7) 24%,rgba(10,9,37,0) 38%,rgba(10,9,37,0) 62%,rgba(10,9,37,.55) 80%,rgba(10,9,37,.85) 100%),
    radial-gradient(700px 480px at 94% 96%, rgba(0,199,177,.09), transparent 65%),
    url('../images/wps-award-trophy-wide-2026.webp?v=2') center/cover no-repeat #0A0925}
  .home #awards .awards__in{grid-template-columns:minmax(0,1fr) 28% minmax(0,1fr);gap:0}
  .home #awards .awards__in>[data-reveal]:first-child{grid-column:1;padding-inline-end:24px}
  .home #awards .astat__grid{grid-column:3!important;justify-self:end;width:min(100%,300px)}
}

/* Arabic ticker (13 Oct 2026): the right edge sat empty because one copy of the (shorter) Arabic text was narrower than
   the screen. front-page.php now prints six copies, so each half of the loop is wider than any screen; the direction
   (left-to-right box, sliding right) stays as set in rtl.css. */

/* QC 19 Oct 2026: track icons in the list slightly larger; the Plenary card shows its icon in the number's place. */
.trk__b span:first-child{flex-basis:64px;width:64px;height:64px}
.trk__b span:first-child img,.trk__b span:first-child svg{width:48px;height:48px}
.trk__ghost .trk__ghostic{display:block;width:clamp(72px,8vw,104px);height:auto;opacity:.9}

/* QC 19 Oct 2026 #9: testimonials — arrows either side of the dots, drag/swipe on the card, larger quote mark. */
.voice__mark{font-size:96px;line-height:.55}
.voice__nav{display:flex;align-items:center;gap:14px;margin-top:34px}
.voice__nav .dots{margin-top:0}
.voice__arrow{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid currentColor;background:transparent;color:inherit;display:grid;place-items:center;cursor:pointer;font-size:1.1em;line-height:1;transition:background .2s,color .2s,border-color .2s}
.voice__arrow:hover,.voice__arrow:focus-visible{background:var(--wps-brand,#023689);border-color:var(--wps-brand,#023689);color:#fff}
.voice__card{touch-action:pan-y;cursor:grab;user-select:none}
.voice__card:active{cursor:grabbing}
[dir="rtl"] .voice__arrow .ar{display:inline-block;transform:scaleX(-1)}
