/* Oddity public design system — additive compatibility layer. */
:root {
  --oddity-bg: #eef1f4;
  --oddity-surface: #fff;
  --oddity-surface-alt: #f6f8fa;
  --oddity-ink: #24313a;
  --oddity-muted: #63717b;
  --oddity-line: #dbe1e5;
  --oddity-dark: #202326;
  --oddity-dark-2: #2c3136;
  --oddity-blue: #16759a;
  --oddity-blue-dark: #105a77;
  --oddity-orange: #f27722;
  --oddity-green: #8fbd3f;
  --oddity-radius: 8px;
  --oddity-shadow: 0 10px 30px rgba(28, 40, 48, .08);
  --oddity-content: 1280px;
}

html { scroll-behavior: smooth; }
body {
  min-width: 0;
  background: var(--oddity-bg);
  color: var(--oddity-ink);
  font-family: "Segoe UI", Inter, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}
*, *::before, *::after { box-sizing: border-box; }
a { color: var(--oddity-blue-dark); text-underline-offset: 2px; }
a:hover { color: var(--oddity-orange); }
img, video, iframe, canvas, svg { max-width: 100%; }

.skip-link {
  position: fixed; z-index: 10000; top: -100px; left: 8px; padding: 10px 14px;
  background: #fff; color: #111; border-radius: 5px;
  box-shadow: var(--oddity-shadow); font-weight: bold;
}
.skip-link:focus { top: 8px; }

#main-content.wrapper { width: min(var(--oddity-content), calc(100% - 32px)); margin-inline: auto; }

/* Shared public header */
.site-header-shell { background: var(--oddity-dark); color: #fff; box-shadow: 0 4px 18px rgba(0,0,0,.16); }
.site-header-shell > .wrapper { width: min(var(--oddity-content), calc(100% - 32px)); }
#header { position: relative; width: 100%; min-height: 154px; margin: 0; background: transparent; }
#header-pnone { color: #aec4cf; letter-spacing: .16em; }
#header-box { color: #fff; }
#header-box .account-summary { margin: 0 0 8px; color: #dce4e8; font-size: 13px; }
#header-box .account-name { color: #e3efaa; font-weight: 700; }
#header-box .account-name { margin-right: 6px; }
#header-box .account-link { color: #fff; font-weight: 700; }
#header-box .account-link:hover { color: #b9df70; }
#header-box .account-summary { display: grid; grid-template-columns: 30px minmax(0,1fr) auto; align-items: center; gap: 9px; }
#header-box .account-summary::before { content: ""; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(145deg,#2a98bf,#105a77); box-shadow: inset 0 0 0 2px rgba(255,255,255,.18); }
#header-box .account-identity { display: flex; min-width: 0; flex-direction: column; line-height: 1.15; }
#header-box .account-eyebrow { color: #8da0aa; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
#header-box .account-name { overflow: hidden; max-width: none; margin: 2px 0 0; text-overflow: ellipsis; white-space: nowrap; }
#header-box .account-link { white-space: nowrap; }
#nav-content { border-radius: 6px 6px 0 0; }
#nav a { letter-spacing: .025em; }

/* Shared content surfaces */
.entry, #sidebar > div, .widget, .content-card, .db-block-inner,
div[class*="ui-widget-content"] {
  border-color: var(--oddity-line);
}
.entry, #sidebar > div, .widget, .content-card {
  border-radius: var(--oddity-radius);
  box-shadow: var(--oddity-shadow);
}
h1, h2, h3, h4 { color: #24323b; line-height: 1.18; letter-spacing: -.018em; }
#main-content h1 { font-size: clamp(20px, 1.65vw, 27px); font-weight: 750; text-transform: none; }
#main-content h1 span { font-weight: inherit; }
#main-content h2 { margin-top: 24px; font-size: 17px; letter-spacing: .04em; text-transform: uppercase; }
input[type="text"], input[type="email"], input[type="password"], input[type="search"],
input[type="tel"], input[type="url"], select, textarea {
  min-height: 42px; padding: 9px 11px; border: 1px solid #bdc7cd; border-radius: 5px;
  background: #fff; color: #24313a; font: inherit;
}
.is-highlighted { animation: oddity-highlight 2s ease; }
@keyframes oddity-highlight { 0%,100% { box-shadow: none; } 25% { box-shadow: 0 0 0 5px rgba(242,119,34,.3); } }
textarea { min-height: 120px; }
button, input[type="button"], input[type="submit"], .button, a.button {
  min-height: 42px; padding: 9px 16px; border: 1px solid #c9d0d4; border-radius: 5px;
  cursor: pointer; font-weight: 700;
}
button:hover, input[type="button"]:hover, input[type="submit"]:hover, .button:hover { filter: brightness(.97); }
:focus-visible { outline: 3px solid var(--oddity-orange); outline-offset: 3px; }

/* Footer */
div#footer { margin-top: 48px; background: #1d2226; color: #cbd3d8; border-top: 4px solid var(--oddity-orange); }
#footer .footer-content { position: relative; width: min(var(--oddity-content), calc(100% - 32px)); height: auto; min-height: 0; margin: 0 auto; padding: 26px 0 20px; overflow: visible; }
#footer .footer-nav, #footer .copyright { position: static; }
#footer .footer-nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; margin: 0; padding: 0; }
#footer .footer-nav li { float: none; margin: 0; list-style: none; }
#footer .footer-nav .footer-divider { display: none; }
#footer a { color: #f2f5f7; }
#footer a:hover { color: #ff9a52; }
#footer .copyright { position: static; clear: both; margin: 0; padding-top: 16px; color: #929fa7; text-align: center; }
#footer .copyright p { color: #929fa7; font-size: 12px; text-align: center; }
#footer #rss { display: none; }
#footer #top { position: static; display: block; width: max-content; height: auto; margin: 0 auto 14px; padding: 5px 10px; border-radius: 4px; text-indent: 0; }

/* Homepage and wide two-column public layouts. */
#main-content::after { display: block; clear: both; content: ""; }
#main-content div.entry {
  overflow: hidden; border: 1px solid var(--oddity-line); border-radius: var(--oddity-radius);
  background: var(--oddity-surface); box-shadow: var(--oddity-shadow);
}
#main-content div.entry-top, #main-content div.entry-bottom { display: none; }
#main-content div.entry-content {
  width: 100%; padding: 22px; overflow: visible; border: 0;
  background: var(--oddity-surface); box-sizing: border-box;
}
#main-content #services {
  overflow: visible; border: 0; background: transparent; box-shadow: none;
}
#main-content #services-content {
  gap: 18px; overflow: visible; background: transparent;
}
#main-content #services-bottom { display: none; }
#main-content .services-col1, #main-content .services-col2, #main-content .services-col3 {
  margin: 0; overflow: hidden; border: 1px solid var(--oddity-line); border-radius: var(--oddity-radius);
  background: var(--oddity-surface); box-shadow: var(--oddity-shadow);
}
#main-content #services-content .col-content { padding: 22px; background: transparent; }
#main-content #services-content .col-content h1 { padding-top: 0; padding-bottom: 8px; }
#main-content #services-content > div { position: relative; border-top: 4px solid var(--oddity-orange); }
#main-content #services-content > div::before {
  display: grid; place-items: center; position: absolute; top: 17px; right: 18px; width: 42px; height: 42px;
  border-radius: 12px; color: #fff; background: linear-gradient(145deg, var(--oddity-blue), #29a4cd);
  box-shadow: 0 8px 18px rgba(22,117,154,.2); font-size: 19px; font-weight: 800;
}
#main-content #services-content .services-col1::before { content: "</>"; font-size: 13px; }
#main-content #services-content .services-col2::before { content: "APP"; font-size: 10px; }
#main-content #services-content .services-col3::before { content: "↻"; }
#main-content #services-content .col-content h1 { padding-right: 58px; color: #172c37; }
#main-content #services-content .col-content p { color: #52616b; }
#main-content .more-link { color: var(--oddity-blue-dark); font-weight: 750; text-decoration: none; }
#main-content .more-link::after { content: "  →"; color: var(--oddity-orange); }

.page-home #content > .entry { border-top: 4px solid var(--oddity-blue); }
.page-home #content > .entry .entry-content:first-of-type > h1 { margin-bottom: 22px; color: #173746; }
.page-home .home-catalog-feature .entry-content:first-of-type {
  background: linear-gradient(145deg, #fff 0%, #fff 72%, #f1f8fb 100%);
}
.home-actions { justify-content: flex-start; margin-top: 24px; }
.home-actions .buttonize, .cta-button, .support-primary, .support-secondary {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px;
  border: 1px solid var(--oddity-blue); border-radius: 6px; color: #fff !important;
  background: linear-gradient(#2089b1, #126b8e); box-shadow: 0 5px 12px rgba(16,90,119,.18);
  font-size: 13px; font-weight: 750; letter-spacing: .025em; text-decoration: none; text-transform: uppercase;
}
.home-actions .buttonize:hover, .cta-button:hover, .support-primary:hover { background: var(--oddity-blue-dark); }
.home-bulk-solutions .entry-content { padding: 30px !important; background: linear-gradient(135deg, #fff, #f5fafc) !important; }
.home-bulk-solutions .home-benefits { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 0; }
.home-bulk-solutions .home-benefits li { position: relative; margin: 0; padding: 14px 14px 14px 38px; border-radius: 7px; list-style: none; background: #eef5f8; }
.home-bulk-solutions .home-benefits li::before { content: "✓"; position: absolute; left: 14px; color: var(--oddity-green); font-weight: 900; }

/* Product feature cards and recent-result cards. */
.page-home .entry-content > div[style*="width: 184px"] > .ui-widget-content {
  display: grid; grid-template-rows: minmax(48px,auto) 132px minmax(54px,auto) 40px; width: 100%; height: 100%;
  overflow: hidden; border: 1px solid var(--oddity-line); border-radius: 8px; background: #fff;
  box-shadow: 0 5px 14px rgba(28,40,48,.08); text-align: left;
}
.page-home .entry-content > div[style*="width: 184px"] { display: flex; align-items: stretch; }
.page-home .entry-content > div[style*="width: 184px"] .database-meta-data { padding: 8px 10px; background: #f4f7f9; }
.page-home .entry-content > div[style*="width: 184px"] .database-meta-data p { margin: 0; line-height: 1.35; }
.page-home .entry-content > div[style*="width: 184px"] .database-meta-data a { color: #173746; font-weight: 750; }
.page-home .database-tools-wrapper { min-height: 38px; border-top: 1px solid var(--oddity-line); background: #fff; }
.page-home .database-tools { display: flex; align-items: center; min-height: 38px; padding: 4px 7px; border: 0; background: #fff; }
.page-home .database-tools .recs { order: 2; margin-left: auto; color: #263b47; font-size: 16px; font-weight: 800; }
.page-home .database-tools .btn { opacity: .7; }
.page-home .entry-content > div[style*="width: 184px"] > .ui-widget-content > div[style*="width: 140px"] { align-self: center; justify-self: center; width: 122px !important; height: 122px !important; }
.page-home .entry-content > div[style*="width: 184px"] > .ui-widget-content > div[style*="width: 140px"] img { max-width: 116px; max-height: 116px; }
.page-home .entry-content > div[style*="width: 184px"] > .ui-widget-content > div[style*="padding-top"] { display: none; }
.home-recent-databases .entry-content { display: flow-root; }
.home-recent-databases .db-block { padding: 6px; }
.home-recent-databases .db-block-inner { position: relative; margin: 0; padding: 0; border: 1px solid #d5e4eb; border-radius: 9px; background: linear-gradient(145deg,#fff,#f4f9fb); box-shadow: 0 5px 15px rgba(28,63,78,.08); transition: transform .18s ease,box-shadow .18s ease; }
.home-recent-databases .db-block-inner:hover { transform: translateY(-2px); box-shadow: 0 9px 22px rgba(28,63,78,.14); }
.home-recent-databases .db-block-inner::after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 4px; border-radius: 9px 0 0 9px; background: linear-gradient(var(--oddity-blue),var(--oddity-orange)); }
.home-recent-databases .db-block-inner > .db_name { display: block; padding: 10px 12px 10px 16px; border-bottom: 1px solid #dbe7ec; color: #173746; font-size: 14px; font-weight: 750; text-decoration: none; }
.home-recent-databases .db-block-inner > a > img { width: 66px; height: 66px; margin: 8px 10px 8px 14px; padding: 6px; object-fit: contain; border-radius: 6px; }
.home-recent-databases .db-block-content { padding: 8px 10px 6px 0; color: #53636d; line-height: 1.38; }
.home-recent-databases .db-block { min-height: 100px; }
.home-recent-databases .db-block-inner { min-height: 94px; }
.home-recent-databases .slat-buttons { display: flex; gap: 5px; }

/* Header desktop composition. */
@media (min-width: 961px) {
  #header { min-height: 190px; }
  div#header-box { display: grid; grid-template-columns: minmax(0,1fr) 210px; gap: 15px; align-items: center; top: 25px; right: 12px; width: 465px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.14); border-radius: 11px; background: linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03)); box-shadow: 0 12px 30px rgba(0,0,0,.18); }
  div#header-box .account-summary { grid-template-columns: 34px minmax(0,1fr); margin: 0; padding: 2px 15px 2px 0; border-right: 1px solid rgba(255,255,255,.12); }
  div#header-box .account-summary::before { width: 34px; height: 34px; }
  div#header-box .account-link { grid-column: 2; margin-top: 5px; font-size: 13px; }
  div#header-box .account-name { font-size: 14px; }
  div#header-box #cart_widget, div#header-box #cart_widget_inner { width: 100%; }
  div#header-box #cart_widget_inner { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; min-height: 48px; }
  #nav-content { left: 50%; width: min(800px, calc(100% - 580px)); transform: translateX(-50%); }
  #nav { display: flex; justify-content: center; width: 100%; }
  #nav > li { float: none; }
}

.home-data-intro { display: grid; grid-template-columns: 170px 1fr; gap: 24px; align-items: start; }
.home-data-intro > p { grid-column: 2; margin-top: 0; }
.data-visual { display: grid; place-items: center; grid-row: 1 / span 3; min-height: 190px; padding: 18px; border-radius: 12px; color: #fff; background: radial-gradient(circle at 72% 18%,rgba(53,184,225,.7),transparent 30%),linear-gradient(145deg,#153947,#0c708f); box-shadow: 0 14px 30px rgba(16,90,119,.2); }
.data-visual strong { font-size: 27px; letter-spacing: .11em; }
.data-visual small { color: #bfe6f2; font-size: 10px; letter-spacing: .08em; }
.data-stack { position: relative; width: 62px; height: 48px; border: 3px solid #fff; border-radius: 50%; box-shadow: 0 11px 0 -3px #1482a5,0 11px 0 0 #fff,0 22px 0 -3px #1482a5,0 22px 0 0 #fff; }

.widget-kicker { margin: 0 0 8px; color: var(--oddity-orange); font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
#sidebar .widget-blog-feature .widget-content, #sidebar .widget-free-data .widget-content { padding: 22px; }
#sidebar .widget-blog-feature { border-top: 4px solid var(--oddity-orange); }
#sidebar .widget-blog-feature h2 { margin: 0 0 14px; font-size: 20px; }
#sidebar .widget-blog-feature h2 a { color: #173746; text-decoration: none; }
#sidebar .widget-excerpt { display: -webkit-box; overflow: hidden; margin: 0; color: #5a6972; font-style: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 9; }
#sidebar .widget-free-data { border-top: 4px solid var(--oddity-green); }
#sidebar .widget-free-data h1 { float: none !important; margin: 0 0 14px; padding: 0; border: 0; background: none; font-size: 20px; text-align: left; }
#sidebar .free-data-copy { margin: 0; color: #53636d; }
#sidebar .free-data-copy img { width: 64px; height: 64px; margin: 0 0 10px 12px; padding: 7px; border: 1px solid var(--oddity-line); border-radius: 8px; background: #f5f8fa; object-fit: contain; }
#sidebar .free-data-actions { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 18px; }
#sidebar .free-data-actions a { min-height: 38px; margin: 0; padding: 8px 9px; font-size: 10px; }
#sidebar .widget_categories a { border-radius: 5px; transition: background-color .15s ease,color .15s ease; }
#sidebar .widget_categories a:hover { padding-left: 17px; color: #fff; background: linear-gradient(90deg,var(--oddity-blue-dark),var(--oddity-blue)); }
#sidebar .widget_categories a:hover::before { background: #fff; }

/* Database directory: primary category navigation and category cards. */
.page-data-main .category-card { position: relative; border-top: 4px solid var(--oddity-blue) !important; }
.page-data-main .category-card .entry-content { display: grid; grid-template-columns: 118px minmax(0,1fr); grid-template-rows: auto auto 1fr auto; column-gap: 18px; align-content: start; padding: 24px !important; }
.page-data-main .category-card h1 { grid-column: 1 / -1; margin: 0 45px 4px 0; font-size: 21px !important; }
.page-data-main .category-card h1 a { color: #173746; text-decoration: none; }
.page-data-main .category-count { grid-column: 1 / -1; margin-bottom: 17px; color: var(--oddity-orange); font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.page-data-main .category-card .entry-content > a:not(.category-feed) { grid-column: 1; grid-row: 3 / span 2; }
.page-data-main .category-card .entry-content > a:not(.category-feed) img { float: none; width: 112px; height: 112px; margin: 0; padding: 12px; border: 1px solid var(--oddity-line); border-radius: 10px; background: linear-gradient(145deg,#f7fafb,#e8f1f5); object-fit: contain; }
.page-data-main .category-card .entry-content > p:not(.category-action) { display: -webkit-box; grid-column: 2; overflow: hidden; margin: 0; color: #52626b; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 7; }
.page-data-main .category-action { grid-column: 2; align-self: end; margin: 18px 0 0; }
.page-data-main .category-action .cta-button { min-height: 40px; padding: 8px 14px; }
.page-data-main .category-feed { position: absolute; top: 20px; right: 20px; padding: 5px 7px; border-radius: 5px; color: #697982; background: #edf3f5; font-size: 9px; font-weight: 850; text-decoration: none; }
.page-data-main .database-meta-category { min-height: 88px; padding: 12px 8px; border-top: 1px solid var(--oddity-line); background: #f2f6f8; }
.page-data-main .database-meta-category > div { display: flex; justify-content: center; gap: 10px; padding: 0 !important; }
.page-data-main .database-meta-category img { float: none; width: 54px; height: 54px; margin: 0; padding: 6px; border: 1px solid #dce5e9; border-radius: 7px; background: #fff; object-fit: contain; transition: transform .15s ease; }
.page-data-main .database-meta-category a:hover img { transform: translateY(-3px); }

#sidebar .widget-recent-data { border-top: 4px solid var(--oddity-blue); }
#sidebar .widget-recent-data .widget-content { padding: 18px; }
#sidebar .widget-recent-data h1 { margin: -18px -18px 14px; }
#sidebar .widget-recent-data .recent-data-row { width: 100%; min-height: 0; margin: 0 0 10px; }
#sidebar .widget-recent-data .db-block-inner { display: grid; grid-template-columns: 58px minmax(0,1fr); grid-template-rows: auto 1fr; min-height: 100px; margin: 0; padding: 0; overflow: hidden; border: 1px solid var(--oddity-line); border-radius: 8px; background: #fff; box-shadow: 0 4px 12px rgba(24,57,70,.07); }
#sidebar .widget-recent-data .db_name { grid-column: 1 / -1; padding: 8px 10px; border-bottom: 1px solid #e4eaed; color: #173746; font-size: 12px; font-weight: 800; line-height: 1.3; text-decoration: none; }
#sidebar .widget-recent-data .db-block-inner > a:not(.db_name) { grid-column: 1; grid-row: 2; align-self: center; }
#sidebar .widget-recent-data .db-block-inner > a > img { float: none; width: 48px; height: 48px; margin: 7px 5px 7px 8px; padding: 5px; border: 0; border-radius: 6px; background: #f2f6f8; object-fit: contain; }
#sidebar .widget-recent-data .db-block-content { grid-column: 2; grid-row: 2; padding: 8px 7px; color: #617079; font-size: 11px; line-height: 1.35; }
#sidebar .widget-recent-data .db-block-content strong { color: #284653; }
#sidebar .widget-recent-data .recent-version { color: var(--oddity-orange); font-weight: 750; }
#sidebar .widget-recent-data .slat-buttons { margin-top: 4px !important; }

#sidebar .widget-category-nav { border-top: 4px solid var(--oddity-orange); }
#sidebar .widget-category-nav .widget_categories { padding: 14px; }
#sidebar .widget-category-nav h1 { margin: -14px -14px 12px; }
#sidebar .widget-category-nav .widget_categories li { margin-bottom: 6px; border: 0; }
#sidebar .widget-category-nav .widget_categories a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; min-height: 43px; padding: 9px 10px 9px 13px; border: 1px solid #e0e8ec; border-radius: 7px; color: #29424e; background: linear-gradient(135deg,#fff,#f7fafb); box-shadow: 0 2px 7px rgba(28,55,66,.04); }
#sidebar .widget-category-nav .widget_categories a::before { display: none; }
#sidebar .widget-category-nav .widget_categories a small { min-width: 30px; padding: 3px 6px; border-radius: 10px; color: var(--oddity-blue-dark); background: #e5f1f6; font-size: 10px; font-weight: 850; text-align: center; }
#sidebar .widget-category-nav .widget_categories a:hover { padding: 9px 10px 9px 13px; color: #fff; border-color: var(--oddity-blue-dark); background: linear-gradient(100deg,var(--oddity-blue-dark),var(--oddity-blue)); transform: translateX(3px); }
#sidebar .widget-category-nav .widget_categories a:hover small { color: #fff; background: rgba(255,255,255,.18); }
#sidebar .widget-category-nav .children { margin: 6px 0 6px 12px; padding-left: 8px; border-left: 2px solid #dce8ed; }

.oddity-dialog { width: min(520px,calc(100vw - 28px)); padding: 28px; border: 1px solid var(--oddity-line); border-radius: 13px; color: var(--oddity-ink); background: #fff; box-shadow: 0 24px 70px rgba(12,28,36,.35); }
.oddity-dialog::backdrop { background: rgba(12,22,28,.72); backdrop-filter: blur(3px); }
.oddity-dialog h2 { margin: 4px 35px 11px 0; font-size: 25px; }
.oddity-dialog-close { position: absolute; top: 12px; right: 12px; min-width: 38px; min-height: 38px; padding: 0; border: 0; background: transparent; font-size: 27px; }
.oddity-dialog label { display: block; margin: 18px 0 6px; font-weight: 750; }
.oddity-dialog input[type="email"] { width: 100%; }
.newsletter-trap { position: absolute; left: -10000px; }
.newsletter-status { min-height: 24px; margin: 12px 0 0; color: var(--oddity-blue-dark); font-weight: 700; }
.oddity-tooltip { position: fixed; z-index: 12000; max-width: 280px; padding: 8px 11px; border-radius: 6px; color: #fff; background: #18272f; box-shadow: 0 8px 22px rgba(0,0,0,.25); font-size: 12px; line-height: 1.35; pointer-events: none; }
.oddity-tooltip[hidden] { display: none; }

/* Compact account and cart control, independent of the obsolete checkout image. */
#cart_widget_inner { overflow: visible; }
.cart-summary { display: grid; grid-template-columns: auto 1fr; gap: 0 6px; margin: 0; line-height: 1.25; }
.cart-count { grid-row: 1 / span 2; align-self: center; color: #7fc8e6; font-size: 25px; font-weight: 300; }
.cart-label { color: #dbe4e8; font-size: 11px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.cart-total { color: #ff8b3d; font-size: 13px; font-weight: 800; }
.cart-view { grid-column: 1 / -1; margin-top: 6px; color: #fff !important; font-size: 12px; }
.cart-checkout-wrap { float: none !important; }
#cart_transact_out { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 8px 12px; border-radius: 7px; color: #17270e; background: linear-gradient(#b8dc66,#87b73b); box-shadow: 0 5px 12px rgba(0,0,0,.2); font-size: 12px; font-weight: 850; letter-spacing: .035em; text-decoration: none; text-transform: uppercase; }
#cart_transact_out:hover { color: #17270e; background: #b9df70; }
.cart-icon { position: relative; width: 19px; height: 15px; border: 2px solid currentColor; border-top: 0; transform: skew(-7deg); }
.cart-icon::before { content: ""; position: absolute; top: -6px; left: -5px; width: 7px; border-top: 2px solid currentColor; }
.cart-icon::after { content: "••"; position: absolute; top: 8px; left: 1px; letter-spacing: 5px; }

/* Sidebar directory navigation. */
#sidebar > .widget { overflow: hidden; border: 1px solid var(--oddity-line); border-radius: 9px; background: #fff; box-shadow: var(--oddity-shadow); }
#sidebar .widget-top, #sidebar .widget-bottom { display: none; }
#sidebar .widget-content, #sidebar .widget_categories { width: 100%; padding: 20px; background: #fff; }
#sidebar .widget h1 { margin: -20px -20px 14px; padding: 16px 52px 14px 18px; border-bottom: 1px solid var(--oddity-line); color: #173746; background: linear-gradient(110deg,#f3f8fa,#fff); font-size: 18px; }
#sidebar .widget_categories ul { margin: 0; padding: 0; }
#sidebar .widget_categories li { border-bottom: 1px solid #edf1f3; list-style: none; }
#sidebar .widget_categories li:last-child { border-bottom: 0; }
#sidebar .widget_categories a { display: block; position: relative; padding: 8px 8px 8px 17px; color: #364b56; font-weight: 600; text-decoration: none; }
#sidebar .widget_categories a::before { content: ""; position: absolute; left: 2px; top: 50%; width: 5px; height: 5px; border-radius: 50%; background: var(--oddity-orange); transform: translateY(-50%); }
#sidebar .widget_categories a:hover { padding-left: 21px; color: var(--oddity-blue-dark); background: #f5fafc; }
.search-suggestions { position: absolute; z-index: 80; top: calc(100% + 4px); left: 0; right: 0; overflow: hidden; border: 1px solid var(--oddity-line); border-radius: 7px; background: #fff; box-shadow: 0 12px 26px rgba(24,35,42,.18); }
.search-suggestions[hidden] { display: none; }
#search-bg { position: relative; }
.search-suggestion { display: block; width: 100%; min-height: 40px; padding: 9px 11px; border: 0; border-bottom: 1px solid #edf1f3; border-radius: 0; color: #29404c; background: #fff; text-align: left; }
.search-suggestion:hover, .search-suggestion:focus { color: var(--oddity-blue-dark); background: #f0f7fa; }

/* Native support entry point; later backed by the native ticket module. */
.support-dock { position: fixed; right: 22px; bottom: 20px; z-index: 9000; font-family: "Segoe UI", Arial, sans-serif; }
.support-dock-toggle { display: flex; align-items: center; gap: 9px; min-height: 48px; padding: 9px 17px; border: 0; border-radius: 24px; color: #fff; background: linear-gradient(135deg, #f5852d, #df5817); box-shadow: 0 10px 26px rgba(123,54,15,.3); }
.support-dock-icon { display: grid; place-items: center; width: 27px; height: 27px; border: 2px solid rgba(255,255,255,.8); border-radius: 50%; }
.support-dock-panel { position: absolute; right: 0; bottom: 60px; width: min(350px, calc(100vw - 28px)); padding: 25px; border: 1px solid var(--oddity-line); border-radius: 12px; background: #fff; box-shadow: 0 18px 50px rgba(24,35,42,.24); }
.support-dock-panel[hidden] { display: none; }
.support-dock-panel h2 { margin: 3px 28px 10px 0; font-size: 23px; }
.support-dock-panel p { color: #5c6b74; }
.support-dock-kicker { margin: 0; color: var(--oddity-orange) !important; font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.support-dock-close { position: absolute; top: 11px; right: 11px; min-width: 36px; min-height: 36px; padding: 0; border: 0; background: transparent; font-size: 25px; }
.support-primary, .support-secondary { display: flex; margin-top: 10px; }
.support-secondary { color: var(--oddity-blue-dark) !important; background: #fff; box-shadow: none; }

#myController { display: flex; gap: 6px; align-items: center; width: max-content; padding: 6px; border: 1px solid rgba(255,255,255,.5); border-radius: 7px; background: rgba(23,35,43,.25); }
#myController span, #myController a { display: grid; place-items: center; width: 25px; height: 25px; margin: 0; border: 1px solid rgba(255,255,255,.5); border-radius: 5px; color: #fff; background: rgba(212,74,18,.72); font-weight: 800; text-decoration: none; }

/* Footer as a useful closing surface instead of a tiny legacy strip. */
div#footer { margin-top: 64px; }
#footer .footer-content { padding: 32px 0 26px; }
#footer #top { margin-bottom: 22px; color: #fff; background: #303941; text-decoration: none; }
#footer .footer-nav a { font-size: 14px; text-decoration: none; }
#footer .copyright { padding-top: 22px; }

/* Legacy result tiles used fixed heights and clipped their final metadata row. */
#main-content .db-block { height: auto; min-height: 112px; margin-bottom: 12px; }
#main-content .db-block-inner {
  height: auto; min-height: 104px; overflow: hidden; border: 1px solid var(--oddity-line);
  background: var(--oddity-surface-alt);
}
#services-content { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
#services-content > div { display: flex; width: auto; height: auto; }
#services-content .col-content { display: flex; flex-direction: column; width: 100%; }
#services-content .col-content h1 { min-height: 42px; margin-bottom: 8px; padding-right: 62px; font-size: 18px; }
#services-content .more-link { display: inline-block; margin-top: 8px; }
.home-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; margin: 18px 0 4px; }
.home-actions .buttonize { margin: 0; }
.home-lead { font-size: 16px; color: #394851; }
.home-benefits { margin: 12px 0 18px; padding-left: 20px; }
.home-benefits li { margin-bottom: 7px; }

@media (min-width: 1001px) {
  #main-content > #services, #main-content > #services #services-content,
  #main-content > #services #services-bottom { width: 100%; }
  #main-content > #content { width: calc(100% - 354px); }
  #main-content > #sidebar { width: 320px; }
  #main-content > #content .entry { width: 100%; }
  #main-content > #content .entry-content,
  #main-content > #content .comment-content { box-sizing: border-box; width: 100%; }
  .page-home #content .entry-content > a > img[width="600"] { display: block; width: 100%; margin-inline: auto; }
  .page-home #content .entry-content > div[style*="width: 184px"] {
    width: calc(33.333% - 10px) !important; margin: 8px 5px !important; padding: 8px !important;
  }
  .page-data-main #main-content > #content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
  .page-data-main #main-content > #content > .entry { display: flex; flex-direction: column; height: auto; margin: 0; }
  .page-data-main #main-content > #content > .entry:first-child { grid-column: 1 / -1; }
  .page-data-main #main-content > #content > .entry .entry-content { flex: 1; }
  .page-data-main #main-content > #content > .entry:not(:first-child) .entry-content > p:first-of-type {
    display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 9;
  }
  .page-data-main #main-content > #content > .entry .database-meta-category { height: auto; min-height: 80px; }
}

@media (max-width: 960px) {
  .site-header-shell > .wrapper { width: 100%; }
  #header { min-height: 0; padding-top: 58px; }
  #mobile-menu-toggle { position: absolute; top: 8px; left: 12px; right: 12px; width: auto; }
  div#header-box { left: 0; right: 0; width: auto; margin-inline: 16px; }
  #nav-content { border-radius: 0; }
  #nav { box-shadow: 0 12px 20px rgba(0,0,0,.2); }
  #main-content.wrapper { width: min(100% - 24px, var(--oddity-content)); }
}

@media (max-width: 768px) {
  body { font-size: 16px; }
  #header { padding-bottom: 14px; }
  #header-box { padding: 12px 0 0; }
  #header-box .account-summary { text-align: center; }
  #header-box #cart_widget_inner { border: 1px solid var(--oddity-line); border-radius: 7px; box-shadow: 0 5px 15px rgba(0,0,0,.08); }
  #feature-projects-content { width: 100% !important; }
  #services-content { display: block; }
  #services-content .col-content h1 { min-height: 0; }
  .home-actions { justify-content: stretch; }
  .home-actions .buttonize { flex: 1 1 100%; text-align: center; }
  .entry { border-radius: 7px; }
  .home-bulk-solutions .home-benefits { grid-template-columns: 1fr; }
  .support-dock { right: 12px; bottom: 12px; }
  #header-box .account-summary { justify-content: center; }
  #header-box .account-summary::before { display: none; }
  #header-box .account-name { max-width: 140px; }
  #header-box #cart_widget_inner { border: 0; }
  .cart-label { color: #46555e; }
  .cart-view { color: #24313a !important; }
  .home-data-intro { grid-template-columns: 1fr; }
  .home-data-intro > p { grid-column: 1; }
  .data-visual { grid-row: auto; min-height: 150px; }
  #footer { margin-top: 32px; }
  #footer .footer-nav ul { flex-direction: column; align-items: center; gap: 10px; }
}

@media (max-width: 480px) {
  #main-content.wrapper { width: calc(100% - 20px); }
  div#header-box { left: 0; right: 0; width: auto; margin-inline: 10px; }
  #footer .footer-content { width: calc(100% - 24px); }
}
