/* Shared interface refinements: readable type, clear controls, restrained motion. */
:root {
  --color-brand: #6161ff;
  --color-ink: #333333;
  --color-slate: #535768;
  --color-cloud: #f5f6f8;
  --color-snow: #ffffff;
  --color-mist: #d0d4e4;
  --color-mint: #eff9e9;
  --color-sky: #eaf8fc;
  --color-lavender: #f5eef9;
  --color-periwinkle: #eef1ff;
  --ui-ink: var(--color-ink);
  --ui-muted: var(--color-slate);
  --ui-line: var(--color-mist);
  --ui-surface: #fff;
  --ui-focus: rgba(97, 97, 255, .22);
  --ui-ease: 180ms cubic-bezier(.2, .7, .2, 1);
  --primary: #6161ff;
  --primary-dark: #4848d9;
  --primary-hover: #5050e8;
  --primary-light: #eeeeff;
  --secondary: #9450fd;
  --gradient: linear-gradient(135deg, #6161ff, #6161ff);
  --text: #333333;
  --text-light: #535768;
  --text-muted: #697080;
  --gray-50: #f5f6f8;
  --gray-100: #eef0f5;
  --gray-200: #d0d4e4;
  --radius: 10px;
  --radius-lg: 24px;
}

html { font-size: 16px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { color: var(--ui-ink); font-family: 'Poppins', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; font-size: 16px; line-height: 1.6; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--ui-focus);
  outline-offset: 2px;
}

:where(.btn, .adm-btn, .biz-action-btn, .ad-plan-cta, .srch-search-btn, .srch-filter-toggle, .search-btn, .biz-btn-logout, .acc-btn-logout, .adm-btn-logout) {
  min-height: 44px;
  padding: 10px 16px;
  border-radius: 999px !important;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.25;
  transition: color var(--ui-ease), background-color var(--ui-ease), border-color var(--ui-ease), box-shadow var(--ui-ease), transform var(--ui-ease);
}
:where(.btn-primary, .adm-btn-primary, .ad-plan-cta, .srch-search-btn, .search-btn, .hdr-btn-primary) {
  color: #fff !important;
  background: var(--color-brand) !important;
  background-image: none !important;
  border-color: var(--color-brand) !important;
  box-shadow: none !important;
}
:where(.btn-primary, .adm-btn-primary, .ad-plan-cta, .srch-search-btn, .search-btn, .hdr-btn-primary):hover {
  background: #5050e8 !important;
  box-shadow: 0 5px 18px rgba(97,97,255,.2) !important;
}
:where(.btn-secondary, .adm-btn-secondary, .adm-btn-outline, .hdr-btn-outline) {
  color: var(--color-ink) !important;
  background: #fff !important;
  border: 1px solid var(--color-slate) !important;
  border-radius: 999px !important;
}
:where(.btn, .adm-btn, .biz-action-btn, .ad-plan-cta, .srch-search-btn, .srch-filter-toggle, .search-btn, .biz-btn-logout, .acc-btn-logout, .adm-btn-logout):active { transform: translateY(1px); }
:where(.btn, .adm-btn, .biz-action-btn, .ad-plan-cta, .srch-search-btn, .srch-filter-toggle, .search-btn, .biz-btn-logout, .acc-btn-logout, .adm-btn-logout):disabled,
:where(.btn, .adm-btn, .biz-action-btn, .ad-plan-cta, .srch-search-btn, .srch-filter-toggle, .search-btn, .biz-btn-logout, .acc-btn-logout, .adm-btn-logout)[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .58;
  box-shadow: none;
  transform: none;
}

:where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  min-height: 44px;
  border-radius: 6px !important;
  font-size: 16px;
  line-height: 1.45;
}
textarea { min-height: 110px; }
:where(input, select, textarea):focus {
  border-color: #7651d5 !important;
  box-shadow: 0 0 0 3px var(--ui-focus);
}
:where(label, .form-hint, .form-error, .form-help) { line-height: 1.5; }
body [style*="font-size:.4"], body [style*="font-size: .4"],
body [style*="font-size:.5"], body [style*="font-size: .5"],
body [style*="font-size:.6"], body [style*="font-size: .6"],
body [style*="font-size:.7"], body [style*="font-size: .7"],
body [style*="font-size:.8"], body [style*="font-size: .8"],
body [style*="font-size:0.4"], body [style*="font-size: 0.4"],
body [style*="font-size:0.5"], body [style*="font-size: 0.5"],
body [style*="font-size:0.6"], body [style*="font-size: 0.6"],
body [style*="font-size:0.7"], body [style*="font-size: 0.7"],
body [style*="font-size:0.8"], body [style*="font-size: 0.8"],
body [style*="font-size:10px"], body [style*="font-size: 10px"],
body [style*="font-size:11px"], body [style*="font-size: 11px"],
body [style*="font-size:12px"], body [style*="font-size: 12px"] { font-size: max(13.5px, .84em) !important; }

