/* ============================================================
   event-show.css
   public/assets/qitaf/event-show.css
   Full RTL + LTR support
   ============================================================ */

:root {
    --blue:        #006aa3;
    --blue-dark:   #004f7a;
    --blue-light:  #e8f4fb;
    --blue-mid:    #0080c4;
    --text:        #0f1923;
    --muted:       #64748b;
    --border:      #e2eaf2;
    --bg:          #f4f7fb;
    --white:       #ffffff;
    --gold:        #f59e0b;
    --gold-light:  #fef3c7;
    --green:       #10b981;
    --red:         #ef4444;
    --radius:      16px;
    --radius-sm:   10px;
    --shadow:      0 4px 20px rgba(0,106,163,.07);
    --shadow-lg:   0 16px 48px rgba(0,106,163,.14);
}

/* ============================================================
   PAGE
   ============================================================ */
.ev-page {
    background: var(--bg);
    animation: evPageIn .4s ease both;
}
@keyframes evPageIn {
    from { opacity:0; transform:translateY(10px); }
    to   { opacity:1; transform:translateY(0); }
}

/* ============================================================
   HERO
   ============================================================ */
.ev-hero {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
}

.ev-hero-bg {
    position: absolute;
    inset: 0;
}

.ev-hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: brightness(.72);
    transform: scale(1.02);
    transition: transform 8s ease;
}
.ev-hero:hover .ev-hero-img { transform: scale(1.05); }

.ev-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        160deg,
        rgba(0,79,122,.82) 0%,
        rgba(4,18,32,.92) 60%,
        rgba(4,18,32,.97) 100%
    );
}

/* Dot grid decoration */
.ev-hero-dots {
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
}

.ev-hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    padding-top: 48px;
    padding-bottom: 60px;
}

.ev-hero-content {
    max-width: 700px;
}

/* Badge */
.ev-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.20);
    backdrop-filter: blur(6px);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 16px;
    border-radius: 30px;
    margin-bottom: 16px;
    letter-spacing: .4px;
    text-transform: uppercase;
}

[dir="rtl"] .ev-badge { letter-spacing: 0; }

.ev-badge-dot {
    width: 7px; height: 7px;
    background: var(--gold);
    border-radius: 50%;
    flex-shrink: 0;
    animation: blink 1.8s ease infinite;
}
@keyframes blink {
    0%,100% { opacity:1; transform:scale(1); }
    50%      { opacity:.4; transform:scale(1.7); }
}

/* Title */
.ev-hero-title {
    font-size: clamp(22px, 4vw, 48px);
    font-weight: 700;
    color: #fff;
    line-height: 1.22;
    margin-bottom: 22px;
    text-align: start;
    text-shadow: 0 2px 16px rgba(0,0,0,.4);
}

/* Meta chips */
.ev-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 32px;
}

.ev-meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.18);
    color: rgba(255,255,255,.88);
    font-size: 13px;
    font-weight: 500;
    padding: 7px 14px;
    border-radius: 30px;
    backdrop-filter: blur(6px);
    transition: background .2s;
}

.ev-meta-chip:hover { background: rgba(255,255,255,.18); }

.ev-meta-chip svg {
    width: 14px; height: 14px;
    stroke: var(--gold);
    flex-shrink: 0;
}

/* ──────────────────────────────
   COUNTDOWN
────────────────────────────── */
.ev-countdown {
    display: flex;
    align-items: center;
    background: rgba(0,0,0,.55);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 18px;
    padding: 20px 28px;
    width: fit-content;
    max-width: 100%;
    gap: 4px;
    box-shadow: 0 8px 32px rgba(0,0,0,.3);
}

.ev-cd-unit {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    padding: 0 14px;
    min-width: 60px;
}

.ev-cd-unit--gold .ev-cd-num { color: var(--gold); }

.ev-cd-num {
    font-size: 40px;
    font-weight: 800;
    color: #fff;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    letter-spacing: -1px;
}

