/*
 * DrCG Design Foundation v2 — Phase 02B.
 * Direction: Architectural Editorial × Technical Utility.
 * Loaded after legacy responsive styles so the active Native shell has one
 * deterministic source of visual truth without adding another request.
 */

/* Base and accessibility */
.drcg-next{
  background:var(--drcg-canvas);
  color:var(--drcg-text);
  font-size:16px;
  line-height:1.85;
}
.drcg-next :focus-visible{
  outline:3px solid color-mix(in srgb,var(--drcg-focus) 38%,transparent);
  outline-offset:3px;
}
.drcg-next button,.drcg-next a{touch-action:manipulation}
.drcg-container{width:min(calc(100% - 40px),var(--drcg-container))}
.drcg-button{
  min-height:44px;
  border-radius:7px;
  transition:background-color var(--drcg-motion-fast) var(--drcg-ease), border-color var(--drcg-motion-fast) var(--drcg-ease), color var(--drcg-motion-fast) var(--drcg-ease), transform var(--drcg-motion-fast) var(--drcg-ease);
}
.drcg-button:hover{transform:translateY(-1px)}
.drcg-button--primary{background:var(--drcg-action);box-shadow:none;color:#fff}
.drcg-button--primary:hover{background:var(--drcg-action-hover)}
.drcg-button--secondary{background:transparent;border-color:color-mix(in srgb,var(--drcg-action) 32%,var(--drcg-border));color:var(--drcg-action)}
.drcg-kicker,.drcg-eyebrow{color:var(--drcg-action);letter-spacing:.015em}
.drcg-eyebrow a,.drcg-eyebrow span{background:var(--drcg-color-teal-100);border-radius:4px}
.drcg-lead{color:var(--drcg-text-subtle);font-size:1rem;line-height:2}
.drcg-empty-state{background:var(--drcg-surface-soft);border-color:var(--drcg-border);border-radius:8px}.drcg-icon-button{border-radius:7px;background:var(--drcg-surface);border-color:var(--drcg-border)}

/* Search overlay */
.drcg-search-dialog{z-index:var(--drcg-z-overlay)}
.drcg-search-dialog__backdrop{background:rgba(8,30,32,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.drcg-search-dialog__panel{
  width:min(820px,calc(100% - 32px));
  margin:max(18px, min(7vh, 72px)) auto;
  margin:clamp(18px,7vh,72px) auto;
  padding:max(26px, min(4vw, 44px));
  padding:clamp(26px,4vw,44px);
  background:var(--drcg-surface);
  border:1px solid var(--drcg-border);
  border-radius:12px;
}
.drcg-search-dialog__close{display:grid;align-items:center;justify-items:center;place-items:center;width:44px;height:44px;background:var(--drcg-surface-soft);border-radius:6px}
.drcg-search-dialog h2{max-width:650px;margin:6px 0 24px;font-family:var(--drcg-font-display);font-size:max(1.5rem, min(3vw, 2rem));font-size:clamp(1.5rem,3vw,2rem);line-height:1.55}
.drcg-search-dialog input{min-height:52px;background:#fff;border-color:var(--drcg-border);border-radius:7px}
.drcg-search-dialog form button{min-width:110px;background:var(--drcg-action);border-radius:7px}
.drcg-search-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:18px}
.drcg-search-shortcuts a{padding:14px;background:var(--drcg-surface-soft);border:1px solid var(--drcg-border);border-radius:7px}
.drcg-search-shortcuts small,.drcg-search-shortcuts strong{display:block}
.drcg-search-shortcuts small{color:var(--drcg-action);font-size:.65rem}
.drcg-search-shortcuts strong{margin-top:2px;font-size:.78rem}

/* Shared cards and editorial primitives */
.drcg-content-card,.drcg-editorial-card,.drcg-sidebar-card,.drcg-person-card,.drcg-comment-form,.drcg-comment-list .comment{
  background:var(--drcg-surface);
  border-color:var(--drcg-border);
  border-radius:var(--drcg-radius);
  box-shadow:var(--drcg-shadow-sm);
}
.drcg-content-card:hover,.drcg-editorial-card:hover{box-shadow:var(--drcg-shadow);transform:translateY(-2px)}
.drcg-content-card__media,.drcg-editorial-card__media{background:var(--drcg-surface-soft)}
.drcg-content-card__type,.drcg-editorial-card__type{background:rgba(16,39,42,.88);border-radius:4px;-webkit-backdrop-filter:none;backdrop-filter:none}
.drcg-section-heading{padding-bottom:12px;border-bottom:1px solid var(--drcg-border)}
.drcg-section-heading h2{color:var(--drcg-text)}

/* Article vertical slice */
.drcg-main--article{padding-top:2px}
.drcg-breadcrumb{margin:22px 0 14px;color:var(--drcg-text-subtle)}
.drcg-breadcrumb a:hover{color:var(--drcg-action)}
.drcg-square-media{border-radius:9px}
.drcg-meta-row{gap:14px 22px;color:var(--drcg-text-subtle)}
.drcg-meta-row small{color:var(--drcg-text-faint)}
.drcg-meta-row strong,.drcg-meta-row time{color:var(--drcg-color-ink-800)}
.drcg-meta-author img{border:1px solid var(--drcg-border)}
.drcg-action-button{
  min-height:44px;
  color:var(--drcg-color-ink-800);
  background:var(--drcg-surface);
  border-color:var(--drcg-border);
  border-radius:7px;
}
.drcg-action-button:hover,.drcg-action-button.is-active{color:var(--drcg-action);background:var(--drcg-color-teal-100);border-color:color-mix(in srgb,var(--drcg-action) 28%,var(--drcg-border))}
.drcg-reading-layout{grid-template-columns:minmax(0,var(--drcg-content)) var(--drcg-sidebar);gap:32px;margin-top:32px}
.drcg-main--article .drcg-content-column>.drcg-prose{
  padding:max(28px, min(4vw, 44px));
  padding:clamp(28px,4vw,44px);
  background:var(--drcg-surface);
  border:1px solid var(--drcg-border);
  border-radius:12px;
  box-shadow:var(--drcg-shadow-sm);
}
.drcg-prose{min-width:0;color:#263c3f;font-size:1rem;line-height:2.15;word-wrap:anywhere;overflow-wrap:anywhere}
.drcg-prose h2,.drcg-prose h3,.drcg-prose h4{color:var(--drcg-text);scroll-margin-top:calc(var(--drcg-header-height) + 24px)}
.drcg-prose h2{padding-right:16px;border-right:3px solid var(--drcg-action);font-size:1.55rem}
.drcg-prose h3{font-size:1.22rem}
.drcg-prose a{color:var(--drcg-action);text-decoration-thickness:1px;text-underline-offset:4px}
.drcg-prose blockquote{background:var(--drcg-color-teal-100);border-color:var(--drcg-action);border-radius:7px}
.drcg-prose pre{background:var(--drcg-dark-surface);border-radius:7px}
.drcg-prose th{background:var(--drcg-surface-soft)}
.drcg-prose table{max-width:100%;overscroll-behavior-inline:contain}
.drcg-prose img{border-radius:8px}
.drcg-inline-related{background:var(--drcg-color-teal-100);border-color:color-mix(in srgb,var(--drcg-action) 22%,var(--drcg-border));border-radius:8px}
.drcg-content-sidebar{gap:16px;top:calc(var(--drcg-header-height) + 20px)}
.drcg-sidebar-card{padding:20px}
.drcg-sidebar-card__heading span{color:var(--drcg-action)}
.drcg-sidebar-card__heading button{background:var(--drcg-color-teal-100);color:var(--drcg-action);border-radius:6px}
.drcg-toc-card li{border-color:var(--drcg-border)}
.drcg-toc-card a:hover{color:var(--drcg-action)}
.drcg-community-cta{color:#fff;background:var(--drcg-dark-surface)}
.drcg-community-cta span{color:#9ed0cb}
.drcg-community-cta p{color:#c7dad8}
.drcg-orbit-mini{display:none}
.drcg-course-bridge{
  display:grid;
  grid-template-columns:86px minmax(0,1fr) auto;
  align-items:center;
  grid-gap:22px;
  gap:22px;
  margin:38px 0 0;
  padding:22px;
  background:var(--drcg-dark-surface);
  border:1px solid #244b4e;
  border-radius:12px;
  color:#fff;
}
.drcg-course-bridge__index{
  display:grid;
  align-items:center;
  justify-items:center;
  place-items:center;
  align-content:center;
  width:86px;
  height:86px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:7px;
}
.drcg-course-bridge__index span{color:#a8d3ce;font-size:.62rem;letter-spacing:.08em}
.drcg-course-bridge__index strong{font-size:1.05rem;letter-spacing:.05em}
.drcg-course-bridge__copy>span{color:#a8d3ce;font-size:.68rem;font-weight:800}
.drcg-course-bridge h2{margin:3px 0 4px;color:#fff;font-size:1.1rem;line-height:1.65}
.drcg-course-bridge p{margin:0;color:#d1e0de;font-size:.8rem;line-height:1.8}
.drcg-course-bridge small{display:block;margin-top:6px;color:#9fb5b4;font-size:.64rem}
.drcg-course-bridge .drcg-button{white-space:nowrap;background:#fff;color:var(--drcg-dark-surface)}
.drcg-course-bridge .drcg-button:hover{background:#e9f2ef}
.drcg-author-review{gap:12px}
.drcg-related-section{margin-top:58px}

/* Archive/search inherit the same product language without changing data. */
.drcg-archive-hero,.drcg-search-hero{
  background:var(--drcg-surface);
  border-color:var(--drcg-border);
  border-radius:16px;
  box-shadow:var(--drcg-shadow-sm);
}
.drcg-archive-hero::after,.drcg-search-hero::after{display:none}
.drcg-search-filters[hidden]{display:none}
.drcg-search-filters button:disabled{opacity:.45;cursor:not-allowed}
.drcg-pagination .current{background:var(--drcg-action);border-color:var(--drcg-action)}

/* Forms, comments and footer */
.comment-form-cookies-consent{display:flex;align-items:flex-start;gap:8px}
.comment-form-cookies-consent input[type=checkbox]{flex:none;width:auto;margin-top:.45em}
.comment-form-cookies-consent label{min-width:0}
.drcg-comment-form input:not([type=submit]),.drcg-comment-form textarea{background:#fff;border-color:var(--drcg-border);border-radius:7px}
.drcg-comment-form .form-submit input{background:var(--drcg-action);border-radius:7px}
.drcg-footer{background:#0d292c;color:#d7e3e0}
.drcg-footer__cta{background:var(--drcg-color-teal-100);border-color:var(--drcg-border);border-radius:10px}
.drcg-footer__cta span{color:var(--drcg-action)}
.drcg-footer nav a,.drcg-footer__brand p{color:#aac0bd}

/* Responsive contract */
@media(max-width:1180px){
  .drcg-reading-layout{grid-template-columns:minmax(0,1fr) 280px}
}
@media(max-width:1040px){
  .drcg-reading-layout{grid-template-columns:1fr}
  .drcg-content-sidebar{position:static}
}

@media(max-width:768px){
  .drcg-container{width:min(calc(100% - 24px),var(--drcg-container))}
  .drcg-main--article .drcg-content-column>.drcg-prose{padding:26px}
  .drcg-course-bridge{grid-template-columns:72px minmax(0,1fr)}
  .drcg-course-bridge__index{width:72px;height:72px}
  .drcg-course-bridge .drcg-button{grid-column:1/-1;width:100%}
}
@media(max-width:600px){
  .drcg-search-dialog form{flex-direction:column}
  .drcg-search-dialog form button{min-height:48px}
  .drcg-search-shortcuts{grid-template-columns:1fr}
}
@media(max-width:520px){
  .drcg-container{width:min(calc(100% - 18px),var(--drcg-container))}.drcg-icon-button{min-width:44px;min-height:44px}
  .drcg-main--article .drcg-content-column>.drcg-prose{padding:20px}
  .drcg-prose{overflow-x:clip;font-size:.96rem;line-height:2.05}
  .drcg-prose h2{font-size:1.32rem}
  .drcg-course-bridge{grid-template-columns:1fr;padding:19px}
  .drcg-course-bridge__index{width:64px;height:64px}
}
@media(max-width:380px){
  .drcg-action-button span{display:none}
  .drcg-action-button{flex:0 0 44px}
}

/* Legacy theme demo/customizer panels never belong to Native routes. */
body.drcg-next #style-switcher,
body.drcg-next #theme-switcher,
body.drcg-next #iqonic-customizer,
body.drcg-next .iqonic-customizer,
body.drcg-next .iqonic-customizer-panel,
body.drcg-next .iqonic-layout-customizer,
body.drcg-next .theme-customizer,
body.drcg-next .style-customizer,
body.drcg-next .layout-switcher,
body.drcg-next .color-switcher,
body.drcg-next .socialv-customizer,
body.drcg-next .socialv-theme-switcher,
body.drcg-next .iqonic-theme-options,
.offcanvas.offcanvas-end.live-customizer,
body.drcg-next .offcanvas.offcanvas-end.live-customizer{display:none!important;visibility:hidden!important;pointer-events:none!important}

/* Phase 02B.1 — full-colour DrCG brand, compact information density and
 * lightweight Hub-inspired pointer/image reactions. No Hub runtime is loaded. */
.drcg-next{background:linear-gradient(180deg,#fbfaff 0,#f7f5fb 22rem,#f7f5fb 100%)}
.drcg-button--primary,.drcg-search-dialog form button,.drcg-comment-form .form-submit input{background:var(--drcg-gradient);border:0;box-shadow:0 9px 24px rgba(112,54,181,.22)}
.drcg-button--primary:hover,.drcg-search-dialog form button:hover{background:linear-gradient(125deg,#b408aa,#8039bd 50%,#54a6cf);box-shadow:0 13px 30px rgba(112,54,181,.3)}
.drcg-eyebrow a,.drcg-eyebrow span{background:linear-gradient(115deg,#f6e8f7,#eeeafa 55%,#e9f5fa);border:1px solid #e6d9ef}.drcg-community-cta,.drcg-course-bridge{background:linear-gradient(135deg,#211633 0%,#542577 55%,#405f96 100%)}.drcg-community-cta span,.drcg-course-bridge__copy>span,.drcg-course-bridge__index span{color:#9fdcf2}.drcg-community-cta p,.drcg-course-bridge p{color:#eee9f5}
.drcg-footer{background:linear-gradient(135deg,#171326,#29183b 60%,#233e60)}
.drcg-footer nav a,.drcg-footer__brand p{color:#c9bed6}

/* Compact page and article title bands: faster access to useful content. */
.drcg-main--article{padding-top:0}
.drcg-breadcrumb{margin:14px 0 10px;font-size:.72rem}
.drcg-reading-layout{margin-top:22px}
.drcg-archive-hero,.drcg-search-hero{background:linear-gradient(120deg,#fff 0%,#fcf9ff 62%,#eef7fb 100%);border-color:#e1d9e9;border-radius:14px}
.drcg-archive-hero{padding:17px 24px}
.drcg-archive-hero h1{margin:3px 0 4px;font-size:max(1.7rem, min(3vw, 2.35rem));font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.35}
.drcg-archive-intro{display:-webkit-box;max-width:900px;margin:0;overflow:hidden;font-size:.88rem;line-height:1.85;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.drcg-search-hero{grid-template-columns:86px minmax(0,1fr);gap:20px;margin-top:14px;padding:18px 22px}
.drcg-search-hero__art{height:76px}
.drcg-search-hero__art i:first-child{width:58px;height:58px;right:8px;top:2px;border-width:10px;border-color:var(--drcg-color-brand-violet);box-shadow:8px 9px 0 rgba(99,175,208,.32)}
.drcg-search-hero__art i:last-child{width:42px;height:10px;right:49px;top:55px;background:var(--drcg-color-brand-magenta)}
.drcg-search-hero h1{margin:2px 0 3px;font-size:max(1.55rem, min(2.6vw, 2.2rem));font-size:clamp(1.55rem,2.6vw,2.2rem);line-height:1.4}
.drcg-search-hero p{margin:0 0 8px;font-size:.78rem}

/* Hub-inspired depth and light sweep, rewritten in first-party vanilla CSS/JS. */
.drcg-visual-reactive{--drcg-tilt-x:0deg;--drcg-tilt-y:0deg;--drcg-image-x:0px;--drcg-image-y:0px;--drcg-spot-x:50%;--drcg-spot-y:50%;position:relative;isolation:isolate;overflow:hidden;transform:perspective(900px) rotateX(var(--drcg-tilt-x)) rotateY(var(--drcg-tilt-y)) translateZ(0);transform-style:preserve-3d;transition:transform .65s cubic-bezier(.19,1,.22,1), box-shadow .45s var(--drcg-ease)}
.drcg-visual-reactive>img{transform:translate3d(var(--drcg-image-x),var(--drcg-image-y),0) scale(1.025);transition:transform .65s cubic-bezier(.19,1,.22,1), filter .45s ease}
.drcg-visual-reactive::before{
  content:"";
  position:absolute;
  z-index:2;
  top:-25%;
  right:-25%;
  bottom:-25%;
  left:-25%;
  pointer-events:none;
  opacity:0;
  background:radial-gradient(circle at var(--drcg-spot-x) var(--drcg-spot-y),rgba(119,223,255,.48) 0,rgba(163,70,196,.2) 18%,transparent 44%);
  mix-blend-mode:screen;
  transition:opacity .35s ease;
}
.drcg-visual-reactive::after{
  content:"";
  position:absolute;
  z-index:3;
  top:-70%;
  bottom:-70%;
  left:-55%;
  width:30%;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);
  transform:rotate(18deg) translateX(-180%);
}
.drcg-visual-reactive.is-pointer-in{box-shadow:0 22px 54px rgba(71,38,104,.2)}
.drcg-visual-reactive.is-pointer-in::before{opacity:1}
.drcg-visual-reactive.is-pointer-in::after{opacity:.72;animation:drcg-light-sweep .9s cubic-bezier(.19,1,.22,1) both}
.drcg-visual-reactive.is-pointer-in>img{filter:saturate(1.08) contrast(1.025)}
@keyframes drcg-light-sweep{to{transform:rotate(18deg) translateX(620%)}}
.drcg-content-card:hover,.drcg-editorial-card:hover{border-color:color-mix(in srgb,var(--drcg-color-brand-violet) 28%,var(--drcg-border));box-shadow:0 18px 48px rgba(78,41,112,.15)}
.drcg-content-card__type,.drcg-editorial-card__badge{background:linear-gradient(120deg,rgba(139,8,148,.92),rgba(75,77,163,.9))}
.drcg-layout-carousel{scrollbar-color:var(--drcg-color-brand-violet) #e9e3f0}
.drcg-layout-carousel::-webkit-scrollbar-thumb{background:var(--drcg-gradient)}

/* Live, multi-entity search. The normal GET form remains the no-JS fallback. */
.drcg-search-dialog__panel{width:min(920px,calc(100% - 32px));max-height:calc(100vh - 44px);margin:22px auto;padding:26px;overflow-y:auto;background:linear-gradient(150deg,#fff,#fcfaff)}
.drcg-search-dialog h2{margin:3px 0 14px;font-size:max(1.35rem, min(2.5vw, 1.82rem));font-size:clamp(1.35rem,2.5vw,1.82rem)}
.drcg-search-dialog form{position:relative}
.drcg-live-search{margin-top:14px;border-top:1px solid var(--drcg-border);padding-top:13px}
.drcg-live-search__filters{display:flex;flex-wrap:wrap;gap:6px}
.drcg-live-search__filters button{min-height:38px;padding:7px 12px;color:var(--drcg-text-subtle);background:#fff;border:1px solid var(--drcg-border);border-radius:999px;font-size:.7rem;font-weight:800}
.drcg-live-search__filters button:hover,.drcg-live-search__filters button[aria-pressed=true]{color:#fff;background:var(--drcg-gradient);border-color:transparent}
.drcg-live-search__status{min-height:22px;margin:9px 2px 5px;color:var(--drcg-text-subtle);font-size:.7rem}
.drcg-live-search__results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px}
.drcg-live-result{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;grid-gap:11px;gap:11px;min-height:70px;padding:8px;color:var(--drcg-text);background:#fff;border:1px solid var(--drcg-border);border-radius:10px;transition:transform var(--drcg-motion-fast) var(--drcg-ease), border-color var(--drcg-motion-fast) ease, box-shadow var(--drcg-motion-fast) ease}
.drcg-live-result:hover,.drcg-live-result:focus-visible{color:var(--drcg-text);border-color:color-mix(in srgb,var(--drcg-color-brand-violet) 40%,var(--drcg-border));box-shadow:0 10px 26px rgba(79,42,113,.11);transform:translateY(-1px)}
.drcg-live-result img,.drcg-live-result__fallback{display:grid;align-items:center;justify-items:center;place-items:center;width:54px;height:54px;object-fit:cover;background:var(--drcg-gradient-soft);border-radius:8px;color:var(--drcg-action);font-size:.62rem;font-weight:900}
.drcg-live-result--member img,.drcg-live-result--member .drcg-live-result__fallback{border-radius:50%}
.drcg-live-result small,.drcg-live-result strong{display:block;min-width:0}
.drcg-live-result small{margin-bottom:2px;color:var(--drcg-action);font-size:.61rem;font-weight:850}
.drcg-live-result strong{overflow:hidden;font-size:.76rem;line-height:1.65;text-overflow:ellipsis;white-space:nowrap}
.drcg-live-search__empty{grid-column:1/-1;padding:24px;text-align:center;background:var(--drcg-gradient-soft);border-radius:10px;color:var(--drcg-text-subtle);font-size:.78rem}
.drcg-live-search.is-loading .drcg-live-search__results{opacity:.5}

@media(max-width:768px){
  .drcg-archive-hero{padding:15px 18px}
  .drcg-live-search__results{grid-template-columns:1fr}
}
@media(max-width:600px){
  .drcg-search-hero{grid-template-columns:1fr;padding:15px 17px}
  .drcg-search-hero__art{display:none}
  .drcg-search-dialog__panel{width:min(100% - 16px,920px);max-height:calc(100vh - 16px);margin:8px auto;padding:18px}
  .drcg-live-search__filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}
  .drcg-live-search__filters button{flex:none}
}
@media(prefers-reduced-motion:reduce){
  .drcg-visual-reactive,.drcg-visual-reactive>img{transform:none!important}
  .drcg-visual-reactive::before,.drcg-visual-reactive::after{display:none}
}
