/* Seminars module only - scoped to .sem-page; does not override home. */
.sem-page{direction:rtl;position:relative;color:#123d40;background:linear-gradient(180deg,#f6fbfa 0%,#fff 65%);min-height:65vh;font-family:inherit}
.sem-container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.sem-hero{padding:110px 0 90px;background:radial-gradient(ellipse at 15% 5%,rgba(21,155,153,.16),transparent 55%),radial-gradient(ellipse at 95% 88%,rgba(244,190,131,.21),transparent 40%),#f0f9f8;text-align:center;border-bottom:1px solid #dfefed}
.sem-eyebrow{display:inline-block;font-weight:800;color:#067f82;margin-bottom:12px;font-size:14px}
.sem-hero h1{font-size:clamp(30px,4.2vw,54px);line-height:1.5;margin:0 0 16px;font-weight:900;color:#083f43}
.sem-hero p{max-width:740px;margin:auto;color:#5d7c7e;line-height:2.1;font-size:16px}
.sem-catalog{padding:66px 0 100px}.sem-section-head{text-align:center;margin-bottom:35px}.sem-section-head h2{font-size:29px;margin:0 0 10px;color:#113c3e}.sem-section-head p,.sem-muted{color:#648284;line-height:2}
.sem-list{display:grid;gap:26px}.sem-event-card{display:grid;grid-template-columns:minmax(270px,38%) 1fr;gap:34px;padding:22px;border:1px solid #dcefed;background:white;box-shadow:0 18px 55px rgba(6,79,81,.07);border-radius:27px;align-items:center}
.sem-event-poster{display:block;border-radius:20px;overflow:hidden;background:#edf9f5;max-height:480px}.sem-event-poster img{display:block;object-fit:cover;width:100%;height:390px;object-position:center 30%;transition:transform .35s ease}.sem-event-poster:hover img{transform:scale(1.025)}
.sem-event-content{padding:10px 10px}.sem-event-content h3{font-size:clamp(20px,2.2vw,30px);line-height:1.75;margin:15px 0;color:#10393d}.sem-event-content h3 a{color:inherit;text-decoration:none}.sem-event-content h3 a:hover{color:#078488}
.sem-pill{display:inline-flex;border-radius:999px;background:#e4f8f0;color:#087969;padding:6px 14px;font-weight:800;font-size:12px}
.sem-excerpt{color:#5b797a;line-height:2.2;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
.sem-facts{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0}.sem-facts span{display:inline-flex;background:#f1f8f7;border:1px solid #dcefeb;border-radius:11px;padding:10px 13px;color:#386d70;font-size:12px;font-weight:700}
.sem-card-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:27px}
.sem-btn{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:13px;padding:12px 23px;font-weight:800;text-decoration:none;font-family:inherit;font-size:14px;line-height:1.5;transition:box-shadow .2s ease,transform .2s ease,background .2s ease}
.sem-btn-main{color:white!important;background:linear-gradient(110deg,#036d73,#00a0a2);box-shadow:0 9px 22px rgba(5,122,126,.16)}.sem-btn-main:hover{box-shadow:0 12px 29px rgba(5,122,126,.22);transform:translateY(-2px)}
.sem-btn-secondary{color:#04757a!important;background:#e9f7f6;border:1px solid #cde6e4}
.sem-empty{padding:30px;text-align:center;background:white;border-radius:18px;color:#608487}
.sem-detail-page{padding-top:45px;padding-bottom:90px}.sem-breadcrumb{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:#658586;font-size:12px;margin-bottom:25px}.sem-breadcrumb a{color:#078589;text-decoration:none}
.sem-detail-grid{display:grid;grid-template-columns:1fr minmax(280px,34%);gap:26px;align-items:start}
.sem-panel{background:#fff;border:1px solid #dceeed;border-radius:25px;box-shadow:0 20px 55px rgba(4,87,88,.07)}
.sem-detail-content{padding:clamp(24px,3.4vw,52px)}.sem-detail-content h1{font-size:clamp(24px,3.1vw,39px);line-height:1.8;color:#0d3c40;margin:18px 0}.sem-detail-content h2{font-size:21px;margin:34px 0 15px;color:#0b5759}.sem-description{white-space:pre-line;text-align:right;line-height:2.3;color:#425f61;font-size:15px;margin:0}.sem-topics{display:grid;gap:13px}
.sem-topic{display:flex;gap:13px;align-items:flex-start;background:#f1f8f7;border:1px solid #e2f0ee;border-radius:14px;padding:15px;line-height:2;color:#274e52}.sem-topic-dot{background:#d2efea;color:#007e7f;min-width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-weight:900}
.sem-poster-panel{overflow:hidden;padding:12px}.sem-poster-panel img{width:100%;height:auto;display:block;border-radius:16px}.sem-poster-caption{text-align:center;color:#527778;padding:18px;font-size:13px;font-weight:700}.sem-closed{background:#fff3e8;color:#a66e2e;padding:13px 16px;border-radius:12px}
.sem-register-layout{display:grid;grid-template-columns:1fr 330px;align-items:start;gap:25px;padding-block:54px 100px}.sem-form-panel{padding:clamp(23px,4vw,47px)}.sem-form-panel h1{font-size:30px;margin:5px 0 13px;color:#0a4a4c}.sem-form{margin-top:27px;display:grid;gap:19px}.sem-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sem-field{display:flex;flex-direction:column;gap:8px}.sem-field label{font-size:13px;font-weight:800;color:#22494c}.sem-field label b{color:#d55436}.sem-input{display:block;width:100%;box-sizing:border-box;background:#fafdfd!important;border:1px solid #d5e6e4!important;border-radius:12px!important;min-height:49px;padding:13px 15px!important;color:#1a4e51;font-size:14px;font-family:inherit;outline:0}.sem-input:focus{border-color:#08a0a1!important;box-shadow:0 0 0 3px rgba(0,155,155,.09)}.sem-field small{font-size:11px;color:#719093;line-height:2}.sem-field-error,.sem-validation{color:#bc4839;font-size:12px}.sem-validation{background:#fff4f0;border-radius:10px;padding:12px;line-height:2}
.sem-privacy{display:flex;align-items:flex-start;gap:10px;background:#eefaF8;padding:17px;border:1px solid #d5ebe8;border-radius:14px;color:#4b6e71;line-height:2;font-size:12px}.sem-privacy input{width:19px;height:19px;accent-color:#088a8c;margin-top:5px}.sem-privacy a{color:#017b7c;text-decoration:underline}.sem-submit{width:100%;font-size:15px;min-height:54px}.sem-hp{position:absolute;left:-20000px;top:auto;width:1px;height:1px;overflow:hidden}
.sem-privacy-info{margin-top:28px;border-top:1px solid #e3efed;padding-top:15px}.sem-privacy-info h2{font-size:18px}.sem-privacy-info p{font-size:12px;line-height:2.25;color:#648182}
.sem-register-aside{position:sticky;top:100px}.sem-mini-event{padding:17px}.sem-mini-event img{display:block;width:100%;height:310px;object-fit:cover;object-position:center 25%;border-radius:13px}.sem-mini-event h2{font-size:17px;line-height:1.85;margin:15px 0}.sem-mini-event p{font-size:13px;color:#638082;line-height:1.8}
.sem-received{padding:80px 0 120px;max-width:760px;text-align:center}.sem-received>.sem-panel{padding:52px}.sem-received h1{font-size:29px}.sem-received p{color:#628082;line-height:2.2}.sem-success-mark{display:grid;place-items:center;background:#e2f7ef;color:#078a6e;border-radius:50%;width:60px;height:60px;font-weight:900;font-size:31px;margin:auto}.sem-receipt{font-family:Consolas,monospace;padding:13px;border-radius:12px;background:#eff8f7;color:#087378;letter-spacing:1px}
@media(max-width:850px){.sem-event-card,.sem-detail-grid,.sem-register-layout{grid-template-columns:1fr}.sem-register-aside{position:static}.sem-event-poster img{height:360px;object-position:50% 30%}.sem-hero{padding:75px 0 62px}}@media(max-width:560px){.sem-container{width:min(100% - 26px,1180px)}.sem-form-row{grid-template-columns:1fr}.sem-event-card{gap:12px;padding:12px}.sem-event-content{padding:13px}.sem-event-poster img{height:310px}.sem-facts{gap:6px}.sem-facts span{font-size:11px;padding:8px}.sem-detail-content,.sem-form-panel{padding:20px}.sem-received>.sem-panel{padding:25px}}


/* ============================================================
   Seminars UI refinement (2026-10-26)
   Scoped to seminar pages; public home/admin styles untouched.
   ============================================================ */

/* The site header is fixed: reserve its height plus breathing room
   before seminar breadcrumbs, cards, and form content. */
.sem-page {
    padding-top: 124px;
}
.sem-page .sem-hero {
    padding-top: 48px;
}
.sem-page .sem-detail-page {
    padding-top: 38px;
}
.sem-page .sem-register-layout {
    padding-top: 40px;
}
.sem-page .sem-received {
    padding-top: 58px;
}

/* Preserve full 1000 x 1300 poster, including its bottom details.
   Avoid fixed-height cover crops on listing and registration. */
.sem-page .sem-event-poster {
    max-height: none;
    overflow: hidden;
    line-height: 0;
}
.sem-page .sem-event-poster img,
.sem-page .sem-mini-event img,
.sem-page .sem-poster-panel img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: center;
    aspect-ratio: auto;
}
.sem-page .sem-event-poster:hover img {
    transform: none;
}

/* The example mobile number is a single LTR value; separate
   explanatory examples are directionally isolated. */
.sem-page .sem-input-phone {
    direction: ltr;
    text-align: left;
    unicode-bidi: isolate;
}
.sem-page .sem-input-phone::placeholder {
    direction: ltr;
    text-align: left;
    opacity: 1;
}
.sem-page .sem-phone-help {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 5px 18px;
    margin-top: 2px;
    color: #6e898b;
}
.sem-page .sem-phone-help > span {
    display: inline-flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 6px;
}
.sem-page .sem-phone-help b {
    display: inline-block;
    color: #326f72;
    font-family: Tahoma, Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
    direction: ltr;
    unicode-bidi: isolate;
}

/* One compact accuracy confirmation; no long privacy block. */
.sem-page .sem-confirmation {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
    padding: 17px 19px;
    border: 1px solid #d5ebe8;
    border-radius: 14px;
    background: #eefaF8;
    color: #315f62;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.9;
    cursor: pointer;
}
.sem-page .sem-confirmation input[type="checkbox"] {
    flex: 0 0 auto;
    width: 19px;
    height: 19px;
    margin: 0;
    accent-color: #088a8c;
}

@media (max-width: 900px) {
    .sem-page { padding-top: 124px; }
    .sem-page .sem-detail-page { padding-top: 34px; }
    .sem-page .sem-register-layout { padding-top: 36px; }
    .sem-page .sem-hero { padding-top: 43px; }
}

@media (max-width: 650px) {
    /* Mobile header: 8px top + 74px height; leave an extra gap. */
    .sem-page { padding-top: 107px; }
    .sem-page .sem-detail-page { padding-top: 25px; }
    .sem-page .sem-register-layout { padding-top: 27px; }
    .sem-page .sem-hero { padding-top: 36px; }
    .sem-page .sem-received { padding-top: 35px; }
    .sem-page .sem-breadcrumb {
        flex-wrap: wrap;
        gap: 5px 9px;
        line-height: 2;
        margin-bottom: 20px;
        overflow-wrap: anywhere;
    }
    .sem-page .sem-detail-grid,
    .sem-page .sem-register-layout { gap: 22px; }
    .sem-page .sem-form-panel { min-width: 0; }
    .sem-page .sem-phone-help { gap: 5px 12px; }
    .sem-page .sem-confirmation { padding: 14px; align-items: flex-start; }
    .sem-page .sem-confirmation input[type="checkbox"] { margin-top: 3px; }
}