.ev-cd-label {
    font-size: 10px;
    font-weight: 700;
    color: rgba(255,255,255,.55);
    text-transform: uppercase;
    letter-spacing: 1.2px;
}

[dir="rtl"] .ev-cd-label { letter-spacing: 0; }

.ev-cd-sep {
    font-size: 34px;
    font-weight: 700;
    color: rgba(255,255,255,.25);
    margin-bottom: 20px;
    align-self: flex-start;
    padding-top: 5px;
    line-height: 1;
}

.ev-cd-sep--gold { color: rgba(245,158,11,.45); }

@media (max-width: 575px) {
    .ev-countdown   { padding: 14px 12px; }
    .ev-cd-unit     { min-width: 44px; padding: 0 6px; }
    .ev-cd-num      { font-size: 26px; }
    .ev-cd-sep      { font-size: 22px; }
}

/* ============================================================
   FLASH ALERTS
   ============================================================ */
.ev-alert {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    border-radius: var(--radius-sm);
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;
}

.ev-alert-icon {
    width: 32px; height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ev-alert svg { width:15px; height:15px; stroke:currentColor; }

.ev-alert--success { background:#f0fdf4; color:#15803d; border:1.5px solid #bbf7d0; }
.ev-alert--success .ev-alert-icon { background:#dcfce7; }
.ev-alert--success svg { stroke:#16a34a; }

.ev-alert--error { background:#fff5f5; color:#b91c1c; border:1.5px solid #fecaca; }
.ev-alert--error .ev-alert-icon { background:#fee2e2; }
.ev-alert--error svg { stroke:var(--red); }

/* ============================================================
   BODY LAYOUT
   ============================================================ */
.ev-body { padding: 36px 0 72px; }

.ev-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 28px;
    align-items: start;
}

@media (max-width: 1100px) { .ev-layout { grid-template-columns: 1fr 300px; } }
@media (max-width: 991px) {
    .ev-layout { grid-template-columns: 1fr; }
    .ev-sidebar { order: -1; }
}

/* ============================================================
   MAIN CARDS
   ============================================================ */
.ev-main {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ev-card {
    background: var(--white);
    border-radius: var(--radius);
    border: 1.5px solid var(--border);
    box-shadow: var(--shadow);
    overflow: hidden;
    animation: cardSlide .35s ease var(--card-delay, 0s) both;
}

@keyframes cardSlide {
    from { opacity:0; transform:translateY(12px); }
    to   { opacity:1; transform:translateY(0); }
}

.ev-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 24px;
    border-bottom: 1.5px solid var(--border);
    background: #fafcfe;
}

.ev-card-header h2 {
    font-size: 16px;
    font-weight: 700;
    color: var(--text);
    margin: 0;
}

.ev-card-header-icon {
    width: 36px; height: 36px;
    background: var(--blue-light);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ev-card-header-icon svg {
    width: 17px; height: 17px;
    stroke: var(--blue);
}

.ev-card-body { padding: 22px 24px; }

/* Description (WYSIWYG content) */
.ev-description { text-align: start; }
.ev-description p,
.ev-description span  { color: var(--muted) !important; font-size:14.5px !important; line-height:1.9; font-family:inherit !important; }
.ev-description h3,
.ev-description h4    { color: var(--text); font-weight:700; margin-bottom:8px; }
.ev-description ul,
.ev-description ol    { padding-inline-start:20px; margin-bottom:12px; }
.ev-description li    { margin-bottom:6px; line-height:1.75; }
.ev-description a     { color:var(--blue); }
.ev-description strong{ color:var(--text); font-weight:700; }

/* Info grid (date/time/location tiles) */
.ev-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 14px;
}

.ev-info-tile {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: var(--bg);
    border: 1.5px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 16px;
    transition: border-color .2s, box-shadow .2s;
}

.ev-info-tile:hover {
    border-color: var(--blue);
    box-shadow: 0 4px 14px rgba(0,106,163,.08);
}

.ev-info-tile-icon {
    width: 40px; height: 40px;
    background: var(--blue-light);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ev-info-tile-icon svg { width:17px; height:17px; stroke:var(--blue); }

.ev-info-tile-text {
    display: flex;
    flex-direction: column;
    gap: 3px;
    text-align: start;
}

.ev-info-tile-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--blue);
    text-transform: uppercase;
    letter-spacing: .8px;
}
[dir="rtl"] .ev-info-tile-label { letter-spacing: 0; }

.ev-info-tile-value {
    font-size: 14px;
    font-weight: 600;
    color: var(--text);
    line-height: 1.5;
}

/* What you'll learn */
.ev-learn-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.ev-learn-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13.5px;
    color: var(--muted);
    line-height: 1.75;
    text-align: start;
}

.ev-learn-item p { margin: 0; }

.ev-learn-icon {
    width: 22px; height: 22px;
    background: var(--blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px;
}

.ev-learn-icon svg { width:11px; height:11px; stroke:#fff; }

/* Event content list */
.ev-content-list {
    list-style: none;
    padding: 0; margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ev-content-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: var(--bg);
    border: 1.5px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 13px 16px;
    transition: border-color .2s, background .2s;
    text-align: start;
}

.ev-content-item:hover {
    border-color: var(--blue);
    background: var(--blue-light);
}

.ev-content-num {
    width: 28px; height: 28px;
    background: var(--blue);
    color: #fff;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ev-content-text {
    font-size: 14px;
    font-weight: 500;
    color: var(--text);
    line-height: 1.6;
}

/* ============================================================
   SIDEBAR
   ============================================================ */
.ev-sidebar {
    position: sticky;
    top: 20px;
}

@media (max-width: 991px) { .ev-sidebar { position:static; } }

/* Purchase card */
.ev-purchase-card {
    background: var(--white);
    border-radius: var(--radius);
    border: 1.5px solid var(--border);
    box-shadow: var(--shadow-lg);
    overflow: hidden;
}

/* Thumbnail */
.ev-purchase-thumb {
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
}

.ev-purchase-thumb img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}

.ev-purchase-thumb:hover img { transform: scale(1.04); }

/* Price badge on image */
.ev-price-badge {
    position: absolute;
    top: 14px;
    inset-inline-start: 14px;
    background: var(--blue);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    padding: 5px 14px;
    border-radius: 20px;
    box-shadow: 0 4px 12px rgba(0,106,163,.35);
    letter-spacing: .3px;
}

/* Card body */
.ev-purchase-body {
    padding: 20px 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* Price */
.ev-price-row { display:flex; align-items:center; }

.ev-price-main {
    font-size: 30px;
    font-weight: 800;
    color: var(--blue);
    line-height: 1;
}

.ev-price-free { color: var(--green); }

/* CTA buttons */
.ev-cta-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 13px 20px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    text-decoration: none;
    font-family: inherit;
    transition: background .2s, transform .18s, box-shadow .2s;
    text-align: center;
}

.ev-cta-btn svg { stroke:currentColor; flex-shrink:0; }

.ev-cta-btn--primary {
    background: var(--blue);
    color: #fff;
}

.ev-cta-btn--primary:hover {
    background: var(--blue-dark);
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(0,106,163,.28);
    color: #fff;
    text-decoration: none;
}

.ev-cta-btn--ghost {
    background: var(--bg);
    color: var(--muted);
    border: 1.5px solid var(--border);
}

.ev-cta-btn--ghost:hover {
    background: #e2eaf2;
    color: var(--text);
}

/* Quick details rows */
.ev-quick-details {
    border: 1.5px solid var(--border);
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.ev-quick-row {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 11px 14px;
    border-bottom: 1px solid var(--border);
    transition: background .15s;
}

.ev-quick-row:last-child { border-bottom: none; }
.ev-quick-row:hover { background: var(--bg); }

.ev-quick-icon {
    width: 32px; height: 32px;
    background: var(--blue-light);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ev-quick-icon svg { width:14px; height:14px; stroke:var(--blue); }

.ev-quick-text {
    display: flex;
    flex-direction: column;
    gap: 1px;
    text-align: start;
}

.ev-quick-label {
    font-size: 10.5px;
    font-weight: 700;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .6px;
}
[dir="rtl"] .ev-quick-label { letter-spacing: 0; }

.ev-quick-value {
    font-size: 13px;
    font-weight: 600;
    color: var(--text);
}

/* Remind me button */
.ev-remind-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 10px 16px;
    border-radius: var(--radius-sm);
    border: 1.5px solid var(--border);
    background: var(--bg);
    color: var(--muted);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: border-color .2s, color .2s, background .2s;
}

.ev-remind-btn svg { stroke:currentColor; }
.ev-remind-btn:hover { border-color:var(--blue); color:var(--blue); background:var(--blue-light); text-decoration:none; }

/* ============================================================
   MODAL FORM (injected into SweetAlert)
   ============================================================ */
.ev-modal-inner { padding: 4px 0; }

.ev-modal-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 17px;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 20px;
    padding-bottom: 14px;
    border-bottom: 1.5px solid var(--border);
    text-align: start;
}

.ev-modal-title svg { stroke:var(--blue); flex-shrink:0; }

.ev-modal-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ev-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

@media (max-width: 575px) { .ev-form-grid { grid-template-columns:1fr; } }

.ev-form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ev-form-group label {
    font-size: 13px;
    font-weight: 700;
    color: var(--text);
    text-align: start;
}

.ev-form-group input,
.ev-form-group textarea,
.ev-phone-field {
    border: 1.5px solid var(--border);
    border-radius: 10px;
    padding: 11px 14px;
    font-size: 14px;
    color: var(--text);
    background: #fff;
    outline: none;
    width: 100%;
    font-family: inherit;
    transition: border-color .2s, box-shadow .2s;
    text-align: start;
}

.ev-form-group input:focus,
.ev-form-group textarea:focus,
.ev-phone-field:focus {
    border-color: var(--blue);
    box-shadow: 0 0 0 3px rgba(0,106,163,.09);
}

.ev-form-group textarea { resize:vertical; min-height:90px; }

/* intl-tel-input overrides */
.iti          { display:block !important; width:100%; }
.iti--allow-dropdown .iti__country-container { inset-inline-start:0; }
.ev-phone-field { padding-inline-start:52px !important; }

.ev-modal-btns {
    display: flex;
    gap: 10px;
    padding-top: 4px;
}

.ev-modal-btns .ev-cta-btn { flex:1; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {
    .ev-hero       { min-height: 380px; }
    .ev-hero-title { font-size:22px; }
    .ev-body       { padding:20px 0 48px; }
    .ev-card-header{ padding:14px 16px; }
    .ev-card-body  { padding:16px; }
    .ev-info-grid  { grid-template-columns:1fr; }
    .ev-learn-grid { grid-template-columns:1fr; }
    .ev-purchase-body { padding:16px 16px 20px; }
}

/* ============================================================
   DIRECTION SPECIFIC
   ============================================================ */
[dir="ltr"] .ev-hero-title,
[dir="ltr"] .ev-hero-content  { text-align: left; }

[dir="ltr"] .ev-info-tile-text,
[dir="ltr"] .ev-quick-text,
[dir="ltr"] .ev-learn-item,
[dir="ltr"] .ev-content-item,
[dir="ltr"] .ev-description,
[dir="ltr"] .ev-modal-title,
[dir="ltr"] .ev-form-group label { text-align: left; }

[dir="rtl"] .ev-hero-title,
[dir="rtl"] .ev-hero-content  { text-align: right; }
