/* Shared visual system. Loaded last to unify the existing tool-specific UIs. */
:root {
 --font-display: "Space Grotesk", "Plus Jakarta Sans", sans-serif;
 --ref-purple: #0875ff; --ref-purple-dark: #0059d9; --ref-blue: #0875ff;
 --ref-ink: #081344; --ref-muted: #586d9e; --ref-line: #e2edfc;
 --ink-950: #081344; --ink-800: #263a6b; --ink-700: #586d9e;
 --brand-blue: #0875ff; --brand-blue-deep: #0059d9;
 --radius-lg: 16px; --radius-xl: 20px;
 --type-caption: .78rem; --type-small: .86rem; --type-body: .95rem;
 --type-card-title: 1.05rem; --text-secondary: #586d9e;
 --tool-heading-ink: #081344; --tool-heading-copy: #586d9e;
 --tool-heading-purple: #0875ff; --tool-heading-border: #d6cdf0;
 --tool-heading-surface: #edf6ff;
 --tool-content-caption: .8rem; --tool-content-control: .85rem;
 --tool-content-body: .9rem; --tool-content-title: 1rem;
}
body.lipicode-bold { background: #ffffff; color: #081344; }
.lipicode-bold .container, .lipicode-bold .site-band { width: min(1240px, calc(100% - 80px)); max-width: 1240px; margin-inline: auto; padding-inline: 0; }
.lipicode-bold h1, .lipicode-bold h2, .lipicode-bold h3 { font-family: var(--font-display); }
.lipicode-bold :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #0875ff; outline-offset: 4px; }
.lipicode-bold ::selection { color: #081344; background: #d5edff; }
.lipicode-bold .site-shell { position: sticky; top: 0; z-index: 40; }
.lipicode-bold .navbar { position: static; border-bottom: 1px solid #e2edfc; background: #fffffff5; box-shadow: none; backdrop-filter: blur(16px); }
.lipicode-bold .nav-flex { min-height: 84px; gap: 24px; }
.lipicode-bold .logo a { gap: 0; font-size: 1.55rem; color: #081344; font-family: var(--font-display); letter-spacing: -.065em; }
.lipicode-bold .logo a > span { color: #081344; }
.lipicode-bold .logo a .brand-dot { color: #0875ff; }
.lipicode-bold .logo .brand-mark { display: inline-flex; align-items: center; justify-content: center; gap: 0; width: 38px; height: 38px; margin-right: 10px; border-radius: 9px; background: #0875ff; color: #fff; font: 700 1.3rem var(--font-display); letter-spacing: -.12em; }
.lipicode-bold .brand-mark span { color: #d5edff; font-size: 1.2rem; }
.lipicode-bold .site-nav { gap: 22px; }
.lipicode-bold .site-nav a { padding: 9px 4px; border-radius: 0; color: #586d9e; font-size: .81rem; font-weight: 600; }
.lipicode-bold .site-nav a:hover, .lipicode-bold .site-nav a[aria-current="page"] { color: #0875ff; background: transparent; box-shadow: 0 2px 0 #0875ff; }
.lipicode-bold .site-nav .nav-mobile-contact { display: none; }
.lipicode-bold .nav-actions .nav-contact { display: inline-flex; align-items: center; justify-content: center; gap: 25px; min-height: 42px; padding: 12px 19px; border: 1px solid #081344; border-radius: 7px; color: #fff; background: #081344; box-shadow: none; font-size: .76rem !important; }
.lipicode-bold .nav-contact:hover { background: #0875ff; border-color: #0875ff; }
.lipicode-bold .nav-contact span { font-size: 1rem; }
/* Directory and category pages */
.lipicode-bold .tools-hero { padding: 64px 0; border-bottom: 1px solid #d9eaff; background: #edf6ff; }
.lipicode-bold .tools-hero-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; }
.catalog-eyebrow { color: #0875ff; font: 600 .7rem var(--font-mono); letter-spacing: .1em; }
.lipicode-bold .tools-hero h1 { margin: 17px 0; color: #081344; font-size: clamp(2.6rem,4.8vw,4.7rem); line-height: 1.02; letter-spacing: -.06em; }
.lipicode-bold .tools-hero p { max-width: 480px; color: #586d9e !important; font-size: .95rem !important; line-height: 1.8; }
.lipicode-bold .tools-hero-search { display: flex; align-items: center; gap: 12px; padding: 8px 8px 8px 18px; border: 1px solid #d5e6ff; border-radius: 11px; background: #fff; box-shadow: 0 5px 0 #e7f2ff; }
.lipicode-bold .tools-hero-search input { min-width: 0; flex: 1; padding: 12px 0; background: transparent; font-size: .85rem !important; }
.lipicode-bold .tools-hero-search button { padding: 14px 20px; border-radius: 7px; color: #fff; background: #0875ff; font-size: .8rem !important; }
.lipicode-bold .tools-popular-searches { margin-top: 20px; line-height: 1.8; }
.lipicode-bold .tools-popular-searches :is(strong,a) { font-size: .68rem !important; }
.lipicode-bold .tools-catalog { background: #ffffff; padding-bottom: 70px; }
.lipicode-bold .directory-breadcrumb { padding-block: 26px; margin: 0; font-size: .74rem !important; }
.lipicode-bold .catalog-layout { grid-template-columns: 230px minmax(0,1fr); gap: 30px; }
.lipicode-bold .catalog-category-card { padding: 20px 13px; border: 1px solid #e2edfc; border-radius: 12px; background: #fff; box-shadow: none; }
.lipicode-bold .catalog-category-card h2 { margin: 0 10px 18px; font-size: .95rem !important; }
.lipicode-bold .side-filter { margin: 4px 0; padding: 12px 10px; border: 0; border-radius: 7px; font-size: .76rem !important; }
.lipicode-bold :is(.side-filter,.tool-side-menu > a).is-active { color: #fff !important; background: #0875ff; border-color: #0875ff; }
.lipicode-bold .side-filter.is-active :is(small,strong,.category-nav-icon), .lipicode-bold .tool-side-menu > a.is-active :is(b,span,i) { color: #fff !important; background: transparent; }
.lipicode-bold .side-filter:not(.is-active):hover { background: #edf6ff; }
.lipicode-bold .catalog-toolbar { gap: 12px; padding: 0 0 20px; border: 0; background: transparent; box-shadow: none; }
.lipicode-bold .catalog-filters { flex-wrap: wrap; gap: 7px; }
.lipicode-bold .catalog-filter { min-height: 36px; padding: 8px 11px; border: 1px solid #e2edfc; border-radius: 6px; font-size: .69rem !important; color: #586d9e; background: #fff; }
.lipicode-bold .catalog-filter.is-active { color: #fff; background: #081344; border-color: #081344; }
.lipicode-bold .catalog-toolbar > label { font-size: .69rem !important; }
.lipicode-bold .catalog-toolbar select { padding: 8px; border-radius: 6px; font-size: .69rem !important; }
.lipicode-bold .catalog-tool-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.lipicode-bold .catalog-tool-card { min-height: 225px; padding: 22px; border: 1px solid #e2edfc; border-radius: 12px; background: #fff; box-shadow: none; transition: transform .18s, box-shadow .18s, border-color .18s; }
.lipicode-bold .catalog-tool-card:hover { transform: translateY(-4px); border-color: #0875ff; box-shadow: 4px 5px 0 #dcecff; }
.lipicode-bold .catalog-tool-icon { width: 43px; height: 43px; margin-bottom: 18px; border-radius: 10px; background: #eaf3ff; color: #0875ff; box-shadow: none; }
.lipicode-bold .catalog-tool-card:nth-child(3n+2) .catalog-tool-icon { background: #f0f5df; color: #527121; }
.lipicode-bold .catalog-tool-card:nth-child(3n) .catalog-tool-icon { background: #ffede2; color: #b14c20; }
.lipicode-bold .catalog-tool-card h2 { font-size: 1rem !important; letter-spacing: -.02em; }
.lipicode-bold .catalog-tool-card p { font-size: .76rem !important; line-height: 1.65 !important; }
.lipicode-bold .catalog-card-footer { padding-top: 18px; color: #0875ff; font-size: .67rem !important; }
.lipicode-bold .catalog-card-footer em { font-size: .62rem !important; color: #0875ff; background: #edf6ff; }
/* Consistent framing around each interactive tool; layout and output colors remain tool-owned. */
.lipicode-bold .tool-detail-page { padding-top: 25px !important; padding-bottom: 65px; background: #f7faff; }
.lipicode-bold .tool-detail-layout { gap: 28px; }
.lipicode-bold .tool-detail-main { min-width: 0; }
.lipicode-bold .tool-side-menu { border: 1px solid #e2edfc; border-radius: 12px; background: #fff; box-shadow: none; overflow: hidden; }
.lipicode-bold .tool-side-menu header { padding: 18px 16px; border-bottom: 1px solid #e5eefb; background: #fff; }
.lipicode-bold .tool-side-menu header strong { font-size: .9rem !important; }
.lipicode-bold .tool-side-menu > a { margin: 4px 8px; padding: 12px 10px; border-radius: 7px; font-size: .76rem !important; }
.lipicode-bold .tool-side-menu > small { padding-left: 18px; letter-spacing: .08em; }
.lipicode-bold .tool-detail-heading { margin-bottom: 22px !important; padding-top: 18px !important; padding-bottom: 22px !important; border-bottom: 1px solid #dce9fa !important; background: transparent !important; }
.lipicode-bold .tool-detail-heading h1 { color: #081344 !important; font-family: var(--font-display) !important; font-size: clamp(1.65rem,2.5vw,2.45rem) !important; letter-spacing: -.045em !important; line-height: 1.1 !important; }
.lipicode-bold .tool-detail-heading p { max-width: 650px; margin-top: 9px !important; color: #586d9e !important; font-size: .88rem !important; line-height: 1.65 !important; }
.lipicode-bold .tool-detail-heading .tool-detail-icon { width: 50px !important; height: 50px !important; border: 1px solid #cfe3ff !important; border-radius: 12px !important; color: #0875ff !important; background: #eaf3ff !important; }
.lipicode-bold .tool-detail-main :where(button,input,select,textarea,summary) { font-size: .85rem !important; }
.lipicode-bold .tool-detail-main :where(p,li,dt,dd,label,small) { font-size: .8rem !important; line-height: 1.65 !important; }
.lipicode-bold .tool-detail-main :where(h2,h3) { font-size: 1rem !important; }
.lipicode-bold .tool-detail-main textarea { font-family: var(--font-mono) !important; line-height: 1.7 !important; }
.lipicode-bold .tool-detail-workspace { border-color: #e2edfc; border-radius: 12px; background: #fff; box-shadow: 0 5px 20px #08134405; }
.lipicode-bold .tool-detail-main :is(.base64-hero,.image-base64-hero,.hash-hero,.uuid-hero,.jwt-hero,.jwt-decoder-hero,.url-codec-hero,.hash-verifier-hero,.uuid-verify-hero,.password-hero,.ai-sql-hero) { border-radius: 12px !important; background: #edf6ff !important; }
.lipicode-bold .tool-detail-main :is(.tool-panel,.tool-box,.info-card,.tool-guide,.tool-sample,.css-example-card) { border-color: #e2edfc; border-radius: 12px; box-shadow: none; }
.lipicode-bold .tool-editorial { margin-top: 38px; padding: 28px; border: 1px solid #e2edfc; border-radius: 12px; background: #fff; }
.lipicode-bold .tool-editorial-heading h2 { margin-top: 9px; font-size: 1.35rem !important; letter-spacing: -.03em; }
.lipicode-bold .tool-editorial-heading span { font: 600 .65rem var(--font-mono); color: #0875ff; text-transform: uppercase; letter-spacing: .08em; }
.lipicode-bold .tool-editorial-grid { gap: 16px; }
.lipicode-bold .tool-editorial-grid article { border-color: #e5eefb; border-radius: 9px; background: #f7faff; }
.lipicode-bold .tool-editorial-faq details { padding: 14px 0; border-color: #e5eefb; }
.lipicode-bold .tool-editorial-faq summary { cursor: pointer; font-weight: 600; }
/* Content, help, privacy and learning pages */
.lipicode-bold :is(.about-hero,.privacy-hero,.contact-hero,.cookie-hero,.guides-hero,.guide-article-hero,.page-hero) { border-bottom: 1px solid #d9eaff; background: #edf6ff; }
.lipicode-bold :is(.about-hero,.privacy-hero,.contact-hero,.cookie-hero) { padding-top: 35px; padding-bottom: 55px; }
.lipicode-bold :is(.about-hero,.privacy-hero,.contact-hero,.cookie-hero,.guides-hero,.guide-article-hero,.page-hero) h1 { color: #081344; font-size: clamp(2.4rem,4.6vw,4.4rem); line-height: 1.06; letter-spacing: -.055em; }
.lipicode-bold :is(.about-hero,.privacy-hero,.contact-hero,.cookie-hero) h1 span { color: #0875ff; }
.lipicode-bold :is(.about-hero,.privacy-hero,.contact-hero,.cookie-hero) p { font-size: .95rem !important; line-height: 1.8 !important; }
.lipicode-bold :is(.about-benefits,.privacy-content,.contact-section,.cookie-content,.guides-list) { background: #ffffff; }
.lipicode-bold :is(.about-benefit-grid > article,.about-story-grid > article,.contact-card,.privacy-policy-card,.privacy-glance,.privacy-question,.cookie-aside-card,.info-card,.surface-panel) { border: 1px solid #e2edfc; border-radius: 12px; background: #fff; box-shadow: none; }
.lipicode-bold .about-benefits > .container > header h2 { font-size: clamp(1.7rem,3vw,2.5rem); letter-spacing: -.04em; }
.lipicode-bold .about-stats { border-radius: 12px; background: #081344; color: #fff; }
.lipicode-bold .about-stats strong { color: #d5edff; }
.lipicode-bold .about-stats span { color: #ece5f8; }
.lipicode-bold .contact-section :is(input,textarea,select) { padding: 12px 14px; border: 1px solid #dbe8f9; border-radius: 7px; background: #ffffff; font-size: .88rem !important; }
.lipicode-bold :is(.privacy-policy-card,.privacy-sidebar,.cookie-content) :is(p,li) { font-size: .88rem !important; line-height: 1.8 !important; }
.lipicode-bold .guides-grid { gap: 20px; border: 0; }
.lipicode-bold .guides-grid article { border: 1px solid #e2edfc; border-radius: 12px; background: #fff; }
.lipicode-bold .guides-grid article:nth-child(3n+1) { background: #edf6ff; }
.lipicode-bold .guides-grid article:nth-child(3n+2) { background: #f2f6e9; }
.lipicode-bold .guides-grid article:nth-child(3n) { background: #fff1e8; }
.lipicode-bold .guides-grid h2 { font-size: 1.3rem; letter-spacing: -.025em; }
.lipicode-bold .guide-article-body :is(p,li) { color: #586d9e; }
.lipicode-bold .guide-article-sidebar > section { border-color: #e2edfc; border-radius: 12px; box-shadow: none; }
/* Footer */
.lipicode-bold .footer { margin-top: 0; padding-top: 55px; border-top: 0; background: #081344; color: #fff; }
.lipicode-bold .footer-main { display: grid; grid-template-columns: 1fr 1.3fr; gap: 80px; padding-block: 0 40px; }
.lipicode-bold .footer-logo { display: inline-flex; align-items: center; gap: 10px; color: #fff; font: 700 1.6rem var(--font-display); letter-spacing: -.04em; }
.lipicode-bold .footer-logo span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 8px; background: #d5edff; color: #081344; font-size: 1.1rem; }
.lipicode-bold .footer-brand p { max-width: 320px; margin-top: 18px; color: #64789f !important; font-size: .82rem !important; line-height: 1.8 !important; }
.lipicode-bold .footer-menu { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; }
.lipicode-bold .footer-menu-row { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.lipicode-bold .footer-menu-row strong { margin-bottom: 5px; color: #fff; font: 600 .7rem var(--font-mono) !important; text-transform: uppercase; letter-spacing: .08em; }
.lipicode-bold .footer-menu-row a { color: #64789f !important; font-size: .78rem !important; }
.lipicode-bold .footer-menu-row a:hover { color: #d5edff !important; }
.lipicode-bold .footer-menu-row .footer-request { padding: 0; border: 0; background: transparent; }
.lipicode-bold .footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-block: 22px; border-top: 1px solid #e4edfb; color: #64789f !important; font-size: .7rem !important; }
.lipicode-bold .footer-principles { display: flex; flex-wrap: wrap; gap: 20px; }
.lipicode-bold .footer-principles i { background: #d5edff; }
@media (max-width: 1100px) {
 .lipicode-bold .container, .lipicode-bold .site-band { width: calc(100% - 48px); }
 .lipicode-bold .catalog-layout { grid-template-columns: 205px minmax(0,1fr); gap: 22px; }
 .lipicode-bold .catalog-tool-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .lipicode-bold .catalog-toolbar { align-items: flex-start; flex-direction: column; }
 .lipicode-bold .tools-hero-grid { gap: 35px; }
 .lipicode-bold .tool-detail-layout { gap: 20px; }
}
@media (max-width: 900px) {
 .lipicode-bold .nav-flex { min-height: 72px; gap: 16px; }
 .lipicode-bold .site-nav { gap: 14px; }
 .lipicode-bold .nav-actions .nav-contact { padding-inline: 14px; gap: 12px; }
 .lipicode-bold .tools-hero-grid { grid-template-columns: 1fr; gap: 25px; }
 .lipicode-bold .tools-hero { padding-block: 45px; }
 .lipicode-bold .tools-hero-grid > div:last-child { max-width: 620px; width: 100%; }
 .lipicode-bold .catalog-layout { grid-template-columns: 1fr; }
 .lipicode-bold .catalog-category-card { display: flex; flex-wrap: wrap; gap: 5px; padding: 12px; }
 .lipicode-bold .catalog-category-card h2 { width: 100%; margin: 6px 8px; }
 .lipicode-bold .catalog-category-card .side-filter { width: auto; margin: 0; padding: 9px; }
 .lipicode-bold .catalog-category-card .category-nav-icon { width: 23px; height: 23px; }
 .lipicode-bold .catalog-category-card small { display: none; }
 .lipicode-bold .footer-main { gap: 35px; }
}
@media (max-width: 760px) {
 .lipicode-bold .container, .lipicode-bold .site-band { width: calc(100% - 36px); }
 .lipicode-bold .nav-flex { min-height: 70px; flex-wrap: wrap; position: relative; }
 .lipicode-bold .nav-toggle { display: flex; margin-left: auto; width: 40px; height: 40px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px solid #dbe8f9; border-radius: 8px; background: #fff; }
 .lipicode-bold .nav-toggle span { display: block; width: 18px; height: 2px; background: #081344; }
 .lipicode-bold .nav-actions { display: none; }
 .lipicode-bold .site-nav { display: none; position: static; flex-basis: 100%; width: 100%; flex-direction: column; align-items: stretch; gap: 0; padding: 0 0 18px; border: 0; background: #ffffff; box-shadow: none; }
 .lipicode-bold .site-nav.is-open { display: flex; }
 .lipicode-bold .site-nav a { padding: 13px 6px; font-size: .88rem; }
 .lipicode-bold .site-nav .nav-mobile-contact { display: block; color: #0875ff; }
 .lipicode-bold .tool-detail-page { padding-top: 14px !important; }
 .lipicode-bold .tool-detail-layout { grid-template-columns: 1fr; }
 .lipicode-bold .tool-detail-sidebar { padding-top: 0; }
 .lipicode-bold .tool-detail-heading h1 { font-size: clamp(1.5rem,5vw,2rem) !important; }
 .lipicode-bold .tool-detail-heading p { font-size: .8rem !important; }
 .lipicode-bold .tool-editorial { padding: 20px; }
 .lipicode-bold .footer-main { grid-template-columns: 1fr; gap: 30px; }
 .lipicode-bold .footer-menu { grid-template-columns: 1fr 1fr; }
 .lipicode-bold .footer-bottom { align-items: flex-start; flex-direction: column; }
 .lipicode-bold :is(.about-hero,.privacy-hero,.contact-hero,.cookie-hero) { padding-block: 25px 35px; }
}
@media (max-width: 480px) {
 .lipicode-bold .catalog-tool-grid { grid-template-columns: 1fr; }
 .lipicode-bold .catalog-tool-card { min-height: 0; padding: 22px; }
 .lipicode-bold .catalog-filters { gap: 6px; }
 .lipicode-bold .catalog-filter { font-size: .64rem !important; padding: 8px; }
 .lipicode-bold .tools-hero-search { gap: 7px; padding-left: 12px; }
 .lipicode-bold .tools-hero-search input { font-size: .75rem !important; }
 .lipicode-bold .tools-hero-search button { padding: 13px; }
 .lipicode-bold .tool-detail-main :where(button,input,select,textarea,summary) { font-size: .8rem !important; }
 .lipicode-bold .tool-detail-main :where(p,li,dt,dd,label,small) { font-size: .76rem !important; }
}
@media (prefers-reduced-motion: reduce) {
 .lipicode-bold { scroll-behavior: auto; }
 .lipicode-bold *, .lipicode-bold *::before, .lipicode-bold *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
 .lipicode-bold .catalog-tool-card:hover { transform: none; }
}
/* Card structure replaces the legacy compact two-column directory rows. */
.lipicode-bold .catalog-tool-card { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.lipicode-bold .catalog-tool-card .catalog-tool-icon { width: 43px; height: 43px; flex-basis: 43px; margin-bottom: 18px; color: #0875ff; background: #eaf3ff; }
.lipicode-bold .catalog-tool-card h2 { margin: 0 0 10px; }
.lipicode-bold .catalog-tool-card p { margin: 0 0 14px; }
.lipicode-bold .catalog-card-footer { display: flex; width: 100%; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 14px; }
.home-v2-guides { background: #ffffff; }
.home-v2-guide-links { border: 0; }

@media (max-width: 760px) {
 .lipicode-bold .nav-flex { display: flex; padding-block: 0; }
 .lipicode-bold .site-nav { border-radius: 0; margin-top: 0; }
 .lipicode-bold .site-nav .nav-mobile-contact { display: flex; }
}
/* Reference direction: blue-and-white branding, glossy icons, compact navigation. */
.lipicode-bold .container,.lipicode-bold .site-band { width: min(1368px,calc(100% - 96px)); max-width: 1368px; }
.lipicode-bold .nav-flex { min-height: 64px; gap: 24px; }
.lipicode-bold .logo a { gap: 10px; color: #081344; font: 800 1.65rem var(--font-sans); letter-spacing: -.065em; white-space: nowrap; }
.lipicode-bold .document-brand,.lipicode-bold .footer-logo .document-brand { display: inline-flex; flex-shrink: 0; width: 29px; height: 36px; border-radius: 0; background: transparent; filter: drop-shadow(0 3px 4px #0875ff25); }
.document-brand svg { display: block; width: 100%; height: 100%; fill: #0875ff; }.document-brand .brand-fold { fill: #7bd5ff; }.document-brand .brand-lines { fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; }
.lipicode-bold .navbar { background: linear-gradient(100deg,#fff,#fff 65%,#edf8ff); border-bottom-color: #e3edfc; }
.lipicode-bold .site-nav { flex: 1; justify-content: center; gap: 17px; }
.lipicode-bold .site-nav a { color: #081344; padding: 20px 0; font-size: .7rem; font-weight: 600; white-space: nowrap; }
.lipicode-bold .site-nav a[aria-current="page"] { color: #0875ff; }
.nav-tool-search { display: flex; align-items: center; width: 190px; height: 34px; padding: 0 10px 0 14px; border-radius: 99px; background: #eaf4ff; }
.nav-tool-search input { width: 0; flex: 1; min-width: 0; padding: 6px 0; border: 0; color: #081344; background: transparent; font-size: .65rem; }
.nav-tool-search input::placeholder { color: #586d9e; }.nav-tool-search button { display: grid; place-items: center; width: 25px; height: 25px; padding: 0; border: 0; color: #073a9d; background: transparent; }.nav-tool-search svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.lipicode-bold .nav-actions .nav-contact { gap: 9px; min-height: 34px; padding: 8px 15px; border: 1px solid #0875ff; border-radius: 6px; color: #fff; background: linear-gradient(135deg,#23adff,#0061ff); font-size: .68rem !important; box-shadow: 0 3px 8px #0875ff15; white-space: nowrap; }
.lipicode-bold .nav-contact svg { width: 15px; height: 15px; fill: currentColor; }
.lipicode-bold .tools-hero { background: radial-gradient(ellipse at 90% 30%,#c7e9ff,transparent 65%),linear-gradient(120deg,#fafdff,#eaf6ff); }
.lipicode-bold .tools-hero h1 { color: #081344; font-family: var(--font-sans); font-weight: 800; }
.lipicode-bold .tools-hero-search { border-radius: 99px; box-shadow: 0 8px 20px #0875ff08; }.lipicode-bold .tools-hero-search button { border-radius: 99px; background: linear-gradient(135deg,#20a8ff,#0064ff); }
.lipicode-bold .catalog-filter.is-active,.lipicode-bold :is(.side-filter,.tool-side-menu > a).is-active { color: #fff !important; background: linear-gradient(120deg,#239eff,#0067ff); border-color: #0875ff; }
.lipicode-bold .catalog-tool-card .catalog-tool-icon { color: #fff; background: linear-gradient(135deg,#35c1ff,#0067ff); border-radius: 10px; box-shadow: inset 1px 1px 3px #ffffff55; }
.lipicode-bold .catalog-tool-card:nth-child(6n+2) .catalog-tool-icon { color: #fff; background: linear-gradient(135deg,#ff6b88,#ff2250); }.lipicode-bold .catalog-tool-card:nth-child(6n+3) .catalog-tool-icon { color: #fff; background: linear-gradient(135deg,#b97bff,#7930fc); }.lipicode-bold .catalog-tool-card:nth-child(6n+4) .catalog-tool-icon { color: #fff; background: linear-gradient(135deg,#ffb154,#ff701e); }.lipicode-bold .catalog-tool-card:nth-child(6n+5) .catalog-tool-icon { color: #fff; background: linear-gradient(135deg,#00e1a0,#00a477); }.lipicode-bold .catalog-tool-card:nth-child(6n+6) .catalog-tool-icon { color: #fff; background: linear-gradient(135deg,#ff74ca,#ff128d); }
.lipicode-bold .catalog-tool-card:hover { box-shadow: 0 8px 24px #0875ff13; }
.lipicode-bold .tool-detail-heading .tool-detail-icon { color: #fff !important; border: 0 !important; background: linear-gradient(135deg,#31beff,#0067ff) !important; box-shadow: 0 4px 10px #0875ff20 !important; }
.lipicode-bold .footer { padding-top: 36px; border-top: 1px solid #e0ecfc; background: linear-gradient(120deg,#fff,#f9fcff); color: #081344; }
.lipicode-bold .footer-main { grid-template-columns: minmax(220px,.9fr) minmax(0,2.1fr); align-items: start; gap: 72px; padding-block: 0 32px; }
.lipicode-bold .footer-logo { gap: 10px; color: #081344; font: 800 1.55rem var(--font-sans); letter-spacing: -.055em; }
.lipicode-bold .footer-brand p { max-width: 270px; margin-top: 14px; color: #52668f !important; font-size: .85rem !important; line-height: 1.65 !important; }
.lipicode-bold .footer-menu { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: start; gap: 40px; padding: 0; border: 0; }
.lipicode-bold .footer-menu-row { min-height: 0; flex-wrap: nowrap; justify-content: flex-start; gap: 9px; padding: 0; border: 0; }.lipicode-bold .footer-menu-row strong { flex: 0 0 auto; margin: 0 0 5px; color: #081344; font: 800 .85rem var(--font-sans) !important; text-transform: none; letter-spacing: 0; }
.lipicode-bold .footer-menu-row a { color: #52668f !important; font-size: .8rem !important; line-height: 1.4 !important; }.lipicode-bold .footer-menu-row a:hover { color: #0875ff !important; }
.lipicode-bold .footer-bottom { min-height: 0; padding-block: 18px; border-top: 1px solid #e4edfb; color: #52668f !important; font-size: .74rem !important; }.lipicode-bold .footer-principles i { background: #0875ff; }
.home-v2-guides { background: #fff; }
@media (max-width:1200px) { .lipicode-bold .container,.lipicode-bold .site-band { width: calc(100% - 56px); }.lipicode-bold .nav-flex { gap: 18px; }.lipicode-bold .site-nav { gap: 13px; }.nav-tool-search { width: 150px; }.lipicode-bold .logo a { font-size: 1.4rem; } }
@media (max-width:1000px) { .nav-tool-search { display: none; }.lipicode-bold .site-nav { gap: 18px; }.lipicode-bold .footer-main { grid-template-columns: 210px minmax(0,1fr); gap: 35px; } }
@media (max-width:760px) { .lipicode-bold .container,.lipicode-bold .site-band { width: calc(100% - 36px); }.lipicode-bold .nav-flex { min-height: 62px; }.lipicode-bold .site-nav { flex: 0 0 100%; align-items: stretch; justify-content: flex-start; gap: 0; background: #fff; }.lipicode-bold .site-nav a { padding: 12px 5px; font-size: .83rem; }.lipicode-bold .footer-main { grid-template-columns: 1fr; gap: 23px; }.lipicode-bold .footer-menu { gap: 15px; }.lipicode-bold .footer-brand p { max-width: 330px; } }

/* Reset the horizontal footer's inherited sizing for the current link columns. */
.lipicode-bold .footer-menu-row + .footer-menu-row { padding-top: 0; border-top: 0; }
.lipicode-bold .footer-principles span { color: #52668f; font-size: .72rem; font-weight: 500; }
.lipicode-bold .footer-principles i { box-shadow: none; }
.lipicode-bold .footer::before { content: none; }
@media (max-width:760px) {
 .lipicode-bold .footer { padding-top: 28px; }
 .lipicode-bold .footer-menu { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
 .lipicode-bold .footer-main { gap: 26px; padding-bottom: 28px; }
 .lipicode-bold .footer-menu-row a { white-space: normal; font-size: .76rem !important; }
}
@media (max-width:380px) {
 .lipicode-bold .footer-menu { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
}

/* Consistent readable type and compact footer spacing. */
:root {
 --font-sans: "Inter", "Segoe UI", system-ui, sans-serif;
 --font-display: "Inter", "Segoe UI", system-ui, sans-serif;
 --text-secondary: #425574; --ref-muted: #425574;
 --type-caption: .82rem; --type-small: .9rem; --type-body: 1rem;
}
body.lipicode-bold { font-size: 16px; font-weight: 400; text-rendering: optimizeLegibility; }
.lipicode-bold .container,.lipicode-bold .site-band { max-width: 1480px; width: min(1480px,calc(100% - 64px)); }
.lipicode-bold .site-nav a { font-size: .86rem; font-weight: 500; }
.nav-tool-search input { font-size: .8rem; }
.lipicode-bold .nav-actions .nav-contact { font-size: .8rem !important; }
.lipicode-bold .catalog-tool-card p { color: #425574 !important; font-size: .88rem !important; }
.lipicode-bold .catalog-tool-card h2 { font-size: 1rem !important; font-weight: 600; }
.lipicode-bold .tool-detail-main { font-family: var(--font-sans) !important; }
.lipicode-bold .tool-detail-main :where(p,li,dt,dd,label,small) { font-size: .875rem !important; }
.lipicode-bold .tool-detail-main :where(button,input,select,textarea,summary) { font-size: .9rem !important; }
.lipicode-bold .tool-detail-main :where(h2,h3) { font-family: var(--font-display) !important; }
.lipicode-bold .footer { padding-top: 20px; background: #f9fbff; }
.lipicode-bold .footer-main { grid-template-columns: minmax(220px,.85fr) minmax(0,2.15fr); gap: 32px; align-items: start; padding-block: 0 20px; }
.lipicode-bold .footer-brand p { max-width: 280px; margin-top: 9px; font-size: .875rem !important; line-height: 1.5 !important; color: #425574 !important; }
.lipicode-bold .footer-menu { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.lipicode-bold .footer-menu-row { display: grid; grid-template-columns: repeat(2,max-content); align-content: start; align-items: start; column-gap: 16px; row-gap: 7px; }
.lipicode-bold .footer-menu-row strong { grid-column: 1 / -1; margin: 0 0 3px; font: 600 .875rem/1.4 var(--font-sans) !important; }
.lipicode-bold .footer-menu-row a { color: #425574 !important; font-size: .84rem !important; font-weight: 400; line-height: 1.4 !important; }
.lipicode-bold .footer-bottom { padding-block: 12px; gap: 12px; font-size: .78rem !important; color: #425574 !important; }
.lipicode-bold .footer-principles span { font-size: .78rem; color: #425574; }
@media (max-width:1200px) {
 .lipicode-bold .container,.lipicode-bold .site-band { width: calc(100% - 48px); }
 .lipicode-bold .site-nav { gap: 13px; }
 .lipicode-bold .site-nav a { font-size: .79rem; }
 .lipicode-bold .footer-menu-row { grid-template-columns: 1fr; }
 .lipicode-bold .footer-menu-row strong { grid-column: 1; }
}
@media (max-width:850px) {
 .lipicode-bold .footer-main { grid-template-columns: 1fr; gap: 20px; }
 .lipicode-bold .footer-menu { gap: 20px; }
}
@media (max-width:760px) {
 .lipicode-bold .container,.lipicode-bold .site-band { width: calc(100% - 32px); }
 .lipicode-bold .footer { padding-top: 18px; }
 .lipicode-bold .footer-main { padding-bottom: 18px; }
 .lipicode-bold .footer-menu-row a { font-size: .82rem !important; }
 .lipicode-bold .tool-detail-main :where(p,li,dt,dd,label,small) { font-size: .85rem !important; }
}
@media (max-width:480px) {
 .lipicode-bold .footer-menu { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
 .lipicode-bold .footer-bottom { gap: 9px; }
 .lipicode-bold .footer-principles { gap: 14px; }
}
/* Shared compact dark footer, matching the grouped-directory reference. */
.lipicode-bold .footer { padding-top: 18px; border-top: 1px solid #293e60; color: #fff; background: #1d3354; }
.lipicode-bold .footer-main { padding-bottom: 18px; }
.lipicode-bold .footer-logo { color: #fff; }
.lipicode-bold .footer-brand p { color: #d6e3f5 !important; font-size: .82rem !important; }
.lipicode-bold .footer-menu-row strong { color: #fff; }
.lipicode-bold .footer-menu-row a { color: #d6e3f5 !important; font-size: .8rem !important; }
.lipicode-bold .footer-menu-row a:hover { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }
.lipicode-bold .footer-bottom { border-top: 1px solid #ffffff20; color: #d6e3f5 !important; }
.lipicode-bold .footer-principles span { color: #d6e3f5; }
.lipicode-bold .footer-principles i { background: #64b7ff; }
