/* Castlance Quality v14 — responsive consistency + experience modules */
:root{--c14-radius:22px;--c14-line:color-mix(in srgb,currentColor 14%,transparent);--c14-blue:#356dff;--c14-purple:#6d45e8}
html{scroll-behavior:smooth}body{overflow-x:hidden}img,video,iframe{max-width:100%}
.cast-section-heading{max-width:760px;margin:0 auto 32px;text-align:center}.cast-section-heading h2{margin:.35rem 0 .7rem}.cast-section-heading p{margin:0;color:var(--muted,#6d7f94)}
.cast-carousel{position:relative;margin-top:28px}.cast-carousel-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:22px max(12px,calc((100vw - min(1180px,92vw))/2));overscroll-behavior-inline:contain}.cast-carousel-track::-webkit-scrollbar{display:none}.cast-carousel-item{scroll-snap-align:center;scroll-snap-stop:always;flex:0 0 min(310px,76vw);opacity:.68;transform:scale(.94);transition:transform .28s ease,opacity .28s ease}.cast-carousel-item.is-active{opacity:1;transform:scale(1)}
.cast-carousel-controls{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:14px}.cast-carousel-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line,#d8e1ec);background:var(--surface,#fff);color:var(--text,#102138);font-size:20px;cursor:pointer;display:grid;place-items:center}.cast-carousel-dots{display:flex;gap:6px}.cast-carousel-dot{width:7px;height:7px;border:0;border-radius:50%;background:#9aa9bc;opacity:.45;padding:0}.cast-carousel-dot.is-active{width:22px;border-radius:99px;opacity:1;background:linear-gradient(90deg,var(--c14-blue),var(--c14-purple))}
.cast-reference-section{overflow:hidden}.cast-reference-card{background:var(--surface,#fff);border:1px solid var(--line,#dce5ef);border-radius:26px;box-shadow:0 20px 55px rgba(16,33,56,.12);padding:9px;aspect-ratio:9/16}.cast-reference-card img{width:100%;height:100%;object-fit:cover;border-radius:19px;display:block}.cast-reference-title{padding:10px 6px 2px;font-size:13px;font-weight:800;text-align:center}.cast-reference-card:has(.cast-reference-title){aspect-ratio:auto}.cast-reference-card:has(.cast-reference-title) img{aspect-ratio:9/16}
.cast-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.cast-video-card{border:1px solid var(--line,#dce5ef);border-radius:var(--c14-radius);background:var(--surface,#fff);overflow:hidden;box-shadow:0 14px 38px rgba(16,33,56,.09)}.cast-video-frame{aspect-ratio:16/9;background:#06111f}.cast-video-frame iframe{width:100%;height:100%;border:0;display:block}.cast-video-copy{padding:20px}.cast-video-copy h3{margin:0 0 8px}.cast-video-copy p{margin:0;color:var(--muted,#6d7f94);line-height:1.65}
.cast-review-section{overflow:hidden}.cast-review-card{height:100%;padding:26px;border-radius:var(--c14-radius);border:1px solid var(--line,#dce5ef);background:var(--surface,#fff);box-shadow:0 14px 38px rgba(16,33,56,.08);display:flex;flex-direction:column;gap:18px}.cast-review-stars{letter-spacing:3px;color:#f5a623;font-size:16px}.cast-review-text{font-size:16px;line-height:1.72;margin:0;flex:1}.cast-review-person{display:flex;align-items:center;gap:12px}.cast-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;display:grid;place-items:center;font-weight:900;background:linear-gradient(135deg,#dbe7ff,#ece5ff);color:#315ed8;flex:0 0 46px}.cast-review-person strong,.cast-author strong{display:block}.cast-review-person small,.cast-author small{display:block;color:var(--muted,#6d7f94);margin-top:2px}
.cast-author{display:flex;align-items:center;gap:11px}.cast-author .cast-avatar{width:40px;height:40px;flex-basis:40px}.blog-author-line{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 0}.blog-thumb-v5{position:relative;overflow:hidden}.blog-thumb-v5:after{content:"";position:absolute;inset:auto -8% -42% 30%;height:80%;background:radial-gradient(circle,#6d45e8 0,rgba(109,69,232,0) 70%);opacity:.55}.blog-thumb-v5 .blog-insight-mark{font-size:12px;letter-spacing:.16em;font-weight:900;position:relative;z-index:1}.article-author-card{display:flex;align-items:center;gap:12px;margin-top:20px}.article-author-card .cast-avatar{width:52px;height:52px;flex-basis:52px}.article-video{margin:0 0 28px;border-radius:20px;overflow:hidden;border:1px solid var(--line,#dce5ef);background:#06111f;aspect-ratio:16/9}.article-video iframe{width:100%;height:100%;border:0}
/* Admin/portal consistency */
body.castlance-admin-v8.cast-ui-v2 .saas-action-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;gap:12px!important}body.castlance-admin-v8.cast-ui-v2 .saas-action{min-width:0!important;height:100%!important}body.castlance-admin-v8.cast-ui-v2 .top{gap:18px!important}body.castlance-admin-v8.cast-ui-v2 .top-actions{flex-wrap:wrap!important;justify-content:flex-end!important}body.castlance-admin-v8.cast-ui-v2 .grid2>*{min-width:0!important}body.castlance-admin-v8.cast-ui-v2 .mini{gap:14px!important}body.castlance-admin-v8.cast-ui-v2 .mini>div:first-child{min-width:0!important}body.castlance-admin-v8.cast-ui-v2 .mini b,body.castlance-admin-v8.cast-ui-v2 .mini span{overflow-wrap:anywhere}body.castlance-admin-v8.cast-ui-v2 .experience-preview{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center}.experience-preview img{width:72px;height:96px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}body.castlance-admin-v8.cast-ui-v2 .review-admin-card{display:grid;gap:10px}.review-admin-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.review-admin-meta{display:flex;flex-wrap:wrap;gap:6px}.review-admin-card blockquote{margin:0;padding:12px 14px;border-radius:12px;background:var(--surface2);line-height:1.6}.admin-media-thumb{width:56px;height:56px;border-radius:50%;object-fit:cover}
body.castlance-portal-v8 .portal-review-card{display:grid;gap:14px}body.castlance-portal-v8 .portal-review-stars{display:flex;gap:8px;flex-wrap:wrap}body.castlance-portal-v8 .portal-review-stars label{display:inline-flex;align-items:center;gap:5px;padding:8px 10px;border:1px solid var(--line);border-radius:999px;cursor:pointer}body.castlance-portal-v8 .portal-review-stars input{width:auto!important;margin:0!important}body.castlance-portal-v8 textarea{max-width:100%;box-sizing:border-box}
/* Tables: readable in both themes; mobile turns to horizontal workspace instead of crushing columns. */
body.castlance-admin-v8 .table,body.castlance-admin-v8 .table-wrap,body.castlance-portal-v8 .table,body.castlance-portal-v8 .table-wrap{border-radius:16px;scrollbar-gutter:stable both-edges}body.castlance-admin-v8 table,body.castlance-portal-v8 table{border-collapse:separate;border-spacing:0}body.castlance-admin-v8 th,body.castlance-portal-v8 th{white-space:nowrap}
@media(max-width:980px){.cast-video-grid{grid-template-columns:1fr}body.castlance-admin-v8.cast-ui-v2 .top{align-items:flex-start!important}body.castlance-admin-v8.cast-ui-v2 .top-actions{width:auto!important}.cast-carousel-track{padding-inline:12vw}.cast-carousel-item{flex-basis:min(300px,72vw)}}
@media(max-width:640px){.cast-section-heading{margin-bottom:20px;text-align:left}.cast-carousel-track{gap:14px;padding:14px 10vw}.cast-carousel-item{flex-basis:80vw}.cast-reference-card{border-radius:22px}.cast-review-card{padding:20px}.cast-carousel-btn{width:40px;height:40px}.blog-author-line{align-items:flex-start;flex-direction:column}.article-author-card{align-items:flex-start}body.castlance-admin-v8.cast-ui-v2 .top-actions .safe,body.castlance-admin-v8.cast-ui-v2 .top-actions .ui-density-toggle span,body.castlance-admin-v8.cast-ui-v2 .top-actions .ui-theme-toggle span{display:none!important}body.castlance-admin-v8.cast-ui-v2 .top-actions{gap:6px!important}body.castlance-admin-v8.cast-ui-v2 .card,body.castlance-admin-v8.cast-ui-v2 .section{border-radius:16px!important}body.castlance-admin-v8.cast-ui-v2 .form-row.two,body.castlance-admin-v8.cast-ui-v2 .grid2{grid-template-columns:1fr!important}body.castlance-portal-v8 .grid2,body.castlance-portal-v8 .profile-grid{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cast-carousel-item{transition:none!important}}
/* Public light/dark support for new modules */
html[data-theme="dark"] .cast-reference-card,html[data-theme="dark"] .cast-video-card,html[data-theme="dark"] .cast-review-card{background:#0d1928;border-color:#223750;color:#edf4fc;box-shadow:0 18px 44px rgba(0,0,0,.2)}html[data-theme="dark"] .cast-carousel-btn{background:#101f31;border-color:#2a405a;color:#edf4fc}html[data-theme="dark"] .cast-avatar{background:linear-gradient(135deg,#17345f,#2c275e);color:#b9cbff}
