/* الإعلانات الترويجية (promo.js): سلايدر + نافذة منبثقة + إعلان بين الجولات. بيستخدم ألوان الموقع من style.css */
.promo-slot { max-width: 920px; margin: 24px auto; }
.promo-slot[hidden] { display: none; }
.promo-slot .promo + .promo { margin-top: 16px; }

.promo { position: relative; background: var(--white); color: var(--text); border: 3px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 16px; overflow: hidden; }
.promo-slide { display: grid; gap: 12px; justify-items: center; text-align: center; }
.promo-slide[hidden] { display: none; }
.promo-title { margin: 0; font-size: 1.35rem; line-height: 1.4; color: var(--fg); }
.promo-body { max-width: 62ch; text-align: start; line-height: 1.8; }
.promo-body :is(h3, h4) { margin: .6em 0 .2em; }
.promo-body :is(ul, ol) { padding-inline-start: 1.4em; margin: .4em 0; }
.promo-body a { color: var(--ruby-d); font-weight: 700; }
.promo-img { width: 100%; display: flex; justify-content: center; }
.promo-img img { display: block; max-width: 100%; height: auto; border-radius: 14px; }
.promo-img.size-small img { max-width: 240px; }
.promo-img.size-medium img { max-width: 480px; }
.promo-img.size-large img { max-width: 720px; }
.promo-img.size-full img { width: 100%; max-width: none; }
.promo-cta { text-decoration: none; }

.promo-video { width: min(100%, 640px); aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #000; }
.promo-video video, .promo-video iframe { width: 100%; height: 100%; border: 0; display: block; }
.promo-play { width: 100%; height: 100%; border: 0; cursor: pointer; background: #111 center / cover no-repeat; display: grid; place-items: center; }
.promo-play-ico { width: 64px; height: 64px; border-radius: 50%; background: var(--ruby); color: #fff; display: grid; place-items: center; font-size: 1.6rem; box-shadow: 0 6px 18px rgba(0, 0, 0, .35); }

.promo-nav { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 12px; }
.promo-arrow { width: 36px; height: 36px; border-radius: 50%; border: 2px solid var(--line); background: var(--cream); color: var(--fg); font-size: 1.3rem; line-height: 1; cursor: pointer; }
.promo-arrow:hover, .promo-arrow:focus-visible { background: var(--sun); }
.promo-dots { display: flex; gap: 8px; }
.promo-dot { width: 12px; height: 12px; padding: 0; border-radius: 50%; border: 2px solid var(--line); background: transparent; cursor: pointer; }
.promo-dot[aria-current="true"] { background: var(--ruby); }
@media (prefers-reduced-motion: no-preference) { .promo-slide { animation: promoIn .35s ease; } }
@keyframes promoIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.promo-close { position: absolute; inset-block-start: 8px; inset-inline-end: 8px; z-index: 2; width: 34px; height: 34px; border-radius: 50%; border: 2px solid var(--line); background: var(--cream); color: var(--fg); font-weight: 800; cursor: pointer; }
.promo-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 16px; background: rgba(2, 18, 58, .6); overflow-y: auto; }
.promo-modal-card { width: min(100%, 760px); max-height: 92vh; overflow-y: auto; padding-top: 44px; }
.promo-between { margin: 18px auto; max-width: 720px; }
.promo-between .promo { padding: 12px; }
@media (max-width: 600px) { .promo { padding: 12px; } .promo-title { font-size: 1.15rem; } }
