/* Shared integration layer for Goexam-IDP.com */
:root{--goexam-maroon:var(--maroon,#7a1a2b);--goexam-gold:var(--gold,#d1a34a);--goexam-cream:var(--cream,#fbf7f1);--goexam-line:var(--line,#eadfe0);--goexam-muted:var(--muted,#786b6d)}
.logo-link{display:inline-flex;text-decoration:none;color:inherit}
.logo{font-size:clamp(15px,2vw,22px)!important;letter-spacing:0!important;text-transform:none!important;white-space:nowrap}
.goexam-standard-contact{width:min(1180px,92%);margin:22px auto 0;padding:16px 0 4px;border-top:1px solid rgba(255,255,255,.18);display:flex;justify-content:center;align-items:center;gap:12px 24px;flex-wrap:wrap;direction:ltr}
.goexam-standard-contact a{display:inline-flex;align-items:center;gap:8px;color:inherit!important;font-size:13px;text-decoration:none;opacity:.95;direction:ltr}
.goexam-standard-contact a:hover{opacity:1;text-decoration:underline}
.goexam-standard-contact i{color:var(--goexam-gold)}

/* IDP selection controls */
.idp-selection{background:linear-gradient(145deg,#fff,var(--goexam-cream));border:1px solid var(--goexam-line);border-radius:20px;padding:22px;margin-bottom:24px;box-shadow:0 14px 35px rgba(61,22,29,.07)}
.idp-selection-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}
.idp-kicker{font-size:12px;font-weight:800;color:var(--goexam-maroon);letter-spacing:.2px}
.idp-selection-head h2{font-size:20px!important;margin:5px 0!important}
.idp-selection-head p{font-size:13px;color:var(--goexam-muted);margin:0!important}
.fixed-route{max-width:340px;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--goexam-line);border-radius:14px;padding:11px 13px;font-size:11.5px;font-weight:700;color:#504447;direction:ltr;text-align:left}
.fixed-route i{color:var(--goexam-maroon)}
.test-type-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.test-type-card{border:2px solid var(--goexam-line);background:#fff;border-radius:16px;padding:16px;display:flex;align-items:flex-start;gap:13px;text-align:left;cursor:pointer;transition:.2s ease;min-height:124px;color:#33292b;font-family:inherit;direction:ltr;position:relative}
.test-type-card:hover{border-color:#cdaeb4;transform:translateY(-2px)}
.test-type-card.active{border-color:var(--goexam-maroon);box-shadow:0 10px 24px rgba(122,26,43,.10)}
.type-icon{width:44px;height:44px;border-radius:13px;background:var(--goexam-cream);color:var(--goexam-maroon);display:flex;align-items:center;justify-content:center;flex:none;font-size:18px}
.type-copy{display:flex;flex-direction:column;gap:7px;padding-right:20px}
.type-copy strong{font-size:16px}
.type-copy small{font-size:11.5px;line-height:1.55;color:var(--goexam-muted)}
.selected-mark{position:absolute;right:14px;top:14px;color:var(--goexam-maroon)}
.idp-sync-bar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--goexam-line)}
.sync-state{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--goexam-muted)}
.live-dot{width:9px;height:9px;border-radius:50%;background:#2ca66f;box-shadow:0 0 0 5px rgba(44,166,111,.12)}
.sync-state.error .live-dot{background:#c94a4a;box-shadow:0 0 0 5px rgba(201,74,74,.10)}
.sync-state.stale .live-dot{background:#d49c25;box-shadow:0 0 0 5px rgba(212,156,37,.12)}
.refresh-dates{border:1px solid var(--goexam-maroon);color:var(--goexam-maroon);background:#fff;border-radius:10px;padding:9px 13px;font:700 12px inherit;cursor:pointer}
.refresh-dates:hover{background:var(--goexam-maroon);color:#fff}.refresh-dates:disabled{opacity:.55;cursor:wait}
.dates-loading,.dates-empty,.dates-error{min-height:190px;border:1px dashed #d9cbcd;border-radius:16px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;text-align:center;padding:28px;color:var(--goexam-muted)}
.dates-loading.compact{min-height:130px}.spinner{width:30px;height:30px;border:3px solid #eadfe0;border-top-color:var(--goexam-maroon);border-radius:50%;animation:goexam-spin .8s linear infinite}@keyframes goexam-spin{to{transform:rotate(360deg)}}
.dates-empty i,.dates-error i{font-size:28px;color:var(--goexam-maroon)}
.exam-card .source-tag,.exam-item .source-tag{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:#6c6062;background:#f4eeee;border-radius:20px;padding:4px 8px;margin-inline-start:6px}
.idp-source-note{width:min(1180px,92%);margin:22px auto 0;display:flex;align-items:center;gap:13px;background:#f6fbf8;border:1px solid #d7ebdf;border-radius:15px;padding:15px 18px;color:#315c44}
.idp-source-note>i{font-size:22px}.idp-source-note div{flex:1}.idp-source-note strong{font-size:13px}.idp-source-note p{font-size:11.5px;margin:3px 0 0;line-height:1.7}.idp-source-note a{font-size:11.5px;font-weight:800;color:#315c44;border:1px solid #8dbda1;border-radius:9px;padding:8px 11px;white-space:nowrap}
.exam-card.is-disabled{opacity:.64}.exam-card .register-btn[aria-disabled="true"]{pointer-events:none;background:#8c8586}

/* Selected test flow */
.selected-exam-banner{display:flex;align-items:center;gap:13px;background:#f6fbf8;border:1px solid #d7ebdf;border-radius:15px;padding:14px 16px;margin-bottom:18px;color:#315c44}
.selected-exam-banner>i{font-size:23px}.selected-exam-banner>div{display:flex;flex-direction:column;gap:4px;flex:1}.selected-exam-banner strong{font-size:14px}.selected-exam-banner span{font-size:11.5px}.selected-exam-banner a{font-size:11px;font-weight:800;color:var(--goexam-maroon)}
.official-speaking-note{display:flex;gap:10px;align-items:flex-start;background:var(--goexam-cream);border:1px solid var(--goexam-line);border-radius:12px;padding:14px;margin:16px 0;font-size:12px;line-height:1.8;color:#5f5355}

/* Toasts */
.goexam-toast{position:fixed;bottom:22px;left:22px;z-index:9999;max-width:390px;background:#2f292a;color:#fff;border-radius:12px;padding:13px 16px;box-shadow:0 18px 45px rgba(0,0,0,.24);font-size:13px;line-height:1.6;transform:translateY(30px);opacity:0;transition:.25s;direction:rtl}.goexam-toast.show{transform:none;opacity:1}.goexam-toast.success{background:#276a49}.goexam-toast.error{background:#8d2939}

@media(max-width:800px){.idp-selection-head{flex-direction:column}.fixed-route{max-width:none;width:100%}.test-type-options{grid-template-columns:1fr}.idp-source-note{align-items:flex-start;flex-wrap:wrap}.idp-source-note a{margin-inline-start:34px}}
@media(max-width:560px){.goexam-standard-contact{align-items:flex-start;flex-direction:column;padding-inline:18px}.idp-selection{padding:15px;border-radius:15px}.idp-sync-bar{align-items:flex-start;flex-direction:column}.refresh-dates{width:100%}.test-type-card{min-height:auto}.goexam-toast{left:14px;right:14px;bottom:14px;max-width:none}}

/* ===== Promo popup (پاپ‌آپ تبلیغاتی، از داشبورد قابل مدیریت) ===== */
.promo-overlay{position:fixed;inset:0;background:rgba(30,10,15,.55);z-index:9998;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:.25s;}
.promo-overlay.show{opacity:1;pointer-events:auto;}
.promo-modal{background:#fff;border-radius:20px;max-width:420px;width:100%;padding:32px 28px;position:relative;box-shadow:0 30px 70px rgba(0,0,0,.35);transform:translateY(20px);transition:.25s;text-align:center;font-family:'Vazirmatn',Tahoma,sans-serif;}
.promo-overlay.show .promo-modal{transform:translateY(0);}
.promo-close{position:absolute;top:14px;left:14px;width:32px;height:32px;border-radius:50%;background:#f5eeee;border:none;font-size:15px;color:#28191c;cursor:pointer;}
.promo-close:hover{background:#eadfda;}
.promo-title{font-size:19px;font-weight:900;color:#7a1a2b;margin-bottom:10px;}
.promo-message{font-size:13.5px;color:#5c5049;line-height:1.9;margin-bottom:20px;}
.promo-badge{display:inline-block;background:#fdf3e0;color:#8c681d;font-size:12px;font-weight:800;padding:6px 16px;border-radius:20px;margin-bottom:18px;}
.promo-form input{width:100%;border:1px solid #eadfda;border-radius:10px;padding:12px 14px;font-size:14px;text-align:center;direction:ltr;margin-bottom:12px;font-family:inherit;}
.promo-form input:focus{outline:none;border-color:#7a1a2b;box-shadow:0 0 0 3px rgba(122,26,43,.08);}
.promo-form button{width:100%;background:#7a1a2b;color:#fff;border:none;border-radius:10px;padding:13px;font-weight:800;font-size:14px;cursor:pointer;}
.promo-form button:hover{background:#5e1220;}
.promo-form button[disabled]{opacity:.7;cursor:wait;}
.promo-error{color:#c94040;font-size:12px;min-height:16px;margin-bottom:8px;}
.promo-success{display:none;}
.promo-success.show{display:block;}
.promo-success i{font-size:36px;color:#2e9e5b;margin-bottom:10px;}
.promo-success p{font-size:13.5px;color:#5c5049;line-height:1.9;}
.promo-success strong{color:#28191c;}
