/* CENESEM Virtual 1.1 · compatible with existing CSS; public and admin themes */
:root{--season-navy:#0d1843;--season-gold:#d6ad50;--season-soft:#eef2fa;--season-symbol:'✦'}
body{--navy:var(--season-navy);--gold:var(--season-gold)}
.theme-normal{--season-navy:#0d1843;--season-gold:#d6ad50;--season-soft:#edf1f8}
.theme-spring{--season-navy:#245c4d;--season-gold:#f0bb83;--season-soft:#e6f6ed}
.theme-summer{--season-navy:#115473;--season-gold:#f9c964;--season-soft:#e6f6fb}
.theme-winter{--season-navy:#2e4864;--season-gold:#c1dff7;--season-soft:#e6f4ff}
.theme-christmas{--season-navy:#164b39;--season-gold:#ddb151;--season-soft:#eaf5ec}
.theme-muertos{--season-navy:#4c285e;--season-gold:#f6a348;--season-soft:#f3e7f8}
.theme-halloween{--season-navy:#3d235b;--season-gold:#ec9646;--season-soft:#f8ebdf}
.theme-independencia{--season-navy:#146343;--season-gold:#d8b269;--season-soft:#e6f2e8}
.theme-revolucion{--season-navy:#604632;--season-gold:#d9b878;--season-soft:#f7efe0}
.theme-globalhealth{--season-navy:#0d5e76;--season-gold:#7cc9c5;--season-soft:#e3f4f4}
.theme-mourning{--season-navy:#29313c;--season-gold:#b4bec6;--season-soft:#eef0f2}
body:not(.admin-body){background:#fff}.admin-body{background:linear-gradient(135deg,var(--season-soft),#f5f7fb 48%,#fff)}
.brand img,.sidebar-brand img,.cv-hero-photobadge img,.footer-brand img{object-fit:contain!important;background:transparent!important;border-radius:50%;flex-shrink:0}
.site-header{border-bottom:1px solid #e8ecf4;box-shadow:0 5px 20px rgba(5,14,46,.035)}
.brand strong{color:var(--season-navy)!important}.brand small{color:#987c40!important}.btn{transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.btn:hover{transform:translateY(-1px)}
.btn.gold{background:var(--season-gold);border-color:var(--season-gold);color:#14213a;font-weight:800}
.cv-noticebar{background:linear-gradient(110deg,var(--season-navy),#263a62);color:#fff;padding:12px 24px;display:flex;align-items:center;justify-content:center;gap:14px;position:relative;z-index:2}
.cv-noticebar>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.cv-noticebar b{font-size:.9rem;color:#fff1b9}.cv-noticebar span{font-size:.82rem}.cv-noticebar .cv-notice-spark{font-size:1.5rem;color:var(--season-gold)}.cv-notice-link{border:1px solid #ffffff60;border-radius:30px;padding:5px 12px;font-size:.8rem;font-weight:700}
.cv-adminnotice{border-radius:12px;margin:0 0 18px;z-index:auto;justify-content:flex-start}
.cv-hero{background:radial-gradient(circle at 4% 20%,#2b4480 0%,transparent 28%),linear-gradient(125deg,var(--season-navy),#0f1b3f 68%,#192e5b);color:white;position:relative;overflow:hidden}
.cv-hero:before{content:'✦';position:absolute;left:-40px;top:-100px;font-size:360px;opacity:.045;color:white;pointer-events:none}
.cv-hero-inner{display:grid;grid-template-columns:1.06fr .94fr;gap:42px;align-items:center;min-height:555px;padding:58px 0 56px}.cv-hero-copy{position:relative;z-index:1}.cv-hero-kicker{font-size:.7rem;letter-spacing:.13em;color:#f6d996;font-weight:800}
.cv-hero h1{font-size:clamp(2.4rem,4.2vw,4.7rem);color:#fff;line-height:1.08;margin:25px 0 18px;max-width:700px}.cv-hero h1 em{color:var(--season-gold);font-style:normal}.cv-hero-copy>p{font-size:1.04rem;color:#e2e8f7;max-width:600px;line-height:1.85}
.cv-hero-search{display:flex;gap:8px;align-items:center;background:white;box-shadow:0 20px 40px #060b224d;border-radius:15px;padding:8px;margin:28px 0 20px;max-width:580px}.cv-hero-search span{color:#40547a;font-size:2rem;padding-left:10px}.cv-hero-search input{border:0;min-width:0;flex:1;outline:none;color:#1c2c49;padding:10px}.cv-hero-search .btn{white-space:nowrap}.cv-hero .hero-actions{margin-top:16px}.cv-hero-ghost{border:1px solid #ffffff65;color:white!important;background:transparent!important}.cv-hero-stats{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:27px;color:#cbd6ee;font-size:.75rem}
.cv-hero-photo{position:relative;border-radius:28px;overflow:hidden;border:5px solid #ffffff24;min-height:435px;box-shadow:0 35px 75px #0106196b;transform:rotate(1deg)}.cv-hero-photo>img{width:100%;height:475px;object-fit:cover;object-position:center 26%;display:block}.cv-hero-photobadge{position:absolute;bottom:18px;left:18px;right:18px;display:flex;gap:11px;align-items:center;border:1px solid #ffffff3e;background:#091632de;backdrop-filter:blur(15px);border-radius:13px;padding:9px 13px;color:white}.cv-hero-photobadge img{width:52px;height:52px}.cv-hero-photobadge span{display:grid;gap:3px}.cv-hero-photobadge b{letter-spacing:.08em;font-size:.82rem}.cv-hero-photobadge small{color:#f0e9cf}.cv-hero-photo-sticker{position:absolute;right:14px;top:16px;background:var(--season-gold);color:#12203f;padding:10px 14px;border-radius:40px;font-size:.76rem;font-weight:800;max-width:250px;text-align:center;box-shadow:0 8px 24px #05091655}
.cv-areas{background:linear-gradient(180deg,#fff 5%,var(--season-soft) 100%)}.cv-area-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.cv-area-card{display:block;aspect-ratio:.72;position:relative;overflow:hidden;border-radius:16px;box-shadow:0 9px 28px #14254718;transition:transform .25s,box-shadow .25s;background:var(--season-navy)}.cv-area-card:hover{transform:translateY(-6px);box-shadow:0 14px 32px #12203b39}.cv-area-card>img{width:100%;height:100%;object-fit:cover}.cv-area-caption{position:absolute;bottom:0;left:0;right:0;padding:35px 11px 14px;color:white;background:linear-gradient(transparent,#091936df);display:flex;flex-direction:column}.cv-area-caption b{font-size:.9rem;line-height:1.15}.cv-area-caption small{color:#e4e7f1;font-size:.7rem}
.cv-courses-section{background:white}.cv-course-card{overflow:hidden;border-radius:18px;box-shadow:0 10px 28px #131c3912;transition:transform .2s,box-shadow .2s}.cv-course-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #17264725}.cv-course-image{display:block;position:relative;overflow:hidden}.cv-course-image img{width:100%;height:205px;object-fit:cover;display:block}.cv-course-image-label{position:absolute;top:12px;right:12px;background:#132247dd;color:white;font-size:.65rem;font-weight:850;letter-spacing:.06em;padding:6px 11px;border-radius:20px}.cv-course-card .course-card-body{min-height:310px;display:flex;flex-direction:column}.cv-course-card .course-card-footer{margin-top:auto}.cv-sale-soon{background:#fff5de;color:#6e4a12;padding:9px 11px;font-size:.77rem;border-radius:9px;margin-top:8px}.cv-values{background:var(--season-soft)}.cv-values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cv-values-grid>div{background:white;border:1px solid #e9edf4;border-radius:17px;padding:25px;box-shadow:0 6px 24px #0c2f4b0c}.cv-value-icon{font-size:2rem;display:block;margin-bottom:10px}.cv-values-grid h3{font-size:1.1rem}.cv-values-grid p{color:var(--muted);font-size:.9rem}.cv-empty-courses{display:flex;gap:30px;align-items:center;border-radius:20px;padding:20px;background:#f8fafc}.cv-empty-courses>img{width:225px;height:220px;object-fit:cover;border-radius:14px}.cv-empty-courses h3{font-size:1.5rem}.cv-footer-areas{font-size:.73rem;letter-spacing:.06em;color:#c8d6ed}
.cv-whatsapp{position:fixed;bottom:22px;left:18px;z-index:29;display:flex;align-items:center;gap:8px;padding:9px 15px;background:#128c4a;color:white!important;box-shadow:0 10px 35px #104c3461;border-radius:40px;font-size:.85rem;font-weight:850}.cv-whatsapp>span:first-child{font-size:1.3rem}.cv-seasonal-sticker{position:fixed;right:12px;bottom:12px;z-index:6;pointer-events:none;font-size:2.2rem;opacity:.45;filter:drop-shadow(0 6px 7px #2333)}.theme-normal .cv-seasonal-sticker{display:none}.theme-mourning .cv-seasonal-sticker{filter:grayscale(1)}
.cv-detail-head{background:linear-gradient(120deg,var(--season-navy),#1d3161);color:white}.cv-detail-head h1,.cv-detail-head p,.cv-detail-head .eyebrow{color:white}.cv-course-detail{padding-top:30px}.cv-gallery-main{width:100%;height:430px;border-radius:18px;overflow:hidden;background:#e9eef7;box-shadow:0 16px 34px #17294a19}.cv-gallery-main img{width:100%;height:100%;object-fit:cover}.cv-gallery-thumbs{display:flex;gap:12px;margin:13px 0 20px}.cv-gallery-thumb{width:110px;height:72px;border:3px solid transparent;border-radius:9px;background:#eee;padding:0;overflow:hidden}.cv-gallery-thumb.selected{border-color:var(--season-gold)}.cv-gallery-thumb img{width:100%;height:100%;object-fit:cover}.cv-rich-section{border-left:4px solid var(--season-gold);padding-left:20px}.cv-preline{white-space:pre-line;line-height:1.85}.cv-purchase-panel{border-top:5px solid var(--season-gold)}.cv-not-available{background:#fff6e7;border:1px solid #eed8a8;border-radius:13px;padding:15px;margin:15px 0}.cv-not-available strong{display:block}.cv-not-available p{color:#705328;font-size:.83rem;margin:5px 0}
/* Admin visual upgrades */
.sidebar{background:linear-gradient(180deg,var(--season-navy),#101b37)!important;box-shadow:3px 0 16px #14204015;max-height:100vh;overflow:auto}.sidebar-nav a.active{background:#ffffff2a!important;border-left:3px solid var(--season-gold)!important}.sidebar-brand{padding-bottom:22px}.sidebar-brand img{width:49px;height:49px}.sidebar-nav a{font-size:.83rem;padding:9px 12px}.admin-main{max-width:none}.admin-top h1{color:var(--season-navy)}.cv-admin-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;min-height:132px;background:linear-gradient(115deg,var(--season-navy),#142c56 78%);border-radius:19px;margin-bottom:20px;color:white;box-shadow:0 14px 35px #1323492c}.cv-admin-hero:before{content:'✦';position:absolute;font-size:260px;left:38%;top:-128px;opacity:.06}.cv-admin-hero>div{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px;padding:20px 28px;max-width:70%}.cv-admin-hero strong{font-size:1.45rem;color:#fff}.cv-admin-hero small{color:#d6e2ff}.cv-admin-spark{font-size:.66rem;font-weight:850;letter-spacing:.13em;color:var(--season-gold)}.cv-admin-hero>img{height:160px;width:240px;object-fit:cover;object-position:top;mask-image:linear-gradient(90deg,transparent 0%,#000 50%)}
.admin-body .panel{background:#fff;border-color:#e2e7f0;box-shadow:0 10px 27px #0a1d3c0b}.admin-body .metric{border:1px solid #e5e9f1;box-shadow:0 12px 25px #1128550e}.admin-body .metric i{color:var(--season-gold)}.admin-body .metric strong{color:var(--season-navy)}.cv-table-course{display:flex;align-items:center;gap:12px;min-width:205px}.cv-table-course img{width:66px;height:48px;border-radius:8px;object-fit:cover}.cv-table-course span{display:grid;gap:4px}.cv-table-course small{font-size:.7rem;color:var(--muted)}.cv-course-sales,.cv-course-images,.cv-lesson-conditions{display:grid;gap:10px;background:var(--season-soft);border:1px solid #dae4ee;border-radius:14px;padding:17px}.cv-course-sales h3,.cv-course-images h3,.cv-lesson-conditions h3{margin:0;font-size:1.02rem}.cv-course-sales .smallmuted,.cv-course-images .smallmuted,.cv-lesson-conditions .smallmuted{margin:0}.cv-small-preview{width:180px;height:100px;object-fit:cover;border-radius:8px}.cv-theme-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:15px;margin:22px 0}.cv-theme-option{display:flex;flex-direction:column;gap:5px;padding:10px;border:2px solid #e0e6ef;border-radius:14px;cursor:pointer}.cv-theme-option.selected,.cv-theme-option:has(input:checked){border-color:var(--season-gold);background:#fffdf3}.cv-theme-option input{align-self:flex-end;accent-color:var(--season-navy)}.cv-theme-option>strong{font-size:.88rem}.cv-theme-option>small{font-size:.71rem}.cv-theme-thumbnail{height:95px;border-radius:9px;background:radial-gradient(circle at 82% 30%,#fff4 0,transparent 40%),linear-gradient(120deg,var(--sample-navy),#142340);color:var(--sample-gold);display:flex;align-items:center;justify-content:space-around}.cv-theme-icon{font-size:2.3rem}.cv-theme-dots{font-size:1.4rem;color:var(--sample-gold);opacity:.6}.cv-announcement-preview{display:flex;align-items:center;gap:12px;background:linear-gradient(95deg,var(--season-navy),#25416c);border-radius:12px;color:white;padding:15px;margin:12px 0 22px}.cv-announcement-preview>span{font-size:2rem}.cv-announcement-preview>div{display:flex;flex-direction:column;gap:3px}.cv-announcement-preview small{color:#d5e0f5}.cv-course-checkboxes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:230px;overflow:auto}.cv-group-editor{border:1px solid var(--line);border-radius:11px;margin:10px 0;padding:12px}.cv-group-editor summary{cursor:pointer}.cv-group-editor form{margin-top:15px}.cv-simulator-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:14px}.cv-simulator-card{border:1px solid var(--line);border-radius:13px;overflow:hidden;display:flex;flex-direction:column;gap:8px;padding:10px;font-weight:750;font-size:.88rem}.cv-simulator-card>img{width:100%;height:130px;object-fit:cover;border-radius:9px}.cv-simulator-card>small{font-size:.7rem}.cv-designer-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:24px;align-items:start}.cv-cert-canvas{width:100%;aspect-ratio:792/612;position:relative;border:9px double var(--season-gold);background-size:100% 100%;background-color:#fffdf7;overflow:hidden;box-shadow:0 13px 34px #07133226;user-select:none}.cv-cert-canvas:before{content:'';position:absolute;inset:16px;border:2px solid #d7b56755;pointer-events:none}.cv-cert-sample-head{position:absolute;top:11%;width:100%;text-align:center;font-weight:850;color:var(--season-navy);font-size:clamp(10px,1.4vw,17px)}.cv-draggable-field{position:absolute;transform:translate(-50%,-50%);color:#14254a;font-weight:800;text-align:center;white-space:nowrap;cursor:grab;border:1px dashed transparent;padding:2px 5px;touch-action:none;text-shadow:0 1px 4px #fffc}.cv-draggable-field:hover,.cv-draggable-field.dragging{border-color:#b67f23;background:#ffffffe6}.cv-cert-field-qr{background:#fff;padding:12px!important;border:2px solid var(--season-navy);letter-spacing:.1em}.cv-cert-field-date,.cv-cert-field-folio{font-weight:650}.cv-cert-sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.cv-cert-sizes input{width:100%;padding:5px!important}.cv-cert-sizes label{font-size:.72rem}.cv-designer-form .form-stack{gap:12px}.cv-modal[hidden]{display:none!important}.cv-modal{position:fixed;inset:0;z-index:99;display:flex;align-items:center;justify-content:center;background:#020819b9;padding:16px;backdrop-filter:blur(6px)}.cv-modal-dialog{position:relative;width:min(520px,100%);background:white;border-radius:22px;text-align:center;padding:32px 30px;box-shadow:0 30px 70px #0005}.cv-modal-close{position:absolute;right:16px;top:13px;background:none;border:0;font-size:1.6rem}.cv-modal-visual{background:var(--season-navy);border-radius:13px;padding:15px;color:var(--season-gold);display:flex;gap:16px;align-items:center;justify-content:center;margin-bottom:20px;font-size:2rem}.cv-modal-visual img{width:62px;height:62px}.cv-modal-dialog h2{color:var(--season-navy)}.cv-modal-dialog p{white-space:pre-line}.cv-modal-dialog .btn{margin:6px}.cv-test-warning{background:#fff2d2;border:2px solid #d79713;border-radius:9px;padding:12px;color:#6e4310;font-weight:800}.cv-student-preview-cols{display:grid;grid-template-columns:1fr 285px;gap:20px}.cv-demo-card{background:white;padding:19px;border:1px solid #e6ebf2;border-radius:15px;box-shadow:0 8px 24px #07182a14}.cv-receipt{background:#fff;border:1px solid #e0e5f0;padding:30px;border-radius:15px;max-width:760px;margin:25px auto;box-shadow:0 15px 38px #1426471a}.cv-receipt-head{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--season-gold);padding-bottom:18px}.cv-receipt-head>img{width:85px;height:85px;object-fit:contain}.cv-receipt-body{padding-top:18px}.cv-receipt-watermark{font-size:1.2rem;text-align:center;border:2px dashed #e4a13e;color:#8c611f;padding:10px;border-radius:11px;margin:15px 0}
@media(max-width:1050px){.cv-area-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.cv-area-caption b{font-size:.75rem}.cv-designer-layout{grid-template-columns:1fr}.cv-hero-inner{gap:20px}}
@media(max-width:780px){.cv-hero-inner{grid-template-columns:1fr;min-height:auto;padding:38px 0}.cv-hero h1{font-size:clamp(2.1rem,7vw,3.5rem)}.cv-hero-photo{min-height:240px;max-width:420px;transform:none}.cv-hero-photo>img{height:315px}.cv-area-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cv-area-card{aspect-ratio:.9}.cv-area-caption b{font-size:.9rem}.cv-values-grid{grid-template-columns:1fr}.cv-empty-courses{flex-direction:column;text-align:center}.cv-empty-courses>img{width:100%;max-height:190px}.cv-admin-hero>img{display:none}.cv-admin-hero>div{max-width:100%;padding:17px}.cv-admin-hero strong{font-size:1.05rem}.cv-course-checkboxes{grid-template-columns:1fr}.cv-whatsapp{bottom:12px;left:12px}.cv-noticebar>div{display:grid}.cv-cert-sizes{grid-template-columns:repeat(2,1fr)}.cv-student-preview-cols{grid-template-columns:1fr}.cv-gallery-main{height:280px}}
@media print{.site-header,.site-footer,.cv-whatsapp,.cv-seasonal-sticker,.cv-noticebar,.cv-print-hide{display:none!important}.cv-receipt{box-shadow:none;border:none;max-width:none}.cv-receipt-body{font-size:13px}}

.cv-announcement-thumb{width:52px;height:42px;object-fit:cover;border-radius:8px;border:1px solid #fff5}.cv-popup-image{max-height:180px;width:100%;object-fit:cover;border-radius:10px;margin-bottom:12px}
/* Seasonal visual embellishments: both public and back-office banners */
.theme-spring .cv-hero:after,.theme-spring .cv-admin-hero:after{content:'🌸 🌷 🌿';}
.theme-summer .cv-hero:after,.theme-summer .cv-admin-hero:after{content:'☀️ 🌊 🌴';}
.theme-winter .cv-hero:after,.theme-winter .cv-admin-hero:after{content:'❄️ ✦ ❄️';}
.theme-christmas .cv-hero:after,.theme-christmas .cv-admin-hero:after{content:'🎄 ✨ 🎁';}
.theme-muertos .cv-hero:after,.theme-muertos .cv-admin-hero:after{content:'🏵️ 🕯️ 🌼';}
.theme-halloween .cv-hero:after,.theme-halloween .cv-admin-hero:after{content:'🎃 🌙 🦇';}
.theme-independencia .cv-hero:after,.theme-independencia .cv-admin-hero:after{content:'🇲🇽 ✨ 🇲🇽';}
.theme-revolucion .cv-hero:after,.theme-revolucion .cv-admin-hero:after{content:'🌵 ⭐ 🌵';}
.theme-globalhealth .cv-hero:after,.theme-globalhealth .cv-admin-hero:after{content:'🌍 🩺 🕊️';}
.theme-mourning .cv-hero:after,.theme-mourning .cv-admin-hero:after{content:'🕊️';}
body:not(.theme-normal) .cv-hero:after,body:not(.theme-normal) .cv-admin-hero:after{position:absolute;right:0;bottom:12px;opacity:.17;font-size:clamp(40px,8vw,110px);white-space:nowrap;pointer-events:none;transform:rotate(-12deg)}

.theme-mourning .cv-hero-photo>img,.theme-mourning .cv-admin-hero>img,.theme-mourning .cv-area-card>img{filter:grayscale(1)}

/* CENESEM 1.2 promotional catalog and editable copy */
.cv-24hours{display:flex;align-items:flex-start;gap:12px;padding:14px 17px;border:1px solid rgba(235,189,84,.42);background:rgba(7,16,48,.48);border-radius:15px;margin:17px 0 16px;box-shadow:0 12px 45px rgba(4,9,25,.13)}
.cv-24hours span{font-size:1.7rem;color:#efc764;line-height:1.1}.cv-24hours strong{color:#fff;font-size:clamp(1rem,1.6vw,1.23rem);line-height:1.48;letter-spacing:.01em}
.cv-price-proposed{display:block;font-size:.78rem;color:#84683c;font-weight:750;margin:.2rem 0 .5rem;letter-spacing:.01em}.cv-course-card .cv-price-proposed{font-size:.72rem;margin:.12rem 0}
.cv-course-detail .cv-price-proposed{background:#fff7e7;border-radius:7px;padding:8px 10px;color:#8b5b1b}.cv-marketing-editor{border-left:4px solid #d9aa4c}
.cv-catalog-count{display:inline-flex;gap:9px;align-items:center;background:#f6f7fc;border:1px solid #dde3f1;padding:10px 13px;border-radius:12px;font-weight:750;color:#10234f}

.cv-syllabus-list{list-style:none;display:grid;gap:11px;margin:15px 0 0;padding:0}.cv-syllabus-list li{display:flex;gap:9px;color:#24344e;line-height:1.5}.cv-syllabus-list li::before{content:"✓";flex:0 0 auto;color:#1b8b82;font-weight:900}.cv-catalog-count{font-size:.9rem;margin:10px 0 16px}
