@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,400,0,0&family=Outfit:wght@400;500;600&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');

:root {
    --sa-primary: #e60067;
    --sa-primary-dark: #b80051;
    --sa-navy: #132238;
    --sa-teal: #087f75;
    --sa-bg: #f7f9fb;
    --sa-card: #ffffff;
    --sa-muted: #5c3f45;
    --sa-line: #e2e8f0;
    --sa-soft: #f0f2f4;
    --sa-blue-soft: #d8e5ff;
    --sa-shadow: 0 8px 24px rgba(19, 34, 56, .08);
}

* { box-sizing: border-box; }
html { background: var(--sa-bg); }
body { margin: 0; background: var(--sa-bg) !important; color: #191c1e !important; font-family: 'Outfit', sans-serif !important; min-height: 100vh; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4, .sa-main-nav, .sa-brand, .sa-btn { font-family: 'Plus Jakarta Sans', sans-serif; }

.sa-shell-header { position: relative; z-index: 1500; width: 100%; padding: 14px max(24px, calc((100vw - 1440px) / 2)); background: #fff; border-bottom: 1px solid #eef0f2; box-shadow: 0 2px 12px rgba(19,34,56,.04); }
.sa-preview-banner { display: flex; align-items: center; justify-content: center; gap: 7px; margin: -14px calc(-1 * max(24px, (100vw - 1440px) / 2)) 12px; padding: 7px 16px; background: #fff3c4; color: #6f4c00; font: 700 12px 'Plus Jakarta Sans', sans-serif; letter-spacing: .02em; }
.sa-preview-banner .material-symbols-outlined { font-size: 17px; }
.sa-header-main { display: flex; align-items: center; gap: 18px; min-height: 54px; }
.sa-brand { display: flex; align-items: center; color: #111; text-decoration: none; flex: 0 0 auto; }
.sa-brand img { width: 104px; height: 48px; object-fit: contain; }
.sa-welcome { display: flex; flex-direction: column; min-width: 150px; padding: 9px 18px; border-radius: 999px; background: var(--sa-soft); line-height: 1.1; }
.sa-welcome strong { color: var(--sa-primary-dark); margin-top: 4px; }
.sa-header-metrics { flex: 1; display: flex; gap: 10px; }
.sa-metric { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 8px 17px; border-radius: 999px; background: #eef0f2; font-size: 14px; line-height: 1.15; }
.sa-metric-blue { background: var(--sa-blue-soft); }
.sa-metric .material-symbols-outlined { color: #37516f; font-size: 20px; }
.sa-user-menu { position: relative; }
.sa-user-menu summary { display: flex; align-items: center; gap: 10px; min-width: 220px; padding: 7px 12px; border-radius: 999px; background: var(--sa-soft); cursor: pointer; list-style: none; }
.sa-user-menu summary::-webkit-details-marker { display: none; }
.sa-user-menu summary > span:nth-child(2) { display: flex; flex: 1; flex-direction: column; text-align: right; line-height: 1.1; }
.sa-user-menu summary small { color: var(--sa-muted); margin-top: 3px; }
.sa-avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--sa-navy); color: white; font-weight: 800; }
.sa-user-dropdown { position: absolute; top: calc(100% + 10px); right: 0; width: 275px; padding: 8px; border: 1px solid var(--sa-line); border-radius: 16px; background: #fff; box-shadow: 0 18px 50px rgba(19,34,56,.18); }
.sa-user-dropdown a { display: flex; align-items: center; gap: 10px; padding: 12px; border-radius: 10px; color: var(--sa-navy); text-decoration: none; }
.sa-user-dropdown a:hover { background: var(--sa-soft); color: var(--sa-primary-dark); }
.sa-user-dropdown .sa-logout { color: #a51b1b; border-top: 1px solid var(--sa-line); border-radius: 0 0 10px 10px; }
.sa-main-nav { display: flex; align-items: center; gap: 18px; min-height: 48px; overflow-x: auto; }
.sa-main-nav a { flex: 0 0 auto; padding: 10px 18px; border-radius: 9px; color: #421b24; font-weight: 600; text-decoration: none; }
.sa-main-nav a:hover { background: #f7edf1; color: var(--sa-primary-dark); }
.sa-main-nav a.active { background: var(--sa-primary); color: #fff; box-shadow: 0 5px 15px rgba(230,0,103,.2); }

.sa-footer { display: flex; align-items: center; gap: 18px; min-height: 100px; margin-top: 64px; padding: 24px max(28px, calc((100vw - 1440px) / 2)); background: #fff; border-top: 1px solid var(--sa-line); color: #522b34; }
.sa-footer > strong { color: var(--sa-primary-dark); font: 700 20px 'Plus Jakarta Sans', sans-serif; white-space: nowrap; }
.sa-footer > span { flex: 1; }
.sa-footer nav { display: flex; gap: 26px; }
.sa-footer a { color: #522b34; font-weight: 600; text-decoration: none; white-space: nowrap; }
.sa-footer a:last-child { color: var(--sa-teal); }

.sa-btn { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 9px; padding: 12px 26px; border: 0; border-radius: 999px; background: var(--sa-primary); color: #fff; box-shadow: 0 7px 16px rgba(230,0,103,.2); cursor: pointer; font-weight: 700; text-decoration: none; }
.sa-btn:hover { background: var(--sa-primary-dark); transform: translateY(-1px); }
.sa-btn-secondary { background: #eceef0; color: #191c1e; box-shadow: none; }
.sa-btn-secondary:hover { background: #e0e3e5; }

/* Accueil */
.home-page { display: flex; flex-direction: column; min-height: 100dvh; }
.home-page .header { display: none; }
.home-page .secure-container { width: 100%; max-width: 1440px; flex: 1 1 auto; margin: 0 auto; padding: clamp(20px, 3vh, 32px) 24px; align-items: stretch; }
.sa-section-bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: clamp(16px, 2vh, 26px); padding: 16px 22px; border-radius: 16px; background: #fff; border: 1px solid #edf0f2; box-shadow: 0 3px 10px rgba(19,34,56,.05); font: 600 18px 'Plus Jakarta Sans', sans-serif; }
.sa-section-bar span { display: inline-flex; align-items: center; gap: 12px; }
.sa-live-dot { width: 15px; height: 15px; border-radius: 50%; background: var(--sa-teal); }
.sa-home-empty { min-height: 0; flex: 1 1 420px; display: grid; place-items: center; padding: clamp(24px, 4vh, 46px); border: 1px solid #e8ecef; border-radius: 18px; background: #fff; box-shadow: var(--sa-shadow); text-align: center; }
.sa-home-empty-inner { max-width: 720px; }
.sa-home-icon { width: clamp(82px, 10vh, 108px); height: clamp(82px, 10vh, 108px); display: grid; place-items: center; margin: 0 auto clamp(18px, 2.5vh, 28px); border-radius: 50%; background: var(--sa-blue-soft); color: #4b6080; }
.sa-home-icon .material-symbols-outlined { font-size: clamp(42px, 5vh, 52px); }
.sa-home-empty h1 { max-width: 580px; margin: 0 auto 12px; font-size: clamp(29px, 3.5vh, 38px); line-height: 1.18; letter-spacing: -.03em; }
.sa-home-empty p { max-width: 650px; margin: 0 auto clamp(20px, 3vh, 30px); color: #5c3f45; font-size: clamp(17px, 2vh, 20px); line-height: 1.5; }
.sa-home-actions { display: flex; justify-content: center; gap: 18px; flex-wrap: wrap; }
.sa-home-empty.has-next-live { padding: clamp(18px, 2.5vh, 28px); }
.sa-home-empty.has-next-live .sa-home-empty-inner { width: 100%; max-width: 760px; }
.sa-home-empty.has-next-live h1 { margin-bottom: 6px; font-size: clamp(23px, 2.4vh, 29px); }
.sa-home-empty.has-next-live p { margin-bottom: clamp(12px, 1.8vh, 18px); font-size: clamp(15px, 1.7vh, 17px); }
.sa-next-live-card { width: 100%; display: grid; grid-template-columns: minmax(210px, 250px) 1fr; margin: 0 auto; overflow: hidden; border: 1px solid var(--sa-line); border-radius: 16px; background: #fff; box-shadow: 0 8px 22px rgba(19,34,56,.09); text-align: left; }
.sa-next-live-card > img { width: 100%; height: 100%; min-height: 165px; max-height: 185px; object-fit: cover; }
.sa-next-live-content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; padding: 17px 20px; }
.sa-next-live-label { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 7px; color: var(--sa-teal); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.sa-next-live-label .sa-live-dot { width: 10px; height: 10px; }
.sa-next-live-card h2 { margin: 0 0 8px; color: var(--sa-navy); font: 700 clamp(18px, 1.7vw, 23px)/1.2 'Plus Jakarta Sans', sans-serif; }
.sa-next-live-meta { display: grid; gap: 4px; margin-bottom: 12px; color: var(--sa-muted); font-size: 13px; }
.sa-next-live-meta > span { display: flex; align-items: center; gap: 7px; }
.sa-next-live-meta .material-symbols-outlined { color: var(--sa-primary); font-size: 17px; }
.sa-next-live-actions { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.sa-next-live-card .sa-next-live-actions .sa-btn { width: auto; min-height: 40px; padding: 8px 16px; font-size: 13px; white-space: nowrap; }
.sa-next-live-card .sa-next-live-catalog { border: 1px solid #dfe3e7; }
.sa-home-tip { display: flex; align-items: center; gap: 16px; margin: clamp(24px, 4vh, 42px) auto 0; padding: 16px 22px; border-radius: 12px; background: #f0f2f4; text-align: left; }
.sa-home-tip .material-symbols-outlined { width: 48px; height: 48px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: #fff; color: var(--sa-teal); }
.home-page .animation-card { width: 100%; border: 1px solid var(--sa-line); border-radius: 18px; background: #fff; box-shadow: var(--sa-shadow); }
.home-page .sa-footer { min-height: 76px; margin-top: 0; padding-top: 16px; padding-bottom: 16px; }
.sa-home-split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(430px, .9fr); gap: 22px; align-items: stretch; }
.sa-home-column { min-width: 0; display: flex; flex-direction: column; }
.sa-home-column .sa-section-bar { min-height: 60px; margin-bottom: 14px; padding: 13px 17px; font-size: 16px; }
.sa-home-column .sa-section-bar > span:first-child { min-width: 0; }
.sa-home-vod-column .sa-section-bar a { display: inline-flex; align-items: center; gap: 4px; flex: 0 0 auto; color: var(--sa-primary-dark); font-size: 13px; font-weight: 800; text-decoration: none; }
.sa-home-vod-column .sa-section-bar a .material-symbols-outlined { font-size: 18px; }
.sa-home-split .sa-home-empty { flex: 1 1 auto; }
.sa-home-split .sa-home-empty.has-next-live { align-content: center; }
.sa-home-split .sa-next-live-card { grid-template-columns: minmax(180px, 220px) 1fr; }
.sa-home-split .sa-next-live-card > img { min-height: 175px; }
.sa-home-split .sa-next-live-actions { gap: 7px; }
.sa-home-split .sa-next-live-card .sa-next-live-actions .sa-btn { padding-inline: 13px; font-size: 12px; }
.sa-home-vod-list { display: grid; gap: 9px; }
.sa-home-vod-card { min-width: 0; min-height: 86px; display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; align-items: center; gap: 13px; padding: 7px 10px 7px 7px; border: 1px solid #e8ecef; border-radius: 14px; background: #fff; box-shadow: 0 3px 12px rgba(19,34,56,.045); }
.sa-home-vod-card > img { width: 92px; height: 70px; border-radius: 10px; object-fit: cover; background: var(--sa-soft); }
.sa-home-vod-copy { min-width: 0; }
.sa-home-vod-copy > span { display: block; margin-bottom: 3px; overflow: hidden; color: var(--sa-teal); font-size: 10px; font-weight: 800; letter-spacing: .045em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.sa-home-vod-copy h3 { display: -webkit-box; margin: 0; overflow: hidden; color: var(--sa-navy); font: 700 14px/1.25 'Plus Jakarta Sans', sans-serif; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.sa-home-vod-download { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 8px 11px; border: 0; border-radius: 999px; background: var(--sa-primary); color: #fff; cursor: pointer; font-size: 11px; font-weight: 800; }
.sa-home-vod-download:hover { background: var(--sa-primary-dark); }
.sa-home-vod-download:disabled { background: #d5d8dc; color: #72777e; cursor: not-allowed; }
.sa-home-vod-download .material-symbols-outlined { font-size: 17px; }
.sa-home-vod-limit { display: flex; align-items: center; gap: 7px; margin: 10px 0 0; padding: 9px 12px; border-radius: 10px; background: #fff1f4; color: #8b1748; font-size: 12px; }
.sa-home-vod-limit .material-symbols-outlined { font-size: 18px; }
.sa-home-vod-empty { flex: 1; display: grid; place-items: center; gap: 8px; min-height: 300px; padding: 30px; border: 1px dashed var(--sa-line); border-radius: 16px; background: #fff; color: var(--sa-muted); text-align: center; }
.sa-home-download-overlay { position: fixed; inset: 0; z-index: 10000; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(19,34,56,.72); backdrop-filter: blur(4px); }
.sa-home-download-overlay.active { display: flex; }
.sa-home-download-dialog { width: min(100%, 460px); padding: 30px; border-radius: 20px; background: #fff; box-shadow: 0 24px 70px rgba(0,0,0,.25); text-align: center; }
.sa-home-download-dialog > .material-symbols-outlined { width: 54px; height: 54px; display: grid; place-items: center; margin: 0 auto 12px; border-radius: 50%; background: #f7dce7; color: var(--sa-primary-dark); font-size: 29px; }
.sa-home-download-dialog h2 { margin: 0 0 18px; color: var(--sa-navy); font: 700 21px 'Plus Jakarta Sans', sans-serif; }
.sa-home-download-dialog p { margin: 12px 0 0; color: var(--sa-muted); font-size: 13px; }
.sa-home-download-track { height: 12px; overflow: hidden; border-radius: 999px; background: #e7eaed; }
#homeDownloadProgressBar { width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--sa-primary), #ff5d9d); transition: width .2s ease; }

/* Inscriptions */
.registration-page .container { max-width: 1320px; margin: 0 auto; padding: 0 24px 30px; background: transparent; border-radius: 0; box-shadow: none; }
.registration-page .header { margin: 0 0 36px; padding: 34px 36px; border-radius: 0 0 22px 22px; background: radial-gradient(circle at 72% 100%, #d9fffb 0, transparent 32%), radial-gradient(circle at 96% 0, #fff0f3 0, transparent 26%), #fff; box-shadow: var(--sa-shadow); }
.registration-page .top-bar { display: flex; align-items: flex-start; }
.registration-page .header h1 { font: 800 34px 'Plus Jakarta Sans', sans-serif; letter-spacing: -.03em; }
.registration-page .header h1::before { content: 'smart_display'; display: inline-grid; place-items: center; width: 50px; height: 50px; margin-right: 15px; border-radius: 14px; background: #f8dce7; color: var(--sa-primary-dark); font: 32px 'Material Symbols Outlined'; vertical-align: middle; }
.registration-page .back-button { padding: 12px 24px; border-radius: 999px; background: #eceef0; color: #191c1e; font-weight: 700; text-decoration: none; }
.registration-page .info-subscription { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.registration-page .info-subscription p { margin: 0; padding: 9px 16px; border-radius: 999px; background: #e4f5f2; color: #005f57; }
.registration-page .info-subscription p:first-child { background: #fff2dc; color: #994000; }
.registration-page .sa-program-download { position: relative; }
.registration-page .sa-program-download summary { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; padding: 8px 15px; border-radius: 999px; background: var(--sa-primary); color: #fff; box-shadow: 0 5px 13px rgba(230,0,103,.18); cursor: pointer; font-weight: 700; list-style: none; }
.registration-page .sa-program-download summary::-webkit-details-marker { display: none; }
.registration-page .sa-program-download summary:hover { background: var(--sa-primary-dark); transform: translateY(-1px); }
.registration-page .sa-program-download summary .material-symbols-outlined { font-size: 19px; }
.registration-page .sa-program-download[open] .sa-program-chevron { transform: rotate(180deg); }
.registration-page .sa-program-chevron { transition: transform .2s ease; }
.registration-page .sa-program-menu { position: absolute; top: calc(100% + 9px); right: 0; z-index: 50; width: 290px; padding: 8px; border: 1px solid var(--sa-line); border-radius: 15px; background: #fff; box-shadow: 0 16px 40px rgba(19,34,56,.18); }
.registration-page .sa-program-menu a { display: flex; align-items: center; gap: 11px; padding: 12px; border-radius: 10px; color: var(--sa-navy); text-decoration: none; }
.registration-page .sa-program-menu a:hover { background: #f3f5f7; color: var(--sa-primary-dark); }
.registration-page .sa-program-menu a > .material-symbols-outlined { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; background: #f7dce7; color: var(--sa-primary-dark); }
.registration-page .sa-program-menu a > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.registration-page .sa-program-menu small { color: var(--sa-muted); font-size: 13px; }
.registration-page .sa-program-menu a.disabled { opacity: .48; cursor: not-allowed; }
.registration-page .animation-list-title { display: flex; justify-content: space-between; align-items: center; margin: 0 0 22px; font: 700 22px 'Plus Jakarta Sans', sans-serif; }
.registration-page .animation-list-title span:last-child { padding: 7px 13px; border-radius: 999px; background: #e9eaec; font-size: 12px; letter-spacing: .05em; text-transform: uppercase; }
.registration-page .animation-card { min-height: 172px; margin-bottom: 22px; padding: 24px 28px; border: 1px solid #edf0f2; border-radius: 18px; background: #fff; box-shadow: 0 3px 12px rgba(19,34,56,.04); }
.registration-page .animation-card img { width: 122px; height: 122px; border-radius: 14px; }
.registration-page .animation-details { margin-left: 24px; }
.registration-page .animation-details h3 { font: 700 24px 'Plus Jakarta Sans', sans-serif; }
.registration-page .animation-details p { display: inline-flex; margin-right: 18px; color: #3f2830; font-size: 16px; }
.registration-page .register-button { min-width: 165px; min-height: 52px; padding: 12px 24px; border-radius: 999px; background: var(--sa-primary); color: #fff; box-shadow: 0 7px 16px rgba(230,0,103,.22); font-size: 0; font-weight: 700; }
.registration-page .register-button::after { content: "+  S'inscrire"; font-size: 16px; }
.registration-page .register-button.registered { background: #fff0f3; color: var(--sa-primary-dark); }
.registration-page .register-button.registered::after { content: '×  Annuler'; }
.registration-page .footer { display: none; }

/* Catalogue */
.catalog-page .logo-container, .catalog-page .user-icon-container { display: none; }
.catalog-page .catalog-container { max-width: 1440px; margin: 0 auto; padding: 0 38px 40px; text-align: left; }
.sa-catalog-hero { margin: 0 0 36px; padding: 30px 32px; border: 1px solid #e8ecef; border-radius: 0 0 18px 18px; background: #fff; box-shadow: 0 3px 12px rgba(19,34,56,.04); }
.sa-catalog-hero h1 { margin: 8px 0 6px; color: #191c1e !important; font-size: 34px; letter-spacing: -.035em; }
.sa-catalog-hero p { margin: 0; color: var(--sa-muted); font-size: 17px; }
.sa-catalog-kickers, .sa-catalog-tools { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.sa-catalog-kickers span { padding: 7px 14px; border-radius: 999px; background: #f9dce8; color: var(--sa-primary-dark); font: 700 12px 'Plus Jakarta Sans', sans-serif; text-transform: uppercase; }
.sa-catalog-kickers span:last-child { background: var(--sa-blue-soft); color: #29435f; text-transform: none; }
.sa-catalog-tools { margin-top: 20px; }
.sa-catalog-tools a { display: inline-flex; align-items: center; gap: 7px; padding: 10px 16px; border-radius: 999px; background: #f0f2f4; color: #273242; font-weight: 700; text-decoration: none; }
.sa-catalog-tools > .sa-whatsapp-link { background: var(--sa-teal); color: #fff; }
.sa-catalog-program { position: relative; }
.sa-catalog-program summary { display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 10px 16px; border-radius: 999px; background: var(--sa-primary); color: #fff; box-shadow: 0 5px 13px rgba(230,0,103,.18); cursor: pointer; font-weight: 700; list-style: none; }
.sa-catalog-program summary::-webkit-details-marker { display: none; }
.sa-catalog-program summary:hover { background: var(--sa-primary-dark); transform: translateY(-1px); }
.sa-catalog-program[open] .sa-program-chevron { transform: rotate(180deg); }
.sa-catalog-program .sa-program-chevron { transition: transform .2s ease; }
.sa-catalog-program-menu { position: absolute; top: calc(100% + 9px); right: 0; z-index: 200; width: 290px; padding: 8px; border: 1px solid var(--sa-line); border-radius: 15px; background: #fff; box-shadow: 0 16px 40px rgba(19,34,56,.18); }
.sa-catalog-tools .sa-catalog-program-menu a { display: flex; align-items: center; gap: 11px; padding: 12px; border-radius: 10px; background: transparent; color: var(--sa-navy); box-shadow: none; }
.sa-catalog-tools .sa-catalog-program-menu a:hover { background: #f3f5f7; color: var(--sa-primary-dark); }
.sa-catalog-program-menu a > .material-symbols-outlined { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 10px; background: #f7dce7; color: var(--sa-primary-dark); }
.sa-catalog-program-menu a > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.sa-catalog-program-menu small { color: var(--sa-muted); font-size: 13px; }
.sa-catalog-program-menu a.disabled { opacity: .48; cursor: not-allowed; }
.sa-catalog-discovery { position: sticky; top: 0; z-index: 100; display: grid; grid-template-columns: minmax(280px, 1fr) minmax(230px, .42fr) auto auto; align-items: center; gap: 12px; margin: 0 0 30px; padding: 16px; border: 1px solid var(--sa-line); border-radius: 16px; background: rgba(255,255,255,.94); box-shadow: 0 8px 24px rgba(19,34,56,.08); backdrop-filter: blur(14px); }
.sa-catalog-search, .sa-catalog-filter { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 15px; border: 1px solid var(--sa-line); border-radius: 12px; background: #f5f6f7; color: #536176; }
.sa-catalog-search:focus-within, .sa-catalog-filter:focus-within { border-color: var(--sa-primary); box-shadow: 0 0 0 3px rgba(230,0,103,.1); background: #fff; }
.sa-catalog-search input, .sa-catalog-filter select { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: #191c1e; font-size: 16px; }
.sa-catalog-filter select { cursor: pointer; }
.sa-catalog-reset { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 52px; padding: 0 17px; border: 0; border-radius: 12px; background: #eef0f2; color: #273242; cursor: pointer; font-weight: 700; }
.sa-catalog-reset:hover { background: #e2e5e8; }
.sa-catalog-result { color: var(--sa-muted); font-size: 14px; font-weight: 600; white-space: nowrap; }
.sa-catalog-empty { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 58px 24px; border: 1px dashed #cbd3dc; border-radius: 18px; background: #fff; color: var(--sa-muted); text-align: center; }
.sa-catalog-empty[hidden] { display: none; }
.sa-catalog-empty .material-symbols-outlined { font-size: 44px; color: #77869a; }
.sa-catalog-empty strong { color: #191c1e; font: 700 20px 'Plus Jakarta Sans', sans-serif; }
.catalog-page .category-title { position: relative; margin: 36px 0 14px; padding-left: 20px; color: #191c1e !important; font: 700 24px 'Plus Jakarta Sans', sans-serif; }
.catalog-page .category-title::before { content: ''; position: absolute; inset: 3px auto 3px 0; width: 8px; border-radius: 99px; background: var(--sa-primary); }
.catalog-page .carousel-container { width: 100%; height: 535px; margin: 0; overflow: visible; }
.catalog-page .carousel-wrapper { width: 100%; overflow-x: auto; scrollbar-width: none; }
.catalog-page .carousel { gap: 18px; }
.catalog-page .carousel-item { width: 280px; min-width: 280px; height: 500px; margin: 0; border: 1px solid var(--sa-line); border-radius: 16px; background: #fff; box-shadow: 0 4px 14px rgba(19,34,56,.07); overflow: hidden; }
.catalog-page .carousel-item > img { width: 100%; height: 265px; object-fit: cover; transition: transform .25s ease; }
.catalog-page .carousel-item:hover > img { transform: scale(1.025); }
.catalog-page .hover-content { position: static; height: 235px; padding: 15px; border-radius: 0; background: #fff; color: #191c1e; opacity: 1; align-items: stretch; text-align: left; }
.catalog-page .hover-content h3 { margin: 0 0 7px; font: 700 17px/1.28 'Plus Jakarta Sans', sans-serif; white-space: normal; overflow: visible; text-overflow: clip; }
.catalog-page .hover-content p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--sa-muted); font-size: 14px; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.catalog-page .hover-content .buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: auto; }
.catalog-page .hover-content button { min-height: 38px; padding: 8px 9px; border-radius: 8px; background: #f0f2f4; color: #263144; font-size: 12px; font-weight: 700; }
.catalog-page .hover-content .download-btn { grid-column: 1 / -1; background: var(--sa-primary); color: #fff; }
.catalog-page .carousel-container .arrow { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; background: #fff; color: #263144; border: 1px solid var(--sa-line); box-shadow: 0 3px 10px rgba(19,34,56,.1); }
.catalog-page #detailsPopupOverlay { padding: 24px; background: rgba(11,19,32,.82); backdrop-filter: blur(8px); }
.catalog-page #detailsPopupOverlay .sa-details-modal { width: min(1080px, 96vw); max-width: 1080px; max-height: min(900px, 94vh); padding: 0; overflow-y: auto; border: 1px solid rgba(255,255,255,.75); border-radius: 24px; background: #f7f9fb; color: #191c1e; text-align: left; box-shadow: 0 30px 90px rgba(0,0,0,.32); }
.catalog-page #detailsPopupOverlay .close-btn { position: absolute; top: 16px; right: 16px; z-index: 3; width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border-radius: 50% !important; background: rgba(255,255,255,.94) !important; color: var(--sa-navy); box-shadow: 0 5px 18px rgba(19,34,56,.18); }
.catalog-page #detailsPopupOverlay .close-btn:hover { background: #fff !important; color: var(--sa-primary); transform: rotate(4deg) scale(1.04); }
.catalog-page #detailsPopupOverlay .close-btn .material-symbols-outlined { font-size: 26px; }
.sa-details-main { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr); min-height: 390px; }
.sa-details-media { position: relative; min-height: 390px; padding: 28px; background: radial-gradient(circle at 10% 10%, #213553, transparent 45%), #0b1320; }
.catalog-page #detailsPopupOverlay .sa-details-media video { width: 100%; height: 100%; max-height: 420px; margin: 0; border-radius: 16px; background: #05080d; object-fit: contain; box-shadow: 0 14px 38px rgba(0,0,0,.3); }
.sa-details-media-label { position: absolute; left: 42px; bottom: 40px; display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border-radius: 999px; background: rgba(11,19,32,.78); color: #fff; font-size: 13px; font-weight: 700; backdrop-filter: blur(8px); }
.sa-details-copy { display: flex; flex-direction: column; align-items: flex-start; padding: 44px 36px 34px; background: #fff; }
.sa-details-eyebrow { color: var(--sa-primary-dark); font: 800 12px 'Plus Jakarta Sans', sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.catalog-page #detailsPopupOverlay #popupTitle { margin: 10px 0 16px; color: #191c1e; font: 800 29px/1.2 'Plus Jakarta Sans', sans-serif; letter-spacing: -.03em; }
.sa-details-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.sa-details-meta > span:not(:empty) { display: inline-flex; align-items: center; gap: 6px; min-height: 31px; padding: 6px 10px; border-radius: 999px; background: #edf1f5; color: #37465b; font-size: 13px; font-weight: 700; }
.sa-details-meta > span:not(:empty)::before { font-family: 'Material Symbols Outlined'; font-size: 17px; font-weight: normal; }
#popupCategory:not(:empty)::before { content: 'category'; }
#popupDuree:not(:empty)::before { content: 'schedule'; }
#popupHost:not(:empty)::before { content: 'person'; }
.catalog-page #detailsPopupOverlay #popupDescription { margin: 0 0 22px; color: var(--sa-muted); font-size: 16px; line-height: 1.6; white-space: pre-line; }
.catalog-page #detailsPopupOverlay #popupDownloadBtn { display: inline-flex; align-items: center; gap: 8px; min-height: 50px; margin: auto 0 0; padding: 11px 22px; border-radius: 999px; background: var(--sa-primary); color: #fff; font-weight: 800; box-shadow: 0 8px 20px rgba(230,0,103,.2); }
.catalog-page #detailsPopupOverlay #popupDownloadBtn[hidden] { display: none; }
.sa-details-reviews { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 24px; border-top: 1px solid var(--sa-line); background: #f7f9fb; }
.catalog-page #detailsPopupOverlay #reviewSection, .catalog-page #detailsPopupOverlay #existingReviews { min-height: 210px; max-height: none; margin: 0 !important; padding: 22px; overflow: visible; border: 1px solid var(--sa-line); border-radius: 16px; background: #fff; color: #191c1e; }
.catalog-page #detailsPopupOverlay #reviewSection { border-top: 1px solid var(--sa-line); }
.sa-review-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.catalog-page #detailsPopupOverlay h3 { margin: 5px 0 14px; color: #191c1e !important; font: 700 19px 'Plus Jakarta Sans', sans-serif; border: 0; }
.catalog-page #detailsPopupOverlay #starContainer { white-space: nowrap; }
.catalog-page #detailsPopupOverlay #starContainer .star { margin: 0 1px; font-size: 25px; color: #cbd1d8; }
.catalog-page #detailsPopupOverlay #starContainer .star.selected { color: #f5a900; }
.catalog-page #detailsPopupOverlay #reviewComment { width: 100%; min-height: 76px; margin: 0; padding: 12px 14px; border: 1px solid var(--sa-line); border-radius: 12px; background: #f5f6f7; color: #191c1e; resize: vertical; }
.catalog-page #detailsPopupOverlay .sa-review-submit { min-height: 40px; margin: 10px 0 0; padding: 8px 15px; border-radius: 999px; background: var(--sa-navy); color: #fff; font-weight: 700; }
.catalog-page #detailsPopupOverlay #reviewResponse, .catalog-page #detailsPopupOverlay #averageRating { margin: 9px 0 0; color: var(--sa-muted); font-weight: 700; }
.catalog-page #detailsPopupOverlay #latestComments { max-height: 130px; overflow-y: auto; color: var(--sa-muted); }
.catalog-page #progressPopup .popup-content { border-radius: 18px; background: var(--sa-navy); }

/* Scores */
.scores-page > .top-bar { display: none; }
.scores-page .page-container { max-width: 1280px; margin: 0 auto; padding: 42px 30px; }
.scores-page .page-container > h1 { font: 800 34px 'Plus Jakarta Sans', sans-serif; letter-spacing: -.035em; }
.scores-page .subtitle { max-width: 800px; color: var(--sa-muted); font-size: 17px; line-height: 1.5; }
.scores-page .card { border: 1px solid #e8ecef; border-radius: 18px; background: #fff; box-shadow: 0 4px 14px rgba(19,34,56,.05); }
.scores-page .podium-wrapper { align-items: flex-start; gap: 32px; }
.scores-page .podium { min-height: 390px; padding: 70px 10px 0; border-radius: 14px; background: #f0f2f4; }
.scores-page .score-form { min-width: 55%; }
.scores-page .form-grid { gap: 14px 12px; }
.scores-page .form-row-title { margin: 0; padding: 10px 0; font: 700 19px 'Plus Jakarta Sans', sans-serif; }
.scores-page input[type="text"], .scores-page input[type="number"], .scores-page input[type="file"], .scores-page select, .scores-page input[type="date"] { min-height: 50px; padding: 11px 15px; border: 1px solid var(--sa-line); border-radius: 12px; background: #f5f6f7; }
.scores-page .btn { min-height: 48px; padding: 11px 20px; border-radius: 999px; background: var(--sa-primary); box-shadow: 0 6px 14px rgba(230,0,103,.18); }
.scores-page .btn-secondary { background: #eef0f2; color: #191c1e; box-shadow: none; }
.scores-page .history-table { overflow: hidden; border-radius: 14px; }

/* Historique */
.history-page > .header { display: none; }
.history-page .secure-container { padding: 42px 24px 20px; }
.history-page .page-card { max-width: 1280px; border-radius: 18px; box-shadow: var(--sa-shadow); }
.history-page .page-card-header { padding: 30px 32px; }
.history-page .page-card-header h1 { font: 800 32px 'Plus Jakarta Sans', sans-serif; letter-spacing: -.03em; }
.history-page .tool-input, .history-page .tool-select { min-height: 50px; border-radius: 12px; background: #f7f8f9; }
.history-page .vod-theme { background: #dcf6f2; color: #00675f; }
.history-page .help-button { background: #70e9df; color: var(--sa-navy); }

/* Annonces clients : fenêtre commune et éditeur réservé aux administrateurs */
.sa-announcement-open { overflow: hidden; }
.sa-announcement-overlay { position: fixed; inset: 0; z-index: 12000; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(19,34,56,.72); backdrop-filter: blur(5px); }
.sa-announcement-overlay.is-visible { display: flex; }
.sa-announcement-dialog { position: relative; width: min(100%, 680px); max-height: min(90dvh, 850px); overflow-y: auto; padding: clamp(25px, 4vw, 42px); border-radius: 24px; background: #fff; box-shadow: 0 28px 90px rgba(0,0,0,.26); }
.sa-announcement-close { position: absolute; top: 18px; right: 18px; width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 50%; background: #f0f2f4; color: var(--sa-navy); cursor: pointer; }
.sa-announcement-eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 12px; color: var(--sa-primary-dark); font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.sa-announcement-eyebrow .material-symbols-outlined { font-size: 19px; }
.sa-announcement-dialog h2 { margin: 0 32px 18px 0; color: var(--sa-navy); font: 800 clamp(25px, 3vw, 34px)/1.18 'Plus Jakarta Sans', sans-serif; }
.sa-announcement-body { overflow-wrap: anywhere; color: #293241; font-size: 16px; line-height: 1.6; }
.sa-announcement-body > :first-child { margin-top: 0; }
.sa-announcement-body > :last-child { margin-bottom: 0; }
.sa-announcement-body h2, .sa-announcement-body h3 { margin: 20px 0 8px; color: var(--sa-navy); font-family: 'Plus Jakarta Sans', sans-serif; line-height: 1.3; }
.sa-announcement-body h2 { font-size: 22px; }
.sa-announcement-body h3 { font-size: 18px; }
.sa-announcement-body img { display: block; max-width: 100%; max-height: 360px; width: auto; height: auto; margin: 16px auto; border-radius: 14px; object-fit: contain; }
.sa-announcement-body a { color: var(--sa-primary-dark); text-decoration: underline; }
.sa-announcement-body blockquote { margin: 14px 0; padding-left: 15px; border-left: 3px solid var(--sa-primary); color: var(--sa-muted); }
.sa-announcement-acknowledge { width: 100%; margin-top: 25px; }
.sa-announcements-admin-page .sa-footer { margin-top: 0; }
.sa-admin-announcements { width: min(100%, 1380px); min-height: calc(100dvh - 270px); margin: 0 auto; padding: 38px 24px 56px; }
.sa-admin-announcements-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 25px; }
.sa-admin-eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 9px; color: var(--sa-primary-dark); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.sa-admin-announcements-heading h1 { margin: 0 0 9px; color: var(--sa-navy); font: 800 clamp(29px, 3vw, 40px) 'Plus Jakarta Sans', sans-serif; }
.sa-admin-announcements-heading p { max-width: 720px; margin: 0; color: var(--sa-muted); line-height: 1.5; }
.sa-announcement-status { flex: 0 0 auto; padding: 9px 14px; border-radius: 999px; background: #eff1f3; color: #52606d; font-size: 13px; font-weight: 800; }
.sa-announcement-status.is-active { background: #dff4ed; color: #00684e; }
.sa-admin-announcements-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 22px; align-items: start; }
.sa-admin-editor-card, .sa-admin-preview-card { min-width: 0; padding: 26px; border: 1px solid #e6ebef; border-radius: 20px; background: #fff; box-shadow: var(--sa-shadow); }
.sa-admin-editor-card h2, .sa-admin-preview-card > h2 { margin: 0 0 20px; color: var(--sa-navy); font: 800 21px 'Plus Jakarta Sans', sans-serif; }
.sa-admin-field { display: block; margin: 0 0 10px; color: var(--sa-navy); font-size: 14px; font-weight: 800; }
.sa-admin-field input { display: block; width: 100%; min-height: 47px; margin-top: 7px; padding: 10px 14px; border: 1px solid #d5dde5; border-radius: 11px; color: var(--sa-navy); font-weight: 500; }
.sa-admin-duration { margin: 18px 0 22px; }
.sa-admin-duration input { max-width: 170px; }
.sa-admin-duration .sa-admin-hint { display: block; margin: 7px 0 0; font-weight: 500; }
.sa-editor-mode { display: flex; gap: 8px; margin-bottom: 10px; }
.sa-editor-mode button { padding: 9px 14px; border: 1px solid #d5dde5; border-radius: 9px; background: #fff; color: var(--sa-navy); cursor: pointer; font-weight: 800; }
.sa-editor-mode button[aria-pressed="true"] { border-color: var(--sa-primary); background: #fff0f6; color: var(--sa-primary-dark); }
.sa-editor-mode button:disabled { opacity: .6; cursor: wait; }
.sa-editor-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; padding: 8px; border: 1px solid #d5dde5; border-bottom: 0; border-radius: 12px 12px 0 0; background: #f7f9fb; }
.sa-editor-toolbar[hidden], .sa-announcement-editor[hidden], .sa-announcement-source[hidden] { display: none; }
.sa-editor-toolbar button, .sa-editor-color { min-width: 35px; min-height: 35px; display: inline-flex; align-items: center; justify-content: center; gap: 4px; padding: 5px 8px; border: 0; border-radius: 7px; background: transparent; color: var(--sa-navy); cursor: pointer; font-size: 13px; font-weight: 800; }
.sa-editor-toolbar button:hover, .sa-editor-color:hover { background: #e7eaef; }
.sa-editor-toolbar .material-symbols-outlined { font-size: 20px; }
.sa-editor-color input { width: 23px; height: 25px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.sa-announcement-editor { min-height: 280px; max-height: 580px; overflow-y: auto; padding: 17px; border: 1px solid #d5dde5; border-radius: 0 0 12px 12px; background: #fff; outline: none; }
.sa-announcement-editor:focus { border-color: var(--sa-primary); box-shadow: inset 0 0 0 1px var(--sa-primary); }
.sa-announcement-editor:empty::before { content: attr(data-placeholder); color: #929ba5; pointer-events: none; }
.sa-announcement-source { display: block; width: 100%; min-height: 330px; max-height: 580px; padding: 17px; border: 1px solid #d5dde5; border-radius: 12px; background: #101b2b; color: #edf5ff; font: 13px/1.6 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; resize: vertical; tab-size: 2; }
.sa-announcement-source:focus { outline: 2px solid var(--sa-primary); outline-offset: 2px; }
.sa-admin-hint { margin: 10px 0 18px; color: var(--sa-muted); font-size: 12px; }
.sa-admin-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.sa-admin-actions .sa-btn { min-height: 45px; font-size: 13px; }
.sa-admin-flash, .sa-admin-error { margin: 0 0 20px; padding: 13px 17px; border-radius: 11px; background: #e2f6ee; color: #006746; font-weight: 700; }
.sa-admin-error { background: #fff0f2; color: #a21c3d; }
.sa-admin-published-date { display: block; margin-top: -12px; color: var(--sa-muted); font-size: 12px; }
.sa-admin-preview-content { margin: 20px 0; padding: 19px; border: 1px solid #e5eaf0; border-radius: 13px; background: #fafbfc; }
.sa-admin-preview-content h3 { margin: 0 0 12px; color: var(--sa-navy); font: 700 20px 'Plus Jakarta Sans', sans-serif; }
.sa-admin-preview-empty { min-height: 220px; display: grid; align-content: center; justify-items: center; gap: 10px; padding: 25px; border: 1px dashed #d5dde5; border-radius: 13px; color: var(--sa-muted); text-align: center; }
.sa-admin-preview-empty .material-symbols-outlined { font-size: 36px; }
.sa-admin-preview-empty p { margin: 0; }
.sa-admin-unpublish { min-height: 42px; padding: 9px 15px; border: 1px solid #e4a6b2; border-radius: 999px; background: #fff; color: #a21c3d; cursor: pointer; font-weight: 800; }
.sa-admin-unpublish:hover { background: #fff0f2; }

/* Connexion */
.login-page { min-height: 100vh; display: grid !important; grid-template-columns: minmax(300px, 1fr) minmax(420px, 620px); background: radial-gradient(circle at 20% 15%, #ffe7ef, transparent 30%), linear-gradient(145deg, #132238 0 52%, #f7f9fb 52%) !important; }
.login-page::before { content: 'Mon espace Senior Anim'; align-self: center; justify-self: center; color: #fff; font: 800 42px/1.25 'Plus Jakarta Sans', sans-serif; }
.login-page .login-container { align-self: center; justify-self: center; width: calc(100% - 64px); max-width: 470px; padding: 42px; border-radius: 24px; box-shadow: 0 25px 70px rgba(19,34,56,.18); text-align: left; }
.login-page .login-container img { display: block; max-width: 210px; margin: 0 auto 30px; }
.login-page .login-container input[type="email"], .login-page .login-container input[type="password"] { width: 100%; min-height: 52px; padding: 12px 15px; border-radius: 12px; }
.login-page .login-container button { min-height: 52px; border-radius: 999px; background: var(--sa-primary); font: 700 16px 'Plus Jakarta Sans', sans-serif; }
.login-page .login-container button:hover { background: var(--sa-primary-dark); }

@media (max-width: 1100px) {
    .sa-brand { min-width: auto; }
    .sa-welcome { display: none; }
    .sa-header-metrics { overflow-x: auto; }
    .sa-metric { white-space: nowrap; }
    .scores-page .podium-wrapper { flex-direction: column; }
    .scores-page .podium, .scores-page .score-form { width: 100%; }
    .sa-catalog-discovery { grid-template-columns: 1fr 1fr; }
    .sa-catalog-result { justify-self: end; }
}

@media (max-width: 900px) {
    .sa-home-split { grid-template-columns: 1fr; }
    .sa-home-live-column, .sa-home-vod-column { min-height: 0; }
    .sa-admin-announcements-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .sa-shell-header { padding: 10px 14px; }
    .sa-header-main { gap: 10px; }
    .sa-brand img { width: 70px; height: 38px; }
    .sa-header-metrics { display: none; }
    .sa-user-menu { margin-left: auto; }
    .sa-user-menu summary { min-width: auto; }
    .sa-user-menu summary > span:nth-child(2) { display: none; }
    .sa-main-nav { gap: 6px; padding-top: 8px; }
    .sa-main-nav a { padding: 9px 12px; font-size: 14px; }
    .sa-footer { align-items: flex-start; flex-direction: column; }
    .sa-footer nav { flex-wrap: wrap; gap: 12px 20px; }
    .home-page .secure-container { padding: 30px 14px 20px; }
    .sa-section-bar { align-items: flex-start; flex-direction: column; margin-bottom: 18px; }
    .sa-home-empty { min-height: 520px; padding: 35px 20px; }
    .sa-home-empty h1 { font-size: 28px; }
    .sa-home-empty p { font-size: 17px; }
    .sa-home-empty.has-next-live { min-height: 0; padding: 20px 14px; }
    .sa-home-empty.has-next-live h1 { font-size: 23px; }
    .sa-home-split .sa-next-live-card { width: min(100%, 420px); grid-template-columns: 1fr; }
    .sa-home-split .sa-next-live-card > img { height: 145px; min-height: 0; max-height: none; }
    .sa-next-live-content { padding: 15px 16px 16px; }
    .sa-next-live-actions { width: 100%; display: grid; grid-template-columns: 1fr; }
    .sa-next-live-card .sa-next-live-actions .sa-btn { width: 100%; }
    .sa-home-vod-column .sa-section-bar { align-items: center; flex-direction: row; }
    .sa-home-vod-card { grid-template-columns: 82px minmax(0, 1fr) auto; gap: 10px; }
    .sa-home-vod-card > img { width: 82px; height: 66px; }
    .registration-page .container, .catalog-page .catalog-container { padding-left: 14px; padding-right: 14px; }
    .registration-page .header { padding: 24px 18px; }
    .registration-page .header h1 { font-size: 25px; }
    .registration-page .animation-card { align-items: flex-start; flex-wrap: wrap; }
    .registration-page .animation-details { min-width: calc(100% - 150px); }
    .registration-page .register-button { width: 100%; }
    .catalog-page .carousel-item { width: 78vw; min-width: 78vw; }
    .sa-catalog-discovery { position: static; grid-template-columns: 1fr; }
    .sa-catalog-result { justify-self: start; }
    .sa-details-main, .sa-details-reviews { grid-template-columns: 1fr; }
    .sa-details-media { min-height: 260px; padding: 18px; }
    .catalog-page #detailsPopupOverlay .sa-details-media video { min-height: 230px; }
    .sa-details-copy { padding: 28px 22px; }
    .catalog-page #detailsPopupOverlay { padding: 8px; }
    .scores-page .page-container { padding: 28px 14px; }
    .scores-page .form-grid { grid-template-columns: 1fr; }
    .scores-page .form-grid > * { grid-column: 1 !important; }
    .login-page { display: flex !important; padding: 24px; background: radial-gradient(circle at 20% 0, #ffe7ef, transparent 30%), #f7f9fb !important; }
    .login-page::before { display: none; }
    .login-page .login-container { width: 100%; padding: 30px 24px; }
    .sa-admin-announcements { padding: 26px 14px 40px; }
    .sa-admin-announcements-heading { align-items: flex-start; flex-direction: column; gap: 15px; }
    .sa-admin-editor-card, .sa-admin-preview-card { padding: 19px; }
    .sa-admin-actions .sa-btn { width: 100%; }
}

@media (max-width: 460px) {
    .sa-home-vod-download { width: 38px; padding: 8px; }
    .sa-home-vod-download > span:last-child { display: none; }
}
