/* No CDN/Tailwind: production design system for Обучакин. */
:root { --obc-primary:#1e3a8a; --obc-primary-hover:#1e40af; --obc-secondary:#f59e0b; --obc-secondary-hover:#d97706; --obc-free:#16a34a; --obc-bg:#f8fafc; --obc-surface:#fff; --obc-text:#0f172a; --obc-muted:#64748b; --obc-border:#e2e8f0; --obc-radius:.5rem; --obc-radius-lg:1rem; --obc-radius-xl:1.5rem; --obc-shadow-card:0 4px 6px -1px rgba(0,0,0,.05),0 2px 4px -1px rgba(0,0,0,.03); --obc-shadow-hover:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05); }
* { box-sizing:border-box; }
body { overflow-x:hidden; }
.obc-site-header { position:sticky; top:0; z-index:20; background:var(--obc-surface); border-bottom:1px solid var(--obc-border); }
.obc-site-header > .wp-block-group { align-items:center; min-height:5rem; }
.obc-site-header__inner { display:grid!important; grid-template-columns:minmax(10.5rem,1fr) auto; gap:1.5rem; width:100%; }
.obc-brand { display:inline-flex; align-items:center; min-height:3rem; justify-self:start; }
.obc-brand img { display:block; width:auto; height:42px; max-width:212px; object-fit:contain; }
.obc-site-header .obc-nav { justify-self:center; }
.obc-site-header .wp-block-buttons { justify-self:end; margin:0; }
.obc-site-header .wp-block-button__link { min-height:2.75rem; display:inline-flex; align-items:center; justify-content:center; padding:.65rem 1rem; }
.obc-nav .wp-block-navigation-item__content { font-weight:600; }
.obc-hero { overflow:hidden; padding-block:clamp(2.75rem,6vw,5.5rem); }
.obc-hero__layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(18rem,.65fr); align-items:center; gap:clamp(2rem,6vw,5rem); width:100%!important; max-width:80rem!important; margin-inline:auto; }
.obc-hero__content { width:100%; max-width:48rem!important; }
.obc-eyebrow { display:inline-flex; margin:0 0 1rem; padding:.42rem .7rem; border:1px solid #bfdbfe; border-radius:999px; background:#eff6ff; color:var(--obc-primary); font-size:.73rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.obc-hero__lead { max-width:42rem; margin-top:1rem!important; color:#334155; font-size:clamp(1rem,1.3vw,1.18rem)!important; line-height:1.5!important; }
.obc-search-form { display:flex; align-items:center; gap:.5rem; min-height:4rem; margin-top:1.5rem; padding:.5rem; max-width:44rem; border:1px solid var(--obc-border); border-radius:var(--obc-radius-xl); background:var(--obc-surface); box-shadow:var(--obc-shadow-card); }
.obc-search-form__icon { display:grid; place-items:center; flex:0 0 2.5rem; color:var(--obc-primary); font-size:1.75rem; line-height:1; }
.obc-search-form input { min-width:0; flex:1; border:0; padding:.75rem .25rem; color:var(--obc-text); font:inherit; }
.obc-search-form input::placeholder { color:#475569; opacity:1; }
.obc-search-form input:focus { outline:0; }
.obc-search-form button { min-height:3rem; border:0; border-radius:var(--obc-radius-lg); padding:.75rem 1.15rem; color:#fff; background:var(--obc-primary); font:700 1rem inherit; cursor:pointer; }
.obc-search-form button:hover { background:var(--obc-primary-hover); }
.obc-search-help { margin:.65rem 0 0; color:var(--obc-muted); font-size:.8125rem; }
.obc-quick-links { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1rem; }
.obc-quick-links a { display:inline-flex; align-items:center; min-height:2.5rem; padding:.35rem .8rem; border:1px solid #cbd5e1; border-radius:999px; background:rgba(255,255,255,.78); color:#334155; font-size:.875rem; font-weight:650; text-decoration:none; transition:border-color .2s ease,background-color .2s ease,color .2s ease; }
.obc-quick-links a:hover { border-color:#93c5fd; background:#eff6ff; color:var(--obc-primary); }
.obc-hero__mascot { position:relative; display:grid; justify-items:center; align-content:center; min-height:25rem; padding:1.25rem 1.25rem 1.5rem; border:1px solid #bfdbfe; border-radius:var(--obc-radius-xl); background:linear-gradient(150deg,#eff6ff 0%,#fff 78%); box-shadow:var(--obc-shadow-card); text-align:center; }
.obc-hero__mascot img { display:block; width:min(100%,22rem); height:auto; margin-top:-4rem; filter:drop-shadow(0 1.25rem 1.2rem rgba(30,58,138,.16)); }
.obc-hero__mascot-kicker { margin:-.25rem 0 .35rem; color:var(--obc-primary); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.obc-hero__mascot-text { max-width:18rem; margin:0; color:#334155; font-size:.9375rem; line-height:1.45; }
.obc-hero__help-link { display:inline-flex; align-items:center; gap:.35rem; min-height:2.75rem; margin-top:.75rem; color:var(--obc-primary); font-weight:800; text-decoration-thickness:1px; text-underline-offset:.2em; }
.obc-hero__help-link:hover { color:var(--obc-primary-hover); }
.obc-catalog { padding-block:3rem 5rem; }
.obc-catalog__intro { margin-bottom:2rem; padding:clamp(1.5rem,3vw,2.5rem); border:1px solid var(--obc-border); border-radius:var(--obc-radius-xl); background:linear-gradient(135deg,#eff6ff,#fff7ed); }
.obc-empty--catalog { max-width:44rem; margin:2rem auto; padding:clamp(1.5rem,4vw,3rem); border:1px dashed #94a3b8; border-radius:var(--obc-radius-xl); background:#fff; text-align:center; }
.obc-empty--catalog h2 { margin-top:0; }
.obc-empty--catalog .wp-element-button { margin-top:.5rem; background:var(--obc-primary)!important; }
.obc-section-kicker { margin:0 0 .5rem!important; color:var(--obc-primary); font-size:.75rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.obc-section-lead { max-width:42rem; margin-top:.5rem!important; color:var(--obc-muted); }
.obc-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:1.5rem; }
.obc-category-card,.obc-course-card { height:100%; border:1px solid var(--obc-border); border-radius:var(--obc-radius-xl); background:var(--obc-surface); box-shadow:var(--obc-shadow-card); overflow:hidden; transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease; }
.obc-category-card { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:8rem; padding:1.25rem; text-decoration:none; color:inherit; }
.obc-category-card__body { display:grid; gap:.45rem; }
.obc-category-card__body strong { color:var(--obc-text); font-size:1rem; line-height:1.25; }
.obc-category-card__body span { color:var(--obc-muted); font-size:.875rem; line-height:1.4; }
.obc-category-card__arrow { display:grid; place-items:center; flex:0 0 2rem; width:2rem; height:2rem; border-radius:50%; background:#eff6ff; color:var(--obc-primary); font-weight:800; }
.obc-course-card { display:flex; flex-direction:column; padding:1.25rem; }
.obc-category-card:hover,.obc-course-card:hover { border-color:var(--obc-primary); box-shadow:var(--obc-shadow-hover); transform:translateY(-2px); }
.obc-course-card__media img { width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:1rem; }
.obc-course-card__rating { color:var(--obc-secondary); font-weight:700; }
.obc-course-card__price { margin-top:auto; color:var(--obc-primary); font-size:1.25rem; font-weight:800; }
.obc-course-card__old-price { color:var(--obc-muted); text-decoration:line-through; font-size:.875rem; }
.obc-course-card__cta { display:inline-flex; align-items:center; justify-content:center; min-height:2.75rem; padding:.7rem 1rem; border-radius:.8rem; font-weight:700; }
.obc-course-card__cta--disabled { background:#e2e8f0; color:#475569; cursor:not-allowed; }
.obc-partner-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; max-width:48rem; padding:1.5rem; border:1px solid var(--obc-border); border-radius:var(--obc-radius-xl); background:var(--obc-surface); box-shadow:var(--obc-shadow-card); }
.obc-partner-form p { margin:0; } .obc-partner-form label { display:grid; gap:.35rem; color:var(--obc-text); font-weight:650; } .obc-partner-form input,.obc-partner-form select,.obc-partner-form textarea { width:100%; padding:.7rem .8rem; border:1px solid #cbd5e1; border-radius:.65rem; color:var(--obc-text); font:inherit; } .obc-partner-form textarea,.obc-partner-form p:nth-last-child(2),.obc-partner-form button,.obc-partner-form__status { grid-column:1/-1; } .obc-partner-form button { min-height:3rem; border:0; border-radius:.8rem; background:var(--obc-secondary); color:#172554; font-weight:800; cursor:pointer; } .obc-honeypot { position:absolute!important; left:-9999px!important; }
.obc-free-badge { display:inline-block; padding:.25rem .5rem; border-radius:.5rem; background:#dcfce7; color:#166534; font-size:.75rem; font-weight:800; }
.obc-ad-label { margin-block:1rem; padding:.75rem 1rem; border-left:3px solid var(--obc-secondary); background:#fffbeb; color:#713f12; font-size:.8125rem; }
.obc-pros-cons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.obc-pros-cons ul { padding-left:1.25rem; }
.obc-pros-cons--pros li::marker { color:var(--obc-free); }
.obc-pros-cons--cons li::marker { color:#dc2626; }
.obc-specs { width:100%; border-collapse:collapse; }
.obc-specs th,.obc-specs td { padding:.75rem; border-bottom:1px solid var(--obc-border); text-align:left; }
.obc-specs th { color:var(--obc-muted); font-weight:600; }
.obc-empty { padding:1.5rem; border:1px dashed var(--obc-border); border-radius:var(--obc-radius-lg); color:var(--obc-muted); }
.obc-site-footer { margin-top:4rem; background:var(--obc-text); color:#cbd5e1; }
.obc-site-footer a { color:#e2e8f0; }
.obc-home { padding-bottom:clamp(2.5rem,6vw,5rem); }
.obc-home-section { margin-block:clamp(2.5rem,5vw,4.5rem); }
.obc-home-section > .wp-block-heading { margin-bottom:1.1rem; }
.obc-assistant-card { margin-top:clamp(2.5rem,5vw,4.5rem); padding:clamp(1.5rem,4vw,3.5rem)!important; color:#fff!important; box-shadow:0 18px 42px rgba(30,58,138,.24); }
.obc-assistant-card p,.obc-assistant-card h2 { max-width:42rem; color:#fff!important; }
.obc-assistant-card p.has-small-font-size { display:inline-block; margin:0 0 .85rem!important; padding:.4rem .65rem; border:1px solid rgba(255,255,255,.35); border-radius:999px; color:#dbeafe!important; font-size:.75rem!important; font-weight:800; letter-spacing:.08em; }
.obc-assistant-card h2 { margin:0!important; font-size:clamp(1.75rem,5vw,2.75rem); line-height:1.12; }
.obc-assistant-card h2 + p { margin:1rem 0 0!important; color:#e0e7ff!important; font-size:1.0625rem; line-height:1.6; }
.obc-assistant-card .wp-block-button { margin:1.5rem 0 0!important; }
.obc-assistant-card .wp-block-button__link { min-height:3rem; padding:.8rem 1.15rem; border-radius:.8rem; background:#fbbf24!important; color:#172554!important; font-weight:800; }
.obc-site-footer .wp-block-heading { color:#fff; }
@media (max-width: 600px) { .obc-site-header > .wp-block-group { min-height:4.5rem; } .obc-site-header__inner { grid-template-columns:1fr auto; gap:.75rem; padding-inline:max(1.5rem,env(safe-area-inset-left)) max(1.5rem,env(safe-area-inset-right))!important; } .obc-brand img { height:34px; max-width:158px; } .obc-site-header .obc-nav { grid-column:1; grid-row:1; justify-self:start; } .obc-site-header .obc-nav .wp-block-navigation__responsive-container-open { padding:.5rem; } .obc-site-header .wp-block-buttons { grid-column:2; grid-row:1; } .obc-site-header .wp-block-button__link { min-height:2.5rem; padding:.5rem .75rem; font-size:.8125rem; } .obc-hero { padding-block:2.5rem 3rem; padding-inline:max(1.5rem,env(safe-area-inset-left)) max(1.5rem,env(safe-area-inset-right)); } .obc-hero__layout { grid-template-columns:1fr; gap:2.5rem; } .obc-hero__mascot { min-height:0; padding:1.25rem; } .obc-hero__mascot img { width:min(15rem,72vw); margin-top:-3.1rem; } .obc-search-form { flex-wrap:wrap; min-height:0; margin-top:1.25rem; } .obc-search-form__icon { flex-basis:2rem; font-size:1.5rem; } .obc-search-form input { min-height:48px; flex-basis:calc(100% - 2.5rem); } .obc-search-form button { width:100%; min-height:48px; } .obc-quick-links { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:.5rem; margin-top:1.15rem; padding-bottom:.25rem; scrollbar-width:thin; } .obc-quick-links a { flex:0 0 auto; justify-content:center; min-height:2.75rem; } .obc-pros-cons { grid-template-columns:1fr; } .obc-category-grid { grid-template-columns:1fr; gap:.75rem; } .obc-category-card { min-height:5.5rem; padding:1rem 1.1rem; } .obc-home-section { margin-block:2.5rem; } .obc-assistant-card { margin-inline:0; border-radius:1.25rem!important; } .obc-assistant-card .wp-block-button__link { display:block; width:100%; text-align:center; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } }
