/* Contact page styles */
.contact-hero{padding:140px 0 60px;text-align:center;background:linear-gradient(180deg,#051929 0%,#0b1f3a 55%,#f8fbfc 100%);color:#f8fafc;position:relative;overflow:hidden}
.contact-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at top,rgba(255,255,255,0.14),transparent 42%);pointer-events:none}
.contact-hero-card{max-width:760px;margin:0 auto;backdrop-filter:blur(10px);padding:40px 32px;border-radius:28px;background:rgba(255,255,255,0.08);box-shadow:0 28px 70px rgba(2,12,28,0.22)}
.contact-hero h1{font-size:42px;margin-bottom:18px;letter-spacing:0.01em}
.contact-hero p{font-size:17px;line-height:1.8;color:rgba(255,255,255,0.84)}

.contact-layout{padding:48px 0 80px}
.contact-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:30px}
.contact-grid.contact-grid--single{grid-template-columns:1fr;justify-items:center;}
.contact-form-card.contact-form-card--wide{max-width:1050px;width:100%;margin:0 auto;}
.contact-info-card,
.contact-form-card{background:#fff;border-radius:24px;box-shadow:0 24px 60px rgba(9,29,43,0.08);padding:32px;overflow:hidden}
.contact-info-card h2,
.contact-form-card h2{font-size:26px;color:#0b1f3a;margin-bottom:18px}
.contact-info-card p{color:#5b6b76;line-height:1.8;margin-bottom:24px}
.contact-block{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-bottom:1px solid #f0f3f5}
.contact-block:last-child{border-bottom:none}
.contact-block .icon{font-size:26px;line-height:1;color:#0b1f3a;flex-shrink:0}
.contact-block h4{margin:0 0 6px;font-size:16px;color:#142b3a}
.contact-block p{margin:0;color:#556b76;line-height:1.75}
.note-card{background:#f7fbff;border:1px solid #e4f1fb;border-radius:18px}

.lecture-card{position:relative;border-radius:32px;box-shadow:0 38px 100px rgba(12,28,52,0.18);padding:34px;background:#ffffff;margin-bottom:28px;border:1px solid rgba(255,255,255,0.4);overflow:hidden;}
.lecture-card::before{content:'';position:absolute;top:-24px;right:-30px;width:220px;height:220px;background:rgba(255,255,255,0.16);border-radius:50%;pointer-events:none;}
.lecture-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:28px;flex-wrap:wrap;position:relative;z-index:1;}
.lecture-card-header h3{margin:0 0 10px;font-size:30px;line-height:1.05;color:inherit;}
.lecture-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.18em;background:rgba(255,255,255,0.2);color:inherit;opacity:0.95;}
.lecture-meta{margin:0;font-size:0.95rem;color:inherit;opacity:0.88;}
.lecture-tag{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:1px solid rgba(255,255,255,0.35);background:rgba(255,255,255,0.18);min-width:130px;border-radius:999px;font-weight:700;text-transform:capitalize;font-size:0.95rem;}
.lecture-section{margin-bottom:22px;padding:24px;border-radius:26px;background:rgba(255,255,255,0.15);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,0.18);}
.lecture-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px;}
.lecture-section-head h4{margin:0;font-size:1.1rem;color:inherit;}
.audio-btn{background:rgba(255,255,255,0.18);color:inherit;border:1px solid rgba(255,255,255,0.28);padding:12px 20px;border-radius:18px;cursor:pointer;transition:transform 0.2s ease,background 0.2s ease,box-shadow 0.2s ease;}
.audio-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,0.28);box-shadow:0 16px 34px rgba(0,0,0,0.08);}
.full-audio-btn{background:rgba(255,255,255,0.2);border:1px solid rgba(255,255,255,0.3);color:inherit;box-shadow:0 18px 30px rgba(0,0,0,0.08);}
.lecture-text{font-size:1rem;line-height:1.95;color:inherit;opacity:0.95;}
.lecture-actions{display:flex;justify-content:flex-end;margin-top:18px;}
.lecture-actions .btn-primary{min-width:240px;padding:14px 28px;font-size:0.98rem;}

.form-row{margin-bottom:18px}
.form-row.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-row label{display:block;font-weight:600;color:#223644;margin-bottom:8px}
.form-row label span{color:#c1121f}
.form-row input,
.form-row select,
.form-row textarea{width:100%;padding:14px 16px;border:1px solid #d9e3ea;border-radius:16px;background:#f9fbfd;color:#1c2d37;font-size:15px;transition:border 0.2s ease,box-shadow 0.2s ease}
.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus{border-color:#0b1f3a;box-shadow:0 0 0 4px rgba(11,31,58,0.08);outline:none}
.form-row select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#0b1f3a 50%),linear-gradient(135deg,#0b1f3a 50%,transparent 50%);background-position:calc(100% - 20px) calc(1em + 2px),calc(100% - 15px) calc(1em + 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}

/* form error state */
.input-error{border-color:#c1121f !important;box-shadow:0 6px 20px rgba(193,18,31,0.08) !important}
.form-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:12px}
.btn-primary{background:#0b1f3a;color:#fff;padding:14px 26px;border:none;border-radius:18px;cursor:pointer;transition:transform 0.2s ease,box-shadow 0.2s ease}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(11,31,58,0.16)}
.btn-secondary{background:#f4f7fb;color:#0b1f3a;padding:14px 26px;border:1px solid #d9e3ea;border-radius:18px;cursor:pointer;transition:background 0.2s ease}
.btn-secondary:hover{background:#eaf1f8}

.contact-feedback{margin-top:22px;padding:20px 24px;border-radius:16px;font-size:15px;line-height:1.8}
.contact-feedback.success{background:#eff9f2;border:1px solid #cde8d8;color:#1d553d}
.contact-feedback.error{background:#fff3f3;border:1px solid #f2c3c8;color:#7c2128}
.contact-feedback ul{margin:10px 0 0;padding-left:20px}

.contact-modal-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.42);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease;z-index:12000}
.contact-modal-overlay.active{opacity:1;visibility:visible;pointer-events:auto}
.contact-modal{width:min(520px,calc(100% - 40px));background:#fff;border-radius:24px;padding:32px 28px;box-shadow:0 32px 80px rgba(0,0,0,0.18);text-align:center}
.contact-modal h4{margin:0 0 16px;font-size:26px;color:#0b1f3a}
.contact-modal p{margin:0 0 24px;color:#1d553d;font-size:17px;line-height:1.85}
.contact-modal button{min-width:160px}

.fade-up{opacity:0;transform:translateY(24px);transition:opacity 0.8s ease,transform 0.8s ease}
.fade-up.show{opacity:1;transform:translateY(0)}

@media (max-width:1024px){
    .contact-grid{grid-template-columns:1fr}
}

@media (max-width:720px){
    .contact-hero{padding:110px 0 40px}
    .contact-hero-card{padding:28px 22px;border-radius:22px}
    .contact-grid{gap:22px}
    .form-row.split{grid-template-columns:1fr}
}

/* Diffusions page */
.diffusion-layout{display:grid;grid-template-columns:2.2fr 1fr;gap:30px;align-items:start}
.diffusion-player-card{background:#fff;border-radius:24px;box-shadow:0 24px 60px rgba(9,29,43,0.08);overflow:hidden;border:1px solid rgba(11,31,58,0.08)}
.video-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:28px 30px 0}
.video-card-header > div{max-width:calc(100% - 190px)}
.video-card-header .badge{display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;padding:8px 14px;margin-bottom:12px}
.video-card-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.video-action-link{display:inline-flex;align-items:center;gap:8px;font-size:.95rem;padding:10px 16px;border-radius:999px;border:1px solid rgba(11,31,58,0.12);color:#0b1f3a;background:rgba(11,31,58,0.06);text-decoration:none;transition:background .2s ease,border-color .2s ease,color .2s ease}
.video-action-link:hover{background:rgba(11,31,58,0.12);border-color:rgba(11,31,58,0.2)}
.video-player{position:relative;padding-top:56.25%;background:#000}
.video-player iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.video-card-meta{padding:22px 30px 30px;border-top:1px solid #eef3f8;background:#fcfdff;display:flex;flex-direction:column;gap:18px}
.recording-card{border:1px solid rgba(11,31,58,0.12);border-radius:22px;background:rgba(11,31,58,0.04);padding:20px}
.recording-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.recording-tag{font-size:.82rem;font-weight:700;letter-spacing:.14em;color:#0b4083;text-transform:uppercase}
.recording-status{font-size:.85rem;color:#1a3f5e;padding:6px 14px;border-radius:999px;background:#eff5ff}
.recording-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.recording-row{display:flex;flex-direction:column;gap:6px}
.recording-row strong{font-size:.95rem;color:#10243f}
.recording-row span{font-size:.9rem;color:#556b76}
.video-card-meta .video-description{margin:0;color:#556b76;line-height:1.75;padding-top:12px}
.diffusion-sidebar{background:#fff;border-radius:24px;box-shadow:0 24px 60px rgba(9,29,43,0.08);padding:28px}
.diffusion-sidebar h2{font-size:26px;color:#0b1f3a;margin-bottom:22px}
.diffusion-search-bar{display:flex;gap:12px;align-items:center;margin-bottom:18px}
.diffusion-search-bar input.diffusion-search{flex:1;padding:12px 16px;border-radius:16px;border:1px solid #dfeaf6;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,0.7);font-size:0.95rem;color:#1c2d37}
.diffusion-search-bar button.video-action-link{padding:12px 16px;border-radius:16px;min-width:108px}
.diffusions-list{display:flex;gap:18px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.diffusion-item{flex:0 0 360px;display:grid;grid-template-columns:115px 1fr;gap:16px;padding:16px;border:1px solid #eef3f8;border-radius:18px;background:#fff;align-items:start;transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease;scroll-snap-align:start;box-sizing:border-box}
.diffusion-item.active{border-color:#0b64a6;box-shadow:0 20px 48px rgba(11,92,145,0.12);transform:translateY(-4px);background:linear-gradient(180deg,#ffffff,#f7fbff)}
.diffusion-item:hover{border-color:#cfe7fb}
.diffusion-item-thumb{width:115px;height:84px;border-radius:12px;background-color:#f7fbff;background-size:cover;background-position:center;box-shadow:inset 0 1px 0 rgba(255,255,255,0.6);flex-shrink:0}
.diffusion-item-content h3{font-size:1rem;color:#07243a;margin:0 0 8px}
.diffusion-item-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px;align-items:center}
.diffusion-item-meta .badge{font-size:.8rem;padding:6px 12px;background:linear-gradient(90deg,#0b64a6,#1b9bd7);color:#fff;border-radius:12px}
.diffusion-item-content p{margin:0;color:#556b76;line-height:1.6;max-height:4.8em;overflow:hidden}
.diffusion-item-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.diffusion-item-actions .btn{border-radius:14px;padding:10px 14px;font-size:.95rem}
.diffusion-item-actions .btn-outline{background:#f4f7fb;border:1px solid #d9e3e9;color:#0b1f3a}
.detail-pill{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;padding:10px 14px;border-radius:999px;background:#f4f7fb;color:#10243f;margin-right:10px;margin-bottom:10px}
.annonce-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.55);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility .25s ease;z-index:12000}
.annonce-modal-overlay.active{opacity:1;visibility:visible;pointer-events:auto}
.annonce-modal{width:min(960px,calc(100% - 40px));background:#000;border-radius:20px;overflow:hidden;box-shadow:0 32px 90px rgba(0,0,0,0.2)}
.annonce-modal button{border-radius:16px}
@media (max-width:1024px){
    .diffusion-layout{grid-template-columns:1fr}
    .diffusion-sidebar{margin-top:0}
    .diffusion-search-bar{margin-bottom:16px}
    .diffusions-list{gap:14px}
    .diffusion-item{flex:1 1 100%}
    .video-card-header{flex-direction:column;align-items:flex-start}
}
@media (max-width:720px){
    .annonce-modal{width:100%;}
    .video-card-actions{width:100%;justify-content:flex-start}
    .diffusion-layout{grid-template-columns:1fr}
    .diffusion-sidebar{padding:20px}
    .diffusion-search-bar{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:18px}
    .diffusion-search-bar input{width:100%;box-sizing:border-box}
    .diffusion-search-bar button{width:100%}
    .diffusions-list{flex-direction:column;flex-wrap:nowrap;gap:12px;padding:0;margin:0;overflow:visible}
    .diffusion-item{flex:1 1 100%;display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px;border-radius:12px;min-width:0;overflow:hidden;box-sizing:border-box}
    .diffusion-item-thumb{width:110px;height:70px;border-radius:10px;flex-shrink:0}
    .diffusion-item-content h3{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .diffusion-item-content p{display:none}
    .diffusion-item-meta{gap:8px}
    .video-player{padding-top:56.25%}
    .video-card-header{flex-direction:column;align-items:flex-start}
    .video-card-header > div{max-width:100%}
    .video-card-meta{padding:18px 18px 24px}
    .recording-card{padding:16px}
    .recording-body{grid-template-columns:1fr}
    .diffusion-search-bar{flex-direction:column;align-items:stretch;gap:8px}
    .diffusion-search-bar input{width:100%;box-sizing:border-box}
    .diffusion-search-bar button{width:100%}
}

/* Extra small screens */
@media (max-width:420px){
    .diffusion-item{grid-template-columns:90px 1fr;padding:10px}
    .diffusion-item-thumb{width:90px;height:64px}
    .video-card-header .video-title{font-size:1.15rem}
    .video-action-link{padding:8px 12px;font-size:.9rem}
    .video-card-meta{padding:16px 16px 20px}
}
