/* VARIANT OGЭ: independent theory library + homepage theory teaser */
.v-theory-banner { padding-bottom: 35px; }
.v-theory-intro h1 { font-size: clamp(34px, 5vw, 68px); line-height: 1.06; margin: 12px 0; letter-spacing: -.045em; }
.v-theory-intro h1 em { font-style:normal; color:#e9a6be; }
.v-theory-intro p { color:#d6bac7; font-size:15px; line-height:1.7; max-width:720px; }
.v-theory-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:23px; }
.v-theory-heading { margin: 12px 0 26px; }
.v-theory-heading h2 { margin:10px 0 8px; color:#fff0f6; font-size:clamp(26px,3vw,38px); }
.v-theory-heading p { color:#d0aebe; font-size:14px; line-height:1.6; }
.v-theory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:40px; }
.v-theory-card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; min-height:188px; padding:22px; border:1px solid #613249; border-radius:18px; background:linear-gradient(150deg,#2c1624,#1b111c); color:#fff4f8; text-decoration:none; transition:transform .15s,border-color .15s; }
.v-theory-card:hover, .v-theory-card:focus-visible { transform:translateY(-3px); border-color:#db84a4; }
.v-theory-card-all { background:linear-gradient(135deg,#6c2e4b,#391a30); border-color:#b46b8a; }
.v-theory-sign { color:#eeb1c7; font-size:25px; font-weight:800; min-height:42px; }
.v-theory-card strong { color:#fff4f8; font-size:17px; line-height:1.27; }
.v-theory-card small { color:#c6a3b4; line-height:1.55; font-size:12px; margin-top:9px; }
.v-theory-go { margin-top:auto; padding-top:16px; color:#f0a8c0; font-size:12px; font-weight:800; }
.v-theory-layout { padding-top:30px; padding-bottom:45px; }
.v-theory-sidebar { align-self:start; position:sticky; top:24px; display:flex; flex-direction:column; gap:5px; padding:16px; border:1px solid #4c2b3a; background:#22141f; border-radius:16px; }
.v-theory-layout:has(.v-theory-sidebar) { display:grid; grid-template-columns:252px minmax(0,1fr); gap:26px; }
.v-theory-sidebar-head { color:#e7a5bd; font-size:10px; font-weight:800; letter-spacing:.16em; padding:7px 10px 12px; }
.v-theory-sidebar a { padding:10px 11px; border-radius:9px; text-decoration:none; font-size:12px; color:#e7cfdb; line-height:1.4; }
.v-theory-sidebar a:hover,.v-theory-sidebar a.active { background:#553047; color:#fff; }
.v-theory-sidebar .v-theory-all-link { margin-top:10px; border-top:1px solid #563047; color:#f2a3c1; }
.v-theory-content { min-width:0; }
.v-theory-chapter { scroll-margin-top:30px; padding:25px; margin-bottom:25px; border:1px solid #583145; border-radius:19px; background:linear-gradient(155deg,#21131d,#160f16); }
.v-theory-chapter-head { display:flex; gap:19px; align-items:flex-start; margin-bottom:24px; }
.v-theory-chapter-head > span { color:#f1a4be; font-size:24px; font-weight:800; padding-top:3px; }
.v-theory-chapter-head h2 { font-size:clamp(23px,3vw,34px); line-height:1.2; color:#fff4f8; margin:6px 0 8px; }
.v-theory-chapter-head p { color:#c7aebc; font-size:13px; line-height:1.55; margin:0; }
.v-theory-section { display:grid; grid-template-columns:38px minmax(0,1fr); gap:14px; padding:22px 0; border-top:1px solid #4a2a3c; }
.v-theory-count { color:#bc7998; font-size:12px; font-weight:800; padding-top:5px; }
.v-theory-text h3 { margin:0 0 10px; color:#fff0f6; font-size:19px; }
.v-theory-text > p { color:#dfcdd6; line-height:1.78; font-size:14px; margin:0 0 10px; }
.v-theory-formula { color:#fff3f8; font-size:16px; font-weight:700; line-height:1.75; background:#3a2030; border:1px solid #704157; border-left:4px solid #e09ab6; border-radius:11px; padding:15px 18px; overflow-wrap:anywhere; margin:16px 0; }
.v-theory-example,.v-theory-caution { background:#2a1a25; border:1px solid #57364a; border-radius:12px; padding:14px 16px; margin-top:12px; }
.v-theory-example strong,.v-theory-caution strong { color:#ebadc4; font-size:10px; letter-spacing:.13em; }
.v-theory-example p,.v-theory-caution p { color:#e2cad6; line-height:1.65; font-size:13px; margin:8px 0 0; }
.v-theory-caution { border-left:3px solid #aa637c; }
.v-theory-next { display:flex; gap:16px; justify-content:space-between; align-items:center; border-top:1px solid #614254; padding-top:22px; margin-top:10px; }
.v-theory-next strong,.v-theory-next span { display:block; }
.v-theory-next strong { color:#fff; font-size:15px; }
.v-theory-next span { color:#c9a8b6; font-size:12px; margin-top:6px; }
.v-theory-next .button { flex-shrink:0; text-align:center; }
/* Companion theory library on the OGE landing page */
.v-oge-theory-preview { margin:18px 0 30px; border:1px solid #6b3850; border-radius:20px; background:linear-gradient(145deg,#311828,#20141f); padding:26px; }
.v-oge-theory-preview h2 { color:#fff; font-size:clamp(25px,3vw,34px); margin:8px 0; }
.v-oge-theory-preview h2 em { color:#eaaac3; }
.v-oge-theory-preview p { color:#d0afbe; line-height:1.6; font-size:13px; max-width:760px; }
.v-oge-theory-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(176px,1fr)); gap:10px; margin:21px 0; }
.v-oge-theory-links a { display:flex; justify-content:space-between; gap:12px; border:1px solid #66374d; padding:14px; background:#3c1d2e; border-radius:11px; color:#f9e9f0; text-decoration:none; font-size:12px; line-height:1.35; }
.v-oge-theory-links a:hover { background:#52263b; border-color:#cc7d9b; }
.v-oge-theory-links a span { color:#f1acc3; white-space:nowrap; }
.v-oge-theory-all { margin-top:3px; }
@media(max-width:980px){.v-theory-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.v-theory-layout:has(.v-theory-sidebar){display:block}.v-theory-sidebar{position:static;flex-direction:row;flex-wrap:wrap;gap:4px;margin-bottom:18px}.v-theory-sidebar-head{width:100%}.v-theory-sidebar a{padding:9px 10px}}
@media(max-width:620px){.v-theory-grid{grid-template-columns:1fr}.v-theory-card{min-height:148px;padding:19px}.v-theory-chapter{padding:17px}.v-theory-section{grid-template-columns:1fr;gap:2px}.v-theory-count{padding-top:0}.v-theory-next{align-items:stretch;flex-direction:column}.v-theory-next .button{width:100%}.v-oge-theory-preview{padding:18px}.v-oge-theory-links{grid-template-columns:1fr}.v-theory-intro h1{font-size:33px}}

.v-theory-figure { margin:15px 0; padding:8px; border:1px solid #5a3749; border-radius:12px; background:#2a1926; }
.v-theory-figure img { width:100%;height:auto;display:block;border-radius:9px;max-height:310px;object-fit:contain; }
