:root{--cem-yellow:#ffc400;--cem-navy:#081a3d;--cem-blue:#1267e5;--cem-border:#e7edf6;--cem-muted:#667085;--cem-bg:#f8fafc} .cem-wrap,.cem-single-wrap,.cem-form-wrap,.cem-newsletter{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--cem-navy)}.cem-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:24px 0;padding:18px;background:#fff;border:1px solid var(--cem-border);border-radius:18px;box-shadow:0 12px 35px rgba(8,26,61,.06)}.cem-filters select,.cem-filters button,.cem-form input,.cem-form textarea,.cem-form select{width:100%;padding:13px 14px;border:1px solid var(--cem-border);border-radius:12px;background:#fff;color:var(--cem-navy)}.cem-filters button,.cem-form button,.cem-btn,.cem-btn-small{background:var(--cem-yellow);border:0;border-radius:12px;padding:13px 18px;color:var(--cem-navy);font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.cem-btn-outline{background:#fff;border:1px solid var(--cem-border);margin-top:10px}.cem-events-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.cem-card{background:#fff;border:1px solid var(--cem-border);border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(8,26,61,.06);transition:.2s}.cem-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(8,26,61,.12)}.cem-card-img{height:190px;display:block;position:relative;background:#eef4ff;overflow:hidden}.cem-card-img img{width:100%;height:100%;object-fit:cover}.cem-placeholder{height:100%;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--cem-blue)}.cem-date-badge{position:absolute;top:12px;left:12px;background:#fff;color:var(--cem-blue);border-radius:12px;padding:8px 10px;font-weight:900;text-transform:uppercase}.cem-cat-badge{position:absolute;left:12px;bottom:12px;background:var(--cem-yellow);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900}.cem-card-body{padding:18px}.cem-card h3{font-size:20px;line-height:1.2;margin:0 0 12px}.cem-card h3 a{color:var(--cem-navy);text-decoration:none}.cem-card p{margin:7px 0;color:var(--cem-muted)}.cem-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px}.cem-btn-small{padding:9px 12px;font-size:13px}.cem-empty{grid-column:1/-1;padding:30px;background:#fff;border-radius:16px}.cem-form-wrap,.cem-newsletter{max-width:880px;margin:30px auto;padding:28px;background:#fff;border:1px solid var(--cem-border);border-radius:22px;box-shadow:0 15px 40px rgba(8,26,61,.06)}.cem-form label{display:block;margin:14px 0;font-weight:700}.cem-form label input,.cem-form label textarea,.cem-form label select{margin-top:7px}.cem-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cem-check{display:flex!important;align-items:center;gap:9px;font-weight:600!important}.cem-check input{width:auto!important}.cem-notice{padding:12px 14px;border-radius:12px;background:#fff8d8;border:1px solid #ffe78a;margin:12px 0}.cem-category-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.cem-single-wrap{max-width:1200px;margin:0 auto;padding:30px 20px}.cem-single-hero img{width:100%;max-height:470px;object-fit:cover;border-radius:24px}.cem-single-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:34px;margin-top:28px}.cem-breadcrumb{color:var(--cem-muted);margin-bottom:16px}.cem-single-main h1{font-size:44px;line-height:1.05;margin:0 0 16px}.cem-tags span{display:inline-block;background:#eef4ff;color:var(--cem-blue);border-radius:999px;padding:7px 11px;margin:0 7px 7px 0;font-weight:800;font-size:13px}.cem-content{font-size:17px;line-height:1.7;margin:24px 0}.cem-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:18px;background:var(--cem-bg);border-radius:18px}.cem-map-box,.cem-side-card{background:#fff;border:1px solid var(--cem-border);border-radius:20px;padding:22px;box-shadow:0 12px 35px rgba(8,26,61,.05)}.cem-sidebar{display:flex;flex-direction:column;gap:18px}.cem-big-date{display:inline-block;background:#fff8d8;border:1px solid #ffe78a;border-radius:16px;padding:12px 14px;color:var(--cem-blue);font-weight:900}.cem-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(max-width:980px){.cem-events-grid{grid-template-columns:repeat(2,1fr)}.cem-filters{grid-template-columns:1fr 1fr}.cem-single-grid{grid-template-columns:1fr}.cem-sidebar{order:-1}}@media(max-width:640px){.cem-events-grid,.cem-filters,.cem-two,.cem-detail-grid,.cem-category-checks{grid-template-columns:1fr}.cem-single-main h1{font-size:34px}}
/* v0.002 detailed event page, gallery and video */
.cem-three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.cem-accordion{border:1px solid var(--cem-border);border-radius:16px;margin:14px 0;padding:0;background:#fff;overflow:hidden}.cem-accordion summary{cursor:pointer;font-weight:900;padding:14px 16px;background:#fbfcff}.cem-accordion>label,.cem-accordion>.cem-two,.cem-accordion>.cem-three{padding-left:16px;padding-right:16px}.cem-accordion small{display:block;color:var(--cem-muted);font-weight:500;margin-top:2px}.cem-event-page-pro .cem-single-grid{align-items:start}.cem-media-shell{position:relative;border-radius:20px;overflow:hidden;background:#eef4ff;box-shadow:0 15px 45px rgba(8,26,61,.08)}.cem-main-photo{width:100%;height:auto;object-fit:contain;display:block}.cem-media-shell .cem-placeholder{height:430px}.cem-floating-cat{position:absolute;top:22px;left:22px;background:var(--cem-yellow);color:var(--cem-navy);font-weight:900;border-radius:9px;padding:8px 12px;text-transform:uppercase;font-size:12px}.cem-float-actions{position:absolute;right:18px;top:18px;display:flex;flex-direction:column;gap:10px}.cem-float-actions a{width:48px;height:48px;border-radius:50%;background:#fff;color:var(--cem-navy);display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:22px;box-shadow:0 8px 20px rgba(8,26,61,.18)}.cem-gallery-strip{display:flex;gap:10px;margin:14px 0 26px;overflow:auto}.cem-gallery-strip img,.cem-video-thumb{width:96px;height:68px;object-fit:cover;border-radius:10px;border:2px solid #fff;box-shadow:0 4px 12px rgba(8,26,61,.12);flex:0 0 auto}.cem-video-thumb{background:#081a3d;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900}.cem-feature-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;border-top:1px solid var(--cem-border);border-bottom:1px solid var(--cem-border);padding:18px 0;margin:24px 0}.cem-feature-row span{display:flex;align-items:center;justify-content:center;text-align:center;gap:6px;font-weight:700;color:var(--cem-navy)}.cem-video-box{background:#000;border-radius:18px;overflow:hidden;margin:12px 0 28px}.cem-video-box video,.cem-video-box iframe{width:100%;aspect-ratio:16/9;height:auto;display:block}.cem-detail-pro p{margin:6px 0}.cem-hero-card h1{font-size:34px;line-height:1.08;margin:18px 0}.cem-big-date span{display:block;font-size:13px;color:var(--cem-yellow);line-height:1}.cem-big-date strong{display:block;font-size:30px;color:var(--cem-blue);line-height:1.1}.cem-pill{display:inline-block;background:#f1f4f8;border-radius:999px;padding:7px 11px;margin:3px;font-size:13px;font-weight:700}.cem-share-row{display:flex;gap:12px}.cem-share-row a{width:42px;height:42px;border-radius:50%;border:1px solid var(--cem-border);display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--cem-blue);font-weight:900}.cem-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cem-submit-pro{max-width:760px}.cem-submit-pro h2{margin-top:0}@media(max-width:980px){.cem-feature-row{grid-template-columns:repeat(2,1fr)}.cem-related-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.cem-three,.cem-feature-row,.cem-related-grid{grid-template-columns:1fr}.cem-media-shell .cem-placeholder{height:280px}.cem-hero-card h1{font-size:28px}}
/* v0.003 multi-date schedule */
.cem-event-dates-block{padding:16px;border:1px dashed var(--cem-border);border-radius:16px;margin:14px 16px;background:#fbfcff}.cem-help{color:var(--cem-muted);margin:6px 0 12px}.cem-date-rows{display:flex;flex-direction:column;gap:10px}.cem-date-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end;padding:10px;background:#fff;border:1px solid var(--cem-border);border-radius:14px}.cem-date-row label{margin:0!important}.cem-add-date,.cem-remove-date{border:1px solid var(--cem-border);border-radius:10px;padding:11px 14px;font-weight:800;cursor:pointer}.cem-add-date{margin-top:12px;background:var(--cem-yellow);color:var(--cem-navy)}.cem-remove-date{background:#fff;color:#b42318}.cem-admin-dates{border:1px solid #ccd0d4;border-radius:8px;padding:12px;margin:12px 0;background:#fff}.cem-admin-dates .cem-date-row{grid-template-columns:1fr 1fr 1fr auto}.cem-schedule-list{grid-column:1/-1;display:flex;flex-direction:column;gap:7px}.cem-schedule-list span{display:block;background:#fff;border:1px solid var(--cem-border);border-radius:12px;padding:10px 12px;margin-top:6px}@media(max-width:640px){.cem-date-row,.cem-admin-dates .cem-date-row{grid-template-columns:1fr}.cem-remove-date{width:100%}}

/* v0.004 custom WordPress admin editor */
.cem-custom-editor{--cem-yellow:#ffc400;--cem-navy:#07183f;--cem-border:#dfe4ee;--cem-soft:#f8fafc;background:#fff;border-radius:16px;color:var(--cem-navy);font-family:Inter,Arial,sans-serif;overflow:hidden}
.cem-editor-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;background:linear-gradient(135deg,#fff7d7,#ffffff);border:1px solid var(--cem-border);border-radius:16px;margin-bottom:18px}
.cem-editor-header h2{margin:0 0 4px;font-size:24px;color:var(--cem-navy)}
.cem-editor-header p{margin:0;color:#667085}
.cem-version-pill{background:var(--cem-yellow);color:var(--cem-navy);font-weight:800;border-radius:999px;padding:7px 12px}
.cem-admin-section{border:1px solid var(--cem-border);border-radius:16px;padding:20px 22px;margin:18px 0;background:#fff;box-shadow:0 8px 24px rgba(7,24,63,.04)}
.cem-admin-section h3,.cem-admin-dates h3{margin:0 0 12px;font-size:18px;color:var(--cem-navy)}
.cem-admin-section p{margin-top:0}
.cem-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;align-items:start}
.cem-admin-full{grid-column:1/-1}
.cem-admin-grid label{display:block;color:var(--cem-navy)}
.cem-admin-grid label strong,.cem-media-field>label strong{display:block;margin:0 0 7px;color:var(--cem-navy)}
.cem-admin-grid input[type=text],.cem-admin-grid input[type=url],.cem-admin-grid input[type=email],.cem-admin-grid select,.cem-date-row input{border:1px solid #cfd7e6!important;border-radius:9px!important;min-height:42px;padding:8px 11px!important;background:#fff!important;color:#07183f!important}
.cem-admin-check{display:flex!important;align-items:center;gap:8px;padding:31px 0 0;font-weight:700}
.cem-admin-dates p{color:#667085;margin:0 0 14px}.cem-admin-dates .cem-date-rows{display:flex;flex-direction:column;gap:12px}.cem-admin-dates .cem-date-row{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:14px;align-items:end;padding:14px;border:1px solid #e6ebf3;border-radius:14px;background:#fbfcff}.cem-admin-dates .cem-date-row label{font-weight:700;color:#07183f}.cem-admin-dates .button,.cem-admin-media-select,.cem-admin-media-clear{border-radius:9px!important}.cem-add-date{margin-top:12px!important;border-color:#07183f!important;color:#07183f!important;font-weight:700!important}
.cem-media-field>label span{color:#667085;font-weight:400;margin-left:5px}.cem-media-preview{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 12px;min-height:44px}.cem-media-thumb{width:92px;height:72px;border:1px solid #dfe4ee;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f8fafc}.cem-media-thumb img{width:100%;height:100%;object-fit:cover;display:block}.cem-video-preview{margin:10px 0 12px}.cem-custom-editor .wp-editor-wrap{margin-top:8px}.cem-custom-editor .wp-editor-container{border-radius:12px;overflow:hidden;border:1px solid #cfd7e6}
@media(max-width:900px){.cem-admin-grid{grid-template-columns:1fr}.cem-admin-dates .cem-date-row{grid-template-columns:1fr}.cem-editor-header{align-items:flex-start;flex-direction:column}}

/* v0.005 full website header, homepage and footer */
.cem-site-header,.cem-site-footer,.cem-home-hero,.cem-category-rail,.cem-home-main{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--cem-navy)}
.cem-site-header{background:#fff;border-bottom:1px solid var(--cem-border);position:relative;z-index:20;box-shadow:0 8px 25px rgba(8,26,61,.03)}
.cem-site-header-inner{/* max-width:1240px; */margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.cem-site-logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--cem-navy);flex:0 0 auto}.cem-logo-flower{width:54px;height:54px;border-radius:18px;background:var(--cem-yellow);color:#fff;display:flex;align-items:center;justify-content:center;font-size:40px;line-height:1;box-shadow:0 12px 26px rgba(255,196,0,.25)}.cem-logo-copy strong{display:block;font-size:27px;line-height:.95;color:var(--cem-blue);font-weight:900;letter-spacing:-.8px}.cem-logo-copy small{display:block;color:var(--cem-muted);font-size:12px;margin-top:5px}.cem-site-logo-footer .cem-logo-copy strong{color:#fff}.cem-site-logo-footer .cem-logo-copy small{color:#b7c4dc;max-width:230px;line-height:1.45}
.cem-site-nav{display:flex;align-items:center;gap:24px;flex:1;justify-content:center}.cem-site-nav a{color:var(--cem-navy);font-size:15px;font-weight:700;text-decoration:none;white-space:nowrap}.cem-site-nav a:hover,.cem-site-nav a:first-child{color:var(--cem-blue)}.cem-nav-submit{background:var(--cem-yellow);border-radius:999px;padding:10px 16px;color:var(--cem-navy)!important}.cem-site-actions{display:flex;align-items:center;gap:12px}.cem-action-icon{width:40px;height:40px;border:1px solid var(--cem-border);border-radius:999px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--cem-navy);font-size:22px;position:relative;background:#fff}.cem-action-icon span{position:absolute;top:-6px;right:-5px;background:#ff2038;color:#fff;border-radius:999px;font-size:10px;line-height:1;padding:4px 5px}.cem-language-pill{font-weight:800;color:var(--cem-navy);font-size:14px}.cem-mobile-menu-button{display:none;background:#fff;border:1px solid var(--cem-border);border-radius:12px;width:42px;height:42px;font-size:22px;color:var(--cem-navy)}
.cem-home-hero{background:linear-gradient(90deg,rgba(7,24,63,.82),rgba(7,24,63,.18)),linear-gradient(135deg,#07183f,#1267e5 55%,#ffc400);background-size:cover;background-position:center;min-height:390px;display:flex;align-items:center}.cem-home-hero-inner{max-width:1240px;margin:0 auto;width:100%;padding:68px 24px 34px}.cem-home-hero h1{max-width:720px;color:#fff;font-size:56px;line-height:1.04;margin:0 0 16px;font-weight:900;letter-spacing:-1.4px}.cem-home-hero p{max-width:620px;color:#fff;font-size:21px;line-height:1.45;margin:0 0 32px;font-weight:600}.cem-hero-search{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr auto;gap:12px;background:#fff;border-radius:24px;padding:14px;box-shadow:0 22px 60px rgba(0,0,0,.22);max-width:1180px}.cem-hero-search label{margin:0;display:block}.cem-hero-search label span{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.cem-hero-search input,.cem-hero-search select{width:100%;height:52px;border:1px solid var(--cem-border);border-radius:13px;padding:0 16px;background:#fff;color:var(--cem-navy);font-weight:600}.cem-hero-search button{height:52px;border:0;border-radius:13px;background:var(--cem-yellow);color:var(--cem-navy);font-weight:900;padding:0 30px;cursor:pointer}
.cem-category-rail{max-width:1240px;margin:0 auto;padding:28px 24px 22px;display:grid;grid-template-columns:repeat(11,minmax(90px,1fr));gap:14px;border-bottom:1px solid var(--cem-border)}.cem-category-rail a{text-decoration:none;color:var(--cem-navy);font-weight:700;font-size:13px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:7px}.cem-category-rail span{width:42px;height:42px;border:1px solid #dbe7ff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--cem-blue);background:#fff;font-size:20px}.cem-category-rail a.active{color:var(--cem-blue)}.cem-category-rail a.active span{background:#fff8d8;border-color:#ffe78a}
.cem-home-main{max-width:1240px;margin:0 auto;padding:34px 24px 0}.cem-home-section{margin:0 0 48px}.cem-section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 20px}.cem-section-head h2{margin:0;font-size:30px;line-height:1.15;color:var(--cem-navy);font-weight:900;letter-spacing:-.5px}.cem-section-head a{color:var(--cem-blue);font-weight:800;text-decoration:none}.cem-home-main .cem-wrap{margin:0}.cem-home-main .cem-filters{display:none}.cem-island-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:16px}.cem-island-card{background:#fff;border:1px solid var(--cem-border);border-radius:16px;overflow:hidden;text-decoration:none;color:var(--cem-navy);box-shadow:0 10px 26px rgba(8,26,61,.04);transition:.2s}.cem-island-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(8,26,61,.1)}.cem-island-art{height:120px;background:linear-gradient(135deg,#dff4ff,#1267e5);display:flex;align-items:center;justify-content:center;font-size:48px}.cem-island-card strong{display:block;padding:13px 14px 2px;font-size:15px}.cem-island-card small{display:block;padding:0 14px 14px;color:var(--cem-blue);font-weight:800;font-size:12px}.cem-featured-categories-wrap{display:grid;grid-template-columns:1fr 340px;gap:30px}.cem-featured-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.cem-featured-category-card{background:#fff;border:1px solid var(--cem-border);border-radius:15px;padding:16px;text-decoration:none;color:var(--cem-navy);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center}.cem-featured-category-card span{grid-row:1/3;font-size:24px;width:44px;height:44px;border-radius:14px;background:#fff8d8;display:flex;align-items:center;justify-content:center}.cem-featured-category-card strong{font-size:15px}.cem-featured-category-card small{color:var(--cem-muted);font-weight:700}.cem-submit-cta{background:linear-gradient(135deg,#fff2be,#ffffff);border:1px solid #ffe78a;border-radius:22px;padding:28px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 12px 30px rgba(255,196,0,.12)}.cem-submit-cta h3{font-size:26px;line-height:1.1;margin:0 0 12px}.cem-submit-cta p{color:var(--cem-muted);font-weight:600;margin:0 0 18px}.cem-newsletter-banner{margin:0 0 42px;background:linear-gradient(135deg,#fff7d7,#fff);border:1px solid #ffe78a;border-radius:22px;padding:26px 34px;display:grid;grid-template-columns:auto 1fr minmax(340px,520px);align-items:center;gap:26px}.cem-newsletter-icon{width:70px;height:70px;border-radius:50%;background:var(--cem-yellow);display:flex;align-items:center;justify-content:center;color:#fff;font-size:34px}.cem-newsletter-banner h2{margin:0 0 5px;font-size:26px}.cem-newsletter-banner p{margin:0;color:var(--cem-muted);font-weight:600}.cem-newsletter-mini{display:flex;gap:10px}.cem-newsletter-mini input{flex:1;border:1px solid var(--cem-border);border-radius:12px;padding:0 16px;height:52px}.cem-newsletter-mini button{border:0;border-radius:12px;background:var(--cem-yellow);color:var(--cem-navy);font-weight:900;padding:0 24px}
.cem-site-footer{background:#07183f;color:#fff;margin-top:0}.cem-site-footer-inner{max-width:1240px;margin:0 auto;padding:48px 24px 30px;display:grid;grid-template-columns:1.7fr repeat(4,1fr);gap:38px}.cem-site-footer h4{margin:0 0 14px;font-size:17px;color:#fff}.cem-site-footer a{display:block;color:#b7c4dc;text-decoration:none;margin:8px 0;font-size:14px}.cem-site-footer a:hover{color:#fff}.cem-socials{display:flex;gap:10px;margin-top:20px}.cem-socials a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.09);display:flex;align-items:center;justify-content:center;color:#fff;margin:0;font-weight:900}.cem-footer-bottom{max-width:1240px;margin:0 auto;padding:20px 24px 30px;text-align:center;color:#b7c4dc;border-top:1px solid rgba(255,255,255,.08)}.cem-filters{grid-template-columns:1.2fr repeat(3,minmax(0,1fr)) auto auto}.cem-filters input[type=search]{width:100%;padding:13px 14px;border:1px solid var(--cem-border);border-radius:12px;background:#fff;color:var(--cem-navy)}
@media(max-width:1100px){.cem-site-nav{display:none;position:absolute;left:24px;right:24px;top:82px;background:#fff;border:1px solid var(--cem-border);border-radius:18px;padding:16px;box-shadow:0 20px 50px rgba(8,26,61,.14);flex-direction:column;align-items:flex-start}.cem-site-header.is-open .cem-site-nav{display:flex}.cem-mobile-menu-button{display:block}.cem-home-hero h1{font-size:44px}.cem-hero-search{grid-template-columns:1fr 1fr}.cem-hero-search button{grid-column:1/-1}.cem-category-rail{grid-template-columns:repeat(5,1fr);overflow:auto}.cem-island-grid{grid-template-columns:repeat(4,1fr)}.cem-featured-categories-wrap{grid-template-columns:1fr}.cem-featured-category-grid{grid-template-columns:repeat(2,1fr)}.cem-newsletter-banner{grid-template-columns:auto 1fr}.cem-newsletter-mini{grid-column:1/-1}.cem-site-footer-inner{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.cem-site-header-inner{padding:12px 16px}.cem-logo-flower{width:44px;height:44px;font-size:32px}.cem-logo-copy strong{font-size:22px}.cem-site-actions{display:none}.cem-home-hero{min-height:auto}.cem-home-hero-inner{padding:44px 18px 28px}.cem-home-hero h1{font-size:34px}.cem-home-hero p{font-size:17px}.cem-hero-search{grid-template-columns:1fr;border-radius:18px}.cem-category-rail{padding:22px 18px;grid-template-columns:repeat(3,110px)}.cem-home-main{padding:28px 18px 0}.cem-section-head{align-items:flex-start;flex-direction:column}.cem-island-grid{grid-template-columns:repeat(2,1fr)}.cem-featured-category-grid{grid-template-columns:1fr}.cem-newsletter-banner{grid-template-columns:1fr;text-align:left;padding:24px}.cem-newsletter-mini{flex-direction:column}.cem-newsletter-mini button{height:48px}.cem-site-footer-inner{grid-template-columns:1fr}.cem-filters{grid-template-columns:1fr}.cem-filters .cem-check{justify-content:flex-start}}

.cem-modal-overlay{position:fixed;inset:0;background:rgba(7,24,63,.55);z-index:99999;display:none;align-items:center;justify-content:center;padding:20px}.cem-modal-overlay.is-visible{display:flex}.cem-modal{width:min(460px,100%);background:#fff;border-radius:22px;box-shadow:0 24px 70px rgba(7,24,63,.22);padding:30px;position:relative;text-align:center;color:#07183f}.cem-modal h3{margin:0 0 10px;font-size:26px;color:#07183f}.cem-modal p{font-size:16px;line-height:1.55;color:#4b587c}.cem-modal-close{position:absolute;top:12px;right:14px;border:0;background:transparent;font-size:28px;cursor:pointer;color:#07183f}.cem-modal-ok{background:#ffbc00;color:#07183f;border:0;border-radius:12px;padding:12px 22px;font-weight:800;cursor:pointer}.cem-ajax-newsletter button[disabled]{opacity:.65;cursor:wait}.cem-language-switcher{display:flex;gap:4px;align-items:center}.cem-language-switcher a{font-size:12px;font-weight:800;text-decoration:none;color:#07183f;padding:5px 7px;border-radius:999px}.cem-language-switcher a.active{background:#ffbc00}.cem-newsletter .cem-category-checks strong{display:block;margin-bottom:8px;color:#07183f}

/* v0.009: remove Hostinger AI Builder top offset on Canary Events pages/blocks */
body.hostinger-ai-builder-elementor,
body.hostinger-ai-builder-gutenberg{padding-top:0!important;}

.cem-archive-page{max-width:1240px;margin:0 auto;padding:36px 24px 64px;color:var(--cem-navy,#07183f)}
.cem-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--cem-muted,#4b587c)}
.cem-breadcrumb a{color:var(--cem-blue,#1267e5);text-decoration:none;font-weight:800}
.cem-breadcrumb a:hover{text-decoration:underline}
.cem-breadcrumb-archive{margin:0}
.cem-schedule-list a{display:block;color:var(--cem-blue,#1267e5);font-weight:700;text-decoration:none;margin:6px 0;padding:7px 10px;border-radius:10px;border:1px solid transparent}
.cem-schedule-list a:hover{background:#f4f8ff;border-color:var(--cem-border,#e6edf8)}
.cem-schedule-list a.is-selected{background:#fff8dc;border-color:#ffe07a;color:var(--cem-navy,#07183f)}
.cem-card[data-date-id]{position:relative}
.cem-date-badge small{display:block;font-size:11px;line-height:1;text-transform:uppercase;font-weight:900}

/* v0.016: active states for category/island browsing and simplified archive heading */
.cem-archive-heading{margin:18px 0 26px;padding:0 0 8px;color:var(--cem-navy,#07183f)}
.cem-archive-heading h1{margin:14px 0 6px;font-size:38px;line-height:1.08;letter-spacing:-.6px;color:var(--cem-navy,#07183f)}
.cem-archive-heading p{margin:0;color:var(--cem-muted,#4b587c);font-size:16px;line-height:1.55}
.cem-island-card.active,.cem-featured-category-card.active{border-color:#ffe07a;background:#fff8dc;box-shadow:0 16px 34px rgba(255,196,0,.18)}
.cem-island-card.active .cem-island-art{background:linear-gradient(135deg,#fff1a8,#1267e5)}
.cem-island-card.active strong,.cem-featured-category-card.active strong{color:var(--cem-blue,#1267e5)}
.cem-category-rail a.active{position:relative}
.cem-category-rail a.active:after{content:"";display:block;width:34px;height:3px;border-radius:999px;background:var(--cem-yellow,#ffc400);margin-top:2px}
@media(max-width:700px){.cem-archive-heading h1{font-size:30px}}

@media(max-width:700px){.cem-archive-page{padding:24px 18px 42px}}


/* v0.017 original island pictograms */
.cem-island-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.cem-island-card{min-height:174px;padding:28px 18px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.cem-island-art{width:106px;height:92px;margin:0 auto 8px;background:transparent!important;display:flex;align-items:center;justify-content:center;font-size:0}.cem-island-art svg{width:96px;height:96px;display:block;filter:drop-shadow(0 10px 12px rgba(8,26,61,.12))}.cem-island-card strong{padding:0 0 6px;font-size:20px;line-height:1.15}.cem-island-card small{padding:0;color:var(--cem-muted);font-size:15px;font-weight:700}.cem-island-tenerife{background:linear-gradient(135deg,#fff8df,#fff);border-color:#ffda75}.cem-island-gran-canaria{background:linear-gradient(135deg,#eaf7ff,#fff);border-color:#a7d6ff}.cem-island-lanzarote{background:linear-gradient(135deg,#fff1e7,#fff);border-color:#ffc28d}.cem-island-fuerteventura{background:linear-gradient(135deg,#e9fff6,#fff);border-color:#96edc9}.cem-island-la-palma{background:linear-gradient(135deg,#f3efff,#fff);border-color:#d8caff}.cem-island-la-gomera{background:linear-gradient(135deg,#f0ffe5,#fff);border-color:#bbea77}.cem-island-el-hierro{background:linear-gradient(135deg,#eaffff,#fff);border-color:#9ee7ff}.cem-island-la-graciosa{background:linear-gradient(135deg,#fffbe1,#fff);border-color:#f3d252}.cem-island-card.active{outline:3px solid rgba(18,103,229,.14);transform:translateY(-2px)}.cem-island-card.active .cem-island-art{background:transparent!important}.cem-islands-section .cem-section-head{justify-content:center;text-align:center}.cem-islands-section .cem-section-head a{display:none}@media(max-width:1024px){.cem-island-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.cem-island-grid{grid-template-columns:1fr}.cem-island-card{min-height:150px}.cem-island-art svg{width:84px;height:84px}}

/* v0.018: islands first, one-line 8x1 island rail, restored white card/background style */
.cem-islands-section{overflow-x:auto;padding-bottom:4px}
.cem-island-grid{display:grid!important;grid-template-columns:repeat(8,minmax(118px,1fr))!important;gap:16px!important;min-width:980px}
.cem-island-card{background:#fff!important;border:1px solid var(--cem-border)!important;border-radius:16px!important;min-height:auto!important;padding:0!important;overflow:hidden;text-align:left!important;display:block!important;box-shadow:0 10px 26px rgba(8,26,61,.04)!important;color:var(--cem-navy)!important}
.cem-island-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(8,26,61,.1)!important}
.cem-island-art{width:100%!important;height:108px!important;margin:0!important;background:linear-gradient(135deg,#dff4ff,#1267e5)!important;display:flex!important;align-items:center!important;justify-content:center!important}
.cem-island-art svg{width:78px!important;height:78px!important;filter:drop-shadow(0 8px 10px rgba(8,26,61,.13))!important}
.cem-island-card strong{display:block!important;padding:12px 12px 2px!important;font-size:15px!important;line-height:1.15!important;color:var(--cem-navy)!important}
.cem-island-card small{display:block!important;padding:0 12px 13px!important;color:var(--cem-blue)!important;font-size:12px!important;font-weight:800!important}
.cem-island-card.active{border-color:#ffc400!important;background:#fffdf3!important;outline:3px solid rgba(255,196,0,.22)!important}
.cem-island-card.active .cem-island-art{background:linear-gradient(135deg,#fff2ae,#1267e5)!important}
.cem-category-rail{margin-top:10px}
@media(max-width:1100px){.cem-island-grid{grid-template-columns:repeat(8,minmax(118px,1fr))!important}.cem-islands-section{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px}}
@media(max-width:700px){.cem-island-grid{grid-template-columns:repeat(8,minmax(112px,1fr))!important;min-width:960px}.cem-island-art{height:98px!important}.cem-island-art svg{width:70px!important;height:70px!important}}

/* v0.020: island order set to Gran Canaria, Tenerife, Fuerteventura, Lanzarote, La Palma, La Gomera, El Hierro, La Graciosa. */

/* v0.021: SVG pictograms for all category cards. */
.cem-category-svg{width:30px;height:30px;display:block}
.cem-featured-category-card .cem-category-svg{width:34px;height:34px}
.cem-category-rail span:has(.cem-category-svg){font-size:0}

/* v0.022 submit event route */
.cem-submit-page-main { background:#f7f9fc; padding:42px 24px 64px; }
.cem-submit-page-shell { max-width:980px; margin:0 auto; }
.cem-submit-page-heading { margin-bottom:22px; }
.cem-submit-page-heading h1 { margin:6px 0 8px; color:#14233b; font-size:clamp(32px,4vw,52px); line-height:1.05; }
.cem-submit-page-heading p { max-width:720px; color:#64748b; font-size:16px; }

/* v0.023 multilingual submit/event description tabs */
.cem-lang-tabs{margin-top:10px;border:1px solid var(--cem-border,#e6edf8);border-radius:16px;background:#fff;overflow:hidden}
.cem-lang-tab-buttons{display:flex;gap:6px;flex-wrap:wrap;padding:10px;background:#f7f9fc;border-bottom:1px solid var(--cem-border,#e6edf8)}
.cem-lang-tab-button{border:1px solid var(--cem-border,#e6edf8)!important;background:#fff!important;color:var(--cem-navy,#07183f)!important;border-radius:999px!important;padding:9px 14px!important;font-weight:900!important;line-height:1!important;cursor:pointer!important;width:auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important}
.cem-lang-tab-button.active{background:var(--cem-yellow,#ffc400)!important;border-color:var(--cem-yellow,#ffc400)!important;color:var(--cem-navy,#07183f)!important}
.cem-lang-tab-panel{display:none;padding:14px}
.cem-lang-tab-panel.active{display:block}
.cem-lang-tab-panel textarea{width:100%;min-height:150px;resize:vertical}
.cem-submit-description-field{margin:14px 0 18px}
.cem-admin-lang-tabs textarea{font-family:inherit;line-height:1.5}


/* v0.024: cleaner submit form spacing and compact date/time fields */
.cem-submit-page-shell{max-width:1120px!important}
.cem-submit-page-main{padding:36px 24px 64px!important}
.cem-submit-pro{max-width:1120px!important;margin:0 auto!important;padding:28px!important;border-radius:24px!important}
.cem-submit-pro .cem-form{display:block}
.cem-submit-pro .cem-accordion{margin:18px 0!important;border:1px solid var(--cem-border,#e6edf8)!important;border-radius:18px!important;background:#fff!important;overflow:hidden!important}
.cem-submit-pro .cem-accordion > summary{padding:16px 20px!important;font-size:17px!important;font-weight:900!important;cursor:pointer!important;background:#fbfcff!important;border-bottom:1px solid var(--cem-border,#e6edf8)!important;color:var(--cem-navy,#07183f)!important}
.cem-submit-pro .cem-accordion > *:not(summary){margin-left:20px!important;margin-right:20px!important}
.cem-submit-pro .cem-accordion > .cem-event-dates-block{margin:20px!important}
.cem-submit-pro .cem-form label{font-size:15px!important;line-height:1.3!important;color:var(--cem-navy,#07183f)!important}
.cem-submit-pro .cem-form input,
.cem-submit-pro .cem-form select,
.cem-submit-pro .cem-form textarea{box-sizing:border-box!important;border:1px solid #dbe5f3!important;border-radius:14px!important;box-shadow:none!important;font-size:15px!important;line-height:1.35!important;min-height:48px!important;padding:11px 14px!important;background:#fff!important;color:var(--cem-navy,#07183f)!important}
.cem-submit-pro .cem-form textarea{min-height:150px!important;padding-top:12px!important}
.cem-submit-pro .cem-two{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 24px!important;align-items:start!important}
.cem-submit-pro .cem-two label{min-width:0!important;margin:12px 0!important}
.cem-event-dates-block{padding:20px!important;border:1px dashed #dbe5f3!important;border-radius:20px!important;margin:20px 0!important;background:#fbfcff!important}
.cem-event-dates-block > strong{display:block!important;font-size:19px!important;line-height:1.25!important;margin-bottom:6px!important;color:var(--cem-navy,#07183f)!important}
.cem-event-dates-block .cem-help{font-size:15px!important;margin:0 0 16px!important;color:var(--cem-muted,#667085)!important}
.cem-event-dates-block .cem-date-rows{gap:12px!important}
.cem-submit-pro .cem-date-row,
.cem-event-dates-block .cem-date-row{display:grid!important;grid-template-columns:minmax(150px,190px) minmax(125px,155px) minmax(125px,155px) auto!important;justify-content:start!important;align-items:end!important;gap:12px!important;padding:14px!important;border:1px solid #dbe5f3!important;border-radius:18px!important;background:#fff!important;overflow:visible!important}
.cem-submit-pro .cem-date-row label,
.cem-event-dates-block .cem-date-row label{margin:0!important;min-width:0!important;font-weight:800!important;font-size:14px!important;line-height:1.2!important}
.cem-submit-pro .cem-date-row input[type="date"],
.cem-submit-pro .cem-date-row input[type="time"],
.cem-submit-pro .cem-date-row input.cem-time-select,
.cem-submit-pro .cem-date-row select.cem-time-select,
.cem-event-dates-block .cem-date-row input[type="date"],
.cem-event-dates-block .cem-date-row input[type="time"],
.cem-event-dates-block .cem-date-row input.cem-time-select,
.cem-event-dates-block .cem-date-row select.cem-time-select,
.cem-admin-dates .cem-date-row input.cem-time-select,
.cem-admin-dates .cem-date-row select.cem-time-select{width:100%!important;min-height:46px!important;height:46px!important;padding:8px 10px!important;font-size:15px!important;line-height:1!important;margin-top:8px!important}
.cem-submit-pro .cem-remove-date,
.cem-event-dates-block .cem-remove-date{height:46px!important;white-space:nowrap!important;padding:0 14px!important;border-radius:12px!important;background:#fff!important;border:1px solid #ffd0d0!important;color:#b42318!important;font-weight:900!important;align-self:end!important}
.cem-submit-pro .cem-add-date,
.cem-event-dates-block .cem-add-date{display:inline-flex!important;width:auto!important;max-width:100%!important;margin-top:14px!important;padding:13px 20px!important;border-radius:14px!important;font-size:15px!important;line-height:1!important;background:var(--cem-yellow,#ffc400)!important;color:var(--cem-navy,#07183f)!important;border:0!important;box-shadow:none!important}
.cem-submit-pro .cem-check{display:flex!important;align-items:center!important;gap:10px!important}
.cem-submit-pro .cem-check input[type="checkbox"]{width:auto!important;min-height:auto!important;height:auto!important;margin:0!important}
@media(max-width:780px){
  .cem-submit-page-main{padding:24px 14px 44px!important}
  .cem-submit-pro{padding:18px!important;border-radius:18px!important}
  .cem-submit-pro .cem-two{grid-template-columns:1fr!important;gap:10px!important}
  .cem-submit-pro .cem-accordion > *:not(summary){margin-left:14px!important;margin-right:14px!important}
  .cem-submit-pro .cem-accordion > .cem-event-dates-block{margin:14px!important}
  .cem-submit-pro .cem-date-row,
  .cem-event-dates-block .cem-date-row{grid-template-columns:1fr!important;gap:10px!important}
  .cem-submit-pro .cem-remove-date,
  .cem-event-dates-block .cem-remove-date{width:100%!important}
}

/* v0.025: full event detail image + under review notice */
.cem-review-notice{margin:0 0 22px;padding:18px 20px;border:1px solid #f6c453;background:#fff8df;color:#081a3d;border-radius:18px;box-shadow:0 10px 30px rgba(8,26,61,.06)}.cem-review-notice strong{display:block;font-size:18px;margin-bottom:4px}.cem-review-badge{display:inline-flex;align-items:center;gap:8px;background:#fff3c4;color:#081a3d;border:1px solid #f6c453;border-radius:999px;padding:8px 12px;font-weight:900;margin-bottom:12px}.cem-sitemap-note{font-size:13px;color:#6b7280}


/* v0.026: remove hero search and improve mobile island grid */
.cem-hero-search{display:none!important;}
@media(max-width:700px){
    .cem-islands-section{overflow:visible!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;}
    .cem-island-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;min-width:0!important;gap:10px!important;}
    .cem-island-art{height:74px!important;}
    .cem-island-art svg{width:54px!important;height:54px!important;}
    .cem-island-card strong{font-size:12px!important;padding:9px 7px 1px!important;}
    .cem-island-card small{font-size:10px!important;padding:0 7px 10px!important;}
}
@media(max-width:420px){
    .cem-island-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;}
    .cem-island-art{height:64px!important;}
    .cem-island-art svg{width:48px!important;height:48px!important;}
}


/* v0.029 WYSIWYG multilingual event descriptions */
.cem-wysiwyg-tabs .wp-editor-wrap,
.cem-submit-description-field .wp-editor-wrap{margin-top:8px;border-radius:14px;overflow:hidden}
.cem-wysiwyg-tabs .wp-editor-container,
.cem-submit-description-field .wp-editor-container{border-color:#d7dde8;border-radius:0 0 14px 14px;overflow:hidden}
.cem-submit-description-field .mce-toolbar .mce-btn button,
.cem-submit-description-field .quicktags-toolbar input,
.cem-wysiwyg-tabs .mce-toolbar .mce-btn button,
.cem-wysiwyg-tabs .quicktags-toolbar input{font-size:13px}
.cem-submit-description-field textarea.wp-editor-area,
.cem-wysiwyg-tabs textarea.wp-editor-area{min-height:180px}
.cem-submit-description-field .wp-editor-tools,
.cem-wysiwyg-tabs .wp-editor-tools{padding-top:4px}
.cem-lang-tab-panel:not(.active) .wp-editor-wrap{display:none}
.cem-lang-tab-panel.active .wp-editor-wrap{display:block}

/* v0.030 organizer tools, gallery and event detail refinements */
.cem-gallery-strip{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 24px}.cem-gallery-thumb{border:2px solid transparent;background:#fff;border-radius:14px;padding:3px;cursor:pointer;box-shadow:0 8px 18px rgba(16,24,40,.08)}.cem-gallery-thumb.active,.cem-gallery-thumb:hover{border-color:#ffc400}.cem-gallery-thumb img{display:block;width:76px;height:76px;object-fit:cover;border-radius:10px}.cem-schedule-list a.is-past{opacity:.48;filter:grayscale(1);background:#eef0f3!important;color:#667085!important}.cem-share-svg{width:20px;height:20px;display:inline-block;vertical-align:middle}.cem-share-row a:has(.cem-share-svg),.cem-float-actions a:has(.cem-share-svg){font-size:0}.cem-organizer-card h3{margin-bottom:6px}.cem-organizer-card h2{font-size:26px;margin:0 0 12px;color:#07183f}.cem-editor-shortcut{max-width:1180px;margin:16px auto 0;padding:0 22px;text-align:right}.cem-feature-checkboxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:10px}.cem-feature-checkboxes label{display:flex;align-items:center;gap:8px;border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px;background:#fff}.cem-feature-icon{font-size:20px}.cem-feature-select-field{grid-column:1/-1;margin-top:8px}.cem-organizer-main{background:#f6f8fb;min-height:70vh;padding:40px 20px}.cem-organizer-shell{max-width:1180px;margin:0 auto;background:#fff;border-radius:28px;padding:28px;box-shadow:0 18px 55px rgba(16,24,40,.08)}.cem-organizer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.cem-dashboard-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:18px;margin:24px 0}.cem-organizer-events table{width:100%;border-collapse:collapse}.cem-organizer-events th,.cem-organizer-events td{padding:12px;border-bottom:1px solid #edf0f5;text-align:left}.cem-status-pill{display:inline-flex;padding:4px 10px;border-radius:999px;background:#edf0f5;font-size:12px;text-transform:capitalize}.cem-status-publish{background:#dcfce7;color:#166534}.cem-status-pending{background:#fef3c7;color:#92400e}.cem-status-draft{background:#fee2e2;color:#991b1b}.cem-btn-small{padding:8px 13px!important;font-size:13px!important}.cem-auth-form{max-width:760px}.cem-modal-wide input{width:100%;padding:13px;border:1px solid #d0d5dd;border-radius:12px;font-family:monospace;margin:8px 0 16px}.cem-login-hint a{font-weight:700}.cem-content h1,.cem-content h2{font-size:inherit!important}
@media(max-width:760px){.cem-dashboard-grid,.cem-organizer-head{grid-template-columns:1fr;display:block}.cem-organizer-shell{padding:20px}.cem-organizer-events{overflow-x:auto}.cem-gallery-thumb img{width:58px;height:58px}}

/* v0.031 organizer auth form cleanup */
.cem-auth-shell{max-width:1040px!important;padding:34px!important}
.cem-auth-card{max-width:920px;margin:0 auto}.cem-auth-card h1{font-size:clamp(34px,5vw,56px);line-height:1.05;margin:0 0 28px;color:#050b18}
.cem-auth-form,.cem-auth-form *{box-sizing:border-box}.cem-auth-form{max-width:none!important;width:100%;display:block}.cem-auth-form label{display:block;margin:0 0 22px!important;font-size:18px!important;font-weight:800!important;color:#07183f}.cem-auth-form .cem-two{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:22px!important;align-items:start}.cem-auth-form input{width:100%!important;max-width:100%!important;min-width:0!important;height:58px!important;border:1px solid #dbe5f3!important;border-radius:16px!important;padding:12px 16px!important;background:#fff!important;box-shadow:none!important}.cem-auth-form .cem-check{display:flex!important;align-items:center!important;gap:10px!important;margin:2px 0 22px!important}.cem-auth-form .cem-check input{width:auto!important;height:auto!important;min-height:0!important}.cem-auth-form button[type="submit"]{min-width:170px;height:56px;border-radius:16px}.cem-field-help{display:block;color:#667085;font-size:14px;font-weight:600;margin-top:2px}.cem-organizer-events{overflow-x:auto}.cem-organizer-events table{min-width:720px}.cem-organizer-events th{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:#667085}.cem-organizer-events td{vertical-align:middle}@media(max-width:760px){.cem-auth-shell{padding:22px!important}.cem-auth-form .cem-two{grid-template-columns:1fr!important;gap:0!important}.cem-auth-form input{height:54px!important}.cem-auth-card h1{font-size:36px}}

/* v0.032 compact event highlight checkboxes */
.cem-feature-checkboxes{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:10px!important}
.cem-feature-checkboxes label{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;min-height:54px!important;padding:10px 12px!important;border-radius:14px!important;font-size:15px!important;line-height:1.2!important;text-align:left!important}
.cem-feature-checkboxes input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:18px!important;height:18px!important;min-width:18px!important;max-width:18px!important;min-height:18px!important;max-height:18px!important;margin:0!important;padding:0!important;transform:none!important;box-shadow:none!important;border-radius:3px!important;flex:0 0 18px!important}
.cem-feature-checkboxes .cem-feature-icon{font-size:18px!important;line-height:1!important;display:inline-flex!important;min-width:24px!important;justify-content:center!important}
@media(max-width:700px){.cem-feature-checkboxes{grid-template-columns:repeat(2,minmax(0,1fr))!important}.cem-feature-checkboxes label{font-size:13px!important;padding:9px!important;min-height:48px!important}.cem-feature-checkboxes .cem-feature-icon{font-size:16px!important;min-width:20px!important}}

/* v0.032 organizer auth modal */
.cem-auth-modal-overlay{position:fixed;inset:0;z-index:999999;background:rgba(7,24,63,.55);display:none;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(6px)}
.cem-auth-modal-overlay.is-visible{display:flex}
.cem-auth-modal{width:min(760px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:26px;box-shadow:0 30px 90px rgba(7,24,63,.3);padding:24px;position:relative;color:#07183f}
.cem-auth-modal-close{position:absolute;top:14px;right:16px;width:38px;height:38px;border:0;border-radius:999px;background:#f3f6fb;color:#07183f;font-size:24px;line-height:1;cursor:pointer}
.cem-auth-tabs{display:inline-flex;gap:6px;padding:5px;border:1px solid #dbe5f3;border-radius:999px;background:#f7f9fd;margin-bottom:18px}
.cem-auth-tab{border:0;background:transparent;border-radius:999px;padding:10px 18px;font-weight:900;color:#07183f;cursor:pointer}
.cem-auth-tab.active{background:#ffc400;color:#07183f}
.cem-auth-panel{display:none}.cem-auth-panel.active{display:block}.cem-auth-panel h2{font-size:32px;line-height:1.1;margin:4px 0 16px;color:#07183f}
.cem-auth-modal .cem-auth-form .cem-two{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.cem-auth-modal .cem-auth-form label{font-size:15px!important;margin:0 0 14px!important}
.cem-auth-modal .cem-auth-form input{height:48px!important;border-radius:14px!important;padding:10px 13px!important}
.cem-auth-modal .cem-auth-form .cem-check{display:flex!important;gap:8px!important;align-items:center!important;margin:0 0 14px!important}.cem-auth-modal .cem-auth-form .cem-check input{width:16px!important;height:16px!important;min-height:16px!important}
.cem-auth-modal .cem-auth-form button[type="submit"]{height:50px;border-radius:14px;background:#ffc400;color:#07183f;border:0;font-weight:900;padding:0 20px;cursor:pointer}
.cem-auth-message{display:none;margin:0 0 16px;padding:12px 14px;border-radius:14px;font-weight:700}.cem-auth-message.is-success{display:block;background:#ecfdf3;color:#027a48;border:1px solid #abefc6}.cem-auth-message.is-error{display:block;background:#fff1f3;color:#b42318;border:1px solid #fecdd6}
@media(max-width:640px){.cem-auth-modal{padding:18px;border-radius:20px}.cem-auth-modal .cem-auth-form .cem-two{grid-template-columns:1fr!important;gap:0!important}.cem-auth-panel h2{font-size:26px}}


/* v0.033 WYSIWYG wrapping + organizer profile modal */
.cem-submit-description-field textarea.wp-editor-area,
.cem-wysiwyg-tabs textarea.wp-editor-area{white-space:pre-wrap!important;overflow-wrap:anywhere!important;word-break:break-word!important;resize:vertical!important;line-height:1.55!important}
.cem-submit-description-field .mce-edit-area iframe,
.cem-wysiwyg-tabs .mce-edit-area iframe{max-width:100%!important}
.cem-profile-modal-overlay{position:fixed;inset:0;z-index:1000000;background:rgba(7,24,63,.55);display:none;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(6px)}
.cem-profile-modal-overlay.is-visible{display:flex}
.cem-profile-modal{width:min(820px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:26px;box-shadow:0 30px 90px rgba(7,24,63,.3);padding:26px;position:relative;color:#07183f}
.cem-profile-modal-close{position:absolute;top:14px;right:16px;width:38px;height:38px;border:0;border-radius:999px;background:#f3f6fb;color:#07183f;font-size:24px;line-height:1;cursor:pointer}
.cem-profile-form .cem-two{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.cem-profile-form label{display:block;font-weight:800;margin-bottom:14px}.cem-profile-form input{width:100%;height:48px;border:1px solid #dbe5f3;border-radius:14px;padding:10px 13px}.cem-profile-form button[type="submit"]{margin-top:6px}
@media(max-width:700px){.cem-profile-form .cem-two{grid-template-columns:1fr!important;gap:0!important}.cem-profile-modal{padding:20px;border-radius:20px}}

/* v0.035 editor line-break and organizer modal layout fixes */
.cem-profile-modal,
.cem-profile-modal *{
  box-sizing:border-box!important;
}
.cem-profile-modal-overlay{
  padding:24px 16px!important;
}
.cem-profile-modal{
  width:min(760px,calc(100vw - 32px))!important;
  max-height:90vh!important;
  overflow:auto!important;
  padding:30px!important;
  border-radius:28px!important;
}
.cem-profile-modal h2{
  font-size:clamp(26px,3.2vw,36px)!important;
  line-height:1.12!important;
  margin:0 56px 24px 0!important;
  color:#07183f!important;
}
.cem-profile-form{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}
.cem-profile-form .cem-two{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:24px!important;
  row-gap:18px!important;
  margin:0 0 18px!important;
  align-items:start!important;
}
.cem-profile-form label{
  display:block!important;
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  font-size:15px!important;
  line-height:1.3!important;
  font-weight:800!important;
  color:#07183f!important;
}
.cem-profile-form input{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:52px!important;
  margin:8px 0 0!important;
  padding:11px 14px!important;
  border:1px solid #dbe5f3!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#07183f!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:15px!important;
  line-height:1.2!important;
  box-shadow:none!important;
}
.cem-profile-form input:disabled{
  background:#f8fafc!important;
  color:#667085!important;
  cursor:not-allowed!important;
}
.cem-profile-form button[type="submit"]{
  margin-top:4px!important;
  min-height:52px!important;
  border-radius:16px!important;
}
.cem-profile-modal-close{
  top:18px!important;
  right:18px!important;
}
@media(max-width:760px){
  .cem-profile-modal{
    padding:22px!important;
    border-radius:22px!important;
  }
  .cem-profile-form .cem-two{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .cem-profile-form input{
    height:50px!important;
  }
}


/* v0.035 WYSIWYG editor line-break helpers */
.cem-submit-description-field .wp-editor-container,
.cem-wysiwyg-tabs .wp-editor-container{background:#fff}
.cem-submit-description-field textarea.wp-editor-area,
.cem-wysiwyg-tabs textarea.wp-editor-area{font-family:inherit!important;white-space:pre-wrap!important;line-height:1.6!important}
.cem-submit-description-field .mce-edit-area iframe,
.cem-wysiwyg-tabs .mce-edit-area iframe{min-height:210px!important}


/* v0.036 translated plugin 404 */
.cem-not-found-main{max-width:960px;margin:0 auto;padding:90px 24px 120px;text-align:center}
.cem-not-found-card{background:#fff;border:1px solid var(--cem-border);border-radius:28px;padding:54px 32px;box-shadow:0 18px 60px rgba(8,26,61,.08)}
.cem-not-found-card h1{margin:8px 0 14px;color:var(--cem-navy);font-size:clamp(36px,5vw,62px);line-height:1.05}
.cem-not-found-card p{color:var(--cem-muted);font-size:18px;margin:0 auto 26px;max-width:620px}.cem-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;font-weight:900;padding:14px 22px}.cem-btn-primary{background:var(--cem-yellow);color:var(--cem-navy)}


/* v0.037 FAQ + 404 volcano */
.cem-404-volcano{display:block;width:min(560px,100%);height:auto;margin:0 auto 18px;border-radius:24px;object-fit:contain;filter:drop-shadow(0 22px 38px rgba(8,26,61,.14))}
.cem-not-found-volcano-card{overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fff9ee 100%)}
.cem-faq-section{padding-top:22px}
.cem-section-head-center{justify-content:center;text-align:center}
.cem-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1120px;margin:0 auto}
.cem-faq-item{background:#fff;border:1px solid var(--cem-border);border-radius:20px;box-shadow:0 12px 34px rgba(8,26,61,.06);overflow:hidden}
.cem-faq-item summary{cursor:pointer;list-style:none;padding:20px 52px 20px 22px;font-weight:900;color:var(--cem-navy);position:relative}
.cem-faq-item summary::-webkit-details-marker{display:none}
.cem-faq-item summary:after{content:'+';position:absolute;right:22px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:999px;background:var(--cem-yellow);display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--cem-navy)}
.cem-faq-item[open] summary:after{content:'–'}
.cem-faq-item p{margin:0;padding:0 22px 22px;color:var(--cem-muted);line-height:1.65}
@media (max-width:760px){.cem-faq-grid{grid-template-columns:1fr}.cem-404-volcano{width:min(420px,100%)}}


/* v0.041 volcano desktop height adjustment */
.cem-not-found-main.cem-volcano-not-found-main{
    max-width:none;
    width:100%;
    margin:0;
    padding:0;
    min-height:calc(100vh - 400px);
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    text-align:left;
    overflow:hidden;
    display:flex;
    align-items:stretch;
}
.cem-volcano-not-found{
    width:100%;
    min-height:inherit;
    border-radius:0;
    overflow:hidden;
    background:none!important;
    box-shadow:none;
    position:relative;
    border:0;
    display:flex;
    align-items:stretch;
}
.cem-volcano-not-found-overlay{
    position:relative;
    inset:auto;
    width:100%;
    min-height:inherit;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding:clamp(64px,8vw,120px) clamp(24px,8vw,120px);
    background:linear-gradient(90deg,rgba(5,20,48,.72) 0%,rgba(5,20,48,.42) 48%,rgba(5,20,48,.08) 100%);
}
.cem-volcano-not-found-content {
    max-width: 650px;
    color: #fff;
}
.cem-volcano-not-found-content h1{margin:0 0 16px;color:#fff;font-size:clamp(36px,6vw,76px);line-height:1.02;letter-spacing:-.04em;text-shadow:0 6px 28px rgba(0,0,0,.32)}
.cem-volcano-not-found-content p{margin:0 0 28px;color:rgba(255,255,255,.94);font-size:clamp(18px,2.2vw,24px);line-height:1.55;max-width:none;text-shadow:0 4px 20px rgba(0,0,0,.35)}
.cem-volcano-not-found-content .cem-btn-primary{box-shadow:0 12px 30px rgba(255,190,0,.28)}
@media (max-width:760px){
    .cem-not-found-main.cem-volcano-not-found-main{min-height:calc(100vh - 72px);background-position:center center}
    .cem-volcano-not-found-overlay{align-items:center;justify-content:center;text-align:center;padding:34px 22px;background:linear-gradient(180deg,rgba(5,20,48,.30) 0%,rgba(5,20,48,.72) 100%)}
    .cem-volcano-not-found-content h1{font-size:34px}
    .cem-volcano-not-found-content p{font-size:17px}
}


/* v0.042 mobile panels and two-column mobile event cards */
@media (max-width:700px){
    .cem-mobile-collapsible{display:none!important;}
    .cem-mobile-collapsible.cem-mobile-open{display:block!important;}
    .cem-category-rail.cem-mobile-open{display:grid!important;}
    .cem-filters.cem-mobile-open{display:grid!important;}
    .cem-islands-section.cem-mobile-open{display:block!important;}
    .cem-site-nav a[data-cem-mobile-panel]{cursor:pointer;}
}
@media (max-width:640px){
    .cem-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
    .cem-card{border-radius:14px!important;}
    .cem-card-img{height:124px!important;}
    .cem-date-badge{top:8px!important;left:8px!important;border-radius:10px!important;padding:6px 7px!important;font-size:11px!important;}
    .cem-date-badge small{font-size:9px!important;}
    .cem-cat-badge{left:8px!important;bottom:8px!important;padding:4px 7px!important;font-size:10px!important;max-width:calc(100% - 16px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    .cem-card-body{padding:12px!important;}
    .cem-card h3{font-size:15px!important;line-height:1.2!important;margin-bottom:8px!important;}
    .cem-card p{font-size:12px!important;line-height:1.35!important;margin:5px 0!important;}
    .cem-card-footer{display:block!important;margin-top:10px!important;}
    .cem-card-footer .cem-btn-small{width:100%;padding:8px 9px!important;font-size:12px!important;margin-top:8px!important;}
    .cem-empty{grid-column:1/-1!important;}
}

/* v0.042: Search text link appears only inside the mobile navigation menu. */
.cem-site-nav .cem-nav-search{display:none;}
@media (max-width:1100px){.cem-site-nav .cem-nav-search{display:flex;}}

/* v0.043: mobile menu opens directly under the header and scrolls when needed. */
@media (max-width:1100px){
    .cem-site-header{position:relative!important;overflow:visible!important;}
    .cem-site-nav{
        top:100%!important;
        left:0!important;
        right:0!important;
        margin:0!important;
        width:100%!important;
        max-height:calc(100vh - 68px)!important;
        overflow-y:auto!important;
        -webkit-overflow-scrolling:touch!important;
        border-top:0!important;
        border-left:0!important;
        border-right:0!important;
        border-radius:0 0 18px 18px!important;
        padding:14px 18px 18px!important;
        box-shadow:0 18px 32px rgba(8,26,61,.16)!important;
        z-index:9999!important;
    }
    .cem-site-nav a{
        width:100%!important;
        padding:12px 4px!important;
        border-bottom:1px solid rgba(231,237,246,.8)!important;
    }
    .cem-site-nav a:last-child{border-bottom:0!important;}
    .cem-site-nav .cem-nav-submit{width:auto!important;padding:11px 16px!important;margin-top:6px!important;}
}
@media (max-width:700px){
    .cem-site-nav{max-height:calc(100vh - 68px)!important;}
}


/* v0.044: mobile card buttons and form input fixes */
.cem-wrap *,
.cem-single-wrap *,
.cem-form-wrap *,
.cem-newsletter *,
.cem-home-main *,
.cem-site-header *,
.cem-site-footer *,
.cem-modal-overlay *,
.cem-organizer-main *,
.cem-card *{
    box-sizing:border-box;
}
.cem-btn,
.cem-btn-small,
.cem-form button,
.cem-newsletter-mini button,
.cem-ajax-newsletter button{
    max-width:100%;
    box-sizing:border-box;
}
.cem-form input:not([type="checkbox"]):not([type="radio"]),
.cem-form textarea,
.cem-form select,
.cem-filters input,
.cem-filters select,
.cem-newsletter input:not([type="checkbox"]):not([type="radio"]),
.cem-newsletter select,
.cem-newsletter-mini input,
.cem-profile-form input,
.cem-auth-form input{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
}
.cem-newsletter-mini{
    width:100%;
    min-width:0;
}
.cem-newsletter-mini input{
    min-width:0!important;
}
.cem-newsletter-mini button{
    flex:0 0 auto;
    white-space:nowrap;
}

@media (max-width:640px){
    .cem-card-body{display:flex!important;flex-direction:column!important;height:auto!important;min-width:0!important;}
    .cem-card h3{word-break:normal!important;overflow-wrap:anywhere!important;}
    .cem-card p{overflow-wrap:anywhere!important;}
    .cem-card-footer{
        display:flex!important;
        flex-direction:column!important;
        align-items:stretch!important;
        gap:8px!important;
        margin-top:auto!important;
        width:100%!important;
        min-width:0!important;
    }
    .cem-card-footer span{
        display:block!important;
        width:100%!important;
        font-size:14px!important;
        line-height:1.25!important;
        color:var(--cem-navy,#07183f)!important;
        overflow-wrap:anywhere!important;
    }
    .cem-card-footer .cem-btn-small,
    .cem-card .cem-btn-small{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:100%!important;
        min-width:0!important;
        max-width:100%!important;
        min-height:42px!important;
        padding:9px 8px!important;
        border-radius:12px!important;
        line-height:1.1!important;
        text-align:center!important;
        white-space:normal!important;
        overflow:hidden!important;
    }
    .cem-form-wrap,
    .cem-newsletter{
        width:calc(100% - 24px)!important;
        max-width:calc(100% - 24px)!important;
        margin:18px auto!important;
        padding:18px!important;
        border-radius:18px!important;
    }
    .cem-form label{margin:11px 0!important;font-size:14px!important;line-height:1.25!important;}
    .cem-form input:not([type="checkbox"]):not([type="radio"]),
    .cem-form textarea,
    .cem-form select,
    .cem-filters input,
    .cem-filters select,
    .cem-newsletter input:not([type="checkbox"]):not([type="radio"]),
    .cem-newsletter select,
    .cem-profile-form input,
    .cem-auth-form input{
        min-height:44px!important;
        height:auto!important;
        padding:10px 12px!important;
        border-radius:12px!important;
        font-size:15px!important;
        line-height:1.25!important;
    }
    .cem-form textarea{min-height:120px!important;}
    .cem-form button,
    .cem-newsletter button,
    .cem-newsletter-mini button,
    .cem-ajax-newsletter button{
        width:100%!important;
        min-height:44px!important;
        padding:10px 14px!important;
        border-radius:12px!important;
        line-height:1.15!important;
    }
    .cem-newsletter-banner{
        width:calc(100% - 24px)!important;
        margin-left:auto!important;
        margin-right:auto!important;
        padding:18px!important;
        gap:14px!important;
    }
    .cem-newsletter-mini{
        display:flex!important;
        flex-direction:column!important;
        gap:10px!important;
        width:100%!important;
    }
    .cem-newsletter-mini input,
    .cem-newsletter-mini button{
        width:100%!important;
        height:46px!important;
    }
    .cem-date-row,
    .cem-event-dates-block .cem-date-row{
        overflow:hidden!important;
    }
}


/* v0.045: language switcher inside the mobile menu */
.cem-mobile-language-switcher{display:none;}
@media (max-width:1100px){
    .cem-mobile-language-switcher{
        width:100%;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:12px 4px 4px;
        color:var(--cem-navy,#07183f);
        font-weight:900;
    }
    .cem-mobile-language-options{
        display:flex;
        align-items:center;
        gap:8px;
        flex-wrap:wrap;
        justify-content:flex-end;
    }
    .cem-site-nav .cem-mobile-language-options a{
        width:auto!important;
        min-width:42px;
        padding:9px 10px!important;
        border:1px solid var(--cem-border,#e6edf8)!important;
        border-radius:999px!important;
        text-align:center;
        line-height:1;
        background:#fff;
        color:var(--cem-navy,#07183f);
        font-size:12px;
        font-weight:900;
        text-decoration:none;
    }
    .cem-site-nav .cem-mobile-language-options a.active{
        background:var(--cem-yellow,#ffc400);
        border-color:var(--cem-yellow,#ffc400)!important;
    }
}


/* v0.046: sticky header and tighter mobile menu spacing */
.cem-site-header{
    position:sticky!important;
    top:0!important;
    z-index:10000!important;
}
body.admin-bar .cem-site-header{top:32px!important;}
@media (max-width:782px){body.admin-bar .cem-site-header{top:46px!important;}}
@media (max-width:1100px){
    .cem-site-header{
        position:sticky!important;
        top:0!important;
        overflow:visible!important;
    }
    body.admin-bar .cem-site-header{top:32px!important;}
    .cem-site-nav{
        top:100%!important;
        padding:6px 14px 10px!important;
        gap:0!important;
        max-height:calc(100dvh - 68px)!important;
        overflow-y:auto!important;
        border-radius:0 0 14px 14px!important;
    }
    .cem-site-nav a{
        padding:8px 4px!important;
        min-height:36px!important;
        display:flex!important;
        align-items:center!important;
        line-height:1.15!important;
    }
    .cem-site-nav .cem-nav-submit{
        padding:9px 14px!important;
        margin-top:6px!important;
        min-height:38px!important;
    }
    .cem-mobile-language-switcher{
        padding:8px 4px 4px!important;
        gap:8px!important;
    }
    .cem-mobile-language-options{gap:5px!important;}
    .cem-site-nav .cem-mobile-language-options a{
        padding:7px 8px!important;
        min-width:36px!important;
        min-height:32px!important;
        justify-content:center!important;
    }
}
@media (max-width:782px){
    body.admin-bar .cem-site-header{top:46px!important;}
}
@media (max-width:700px){
    .cem-site-nav{
        max-height:calc(100dvh - 64px)!important;
        padding:5px 12px 10px!important;
    }
    .cem-site-nav a{
        padding:7px 4px!important;
        min-height:34px!important;
        font-size:14px!important;
    }
}

/* v0.047: active menu state + clearer current page indication */
.cem-site-nav a:first-child:not(.is-active){color:var(--cem-navy,#07183f)!important;}
.cem-site-nav a.is-active,
.cem-site-nav a[aria-current="page"]{
    color:var(--cem-blue,#1267e5)!important;
    font-weight:900!important;
    position:relative;
}
.cem-site-nav a.is-active:not(.cem-nav-submit)::after,
.cem-site-nav a[aria-current="page"]:not(.cem-nav-submit)::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-10px;
    height:3px;
    border-radius:999px;
    background:var(--cem-yellow,#ffc400);
}
.cem-site-nav .cem-nav-submit.is-active{
    box-shadow:0 0 0 3px rgba(255,196,0,.28);
}
@media (max-width:1100px){
    .cem-site-nav a.is-active,
    .cem-site-nav a[aria-current="page"]{
        background:#fff8dc!important;
        border-radius:12px!important;
        padding-left:12px!important;
        padding-right:12px!important;
    }
    .cem-site-nav a.is-active:not(.cem-nav-submit)::after,
    .cem-site-nav a[aria-current="page"]:not(.cem-nav-submit)::after{display:none!important;}
}


/* v0.048: sticky-header safe anchors and active Island/Category menu polish */
#islands,
#categories,
#search,
.cem-archive-heading,
.cem-home-section,
.cem-category-rail{
    scroll-margin-top:110px!important;
}
.cem-site-nav a.is-active[data-cem-mobile-panel="islands"],
.cem-site-nav a.is-active[data-cem-mobile-panel="categories"]{
    color:var(--cem-blue,#1267e5)!important;
    font-weight:900!important;
}
@media(max-width:1100px){
    #islands,
    #categories,
    #search,
    .cem-archive-heading,
    .cem-home-section,
    .cem-category-rail{
        scroll-margin-top:82px!important;
    }
}

/* v0.049 saved events hearts */
.cem-card-img-wrap{position:relative;display:block;overflow:hidden;border-radius:inherit}.cem-card-img-wrap .cem-card-img{display:block}.cem-heart-btn{position:absolute;right:12px;bottom:12px;z-index:5;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:42px;height:38px;padding:0 10px;border:0;border-radius:999px;background:rgba(255,255,255,.94);color:#12213a;box-shadow:0 8px 22px rgba(15,23,42,.18);cursor:pointer;font-weight:900;line-height:1}.cem-heart-btn span{font-size:20px;line-height:1}.cem-heart-btn small{font-size:11px;font-weight:800}.cem-heart-btn:hover,.cem-heart-btn.is-saved{background:#ffdf55;color:#12213a}.cem-heart-btn-single{position:static;min-width:44px}.cem-float-actions .cem-heart-btn{box-shadow:none}.cem-saved-events-menu-link.is-active{background:#ffdf55;color:#12213a}.cem-saved-page .cem-section-head h1{margin-top:4px}.cem-saved-empty{padding:36px;border-radius:24px;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.08)}
@media(max-width:700px){.cem-heart-btn{right:8px;bottom:8px;height:34px;min-width:36px;padding:0 8px}.cem-heart-btn span{font-size:18px}.cem-heart-btn small{font-size:10px}}
.cem-nav-saved .cem-saved-events-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;border-radius:999px;background:#ff2038;color:#fff;font-size:11px;line-height:1}


/* v0.050: saved-events menu is heart-only, while saved items are tied to the selected date/occurrence. */
.cem-nav-heart-only{display:inline-flex!important;align-items:center;gap:4px;position:relative;line-height:1;}
.cem-nav-heart-only .cem-nav-heart-symbol{font-size:22px;line-height:1;}
.cem-nav-heart-only .cem-saved-events-count{margin-left:0!important;}
@media(max-width:1100px){
    .cem-site-nav .cem-nav-heart-only{justify-content:flex-start!important;gap:8px!important;}
    .cem-site-nav .cem-nav-heart-only .cem-nav-heart-symbol{font-size:24px;}
}

/* v0.051: one heart in desktop actions; mobile menu gets a single heart-only saved-events link near the bottom. */
.cem-mobile-only-saved{display:none!important;}
@media(max-width:700px){
  .cem-site-nav .cem-mobile-only-saved{display:inline-flex!important;}
}
.cem-heart-btn .cem-heart-count:empty{display:none!important;}

/* v0.052 submit progress modal + list thumbnail optimization */
.cem-card-img img.cem-card-thumb{width:100%;height:100%;object-fit:cover;display:block}
.cem-form.is-submitting{opacity:.78;pointer-events:none}
.cem-form button.is-submitting,.cem-form button[disabled]{cursor:wait!important;opacity:.72!important}
.cem-submit-modal-overlay{position:fixed;inset:0;z-index:1000001;background:rgba(7,24,63,.58);display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(5px)}
.cem-submit-modal-overlay.is-visible{display:flex}
.cem-submit-modal{width:min(480px,100%);background:#fff;border-radius:24px;box-shadow:0 28px 80px rgba(7,24,63,.28);padding:30px;position:relative;text-align:center;color:#07183f}
.cem-submit-modal h3{margin:10px 0 10px;font-size:27px;line-height:1.15;color:#07183f}
.cem-submit-modal p{margin:0 0 20px;color:#4b587c;line-height:1.55;font-weight:600}
.cem-submit-spinner{width:44px;height:44px;border-radius:50%;border:4px solid #edf2f7;border-top-color:#ffc400;margin:0 auto 12px;animation:cemSpin .9s linear infinite}
@keyframes cemSpin{to{transform:rotate(360deg)}}
.cem-submit-modal-close{display:none;position:absolute;top:12px;right:14px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#07183f}
.cem-submit-modal-ok{display:none;border:0;border-radius:14px;background:#ffc400;color:#07183f;font-weight:900;padding:12px 24px;cursor:pointer}
.cem-submit-modal-overlay.is-closable .cem-submit-spinner{display:none}
.cem-submit-modal-overlay.is-closable .cem-submit-modal-close{display:block}
.cem-submit-modal-overlay.is-closable .cem-submit-modal-ok{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:640px){.cem-submit-modal{padding:24px 20px;border-radius:20px}.cem-submit-modal h3{font-size:24px}}

/* v0.053: event occurrence counts and admin approval UI handled in PHP. */

.cem-date-row input.cem-time-select,.cem-date-row select.cem-time-select{box-sizing:border-box;background:#fff;}


/* v0.057 event card alignment fixes */
.cem-events-grid{align-items:stretch!important;}
.cem-card{display:flex!important;flex-direction:column!important;height:100%!important;}
.cem-card-img-wrap{flex:0 0 auto!important;}
.cem-card-body{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;min-width:0!important;}
.cem-card h3{min-height:2.4em;}
.cem-card-footer{margin-top:auto!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:12px!important;}
.cem-card-footer span{flex:1 1 auto!important;min-width:0!important;}
.cem-card-footer .cem-btn-small{flex:0 0 auto!important;min-width:106px!important;white-space:nowrap!important;}
@media (max-width:640px){
  .cem-card h3{min-height:0!important;}
  .cem-card-footer{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;}
  .cem-card-footer .cem-btn-small{min-width:0!important;width:100%!important;}
}


/* v0.059: professional mobile order for event detail page */
@media (max-width: 760px){
    .cem-event-page-pro .cem-single-grid{
        display:flex!important;
        flex-direction:column!important;
        gap:16px!important;
        margin-top:14px!important;
    }
    .cem-event-page-pro .cem-single-main,
    .cem-event-page-pro .cem-sidebar{
        display:contents!important;
    }
    .cem-event-page-pro .cem-hero-card{
        order:1!important;
        margin:0!important;
    }
    .cem-event-page-pro .cem-mobile-media-block{
        order:2!important;
    }
    .cem-event-page-pro .cem-mobile-gallery-block{
        order:3!important;
        margin-top:-4px!important;
    }
    .cem-event-page-pro .cem-mobile-features-block{
        order:4!important;
    }
    .cem-event-page-pro .cem-mobile-about-title{
        order:5!important;
        margin-top:8px!important;
    }
    .cem-event-page-pro .cem-mobile-about-content{
        order:6!important;
        margin-top:0!important;
    }
    .cem-event-page-pro .cem-mobile-details-title{
        order:7!important;
        margin-top:8px!important;
    }
    .cem-event-page-pro .cem-mobile-details-block{
        order:8!important;
    }
    .cem-event-page-pro .cem-mobile-location-title{
        order:9!important;
        margin-top:8px!important;
    }
    .cem-event-page-pro .cem-mobile-location-block{
        order:10!important;
    }
    .cem-event-page-pro .cem-organizer-card{
        order:11!important;
    }
    .cem-event-page-pro .cem-event-info-card{
        order:12!important;
    }
    .cem-event-page-pro .cem-mobile-video-title{
        order:13!important;
        margin-top:8px!important;
    }
    .cem-event-page-pro .cem-mobile-video-block{
        order:14!important;
    }
    .cem-event-page-pro .cem-share-card{
        order:15!important;
    }
    .cem-event-page-pro .cem-mobile-related-title{
        order:16!important;
        margin-top:8px!important;
    }
    .cem-event-page-pro .cem-mobile-related-block{
        order:17!important;
    }

    .cem-event-page-pro .cem-side-card,
    .cem-event-page-pro .cem-map-box{
        border-radius:18px!important;
        padding:18px!important;
    }
    .cem-event-page-pro .cem-hero-card h1{
        font-size:26px!important;
        line-height:1.12!important;
        margin:14px 0!important;
    }
    .cem-event-page-pro .cem-hero-card .cem-btn,
    .cem-event-page-pro .cem-hero-card .cem-btn-outline{
        width:100%!important;
        margin-top:8px!important;
    }
    .cem-event-page-pro .cem-media-shell{
        border-radius:18px!important;
    }
    .cem-event-page-pro .cem-floating-cat{
        top:12px!important;
        left:12px!important;
    }
    .cem-event-page-pro .cem-float-actions{
        right:12px!important;
        top:12px!important;
    }
    .cem-event-page-pro .cem-gallery-strip{
        overflow-x:auto!important;
        display:flex!important;
        gap:8px!important;
        padding-bottom:4px!important;
        -webkit-overflow-scrolling:touch;
    }
    .cem-event-page-pro .cem-gallery-thumb{
        flex:0 0 auto!important;
    }
    .cem-event-page-pro .cem-feature-row{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }
    .cem-event-page-pro .cem-content{
        font-size:16px!important;
        line-height:1.65!important;
    }
    .cem-event-page-pro .cem-detail-pro,
    .cem-event-page-pro .cem-detail-grid{
        grid-template-columns:1fr!important;
        padding:14px!important;
    }
}

@media (max-width: 420px){
    .cem-event-page-pro .cem-feature-row{
        grid-template-columns:1fr!important;
    }
    .cem-event-page-pro .cem-hero-card h1{
        font-size:24px!important;
    }
}


/* v0.060: mobile event detail widths + related events always last */
@media (max-width: 760px){
    .cem-event-page-pro .cem-single-grid{
        display:flex!important;
        flex-direction:column!important;
        align-items:stretch!important;
        width:100%!important;
    }

    .cem-event-page-pro .cem-single-main,
    .cem-event-page-pro .cem-sidebar{
        display:contents!important;
    }

    .cem-event-page-pro .cem-side-card,
    .cem-event-page-pro .cem-hero-card,
    .cem-event-page-pro .cem-organizer-card,
    .cem-event-page-pro .cem-event-info-card,
    .cem-event-page-pro .cem-share-card,
    .cem-event-page-pro .cem-map-box,
    .cem-event-page-pro .cem-media-shell,
    .cem-event-page-pro .cem-gallery-strip,
    .cem-event-page-pro .cem-feature-row,
    .cem-event-page-pro .cem-content,
    .cem-event-page-pro .cem-detail-grid,
    .cem-event-page-pro .cem-related-grid,
    .cem-event-page-pro .cem-mobile-about-title,
    .cem-event-page-pro .cem-mobile-details-title,
    .cem-event-page-pro .cem-mobile-location-title,
    .cem-event-page-pro .cem-mobile-video-title,
    .cem-event-page-pro .cem-mobile-related-title{
        width:100%!important;
        max-width:100%!important;
        min-width:0!important;
        box-sizing:border-box!important;
        align-self:stretch!important;
        flex:0 0 auto!important;
    }

    .cem-event-page-pro .cem-hero-card{order:1!important;}
    .cem-event-page-pro .cem-mobile-media-block{order:2!important;}
    .cem-event-page-pro .cem-mobile-gallery-block{order:3!important;}
    .cem-event-page-pro .cem-mobile-features-block{order:4!important;}
    .cem-event-page-pro .cem-mobile-about-title{order:5!important;}
    .cem-event-page-pro .cem-mobile-about-content{order:6!important;}
    .cem-event-page-pro .cem-mobile-details-title{order:7!important;}
    .cem-event-page-pro .cem-mobile-details-block{order:8!important;}
    .cem-event-page-pro .cem-mobile-location-title{order:9!important;}
    .cem-event-page-pro .cem-mobile-location-block{order:10!important;}
    .cem-event-page-pro .cem-organizer-card{order:11!important;}
    .cem-event-page-pro .cem-event-info-card{order:12!important;}
    .cem-event-page-pro .cem-mobile-video-title{order:13!important;}
    .cem-event-page-pro .cem-mobile-video-block{order:14!important;}
    .cem-event-page-pro .cem-share-card{order:15!important;}

    .cem-event-page-pro .cem-mobile-related-title,
    .cem-event-page-pro h2.cem-mobile-related-title{
        order:98!important;
        margin-top:18px!important;
    }
    .cem-event-page-pro .cem-mobile-related-block,
    .cem-event-page-pro .cem-related-grid.cem-mobile-related-block{
        order:99!important;
    }

    .cem-event-page-pro .cem-share-row{
        display:flex!important;
        flex-wrap:wrap!important;
        justify-content:flex-start!important;
    }
}


/* v0.061: force related events to be last on mobile event details */
@media (max-width: 760px){
    .cem-event-page-pro .cem-mobile-related-title,
    .cem-event-page-pro h2.cem-mobile-related-title{
        order:98!important;
        width:100%!important;
        max-width:100%!important;
        flex:0 0 auto!important;
        align-self:stretch!important;
        margin-top:18px!important;
    }
    .cem-event-page-pro .cem-related-grid,
    .cem-event-page-pro .cem-mobile-related-block,
    .cem-event-page-pro .cem-events-grid.cem-related-grid{
        order:99!important;
        width:100%!important;
        max-width:100%!important;
        flex:0 0 auto!important;
        align-self:stretch!important;
    }
}


/* v0.062: The Canary Events branding, logo sizing and SEO landing page */
.cem-brand-logo-link{
    gap:14px!important;
    min-width:0!important;
}
.cem-brand-logo-img{
    display:block!important;
    width:auto!important;
    object-fit:contain!important;
}
.cem-brand-logo-img-horizontal{
    height:72px!important;
    max-width:360px!important;
}
.cem-brand-logo-fallback{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    white-space:nowrap!important;
}
.cem-site-logo-footer.cem-brand-logo-link{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:8px!important;
}
.cem-brand-logo-img-footer{
    height:58px!important;
    max-width:270px!important;
    filter:drop-shadow(0 8px 16px rgba(0,0,0,.18));
}
.cem-brand-logo-footer-copy strong{
    color:#fff!important;
    font-size:18px!important;
}
.cem-brand-logo-footer-copy small{
    color:#b7c4dc!important;
    font-size:13px!important;
}
.cem-seo-landing-intro{
    background:#fff;
    border:1px solid var(--cem-border,#e7edf6);
    border-radius:26px;
    box-shadow:0 18px 44px rgba(8,26,61,.06);
    padding:34px;
}
.cem-seo-landing-intro h2{
    margin:0 0 12px;
    color:var(--cem-navy,#081a3d);
    font-size:clamp(28px,3.4vw,44px);
    line-height:1.05;
    letter-spacing:-.8px;
}
.cem-seo-landing-intro p{
    margin:0;
    color:var(--cem-muted,#667085);
    font-size:17px;
    line-height:1.7;
    max-width:980px;
}
.cem-seo-landing-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:22px;
}
@media(max-width:1100px){
    .cem-brand-logo-img-horizontal{height:64px!important;max-width:300px!important;}
}
@media(max-width:700px){
    .cem-brand-logo-img-horizontal{height:52px!important;max-width:calc(100vw - 118px)!important;}
    .cem-site-header-inner{gap:10px!important;}
    .cem-seo-landing-intro{padding:22px;border-radius:20px;}
    .cem-seo-landing-actions{flex-direction:column;}
    .cem-seo-landing-actions .cem-btn{width:100%;}
}


/* v0.063: cleaner footer brand and global 404/login blocking styling */
.cem-site-footer .cem-footer-brand{
    max-width:360px;
}
.cem-footer-brand-card{
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
    width:100%!important;
    max-width:360px!important;
    box-sizing:border-box!important;
    padding:14px!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.08)!important;
    border:1px solid rgba(255,255,255,.14)!important;
    text-decoration:none!important;
    color:#fff!important;
    box-shadow:0 18px 42px rgba(0,0,0,.16)!important;
}
.cem-footer-brand-card:hover{
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
}
.cem-footer-brand-icon{
    width:68px!important;
    height:68px!important;
    flex:0 0 68px!important;
    object-fit:contain!important;
    border-radius:18px!important;
    display:block!important;
    background:#fff!important;
}
.cem-footer-brand-copy{
    display:block!important;
    min-width:0!important;
}
.cem-footer-brand-copy strong{
    display:block!important;
    margin:0 0 4px!important;
    color:#fff!important;
    font-size:23px!important;
    line-height:1.05!important;
    font-weight:900!important;
    letter-spacing:-.4px!important;
}
.cem-footer-brand-copy small{
    display:block!important;
    color:#c9d6ee!important;
    font-size:15px!important;
    line-height:1.25!important;
    overflow-wrap:anywhere!important;
}
.cem-footer-brand-text{
    max-width:340px!important;
    margin:14px 0 0!important;
    color:#c9d6ee!important;
    line-height:1.55!important;
    font-size:14px!important;
}
@media(max-width:700px){
    .cem-site-footer .cem-footer-brand,
    .cem-footer-brand-card{
        max-width:100%!important;
    }
    .cem-footer-brand-card{
        padding:12px!important;
    }
    .cem-footer-brand-icon{
        width:58px!important;
        height:58px!important;
        flex-basis:58px!important;
    }
    .cem-footer-brand-copy strong{
        font-size:20px!important;
    }
    .cem-footer-brand-copy small{
        font-size:14px!important;
    }
}


/* v0.064 The Canary Events footer/social/static pages */
.cem-socials-official{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.cem-socials-official a{width:auto!important;height:auto!important;border-radius:999px!important;padding:8px 12px!important;font-size:13px!important;line-height:1!important;text-decoration:none!important}
.cem-footer-bottom a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.cem-static-main{max-width:1120px;margin:0 auto;padding:34px 20px 56px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--cem-navy,#081a3d)}
.cem-static-hero{background:linear-gradient(135deg,#fff8d8,#eef8ff);border:1px solid var(--cem-border,#e7edf6);border-radius:28px;padding:44px;box-shadow:0 18px 45px rgba(8,26,61,.07);margin-bottom:24px}
.cem-static-kicker{text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--cem-blue,#1267e5);font-size:13px;margin:0 0 10px!important}
.cem-static-hero h1{font-size:46px;line-height:1.05;margin:0 0 14px;color:var(--cem-navy,#081a3d)}
.cem-static-hero p{font-size:19px;line-height:1.6;max-width:760px;margin:0;color:var(--cem-muted,#667085)}
.cem-static-card{background:#fff;border:1px solid var(--cem-border,#e7edf6);border-radius:24px;padding:32px;box-shadow:0 14px 38px rgba(8,26,61,.06)}
.cem-static-section{border-bottom:1px solid var(--cem-border,#e7edf6);padding:0 0 22px;margin:0 0 22px}
.cem-static-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.cem-static-section h2{font-size:28px;line-height:1.15;margin:0 0 12px;color:var(--cem-navy,#081a3d)}
.cem-static-section p{font-size:17px;line-height:1.7;color:var(--cem-muted,#667085);margin:0 0 12px}
.cem-static-section a,.cem-static-contact-box a{color:var(--cem-blue,#1267e5);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.cem-static-contact-box{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:12px 18px;background:#f8fafc;border:1px solid var(--cem-border,#e7edf6);border-radius:18px;padding:18px;margin-top:20px}
.cem-static-cta{margin-top:20px!important}
@media(max-width:760px){.cem-static-main{padding:22px 14px 42px}.cem-static-hero{padding:28px 20px;border-radius:22px}.cem-static-hero h1{font-size:34px}.cem-static-hero p{font-size:16px}.cem-static-card{padding:22px;border-radius:20px}.cem-static-section h2{font-size:24px}.cem-static-contact-box{grid-template-columns:1fr}.cem-socials-official a{font-size:12px!important}}


/* v0.065: restore footer social pictograms instead of text buttons */
.cem-screen-reader-text{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}
.cem-socials-official{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:12px!important;
    margin-top:16px!important;
    align-items:center!important;
}
.cem-socials-official a.cem-social-icon{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    border-radius:50%!important;
    padding:0!important;
    margin:0!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:rgba(255,255,255,.10)!important;
    border:1px solid rgba(255,255,255,.14)!important;
    color:#fff!important;
    text-decoration:none!important;
    line-height:1!important;
}
.cem-socials-official a.cem-social-icon:hover{
    background:rgba(255,255,255,.18)!important;
    color:#fff!important;
    transform:translateY(-1px);
}
.cem-socials-official a.cem-social-icon svg{
    width:22px!important;
    height:22px!important;
    display:block!important;
}
.cem-socials-official a.cem-social-email svg{
    width:23px!important;
    height:23px!important;
}


/* v0.068 island image icons */
.cem-island-art img.cem-island-image{display:block;width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(8,26,61,.12))}
.cem-island-fallback-dot{display:block;width:18px;height:18px;border-radius:999px;background:#1267e5}
@media(max-width:560px){.cem-island-art img.cem-island-image{width:84px;height:84px}}
@media(max-width:700px){.cem-island-art img.cem-island-image{width:70px;height:70px}}
@media(max-width:420px){.cem-island-art img.cem-island-image{width:54px;height:54px}}
@media(max-width:360px){.cem-island-art img.cem-island-image{width:48px;height:48px}}