:where(.adm-main, .biz-main, .acc-main) { font-size: 16px; line-height: 1.6; }
:where(.adm-main, .biz-main, .acc-main) :where(p, small, label, td, th, button, input, select, textarea, [class*="muted"], [class*="meta"], [class*="label"], [class*="hint"], [class*="sub"], [class*="caption"]) {
  font-size: max(13px, .88em) !important;
  line-height: 1.5;
}
:where(.adm-main, .biz-main, .acc-main) :where(.adm-page-title, h1) { line-height: 1.25; letter-spacing: -.025em; }
:where(.adm-main, .biz-main, .acc-main) :where(.adm-page-sub, .section-subtitle) { color: var(--ui-muted); }
:where(.adm-card, .biz-card, .panel-card, .acc-card, .stat-card, .support-card) {
  border-color: var(--ui-line);
  border-radius: 24px !important;
  box-shadow: 0 2px 28px rgba(205,208,223,.22);
  transition: border-color var(--ui-ease), box-shadow var(--ui-ease), transform var(--ui-ease);
}
:where(.adm-card, .biz-card, .panel-card, .acc-card, .stat-card, .support-card):hover {
  border-color: #bdc5dc;
  box-shadow: 0 7px 26px rgba(83,87,104,.12);
}
:where(.adm-table, .panel-table) th { color: #51475f; }
:where(.adm-table, .panel-table) td { line-height: 1.5; }
:where(.badge, .adm-badge, .bc-badge) { min-height: 25px; border-radius: 6px !important; font-size: 13px !important; line-height: 1.25; }
:where(.text-xs, .adm-text-xs, .text-caption) { font-size: 13px !important; }
:where(.adm-nav-badge, .adm-notif-badge, .biz-nav-badge, .biz-notif-badge, .acc-notif-badge) { font-size: 12px !important; }
:where(.bc-location, .bc-rating-count, .bc-rating-none, .bc-price, .city-card-count, .stat-item-label, .stat-box-change, .adm-stat-change, .mobile-bottom-nav a, .adm-nav-title, .sidebar-section-title) {
  font-size: 13px !important;
  line-height: 1.4;
}
:where(.adm-sidebar-nav a, .biz-sidebar-nav a, .acc-sidebar-nav a, .adm-nav a) { font-size: 14px !important; line-height: 1.4; }
:where(.adm-nav-label, .biz-sidebar-section, .acc-sidebar-section) { font-size: 13px !important; line-height: 1.4; letter-spacing: .08em; }
:where(.biz-header, .acc-header, .adm-header) { background: #fff !important; color: var(--color-ink); border-bottom: 1px solid var(--color-mist) !important; box-shadow: 0 2px 24px rgba(205,208,223,.32) !important; }
:where(.biz-header-right a, .acc-header-right a) { color: var(--color-slate) !important; }
:where(.biz-header-right a:hover, .acc-header-right a:hover) { color: var(--color-ink) !important; background: var(--color-cloud) !important; }
:where(.adm-breadcrumb a) { color: var(--color-slate) !important; }
:where(.biz-mobile-toggle, .acc-mobile-toggle, .adm-mobile-toggle) { color: var(--color-slate) !important; background: var(--color-cloud) !important; border-color: var(--color-mist) !important; }
:where(.biz-header-biz-name, .adm-header-name) { color: var(--color-ink) !important; }
:where(.biz-header-biz-sub, .adm-header-role, .adm-breadcrumb) { color: var(--color-slate) !important; }
:where(.biz-logo-text, .acc-logo-text, .adm-logo-text) { color: var(--color-ink) !important; background: none !important; -webkit-text-fill-color: currentColor !important; }
:where(.biz-logo-icon, .acc-logo-icon, .adm-logo-icon) { background: var(--color-brand) !important; color: #fff !important; filter: none !important; box-shadow: none !important; }
:where(.biz-notif-btn, .acc-notif-btn, .adm-notif-btn) { color: var(--color-slate) !important; }
:where(.biz-btn-logout, .acc-btn-logout, .adm-btn-logout) { min-height: 42px; border-radius: 999px !important; color: #9f3d49 !important; background: #fff2f3 !important; border: 1px solid #f0d6d9 !important; }
.adm-breadcrumb .current { color: var(--color-ink) !important; }
:where(.adm-stat-card, .stat-card-big, .stat-card) { border: 1px solid var(--color-mist); border-radius: 24px !important; box-shadow: 0 2px 28px rgba(205,208,223,.2); }
.adm-main .stat-card:nth-child(4n+1) { background: #f1f0ff; }
.adm-main .stat-card:nth-child(4n+2) { background: var(--color-sky); }
.adm-main .stat-card:nth-child(4n+3) { background: var(--color-mint); }
.adm-main .stat-card:nth-child(4n) { background: #fff4ec; }
.adm-main .adm-stat-card:nth-child(4n+1) { background: #f1f0ff; }
.adm-main .adm-stat-card:nth-child(4n+2) { background: var(--color-sky); }
.adm-main .adm-stat-card:nth-child(4n+3) { background: var(--color-mint); }
.adm-main .adm-stat-card:nth-child(4n) { background: #fff4ec; }
.biz-main .stat-card:nth-child(4n+1) { background: #f1f0ff; }
.biz-main .stat-card:nth-child(4n+2) { background: var(--color-sky); }
.biz-main .stat-card:nth-child(4n+3) { background: var(--color-mint); }
.biz-main .stat-card:nth-child(4n) { background: #fff4ec; }
.biz-card:nth-child(4n+1) .bc-body { background: linear-gradient(180deg,#fff,#f8f6ff); }
.biz-card:nth-child(4n+2) .bc-body { background: linear-gradient(180deg,#fff,#f2faff); }
.biz-card:nth-child(4n+3) .bc-body { background: linear-gradient(180deg,#fff,#f4fbf1); }
.biz-card:nth-child(4n) .bc-body { background: linear-gradient(180deg,#fff,#fff8f2); }
.site-header, .site-header.scrolled { background: rgba(255,255,255,.96) !important; border-bottom: 1px solid var(--color-mist) !important; box-shadow: 0 2px 24px rgba(205,208,223,.36) !important; }
.hdr-logo { color: var(--color-ink) !important; }
.hdr-logo-text { background: none !important; color: var(--color-ink) !important; -webkit-text-fill-color: currentColor !important; }
.hdr-logo-icon { color: var(--color-brand) !important; filter: none !important; }
.hdr-nav a { min-height: 44px; color: var(--color-slate) !important; border-radius: 8px !important; }
.hdr-nav a:hover, .hdr-nav a.active { color: var(--color-brand) !important; background: #f1f1ff !important; }
.hdr-btn { min-height: 44px; padding: 11px 20px; border-radius: 999px !important; }
.hdr-btn-outline { color: var(--color-slate) !important; border: 1px solid var(--color-mist) !important; }
.hdr-btn-outline:hover { color: var(--color-brand) !important; background: var(--color-cloud) !important; }
.hp-hero { min-height: min(860px, 100vh) !important; background: linear-gradient(135deg,#f5f6f8 0%,#eef1ff 58%,#fff 100%) !important; }
.hp-hero .hero-orb { display: none !important; }
.hp-hero .hero-badge { color: #4b4ba8 !important; background: #eeeeff !important; border: 1px solid #d9d9ff !important; }
.hp-hero h1.hero-title { max-width: 780px; margin-inline: auto; color: var(--color-ink) !important; font-size: clamp(40px,6vw,64px) !important; font-weight: 500 !important; line-height: 1.12 !important; letter-spacing: -.04em !important; }
.hp-hero .hero-title .grad { background: linear-gradient(90deg,#e98dfe 5%,#fda900 92%) !important; background-clip: text !important; -webkit-background-clip: text !important; -webkit-text-fill-color: transparent !important; }
.hp-hero .hero-subtitle { color: var(--color-slate) !important; font-size: 17px !important; line-height: 1.65 !important; }
.hp-hero .hero-search { background: #fff !important; border: 1px solid var(--color-mist) !important; border-radius: 24px !important; box-shadow: 0 2px 38px rgba(205,208,223,.42) !important; backdrop-filter: none !important; }
.hp-hero .search-field { background: #fff !important; border: 1px solid #dddfeb !important; border-radius: 6px !important; }
.hp-hero .search-field:focus-within { background: #fff !important; border-color: var(--color-brand) !important; }
.hp-hero .search-field i { color: var(--color-slate) !important; }
.hp-hero .search-field select, .hp-hero .search-select { color: var(--color-ink) !important; }
.hp-hero .hero-stats { background: #fff !important; border: 1px solid var(--color-mist) !important; border-radius: 18px !important; box-shadow: 0 2px 30px rgba(205,208,223,.25); backdrop-filter: none !important; }
.hp-hero .stat-item { border-color: var(--color-mist) !important; }
.hp-hero .stat-item-num { color: var(--color-ink) !important; }
.hp-hero .stat-item-label { color: var(--color-slate) !important; }
.hp-feat-grid .feature-card { border: 1px solid var(--color-mist); border-radius: 24px !important; box-shadow: 0 2px 28px rgba(205,208,223,.24); padding: 24px !important; }
.hp-feat-grid .feature-card:nth-child(4n+1) { background: #f5eef9 !important; }
.hp-feat-grid .feature-card:nth-child(4n+2) { background: #eaf8fc !important; }
.hp-feat-grid .feature-card:nth-child(4n+3) { background: #eff9e9 !important; }
.hp-feat-grid .feature-card:nth-child(4n) { background: #eef1ff !important; }
.hp-cta { background: var(--color-brand) !important; }
.hp-cta::before { background: radial-gradient(ellipse 60% 65% at 50% 50%,rgba(255,255,255,.13),transparent 68%) !important; }
.hp-cta h2, .hp-cta p { color: #fff !important; }
.hp-cta .btn-secondary, .hp-cta .btn-outline-primary { color: var(--color-ink) !important; background: #fff !important; }
.public-editorial-page > div:first-child { background: linear-gradient(135deg,#f5f6f8,#eef1ff) !important; }
.public-editorial-page > div:first-child :where(h1, p, nav, nav a, nav span) { color: var(--color-ink) !important; }

.public-editorial-page { color: var(--ui-ink); }
.public-editorial-page [style*="font-size:."] , .public-editorial-page [style*="font-size: ."] { font-size: max(14px, .9em) !important; line-height: 1.55; }
.public-editorial-page :where(nav, nav a, nav span) { font-size: 14px !important; }
.public-editorial-page :where(input, select, textarea) { width: 100%; padding: 11px 13px !important; border: 1px solid #d8d2e0 !important; border-radius: 6px !important; background-color: #fff; color: var(--ui-ink); }
.public-editorial-page :where(label) { display: block; margin-bottom: 5px; color: #40384d !important; font-size: 14px !important; font-weight: 650 !important; }
.public-editorial-page :where(button, a[style*="background:var(--gradient)"], a[style*="background:linear-gradient"]) { min-height: 44px; font-size: 15px !important; line-height: 1.3; }
.public-editorial-page :where(main > .container > div > article, .contact-grid > div) { border-radius: 24px !important; }
.public-blog-list .blog-list-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)) !important; gap: 20px !important; }
.public-blog-list .blog-list-card { border-color: var(--ui-line) !important; box-shadow: 0 2px 8px rgba(33,26,45,.04); }
.public-blog-list .blog-list-card:hover { transform: translateY(-3px); border-color: #cfc2e4 !important; box-shadow: 0 12px 28px rgba(33,26,45,.1) !important; }
.public-blog-list .blog-list-card img { transition: transform 260ms ease; }
.public-blog-list .blog-list-card:hover img { transform: scale(1.025); }
.public-blog-list .blog-list-card > div > a:first-of-type { font-size: 19px !important; line-height: 1.4 !important; }
.public-blog-list .blog-list-card p { font-size: 15px !important; line-height: 1.65 !important; }
.public-blog-post a[style*="transition:all .18s"]:hover { border-color: #bca9dc !important; transform: translateY(-2px); }
.public-blog-post aside a[style*="transition:background .15s"]:hover { background: #f7f4fb !important; }
.public-blog-post .blog-post-layout { grid-template-columns: minmax(0, 1fr) 300px !important; }
.public-blog-post .blog-post-content { font-size: 17px !important; line-height: 1.85 !important; overflow-wrap: anywhere; }
.public-blog-post .blog-post-content :where(h2, h3, h4) { line-height: 1.35; }
.public-blog-post .blog-post-content :where(h2, h3, h4) { color: var(--ui-ink); margin: 1.5em 0 .55em; font-weight: 700; }
.public-blog-post .blog-post-content :where(p, ul, ol, blockquote, table) { margin-bottom: 1em; }
.public-blog-post .blog-post-content :where(ul, ol) { padding-left: 1.5em; }
.public-blog-post .blog-post-content a, .public-static-page .static-page-content a { color: #5d36b8; text-decoration: underline; text-underline-offset: 2px; }
.public-blog-post .blog-post-content blockquote, .public-static-page .static-page-content blockquote { border-left: 3px solid #7651d5; padding: 12px 16px; background: #f7f4fb; border-radius: 0 10px 10px 0; color: #51475f; }
.public-blog-post .blog-post-content img { max-width: 100%; height: auto; border-radius: 10px; }
.public-blog-post .blog-post-content th, .public-blog-post .blog-post-content td, .public-static-page .static-page-content th, .public-static-page .static-page-content td { padding: 10px 12px; border: 1px solid var(--ui-line); text-align: left; }
.public-blog-post .blog-post-content th, .public-static-page .static-page-content th { background: #f7f5fa; }
.public-blog-post .blog-post-content table, .public-static-page .static-page-content table { font-size: 15px !important; }
.public-static-page .static-page-content { font-size: 17px !important; line-height: 1.8 !important; }
.public-static-page .static-page-content h2 { font-size: 1.5rem; margin: 1.5em 0 .55em; }
.public-static-page .static-page-content h3 { font-size: 1.25rem; margin: 1.25em 0 .5em; }
.public-static-page .static-page-content h4 { font-size: 1.1rem; margin: 1em 0 .4em; }
.public-static-page .static-page-content :where(ul, ol) { padding-left: 1.5em; margin-bottom: 1em; }
.public-static-page .static-page-content p { margin-bottom: 1em; }
.public-contact-page .contact-grid { grid-template-columns: minmax(0, 1fr) minmax(260px, 340px) !important; gap: 24px !important; }
.public-contact-page .contact-grid form button { justify-content: center; }

@media (max-width: 900px) {
  .public-blog-post .blog-post-layout { grid-template-columns: minmax(0, 1fr) !important; }
  .public-blog-post aside { position: static !important; }
}
@media (max-width: 680px) {
  .adm-main, .biz-main, .acc-main { padding-left: 14px !important; padding-right: 14px !important; }
  .public-editorial-page main { padding-top: 24px !important; padding-bottom: 36px !important; }
  .public-editorial-page main > .container > div > article { padding: 20px !important; }
  .public-contact-page .contact-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .public-contact-page .contact-grid form > div[style*="grid-template-columns"] { grid-template-columns: minmax(0, 1fr) !important; }
  .public-blog-list .blog-list-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .public-blog-post .blog-post-layout > div > article { padding: 20px !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
