/* input(3578,1): run-time error CSS1019: Unexpected token, found '}' */
@charset "UTF-8";/*!
 * Bootstrap  v5.3.3 (https://getbootstrap.com/)
 * Copyright 2011-2024 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label::after,.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.form-floating>.form-control:disabled~label::after,.form-floating>:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
/*# sourceMappingURL=bootstrap.min.css.map */
/* ==========================================================================
   Bachpan.com Design System — v3.0
   Mobile-first · MDB5 (Bootstrap 5) base · Poppins + Noto Sans
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. CSS CUSTOM PROPERTIES (Design Tokens)
   -------------------------------------------------------------------------- */
:root {
    /* Brand */
    --bp-nav:        #0077B6;
    --bp-nav-dark:   #005f91;
    --bp-register:   #E8920C;
    --bp-bg:         #FAFAF7;
    --bp-surface:    #FFFFFF;

    /* Accent — blue interactive states */
    --bp-accent:     #0077B6;
    --bp-accent-lt:  #E3F1FA;
    --bp-accent-md:  #A8D4F0;

    /* Gender */
    --bp-boy:        #3D82C4;
    --bp-boy-lt:     #EAF3FB;
    --bp-boy-text:   #0B3D6E;
    --bp-boy-border: #7BB5E8;
    --bp-girl:       #B5294E;
    --bp-girl-lt:    #FBE9EF;
    --bp-girl-text:  #6B0F2A;
    --bp-girl-border:#D9637F;
    --bp-unisex:     #6D3FC0;
    --bp-unisex-lt:  #F0EBFF;

    /* Astrology */
    --bp-rashi:      #534AB7;
    --bp-rashi-lt:   #F0EEF8;

    /* Religion */
    --hindu:         #E8901A; --hindu-lt:#FFF4E0; --hindu-md:#FFD88A; --hindu-text:#7A3C00;
    --muslim:        #1A7A4A; --muslim-lt:#E2F5EC; --muslim-md:#86D4A8; --muslim-text:#0A3D25;
    --christian:     #1A4A8A; --christian-lt:#E3ECF8; --christian-md:#A8C0E8; --christian-text:#0D2855;
    --sikh:          #8B6914; --sikh-lt:#FEF9E7; --sikh-md:#F7D76A; --sikh-text:#5A3E00;

    /* Status */
    --status-popular-lt:  #FFF0E6;
    --status-trending-lt: #FBF5DC;
    --status-celeb-lt:    #F0EBFF;
    --status-modern-lt:   #E0F5FA;
    --status-new-lt:      #E2F6EB;

    /* Text */
    --bp-text-1: #1A1A1A;
    --bp-text-2: #585450;
    --bp-text-3: #9A948E;

    /* Borders */
    --bp-border:    #EAE6E1;
    --bp-border-md: #D0CBC3;

    /* Radius */
    --r-sm:5px; --r-md:10px; --r-lg:14px; --r-xl:20px; --r-full:999px;

    /* Shadows */
    --shadow-sm:0 1px 4px rgba(0,0,0,.06);
    --shadow-md:0 4px 16px rgba(0,0,0,.09);
    --shadow-lg:0 8px 32px rgba(0,0,0,.14);
    --shadow-mega:0 20px 60px rgba(0,0,0,.16);
    --shadow-hover:0 6px 20px rgba(181,41,78,.12);

    /* Status badge backgrounds (shorthand aliases) */
    --bp-popular-lt: #FFF0E6;
    --bp-trending-lt:#FBF5DC;
    --bp-celeb-lt:   #F0EBFF;
    --bp-modern-lt:  #E0F5FA;
    --bp-new-lt:     #E2F6EB;

    /* Transition */
    --bp-ease: .2s ease;

    /* ── Backward-compat aliases (old variable names → new values) ── */
    --bp-primary:       #0077B6;
    --bp-primary-dark:  #005f91;
    --bp-primary-light: #0096D6;
    --bp-secondary:     #00B4D8;
    --bp-secondary-dark:#0096BA;
    --bp-secondary-light:#40C8E8;
    --bp-text-primary:  #1A1A1A;
    --bp-text-secondary:#585450;
    --bp-error:         #C0392B;
    --bp-warning:       #E67E22;
    --bp-success:       #27AE60;
    --bp-border-light:  #EAE6E1;
    --bp-boy-light:     #EAF3FB;
    --bp-girl-light:    #FBE9EF;
    --bp-unisex-light:  #F0EBFF;

    /* Font families */
    --font-brand:   'Poppins', sans-serif;
    --font-heading: 'Poppins', sans-serif;
    --font-body:    'Noto Sans', sans-serif;
    --font-script:  'Noto Sans', serif;

    /* Radius aliases */
    --bp-radius-sm:  5px;
    --bp-radius:     8px;
    --bp-radius-md:  10px;
    --bp-radius-lg:  14px;
    --bp-radius-xl:  20px;
    --bp-radius-pill: 999px;

    /* Shadow aliases */
    --bp-shadow-xs:  0 1px 3px rgba(0,0,0,.06);
    --bp-shadow-sm:  0 1px 4px rgba(0,0,0,.06);
    --bp-shadow:     0 4px 16px rgba(0,0,0,.09);
    --bp-shadow-md:  0 4px 16px rgba(0,0,0,.09);
    --bp-shadow-lg:  0 8px 32px rgba(0,0,0,.14);
    --bp-shadow-primary: 0 4px 16px rgba(0,119,182,.25);

    /* Transition alias */
    --bp-transition: .2s ease;
    --bp-transition-slow: .35s ease;

    /* Header */
    --bp-header-height: 64px;
    --bp-header-height-mobile: 56px;

    /* Entity colours */
    --ec-rashi:#534AB7; --ec-rashi-lt:#F0EEF8;
    --ec-nak:#0F6E56; --ec-nak-lt:#E1F5EE;
    --ec-religion:#E8901A; --ec-religion-lt:#FFF4E0;
    --ec-deity:#7A3C00; --ec-deity-lt:#FFF4E0;
    --ec-lang:#185FA5; --ec-lang-lt:#E6F1FB;
    --ec-myth:#993C1D; --ec-myth-lt:#FAECE7;
    --ec-theme:#3B6D11; --ec-theme-lt:#EAF3DE;
    --ec-tag:#854F0B; --ec-tag-lt:#FAEEDA;
    --ec-meaning:#0077B6; --ec-meaning-lt:#E3F1FA;
    --ec-num:#6D3FC0; --ec-num-lt:#F0EEF8;
}

/* --------------------------------------------------------------------------
   2. BASE & TYPOGRAPHY
   -------------------------------------------------------------------------- */
/* Bump the rem baseline from the browser default (16px) to 18px — every
   rem-based size in the design system scales proportionally (~12.5%) so
   body copy reads comfortably on mobile. Fixed-px containers (topbar
   32px, icon buttons 28-34px, alphabet grid 28px) were audited for
   overflow headroom at this scale before raising past 106.25%. */
html {
    font-size: 112.5%;
}

/* Name-detail pages render at 16px root (1rem = 16px) so the
   bachpan-name-detail-v3 mock's rem values map 1:1 to the intended pixel
   sizes. The rest of the site keeps the 18px root from the 2026-05-21
   typography baseline (see feedback_typography.md). Scoped via :has()
   so listing/hub/card pages are unaffected. Browser support for :has()
   is universal in evergreen browsers since 2023 — older browsers fall
   back to the 18px root (graceful degradation: text is slightly larger,
   page still works). */
html:has(.bp-page--detail) {
    font-size: 100%;
}

/* Reset the default underline that vanilla Bootstrap adds to every <a>
   (MDB used to suppress this; Bachpan never had its own rule because it
   wasn't needed). No hover underline either — per design preference,
   affordance comes from cursor + colour changes on specific link
   classes. Specific :hover rules elsewhere (e.g. .bp-sec-link:hover)
   can still re-add underline where authored — this is the lowest-
   specificity baseline. */
a {
    text-decoration: none;
}

body {
    font-family: 'Poppins', 'Noto Sans', sans-serif;
    font-size: 1rem;
    line-height: 1.55;
    color: var(--bp-text-1);
    background: var(--bp-bg);
    overflow-x: hidden;
}

/* Native script */
.bp-script     { font-family: 'Noto Sans', sans-serif; font-weight: 500; color: var(--bp-text-2); }
.bp-script-rtl { font-family: 'Noto Sans', sans-serif; direction: rtl; text-align: right; }

/* Heading hierarchy */
h1, .h1 { font-size: 1.5rem;  font-weight: 700; line-height: 1.25; }
h2, .h2 { font-size: 1.35rem; font-weight: 700; line-height: 1.3; }
h3, .h3 { font-size: 1.05rem; font-weight: 600; line-height: 1.35; }
h4, .h4 { font-size: .88rem;  font-weight: 600; line-height: 1.4; }
h5, .h5 { font-size: .78rem;  font-weight: 600; }
h6, .h6 { font-size: .72rem;  font-weight: 500; }
@media (min-width: 768px) {
    h1, .h1 { font-size: 2rem; }
}
h1.sr-only, .sr-only {
    position: absolute; width: 1px; height: 1px;
    padding: 0; margin: -1px; overflow: hidden;
    clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.bp-browse-h1{font-size:1.35rem;font-weight:700;margin-bottom:.75rem;}

/* Focus states */
:focus-visible {
    outline: 2px solid var(--bp-nav);
    outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   3. UTILITY CLASSES (Section M)
   -------------------------------------------------------------------------- */
.bp-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.25rem;
}
.bp-sec-hd {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1rem;
}
.bp-sec-title {
    font-size: .95rem;
    font-weight: 700;
    color: var(--bp-text-1);
    display: flex;
    align-items: center;
    gap: .5rem;
    /* Reset browser h2 defaults — bp-sec-title may be rendered as <h2> for SEO */
    margin: 0;
    line-height: 1.3;
}
.bp-sec-bar {
    display: inline-block;
    width: 3px;
    height: 16px;
    background: var(--bp-nav);
    border-radius: 2px;
    flex-shrink: 0;
}
.bp-sec-link {
    color: var(--bp-nav);
    text-decoration: none;
    font-weight: 600;
    font-size: .875rem;
}
.bp-sec-link:hover { text-decoration: underline; }
.bp-two-col { display: grid; grid-template-columns: 1fr; gap: 1.25rem; padding: 1.75rem 0; border-top: 1px solid var(--bp-border); }
@media (min-width: 768px) { .bp-two-col { grid-template-columns: 1fr 1fr; } }
.bp-mb-sm { margin-bottom: .5rem; }
.bp-mb-lg { margin-bottom: 1.75rem; }
.chip-boy   { background: var(--bp-boy-lt); color: var(--bp-boy-text); border-color: var(--bp-boy-border); }
.chip-girl  { background: var(--bp-girl-lt); color: var(--bp-girl-text); border-color: var(--bp-girl-border); }

/* --------------------------------------------------------------------------
   4A. TOP BAR
   -------------------------------------------------------------------------- */
.bp-topbar {
    background: #2C3E50;
    height: 32px; display: flex; align-items: center;
    padding: 0 1.5rem; gap: 1rem; font-size: .68rem;
}
.bp-topbar-left { display: flex; align-items: center; gap: .85rem; color: rgba(255,255,255,.6); }
.bp-topbar-sep { color: rgba(255,255,255,.2); }
.bp-topbar-link {
    color: rgba(255,255,255,.6); cursor: pointer; transition: color .12s;
    text-decoration: none; display: flex; align-items: center; gap: .25rem;
}
.bp-topbar-link:hover { color: rgba(255,255,255,.9); }
.bp-topbar-link svg { width: 11px; height: 11px; }
.bp-topbar-right { margin-left: auto; display: flex; align-items: center; gap: .65rem; }

/* MOBILE: single-row topbar. Advertise is dropped entirely (icon + label),
   Suggest a Name keeps its icon + label, Preferences collapses to an icon only
   (see .bp-topbar-prefs in bp-mobile-responsive.css), and the language picker is
   unchanged. The tagline is hidden and the row no longer wraps. */
@media (max-width: 767px) {
    .bp-topbar { padding: .25rem .65rem; gap: .35rem; min-height: 40px; height: auto; font-size: .75rem; flex-wrap: nowrap; }
    .bp-topbar-left { gap: .65rem; flex-shrink: 1; min-width: 0; }
    .bp-topbar-tagline { display: none; }
    /* Drop Advertise + every left separator → only Suggest a Name remains. */
    .bp-topbar-left .bp-topbar-link[href="/advertise"] { display: none; }
    .bp-topbar-left .bp-topbar-sep { display: none; }
    .bp-topbar-link { font-size: .78rem; font-weight: 500; color: rgba(255,255,255,.9); gap: .35rem; }
    .bp-topbar-link-label { display: inline; }
    .bp-topbar-link svg,
    .bp-topbar-ico { width: 18px; height: 18px; }
    .bp-topbar-right { gap: .4rem; flex-shrink: 0; }
    .bp-topbar-right .bp-topbar-sep { display: none; }
}
@media (max-width: 374px) {
    /* Ultra-narrow phones (~320px): tighten spacing so the single row fits.
       Preferences is already icon-only and Advertise is dropped at <=767px. */
    .bp-topbar { padding: .25rem .4rem; gap: .3rem; }
    .bp-topbar-left { gap: .4rem; }
}

/* Language selector */
.bp-lang-wrap { position: relative; }
.bp-lang-btn {
    display: inline-flex; align-items: center; gap: .3rem; cursor: pointer;
    color: rgba(255,255,255,.85); font-size: .68rem; font-weight: 600;
    background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18);
    border-radius: var(--r-full); height: 22px; padding: 0 .65rem; transition: all .15s;
    box-sizing: border-box;
}
.bp-lang-btn:hover { background: rgba(255,255,255,.18); }
.bp-lang-btn svg { width: 10px; height: 10px; }
.bp-lang-dropdown {
    position: absolute; top: calc(100% + 6px); right: 0;
    background: var(--bp-surface); border: 1px solid var(--bp-border);
    border-radius: var(--r-md); box-shadow: var(--shadow-lg);
    min-width: 170px; z-index: 600; display: none; overflow: hidden;
}
.bp-lang-wrap.open .bp-lang-dropdown { display: block; }

/* Two-column variant — Core Indian (left) + Additional (right). Used by the
   topbar quick-switch dropdown per Prompts/Language Display Order.txt. The
   inner .bp-lang-col blocks hold a column title + the ordered options. */
.bp-lang-dropdown--2col {
    min-width: 360px;
    padding: .3rem;
}
.bp-lang-wrap.open .bp-lang-dropdown--2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .3rem;
}
.bp-lang-col { min-width: 0; }
.bp-lang-col-title {
    font-size: .58rem; font-weight: 700;
    text-transform: uppercase; letter-spacing: .06em;
    color: var(--bp-text-3, #9A948E);
    padding: .35rem .65rem .25rem;
}

.bp-lang-opt {
    display: flex; align-items: center; gap: .5rem;
    padding: .48rem .85rem; font-size: .75rem; color: var(--bp-text-2);
    cursor: pointer; transition: background .1s;
    border-radius: var(--r-sm);
}
.bp-lang-opt:hover { background: var(--bp-accent-lt); }
.bp-lang-opt.active { color: var(--bp-nav); font-weight: 600; background: var(--bp-accent-lt); }
.bp-lang-flag { font-size: .85rem; width: 18px; text-align: center; }

/* Below 480px the two-column grid collapses to a single column stack —
   keeps the dropdown reachable inside the mobile viewport (the
   bp-mobile-responsive.css rule already caps width at 100vw - 1rem). */
@media (max-width: 480px) {
    .bp-lang-dropdown--2col { min-width: 220px; }
    .bp-lang-wrap.open .bp-lang-dropdown--2col {
        grid-template-columns: 1fr;
    }
}

/* --------------------------------------------------------------------------
   4B. NAVIGATION
   -------------------------------------------------------------------------- */
/* Header band matches the launch popup + preferences modal — same navy→cyan
   gradient, same .07 white dot pattern, and a soft circle anchored top-right.
   Implemented entirely with layered background-images (no ::before/::after,
   no overflow:hidden) so the mega-menu dropdowns absolutely-positioned at
   top:54px aren't clipped. */
.bp-nav {
    background:
        radial-gradient(circle at calc(100% - 60px) -30px,
            rgba(255, 255, 255, .08) 78px,
            transparent 80px),
        radial-gradient(circle,
            rgba(255, 255, 255, .07) 1px,
            transparent 1px) 0 0 / 18px 18px,
        linear-gradient(135deg, #004F7C 0%, var(--bp-nav) 55%, #0095E0 100%);
    height: 54px;
    display: flex; align-items: center; padding: 0 1.5rem; gap: 0;
    position: sticky; top: 0; z-index: 300;
    box-shadow: 0 2px 8px rgba(0,50,100,.18);
}
.bp-logo {
    font-size: 1.25rem; font-weight: 700; color: #fff;
    white-space: nowrap; margin-right: 1.5rem; flex-shrink: 0;
    cursor: pointer;
    display: inline-flex; align-items: center;
}
.bp-logo span { opacity: .7; font-weight: 400; }
/* Brand mark — wide SVG lockup (~4.2:1). Height-sized so aspect stays clean. */
.bp-logo img {
    display: block; height: 42px; width: auto;
    max-width: 200px; /* hard ceiling so the lockup never crowds nav links */
}

/* Mega nav links */
.bp-nav-links { display: none; gap: 0; height: 54px; flex: 1; }
@media (min-width: 960px) { .bp-nav-links { display: flex; } }
.bp-nav-item { position: relative; height: 54px; display: flex; align-items: center; }
.bp-nav-link {
    color: rgba(255,255,255,.88); font-size: .82rem; font-weight: 500;
    cursor: pointer; padding: 0 1.1rem; height: 100%;
    display: flex; align-items: center; gap: .22rem;
    transition: all .15s; border-bottom: 3px solid transparent; white-space: nowrap;
}
.bp-nav-link svg { width: 10px; height: 10px; transition: transform .2s; flex-shrink: 0; }
.bp-nav-item:hover .bp-nav-link { color: #fff; background: rgba(255,255,255,.1); border-bottom-color: rgba(255,255,255,.7); }
.bp-nav-item:hover .bp-nav-link svg { transform: rotate(180deg); }

/* Mega dropdown */
.bp-mega {
    position: absolute;
    top: 54px;
    left: 0;
    background: var(--bp-surface);
    border: 1px solid var(--bp-border);
    border-top: none;
    border-radius: 0 0 var(--r-lg) var(--r-lg);
    box-shadow: 0 8px 32px rgba(0,0,0,.14);
    display: none; z-index: 500;
    min-width: 860px;
}
.bp-mega::before{content:'';position:absolute;top:-2px;left:0;right:0;height:2px;background:var(--bp-register,#E8920C);}
.bp-nav-item:hover .bp-mega { display: flex; }
.bp-mega-inner {
    padding: 1.5rem;
    display: flex; gap: 0;
    width: 100%;
}

/* Per-menu width overrides */
.bp-mega--az{min-width:520px;}
.bp-mega--tools{min-width:560px;}

/* Mega column */
.bp-mc { flex: 1; padding-right: 1.5rem; min-width: 0; border-right: 1px solid var(--bp-border); margin-right: 1.5rem; }
.bp-mc:last-child { border-right: none; margin-right: 0; padding-right: 0; }
.bp-mc-last { flex-shrink: 0; width: 200px; }

/* Section title -- dark, bold, with accent underline */
.bp-mc-title {
    font-size: .7rem; font-weight: 700; color: var(--bp-text-1);
    text-transform: uppercase; letter-spacing: .06em;
    padding-bottom: .4rem; margin-bottom: .5rem;
    border-bottom: 2px solid var(--bp-nav);
    display: inline-block;
}

/* Mega link */
.bp-ml {
    display: flex; align-items: center; gap: .55rem;
    padding: .35rem .4rem; border-radius: var(--r-sm);
    font-size: .78rem; color: var(--bp-text-2);
    cursor: pointer; text-decoration: none; transition: all .12s;
    margin-bottom: 1px;
}
.bp-ml:hover { background: var(--bp-accent-lt); }
.bp-ml:hover .bp-ml-name { color: var(--bp-nav); }
.bp-ml-info { flex: 1; min-width: 0; text-decoration: none; color: inherit; }
.bp-ml-icon {
    width: 30px; height: 30px; border-radius: var(--r-sm);
    display: flex; align-items: center; justify-content: center;
    font-size: .9rem; flex-shrink: 0; font-family: 'Noto Sans', sans-serif;
}
.bp-ml-icon svg { width: 16px; height: 16px; }
.bp-ml-name { font-weight: 600; color: var(--bp-text-1); display: block; font-size: .78rem; line-height: 1.2; }
.bp-ml-sub  { font-size: .65rem; color: var(--bp-text-3); display: block; }
.bp-ml-more { font-size: .72rem; font-weight: 600; color: var(--bp-nav); padding: .3rem .4rem; display: block; cursor: pointer; text-decoration:none; }
.bp-ml-more:hover { color: var(--bp-register); }
.bp-ml-info{flex:1;min-width:0;}
.bp-ml-native{font-family:'Noto Sans',sans-serif;font-size:.65rem;color:var(--bp-text-3);display:block;}

/* Mega menu gender hover buttons */
.bp-ml-gender{display:flex;gap:.2rem;flex-shrink:0;opacity:0;transition:opacity .15s;}
.bp-ml:hover .bp-ml-gender{opacity:1;}

/* Compact mega-link variant — used by Astrology > Rashi / Nakshatra so each
   entry takes exactly two rows: row 1 = name (hover reveals Boy/Girl chips
   on the right), row 2 = letters spanning full width. Replaces the previous
   3-line layout (icon + name + sub-line + chips wrapping below) that was
   stretching the dropdown to 5-6 rows per item at narrow widths. */
.bp-ml-compact {
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: .4rem;
    row-gap: .15rem;
    padding: .3rem .4rem;
    border-radius: var(--r-sm);
    transition: background .12s;
    margin-bottom: 1px;
}
.bp-ml-compact:hover { background: var(--bp-accent-lt); }
.bp-ml-compact-head {
    grid-row: 1; grid-column: 1;
    display: inline-flex; align-items: center; gap: .4rem;
    min-width: 0;
    text-decoration: none;
    font-size: .78rem; font-weight: 600;
    color: var(--bp-text-1);
}
.bp-ml-compact:hover .bp-ml-compact-name { color: var(--bp-nav); }
.bp-ml-compact-icon {
    width: 26px; height: 26px;
    border-radius: var(--r-sm);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: .9rem; flex-shrink: 0;
    font-family: 'Noto Sans', sans-serif;
}
.bp-ml-compact-name {
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bp-ml-compact-gender {
    grid-row: 1; grid-column: 2;
    display: flex; gap: .2rem;
    flex-shrink: 0;
    opacity: 0;
    transition: opacity .15s;
    align-self: center;
}
.bp-ml-compact:hover .bp-ml-compact-gender { opacity: 1; }
.bp-ml-compact-letters {
    grid-row: 2; grid-column: 1 / -1;
    font-size: .68rem;
    color: var(--bp-text-3);
    letter-spacing: .02em;
}
.bp-ml-gb{height:24px;padding:0 .55rem;border-radius:var(--r-full);font-size:.72rem;font-weight:700;border:1.5px solid;display:inline-flex;align-items:center;gap:.15rem;text-decoration:none;transition:all .12s;white-space:nowrap;}
.bp-ml-gb-boy{border-color:var(--bp-boy-border);color:var(--bp-boy-text);background:var(--bp-boy-lt);}
.bp-ml-gb-boy:hover{background:var(--bp-boy);color:#fff;border-color:var(--bp-boy);}
.bp-ml-gb-girl{border-color:var(--bp-girl-border);color:var(--bp-girl-text);background:var(--bp-girl-lt);}
.bp-ml-gb-girl:hover{background:var(--bp-girl);color:#fff;border-color:var(--bp-girl);}
/* Icon-only variant of the Boy/Girl pill — used in nav mega menus so the row
   doesn't wrap onto multiple lines. Square 24×24, centred ♂ / ♀ glyph, no
   horizontal padding so it sits flush with adjacent rows. */
.bp-ml-gb--icon{width:24px;padding:0;justify-content:center;font-size:.95rem;line-height:1;gap:0;}

/* Mega menu divider */
.bp-mm-divider{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--bp-text-3);margin:.85rem 0 .55rem;display:flex;align-items:center;gap:.4rem;}
.bp-mm-divider::after{content:'';flex:1;height:1px;background:var(--bp-border);}

/* Mega menu icon colour classes */
.bp-ml-icon.ic-hindu{background:var(--hindu-lt,#FFF4E0);color:var(--hindu,#E8901A);}
.bp-ml-icon.ic-lang{background:var(--bp-accent-lt);color:var(--bp-nav);}
.bp-ml-icon.ic-lang span{font-size:.65rem;font-weight:700;font-family:'Noto Sans',sans-serif;}
.bp-ml-icon.ic-rashi{background:var(--bp-rashi-lt,#F0EEF8);color:var(--bp-rashi,#534AB7);}
.bp-ml-icon.ic-rashi-num{background:var(--bp-rashi-lt,#F0EEF8);color:var(--bp-rashi,#534AB7);font-weight:700;font-size:.78rem;}
.bp-ml-icon.ic-num{background:var(--bp-accent-lt);color:var(--bp-nav);font-weight:800;font-size:.88rem;}
.bp-ml-icon.ic-boy{background:var(--bp-boy-lt);color:var(--bp-boy);}
.bp-ml-icon.ic-girl{background:var(--bp-girl-lt);color:var(--bp-girl);}
.bp-ml-icon.ic-girl-text{background:var(--bp-girl-lt);color:var(--bp-girl-text);}
.bp-ml-icon.ic-nature{background:#EAF3DE;color:#2E5A0E;}
.bp-ml-icon.ic-celeb{background:#F0EBFF;color:#4A1D8C;}
.bp-ml-icon.ic-modern{background:var(--bp-accent-lt);color:var(--bp-nav);}
.bp-ml-icon.ic-twin{background:var(--bp-girl-lt);color:var(--bp-girl);}
.bp-ml-icon.ic-royal{background:#FFF4E0;color:#7A3C00;}
.bp-ml-icon.ic-neutral{background:#F1EFE8;color:var(--bp-text-2);}
.bp-ml-icon.ic-fire{background:#FFF0E6;color:#7A3C00;}
.bp-ml-icon.ic-tool-rashi{background:var(--bp-rashi-lt);color:var(--bp-rashi);}
.bp-ml-icon.ic-tool-nak{background:#E1F5EE;color:#0F6E56;}
.bp-ml-icon.ic-tool-gen{background:#F0EBFF;color:#4A1D8C;}
.bp-ml-icon.ic-tool-search{background:var(--bp-accent-lt);color:var(--bp-nav);}
.bp-ml-icon.ic-tool-fav{background:var(--bp-girl-lt);color:var(--bp-girl);}
.bp-ml-icon.ic-tool-suggest{background:#E2F6EB;color:#1A7A4A;}
.bp-ml-icon.ic-tool-num{background:var(--bp-accent-lt);color:var(--bp-nav);}

/* Mega menu badge pill */
.bp-mm-badge{font-size:.58rem;padding:.1rem .45rem;border-radius:var(--r-full);font-weight:700;margin-left:.3rem;}
.bp-mm-badge-boy{background:var(--hindu-lt,#FFF4E0);color:var(--hindu-text,#7A3C00);}
.bp-mm-badge-girl{background:var(--bp-girl-lt);color:var(--bp-girl-text);}

/* Mega menu column sizing */
.bp-mc.bp-mc--narrow{flex:.7;max-width:200px;}
.bp-mc.bp-mc--wide{flex:1.5;}

/* Letter grid in A-Z menu */
.bp-mm-letter-grid{display:flex;flex-wrap:wrap;gap:.3rem;padding:.2rem 0;}
.bp-mm-letter-grid .bp-az-letter{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:5px;border:1.5px solid var(--bp-border);background:var(--bp-surface);font-size:.75rem;font-weight:600;color:var(--bp-text-2);text-decoration:none;transition:all .15s;}
.bp-mm-letter-grid .bp-az-letter:hover{border-color:var(--bp-nav);color:var(--bp-nav);background:var(--bp-accent-lt);}
/* Drawer variant: same grid in the mobile hamburger drawer. Slightly
   larger chips so they're finger-tappable, tighter gap so all 26
   letters fit a 4-row grid without horizontal scroll. */
.bp-mm-letter-grid--drawer { gap: .35rem; margin-bottom: .85rem; }
.bp-mm-letter-grid--drawer .bp-az-letter { width: 36px; height: 36px; font-size: .82rem; }

/* Saved names panel */
.bp-saved-panel{background:#1A2535;border-radius:var(--r-md);padding:.9rem;color:#fff;}
.bp-saved-panel-title{font-size:.72rem;font-weight:700;margin-bottom:.5rem;color:rgba(255,255,255,.9);}
.bp-saved-panel-sub{font-size:.72rem;color:rgba(255,255,255,.65);margin-bottom:.65rem;}
.bp-saved-panel-btn{display:block;text-align:center;background:var(--bp-nav);color:#fff;padding:.38rem;border-radius:var(--r-full);font-size:.7rem;font-weight:700;text-decoration:none;}

/* Featured panel */
.bp-mega-feat {
    background: var(--bp-accent-lt); border: 1px solid var(--bp-accent-md);
    border-radius: var(--r-md); padding: .9rem;
}
.bp-mega-feat-title { font-size: .78rem; font-weight: 700; color: var(--bp-nav); margin-bottom: .3rem; display: flex; align-items: center; gap: .3rem; }
.bp-mega-feat-sub { font-size: .7rem; color: var(--bp-text-2); line-height: 1.5; margin-bottom: .65rem; }
.bp-mega-feat-btn {
    display: block; background: var(--bp-nav); color: #fff;
    padding: .45rem .85rem; border-radius: var(--r-full);
    font-size: .72rem; font-weight: 700; text-align: center;
    cursor: pointer; text-decoration: none; border: none;
    font-family: 'Poppins', sans-serif; transition: background .15s;
}
.bp-mega-feat-btn:hover { background: #005f91; }

/* A-Z mega -- religion tabs */
.bp-az-tabs { display: flex; gap: .3rem; margin-bottom: .85rem; }
.bp-az-tab {
    padding: .28rem .85rem; border-radius: var(--r-full);
    font-size: .72rem; font-weight: 600; cursor: pointer;
    border: 1.5px solid var(--bp-border-md);
    background: transparent; color: var(--bp-text-2);
    font-family: 'Poppins', sans-serif; transition: all .15s;
}
.bp-az-tab.active-hindu { background: var(--hindu); border-color: var(--hindu); color: #fff; }
.bp-az-tab.active-muslim { background: var(--muslim); border-color: var(--muslim); color: #fff; }
.bp-az-tab.active-christian { background: var(--christian); border-color: var(--christian); color: #fff; }
.bp-az-tab.active-sikh { background: var(--sikh); border-color: var(--sikh); color: #fff; }

/* A-Z alphabet grid */
.bp-az-section { display: none; }
.bp-az-section.active { display: block; }
.bp-az-letter {
    display: flex; flex-direction: column; align-items: center;
    padding: .42rem .2rem; border-radius: var(--r-sm);
    border: 1.5px solid var(--bp-border-md); background: var(--bp-surface);
    cursor: pointer; transition: all .15s; text-decoration: none;
}
.bp-az-letter:hover { border-color: var(--bp-boy); background: var(--bp-boy-lt); }
.bp-az-letter.girl:hover { border-color: var(--bp-girl); background: var(--bp-girl-lt); }

/* NAV RIGHT */
.bp-nav-right { margin-left: auto; display: flex; align-items: center; gap: .5rem; flex-shrink: 0; }
.nav-icon-btn {
    width: 34px; height: 34px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,.85); cursor: pointer; transition: background .15s;
    border: none; background: transparent; position: relative;
}
.nav-icon-btn:hover { background: rgba(255,255,255,.12); }
.nav-icon-btn svg { width: 18px; height: 18px; }
.nav-login { color: rgba(255,255,255,.88); font-size: .8rem; font-weight: 500; cursor: pointer; white-space: nowrap; display: none; }
@media (min-width: 576px) { .nav-login { display: block; } }

/* Favourites badge */
.nav-fav-badge {
    position: absolute; top: 3px; right: 3px;
    width: 14px; height: 14px; border-radius: 50%;
    background: var(--bp-register); color: #fff;
    font-size: .55rem; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
}

/* Logged-in user avatar */
.bp-user-wrap { position: relative; }
.bp-user-btn {
    display: flex; align-items: center; gap: .4rem; cursor: pointer;
    background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25);
    border-radius: var(--r-full); padding: .28rem .75rem .28rem .35rem;
    transition: all .15s;
}
.bp-user-btn:hover { background: rgba(255,255,255,.2); }
.bp-user-avatar {
    width: 26px; height: 26px; border-radius: 50%;
    background: var(--bp-register); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: .72rem; font-weight: 700; flex-shrink: 0;
}
.bp-user-name { font-size: .75rem; font-weight: 600; color: #fff; }
.bp-user-chevron { width: 10px; height: 10px; color: rgba(255,255,255,.7); }
.bp-user-dropdown {
    position: absolute; top: calc(100% + 8px); right: 0;
    background: var(--bp-surface); border: 1px solid var(--bp-border);
    border-radius: var(--r-lg); box-shadow: var(--shadow-lg);
    min-width: 200px; z-index: 500; display: none; overflow: hidden;
}
/* JS toggles .open on the dropdown itself (see bachpan-ui.js userBtn handler). */
.bp-user-dropdown.open { display: block; }
.bp-user-dd-header {
    padding: .85rem 1rem; background: var(--bp-accent-lt);
    border-bottom: 1px solid var(--bp-border);
}
.bp-user-dd-name { font-size: .85rem; font-weight: 700; color: var(--bp-text-1); }
.bp-user-dd-link {
    display: flex; align-items: center; gap: .5rem;
    padding: .55rem 1rem; font-size: .78rem; color: var(--bp-text-2);
    cursor: pointer; transition: background .12s;
}
.bp-user-dd-link:hover { background: var(--bp-bg); color: var(--bp-nav); }
.bp-user-dd-link svg { width: 15px; height: 15px; color: var(--bp-text-3); }
.bp-user-dd-link:hover svg { color: var(--bp-nav); }
.bp-user-dd-sep { height: 1px; background: var(--bp-border); }
.bp-user-dd-link.logout { color: #C0392B; }
.bp-user-dd-link.logout:hover { background: #FEF0EE; color: #C0392B; }
.bp-saved-count {
    margin-left: auto; background: var(--bp-nav); color: #fff;
    font-size: .6rem; font-weight: 700; padding: 1px 5px;
    border-radius: var(--r-full);
}
.nav-register {
    background: var(--bp-register); color: #fff; font-size: .78rem; font-weight: 700;
    padding: .38rem 1.1rem; border-radius: var(--r-full); border: none;
    cursor: pointer; font-family: 'Poppins', sans-serif; white-space: nowrap;
    transition: background .15s;
    /* Hide on mobile — clipped at the right edge in narrow viewports because
       the inline button doesn't shrink. Login + Register remain accessible
       from the mobile nav drawer (_MobileNav.cshtml). */
    display: none;
}
@media (min-width: 960px) { .nav-register { display: inline-block; } }
.nav-register:hover { background: #c97a08; }

/* Hamburger */
.nav-hamburger { color: #fff; background: none; border: none; cursor: pointer; display: flex; }
@media (min-width: 960px) { .nav-hamburger { display: none; } }

/* --------------------------------------------------------------------------
   4C. NAME CARD — Grid mode
   -------------------------------------------------------------------------- */
.bp-name-card{background:var(--bp-surface);border-radius:var(--r-lg);border:1px solid var(--bp-border);border-top:3px solid var(--bp-girl);overflow:hidden;position:relative;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);}
.bp-name-card:hover{border-color:var(--bp-girl-border);box-shadow:0 6px 20px rgba(181,41,78,.12);transform:translateY(-2px);}
.bp-name-card--boy{border-top-color:var(--bp-boy);}
.bp-name-card--boy:hover{border-color:var(--bp-boy-border);box-shadow:0 6px 20px rgba(61,130,196,.12);}
.bp-name-card--girl{border-top-color:var(--bp-girl);}
.bp-card-status{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.25rem;flex-wrap:wrap;justify-content:flex-end;max-width:60%;}
.bp-cstatus{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .55rem;border-radius:var(--r-full);font-size:.6rem;font-weight:700;line-height:1;}
.cs-popular{background:var(--bp-popular-lt,#FFF0E6);color:#7B3200;border:1px solid #FFD4B0;}
.cs-celeb{background:var(--bp-celeb-lt,#F0EBFF);color:#4A1D8C;border:1px solid #C9B8F5;}
.cs-modern{background:var(--bp-modern-lt,#E0F5FA);color:#0A5470;border:1px solid #86D4E8;}
.cs-new{background:var(--bp-new-lt,#E2F6EB);color:#0F5A30;border:1px solid #6FD0A0;}
.bp-card-body{padding:.85rem;flex:1;display:flex;flex-direction:column;}
.bp-card-name{font-size:1.15rem;font-weight:700;color:var(--bp-girl);line-height:1.2;padding-right:2.5rem;margin-bottom:.22rem;}
.bp-name-card--boy .bp-card-name{color:var(--bp-boy);}
.bp-card-deva{font-size:.95rem;font-weight:500;color:var(--bp-text-2);font-family:'Noto Sans',sans-serif;margin-bottom:.5rem;display:block;line-height:1.4;}
.bp-card-meaning{font-size:.88rem;color:var(--bp-text-2);line-height:1.5;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.bp-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--bp-border);}
.bp-lucky{display:flex;align-items:center;gap:.3rem;font-size:.7rem;color:var(--bp-text-3);font-weight:500;}
.bp-lucky-num{font-size:.95rem;font-weight:700;color:var(--bp-text-2);min-width:18px;line-height:1;}
.bp-card-right{display:flex;align-items:center;gap:.3rem;}
.bp-card-fav{width:36px;height:36px;border-radius:50%;border:none;background:transparent;cursor:pointer;color:var(--bp-text-3);display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all .15s;flex-shrink:0;line-height:1;}
.bp-card-fav:hover{color:#E63946;background:#FDECEE;}
/* Markup applies .bp-card-fav--active (BEM modifier); the earlier .saved
   class is dead. Saved/liked = standard heart-red regardless of card gender. */
.bp-card-fav--active{color:#E63946;}
.bp-card-fav--active svg{fill:#E63946;}
.bp-name-card--boy .bp-card-fav:hover{color:#E63946;background:#FDECEE;}

/* Name Card — List mode (v4 matching mockup).
   2-row CSS Grid: col 1 = name (auto, min 110px), col 2 = meaning (1fr),
   cols 3+4 = share + like buttons. Row 2 puts the Devanagari/English name
   in col 1 and the chip cluster in col 2 (spanning to end) so chips
   visually start at the same x-position as the meaning above. */
.bp-names-list { display: flex; flex-direction: column; gap: 3px; }
.bp-name-row {
    display: grid;
    grid-template-columns: minmax(110px, auto) 1fr auto auto;
    column-gap: 10px;
    row-gap: 4px;
    align-items: center;
    padding: .7rem 1rem; border-radius: var(--r-md);
    border: 1px solid var(--bp-border); background: var(--bp-surface);
    cursor: pointer; transition: all .15s; position: relative;
    border-left: 3px solid var(--bp-boy);
    text-decoration: none; color: inherit;
}
.bp-name-row:hover { border-color: var(--bp-boy); box-shadow: var(--shadow-sm); text-decoration: none; color: inherit; }
.bp-name-row--girl { border-left-color: var(--bp-girl); }
.bp-name-row--girl:hover { border-color: var(--bp-girl); }

/* Highlighted rows for popular/trending */
.bp-name-row.popular { background: #FFF7F2; border-color: #FFCFAD; border-left-color: var(--bp-accent, #FF8C42); }
.bp-name-row.trending { background: #FFFBF0; border-color: #FFE8A0; border-left-color: #F9A825; }

.bp-row-name { font-size: .95rem; font-weight: 700; color: var(--bp-boy); min-width: 110px; }
.bp-name-row--girl .bp-row-name { color: var(--bp-girl); }
.bp-row-badge {
    display: inline-flex; align-items: center;
    padding: 3px 9px; border-radius: var(--r-full);
    font-size: .62rem; font-weight: 700; letter-spacing: .03em; flex-shrink: 0;
}
.rb-boy  { background: var(--bp-boy-lt); color: var(--bp-boy-text); }
.rb-girl { background: var(--bp-girl-lt); color: var(--bp-girl-text); }
.bp-row-meaning { font-size: .88rem; color: var(--bp-text-2); flex: 1; line-height: 1.4; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bp-row-tag {
    display: inline-flex; align-items: center; gap: 3px;
    padding: 2px 8px; border-radius: var(--r-full);
    font-size: .62rem; font-weight: 700;
}
.rt-popular  { background: var(--bp-popular-lt, #FFF0E6); color: #7B3200; border: 1px solid #FFD4B0; }
.bp-row-num {
    min-width: 28px; height: 28px;
    background: var(--bp-bg); border: 1px solid var(--bp-border);
    border-radius: var(--r-sm); display: flex; align-items: center;
    justify-content: center; font-size: .7rem; font-weight: 600;
    color: var(--bp-text-3); flex-shrink: 0;
}
.bp-row-fav {
    width: 28px; height: 28px; display: flex; align-items: center;
    justify-content: center; border-radius: 50%; cursor: pointer;
    color: var(--bp-text-3); transition: all .15s; border: none;
    background: transparent; font-size: 1rem; flex-shrink: 0;
}
.bp-row-fav:hover { color: #E63946; background: #FDECEE; }
.bp-name-row--girl .bp-row-fav:hover { color: #E63946; background: #FDECEE; }
/* Markup applies .bp-row-fav--active (BEM modifier); the earlier .saved
   class is dead. Saved/liked = standard heart-red regardless of row gender. */
.bp-row-fav--active { color: #E63946; }

/* Inline ad between list rows */
.bp-ad-inline {
    background: var(--bp-bg); border: 1.5px dashed var(--bp-border-md);
    border-radius: var(--r-md); height: 90px;
    display: flex; align-items: center; justify-content: center;
    color: var(--bp-text-3); font-size: .7rem; gap: 6px; margin: 4px 0;
}

/* --------------------------------------------------------------------------
   4D. REFINER SIDEBAR
   -------------------------------------------------------------------------- */
.bp-refiner {
    background: var(--bp-surface);
    border: 1px solid var(--bp-border);
    border-radius: var(--r-lg);
    padding: 16px;
}

/* ── Refiner box (v2 mock) ──
   New wrapper around the shared _FilterSidebar partial. Scoped CSS — every
   selector here starts with .refiner-box so existing usages of .bp-rg /
   .bp-ci / .bp-cb on Rashi/Nakshatra/Numerology Detail views are unaffected. */
.refiner-box {
    background: var(--bp-surface);
    border: 1px solid var(--bp-border);
    border-radius: var(--r-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}
/* Header bar — Filters icon + count badge + Clear all */
.refiner-box .bp-filter-hd {
    padding: .7rem .9rem;
    border-bottom: 1px solid var(--bp-border);
    display: flex; align-items: center; justify-content: space-between;
    background: var(--bp-bg);
    margin-bottom: 0; text-transform: none; letter-spacing: 0;
}
.refiner-box .bp-filter-title {
    font-size: .82rem; font-weight: 700; color: var(--bp-text-1);
    text-transform: none; letter-spacing: 0;
    display: flex; align-items: center; gap: .42rem;
}
.refiner-box .bp-filter-title svg { width: 13px; height: 13px; color: var(--bp-nav); }
.refiner-box .bp-filter-badge {
    font-size: .58rem; font-weight: 700;
    background: var(--bp-nav); color: #fff;
    padding: .12rem .45rem; border-radius: var(--r-full);
    min-width: 18px; text-align: center;
}
.refiner-box .bp-filter-clear {
    font-size: .7rem; color: var(--bp-nav); font-weight: 600;
    text-decoration: none; cursor: pointer;
}
.refiner-box .bp-filter-clear:hover { text-decoration: underline; }

/* Active pills row — cream background, scoped so non-refiner usage of
   .bp-active-pills (none today, but future-proof) keeps the original look */
.refiner-box .bp-active-pills {
    padding: .55rem .9rem;
    border-bottom: 1px solid var(--bp-border);
    background: #F9F6F2;
    margin-bottom: 0;
    display: flex; flex-wrap: wrap; gap: .3rem;
}
/* Religion-specific pills — only resolve inside the refiner box */
.refiner-box .pill-hindu     { background: var(--hindu-lt);    border-color: var(--hindu);    color: var(--hindu-text); }
.refiner-box .pill-muslim    { background: #E8F5EC; border-color: #1A7A4A; color: #0E4A2D; }
.refiner-box .pill-christian { background: #EAF0FA; border-color: #1A4A8A; color: #0E2D58; }
.refiner-box .pill-sikh      { background: #FDF5E0; border-color: #8B6914; color: #5A4208; }
.refiner-box .pill-jain      { background: #F0F8F0; border-color: #2E7A2E; color: #164016; }

/* Group toggle — slightly tighter spacing + hover background + selected pill
   to the right of the title. */
.refiner-box .bp-rg          { border-bottom: 1px solid var(--bp-border); }
.refiner-box .bp-rg:last-child { border-bottom: none; }
.refiner-box .bp-rg-toggle {
    padding: .58rem .9rem;
    cursor: pointer;
    transition: background .1s;
}
.refiner-box .bp-rg-toggle:hover { background: #F9F6F2; }
.refiner-box .bp-rg-label {
    font-size: .73rem; font-weight: 700; color: var(--bp-text-1);
}
.refiner-box .bp-rg-body { padding: .42rem .9rem .65rem; }
.refiner-box .bp-rg-toggle-right {
    display: flex; align-items: center; gap: .4rem; flex-shrink: 0;
}
.refiner-box .bp-rg-selected {
    font-size: .62rem; color: var(--bp-nav); font-weight: 600;
    background: var(--bp-accent-lt, #EAF3FB);
    padding: .1rem .42rem; border-radius: var(--r-full);
    max-width: 9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* Small rashi-symbol prefix on each rashi checkbox row */
.refiner-box .bp-ci-rashi-sym {
    color: var(--bp-rashi, #534AB7);
    font-size: .9rem; line-height: 1;
}

/* Show-more link inside refiner box — match the v2 mock minimal accent style */
.refiner-box .bp-show-more {
    display: inline-block; margin: .2rem 0 .1rem;
    font-size: .68rem; color: var(--bp-nav); font-weight: 600;
    background: none; border: none; cursor: pointer;
    padding: .35rem 0;
}
.refiner-box .bp-show-more:hover { text-decoration: underline; }

.bp-refiner-hd {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 12px;
}
.bp-filter-title {
    font-size: .78rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: .07em; color: var(--bp-text-3);
}
.bp-active-pills {
    display: flex; flex-wrap: wrap; gap: 6px;
    padding-bottom: 10px; margin-bottom: 10px;
    border-bottom: 1px solid var(--bp-border);
}
.bp-pill {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 3px 10px; border-radius: var(--r-full);
    font-size: .78rem; font-weight: 600; text-decoration: none;
    border: 1px solid var(--bp-border); background: var(--bp-surface);
    color: var(--bp-text-1); transition: all var(--bp-ease); cursor: pointer;
}
.bp-pill:hover { text-decoration: none; }
.pill-boy   { background: var(--bp-boy-lt); border-color: var(--bp-boy-border); color: var(--bp-boy-text); }
.pill-girl  { background: var(--bp-girl-lt); border-color: var(--bp-girl-border); color: var(--bp-girl-text); }
.pill-rashi { background: var(--bp-rashi-lt); border-color: var(--bp-rashi); color: var(--bp-rashi); }
.pill-tag   { background: var(--bp-accent-lt); border-color: var(--bp-accent); color: var(--bp-accent); }

/* Refiner group accordion */
.bp-rg { border-bottom: 1px solid var(--bp-border); }
.bp-rg-toggle { display: flex; align-items: center; justify-content: space-between; padding: .65rem 0; cursor: pointer; user-select: none; background: none; border: none; width: 100%; text-align: left; }
.bp-rg-toggle:hover .bp-rg-label { color: #0077B6; }
.bp-rg-label { font-size: .8rem; font-weight: 600; color: var(--bp-text-1); transition: color .15s; display: flex; align-items: center; gap: .4rem; }
.bp-rg-chevron { width: 14px; height: 14px; color: var(--bp-text-3); transition: transform .2s; flex-shrink: 0; }
.bp-rg.open .bp-rg-chevron { transform: rotate(180deg); }
.bp-rg-body { padding-bottom: .75rem; display: none; }
.bp-rg.open .bp-rg-body { display: block; }
.bp-rg-count { display: inline-flex; align-items: center; justify-content: center; background: var(--bp-accent); color: #fff; font-size: .58rem; font-weight: 700; min-width: 15px; height: 15px; border-radius: var(--r-full); padding: 0 3px; }

/* Unified count pill */
.bp-cnt { font-size: .65rem; color: var(--bp-text-3); background: var(--bp-bg); border: 1px solid var(--bp-border); padding: .1rem .42rem; border-radius: var(--r-full); flex-shrink: 0; white-space: nowrap; }
.bp-ci.on .bp-cnt { background: #E3F1FA; border-color: #A8D4F0; color: #003D5C; }

/* Checkbox list */
.bp-check-list { display: flex; flex-direction: column; gap: 1px; }
.bp-ci {
    display: flex; align-items: center; justify-content: space-between;
    padding: .32rem .45rem; border-radius: var(--r-sm);
    cursor: pointer; transition: background .12s; gap: .5rem;
    text-decoration: none; color: inherit;
}
.bp-ci:hover { background: var(--bp-bg); text-decoration: none; color: inherit; }
.bp-ci.on { background: #E3F1FA; }
.bp-ci-left { display: flex; align-items: center; gap: .5rem; min-width: 0; }
.bp-cb {
    width: 15px; height: 15px; border-radius: 3px;
    border: 1.5px solid var(--bp-border-md);
    background: var(--bp-surface); flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    transition: all .15s;
}
.bp-ci.on .bp-cb { background: #0077B6; border-color: #0077B6; }
.bp-cb-tick { color: #fff; font-size: .6rem; display: none; line-height: 1; }
.bp-ci.on .bp-cb-tick { display: block; }
.bp-ci-label { font-size: .78rem; font-weight: 500; color: var(--bp-text-1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bp-ci.on .bp-ci-label { color: #003D5C; font-weight: 600; }

/* Show more */
.bp-show-more { display: inline-flex; align-items: center; gap: .3rem; margin-top: .4rem; margin-left: .45rem; font-size: .72rem; font-weight: 600; color: #0077B6; cursor: pointer; background: none; border: none; padding: 0; font-family: 'Poppins', sans-serif; transition: color .15s; }
.bp-show-more:hover { color: var(--bp-accent); }
.bp-show-more svg { width: 12px; height: 12px; }

/* Inline-truncation for refiner option lists (Numerology, AksharaCount,
   any other group without a modal-wired ShowMoreUrl). When the list
   carries .bp-check-list--truncated, options past the 5th are hidden
   until the user clicks the paired [data-action="toggle-truncate"]
   button, which flips the .expanded class via bachpan-ui.js. */
.bp-check-list--truncated:not(.expanded) > .bp-ci:nth-child(n+6) { display: none; }

/* Gender row */
.bp-gender-row { display: flex; gap: .4rem; }
.bp-gb { flex: 1; padding: .4rem 0; border-radius: var(--r-full); border: 1.5px solid var(--bp-border-md); font-size: .72rem; font-weight: 600; cursor: pointer; background: transparent; color: var(--bp-text-2); font-family: 'Poppins', sans-serif; transition: all .15s; display: flex; align-items: center; justify-content: center; gap: .28rem; }
.bp-gb svg { width: 12px; height: 12px; flex-shrink: 0; }
.bp-gb.boy { background: var(--bp-boy); border-color: var(--bp-boy-border); color: #fff; }
.bp-gb.girl { background: var(--bp-girl); border-color: var(--bp-girl-border); color: #fff; }
.bp-gb.uni { background: var(--bp-unisex); border-color: var(--bp-unisex); color: #fff; }

/* Nakshatra scroll */
.bp-nak-scroll { max-height: 180px; overflow-y: auto; padding-right: 2px; }
.bp-nak-scroll::-webkit-scrollbar { width: 3px; }
.bp-nak-scroll::-webkit-scrollbar-thumb { background: var(--bp-border-md); border-radius: 2px; }

/* Syllable grid */
.bp-syll-note { font-size: .65rem; color: var(--bp-text-3); margin-bottom: .4rem; font-style: italic; }
.bp-syll-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.bp-syll-btn { background: var(--bp-surface); border: 1.5px solid #A8D4F0; border-radius: var(--r-sm); padding: .32rem .1rem; text-align: center; cursor: pointer; transition: all .15s; }
.bp-syll-btn:hover { background: #E3F1FA; }
.bp-syll-btn.on { background: #0077B6; border-color: #0077B6; }
.bp-syll-btn.on .syl-rm { color: #fff; }
.syl-rm { font-size: .7rem; font-weight: 600; color: var(--bp-text-1); display: block; }

/* Numerology grid — 5 columns */
.bp-num-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: .3rem; }
.bp-num-btn {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: .42rem .1rem; border-radius: var(--r-sm);
    border: 1.5px solid var(--bp-border-md);
    background: var(--bp-surface); cursor: pointer; transition: all .15s;
}
.bp-num-btn:hover { border-color: #0077B6; background: #E3F1FA; }
.bp-num-btn.on { background: #0077B6; border-color: #0077B6; }

/* Sidebar CTA + Ad */
.bp-sidebar-cta { margin-top: .9rem; background: var(--bp-accent-lt); border: 1px solid var(--bp-accent-md); border-radius: var(--r-lg); padding: .85rem; text-align: center; }
.bp-sidebar-cta-title { font-size: .78rem; font-weight: 700; margin-bottom: .2rem; }
.bp-sidebar-cta-sub { font-size: .68rem; color: var(--bp-text-2); margin-bottom: .6rem; }
.bp-sidebar-cta-btn { display: block; background: var(--bp-accent); color: #fff; padding: .5rem 0; border-radius: var(--r-full); font-size: .72rem; font-weight: 700; width: 100%; border: none; font-family: 'Poppins', sans-serif; cursor: pointer; }
.bp-ad-label { font-size: .62rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--bp-border-md); }

/* --------------------------------------------------------------------------
   4E. SHOW MORE MODAL
   -------------------------------------------------------------------------- */
.bp-modal-backdrop {
    display: none; position: fixed; inset: 0;
    /* Above the fixed .bachpan-bottom-nav (z-index 1030) — otherwise on mobile the
       nav strip (Home/Browse/Search…) covers the bottom of the bottom-sheet modal,
       hiding the share card's "Copy link" / action row. */
    background: rgba(0,0,0,.5); z-index: 1100;
    align-items: flex-end; justify-content: center;
}
@media(min-width:600px) { .bp-modal-backdrop { align-items: center; } }
.bp-modal-backdrop.open { display: flex; }
.bp-modal {
    background: var(--bp-surface);
    border-radius: 20px 20px 0 0;
    width: 100%; max-width: 100%;
    max-height: 85vh; display: flex; flex-direction: column;
    box-shadow: var(--shadow-lg);
}
@media (min-width: 600px) {
    .bp-modal {
        border-radius: var(--r-lg);
        max-width: 520px; max-height: 70vh;
    }
}
.bp-modal-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 16px 20px; border-bottom: 1px solid var(--bp-border);
}
.bp-modal-title { font-size: 1rem; font-weight: 700; }
.bp-modal-close {
    background: none; border: none; font-size: 1.25rem;
    color: var(--bp-text-3); cursor: pointer;
}
.bp-modal-search { padding: 12px 20px; border-bottom: 1px solid var(--bp-border); }
.bp-modal-search-wrap {
    display: flex; align-items: center; gap: 8px;
    border: 1.5px solid var(--bp-border); border-radius: var(--r-md);
    padding: 8px 12px;
}
.bp-modal-search-wrap input {
    border: none; outline: none; flex: 1; font-size: .85rem; background: transparent;
}
.bp-modal-selected {
    display: flex; flex-wrap: wrap; gap: 6px;
    padding: 8px 20px;
}
.bp-sel-chip {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 3px 10px; border-radius: var(--r-full);
    font-size: .78rem; font-weight: 600;
    background: var(--bp-accent-lt); color: var(--bp-nav);
    border: 1px solid var(--bp-accent-md);
    cursor: pointer;
}
.bp-modal-body { flex: 1; overflow-y: auto; padding: 12px 20px; }
.bp-mci {
    display: flex; align-items: center; gap: 8px;
    padding: 6px 0; font-size: .85rem; color: var(--bp-text-1);
    cursor: pointer;
}
.bp-mci:hover { color: var(--bp-nav); }
.bp-mci.on { color: var(--bp-nav); font-weight: 600; }
.bp-mcb {
    width: 18px; height: 18px; border: 1.5px solid var(--bp-border-md);
    border-radius: 4px; display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; transition: all var(--bp-ease);
}
.bp-mci.on .bp-mcb { background: var(--bp-accent-lt); border-color: var(--bp-nav); }
.bp-mcb-tick { display: none; font-size: .7rem; color: var(--bp-nav); }
.bp-mci.on .bp-mcb-tick { display: block; }
.bp-mci-label { flex: 1; }
.bp-modal-footer {
    display: flex; align-items: center; justify-content: space-between;
    padding: 12px 20px; border-top: 1px solid var(--bp-border);
    gap: 12px;
}
.bp-modal-clear {
    background: none; border: none; font-size: .85rem;
    color: var(--bp-text-2); cursor: pointer; font-weight: 600;
}
.bp-modal-clear:hover { color: var(--bp-text-1); }
.bp-modal-apply {
    padding: 8px 24px; background: var(--bp-nav); color: #fff;
    border: none; border-radius: var(--r-md); font-size: .85rem;
    font-weight: 700; cursor: pointer; transition: background var(--bp-ease);
}
.bp-modal-apply:hover { background: var(--bp-nav-dark); }

/* --------------------------------------------------------------------------
   4F. RASHI HERO CARD
   -------------------------------------------------------------------------- */
.bp-rashi-hero{background:var(--bp-surface);border:1px solid var(--bp-border);border-radius:var(--r-lg);border-left:4px solid var(--bp-girl);padding:1.1rem 1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.bp-rashi-hero--boy{border-left-color:var(--bp-boy);}
.bp-rashi-hero--girl{border-left-color:var(--bp-girl);}
.bp-rashi-icon-wrap{width:54px;height:54px;flex-shrink:0;background:var(--bp-rashi-lt);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:1.7rem;color:var(--bp-rashi);font-family:'Noto Sans',sans-serif;}
.bp-rashi-main{flex:1;min-width:180px;}
.bp-rashi-page-title{font-size:1.2rem;font-weight:700;color:var(--bp-text-1);margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
@media(min-width:768px){.bp-rashi-page-title{font-size:1.35rem;}}
.bp-rashi-page-title .gender-dot{width:10px;height:10px;border-radius:50%;background:var(--bp-girl);flex-shrink:0;display:inline-block;}
.bp-rashi-page-title .gender-dot--boy{background:var(--bp-boy);}
.bp-rashi-sub{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-bottom:.4rem;}
.bp-rashi-deva{font-size:.82rem;color:var(--bp-text-2);font-family:'Noto Sans',sans-serif;}
.bp-rashi-lat{font-size:.78rem;color:var(--bp-text-3);}
.bp-rashi-badges{display:flex;gap:.4rem;flex-wrap:wrap;}
.bp-rbadge{display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem;font-weight:600;padding:.2rem .65rem;border-radius:var(--r-full);}
.rb-planet{background:var(--bp-boy-lt);color:var(--bp-boy-text);}
.rb-element{background:var(--bp-accent-lt);color:#7B3200;}
.bp-rashi-count{font-size:.85rem;color:var(--bp-text-2);white-space:nowrap;font-weight:500;flex-shrink:0;}
.bp-rashi-count strong{color:var(--bp-text-1);font-weight:700;font-size:1rem;}
/* Inline left-aligned count line (Misc UI fixes 3 + 5). Sits between the H1
   and the descriptor row inside .bp-rashi-main, replacing the right-side
   .bp-rashi-count card for pages that go through _BrowseInfoPanel. */
.bp-rashi-count-line{font-size:.82rem;color:var(--bp-text-2);margin-bottom:.35rem;}
.bp-rashi-count-line strong{color:var(--bp-text-1);font-weight:700;}

/* Compact 2-row hero (header-optimization). Row 1 = title + inline count pill,
   Row 2 = Name · NativeName · Subtitle · Badge1 · Badge2 …
   Layout reuses .bp-rashi-hero so all variants (Rashi, Nakshatra, Numerology,
   Tag, Religion, Language) get the same compact rhythm. */
.bp-rashi-hero--compact{padding:.85rem 1rem;margin-bottom:.75rem;align-items:flex-start;}
.bp-rashi-hero--compact .bp-rashi-main{display:flex;flex-direction:column;gap:.25rem;}
.bp-rashi-row1{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;}
.bp-rashi-row1 .bp-rashi-page-title{margin-bottom:0;}
.bp-rashi-count-pill{display:inline-flex;align-items:center;font-size:.72rem;font-weight:600;color:var(--bp-text-2);background:var(--bp-bg);border:1px solid var(--bp-border);border-radius:999px;padding:.15rem .55rem;white-space:nowrap;}
.bp-rashi-count-pill strong{color:var(--bp-text-1);font-weight:700;margin-right:.18rem;}
.bp-rashi-row2{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-size:.78rem;color:var(--bp-text-2);line-height:1.4;}
.bp-rashi-row2-item{display:inline-flex;align-items:baseline;}
.bp-rashi-row2-sep{width:3px;height:3px;border-radius:50%;background:var(--bp-text-3);flex-shrink:0;display:inline-block;}
/* When the compact hero is in play, hide any legacy stacked rows that may
   still slip through from older partial callers. Keeps the markup safe even
   if a future view forgets to fold descriptor + badges into Row 2. */
.bp-rashi-hero--compact .bp-rashi-count-line,
.bp-rashi-hero--compact .bp-rashi-sub,
.bp-rashi-hero--compact .bp-rashi-badges,
.bp-rashi-hero--compact > .bp-rashi-count{display:none;}

/* --------------------------------------------------------------------------
   4G. BROWSE / SEARCH LISTING
   -------------------------------------------------------------------------- */
/* Layout — flex-based matching mockup */
.bp-layout { display: flex; min-height: calc(100vh - 72px); }
.bp-sidebar {
    width: 300px; flex-shrink: 0;
    background: var(--bp-surface); border-right: 1px solid var(--bp-border);
    padding: 1rem; display: none; overflow-y: auto;
    position: sticky; top: 52px; max-height: calc(100vh - 52px);
}
@media (min-width: 992px) { .bp-sidebar { display: block; } }
.bp-drawer {
    position: fixed; left: 0; top: 0; bottom: 0;
    width: 300px; background: var(--bp-surface); z-index: 500;
    overflow-y: auto; padding: 1rem;
    transform: translateX(-100%); transition: transform .28s ease;
    box-shadow: 4px 0 24px rgba(0,0,0,.12);
}
.bp-drawer.open { transform: translateX(0); }
.bp-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 490; }
.bp-overlay.open { display: block; }
.bp-main { flex: 1; padding: 1rem 1.25rem 2rem; min-width: 0; }
@media (min-width: 768px) { .bp-main { padding: 1.25rem 1.5rem 2rem; } }

/* Mobile filter bar */
.bp-mobile-bar {
    display: flex; align-items: center; justify-content: space-between;
    gap: 8px; padding: 8px 0; margin-bottom: 8px;
}
@media (min-width: 992px) { .bp-mobile-bar { display: none; } }
.bp-filter-trigger {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 14px; border: 1.5px solid var(--bp-border);
    border-radius: var(--r-full); background: var(--bp-surface);
    font-size: .8rem; font-weight: 600; color: var(--bp-text-1);
    cursor: pointer;
}
.bp-chip {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 4px 10px; border-radius: var(--r-full);
    font-size: .75rem; font-weight: 600;
    background: var(--bp-accent-lt); color: var(--bp-nav);
    border: 1px solid var(--bp-accent-md);
    text-decoration: none;
}

/* Letter Filter */
.bp-lf{display:flex;gap:.4rem;margin-bottom:.9rem;flex-wrap:wrap;}
.bp-lf-btn{padding:.3rem .85rem;border-radius:var(--r-full);font-size:.75rem;font-weight:600;border:1.5px solid var(--bp-border-md);background:var(--bp-surface);color:var(--bp-text-2);cursor:pointer;font-family:'Poppins',sans-serif;transition:all .15s;}
.bp-lf-btn:hover{border-color:var(--bp-girl);color:var(--bp-girl);}
.bp-lf-btn.active{background:var(--bp-nav);border-color:var(--bp-nav);color:#fff;}
/* Rashi-purple variant — Rashi/Nakshatra syllable rows use the Rashi token
   for the active state instead of nav-blue, so syllable selectors visually
   tie to the Rashi system (header optimization Change 4). */
.bp-lf--rashi .bp-lf-btn:hover{border-color:var(--bp-rashi);color:var(--bp-rashi);}
.bp-lf--rashi .bp-lf-btn.active{background:var(--bp-rashi);border-color:var(--bp-rashi);color:#fff;}

/* Card-style variant for the letter/syllable filter row (matches mock
   bachpan-header-optimization.html — .al tiles). Buttons are a tight 36x34
   column tile with the letter on top and optional count below. Used on
   Rashi / Nakshatra / Tag / Numerology / Search listings; the Religion
   alphabet already has the look via .bp-lf--counts / .bp-ab. Multi-char
   syllables ("Chu") and the "All" tile expand width via .bp-lf-btn--all. */
.bp-lf--cards{gap:4px;}
.bp-lf--cards .bp-lf-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:36px;height:34px;padding:0 4px;border-radius:var(--r-sm);gap:0;line-height:1;}
.bp-lf--cards .bp-lf-btn__letter{font-size:.78rem;font-weight:700;line-height:1;}
.bp-lf--cards .bp-lf-btn__count{font-size:.44rem;color:var(--bp-text-3);font-weight:500;line-height:1;}
.bp-lf--cards .bp-lf-btn.active .bp-lf-btn__count{color:rgba(255,255,255,.72);}
.bp-lf--cards .bp-lf-btn--all{min-width:44px;padding:0 8px;}
.bp-lf--cards .bp-lf-btn--all .bp-lf-btn__letter{font-size:.7rem;}
.bp-lf--cards .bp-lf-btn--dimmed{opacity:.38;pointer-events:none;cursor:default;}

/* Letter Filter — with-counts variant. Each chip shows the letter on top
   and the matching name-count underneath in a smaller muted weight. The
   "All" chip uses the same vertical layout so the row height stays uniform. */
.bp-lf--counts{gap:.28rem;}
.bp-lf--counts .bp-lf-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:42px;padding:.32rem .55rem;border-radius:var(--r-md);text-decoration:none;line-height:1;}
.bp-lf--counts .bp-lf-btn__letter{font-size:.85rem;font-weight:700;}
.bp-lf--counts .bp-lf-btn__count{font-size:.55rem;font-weight:600;color:var(--bp-text-3);letter-spacing:.02em;}
.bp-lf--counts .bp-lf-btn.active .bp-lf-btn__count{color:rgba(255,255,255,.78);}
.bp-lf--counts .bp-lf-btn--all{min-width:54px;padding:.32rem .7rem;}
.bp-lf--counts .bp-lf-btn--all .bp-lf-btn__letter{font-size:.78rem;}
/* Dimmed state — letters with zero names. Render but visually disabled. */
.bp-lf--counts .bp-lf-btn--dimmed{opacity:.35;pointer-events:none;cursor:default;}

/* Sort bar */
.bp-sort-bar{display:flex;align-items:center;gap:.4rem;padding:.6rem 0 .9rem;flex-wrap:wrap;}
/* Discrete divider line below the sort bar — emitted by _BrowseToolbar so
   every list page (Rashi, Nakshatra, Numerology, Tag/Search, Religion,
   Language) gets the same separator between toolbar and name grid. */
.bp-sort-divider{height:1px;background:var(--bp-border);margin:0 0 .15rem;}
.bp-sort-lbl{font-size:.72rem;color:var(--bp-text-3);font-weight:500;white-space:nowrap;}
.bp-sort-pills{display:flex;gap:.3rem;flex-wrap:wrap;}
.bp-sort-pill{padding:.3rem .85rem;border-radius:var(--r-full);font-size:.72rem;font-weight:500;border:1px solid var(--bp-border-md);background:var(--bp-surface);color:var(--bp-text-2);cursor:pointer;font-family:'Poppins',sans-serif;transition:all .15s;}
.bp-sort-pill.active{background:var(--bp-nav);border-color:var(--bp-nav);color:#fff;}
.bp-res-count{font-size:.72rem;color:var(--bp-text-3);font-weight:500;white-space:nowrap;margin-left:auto;}
.bp-view-btns{display:flex;gap:.25rem;}
.bp-vbtn{width:30px;height:30px;border-radius:var(--r-sm);border:1px solid var(--bp-border-md);background:var(--bp-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--bp-text-3);}
.bp-vbtn.active{background:var(--bp-nav);border-color:var(--bp-nav);color:#fff;}
.bp-vbtn svg{width:13px;height:13px;}

/* Names grid / list containers */
.bp-names-grid{display:grid;gap:.75rem;padding-top:.5rem;grid-template-columns:1fr;}
@media(min-width:480px){.bp-names-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:768px){.bp-names-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:1200px){.bp-names-grid{grid-template-columns:repeat(4,1fr);}}
.bp-names-list { display: flex; flex-direction: column; gap: 8px; }

/* Ad in grid */
.bp-ad-grid-card{background:var(--bp-bg);border:1.5px dashed var(--bp-border-md);border-radius:var(--r-lg);min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--bp-text-3);font-size:.7rem;gap:.25rem;}
@media(min-width:1200px){.bp-ad-grid-card{grid-column:span 2;min-height:130px;}}

/* Pagination v4 */
.bp-pagination-wrap{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0 .5rem;border-top:1px solid var(--bp-border);margin-top:.5rem;flex-wrap:wrap;gap:.75rem;}
.bp-page-info{font-size:.78rem;color:var(--bp-text-3);}
.bp-page-info strong{color:var(--bp-text-2);}
.bp-pagination{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;}
.bp-page-btn{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-md);border:1px solid var(--bp-border-md);background:var(--bp-surface);font-size:.85rem;font-weight:500;cursor:pointer;color:var(--bp-text-2);font-family:'Poppins',sans-serif;transition:all .12s;padding:0 .65rem;text-decoration:none;}
.bp-page-btn:hover{border-color:var(--bp-nav);color:var(--bp-nav);background:var(--bp-accent-lt);}
.bp-page-btn.active{background:var(--bp-nav);border-color:var(--bp-nav);color:#fff;font-weight:700;}
.bp-page-btn.active:hover{background:var(--bp-nav);color:#fff;}
.bp-page-btn.disabled{opacity:.4;cursor:not-allowed;pointer-events:none;}
.bp-page-btn.prev-next{gap:.3rem;display:flex;align-items:center;font-weight:600;}
.bp-page-btn.prev-next svg{width:13px;height:13px;}
.bp-page-ellipsis{font-size:.85rem;color:var(--bp-text-3);padding:0 .35rem;align-self:center;min-width:18px;text-align:center;}
.bp-per-page{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--bp-text-3);}
.bp-per-page select{padding:.3rem .6rem;border-radius:var(--r-sm);border:1px solid var(--bp-border-md);background:var(--bp-surface);font-size:.75rem;font-family:'Poppins',sans-serif;color:var(--bp-text-2);cursor:pointer;}

/* --------------------------------------------------------------------------
   4H. NAME DETAIL PAGE
   -------------------------------------------------------------------------- */

/* Name Detail Page */
.bp-page--detail { padding-top: 1.25rem; padding-bottom: 3rem; }

/* Name Hero */
.bp-name-hero{background:var(--bp-surface);border:1px solid var(--bp-border);border-top:4px solid var(--bp-boy);border-radius:var(--r-lg);padding:1.5rem 1.5rem 1.25rem;margin-bottom:1.25rem;box-shadow:var(--shadow-sm);position:relative;}
.bp-name-actions{position:absolute;top:1rem;right:1rem;display:flex;gap:.5rem;}
@media(max-width:480px){.bp-name-actions{position:static;justify-content:flex-end;margin-bottom:.5rem;}.bp-hero-name{padding-right:0;}}
.bp-action-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--bp-border-md);background:var(--bp-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--bp-text-3);transition:all .15s;}
.bp-action-btn svg{width:16px;height:16px;}
.bp-action-btn:hover{border-color:var(--bp-boy);color:var(--bp-boy);}
.bp-action-btn.saved{color:var(--bp-girl);border-color:var(--bp-girl-border);}
.bp-hero-name{font-size:2.5rem;font-weight:700;line-height:1.1;margin-bottom:.2rem;padding-right:5rem;}
@media(min-width:600px){.bp-hero-name{font-size:3rem;}}
.bp-hero-deva{font-size:1.2rem;font-weight:500;color:var(--bp-text-2);font-family:'Noto Sans',sans-serif;margin-bottom:.75rem;display:block;}
.bp-hero-meaning{font-size:1rem;font-weight:500;color:var(--bp-text-1);line-height:1.6;padding:.75rem 1rem;border-radius:0 var(--r-sm) var(--r-sm) 0;margin-bottom:1rem;}
@media(min-width:600px){.bp-hero-meaning{font-size:1.1rem;}}

/* ────────────────────────────────────────────────────────────
   Section title accent bar — used by Spelling Variants & Similar Names headings.
   Mock used inline `style="background:var(--bp-boy)"`; we want the same colour
   without inline CSS, so the bar uses the gender variable resolved at the page level.
   ──────────────────────────────────────────────────────────── */
.bp-sec-bar--accent{background:var(--bp-boy);}
.bp-page.girl .bp-sec-bar--accent{background:var(--bp-girl);}
.bp-sec-subtitle{font-size:.85rem;font-weight:500;color:var(--bp-text-2);margin-left:.25rem;}

/* ────────────────────────────────────────────────────────────
   Spelling Variants — main content grid
   ──────────────────────────────────────────────────────────── */
.bp-variants__intro{font-size:.95rem;color:var(--bp-text-1);margin-bottom:1rem;line-height:1.55;}
.variant-names-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.55rem;}
.vn-card{background:var(--bp-bg);border:1.5px solid var(--bp-border-md);border-radius:var(--r-md);padding:.65rem .8rem;cursor:pointer;transition:all .15s;text-decoration:none;display:block;color:inherit;}
.vn-card:hover{border-color:var(--bp-boy);background:var(--bp-boy-lt);}
.vn-card--current{border-color:var(--bp-boy);background:var(--bp-boy-lt);position:relative;}
.vn-card--current::after{content:'Current';position:absolute;top:-.55rem;right:.5rem;font-size:.55rem;font-weight:700;background:var(--bp-boy);color:#fff;padding:.08rem .42rem;border-radius:var(--r-full);}
.vn-name{font-size:1.05rem;font-weight:700;color:var(--bp-boy);display:block;margin-bottom:.15rem;}
.vn-deva{font-family:'Noto Sans',sans-serif;font-size:.9rem;color:var(--bp-text-2);}
.vn-pop{font-size:.6rem;color:var(--bp-text-3);margin-top:.18rem;display:flex;align-items:center;gap:.2rem;}
.vn-pop__label{font-size:.58rem;white-space:nowrap;}
.vn-pop__value{font-size:.58rem;}
.vn-pop-bar{flex:1;height:3px;background:var(--bp-border-md);border-radius:2px;overflow:hidden;}
.vn-pop-fill{height:100%;background:var(--bp-boy);border-radius:2px;width:0;}
/* width is applied at runtime via bachpan-ui.js using the data-pct attribute. */

/* ────────────────────────────────────────────────────────────
   Similar Names — tab switcher + rich card grid (main content)
   ──────────────────────────────────────────────────────────── */
.bp-similar{}
.sim-tabs{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:1.1rem;}
.sim-tab{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .8rem;border-radius:var(--r-full);font-size:.73rem;font-weight:600;cursor:pointer;border:1.5px solid var(--bp-border-md);background:transparent;color:var(--bp-text-2);font-family:'Poppins',sans-serif;transition:all .15s;white-space:nowrap;}
.sim-tab:hover{border-color:var(--bp-nav);color:var(--bp-nav);}
.sim-tab.active{background:var(--bp-nav);border-color:var(--bp-nav);color:#fff;}
.sim-tab .tab-count{font-size:.6rem;font-weight:700;padding:.05rem .38rem;border-radius:var(--r-full);background:rgba(0,0,0,.1);}
.sim-tab.active .tab-count{background:rgba(255,255,255,.25);}
.sim-tab-desc{font-size:.95rem;color:var(--bp-text-1);margin-bottom:1rem;padding:.55rem .85rem;background:var(--bp-bg);border-radius:var(--r-sm);border-left:3px solid var(--bp-nav);line-height:1.55;}
.sim-panel{display:none;}
.sim-panel.active{display:block;}
.sim-names-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:.65rem;}
.sn-card{background:var(--bp-bg);border:1px solid var(--bp-border);border-radius:var(--r-lg);overflow:hidden;cursor:pointer;transition:all .18s;text-decoration:none;display:block;color:inherit;}
.sn-card:hover{border-color:var(--bp-boy);transform:translateY(-1px);box-shadow:var(--shadow-md);}
.sn-stripe{height:3px;background:var(--bp-boy);}
.sn-body{padding:.65rem .75rem .6rem;}
.sn-name{font-size:1.05rem;font-weight:700;color:var(--bp-boy);display:block;margin-bottom:.15rem;}
.sn-deva{font-family:'Noto Sans',sans-serif;font-size:.88rem;color:var(--bp-text-2);display:block;margin-bottom:.35rem;}
.sn-meaning{font-size:.82rem;color:var(--bp-text-1);line-height:1.45;margin-bottom:.4rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.sn-sim-reason{display:inline-flex;align-items:center;gap:.2rem;font-size:.6rem;font-weight:600;padding:.1rem .42rem;border-radius:var(--r-full);border:1px solid;}
.sr-sound{background:#FEF9E7;color:#7A5900;border-color:#F0D080;}
.sr-meaning{background:var(--bp-accent-lt,#EAF1F8);color:var(--bp-nav);border-color:var(--bp-accent-md,#B9D2E5);}
.sr-style{background:#F0EBFF;color:#4A1D8C;border-color:#C9B8F5;}
.sr-myth{background:var(--hindu-lt,#FEEED4);color:var(--hindu-text,#7A4500);border-color:var(--hindu-md,#F5C887);}
.sr-origin{background:#EAF3DE;color:#2E5A0E;border-color:#B8DBA0;}

/* ────────────────────────────────────────────────────────────
   Sidebar — compact, type-grouped Similar Names + Spelling Variants
   ──────────────────────────────────────────────────────────── */
.sdsim-group{margin-bottom:.75rem;}
.sdsim-group:last-child{margin-bottom:0;}
.sdsim-type-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--bp-text-3);margin-bottom:.32rem;display:flex;align-items:center;gap:.3rem;}
.sdsim-type-label::after{content:'';flex:1;height:1px;background:var(--bp-border);}
.sdsim-row{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--bp-border);transition:background .1s;text-decoration:none;color:inherit;}
.sdsim-row:last-child{border-bottom:none;}
.sdsim-row:hover{background:var(--bp-accent-lt,#EAF1F8);padding-left:.25rem;border-radius:var(--r-sm);}
.sdsim-name{font-size:.8rem;font-weight:600;color:var(--bp-boy);min-width:60px;}
.sdsim-meaning{font-size:.68rem;color:var(--bp-text-3);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sdsim-arrow{color:var(--bp-text-3);font-size:.72rem;}

.sdvar-pills{display:flex;flex-wrap:wrap;gap:.3rem;}
.sdvar-pill{display:inline-flex;align-items:center;padding:.22rem .65rem;border-radius:var(--r-full);font-size:.72rem;font-weight:600;border:1.5px solid var(--bp-border-md);color:var(--bp-text-2);background:var(--bp-surface);text-decoration:none;transition:all .15s;}
.sdvar-pill:hover{background:var(--bp-boy-lt);border-color:var(--bp-boy-border);color:var(--bp-boy-text);}
.sdvar-pill--current{border-color:var(--bp-boy-border);background:var(--bp-boy-lt);color:var(--bp-boy-text);}
.sdvar-note{font-size:.67rem;color:var(--bp-text-3);margin-top:.5rem;line-height:1.5;}

/* Badges */
.bp-hero-badges{display:flex;gap:.35rem;flex-wrap:wrap;}
.bp-hbadge{display:inline-flex;align-items:center;gap:.28rem;padding:.25rem .7rem;border-radius:var(--r-full);font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s;text-decoration:none;border:1px solid transparent;}
.hb-boy{background:var(--bp-boy-lt);color:var(--bp-boy-text);border-color:var(--bp-boy-border);}
.hb-girl{background:var(--bp-girl-lt);color:var(--bp-girl-text);border-color:var(--bp-girl-border);}
.hb-rashi{background:var(--bp-rashi-lt);color:var(--bp-rashi);border-color:#C9C4ED;}
.hb-nak{background:var(--bp-rashi-lt);color:var(--bp-rashi);border-color:#C9C4ED;}
.hb-num{background:var(--bp-accent-lt);color:var(--bp-nav);border-color:var(--bp-accent-md);}
.hb-tag{background:#EAF3DE;color:#2E5A0E;border-color:#B8DBA0;}
.hb-origin{background:#F0EEF8;color:#3C3489;border-color:#C9C4ED;}
.hb-verified{background:#E2F6EB;color:#0F5A30;border-color:#6FD0A0;}

/* Stat Dashboard */
.bp-stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1.25rem;}
@media(min-width:500px){.bp-stat-grid{grid-template-columns:repeat(4,1fr);}}
.bp-stat-card{background:var(--bp-surface);border:1px solid var(--bp-border);border-radius:var(--r-lg);padding:.9rem .85rem;text-align:center;box-shadow:var(--shadow-sm);cursor:pointer;transition:all .15s;text-decoration:none;display:block;}
.bp-stat-card:hover{border-color:var(--bp-boy);box-shadow:var(--shadow-md);}
.bp-stat-icon{width:40px;height:40px;border-radius:var(--r-md);margin:0 auto .5rem;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-family:'Noto Sans',sans-serif;}
.bp-stat-label{font-size:.65rem;font-weight:600;color:var(--bp-text-3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;}
.bp-stat-value{font-size:.9rem;font-weight:700;color:var(--bp-text-1);line-height:1.2;}
.bp-stat-sub{font-size:.65rem;color:var(--bp-text-3);margin-top:.15rem;}
.si-rashi      { background: var(--bp-rashi-lt); color: var(--bp-rashi); }
.si-num        { background: #FFF0E6; color: #C05C00; }
.si-religion-h { background: var(--hindu-lt); color: var(--hindu); }

/* Inline Ad */
.bp-inline-ad{background:var(--bp-bg);border:1.5px dashed var(--bp-border-md);border-radius:var(--r-md);height:90px;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;}

/* Detail layout (2 col) */
.bp-detail-layout{display:grid;grid-template-columns:1fr;gap:1.25rem;}
@media(min-width:900px){.bp-detail-layout{grid-template-columns:1fr 300px;}}

/* Content Sections */
.bp-section{background:var(--bp-surface);border:1px solid var(--bp-border);border-radius:var(--r-lg);padding:1.25rem 1.5rem;margin-bottom:1.25rem;box-shadow:var(--shadow-sm);}
.bp-section:last-child { border-bottom: none; }

/* Rashi detail */
.bp-rashi-detail{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:500px){.bp-rashi-detail{grid-template-columns:1fr;}}
.bp-rashi-box{background:var(--bp-rashi-lt);border:1px solid #C9C4ED;border-radius:var(--r-md);padding:.8rem .88rem;}
.bp-rashi-box-label{font-size:.58rem;font-weight:700;color:var(--bp-rashi);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.22rem;}
.bp-rashi-box-name{font-size:.92rem;font-weight:700;color:var(--bp-rashi);margin-bottom:.1rem;}
.bp-rashi-box-deva{font-size:.75rem;color:var(--bp-text-2);font-family:'Noto Sans',sans-serif;}
.bp-rashi-box-meta{font-size:.67rem;color:var(--bp-text-3);margin-top:.25rem;line-height:1.5;}
.bp-letters-row{display:flex;gap:.2rem;flex-wrap:wrap;margin-top:.4rem;margin-bottom:.55rem;}
.bp-letter-pill{width:26px;height:24px;border-radius:var(--r-sm);background:var(--bp-rashi);color:#fff;font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center;}

/* Numerology detail — sized to match name-detail v5 mock (.num-circ / .num-n).
   Tighter circle + line-height:1 keeps the digit perfectly centred for both
   single-digit and double-digit (11 / 22) values. */
.bp-num-detail{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;}
.bp-num-circle{width:68px;height:68px;border-radius:50%;background:var(--bp-accent-lt);border:3px solid var(--bp-accent-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;padding:0;}
.bp-num-big{font-size:1.9rem;font-weight:700;color:var(--bp-nav);line-height:1;display:block;text-align:center;}
.bp-num-info{flex:1;min-width:150px;}
.bp-num-planet{font-size:.82rem;font-weight:600;color:var(--bp-text-1);margin-bottom:.2rem;}
.bp-num-traits{display:flex;gap:.22rem;flex-wrap:wrap;margin-top:.3rem;margin-bottom:.55rem;}
.bp-num-trait{font-size:.62rem;font-weight:500;background:var(--bp-accent-lt);color:var(--bp-nav);padding:.1rem .42rem;border-radius:var(--r-full);border:1px solid var(--bp-accent-md);}

/* Language variants */
/* Languages section — matches Mock HTML/bachpan-name-detail-v3.html .bp-lang-*
   spec (2026-05-23 restyle). Compact card with tiny uppercase language label,
   native script as the prominent line, romanised in nav-blue, meaning beneath
   in muted text. Hover lifts border + bg to nav accent. */
.bp-lang-variants{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;}
@media(min-width:600px){.bp-lang-variants{grid-template-columns:repeat(3,1fr);}}
.bp-lang-card{background:var(--bp-bg);border:1px solid var(--bp-border);border-radius:var(--r-md);padding:.7rem .85rem;cursor:pointer;transition:border-color .15s,background-color .15s;text-decoration:none;display:block;color:inherit;}
.bp-lang-card:hover{border-color:var(--bp-nav);background:var(--bp-accent-lt);}
.bp-lang-name{font-size:.65rem;font-weight:700;color:var(--bp-text-3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;}
.bp-lang-variant{font-size:1rem;font-weight:700;color:var(--bp-text-1);font-family:'Noto Sans',sans-serif;display:block;margin-bottom:.12rem;line-height:1.25;}
.bp-lang-roman{font-size:.72rem;font-weight:600;color:var(--bp-nav);margin-bottom:.1rem;}
.bp-lang-meaning{font-size:.68rem;color:var(--bp-text-2);line-height:1.45;}
.bp-lang-pron{font-size:.65rem;color:var(--bp-text-3);font-style:italic;margin-top:.2rem;}

/* Meaning section body text — matches Mock HTML/bachpan-name-detail-v3.html
   inline style on the meaning paragraph. Slightly larger leading for
   readability since this is the prose part of the page. */
.bp-meaning-body{font-size:.85rem;color:var(--bp-text-2);line-height:1.8;margin-bottom:.75rem;}
.bp-meaning-native{font-size:.85rem;color:var(--bp-text-2);line-height:1.8;margin-bottom:.5rem;}
.bp-meaning-en{font-size:.82rem;color:var(--bp-text-3);line-height:1.7;margin-bottom:.5rem;}

/* Tags row */
.bp-tags-row{display:flex;gap:.35rem;flex-wrap:wrap;}
.bp-tag-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.28rem .75rem;border-radius:var(--r-full);font-size:.7rem;font-weight:600;border:1px solid;}

/* FAQ */
.bp-faq-item { border-bottom: 1px solid var(--bp-border); }
.bp-faq-item:last-child { border-bottom: none; }
/* FAQ — sized to match Mock HTML/bachpan-name-detail-v3.html (2026-05-23
   restyle). Tighter question/answer + compact "suggest" footer row. */
.bp-faq-q {
    display: flex; align-items: center; justify-content: space-between;
    padding: .75rem 0; cursor: pointer;
    font-size: .82rem; font-weight: 600; color: var(--bp-text-1);
    gap: .75rem; user-select: none;
    background: none; border: none; width: 100%; text-align: left;
    font-family: 'Poppins', sans-serif;
}
.bp-faq-q:hover { color: var(--bp-nav); }
.bp-faq-chevron { width: 14px; height: 14px; color: var(--bp-text-3); transition: transform .2s; flex-shrink: 0; }
.bp-faq-item.open .bp-faq-chevron { transform: rotate(180deg); }
.bp-faq-a { font-size: .8rem; color: var(--bp-text-2); line-height: 1.7; padding: 0 0 .85rem; display: none; }
.bp-faq-item.open .bp-faq-a { display: block; }
.bp-suggest{margin-top:1rem;padding:.7rem 1rem;background:var(--bp-bg);border:1px solid var(--bp-border);border-radius:var(--r-md);display:flex;align-items:center;gap:.75rem;}
.bp-suggest-text{font-size:.72rem;color:var(--bp-text-3);flex:1;line-height:1.5;}
.bp-suggest-link{font-size:.72rem;font-weight:600;color:var(--bp-nav);cursor:pointer;white-space:nowrap;text-decoration:none;background:none;border:none;font-family:inherit;}

/* Name navigation (prev/next) */
.bp-name-nav{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.25rem;background:var(--bp-surface);border:1px solid var(--bp-border);border-radius:var(--r-lg);margin-bottom:1.25rem;box-shadow:var(--shadow-sm);}
.bp-nnav-btn{display:flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;color:var(--bp-nav);cursor:pointer;background:none;border:none;font-family:'Poppins',sans-serif;padding:.32rem .7rem;border-radius:var(--r-full);transition:all .15s;text-decoration:none;}
.bp-nnav-btn:hover{background:var(--bp-accent-lt);}
.bp-nnav-btn svg{width:13px;height:13px;}
.bp-nnav-center{font-size:.72rem;color:var(--bp-text-3);}
/* Empty side (first / last name in scope) — kept in flow so the centre label stays centred. */
.bp-nnav-placeholder{display:inline-block;width:6rem;}

/* Astro strip — Rashi · Nakshatra · Lucky No. in one horizontal compact row.
   Replaces the older 4-column stat-grid; matches name-detail v5 mock. */
.bp-astro-strip{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--bp-border);border-radius:var(--r-md);overflow:hidden;margin-bottom:1.25rem;background:var(--bp-surface);}
.bp-as-item{padding:.55rem .85rem;border-right:1px solid var(--bp-border);flex:1;min-width:0;cursor:pointer;transition:background .12s;text-decoration:none;display:block;color:inherit;}
.bp-as-item:last-child{border-right:none;}
.bp-as-item:hover{background:var(--bp-accent-lt);}
.bp-as-lbl{font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--bp-text-3);display:block;margin-bottom:.18rem;}
.bp-as-val{font-size:.82rem;font-weight:700;color:var(--bp-text-1);display:block;line-height:1.2;}
.bp-as-val--num{color:var(--bp-nav);font-size:1rem;font-weight:800;}
.bp-as-sub{font-size:.6rem;color:var(--bp-text-3);margin-top:.08rem;display:block;}
@media(max-width:500px){
  .bp-as-item{flex:0 0 50%;border-bottom:1px solid var(--bp-border);}
  .bp-as-item:nth-child(even){border-right:none;}
  .bp-as-item:nth-last-child(-n+2){border-bottom:none;}
}

/* Sidebar feedback invitation card — uses the global feedback widget via data-action="open-feedback". */
.bp-sidebar-feedback{text-align:center;}
.bp-sidebar-feedback__icon{font-size:1.25rem;margin-bottom:.35rem;}
.bp-sidebar-feedback__title{font-size:.78rem;font-weight:600;color:var(--bp-text-1);margin-bottom:.25rem;}
.bp-sidebar-feedback__sub{font-size:.68rem;color:var(--bp-text-3);line-height:1.5;margin-bottom:.65rem;}
.bp-sidebar-feedback__btn{height:32px;padding:0 1rem;border-radius:var(--r-full);border:none;background:var(--bp-nav);color:#fff;font-size:.72rem;font-weight:700;cursor:pointer;font-family:'Poppins',sans-serif;transition:opacity .15s;}
.bp-sidebar-feedback__btn:hover{opacity:.88;}

/* Sidebar pieces */
.bp-detail-sidebar{display:flex;flex-direction:column;gap:1rem;}
@media(min-width:900px){.bp-detail-sidebar{position:sticky;top:68px;align-self:start;}}
.bp-sidebar-ad{background:var(--bp-bg);border:1.5px dashed var(--bp-border-md);border-radius:var(--r-lg);height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--bp-text-3);font-size:.7rem;gap:.25rem;}
.bp-sidebar-card{background:var(--bp-surface);border:1px solid var(--bp-border);border-radius:var(--r-lg);padding:1rem;box-shadow:var(--shadow-sm);}
.bp-sidebar-title{font-size:.82rem;font-weight:700;color:var(--bp-text-1);margin-bottom:.65rem;}
/* star styles consolidated in section 5 below */
.bp-rating-count{font-size:.7rem;color:var(--bp-text-3);}
.bp-sibling-pills{display:flex;flex-wrap:wrap;gap:.3rem;}
.bp-sib-pill{display:inline-flex;align-items:center;padding:.22rem .65rem;border-radius:var(--r-full);font-size:.7rem;font-weight:600;cursor:pointer;border:1px solid var(--bp-border-md);color:var(--bp-text-2);background:var(--bp-surface);transition:all .15s;text-decoration:none;}
.bp-sib-pill:hover{background:var(--bp-boy-lt);border-color:var(--bp-boy-border);color:var(--bp-boy-text);}
.bp-sib-girl{color:var(--bp-girl-text);border-color:var(--bp-girl-border);}
.bp-sib-girl:hover{background:var(--bp-girl-lt);}
.bp-sub-lbl{font-size:.65rem;font-weight:600;color:var(--bp-text-3);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .3rem;}

/* --------------------------------------------------------------------------
   4I. HUB PAGES
   -------------------------------------------------------------------------- */
.bp-hub-quick-browse { display: flex; gap: 8px; flex-wrap: wrap; }
.bp-hub-qb-btn {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 8px 18px; border-radius: var(--r-full);
    font-size: .85rem; font-weight: 700; text-decoration: none;
    background: rgba(255,255,255,.2); color: #fff;
    border: 1.5px solid rgba(255,255,255,.4);
    transition: background var(--bp-ease);
}
.bp-hub-qb-btn:hover { background: rgba(255,255,255,.35); color: #fff; text-decoration: none; }
.bp-hub-qb-boy  { }
.bp-hub-qb-girl { }

/* --------------------------------------------------------------------------
   4J. HOMEPAGE
   -------------------------------------------------------------------------- */
.bp-hero {
    background: linear-gradient(150deg, #EAF5FF 0%, #F5F0FF 35%, #FFF5F0 65%, #FAFAF7 100%);
    padding: 2.75rem 1.5rem 2.25rem;
    text-align: center;
    position: relative;
    overflow: visible;
}
.bp-hero::before { content:''; position:absolute; top:-80px; right:-60px; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle,rgba(61,130,196,.08) 0%,transparent 70%); pointer-events:none; }
.bp-hero::after { content:''; position:absolute; bottom:-60px; left:-80px; width:260px; height:260px; border-radius:50%; background:radial-gradient(circle,rgba(181,41,78,.06) 0%,transparent 70%); pointer-events:none; }
.bp-hero-trust {
    display: inline-flex; align-items: center; gap: .4rem;
    font-size: .72rem; font-weight: 600; color: var(--bp-nav);
    background: var(--bp-accent-lt); border: 1px solid var(--bp-accent-md);
    padding: .3rem .85rem; border-radius: var(--r-full); margin-bottom: 1rem;
}
.bp-hero-title { font-size: 1.9rem; font-weight: 800; color: var(--bp-text-1); line-height: 1.2; margin-bottom: .5rem; }
@media (min-width: 600px) { .bp-hero-title { font-size: 2.5rem; } }
.bp-hero-title span { color: var(--bp-nav); }
.bp-hero-sub { font-size: 1rem; color: var(--bp-text-2); margin-bottom: .35rem; line-height: 1.55; }
.bp-hero-faiths { display: flex; align-items: center; justify-content: center; gap: .65rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.bp-faith-chip {
    display: inline-flex; align-items: center; gap: .3rem;
    padding: .22rem .75rem; border-radius: var(--r-full);
    font-size: .7rem; font-weight: 600; border: 1px solid;
    cursor: pointer; transition: all .15s;
}
.fc-hindu { background: var(--hindu-lt); color: var(--hindu-text); border-color: var(--hindu-md); }
.fc-hindu:hover { background: var(--hindu); color: #fff; border-color: var(--hindu); }
.fc-muslim { background: var(--muslim-lt); color: var(--muslim-text); border-color: var(--muslim-md); }
.fc-muslim:hover { background: var(--muslim); color: #fff; border-color: var(--muslim); }
.fc-christian { background: var(--christian-lt); color: var(--christian-text); border-color: var(--christian-md); }
.fc-christian:hover { background: var(--christian); color: #fff; border-color: var(--christian); }
.fc-sikh { background: var(--sikh-lt); color: var(--sikh-text); border-color: var(--sikh-md); }
.fc-sikh:hover { background: var(--sikh); color: #fff; border-color: var(--sikh); }

/* Gender toggle */
.bp-gender-toggle { display: inline-flex; gap: 0; margin-bottom: 1rem; border-radius: var(--r-full); overflow: hidden; border: 1.5px solid var(--bp-border-md); background: var(--bp-surface); box-shadow: var(--shadow-sm); }
.bp-gt-btn {
    padding: .42rem 1.25rem; font-size: .78rem; font-weight: 600;
    cursor: pointer; background: transparent; border: none;
    font-family: 'Poppins', sans-serif; color: var(--bp-text-2);
    transition: all .15s; display: flex; align-items: center; gap: .3rem;
}
.bp-gt-btn svg { width: 12px; height: 12px; }
.bp-gt-sep { width: 1px; background: var(--bp-border-md); flex-shrink: 0; }
.bp-gt-btn.active-all  { background: var(--bp-nav); color: #fff; }
.bp-gt-btn.active-boy  { background: var(--bp-boy); color: #fff; }
.bp-gt-btn.active-girl { background: var(--bp-girl); color: #fff; }

/* Search container */
.bp-search-container { max-width: 620px; margin: 0 auto 1rem; position: relative; z-index: 50; }
.bp-search-box {
    display: flex; align-items: center;
    background: var(--bp-surface); border: 2px solid var(--bp-border-md);
    border-radius: var(--r-full); overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,119,182,.12);
    transition: border-color .15s, box-shadow .15s;
}
.bp-search-box:focus-within { border-color: var(--bp-nav); box-shadow: 0 2px 20px rgba(0,119,182,.22); }
.bp-search-icon-wrap { padding: 0 .85rem 0 1.1rem; display: flex; align-items: center; flex-shrink: 0; }
.bp-search-icon-wrap svg { width: 18px; height: 18px; color: var(--bp-text-3); }
.bp-search-input {
    flex: 1; height: 50px; border: none; outline: none;
    font-size: .9rem; font-family: 'Poppins', sans-serif;
    color: var(--bp-text-1); background: transparent; padding: 0;
}
.bp-search-input::placeholder { color: var(--bp-text-3); }
.bp-search-divider { width: 1px; height: 28px; background: var(--bp-border-md); flex-shrink: 0; }
.bp-search-btn {
    height: 50px; padding: 0 1.5rem;
    background: var(--bp-register); color: #fff;
    font-size: .85rem; font-weight: 700; border: none;
    cursor: pointer; font-family: 'Poppins', sans-serif;
    transition: background .15s; white-space: nowrap;
    display: flex; align-items: center; gap: .4rem; flex-shrink: 0;
}
.bp-search-btn:hover { background: #c97a08; }
.bp-search-btn svg { width: 15px; height: 15px; }

/* Popular chips */
.bp-popular-chips { display: flex; align-items: center; gap: .4rem; justify-content: center; flex-wrap: wrap; }
.bp-popular-label { font-size: .85rem; color: var(--bp-text-2); font-weight: 500; }
.bp-popular-chip {
    padding: .22rem .75rem; border-radius: var(--r-full);
    font-size: .72rem; font-weight: 600;
    cursor: pointer; background: var(--bp-surface);
    border: 1px solid var(--bp-border-md); color: var(--bp-text-2);
    transition: all .15s;
}
.bp-popular-chip:hover { border-color: var(--bp-nav); color: var(--bp-nav); background: var(--bp-accent-lt); }

/* Container */
.bp-container { max-width: 1200px; margin: 0 auto; padding: 0 1.25rem; }
@media (min-width: 768px) { .bp-container { padding: 0 2rem; } }

/* Meta */
.bp-meta { font-size: .78rem; color: var(--bp-text-3); }

/* Name of the Day */
.bp-notd {
    background: var(--bp-surface); border: 1px solid var(--bp-border);
    border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-sm);
}
.bp-notd-hdr {
    background: linear-gradient(135deg, var(--bp-nav) 0%, #005f91 100%);
    /* Asymmetric right padding leaves clearance for the absolute-positioned
       favourite button (.bp-notd-fav, 30px wide at right:.85rem) so it doesn't
       overlap the date on the right. */
    padding: .75rem 3rem .75rem 1.1rem;
    display: flex; align-items: center;
    justify-content: space-between;
}
.bp-notd-lbl {
    font-size: .72rem; font-weight: 700; color: rgba(255,255,255,.9);
    text-transform: uppercase;
}
.bp-notd-date { font-size: .68rem; color: rgba(255,255,255,.65); }
.bp-notd-body { padding: 1.1rem; position: relative; }
.bp-notd-fav {
    /* Vertically centred against the header. Header height ≈ 2.58rem (top/bottom
       padding .75rem + text line-height ~1.08rem); 30px heart needs top ≈
       (2.58rem - 1.875rem)/2 ≈ .35rem so its centre lines up with the header text. */
    position: absolute; top: .35rem; right: .85rem;
    width: 30px; height: 30px; border-radius: 50%;
    border: 1px solid var(--bp-border-md); background: var(--bp-surface);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; transition: all .15s;
}
.bp-notd-fav svg { width: 15px; height: 15px; color: var(--bp-text-3); }
.bp-notd-fav:hover svg { color: var(--bp-girl); }
.bp-notd-name { font-size: 2rem; font-weight: 800; color: var(--bp-boy); line-height: 1; margin-bottom: .3rem; }
.bp-notd-deva { font-size: .9rem; color: var(--bp-text-2); font-family: 'Noto Sans', sans-serif; margin-bottom: .5rem; display: block; }
.bp-notd-badges { display: flex; gap: .3rem; flex-wrap: wrap; margin-bottom: .6rem; }
.bp-notd-badge {
    display: inline-flex; align-items: center; padding: .18rem .55rem;
    border-radius: var(--r-full); font-size: .65rem; font-weight: 600;
}
.nb-m         { background: var(--muslim-lt); color: var(--muslim-text); border: 1px solid var(--muslim-md); }
.nb-o         { background: #F0EEF8; color: #3C3489; border: 1px solid #C9C4ED; }
.nb-n         { background: var(--bp-accent-lt); color: var(--bp-nav); border: 1px solid var(--bp-accent-md); }
.bp-notd-meaning { font-size: .82rem; color: var(--bp-text-2); line-height: 1.6; margin-bottom: .85rem; }
.bp-notd-btn {
    display: flex; align-items: center; justify-content: center; gap: .4rem;
    background: var(--bp-nav); color: #fff; padding: .55rem 0;
    border-radius: var(--r-full); font-size: .78rem; font-weight: 700;
    width: 100%; border: none; cursor: pointer;
    font-family: 'Poppins', sans-serif; transition: background .15s;
}
.bp-notd-btn:hover { background: #005f91; }
.bp-notd-btn svg { width: 14px; height: 14px; }

/* Trending section */
.bp-trending {
    background: var(--bp-surface); border: 1px solid var(--bp-border);
    border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-sm);
    display: flex; flex-direction: column;
}
.bp-tt-row { display: flex; gap: .3rem; }
.bp-tt-btn {
    padding: .22rem .65rem; border-radius: var(--r-full);
    font-size: .68rem; font-weight: 600; cursor: pointer;
    border: 1px solid var(--bp-border-md); background: transparent;
    font-family: 'Poppins', sans-serif; transition: all .15s;
}
/* Coloured fill only when the tab is actually active. .boy-a / .girl-a remain on
   both buttons permanently as role markers; the .active class (toggled by the
   switch-rank handler in bachpan-ui.js) flips the highlight between them. */
.bp-tt-btn.boy-a.active  { background: var(--bp-boy);  border-color: var(--bp-boy);  color: #fff; }
.bp-tt-btn.girl-a.active { background: var(--bp-girl); border-color: var(--bp-girl); color: #fff; }
.bp-trend-item {
    display: flex; align-items: center; padding: .5rem 1.1rem;
    gap: .75rem; cursor: pointer; transition: background .12s;
}
.bp-trend-item:hover { background: var(--bp-bg); }
.bp-trend-rank {
    width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: .65rem; font-weight: 700;
}
.rn { background: var(--bp-bg); color: var(--bp-text-3); border: 1px solid var(--bp-border); }
.bp-trend-name { font-size: .82rem; font-weight: 700; flex: 1; }
.boy-n { color: var(--bp-boy); }
.girl-n{ color: var(--bp-girl); }
.bp-trend-meaning { font-size: .7rem; color: var(--bp-text-3); flex: 2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bp-trend-arr svg { width: 13px; height: 13px; color: var(--bp-text-3); }
.bp-trend-footer { padding: .65rem 1.1rem; border-top: 1px solid var(--bp-border); text-align: center; }
.bp-trend-footer a { font-size: .75rem; color: var(--bp-nav); font-weight: 600; cursor: pointer; text-decoration: none; }

/* Rashi section */
.bp-rashi-sec { padding: 1.75rem 0; border-top: 1px solid var(--bp-border); }
.bp-rashi-strip {
    display: grid; gap: .65rem;
    grid-template-columns: repeat(4, 1fr);
}
@media (min-width: 480px) { .bp-rashi-strip { grid-template-columns: repeat(6, 1fr); } }
@media (min-width: 900px) { .bp-rashi-strip { grid-template-columns: repeat(12, 1fr); } }

/* Stats bar */
.bp-stats-bar { background: var(--bp-nav); padding: 1.5rem; }
.bp-stats-inner {
    max-width: 1200px; margin: 0 auto;
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem;
}
@media (min-width: 576px) { .bp-stats-inner { grid-template-columns: repeat(4, 1fr); } }
.bp-stat-item { text-align: center; }
.bp-stat-num { font-size: 1.75rem; font-weight: 800; color: #fff; display: block; line-height: 1; margin-bottom: .2rem; }
.bp-stat-lbl { font-size: .72rem; color: rgba(255,255,255,.75); font-weight: 500; }

/* Name generator section */
.bp-gen-sec { padding: 2rem 0; border-top: 1px solid var(--bp-border); }
.bp-gen-inner {
    display: grid; grid-template-columns: 1fr; gap: 1.25rem; align-items: center;
}
@media (min-width: 768px) { .bp-gen-inner { grid-template-columns: 1fr 1fr; } }
/* Variant used when the tool-cards grid has been removed (issue #18) —
   keep the section centred and single-column at every viewport. */
.bp-gen-inner--single { grid-template-columns: 1fr; max-width: 640px; margin: 0 auto; }
@media (min-width: 768px) { .bp-gen-inner--single { grid-template-columns: 1fr; } }
.bp-gen-badge {
    display: inline-flex; align-items: center; gap: .3rem;
    background: var(--bp-accent-lt); border: 1px solid var(--bp-accent-md);
    color: var(--bp-nav); font-size: .7rem; font-weight: 700;
    padding: .25rem .75rem; border-radius: var(--r-full); margin-bottom: .75rem;
}
.bp-gen-title { font-size: 1.3rem; font-weight: 800; color: var(--bp-text-1); line-height: 1.3; margin-bottom: .5rem; }
@media (min-width: 600px) { .bp-gen-title { font-size: 1.5rem; } }
.bp-gen-title span { color: var(--bp-nav); }
.bp-gen-desc  { font-size: .82rem; color: var(--bp-text-2); line-height: 1.7; margin-bottom: 1rem; }
.bp-gen-btns  { display: flex; gap: .65rem; flex-wrap: wrap; }
.bp-gen-btn-p {
    display: inline-flex; align-items: center; gap: .4rem;
    background: var(--bp-nav); color: #fff;
    padding: .6rem 1.4rem; border-radius: var(--r-full);
    font-size: .82rem; font-weight: 700; border: none;
    cursor: pointer; font-family: 'Poppins', sans-serif;
    transition: background .15s;
}
.bp-gen-btn-p:hover { background: #005f91; }
.bp-gen-btn-p svg { width: 14px; height: 14px; }
.bp-gen-btn-s {
    display: inline-flex; align-items: center; gap: .4rem;
    background: transparent; color: var(--bp-nav);
    padding: .6rem 1.4rem; border-radius: var(--r-full);
    font-size: .82rem; font-weight: 700;
    border: 2px solid var(--bp-nav); cursor: pointer;
    font-family: 'Poppins', sans-serif; transition: all .15s;
}
.bp-gen-btn-s:hover { background: var(--bp-accent-lt); }

/* Tools grid */
.bp-tools-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: .65rem;
}
.bp-tool-card {
    background: var(--bp-surface); border: 1px solid var(--bp-border);
    border-radius: var(--r-lg); padding: .9rem 1rem;
    cursor: pointer; transition: all .15s;
    display: flex; align-items: flex-start; gap: .7rem;
    box-shadow: var(--shadow-sm);
}
.bp-tool-card:hover { border-color: var(--bp-nav); box-shadow: var(--shadow-md); }
.bp-tool-icon {
    width: 36px; height: 36px; border-radius: var(--r-sm);
    flex-shrink: 0; display: flex; align-items: center; justify-content: center;
}
.bp-tool-icon svg { width: 18px; height: 18px; }
.bp-tool-name { font-size: .78rem; font-weight: 700; color: var(--bp-text-1); margin-bottom: .15rem; }
.bp-tool-sub  { font-size: .65rem; color: var(--bp-text-3); }

/* --------------------------------------------------------------------------
   4K. FOOTER
   -------------------------------------------------------------------------- */
.bp-footer { background: #1A2535; padding: 2.5rem 1.5rem 1.5rem; }
.bp-footer-inner { max-width: 1200px; margin: 0 auto; }
/* Footer grids */
.bp-footer-grid {
    display: grid; gap: 2rem; grid-template-columns: 1fr; margin-bottom: 2rem;
}
@media (min-width: 576px) { .bp-footer-grid { grid-template-columns: 1.5fr repeat(4, 1fr); } }
.bp-footer-logo {
    font-size: 1.2rem; font-weight: 700; color: #fff; margin-bottom: .5rem;
}
.bp-footer-logo span { opacity: .65; font-weight: 400; }
/* Footer brand mark — same cropped SVG as the nav, slightly smaller. */
.bp-footer-logo img {
    display: block; height: 40px; width: auto;
    max-width: 180px;
}
.bp-footer-desc { font-size: .72rem; color: rgba(255,255,255,.5); line-height: 1.7; margin-bottom: .85rem; }
.bp-footer-social { display: flex; gap: .45rem; }
.bp-soc-btn {
    width: 32px; height: 32px; border-radius: 50%;
    border: 1px solid rgba(255,255,255,.2);
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,.6); cursor: pointer; transition: all .15s;
}
.bp-soc-btn:hover { border-color: rgba(255,255,255,.5); color: #fff; background: rgba(255,255,255,.08); }
.bp-soc-btn svg { width: 14px; height: 14px; }
.bp-footer-col-title {
    font-size: .7rem; font-weight: 700; color: rgba(255,255,255,.9);
    text-transform: uppercase; letter-spacing: .06em; margin-bottom: .75rem;
}
.bp-footer-link {
    display: flex; align-items: center; gap: .35rem;
    font-size: .72rem; color: rgba(255,255,255,.5);
    margin-bottom: .4rem; cursor: pointer; transition: color .12s;
    text-decoration: none;
}
.bp-footer-link:hover { color: rgba(255,255,255,.88); }
.bp-footer-link svg { width: 10px; height: 10px; flex-shrink: 0; opacity: .5; }
.bp-footer-link.accent { color: #7BB5E8; }
.bp-footer-bottom {
    display: flex; align-items: center; justify-content: space-between;
    padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.08);
    flex-wrap: wrap; gap: .5rem;
}
.bp-footer-copy { font-size: .68rem; color: rgba(255,255,255,.35); }
.bp-footer-copy-links { display: flex; gap: 1rem; }
.bp-footer-copy-link {
    font-size: .68rem; color: rgba(255,255,255,.35);
    cursor: pointer; transition: color .12s; text-decoration: none;
}
.bp-footer-copy-link:hover { color: rgba(255,255,255,.65); }

/* --------------------------------------------------------------------------
   4L. AD SLOTS
   -------------------------------------------------------------------------- */

/* Shared Ad Placeholder (_AdPlaceholder partial) */
.bp-ad-placeholder{background:var(--bp-bg);border:1.5px dashed var(--bp-border-md);border-radius:var(--r-md);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:1rem auto;max-width:100%;gap:.25rem;}
.bp-ad-placeholder__label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--bp-border-md);}
.bp-ad-placeholder__inner{width:100%;display:flex;align-items:center;justify-content:center;}
.bp-ad-placeholder--leaderboard{width:728px;height:90px;}
.bp-ad-placeholder--rectangle{width:300px;height:250px;}
.bp-ad-placeholder--halfpage{width:300px;height:600px;}
@media(max-width:767px){.bp-ad-placeholder--leaderboard{width:100%;height:auto;min-height:60px;padding:.5rem;}}

.bp-ad-lbl {
    font-size: .62rem; font-weight: 600; text-transform: uppercase;
    letter-spacing: .06em; color: var(--bp-border-md);
}
.bp-ad-inline {
    min-height: 100px; margin: 1rem 0;
    background: var(--bp-bg); border: 1px dashed var(--bp-border);
    border-radius: var(--r-md); display: flex; align-items: center;
    justify-content: center;
}

/* --------------------------------------------------------------------------
   5. EXISTING COMPONENT COMPAT — Ratings, Share, Breadcrumb
   -------------------------------------------------------------------------- */
.bp-stars { display: flex; gap: 4px; margin-bottom: .35rem; }
.bp-star {
    background: none; border: none; padding: 2px; cursor: pointer;
    color: #D0CBC3; transition: color .15s; line-height: 1;
    display: flex; align-items: center; justify-content: center;
}
.bp-star svg { width: 22px; height: 22px; }
.bp-star.lit { color: #E8920C; }
.bp-star:hover { color: #F5A623; }
.bp-rating-summary { font-size: .72rem; color: var(--bp-text-3); }
.bp-rating-avg { font-weight: 700; color: var(--bp-text-2); }

.bp-bc{background:var(--bp-surface);border-bottom:1px solid var(--bp-border);padding:.5rem 1.25rem;font-size:.72rem;color:var(--bp-text-3);margin-bottom:0;}
.bp-bc a{color:var(--bp-text-3);text-decoration:none;}
.bp-bc strong{color:var(--bp-text-1);}
.bp-bc+.bachpan-main{padding-top:0;}
.bp-bc+.bachpan-main>.bp-page-layout>.bp-main{padding-top:.5rem;}

/* --------------------------------------------------------------------------
   6. EXISTING NAV COMPAT (bachpan-navbar, bachpan-mobile etc.)
   Kept for backward compatibility until views are fully migrated.
   -------------------------------------------------------------------------- */
/* Bottom nav compat */
.bachpan-bottom-nav {
    position: fixed; bottom: 0; left: 0; right: 0;
    height: 56px; background: var(--bp-surface);
    border-top: 1.5px solid var(--bp-border);
    z-index: 1030; box-shadow: 0 -2px 8px rgba(0,0,0,.08);
    display: flex; justify-content: space-around; align-items: stretch;
}
@media (min-width: 992px) { .bachpan-bottom-nav { display: none; } }
.bottom-nav-item {
    flex: 1; display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 2px; color: var(--bp-text-2);
    font-size: 0.65rem; font-weight: 600;
    text-decoration: none; transition: color .15s; padding: 4px 0;
}
/* Bottom-nav icon size — applies to both the legacy <i class="ph-X"> (kept for
   safety; nothing renders <i> here any more) AND the new <svg class="bp-icon">
   sprite usage. The Phosphor-to-SVG swap on 2026-05-30 missed this rule, which
   shrank the icons from 22px down to the parent's 0.65rem (~10px). */
.bottom-nav-item i,
.bottom-nav-item .bp-icon { font-size: 22px; line-height: 1; }
.bottom-nav-item:hover, .bottom-nav-item.active { color: var(--bp-nav); text-decoration: none; }
.bottom-nav-item__icon { position: relative; display: inline-flex; line-height: 1; }
.bottom-nav-badge {
    position: absolute; top: -6px; right: -10px;
    min-width: 16px; height: 16px; padding: 0 4px;
    border-radius: 999px; background: var(--bp-register); color: #fff;
    font-size: .6rem; font-weight: 700; line-height: 16px; text-align: center;
    box-shadow: 0 0 0 2px var(--bp-surface);
}
@media (max-width: 991px) { body { padding-bottom: 56px; } }

.bachpan-main { min-height: calc(100vh - 60px); padding-bottom: 70px; }
@media (min-width: 960px) { .bachpan-main { padding-bottom: 0; } }

/* --------------------------------------------------------------------------
   7. SEARCH COMPAT / REFINER COMPAT
   -------------------------------------------------------------------------- */
/* Active filters bar */
.active-filters-bar {
    display: flex; flex-wrap: wrap; gap: 6px;
    margin-bottom: 1rem; padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--bp-border);
}
/* Refiner option compat */
.show-more-btn {
    font-size: 0.8rem; color: var(--bp-nav); font-weight: 600;
    background: none; border: none; cursor: pointer; padding: 4px 0;
}
.show-more-btn:hover { text-decoration: underline; }

/* Letter grid compat */
.letter-chip {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 30px; height: 30px; padding: 0 4px;
    border-radius: var(--r-sm); font-size: 0.8rem; font-weight: 700;
    text-decoration: none; border: 1.5px solid var(--bp-border);
    color: var(--bp-text-1); background: var(--bp-surface);
    transition: all var(--bp-ease); cursor: pointer;
}
.letter-chip:hover { border-color: var(--bp-nav); color: var(--bp-nav); text-decoration: none; }

/* --------------------------------------------------------------------------
   8. AUTOCOMPLETE COMPAT
   -------------------------------------------------------------------------- */
.ac-wrapper { position: relative; }
/* Autocomplete dropdown */
.ac-dropdown {
    position: absolute; top: calc(100% + 5px); left: 0; right: 0;
    z-index: 500; background: var(--bp-surface);
    border: 1px solid var(--bp-border); border-radius: var(--r-lg);
    box-shadow: var(--shadow-lg); max-height: 400px;
    overflow: hidden; text-align: left;
}
.ac-dropdown[hidden] { display: none; }
.ac-dropdown::-webkit-scrollbar { width: 4px; }
.ac-dropdown::-webkit-scrollbar-track { background: transparent; }
.ac-dropdown::-webkit-scrollbar-thumb { background: var(--bp-border); border-radius: 2px; }

/* --------------------------------------------------------------------------
   9. MISC COMPAT (search page, astrology cards, pinned, etc.)
   -------------------------------------------------------------------------- */
.bp-name-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; }
.bp-empty-state { text-align: center; padding: 60px 20px; }

/* Zero results */
.zero-results { padding: 2rem 0; }
.zero-results__title { font-size: 1.125rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--bp-text-1); }
.zero-results__hint { font-size: 0.9375rem; color: var(--bp-text-3); }
.zero-results__hint a { color: var(--bp-nav); text-decoration: underline; }

/* Refiner accordion compat */
.bp-refiner-group { margin-bottom: 12px; background: var(--bp-surface); border: 1.5px solid var(--bp-border); border-radius: var(--r-xl); overflow: hidden; }
.bp-refiner-toggle { width: 100%; display: flex; justify-content: space-between; align-items: center; background: none; border: none; padding: 12px 16px; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--bp-text-3); cursor: pointer; }

/* --------------------------------------------------------------------------
   10. BADGE COMPAT
   -------------------------------------------------------------------------- */
.bp-badge {
    display: inline-flex; align-items: center; gap: 3px;
    font-size: .7rem; font-weight: 700; padding: 2px 8px;
    border-radius: var(--r-full); white-space: nowrap;
}
.bp-badge-primary   { background: var(--bp-accent-lt); color: var(--bp-nav); }

/* --------------------------------------------------------------------------
   11. BUTTON SYSTEM (btn-bp)
   -------------------------------------------------------------------------- */
.btn-bp {
    display: inline-flex; align-items: center; justify-content: center;
    gap: 6px; font-family: 'Poppins', sans-serif;
    font-size: .85rem; font-weight: 600; line-height: 1;
    padding: 10px 20px; border-radius: var(--r-md);
    border: 2px solid transparent; cursor: pointer;
    text-decoration: none; transition: all var(--bp-ease);
    white-space: nowrap; min-height: 44px;
}
.btn-bp:focus-visible { outline: 2px solid var(--bp-nav); outline-offset: 2px; }
.btn-bp-primary { background: var(--bp-nav); border-color: var(--bp-nav); color: #fff; }
.btn-bp-primary:hover { background: var(--bp-nav-dark); border-color: var(--bp-nav-dark); color: #fff; text-decoration: none; }
.btn-bp-secondary { background: var(--bp-accent); border-color: var(--bp-accent); color: #fff; }
.btn-bp-outline { background: transparent; border-color: var(--bp-border); color: var(--bp-text-1); }
.btn-bp-outline:hover { border-color: var(--bp-nav); color: var(--bp-nav); text-decoration: none; }
.btn-bp-outline.active { background: var(--bp-nav); border-color: var(--bp-nav); color: #fff; }
.btn-bp-ghost { background: transparent; border-color: transparent; color: var(--bp-nav); padding: 6px 8px; }
.btn-bp-ghost:hover { background: rgba(0,119,182,.06); text-decoration: none; }
.btn-bp-sm { font-size: .78rem; padding: 6px 14px; min-height: 36px; }
.btn-bp-lg { font-size: 1rem; padding: 14px 28px; min-height: 52px; border-radius: var(--r-lg); }
.btn-bp-fav {
    background: var(--bp-surface); border: 1.5px solid var(--bp-border);
    color: var(--bp-text-3); border-radius: 50%;
    padding: 8px; min-height: 40px; min-width: 40px;
    display: inline-flex; align-items: center; justify-content: center;
}
.btn-bp-fav:hover, .btn-bp-fav.active { background: #fff0f0; border-color: #e05252; color: #e05252; }
.btn-bp-icon { padding: 8px; border-radius: 50%; background: transparent; border: none; color: var(--bp-text-1); cursor: pointer; }
.btn-bp-icon:hover { background: rgba(0,0,0,.06); color: var(--bp-nav); }

/* --------------------------------------------------------------------------
   12. HOMEPAGE COMPAT CLASSES
   -------------------------------------------------------------------------- */

/* Body text helper */
.bp-body { font-size: .9rem; line-height: 1.65; color: var(--bp-text-1); }

/* Skip nav */
.bp-skip-nav {
    position: absolute; top: -100%; left: 16px;
    background: var(--bp-nav); color: #fff;
    padding: 8px 16px; border-radius: 0 0 var(--r-sm) var(--r-sm);
    font-size: .85rem; font-weight: 600; text-decoration: none;
    z-index: 9999;
}
.bp-skip-nav:focus { top: 0; }

/* --------------------------------------------------------------------------
   14. DEITY HUB PAGE
   -------------------------------------------------------------------------- */
/* Hub-page hero card — three-layer background matching the launch popup /
   preferences modal / main nav. The --hero-color custom property is set
   inline per-page (see _HubHero.cshtml); every hub keeps its own brand
   colour, only the dot-pattern + soft-corner-circle overlays are shared.

   Layers (bottom → top):
     1. linear-gradient from --hero-color → 80% darker tone — the existing
        2-stop look, unchanged in colour.
     2. 18×18 white-dot tile at .07 opacity — same as popup/modal/nav.
     3. ~78px soft circle at .08 white anchored top-right — same as the
        decorative ::after the popup uses. Inlined into background so we
        don't need a pseudo (which would have to navigate the existing
        overflow:hidden + child stacking). */
.bp-page-hero {
    border-radius: var(--r-lg); padding: 1.5rem; margin-bottom: 1.25rem;
    position: relative; overflow: hidden;
    box-shadow: 0 4px 16px rgba(0,0,0,.15); color: #fff;
    background:
        radial-gradient(circle at calc(100% - 60px) -30px,
            rgba(255, 255, 255, .10) 78px,
            transparent 80px),
        radial-gradient(circle,
            rgba(255, 255, 255, .07) 1px,
            transparent 1px) 0 0 / 18px 18px,
        linear-gradient(135deg,
            var(--hero-color, var(--bp-nav)) 0%,
            color-mix(in srgb, var(--hero-color, var(--bp-nav)) 80%, black) 100%);
}
.bp-hero-top { display: flex; align-items: flex-start; gap: 1rem; flex-wrap: wrap; }
.bp-hero-icon {
    width: 52px; height: 52px; border-radius: var(--r-md);
    background: rgba(255,255,255,.2); border: 1.5px solid rgba(255,255,255,.4);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.75rem; flex-shrink: 0; color: #fff;
}
.bp-hero-icon img { border-radius: var(--r-sm); }
.bp-hero-text { flex: 1; }
.bp-page-hero .bp-hero-title { font-size: 1.3rem; font-weight: 700; color: #fff; margin-bottom: .3rem; text-shadow: 0 1px 2px rgba(0,0,0,.15); }
@media(min-width:768px) { .bp-page-hero .bp-hero-title { font-size: 1.5rem; } }
.bp-hero-desc { font-size: .82rem; color: rgba(255,255,255,.9); line-height: 1.6; max-width: 520px; }
.bp-hero-stats { display: flex; gap: 2rem; margin-top: 1rem; flex-wrap: wrap; }
.bp-hero-stat-num { font-size: 1.35rem; font-weight: 700; color: #FFF3CD; display: block; }
.bp-hero-stat-lbl { font-size: .68rem; color: rgba(255,255,255,.75); }

/* Intro content block */
.bp-info-intro {
    background: var(--bp-surface); border: 1px solid var(--bp-border);
    border-left: 3px solid var(--bp-nav); border-radius: var(--r-md);
    padding: .9rem 1.1rem; margin-bottom: 1.25rem;
    font-size: .82rem; color: var(--bp-text-2); line-height: 1.7;
}
.bp-info-intro strong { color: var(--bp-text-1); }

/* Per-religion addenda — emitted by _HubIntro.cshtml when the category
   carries a byReligion map. Visually de-emphasised relative to .bp-info-intro
   so they read as "additional context", except when the visitor's preferred
   religion matches (.bp-info-religion--preferred) — then they pop. */
.bp-info-religion {
    background: var(--bp-surface);
    border: 1px solid var(--bp-border);
    border-left: 3px solid var(--bp-border);
    border-radius: var(--r-md);
    padding: .75rem 1rem;
    margin-bottom: .75rem;
    font-size: .78rem;
    color: var(--bp-text-2);
    line-height: 1.65;
    opacity: .85;
}
.bp-info-religion strong { color: var(--bp-text-1); }
.bp-info-religion__label {
    font-size: .6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--bp-text-3, #9A948E);
    margin-bottom: .35rem;
}
.bp-info-religion--preferred {
    border-left-width: 4px !important;
    opacity: 1;
    background: linear-gradient(180deg, rgba(0, 119, 182, .035), transparent);
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
}
.bp-info-religion--preferred .bp-info-religion__label {
    color: var(--bp-nav);
}

/* "See more / See less" toggle for hub-page intro on mobile (issue #15).
   The clamp + button visibility are mobile-only — desktop always shows
   the full text and hides the button. JS in BP.InfoIntro.init() flips
   the --expanded class on click. */
.bp-info-toggle {
    display: none;
    background: none; border: none;
    color: var(--bp-nav); font-weight: 600; font-size: .9rem;
    font-family: 'Poppins', sans-serif; cursor: pointer;
    padding: .25rem 0; margin: -.6rem 0 1rem;
}
.bp-info-toggle:hover { color: #005f91; }
@media (max-width: 767.98px) {
    .bp-info-intro--collapsible {
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .bp-info-intro--collapsible.bp-info-intro--expanded {
        display: block;
        -webkit-line-clamp: unset;
        overflow: visible;
    }
    .bp-info-toggle { display: inline-block; }
}

/* Footer content block */
.bp-info-content {
    margin-top: 1.75rem; padding-top: 1.25rem;
    border-top: 1px solid var(--bp-border);
}
.bp-info-content-title {
    font-size: .95rem; font-weight: 700; color: var(--bp-text-1);
    display: flex; align-items: center; gap: .5rem; margin-bottom: .75rem;
}
.bp-info-content p { font-size: .82rem; color: var(--bp-text-2); line-height: 1.7; margin-bottom: .75rem; }
.bp-info-content details { margin-top: .5rem; }
.bp-info-content summary { font-size: .82rem; font-weight: 600; color: var(--bp-nav); cursor: pointer; }

/* Deity grid */
.bp-boy-btn, .bp-girl-btn {
    flex: 1; padding: .3rem 0; border-radius: var(--r-full);
    font-size: .65rem; font-weight: 600; text-align: center;
    border: 1px solid; cursor: pointer; text-decoration: none;
    transition: all .15s;
}
.bp-boy-btn { background: var(--bp-boy-lt); color: var(--bp-boy-text); border-color: var(--bp-boy-border); }
.bp-boy-btn:hover { background: var(--bp-boy); color: #fff; }
.bp-girl-btn { background: var(--bp-girl-lt); color: var(--bp-girl-text); border-color: var(--bp-girl-border); }
.bp-girl-btn:hover { background: var(--bp-girl); color: #fff; }

/* 2026-05-31 hub-card gender buttons — disabled state when the underlying
   per-gender count is 0. Markup is a <span> (not <a>) so the element is
   inert without JS; this rule layers a dim background + not-allowed cursor
   on top. Hover background is reset to the resting state — otherwise the
   :hover rule above would still tint the dimmed pill on mouseover. */
.bp-boy-btn--disabled,
.bp-girl-btn--disabled {
    opacity: .45;
    cursor: not-allowed;
    pointer-events: none;
}
.bp-boy-btn--disabled:hover { background: var(--bp-boy-lt); color: var(--bp-boy-text); }
.bp-girl-btn--disabled:hover { background: var(--bp-girl-lt); color: var(--bp-girl-text); }

/* --------------------------------------------------------------------------
   15. SHARED HUB CARD (used by all hub grids)
   -------------------------------------------------------------------------- */
.bp-hub-card-grid { display: grid; gap: .85rem; margin-bottom: 1.75rem; grid-template-columns: repeat(2, 1fr); }
@media(min-width:576px) { .bp-hub-card-grid { grid-template-columns: repeat(3, 1fr); } }
@media(min-width:768px) { .bp-hub-card-grid { grid-template-columns: repeat(4, 1fr); } }
@media(min-width:1100px) { .bp-hub-card-grid { grid-template-columns: repeat(5, 1fr); } }

.bp-hub-card {
    background: var(--bp-surface); border-radius: var(--r-lg);
    border: 1px solid var(--bp-border); border-top: 3px solid var(--bp-nav);
    overflow: hidden; position: relative;
    transition: all .2s; display: flex; flex-direction: column;
    box-shadow: var(--shadow-sm);
}
.bp-hub-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.12); transform: translateY(-2px); }
.bp-hub-card__link { display: flex; flex-direction: column; align-items: center; text-decoration: none; color: inherit; padding: .75rem .75rem .25rem; flex: 1; cursor: pointer; }
.bp-hub-card__link:hover { text-decoration: none; color: inherit; }
.bp-hub-card__count {
    position: absolute; top: .5rem; right: .5rem;
    font-size: .62rem; font-weight: 700; color: var(--bp-text-3);
    background: var(--bp-bg); border: 1px solid var(--bp-border);
    padding: .1rem .4rem; border-radius: var(--r-full);
}
.bp-hub-card__icon {
    width: 48px; height: 48px; border-radius: var(--r-md);
    display: flex; align-items: center; justify-content: center;
    font-size: 1.4rem; margin-bottom: .5rem; align-self: center;
}
.bp-hub-card__icon img { border-radius: var(--r-sm); width: 28px; height: 28px; }
.bp-hub-card__body { flex: 1; text-align: center; }
.bp-hub-card__title { font-size: .85rem; font-weight: 700; color: var(--bp-nav); margin-bottom: .15rem; }
.bp-hub-card__subtitle { font-size: .75rem; color: var(--bp-text-2); font-family: 'Noto Sans', sans-serif; }
.bp-hub-card__desc { font-size: .68rem; color: var(--bp-text-3); line-height: 1.4; margin-top: .25rem; }
.bp-hub-card__meta { font-size: .65rem; color: var(--bp-text-3); margin-top: .2rem; }
.bp-hub-card__footer { display: flex; gap: .4rem; padding: .5rem .75rem .75rem; justify-content: center; border-top: 1px solid var(--bp-border); }

/* --------------------------------------------------------------------------
   16. SEARCH PAGE
   -------------------------------------------------------------------------- */
.search-hero {
    background: linear-gradient(160deg, #E0F2FF 0%, #ECE8FF 50%, #F0EEFF 100%);
    padding: 1.75rem 1.25rem 1.25rem;
    border-top: 3px solid var(--bp-nav);
    border-bottom: 1px solid var(--bp-border);
}
.search-hero-inner { max-width: 860px; margin: 0 auto; }
.search-box-wrap { position: relative; margin-bottom: .85rem; }
.search-box {
    display: flex; align-items: center;
    background: #fff; border: 2.5px solid var(--bp-nav);
    border-radius: var(--r-full); overflow: hidden;
    box-shadow: 0 6px 28px rgba(0,119,182,.25), 0 1px 4px rgba(0,0,0,.08);
}
.search-icon { padding: 0 .85rem 0 1.1rem; display: flex; align-items: center; flex-shrink: 0; }
.search-icon svg { width: 18px; height: 18px; color: var(--bp-text-3); }
.search-input {
    flex: 1; height: 52px; border: none; outline: none;
    font-size: .95rem; font-family: 'Poppins', sans-serif;
    color: var(--bp-text-1); background: transparent; min-width: 0;
}
.search-input::placeholder { color: var(--bp-text-3); }
.search-clear {
    width: 26px; height: 26px; border-radius: 50%; border: none;
    background: var(--bp-border); display: flex; align-items: center;
    justify-content: center; cursor: pointer; margin-right: .35rem; flex-shrink: 0;
}
.search-clear svg { width: 11px; height: 11px; color: var(--bp-text-2); }
.search-divider { width: 1px; height: 26px; background: var(--bp-border-md); flex-shrink: 0; }
.search-btn {
    height: 52px; padding: 0 1.5rem; background: var(--bp-register); color: #fff;
    font-size: .84rem; font-weight: 700; border: none; cursor: pointer;
    font-family: 'Poppins', sans-serif; display: flex; align-items: center;
    gap: .35rem; flex-shrink: 0; transition: background .15s;
}
.search-btn:hover { background: #c97a08; }
.search-btn svg { width: 14px; height: 14px; }

/* Quick filters */
.quick-filters { display: flex; align-items: center; gap: .4rem; flex-wrap: wrap; }
.qf-label { font-size: .68rem; color: var(--bp-text-3); font-weight: 500; white-space: nowrap; margin-right: .1rem; }
.qf-chip {
    padding: .2rem .65rem; border-radius: var(--r-full); font-size: .68rem;
    font-weight: 600; cursor: pointer; border: 1.5px solid var(--bp-border-md);
    background: var(--bp-surface); color: var(--bp-text-2);
    transition: all .15s; white-space: nowrap; line-height: 1;
    text-decoration: none; display: inline-flex; align-items: center;
}
.qf-chip:hover { border-color: var(--bp-nav); color: var(--bp-nav); text-decoration: none; }
.qf-chip.q-boy { border-color: var(--bp-boy); background: var(--bp-boy-lt); color: var(--bp-boy-text); }
.qf-chip.q-girl { border-color: var(--bp-girl); background: var(--bp-girl-lt); color: var(--bp-girl-text); }
.qf-chip.q-hindu { border-color: var(--hindu); background: var(--hindu-lt); color: var(--hindu-text); }
.qf-chip.qf-chip--active { border-color: var(--bp-nav); background: var(--bp-accent-lt); color: var(--bp-nav); }
.qf-sep { width: 1px; height: 14px; background: var(--bp-border-md); flex-shrink: 0; }

/* Intent banner */
.intent-banner {
    background: var(--bp-accent-lt); border: 1px solid var(--bp-accent-md);
    border-radius: var(--r-lg); padding: .65rem 1rem; margin-bottom: .85rem;
    display: flex; align-items: center; gap: .65rem;
    font-size: .75rem; color: var(--bp-text-2); line-height: 1.4;
}
.intent-banner strong { color: var(--bp-text-1); }

/* Best match card */
.bmc {
    background: var(--bp-surface); border: 2px solid var(--bp-boy);
    border-radius: var(--r-xl); overflow: hidden;
    box-shadow: var(--shadow-md); margin-bottom: 1.25rem;
}
.bmc--girl { border-color: var(--bp-girl); }
.bmc-inner {
    background: linear-gradient(135deg, var(--bp-boy-lt) 0%, #F0EEFF 100%);
    padding: 1.25rem;
}
.bmc--girl .bmc-inner { background: linear-gradient(135deg, var(--bp-girl-lt) 0%, #FFE8F0 100%); }
.bmc-label {
    display: inline-flex; align-items: center; gap: .3rem;
    font-size: .6rem; font-weight: 700; text-transform: uppercase;
    letter-spacing: .08em; color: var(--bp-boy);
    background: rgba(255,255,255,.7); border: 1px solid var(--bp-boy-border);
    padding: .15rem .6rem; border-radius: var(--r-full); margin-bottom: .75rem;
}
.bmc-label svg { width: 10px; height: 10px; }
.bmc-top { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.bmc-name { font-size: 2.25rem; font-weight: 800; color: var(--bp-boy); line-height: 1; margin-bottom: .25rem; }
.bmc--girl .bmc-name { color: var(--bp-girl); }
.bmc-deva { font-family: 'Noto Sans', sans-serif; font-size: .95rem; color: var(--bp-text-2); display: block; margin-bottom: .6rem; }
.bmc-badges { display: flex; flex-wrap: wrap; gap: .3rem; }
.bb { display: inline-flex; align-items: center; padding: .18rem .55rem; border-radius: var(--r-full); font-size: .65rem; font-weight: 600; }
.bb-boy { background: var(--bp-boy-lt); color: var(--bp-boy-text); border: 1px solid var(--bp-boy-border); }
.bb-girl { background: var(--bp-girl-lt); color: var(--bp-girl-text); border: 1px solid var(--bp-girl-border); }
.bb-origin { background: rgba(255,255,255,.8); color: var(--bp-text-2); border: 1px solid var(--bp-border-md); }
.bb-rashi { background: rgba(255,255,255,.8); color: var(--bp-rashi); border: 1px solid #C9C4ED; }
.bb-num { background: rgba(255,255,255,.8); color: var(--bp-nav); border: 1px solid var(--bp-accent-md); }
.bmc-fav {
    width: 36px; height: 36px; border-radius: 50%;
    border: 1.5px solid var(--bp-boy-border); background: rgba(255,255,255,.7);
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; font-size: 1rem; color: var(--bp-text-3);
    transition: all .15s; flex-shrink: 0;
}
.bmc-fav:hover { border-color: var(--bp-girl); color: var(--bp-girl); }
.bmc-actions {
    display: flex; align-items: center; gap: .55rem;
    padding: .85rem 1.25rem; border-top: 1px solid var(--bp-boy-border);
}
.bmc-cta {
    display: inline-flex; align-items: center; gap: .35rem;
    height: 36px; padding: 0 1.1rem; background: var(--bp-nav); color: #fff;
    border: none; border-radius: var(--r-full); font-size: .76rem;
    font-weight: 700; cursor: pointer; font-family: 'Poppins', sans-serif;
    text-decoration: none; transition: background .15s;
}
.bmc-cta:hover { background: var(--bp-nav-dark); color: #fff; text-decoration: none; }
.bmc-cta svg { width: 12px; height: 12px; }
.bmc-tab {
    height: 34px; padding: 0 .8rem; background: transparent;
    border: 1.5px solid var(--bp-border-md); border-radius: var(--r-full);
    font-size: .73rem; font-weight: 600; cursor: pointer;
    font-family: 'Poppins', sans-serif; color: var(--bp-text-2);
    transition: all .15s; text-decoration: none;
}
.bmc-tab:hover { border-color: var(--bp-nav); color: var(--bp-nav); background: var(--bp-accent-lt); text-decoration: none; }

/* Related names label */
.related-label {
    font-size: .8rem; font-weight: 700; color: var(--bp-text-1);
    margin-bottom: .65rem; display: flex; align-items: center; gap: .4rem;
}
.related-count { font-size: .7rem; color: var(--bp-text-3); font-weight: 400; }

/* --------------------------------------------------------------------------
   17. NAV SEARCH OVERLAY
   -------------------------------------------------------------------------- */
.search-overlay { position: fixed; inset: 0; z-index: 9000; display: none; flex-direction: column; align-items: center; }
.search-overlay.open { display: flex; }
.so-backdrop { position: absolute; inset: 0; background: rgba(10,15,25,.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.so-panel {
    position: relative; z-index: 1; width: 100%; max-width: 680px;
    margin-top: 80px; padding: 1.25rem;
    background: rgba(255,255,255,.95); border-radius: var(--r-lg);
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
    animation: soSlideDown .18s ease-out;
}
@keyframes soSlideDown { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
.so-input-wrap {
    display: flex; align-items: center; background: #fff;
    border: 2.5px solid var(--bp-nav); border-radius: var(--r-full);
    box-shadow: 0 6px 28px rgba(0,119,182,.25), 0 1px 6px rgba(0,0,0,.1);
    overflow: hidden; margin-bottom: .65rem;
}
.so-search-icon { padding: 0 .75rem 0 1.1rem; display: flex; align-items: center; flex-shrink: 0; }
.so-search-icon svg { width: 18px; height: 18px; color: var(--bp-text-3); }
.so-input {
    flex: 1; height: 52px; border: none; outline: none;
    font-size: 1rem; font-family: 'Poppins', sans-serif;
    color: var(--bp-text-1); background: transparent;
}
.so-input::placeholder { color: var(--bp-text-3); }
.so-clear {
    width: 28px; height: 28px; border-radius: 50%; border: none;
    background: var(--bp-border); display: flex; align-items: center;
    justify-content: center; cursor: pointer; margin: 0 .5rem; flex-shrink: 0;
    opacity: 0; pointer-events: none; transition: opacity .15s;
}
.so-clear.visible { opacity: 1; pointer-events: all; }
.so-clear:hover { background: var(--bp-border-md); }
.so-clear svg { width: 11px; height: 11px; color: var(--bp-text-2); }
.so-kbd-hint { display: flex; align-items: center; gap: .5rem; padding: .35rem .25rem .5rem; font-size: .68rem; color: var(--bp-text-3); }
.so-kbd { background: var(--bp-bg); border: 1px solid var(--bp-border-md); border-radius: 4px; padding: .1rem .4rem; font-size: .6rem; color: var(--bp-text-2); font-family: monospace; }
.so-popular-bar { display: flex; align-items: center; gap: .4rem; padding: .6rem .25rem .2rem; flex-wrap: wrap; }
.spb-label { font-size: .68rem; color: var(--bp-text-3); font-weight: 600; white-space: nowrap; }
.spb-chip {
    padding: .22rem .7rem; border-radius: var(--r-full);
    border: 1px solid var(--bp-border-md); background: var(--bp-surface);
    font-size: .7rem; font-weight: 500; color: var(--bp-text-2);
    cursor: pointer; font-family: 'Poppins', sans-serif; transition: all .15s;
    white-space: nowrap; text-decoration: none;
}
.spb-chip:hover { background: var(--bp-accent-lt); color: var(--bp-nav); border-color: var(--bp-nav); text-decoration: none; }

/* Override ac-dropdown positioning inside overlay */
.so-panel .ac-wrapper { position: relative; }
.so-panel .ac-dropdown {
    position: relative; top: 0; left: 0; right: 0;
    border-radius: var(--r-lg); box-shadow: var(--shadow-lg);
    max-height: 50vh; overflow-y: auto; z-index: 10;
    background: var(--bp-surface);
}
.so-panel .ac-dropdown[hidden] { display: none; }

/* --------------------------------------------------------------------------
   18. ALPHABET BROWSER (inside bp-main content area)
   -------------------------------------------------------------------------- */
/* Browse header — inline inside content area */

/* Alphabet controls wrapper — replaces full-width alpha-section */
.bp-alpha-controls { margin-bottom: 1rem; }

/* Religion chips */
.religion-strip { display: flex; align-items: center; gap: .4rem; margin-bottom: .85rem; flex-wrap: wrap; }
.rs-label { font-size: .68rem; color: var(--bp-text-3); font-weight: 500; margin-right: .1rem; }
.rs-chip {
    padding: .18rem .65rem; border-radius: var(--r-full); font-size: .7rem; font-weight: 600;
    cursor: pointer; border: 1.5px solid var(--bp-border-md); background: transparent;
    color: var(--bp-text-2); transition: all .15s; white-space: nowrap; text-decoration: none;
    display: inline-flex; align-items: center;
}
.rs-chip:hover { border-color: var(--bp-nav); color: var(--bp-nav); text-decoration: none; }
.rs-chip.active-hindu { background: var(--hindu-lt); border-color: var(--hindu); color: var(--hindu-text); }
.rs-chip.active-muslim { background: #E8F5EC; border-color: #1A7A4A; color: #0E4A2D; }
.rs-chip.active-christian { background: #EAF0FA; border-color: #1A4A8A; color: #0E2D58; }
.rs-chip.active-sikh { background: #FDF5E0; border-color: #8B6914; color: #5A4208; }
.rs-sep { width: 1px; height: 14px; background: var(--bp-border-md); }

/* Gender toggle */
.gender-toggle {
    display: flex; gap: 0; border-radius: var(--r-full); overflow: hidden;
    border: 1.5px solid var(--bp-border-md); background: var(--bp-bg); margin-left: auto;
}
.gt-btn {
    padding: .3rem .85rem; font-size: .72rem; font-weight: 600; cursor: pointer;
    border: none; background: transparent; font-family: 'Poppins', sans-serif;
    color: var(--bp-text-2); transition: all .15s; display: flex; align-items: center;
    gap: .3rem; text-decoration: none;
}
.gt-btn:hover { text-decoration: none; }
.gt-btn.active-boy { background: var(--bp-boy); color: #fff; border-radius: var(--r-full); }
.gt-btn.active-girl { background: var(--bp-girl); color: #fff; border-radius: var(--r-full); }
.gt-btn.active-all { background: var(--bp-nav); color: #fff; border-radius: var(--r-full); }

/* Status message — inline variant (inside content area, no full-width border) */
.alpha-msg { font-size: .78rem; color: var(--bp-text-3); }
.alpha-msg--inline { padding: .65rem 0; margin-bottom: .5rem; border-bottom: 1px solid var(--bp-border); }
.alpha-msg strong { color: var(--bp-text-1); }

/* --------------------------------------------------------------------------
   18. AUTOCOMPLETE ENTITIES
   -------------------------------------------------------------------------- */

/* Group header */
.dd-group-header{display:flex;align-items:center;gap:.45rem;padding:.5rem 1rem .28rem;background:var(--bp-bg);border-top:1px solid var(--bp-border);border-bottom:1px solid var(--bp-border);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--bp-text-3);}
.dd-group-header:first-child{border-top:none;}
.ddgh-icon{width:14px;height:14px;display:flex;align-items:center;justify-content:center;}
.ddgh-icon svg{width:12px;height:12px;}

/* Row base */
.dd-row{display:flex;align-items:center;gap:.75rem;padding:.62rem 1rem;border-bottom:1px solid var(--bp-border);cursor:pointer;transition:background .1s;position:relative;}
.dd-row:last-child{border-bottom:none;}
.dd-row:hover,.dd-row--active{background:#EDF6FF;}
.dd-row-info{flex:1;min-width:0;}
.dd-row-label{font-size:.84rem;font-weight:700;color:var(--bp-text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dd-row-label em{color:var(--bp-nav);font-style:normal;}
.dd-row-meta{font-size:.7rem;color:var(--bp-text-3);margin-top:.08rem;}
.dd-arrow{color:var(--bp-border-md);font-size:.7rem;margin-left:.25rem;flex-shrink:0;transition:color .12s;}
.dd-row:hover .dd-arrow{color:var(--bp-nav);}

/* Name avatars */
.dn-avatar{width:36px;height:36px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.25rem;}
.dn-av-girl{background:#FBE9EF;}
.dn-av-boy{background:#EAF3FB;}

/* Entity icons */
.ei{width:36px;height:36px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ei svg{width:17px;height:17px;}
.ei span{font-size:1.05rem;line-height:1;}
.ei-rashi{background:var(--ec-rashi-lt);} .ei-rashi svg,.ei-rashi span{color:var(--ec-rashi);}
.ei-nak{background:var(--ec-nak-lt);} .ei-nak svg,.ei-nak span{color:var(--ec-nak);}
.ei-religion{background:var(--ec-religion-lt);} .ei-religion svg,.ei-religion span{color:var(--ec-religion);}
.ei-deity{background:var(--ec-deity-lt);} .ei-deity svg,.ei-deity span{color:var(--ec-deity);}
.ei-lang{background:var(--ec-lang-lt);} .ei-lang svg,.ei-lang span{color:var(--ec-lang);}
.ei-myth{background:var(--ec-myth-lt);} .ei-myth svg,.ei-myth span{color:var(--ec-myth);}
.ei-theme{background:var(--ec-theme-lt);} .ei-theme svg,.ei-theme span{color:var(--ec-theme);}
.ei-tag{background:var(--ec-tag-lt);} .ei-tag svg,.ei-tag span{color:var(--ec-tag);}
.ei-meaning{background:var(--ec-meaning-lt);} .ei-meaning svg,.ei-meaning span{color:var(--ec-meaning);}
.ei-fallback{background:var(--bp-bg);} .ei-fallback svg{color:var(--bp-text-3);}

/* Numerology circle */
.num-circle{width:36px;height:36px;border-radius:var(--r-md);background:var(--ec-num-lt);display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:800;color:var(--ec-num);flex-shrink:0;font-family:'Poppins',sans-serif;}

/* Fallback row */
.dd-fallback{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;border-top:1px solid var(--bp-border);cursor:pointer;transition:background .1s;background:var(--bp-bg);}
.dd-fallback:hover,.dd-fallback--active{background:#EDF6FF;}
.df-icon{width:36px;height:36px;border-radius:var(--r-md);background:var(--bp-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.df-icon svg{width:17px;height:17px;color:var(--bp-text-3);}
.df-text{font-size:.84rem;font-weight:600;color:var(--bp-text-2);}
.df-text em{color:var(--bp-nav);font-style:normal;}
.df-arrow{margin-left:auto;color:var(--bp-border-md);font-size:.7rem;}

/* Language browse controls — religion strip + gender + script toggle on same row */
.bp-lang-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem .75rem;margin-bottom:16px;}
.bp-lang-controls__left{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem;}
.bp-lang-controls .bp-gender-tabs{margin-bottom:0;}
.bp-lang-controls .religion-strip{margin-bottom:0;padding:0;border:0;background:none;}
.bp-lang-controls .bp-lang-script-toggle{margin-left:auto;}

/* Gender tabs — underline-indicator style (matches mock
   bachpan-header-optimization.html). The tab row sits on a 1.5px baseline;
   each button overlaps the baseline with a 2.5px coloured border-bottom
   when active. No fill — keeps weight off the tab strip. Boy = nav blue,
   Girl = #E91E8C, Unisex = Rashi purple. */
.bp-gender-tabs{display:flex;align-items:flex-end;gap:0;border:0;border-bottom:1.5px solid var(--bp-border,#e9ecef);border-radius:0;overflow:visible;background:none;margin-bottom:.65rem;}
.bp-gender-tabs__btn{display:inline-flex;align-items:center;gap:.3rem;padding:.48rem 1.1rem;font-size:.73rem;font-weight:600;border:0;border-bottom:2.5px solid transparent;background:transparent;color:var(--bp-text-2,#495057);text-decoration:none;cursor:pointer;margin-bottom:-1.5px;white-space:nowrap;transition:color .14s,border-color .14s;}
.bp-gender-tabs__btn svg{width:14px;height:14px;flex-shrink:0;}
.bp-gender-tabs__btn:hover{color:var(--bp-text-1,#212121);background:transparent;}
.bp-gender-tabs__btn--boy-active{color:#0077B6;border-bottom-color:#0077B6;background:transparent;}
.bp-gender-tabs__btn--boy-active:hover{color:#0077B6;background:transparent;}
.bp-gender-tabs__btn--girl-active{color:#E91E8C;border-bottom-color:#E91E8C;background:transparent;}
.bp-gender-tabs__btn--girl-active:hover{color:#E91E8C;background:transparent;}
.bp-gender-tabs__btn--uni-active{color:#534AB7;border-bottom-color:#534AB7;background:transparent;}
.bp-gender-tabs__btn--uni-active:hover{color:#534AB7;background:transparent;}
/* Inert Unisex tab (no public route yet) — same visual weight as a normal
   tab but cursor:default and reduced colour so it doesn't read as a dead
   link. Click is suppressed because the element is a <span>. */
.bp-gender-tabs__btn--inert{cursor:default;color:var(--bp-text-3,#9E9E9E);opacity:.85;}
.bp-gender-tabs__btn--inert:hover{color:var(--bp-text-3,#9E9E9E);}
/* "No selection = all genders" right-aligned hint per mock. */
.bp-gender-tabs__hint{font-size:.6rem;color:var(--bp-text-3,#9E9E9E);margin-left:auto;padding-bottom:.48rem;align-self:flex-end;}

/* ── Alphabet Bar (Browse listing pages) ───────────────────────────────── */
.bp-ab{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;background:#fff;border-radius:12px;border:1px solid var(--bp-border,#e9ecef);box-shadow:0 2px 8px rgba(0,0,0,.06);margin-bottom:20px;flex-wrap:wrap;}
.bp-ab__all{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:36px;padding:0 12px;border-radius:8px;font-size:.78rem;font-weight:700;text-decoration:none;border:2px solid var(--bp-border,#e9ecef);background:#f8f9fa;color:#495057;transition:all .15s;flex-shrink:0;}
.bp-ab__all:hover{border-color:var(--bp-primary,#0077B6);color:var(--bp-primary,#0077B6);background:#f0f8ff;}
.bp-ab--boy .bp-ab__all--active{background:var(--bp-primary,#0077B6);border-color:var(--bp-primary,#0077B6);color:#fff;}
.bp-ab--girl .bp-ab__all--active{background:#E91E63;border-color:#E91E63;color:#fff;}
.bp-ab__letters{display:flex;flex-wrap:wrap;gap:4px;flex:1;}
.bp-ab__letter{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:34px;height:36px;padding:0 5px;border-radius:7px;font-size:.8rem;font-weight:700;text-decoration:none;border:1.5px solid var(--bp-border,#e9ecef);background:#f8f9fa;color:#495057;transition:all .12s;line-height:1;gap:1px;}
.bp-ab--boy .bp-ab__letter:hover{background:var(--bp-primary,#0077B6);border-color:var(--bp-primary,#0077B6);color:#fff;transform:translateY(-1px);}
.bp-ab--girl .bp-ab__letter:hover{background:#E91E63;border-color:#E91E63;color:#fff;transform:translateY(-1px);}
.bp-ab--boy .bp-ab__letter--active{background:var(--bp-primary,#0077B6);border-color:var(--bp-primary,#0077B6);color:#fff;transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,119,182,.35);}
.bp-ab--girl .bp-ab__letter--active{background:#E91E63;border-color:#E91E63;color:#fff;transform:translateY(-1px);box-shadow:0 3px 8px rgba(233,30,99,.35);}
.bp-ab__letter--empty{opacity:.3;pointer-events:none;cursor:default;}
.bp-ab__count{font-size:.52rem;font-weight:600;opacity:.75;line-height:1;}

@media(max-width:575px){
  .bp-ab__letter{min-width:28px;height:30px;font-size:.72rem;}
  .bp-ab__all{height:30px;min-width:38px;font-size:.72rem;}
  .bp-ab__count{font-size:.48rem;}
}

/* ── Rashi Card ────────────────────────────────────────────────────────── */
.bp-rc{background:var(--bp-surface);border-radius:var(--r-lg);border:1px solid var(--bp-border);border-top:3px solid var(--bp-rashi,#534AB7);overflow:hidden;position:relative;transition:all .2s;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);}
.bp-rc:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-2px);}
.bp-rc__link{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;padding:.75rem .75rem .4rem;flex:1;cursor:pointer;}
.bp-rc__link:hover{text-decoration:none;color:inherit;}
.bp-rc__count{position:absolute;top:.5rem;right:.5rem;font-size:.62rem;font-weight:700;color:var(--bp-rashi,#534AB7);background:var(--bp-rashi-lt,#F0EEF8);border:1px solid #C9C4ED;padding:.1rem .45rem;border-radius:var(--r-full);}
.bp-rc__icon{width:52px;height:52px;border-radius:50%;background:var(--bp-rashi-lt,#F0EEF8);border:2px solid #C9C4ED;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:.45rem;color:var(--bp-rashi,#534AB7);font-family:'Noto Sans',sans-serif;}
.bp-rc__name{font-size:.88rem;font-weight:700;color:var(--bp-nav);}
.bp-rc__hindi{font-size:.74rem;color:var(--bp-text-2);font-family:'Noto Sans',sans-serif;margin-top:.1rem;}
.bp-rc__english{font-size:.68rem;color:var(--bp-text-3);margin-top:.15rem;}
.bp-rc__meta{font-size:.62rem;color:var(--bp-text-3);margin-top:.2rem;line-height:1.4;text-align:center;}
.bp-rc__footer{display:flex;gap:.35rem;padding:.5rem .75rem .75rem;justify-content:center;border-top:1px solid var(--bp-border);}

/* Rashi Card Compact (Home page strip) */
.bp-rc-sm{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:96px;text-decoration:none;padding:.6rem .4rem;border-radius:var(--r-md);border:1px solid var(--bp-border);background:var(--bp-surface);transition:all .15s;cursor:pointer;gap:.25rem;overflow:hidden;}
.bp-rc-sm:hover{border-color:var(--bp-rashi);background:var(--bp-rashi-lt);transform:translateY(-2px);}
.bp-rc-sm__icon{width:36px;height:36px;flex-shrink:0;border-radius:50%;background:var(--bp-rashi-lt,#F0EEF8);border:1.5px solid #C9C4ED;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--bp-rashi);font-family:'Noto Sans',sans-serif;transition:all .15s;}
.bp-rc-sm:hover .bp-rc-sm__icon{background:var(--bp-rashi);border-color:var(--bp-rashi);color:#fff;}
.bp-rc-sm__name{font-size:.62rem;font-weight:700;color:var(--bp-text-1);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bp-rc-sm__letters{font-size:.55rem;color:var(--bp-text-3);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ── Nakshatra Card ────────────────────────────────────────────────────── */
.bp-nc{background:var(--bp-surface);border-radius:var(--r-lg);border:1px solid var(--bp-border);border-top:3px solid var(--bp-rashi,#534AB7);overflow:hidden;position:relative;transition:all .2s;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);}
.bp-nc:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-2px);}
.bp-nc__link{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;padding:.75rem .75rem .4rem;flex:1;cursor:pointer;}
.bp-nc__link:hover{text-decoration:none;color:inherit;}
.bp-nc__count{position:absolute;top:.5rem;right:.5rem;font-size:.62rem;font-weight:700;color:var(--bp-rashi,#534AB7);background:var(--bp-rashi-lt,#F0EEF8);border:1px solid #C9C4ED;padding:.1rem .45rem;border-radius:var(--r-full);}
.bp-nc__icon{width:52px;height:52px;border-radius:var(--r-md);background:var(--bp-rashi-lt,#F0EEF8);border:2px solid #C9C4ED;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:800;margin-bottom:.45rem;color:var(--bp-rashi,#534AB7);font-family:'Poppins',sans-serif;}
.bp-nc__name{font-size:.88rem;font-weight:700;color:var(--bp-nav);}
.bp-nc__hindi{font-size:.74rem;color:var(--bp-text-2);font-family:'Noto Sans',sans-serif;margin-top:.1rem;}
.bp-nc__rashi{font-size:.62rem;color:var(--bp-rashi);font-weight:600;margin-top:.15rem;}
.bp-nc__meta{font-size:.62rem;color:var(--bp-text-3);margin-top:.2rem;line-height:1.4;text-align:center;}
.bp-nc__footer{display:flex;gap:.35rem;padding:.5rem .75rem .75rem;justify-content:center;border-top:1px solid var(--bp-border);}

/* ── Deity Card (Gods & Goddesses) ─────────────────────────────────────── */
.bp-dc{background:var(--bp-surface);border-radius:var(--r-lg);border:1px solid var(--bp-border);border-top:3px solid var(--bp-saffron,#E8901A);overflow:hidden;position:relative;transition:all .2s;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);}
.bp-dc:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-2px);border-color:var(--bp-saffron,#E8901A);}
.bp-dc--goddess{border-top-color:#E91E63;}
.bp-dc--goddess:hover{border-color:#E91E63;}
.bp-dc__link{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;padding:.75rem .75rem .4rem;flex:1;cursor:pointer;}
.bp-dc__link:hover{text-decoration:none;color:inherit;}
.bp-dc__count{position:absolute;top:.5rem;right:.5rem;font-size:.58rem;font-weight:700;color:var(--bp-saffron-text,#7A3C00);background:var(--bp-saffron-lt,#FFF4E0);border:1px solid var(--bp-saffron-md,#FFD88A);padding:.12rem .45rem;border-radius:var(--r-full);}
.bp-dc--goddess .bp-dc__count{color:#AD1457;background:#FCE4EC;border-color:#F48FB1;}
.bp-dc__avatar-wrap{display:flex;flex-direction:column;align-items:center;margin-bottom:.35rem;}
.bp-dc__avatar{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:.4rem;}
.bp-dc__avatar--god{background:var(--bp-saffron-lt,#FFF4E0);border:2px solid var(--bp-saffron-md,#FFD88A);}
.bp-dc__avatar--goddess{background:#FCE4EC;border:2px solid #F48FB1;}
.bp-dc__initial{font-size:1.45rem;font-weight:700;font-family:'Noto Sans',sans-serif;line-height:1;color:var(--bp-saffron-text,#7A3C00);}
.bp-dc--goddess .bp-dc__initial{color:#AD1457;}
.bp-dc__avatar img{width:36px;height:36px;border-radius:50%;object-fit:cover;}
.bp-dc__cat-pill{display:inline-flex;padding:.12rem .5rem;border-radius:var(--r-full);font-size:.58rem;font-weight:700;background:var(--bp-saffron-lt,#FFF4E0);color:var(--bp-saffron-text,#7A3C00);border:1px solid var(--bp-saffron-md,#FFD88A);}
.bp-dc--goddess .bp-dc__cat-pill{background:#FCE4EC;color:#AD1457;border-color:#F48FB1;}
.bp-dc__name{font-size:.92rem;font-weight:700;color:var(--bp-text-1);}
.bp-dc__deva{font-size:.72rem;color:var(--bp-text-3);font-family:'Noto Sans',sans-serif;margin-top:.1rem;}
.bp-dc__desc{font-size:.65rem;color:var(--bp-text-2);line-height:1.4;margin-top:.25rem;text-align:center;flex:1;}
.bp-dc__footer{display:flex;gap:.35rem;padding:.5rem .75rem .75rem;justify-content:center;border-top:1px solid var(--bp-border);}

/* ── Category Card ─────────────────────────────────────────────────────── */
.bp-cc{background:var(--bp-surface);border-radius:var(--r-lg);border:1px solid var(--bp-border);border-top:3px solid var(--bp-nav,#0077B6);overflow:hidden;position:relative;transition:all .2s;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);}
.bp-cc:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-2px);}
.bp-cc__link{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;padding:.75rem .75rem .4rem;flex:1;cursor:pointer;}
.bp-cc__link:hover{text-decoration:none;color:inherit;}
.bp-cc__count{position:absolute;top:.5rem;right:.5rem;font-size:.62rem;font-weight:700;color:var(--bp-nav);background:#E3F2FD;border:1px solid #90CAF9;padding:.1rem .45rem;border-radius:var(--r-full);}
.bp-cc__icon{width:48px;height:48px;border-radius:var(--r-md);background:#E3F2FD;border:2px solid #90CAF9;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:.45rem;color:#0D47A1;}
.bp-cc__icon img{width:28px;height:28px;border-radius:var(--r-sm);object-fit:cover;}
.bp-cc__name{font-size:.88rem;font-weight:700;color:var(--bp-nav);}
.bp-cc__desc{font-size:.65rem;color:var(--bp-text-3);line-height:1.4;margin-top:.2rem;text-align:center;}
.bp-cc__footer{display:flex;gap:.35rem;padding:.5rem .75rem .75rem;justify-content:center;border-top:1px solid var(--bp-border);}

/* ── Tag Type Card ─────────────────────────────────────────────────────── */
.bp-ttc{background:var(--bp-surface);border-radius:var(--r-lg);border:1px solid var(--bp-border);border-top:3px solid var(--bp-rashi,#534AB7);overflow:hidden;position:relative;transition:all .2s;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);}
.bp-ttc:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-2px);}
.bp-ttc__link{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;padding:.75rem .75rem .4rem;flex:1;cursor:pointer;}
.bp-ttc__link:hover{text-decoration:none;color:inherit;}
.bp-ttc__count{position:absolute;top:.5rem;right:.5rem;font-size:.62rem;font-weight:700;color:var(--bp-rashi);background:var(--bp-rashi-lt,#F0EEF8);border:1px solid #C9C4ED;padding:.1rem .45rem;border-radius:var(--r-full);}
.bp-ttc__icon{width:48px;height:48px;border-radius:var(--r-md);background:var(--bp-rashi-lt,#F0EEF8);border:2px solid #C9C4ED;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:.45rem;color:var(--bp-rashi);}
.bp-ttc__name{font-size:.88rem;font-weight:700;color:var(--bp-nav);}
.bp-ttc__desc{font-size:.65rem;color:var(--bp-text-3);line-height:1.4;margin-top:.2rem;text-align:center;}
.bp-ttc__footer{display:flex;gap:.35rem;padding:.5rem .75rem .75rem;justify-content:center;border-top:1px solid var(--bp-border);}

/* ── Tag Card ──────────────────────────────────────────────────────────── */
.bp-tc{background:var(--bp-surface);border-radius:var(--r-lg);border:1px solid var(--bp-border);border-top:3px solid var(--bp-rashi,#534AB7);overflow:hidden;position:relative;transition:all .2s;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);}
.bp-tc:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-2px);}
.bp-tc__link{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;padding:.75rem .75rem .4rem;flex:1;cursor:pointer;}
.bp-tc__link:hover{text-decoration:none;color:inherit;}
.bp-tc__count{position:absolute;top:.5rem;right:.5rem;font-size:.62rem;font-weight:700;color:var(--bp-rashi);background:var(--bp-rashi-lt,#F0EEF8);border:1px solid #C9C4ED;padding:.1rem .45rem;border-radius:var(--r-full);}
.bp-tc__icon{width:48px;height:48px;border-radius:var(--r-md);background:var(--bp-rashi-lt,#F0EEF8);display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:.4rem;color:var(--bp-rashi);}
.bp-tc__name{font-size:.88rem;font-weight:700;color:var(--bp-nav);text-align:center;}
.bp-tc__desc{font-size:.65rem;color:var(--bp-text-3);line-height:1.4;margin-top:.2rem;text-align:center;}
.bp-tc__footer{display:flex;gap:.35rem;padding:.5rem .75rem .75rem;justify-content:center;border-top:1px solid var(--bp-border);}

/* ── Language Card ─────────────────────────────────────────────────────── */
.bp-lc{background:var(--bp-surface);border-radius:var(--r-lg);border:1px solid var(--bp-border);border-top:3px solid #2E7D32;overflow:hidden;position:relative;transition:all .2s;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);}
.bp-lc:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-2px);}
.bp-lc__link{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;padding:.75rem .75rem .4rem;flex:1;cursor:pointer;}
.bp-lc__link:hover{text-decoration:none;color:inherit;}
.bp-lc__count{position:absolute;top:.5rem;right:.5rem;font-size:.62rem;font-weight:700;color:#2E7D32;background:#E8F5E9;border:1px solid #A5D6A7;padding:.1rem .45rem;border-radius:var(--r-full);}
.bp-lc__icon{width:48px;height:48px;border-radius:var(--r-md);background:#E8F5E9;border:2px solid #A5D6A7;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:.45rem;color:#2E7D32;font-family:'Noto Sans',sans-serif;}
.bp-lc__name{font-size:.88rem;font-weight:700;color:var(--bp-nav);}
.bp-lc__native{font-size:.74rem;color:var(--bp-text-2);font-family:'Noto Sans',sans-serif;margin-top:.1rem;}
.bp-lc__footer{display:flex;gap:.35rem;padding:.5rem .75rem .75rem;justify-content:center;border-top:1px solid var(--bp-border);}

/* ── Page Layout with Sidebar ──────────────────────────────────────────── */
.bp-page-layout{display:flex;min-height:calc(100vh - 86px);}
.bp-left-sidebar{width:240px;flex-shrink:0;background:var(--bp-surface);border-right:1px solid var(--bp-border);padding:1.25rem 1rem;display:none;}
@media(min-width:992px){.bp-left-sidebar{display:block;}}
.bp-qs-title{font-size:.8rem;font-weight:700;color:var(--bp-text-1);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--bp-border);display:flex;align-items:center;gap:.4rem;}
.bp-qs-link{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--bp-nav);text-decoration:none;padding:.45rem 0;border-bottom:1px solid var(--bp-border);transition:color .15s;}
.bp-qs-link:hover{color:var(--bp-accent,#FF8C42);}
.bp-qs-link:last-of-type{border-bottom:none;}
.bp-qs-arrow{color:var(--bp-text-3);font-size:.7rem;}
.bp-ad-label{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--bp-border-md);}

/* Mobile quick links (pills shown below hero on small screens) */
.bp-mobile-ql{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem;}
@media(min-width:992px){.bp-mobile-ql{display:none;}}
.bp-ql-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .8rem;border-radius:var(--r-full);font-size:.72rem;font-weight:600;background:var(--bp-surface);border:1px solid var(--bp-border-md);color:var(--bp-nav);text-decoration:none;}
.bp-ql-pill:hover{border-color:var(--bp-nav);background:#f0f8ff;}

/* ── Mobile Nav Drawer ──────────────────────────────────────────────────── */
.bp-mob-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:800;display:none;}
.bp-mob-overlay.open{display:block;}
.bp-mob-drawer{position:fixed;top:0;left:-280px;width:280px;height:100%;background:var(--bp-surface);z-index:810;transition:left .25s ease;overflow-y:auto;box-shadow:4px 0 24px rgba(0,0,0,.15);}
.bp-mob-drawer.open{left:0;}
.bp-mob-drawer-hd{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid var(--bp-border);background:var(--bp-nav);color:#fff;}
.bp-mob-drawer-title{font-size:.9rem;font-weight:700;}
.bp-mob-drawer-close{background:none;border:none;color:#fff;font-size:1.1rem;cursor:pointer;padding:.2rem .4rem;}
.bp-mob-drawer-body{padding:.5rem 0;}
.bp-mob-link{display:block;padding:.55rem 1rem;font-size:.88rem;font-weight:500;color:var(--bp-text-1);text-decoration:none;transition:background .12s;}
.bp-mob-link:hover{background:var(--bp-accent-lt);color:var(--bp-nav);}

/* 2-level mobile drawer accordion (2026-05-22). Each section is a native
   <details>/<summary> — top-level entry collapses by default, tap to
   reveal sub-items. Matches the desktop mega menu hierarchy with zero
   JS — the chevron rotation is driven by [open] attribute selector. */
.bp-mob-section { border-top: 1px solid var(--bp-border); }
.bp-mob-section:first-of-type { border-top: none; }
.bp-mob-section-summary {
    list-style: none;
    cursor: pointer;
    user-select: none;
    padding: .9rem 1rem;
    font-size: .95rem;
    font-weight: 700;
    color: var(--bp-text-1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--bp-surface);
    transition: background .12s;
}
.bp-mob-section-summary::-webkit-details-marker { display: none; }
.bp-mob-section-summary::marker { content: ''; }
.bp-mob-section-summary:hover { background: var(--bp-accent-lt); color: var(--bp-nav); }
.bp-mob-section-summary::after {
    content: '';
    width: 8px; height: 8px;
    border-right: 2px solid var(--bp-text-3);
    border-bottom: 2px solid var(--bp-text-3);
    transform: rotate(45deg);
    transition: transform .15s;
    flex-shrink: 0;
    margin-right: .25rem;
}
.bp-mob-section[open] > .bp-mob-section-summary::after { transform: rotate(-135deg); }
.bp-mob-section-body { padding: .25rem 0 .65rem; background: var(--bp-bg); }
.bp-mob-section-body .bp-mob-link { padding-left: 1.5rem; font-size: .85rem; font-weight: 500; }
.bp-mob-section-body .bp-mm-letter-grid--drawer { padding: .55rem 1rem .25rem; margin-bottom: .25rem; }

/* 2026-05-31 nav restructure — sub-heading + religion-row primitives for the
   mobile drawer. .bp-mob-subhead labels sub-groups inside a <details> section
   (Hindu / Muslim / Christian / Other Religions / Core / Additional / By
   Theme). .bp-mob-rel-row stacks the religion link + always-visible Boy/Girl
   icon pills on one row — desktop .bp-ml-gender hides on non-hover, here it
   stays revealed because there is no hover affordance on touch. */
.bp-mob-subhead{padding:.55rem 1.5rem .25rem;font-size:.7rem;font-weight:700;color:var(--bp-text-2);text-transform:uppercase;letter-spacing:.04em;}
.bp-mob-rel-row{display:flex;align-items:center;gap:.4rem;padding-right:1rem;}
.bp-mob-rel-row .bp-mob-link{flex:1;}
.bp-mob-rel-row .bp-ml-gender{opacity:1;}
.bp-mob-link--more{color:var(--bp-nav);font-weight:600;}

/* ── Language Alphabet Grid ─────────────────────────────────────────────── */
/* Native-script alphabet tiles (Vowels + Consonants on Language pages).
   Matches mock bachpan-header-optimization.html — .na tiles. Compact 40x38
   tile, native script .88rem, roman .44rem, count .44rem. */
.bp-lang-alpha-grid{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:1rem;}
.bp-lang-alpha-grid.bp-rtl{direction:rtl;}
.bp-lang-alpha-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:40px;height:38px;padding:0 4px;border-radius:var(--r-sm);border:1px solid var(--bp-border);background:var(--bp-surface);cursor:pointer;transition:background .12s,border-color .12s,color .12s;gap:0;line-height:1;}
.bp-lang-alpha-btn:hover{border-color:var(--bp-nav);color:var(--bp-nav);}
.bp-lang-alpha-btn--vowel{background:#FFFBF0;border-color:#E8D5A0;}
.bp-lang-alpha-btn--vowel:hover{border-color:#C4960C;background:#FFF4D6;}
.bp-lang-alpha-native{font-size:.88rem;font-weight:600;color:var(--bp-text-1);font-family:var(--f-script,'Noto Sans',sans-serif);line-height:1;}
.bp-lang-alpha-roman{font-size:.44rem;color:var(--bp-text-3);font-weight:500;line-height:1;font-family:'Poppins',sans-serif;}
.bp-lang-alpha-count{font-size:.44rem;color:var(--bp-nav);font-weight:600;line-height:1;}
.bp-lang-alpha-btn--active{border-color:var(--bp-nav) !important;background:var(--bp-nav) !important;}
.bp-lang-alpha-btn--active .bp-lang-alpha-native{color:#fff;}
.bp-lang-alpha-btn--active .bp-lang-alpha-roman{color:rgba(255,255,255,.72);}
.bp-lang-alpha-btn--active .bp-lang-alpha-count{color:rgba(255,255,255,.9);}
.bp-lang-alpha-btn--empty{opacity:.38;pointer-events:none;cursor:default;}
a.bp-lang-alpha-btn{text-decoration:none;color:inherit;}

/* Section label (Vowels / Consonants) */
.bp-lang-section-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--bp-text-3);margin:.75rem 0 .5rem;display:flex;align-items:center;gap:.4rem;}
.bp-lang-section-label::after{content:'';flex:1;height:1px;background:var(--bp-border);}

/* Script toggle (Native / English) */
.bp-lang-script-toggle{display:flex;gap:0;border-radius:var(--r-full);overflow:hidden;border:1.5px solid var(--bp-border);}
.bp-lang-st-btn{padding:.3rem .8rem;font-size:.72rem;font-weight:700;border:none;background:var(--bp-surface);color:var(--bp-text-2);cursor:pointer;font-family:'Poppins',sans-serif;transition:all .15s;}
.bp-lang-st-btn--active{background:var(--bp-nav);color:#fff;}

/* English mode: swap native/roman emphasis. Sized for the compact 40x38
   tile per mock — roman becomes the dominant text. */
.bp-lang-alpha-grid.bp-eng-mode .bp-lang-alpha-native{font-size:.5rem;color:var(--bp-text-3);font-weight:500;}
.bp-lang-alpha-grid.bp-eng-mode .bp-lang-alpha-roman{font-size:.78rem;font-weight:700;color:var(--bp-text-1);}
.bp-lang-alpha-grid.bp-eng-mode .bp-lang-alpha-btn--active .bp-lang-alpha-roman{color:#fff;}
@media(max-width:575px){
  .bp-lang-alpha-btn{min-width:38px;height:36px;}
  .bp-lang-alpha-native{font-size:.82rem;}
}

/* ── Language Name Card/Row extras ──────────────────────────────────────── */
.bp-card-name-native{font-size:1.15rem;font-weight:700;color:var(--bp-nav);font-family:var(--f-script,'Noto Sans',sans-serif);line-height:1.3;margin-bottom:.15rem;}
.bp-card-name-en{font-size:.75rem;font-weight:600;color:var(--bp-text-2);margin-bottom:.3rem;}
.bp-card-meaning--native{font-family:var(--f-script,'Noto Sans',sans-serif);font-size:.88rem;color:var(--bp-text-2);line-height:1.5;}
.bp-card-meaning--en{font-size:.8rem;color:var(--bp-text-2);line-height:1.45;margin-top:.15rem;}
.bp-row-name-native{font-size:.88rem;font-weight:700;color:var(--bp-nav);font-family:var(--f-script,'Noto Sans',sans-serif);flex-shrink:0;}
.bp-row-name-en{font-size:.78rem;color:var(--bp-text-2);font-weight:500;}

/* ── SHARE MODAL (_ShareModal.cshtml) ─────────────────────────────────────── */
.bp-modal--share { max-width: 460px; padding: 0; overflow: hidden; position: relative; }
.bp-modal-close--floating {
    position: absolute; top: .55rem; right: .55rem; z-index: 2;
    width: 28px; height: 28px; border-radius: 50%;
    background: rgba(255,255,255,.92); color: var(--bp-text-1);
    border: none; font-size: 1rem; line-height: 1; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.bp-modal-close--floating:hover { background: #fff; }

.bp-share-header {
    padding: 1.25rem 1.25rem 1.1rem;
    color: #fff; text-align: center;
    background: linear-gradient(135deg, var(--bp-nav) 0%, #005f91 100%);
}
.bp-share-header__name { font-size: 1.75rem; font-weight: 800; line-height: 1.1; }
.bp-share-header__deva { display: block; font-size: .95rem; opacity: .85; margin-top: .15rem; font-weight: 500; }
.bp-share-header__meaning { font-size: .78rem; opacity: .9; line-height: 1.5; margin-top: .55rem; }

.bp-share-body { padding: 1.1rem 1.25rem 1.25rem; background: var(--bp-surface); }
.bp-share-eyebrow {
    font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
    color: var(--bp-text-3); margin-bottom: .65rem;
}
.bp-share-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin-bottom: 1.1rem;
}
.share-soc-btn {
    display: flex; align-items: center; justify-content: center; gap: .45rem;
    padding: .65rem .5rem; border-radius: var(--r-md);
    font-size: .78rem; font-weight: 600; color: #fff;
    text-decoration: none; border: none; cursor: pointer;
    transition: filter .15s, transform .15s;
}
.share-soc-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
.share-soc-btn svg { width: 16px; height: 16px; flex-shrink: 0; }
.share-wa { background: #25D366; }
.share-fb { background: #1877F2; }
.share-tw { background: #1DA1F2; }
.share-ig { background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366); }

.bp-share-copy { display: flex; gap: .5rem; }
.bp-share-copy input {
    flex: 1; height: 40px; border: 1.5px solid var(--bp-border-md);
    border-radius: var(--r-md); padding: 0 .75rem;
    font-size: .72rem; color: var(--bp-text-2); background: var(--bp-bg);
    outline: none; font-family: inherit;
}
.bp-share-copy__btn { height: 40px; padding: 0 1rem; font-size: .75rem; border-radius: var(--r-md); }
.bp-share-preview {
    margin-bottom: 1.1rem; border-radius: var(--r-md); overflow: hidden;
    border: 1px solid var(--bp-border-md); background: var(--bp-bg);
}
.bp-share-preview img { display: block; width: 100%; height: auto; }

/* Share icon on _NameCard (placed next to the favourite button). */
.bp-card-share {
    width: 36px; height: 36px; border-radius: 50%;
    border: none; background: transparent; cursor: pointer;
    color: var(--bp-text-3);
    display: flex; align-items: center; justify-content: center;
    transition: all .15s; flex-shrink: 0;
}
.bp-card-share:hover { color: var(--bp-nav); background: var(--bp-accent-lt); }

/* Share icon on _NameRow (placed next to the favourite button). */
.bp-row-share {
    width: 30px; height: 30px; border-radius: 50%;
    border: none; background: transparent; cursor: pointer;
    color: var(--bp-text-3);
    display: inline-flex; align-items: center; justify-content: center;
    transition: all .15s; flex-shrink: 0; margin-right: 2px;
}
.bp-row-share:hover { color: var(--bp-nav); background: var(--bp-accent-lt); }

/* ==========================================================================
   Listing card / row — Header (name + share/heart) + footer chip strip
   (Used by _NameCard, _NameRow, _NameCardLang, _NameRowLang)
   Mirrors the NameDetail hero so chip wording / shape / placement match.
   ========================================================================== */

/* Card header: name on the left grows to fill, share + heart pinned right
   in the same horizontal row. Replaces the bottom-footer share/heart spot. */
.bp-card-header {
    display: flex; align-items: flex-start; justify-content: space-between;
    gap: .35rem; margin-bottom: .2rem;
}
.bp-card-header .bp-card-name,
.bp-card-header .bp-card-name-stack { flex: 1 1 auto; min-width: 0; padding-right: 0; margin-bottom: 0; }
.bp-card-header .bp-card-name { padding-right: 0; }
.bp-card-name-stack { display: flex; flex-direction: column; gap: 2px; }
.bp-card-actions {
    display: flex; align-items: center; gap: .15rem;
    flex-shrink: 0; margin-top: -4px; /* nudge to top-align with name baseline */
}

/* Card footer — now holds the Rashi/Nakshatra/Lucky chip strip in the
   spot where share/heart used to live. The horizontal divider stays so
   the chips read as a distinct section. */
.bp-card-footer { display: flex; align-items: center; margin-top: .65rem; padding-top: .65rem; border-top: 1px solid var(--bp-border); }
.bp-card-footer--chips { flex-wrap: wrap; gap: .3rem; }
.bp-card-footer--chips .bp-hbadge {
    font-size: .65rem; padding: .18rem .55rem; line-height: 1.3;
}

/* Stacked native + English meaning in the language card. The English line
   is always shown (no toggle), in a lighter italic to keep the native
   meaning the primary call-out. */
.bp-card-meaning--en { font-size: .78rem; color: var(--bp-text-3); margin-top: .25rem; font-style: italic; }

/* Row 2 placement inside the .bp-name-row CSS grid above.
   - bp-row-deva (English row) / bp-row-name-en (Language row) sit in
     column 1, directly under the row 1 name.
   - bp-row-chips spans columns 2 through end, so chips line up under
     the meaning column above regardless of how long the row 2 first
     cell is. */
.bp-row-deva,
.bp-row-name-en {
    grid-row: 2; grid-column: 1;
    min-width: 0;
}
.bp-row-deva {
    font-size: .82rem; font-weight: 500; color: var(--bp-text-3);
    font-family: 'Noto Sans', sans-serif; line-height: 1.25;
}
.bp-row-chips {
    grid-row: 2; grid-column: 2 / -1;
    display: flex; flex-wrap: wrap; gap: .35rem; align-items: center;
    min-width: 0;
}
.bp-row-chips .bp-hbadge {
    font-size: .65rem; padding: .15rem .5rem; line-height: 1.3;
}

/* Bump list-view share + heart to match the card-view 36px target so the
   two view modes feel like the same control. */
.bp-row-share { width: 36px; height: 36px; }
.bp-row-fav { width: 36px; height: 36px; font-size: 1.25rem; }

/* Mobile: shrink chip text so the strip fits a narrow viewport. */
@media (max-width: 640px) {
    .bp-card-footer--chips .bp-hbadge,
    .bp-row-chips .bp-hbadge { font-size: .62rem; padding: .15rem .45rem; }
    .bp-card-footer--chips .bp-hbadge svg,
    .bp-row-chips .bp-hbadge svg { width: 9px; height: 9px; }
}

/* --- END OF DESIGN SYSTEM --- */

/* =================================================================
   bachpan-browse.css — Browse listing styles
   ================================================================= */

/* ── Gender toggle ── */

.gender-toggle {
    display: inline-flex;
    border-radius: 8px;
    overflow: hidden;
    border: 1.5px solid var(--bn-border, #e9ecef);
}

.gender-toggle__btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 18px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    color: #495057;
    background: #f8f9fa;
    border: none;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
}

.gender-toggle__btn:hover {
    background: #e9ecef;
    color: var(--bn-text, #212529);
}

.gender-toggle__btn--boy-active {
    background: var(--bn-primary, #0077B6);
    color: #ffffff;
}

.gender-toggle__btn--boy-active:hover {
    background: var(--bn-primary-dk, #005a8e);
    color: #ffffff;
}

.gender-toggle__btn--girl-active {
    background: var(--bn-secondary, #FF6B6B);
    color: #ffffff;
}

.gender-toggle__btn--girl-active:hover {
    background: var(--bn-secondary-dk, #e05555);
    color: #ffffff;
}

/* ── Browse page header ── */

.browse-header {
    margin-bottom: 20px;
}

.browse-header__title {
    font-size: clamp(1.4rem, 3vw, 1.9rem);
    font-weight: 800;
    color: var(--bn-text, #212529);
    margin-bottom: 4px;
    line-height: 1.2;
}

.browse-header__meta {
    font-size: 0.78rem;
    color: var(--bn-text-muted, #6c757d);
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 6px;
}

/* ── Hub cards (Religion / Language) ── */

.hub-card {
    border-radius: 14px !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
    background: #ffffff;
}

.hub-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 28px rgba(0,119,182,0.13) !important;
}

.hub-card__script {
    width: 72px;
    height: 72px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    font-family: 'Noto Sans', sans-serif;
    font-weight: 700;
}

/* ── Syllable Bar ── */

.sb {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px 16px;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid var(--bn-border, #e9ecef);
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    margin-bottom: 20px;
}

.sb__label {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--bn-text-muted, #6c757d);
    text-transform: uppercase;
    letter-spacing: 0.05rem;
    display: flex;
    align-items: center;
    gap: 5px;
}

.sb__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.sb__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    padding: 0 14px;
    border-radius: 8px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none;
    border: 1.5px solid var(--bn-border, #e9ecef);
    background: #f8f9fa;
    color: #495057;
    transition: all 0.12s ease;
    white-space: nowrap;
    min-width: 48px;
}

.sb__btn--all {
    min-width: 44px;
    font-size: 0.78rem;
}

.sb--boy .sb__btn:hover {
    background: var(--bn-primary, #0077B6);
    border-color: var(--bn-primary, #0077B6);
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(0,119,182,0.25);
}

.sb--girl .sb__btn:hover {
    background: var(--bn-secondary, #FF6B6B);
    border-color: var(--bn-secondary, #FF6B6B);
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(255,107,107,0.25);
}

.sb--boy .sb__btn--active {
    background: var(--bn-primary, #0077B6);
    border-color: var(--bn-primary, #0077B6);
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(0,119,182,0.35);
}

.sb--girl .sb__btn--active {
    background: var(--bn-secondary, #FF6B6B);
    border-color: var(--bn-secondary, #FF6B6B);
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(255,107,107,0.35);
}

@media (max-width: 767.98px) {
    .sb {
        padding: 10px 12px;
        gap: 6px;
        border-radius: 8px;
    }

    .sb__btn {
        height: 32px;
        padding: 0 11px;
        font-size: 0.77rem;
        border-radius: 6px;
    }
}

/* ── Mobile ── */

@media (max-width: 767.98px) {
    .browse-header__title {
        font-size: 1.3rem;
    }
}


/* ==========================================================================
   Saved Names Dropdown — bachpan-saved-dropdown.css
   BEM naming. Uses existing CSS variables, does not redefine them.
   ========================================================================== */

/* Heart button in nav — sized & styled to match .nav-icon-btn so the search,
   favourites and recently-viewed buttons in the nav-right row visually line up. */
.bp-heart-btn {
    position: relative;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: none;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .15s;
}
.bp-heart-btn:hover,
.bp-heart-btn--open {
    background: rgba(255,255,255,.12);
}
.bp-heart-btn svg {
    width: 18px;
    height: 18px;
    color: #fff;
}

/* Badge */
.bp-heart-badge {
    position: absolute;
    top: -2px;
    right: -2px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: var(--r-full);
    background: var(--bp-register);
    border: 2px solid var(--bp-nav);
    color: #fff;
    font-size: .58rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

/* Dropdown container */
.sd {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 360px;
    background: var(--bp-surface);
    border: 1px solid var(--bp-border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-lg);
    z-index: 500;
    overflow: hidden;
    display: none;
    animation: sdDropIn .16s ease-out;
}
.sd--open {
    display: block;
}
@keyframes sdDropIn {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Arrow */
.sd::before {
    content: '';
    position: absolute;
    top: -7px;
    right: 18px;
    width: 12px;
    height: 12px;
    background: var(--bp-surface);
    border-left: 1px solid var(--bp-border);
    border-top: 1px solid var(--bp-border);
    transform: rotate(45deg);
    z-index: 1;
}

/* Header */
.sd__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .75rem 1rem;
    border-bottom: 1px solid var(--bp-border);
    position: relative;
    z-index: 2;
    background: var(--bp-surface);
}
.sd__title {
    font-size: .88rem;
    font-weight: 700;
}
.sd__count {
    font-size: .65rem;
    font-weight: 700;
    background: var(--bp-nav);
    color: #fff;
    padding: .12rem .5rem;
    border-radius: var(--r-full);
}
.sd__manage {
    font-size: .72rem;
    color: var(--bp-nav);
    font-weight: 600;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: .2rem;
}
.sd__manage:hover {
    color: var(--bp-register);
}
.sd__manage svg {
    width: 10px;
    height: 10px;
}

/* Scrollable list */
.sd__list {
    max-height: 264px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--bp-border) transparent;
}
.sd__list::-webkit-scrollbar {
    width: 4px;
}
.sd__list::-webkit-scrollbar-thumb {
    background: var(--bp-border-md);
    border-radius: 2px;
}

/* Name row */
.sd__row {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .65rem 1rem;
    border-bottom: 1px solid var(--bp-border);
    cursor: pointer;
    transition: background .1s;
    text-decoration: none;
    color: inherit;
}
.sd__row:last-child {
    border-bottom: none;
}
.sd__row:hover {
    background: var(--bp-accent-lt);
}

/* Gender stripe */
.sd__stripe {
    width: 3px;
    height: 36px;
    border-radius: 2px;
    flex-shrink: 0;
}

/* Name info */
.sd__info {
    flex: 1;
    min-width: 0;
}
.sd__name-line {
    display: flex;
    align-items: baseline;
    gap: .4rem;
    margin-bottom: .12rem;
}
.sd__name {
    font-size: .85rem;
    font-weight: 700;
}
.sd__deva {
    font-family: 'Noto Sans', sans-serif;
    font-size: .7rem;
    color: var(--bp-text-3);
}
.sd__meta {
    font-size: .68rem;
    color: var(--bp-text-3);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Actions (visible on hover) */
.sd__actions {
    display: flex;
    gap: .25rem;
    opacity: 0;
    transition: opacity .15s;
}
.sd__row:hover .sd__actions {
    opacity: 1;
}
.sd__action {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1px solid var(--bp-border-md);
    background: var(--bp-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .15s;
    position: relative;
}
.sd__action:hover {
    border-color: var(--bp-nav);
    background: var(--bp-accent-lt);
}
.sd__action--remove:hover {
    border-color: #C0392B;
    background: #FEF0EE;
}
.sd__action svg {
    width: 11px;
    height: 11px;
    color: var(--bp-text-3);
}
.sd__action:hover svg {
    color: var(--bp-nav);
}
.sd__action--remove:hover svg {
    color: #C0392B;
}

/* Tooltip */
.sd__action::after {
    content: attr(data-tip);
    position: absolute;
    bottom: calc(100% + 4px);
    left: 50%;
    transform: translateX(-50%);
    background: #1A2535;
    color: #fff;
    font-size: .58rem;
    white-space: nowrap;
    padding: .15rem .45rem;
    border-radius: 3px;
    opacity: 0;
    pointer-events: none;
    transition: opacity .1s;
}
.sd__action:hover::after {
    opacity: 1;
}

/* Footer */
.sd__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .65rem 1rem;
    background: var(--bp-bg);
    border-top: 1px solid var(--bp-border);
}
.sd__view-all {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: .78rem;
    font-weight: 700;
    color: var(--bp-nav);
    text-decoration: none;
    transition: color .12s;
}
.sd__view-all:hover {
    color: var(--bp-register);
}
.sd__view-all svg {
    width: 13px;
    height: 13px;
}

/* Empty state */
.sd__empty {
    padding: 1.75rem 1rem;
    text-align: center;
}
.sd__empty-icon {
    font-size: 2rem;
    margin-bottom: .6rem;
    opacity: .35;
}
.sd__empty-title {
    font-size: .85rem;
    font-weight: 700;
    color: var(--bp-text-2);
    margin-bottom: .3rem;
}
.sd__empty-text {
    font-size: .75rem;
    color: var(--bp-text-3);
    line-height: 1.6;
}

/* Mobile responsive */
@media (max-width: 480px) {
    .sd {
        position: fixed;
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        border-radius: var(--r-lg) var(--r-lg) 0 0;
        max-height: 80vh;
        animation: sdSlideUp .2s ease-out;
    }
    .sd::before {
        display: none;
    }
    @keyframes sdSlideUp {
        from { transform: translateY(100%); }
        to   { transform: translateY(0); }
    }
    .sd__list {
        max-height: 50vh;
    }
    .sd__actions {
        opacity: 1;
    }
}

/* ============================================================
   Recently Viewed Names — nav-row icon + slide-in drawer
   Mirrors the bachpan-recently-viewed.html mock: the icon lives
   between Favourites and the user avatar on the bp-nav row, and
   reuses the existing .nav-icon-btn base styling.
   ============================================================ */

/* ── Nav-row icon — only the open-state + count badge are new;
       size / hover come from .nav-icon-btn in bachpan-design-system.css. ── */
.bp-rv-btn.is-open { background: rgba(255, 255, 255, .18); }

.bp-rv-badge {
    position: absolute;
    top: -2px;
    right: -2px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 999px;
    background: #E8920C;
    border: 2px solid #0077B6;
    color: #fff;
    font-size: .58rem;
    font-weight: 700;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bp-rv-badge[hidden] { display: none; }

/* ── Overlay ── */
.drawer-overlay {
    position: fixed;
    inset: 0;
    z-index: 300;
    background: rgba(28, 43, 58, .35);
    display: none;
    animation: rvFadeIn .18s ease-out;
}

.drawer-overlay.is-open { display: block; }

@keyframes rvFadeIn { from { opacity: 0; } to { opacity: 1; } }

/* ── Drawer shell ── */
.rv-drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 400;
    width: 380px;
    max-width: 100vw;
    background: #FFFFFF;
    box-shadow: -4px 0 32px rgba(0, 0, 0, .15);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform .25s cubic-bezier(.4, 0, .2, 1);
    visibility: hidden;
}

.rv-drawer.is-open {
    transform: translateX(0);
    visibility: visible;
}

@media (max-width: 600px) {
    .rv-drawer {
        top: auto;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 80vh;
        border-radius: 14px 14px 0 0;
        box-shadow: 0 -4px 32px rgba(0, 0, 0, .15);
        transform: translateY(100%);
    }
    .rv-drawer.is-open { transform: translateY(0); }
    .rv-drawer::before {
        content: '';
        display: block;
        width: 36px;
        height: 4px;
        background: #D0CBC3;
        border-radius: 2px;
        margin: .65rem auto .1rem;
        flex-shrink: 0;
    }
}

/* ── Header ── */
.rv-head {
    padding: .9rem 1.1rem .75rem;
    border-bottom: 1px solid #EAE6E1;
    flex-shrink: 0;
}

.rv-head__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: .5rem;
}

.rv-head__title {
    font-size: .9rem;
    font-weight: 700;
    color: #1A1A1A;
    display: flex;
    align-items: center;
    gap: .45rem;
}

.rv-head__icon {
    width: 16px;
    height: 16px;
    color: #0077B6;
}

.rv-head__close {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1.5px solid #D0CBC3;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .15s;
    padding: 0;
}

.rv-head__close:hover { border-color: #1A1A1A; }

.rv-head__close svg {
    width: 12px;
    height: 12px;
    color: #585450;
}

/* ── Sync pill ── */
.rv-pill {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    padding: .15rem .58rem;
    border-radius: 999px;
    font-size: .65rem;
    font-weight: 600;
    border: 1px solid;
}

.rv-pill--synced  { background: #E2F6EB; color: #0F5A30; border-color: #6FD0A0; }
.rv-pill--local   { background: #FFF4E0; color: #7A3C00; border-color: #FFD88A; }

/* ── Search ── */
.rv-search {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: #FAFAF7;
    border: 1.5px solid #D0CBC3;
    border-radius: 999px;
    padding: .32rem .75rem;
    transition: border-color .15s;
}

.rv-search:focus-within { border-color: #0077B6; }

.rv-search svg {
    width: 13px;
    height: 13px;
    color: #9A948E;
    flex-shrink: 0;
}

/* Visually hidden label (accessibility) */
.rv-search__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.rv-search__input {
    border: none;
    background: transparent;
    outline: none;
    font-size: .75rem;
    font-family: 'Poppins', sans-serif;
    color: #1A1A1A;
    flex: 1;
    width: 100%;
}

.rv-search__input::placeholder { color: #9A948E; }

/* ── Actions row ── */
.rv-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-top: .5rem;
}

.rv-actions__count {
    font-size: .7rem;
    color: #9A948E;
}

.rv-actions__count span {
    color: #0077B6;
    font-weight: 600;
}

.rv-actions__clear {
    margin-left: auto;
    font-size: .7rem;
    font-weight: 600;
    color: #9A948E;
    cursor: pointer;
    border: none;
    background: none;
    font-family: 'Poppins', sans-serif;
    display: flex;
    align-items: center;
    gap: .2rem;
    transition: color .12s;
}

.rv-actions__clear[hidden] { display: none; }

.rv-actions__clear:hover { color: #C0392B; }

.rv-actions__clear svg {
    width: 11px;
    height: 11px;
}

/* ── Scrollable body ── */
.rv-body {
    flex: 1;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #D0CBC3 transparent;
}

.rv-body::-webkit-scrollbar { width: 4px; }

.rv-body::-webkit-scrollbar-thumb {
    background: #D0CBC3;
    border-radius: 2px;
}

/* ── Day group ── */
.rv-group { padding: .75rem 1.1rem .35rem; }

.rv-group__label {
    font-size: .62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: #9A948E;
    display: flex;
    align-items: center;
    gap: .4rem;
    margin-bottom: .5rem;
}

.rv-group__label::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #EAE6E1;
}

/* ── Name row ── */
.rv-row {
    display: flex;
    align-items: center;
    gap: .65rem;
    padding: .55rem .65rem;
    border-radius: 10px;
    cursor: pointer;
    transition: all .15s;
    position: relative;
    margin-bottom: .25rem;
    text-decoration: none;
    color: inherit;
}

.rv-row:hover { background: #FAFAF7; }
.rv-row:hover .rv-row__remove { opacity: 1; }

.rv-row__stripe {
    width: 3px;
    border-radius: 2px;
    align-self: stretch;
    flex-shrink: 0;
}


.rv-row__info {
    flex: 1;
    min-width: 0;
}

.rv-row__name-line {
    display: flex;
    align-items: baseline;
    gap: .4rem;
    margin-bottom: .08rem;
}

.rv-row__name {
    font-size: .88rem;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #3D82C4;
}

.rv-row__name--girl { color: #B5294E; }

.rv-row__deva {
    font-family: 'Noto Sans Devanagari', 'Noto Sans', sans-serif;
    font-size: .72rem;
    color: #9A948E;
}

.rv-row__meaning {
    font-size: .68rem;
    color: #585450;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: .2rem;
}

.rv-row__meta {
    display: flex;
    gap: .3rem;
    align-items: center;
}

.rv-row__badge {
    font-size: .58rem;
    font-weight: 600;
    padding: .08rem .38rem;
    border-radius: 999px;
    border: 1px solid;
}

.rv-row__badge--rel   { background: #FFF4E0; color: #7A3C00; border-color: #FFD88A; }
.rv-row__badge--rashi { background: #F0EEF8; color: #534AB7; border-color: #C9C4ED; }

.rv-row__time {
    font-size: .6rem;
    color: #9A948E;
    flex-shrink: 0;
    white-space: nowrap;
}

.rv-row__actions {
    display: flex;
    gap: .22rem;
    align-items: center;
    flex-shrink: 0;
}

.rv-row__remove {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 1px solid #D0CBC3;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #9A948E;
    transition: all .14s;
    opacity: 0;
    padding: 0;
}

.rv-row__remove:hover {
    color: #C0392B;
    border-color: #C0392B;
    background: #FEF0EE;
}

.rv-row__remove svg {
    width: 10px;
    height: 10px;
}

/* ── Empty state ── */
.rv-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 1.5rem;
    text-align: center;
    flex: 1;
}

.rv-empty__icon {
    font-size: 2.5rem;
    margin-bottom: .75rem;
    opacity: .5;
}

.rv-empty__title {
    font-size: .88rem;
    font-weight: 600;
    color: #585450;
    margin-bottom: .35rem;
}

.rv-empty__sub {
    font-size: .75rem;
    color: #9A948E;
    line-height: 1.6;
}

/* ── Footer ── */
.rv-foot {
    padding: .65rem 1.1rem;
    border-top: 1px solid #EAE6E1;
    background: #FAFAF7;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
}

.rv-foot[hidden] { display: none; }

.rv-foot__tip {
    font-size: .65rem;
    color: #9A948E;
    line-height: 1.45;
    flex: 1;
    display: inline-flex;
    align-items: center;
    gap: .25rem;
}

.rv-foot__tip svg {
    width: 11px;
    height: 11px;
    color: #0077B6;
}

.rv-foot__login {
    color: #0077B6;
    font-weight: 600;
    margin: 0 .25rem;
}

.rv-foot__close {
    height: 32px;
    padding: 0 .9rem;
    border-radius: 999px;
    border: 1.5px solid #D0CBC3;
    background: transparent;
    font-size: .72rem;
    font-weight: 600;
    cursor: pointer;
    font-family: 'Poppins', sans-serif;
    color: #585450;
    transition: all .15s;
    white-space: nowrap;
}

.rv-foot__close:hover {
    border-color: #0077B6;
    color: #0077B6;
}

/* ══ BACHPAN UTILITY CLASSES ═══════════════════════════════════════════════ */
/* Replaces repeated inline styles across Razor views.                       */
/* Naming convention: bp-{property-shorthand}                                */

/* ── Sidebar / Filter drawer header ─────────────────────────────────────── */
.bp-sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: .75rem;
}
.bp-sidebar-title {
    font-size: .85rem;
    font-weight: 700;
}
.bp-btn-close-plain {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.2rem;
    color: var(--bp-text-2);
}

/* ── Section spacing ────────────────────────────────────────────────────── */
.bp-section-padding { padding-top: 32px; padding-bottom: 56px; }
.bp-mb-sm { margin-bottom: .75rem; }
.bp-mb-md { margin-bottom: .85rem; }
.bp-mb-1  { margin-bottom: 1rem; }
.bp-mb-lg { margin-bottom: 1.5rem; }
.bp-mt-sm { margin-top: .75rem; }
.bp-mt-lg { margin-top: 1.5rem; }

/* ── Layout ─────────────────────────────────────────────────────────────── */
.bp-text-center { text-align: center; }
.bp-relative { position: relative; }
.bp-hidden { display: none; }

/* ── Content containers ─────────────────────────────────────────────────── */
.bp-container-sm { max-width: 500px; }
.bp-container-md { max-width: 560px; margin: 0 auto; }
.bp-container-lg { max-width: 640px; }
.bp-container-page { max-width: 1100px; margin: 0 auto; padding: 2rem 1.25rem; }
.bp-container-form { max-width: 720px; margin: 0 auto; }
@media (max-width: 576px) {
    .bp-container-sm, .bp-container-md, .bp-container-lg,
    .bp-container-page, .bp-container-form { max-width: 100%; }
}

/* ── Typography ─────────────────────────────────────────────────────────── */
.bp-fw-600 { font-weight: 600; }
.bp-icon-20 { font-size: 20px; }
.bp-icon-22 { font-size: 22px; }
.bp-hero-number { font-size: 3rem; }
.bp-no-underline { text-decoration: none; }
.bp-flex-1 { flex: 1; }
.bp-chip-pad { padding: .4rem .45rem; }
.bp-chip-pad-sm { padding: .3rem .4rem; }
.bp-rashi-accent { color: var(--bp-rashi); font-weight: 600; }
.bp-mb-dot85 { margin-bottom: .85rem; }
.bp-pad-4-12 { padding: 4px 12px; }

/* ── Dynamic color via CSS custom properties ────────────────────────────── */
.bp-icon-badge {
    background: var(--icon-bg);
    color: var(--icon-color);
}

/* ── Error / validation ─────────────────────────────────────────────────── */
.bp-text-error { color: #C0392B; }
.bp-bg-error { background: #C0392B; }
.bp-bg-error-light { background: #FDF0EF; }

/* ── Empty state ────────────────────────────────────────────────────────── */
.bp-empty-state {
    text-align: center;
    padding: 3rem 1rem;
}

/* ── Language detail page ──────────────────────────────────────────────── */
.bp-lang-context-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .6rem 1rem;
    background: #F0F4FF;
    border: 1px solid #D6E0F5;
    border-radius: 8px;
    font-size: .85rem;
    margin-bottom: 1rem;
}
.bp-lang-context-link {
    font-weight: 600;
    color: var(--bp-accent, #0077B6);
    text-decoration: none;
}
.bp-lang-context-link:hover { text-decoration: underline; }

.bp-hero-name-native {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: .25rem;
}
.bp-hero-english-label {
    display: inline-block;
    font-size: .85rem;
    color: var(--bp-text-2, #666);
    background: var(--bp-bg-2, #F5F5F5);
    padding: .15rem .6rem;
    border-radius: 4px;
    margin-bottom: .75rem;
}
.bp-meaning-toggle-chip {
    display: inline-block;
    margin-top: .4rem;
    padding: .2rem .6rem;
    font-size: .75rem;
    font-weight: 600;
    border: 1px solid var(--bp-accent, #0077B6);
    color: var(--bp-accent, #0077B6);
    background: transparent;
    border-radius: 4px;
    cursor: pointer;
}
.bp-meaning-toggle-chip:hover { background: var(--bp-accent, #0077B6); color: #fff; }
.bp-meaning-fallback-tag {
    font-size: .75rem;
    color: var(--bp-text-2, #888);
    font-style: italic;
    margin-left: .4rem;
}
.bp-lang-card--current {
    border-color: var(--bp-accent, #0077B6);
    box-shadow: 0 0 0 2px rgba(0,119,182,.2);
}

/* ── Mobile icon size utility ─────────────────────────────────────────── */
.bp-icon-24 { font-size: 24px; }
.bp-icon-13 { font-size: 13px; }

/* ── Mobile nav section label ─────────────────────────────────────────── */
.bp-mobnav-label {
    font-size: 11px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.08em; color: var(--bp-text-secondary);
}
.bp-mobnav-section { padding: 12px 16px; border-bottom: 1px solid var(--bp-border-light); }

/* ── Mobile responsive overrides ──────────────────────────────────────── */
@media (max-width: 480px) {
    .bp-hero-name-native { font-size: 2rem; }
    .bp-section-padding { padding-top: 20px; padding-bottom: 32px; }
}
@media (max-width: 360px) {
    .bp-nav-dropdown { min-width: auto !important; }
}

/* ── Internal Links Section ──────────────────────────────────────────── */
.bp-internal-links { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--bp-border-light, #e5e7eb); }
.bp-il-block { margin-bottom: 1.25rem; }
.bp-il-title { font-size: .9rem; font-weight: 600; margin-bottom: .6rem; display: flex; align-items: center; gap: .5rem; }
.bp-il-see-all { font-size: .78rem; font-weight: 400; color: var(--bp-nav, #0077b6); text-decoration: none; }
.bp-il-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.bp-il-chip { display: inline-block; padding: .3rem .7rem; font-size: .78rem; border: 1px solid var(--bp-border-light, #e5e7eb); border-radius: 1rem; color: var(--bp-text, #333); text-decoration: none; transition: background .15s, border-color .15s; }
.bp-il-chip:hover { background: var(--bp-accent-lt, #e3f1fa); border-color: var(--bp-nav, #0077b6); color: var(--bp-nav, #0077b6); }
.bp-il-chip--tag { background: #f7f5ff; border-color: #e0d8f8; color: #534ab7; }
.bp-il-chip--tag:hover { background: #ece8ff; border-color: #534ab7; }
.bp-il-alpha { display: flex; flex-wrap: wrap; gap: .3rem; }
.bp-il-letter { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; font-size: .8rem; font-weight: 600; border: 1px solid var(--bp-border-light, #e5e7eb); border-radius: .35rem; color: var(--bp-text, #333); text-decoration: none; transition: background .15s; }
.bp-il-letter:hover { background: var(--bp-accent-lt, #e3f1fa); color: var(--bp-nav, #0077b6); }
.bp-il-name-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: .5rem; }
.bp-il-name-link { display: block; padding: .45rem .65rem; border: 1px solid var(--bp-border-light, #e5e7eb); border-radius: .35rem; text-decoration: none; transition: border-color .15s, background .15s; }
.bp-il-name-link:hover { border-color: var(--bp-nav, #0077b6); background: var(--bp-accent-lt, #e3f1fa); }
.bp-il-name { display: block; font-size: .85rem; font-weight: 600; color: var(--bp-nav, #0077b6); }
.bp-il-meaning { display: block; font-size: .75rem; color: #666; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ── Header logout form — styles the <button> inside .bp-nav-dropdown so it ── */
/* ── matches the adjacent <a> menu items. Logout must POST (antiforgery).  ── */
.bp-nav-dropdown .bp-logout-form { margin: 0; padding: 0; display: block; }
.bp-nav-dropdown .bp-logout-btn {
    display: flex;
    align-items: center;
    gap: .5rem;
    width: 100%;
    padding: .5rem .75rem;
    background: transparent;
    border: 0;
    font: inherit;
    color: inherit;
    text-align: left;
    cursor: pointer;
}
.bp-nav-dropdown .bp-logout-btn:hover,
.bp-nav-dropdown .bp-logout-btn:focus {
    background: var(--bp-accent-lt, #e3f1fa);
    color: var(--bp-nav, #0077b6);
    outline: none;
}

/* ── .bp-nav-dropdown show/hide — the class is used all over _Header.cshtml ── */
/* ── (Browse Names, Name Generator, Account, etc.) but no base CSS existed. ── */
.bp-nav-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    padding: .4rem 0;
    background: #fff;
    border: 1px solid var(--bp-border-light, #e5e7eb);
    border-radius: .5rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .10);
    z-index: 600;
    display: none;
}
.bp-nav-item:hover > .bp-nav-dropdown,
.bp-nav-item:focus-within > .bp-nav-dropdown {
    display: block;
}
.bp-nav-dropdown > a {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem .75rem;
    color: var(--bp-text-primary, #1b1b1b);
    text-decoration: none;
    font-size: .9rem;
    white-space: nowrap;
}
.bp-nav-dropdown > a:hover,
.bp-nav-dropdown > a:focus {
    background: var(--bp-accent-lt, #e3f1fa);
    color: var(--bp-nav, #0077b6);
    outline: none;
}

/* ── User-dropdown Sign Out — it's a <form><button> so default button styles ─ */
/* ── must be reset to look identical to the sibling .bp-user-dd-link anchors.  */
.bp-user-dd-logout-form { margin: 0; padding: 0; display: block; }
.bp-user-dd-logout-form button.bp-user-dd-link {
    width: 100%;
    background: transparent;
    border: 0;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

/* ── Cloudflare Turnstile widget spacing ─────────────────────────────────── */
/* Rendered by _Turnstile.cshtml partial; consistent vertical rhythm across forms. */
.turnstile-wrapper {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

/* ── Silktide cookie launcher icon — hidden globally ─────────────────────── */
/* The library renders a floating cookie button in the bottom-left corner.
   We hide it because the footer "Cookie Preferences" link is the single
   entry-point for re-opening the prefs modal. The element stays in the DOM
   so bachpan-ui.js can still trigger its click() handler. */
#silktide-cookie-icon { display: none !important; }

/* ── Mobile horizontal-scroll guard ──────────────────────────────────────── */
/* Wide rows / overflowing widgets occasionally push the viewport past 100vw
   on small screens. Clip horizontally on html+body so a stray overflow can
   never reveal the page-level scrollbar; legitimate horizontal scrolling is
   still possible inside containers that opt in via overflow-x:auto. */
html, body { overflow-x: hidden; max-width: 100vw; }

/* ── Additional utilities (added during inline-style cleanup) ─────────────
   These are the patterns that turned up in ≥3 views during the 2026-05-19
   audit. Naming follows the existing .bp-{property}-{value} convention. */
.bp-mt-1               { margin-top: 1rem; }
.bp-inline-flex-gap-sm { display: inline-flex; align-items: center; gap: .3rem; }
.bp-link-reset         { color: inherit; text-decoration: none; }

/* ── Icon sprite — replaces the 1.7 MiB Phosphor CDN CSS. ──────────────── */
/* Used by every <svg class="bp-icon"><use href="/icons/bp-icons.svg#name"/></svg>. */
/* width:1em / height:1em makes the glyph follow the parent's font-size,    */
/* matching the inline-icon behaviour of the old <i class="ph-X"> tags.     */
/* vertical-align:-0.125em aligns the icon baseline with adjacent text.     */
/* fill:currentColor lets the SVG inherit the surrounding text colour.      */
.bp-icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    fill: currentColor;
    flex-shrink: 0;
}
/* Size variants — adjust the icon glyph relative to the surrounding text. */
/* Width/height move together because .bp-icon is always square. The use of   */
/* em (not px) means each variant still scales with the parent's font-size.   */
.bp-icon-lg { width: 1.4em; height: 1.4em; vertical-align: -0.25em; }
.bp-icon-xl { width: 1.75em; height: 1.75em; vertical-align: -0.35em; }


/* ==========================================================================
   Site Feedback Widget — BEM, design-system tokens only.
   Block:    .bp-fb
   Elements: __launcher, __overlay, __modal, __header, __title, __close,
             __progress, __progress-fill, __panel, __sub, __emoji-row,
             __emoji, __emoji-face, __emoji-label, __chip-group, __chip-label,
             __chips, __chip, __recap, __recap-face, __recap-text, __textarea,
             __success-face, __success-title, __success-sub, __footer,
             __footer-right, __skip, __btn, __btn-icon, __hint, __launcher-icon,
             __launcher-text
   Modifiers: --active, --selected, --on, --primary, --ghost, --success, --submit
   ========================================================================== */

.bp-fb { font-family: 'Poppins', 'Noto Sans', sans-serif; }

/* ── Launcher ─────────────────────────────────────────────────────────────
   Icon-only floating action button. The bp-fb__sr-only span keeps the
   label exposed to assistive tech; sighted users see the glyph + title. */
.bp-fb__launcher {
    position: fixed;
    bottom: 1.75rem;
    right: 1.75rem;
    z-index: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--bp-nav);
    color: #fff;
    width: 48px;
    height: 48px;
    padding: 0;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 18px rgba(0, 119, 182, .38);
    transition: transform var(--bp-ease), box-shadow var(--bp-ease);
}

.bp-fb__launcher:hover { transform: translateY(-2px); box-shadow: 0 6px 24px rgba(0, 119, 182, .45); }

.bp-fb__launcher::after {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 2px solid rgba(0, 119, 182, .28);
    animation: bp-fb-pulse 2.5s ease-in-out infinite;
    pointer-events: none;
}

.bp-fb__launcher-icon { width: 20px; height: 20px; }

/* Visually-hidden label — accessible to screen readers, removed from layout. */
.bp-fb__sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@keyframes bp-fb-pulse {
    0%, 100% { opacity: .6; transform: scale(1); }
    50%      { opacity: 0;  transform: scale(1.1); }
}

/* ── Overlay + modal ────────────────────────────────────────────────────── */
.bp-fb__overlay {
    position: fixed;
    inset: 0;
    z-index: 900;
    background: rgba(28, 43, 58, .5);
    backdrop-filter: blur(2px);
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding: 1.75rem;
    animation: bp-fb-fade .18s ease-out;
}

.bp-fb__overlay[hidden] { display: none; }

@keyframes bp-fb-fade { from { opacity: 0; } to { opacity: 1; } }

.bp-fb__modal {
    background: var(--bp-surface);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-mega);
    width: 100%;
    max-width: 400px;
    overflow: hidden;
    animation: bp-fb-slide-up .2s ease-out;
}

@keyframes bp-fb-slide-up {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}

@media (max-width: 500px) {
    .bp-fb__overlay { padding: .6rem; align-items: flex-end; justify-content: center; }
    .bp-fb__modal   { max-width: 100%; }
}

/* ── Header ─────────────────────────────────────────────────────────────── */
.bp-fb__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .85rem 1.25rem .6rem;
}

.bp-fb__title {
    font-size: .95rem;
    font-weight: 700;
    color: var(--bp-text-1);
    margin: 0;
}

.bp-fb__close {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1.5px solid var(--bp-border-md);
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    transition: border-color var(--bp-ease);
}

.bp-fb__close:hover { border-color: var(--bp-text-1); }
.bp-fb__close svg   { width: 11px; height: 11px; color: var(--bp-text-2); }

/* ── Progress bar ───────────────────────────────────────────────────────── */
.bp-fb__progress      { height: 2px; background: var(--bp-border); }
.bp-fb__progress-fill { height: 100%; background: var(--bp-nav); transition: width .3s ease; width: 0%; }

/* ── Step panels ────────────────────────────────────────────────────────── */
.bp-fb__panel { display: none; padding: 1rem 1.25rem; }
.bp-fb__panel--active { display: block; animation: bp-fb-panel-in .16s ease-out; }
.bp-fb__panel--success { text-align: center; padding: 1.75rem 1.25rem 1.5rem; }

@keyframes bp-fb-panel-in {
    from { opacity: 0; transform: translateX(6px); }
    to   { opacity: 1; transform: translateX(0); }
}

.bp-fb__sub {
    font-size: .8rem;
    color: var(--bp-text-2);
    margin-bottom: .95rem;
    line-height: 1.55;
}

.bp-fb__hint { color: var(--bp-text-3); font-weight: 400; }

/* ── Step 1: emoji ──────────────────────────────────────────────────────── */
.bp-fb__emoji-row {
    display: flex;
    gap: .35rem;
    justify-content: center;
    margin-bottom: .5rem;
}

.bp-fb__emoji {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .28rem;
    cursor: pointer;
    flex: 1;
    padding: .52rem .28rem;
    border-radius: var(--r-md);
    border: 2px solid transparent;
    background: transparent;
    font-family: inherit;
    transition: background-color var(--bp-ease), border-color var(--bp-ease);
}

.bp-fb__emoji:hover { background: var(--bp-bg); border-color: var(--bp-border); }
.bp-fb__emoji--selected { border-color: var(--bp-nav); background: var(--bp-accent-lt); }

.bp-fb__emoji-face {
    font-size: 2rem;
    line-height: 1;
    transition: transform var(--bp-ease);
}

.bp-fb__emoji:hover .bp-fb__emoji-face,
.bp-fb__emoji--selected .bp-fb__emoji-face { transform: scale(1.14); }

.bp-fb__emoji-label {
    font-size: .6rem;
    font-weight: 600;
    color: var(--bp-text-3);
    text-align: center;
    line-height: 1.2;
}

.bp-fb__emoji--selected .bp-fb__emoji-label { color: var(--bp-nav); }

/* ── Step 2: chips ──────────────────────────────────────────────────────── */
.bp-fb__chip-group { margin-bottom: .7rem; }

.bp-fb__chip-label {
    font-size: .62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--bp-text-3);
    margin-bottom: .38rem;
    display: flex;
    align-items: center;
    gap: .38rem;
}

.bp-fb__chip-label::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--bp-border);
}

.bp-fb__chips { display: flex; flex-wrap: wrap; gap: .3rem; }

.bp-fb__chip {
    display: inline-flex;
    align-items: center;
    gap: .2rem;
    padding: .24rem .68rem;
    border-radius: var(--r-full);
    font-size: .72rem;
    font-weight: 500;
    cursor: pointer;
    border: 1.5px solid var(--bp-border-md);
    background: transparent;
    color: var(--bp-text-2);
    font-family: inherit;
    transition: border-color var(--bp-ease), background-color var(--bp-ease), color var(--bp-ease);
    user-select: none;
}

.bp-fb__chip:hover { border-color: var(--bp-nav); color: var(--bp-nav); }
.bp-fb__chip--on   { border-color: var(--bp-nav); background: var(--bp-accent-lt); color: var(--bp-boy-text); font-weight: 600; }

/* ── Step 3: recap + textarea ───────────────────────────────────────────── */
.bp-fb__recap {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem .75rem;
    border-radius: var(--r-md);
    background: var(--bp-bg);
    border: 1px solid var(--bp-border);
    font-size: .72rem;
    color: var(--bp-text-2);
    margin-bottom: .85rem;
}

.bp-fb__recap-face { font-size: 1.1rem; }
.bp-fb__recap-text { font-size: .72rem; color: var(--bp-text-2); }

.bp-fb__textarea {
    width: 100%;
    border: 1.5px solid var(--bp-border-md);
    border-radius: var(--r-md);
    padding: .6rem .8rem;
    font-size: .8rem;
    font-family: inherit;
    color: var(--bp-text-1);
    background: var(--bp-surface);
    outline: none;
    resize: none;
    min-height: 80px;
    line-height: 1.6;
    transition: border-color var(--bp-ease), box-shadow var(--bp-ease);
}

.bp-fb__textarea:focus { border-color: var(--bp-nav); box-shadow: 0 0 0 3px rgba(0, 119, 182, .07); }

/* ── Success ────────────────────────────────────────────────────────────── */
.bp-fb__success-face {
    font-size: 2.75rem;
    margin-bottom: .55rem;
    animation: bp-fb-bounce .4s ease-out;
}

@keyframes bp-fb-bounce {
    0%   { transform: scale(.5); }
    65%  { transform: scale(1.12); }
    100% { transform: scale(1); }
}

.bp-fb__success-title {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: .32rem;
}

.bp-fb__success-sub {
    font-size: .78rem;
    color: var(--bp-text-2);
    line-height: 1.65;
    margin-bottom: 1rem;
}

/* ── Footer ─────────────────────────────────────────────────────────────── */
.bp-fb__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .65rem 1.25rem .82rem;
    border-top: 1px solid var(--bp-border);
    background: var(--bp-bg);
}

.bp-fb__footer[hidden] { display: none; }

.bp-fb__footer-right { display: flex; gap: .38rem; align-items: center; }

.bp-fb__skip {
    font-size: .72rem;
    font-weight: 500;
    color: var(--bp-text-3);
    cursor: pointer;
    border: none;
    background: none;
    font-family: inherit;
    transition: color var(--bp-ease);
}

.bp-fb__skip:hover { color: var(--bp-text-2); }

.bp-fb__btn {
    height: 34px;
    padding: 0 1.1rem;
    border-radius: var(--r-full);
    font-size: .74rem;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    transition: opacity var(--bp-ease), border-color var(--bp-ease), background-color var(--bp-ease);
}

.bp-fb__btn--primary {
    border: none;
    background: var(--bp-nav);
    color: #fff;
}

.bp-fb__btn--primary:hover    { opacity: .9; }
.bp-fb__btn--primary:disabled { opacity: .38; cursor: default; }

.bp-fb__btn--ghost {
    border: 1.5px solid var(--bp-border-md);
    background: transparent;
    color: var(--bp-text-2);
    height: 34px;
    padding: 0 .85rem;
    font-weight: 600;
}

.bp-fb__btn--ghost:hover { border-color: var(--bp-text-2); }

.bp-fb__btn--submit { background: var(--bp-register); }

.bp-fb__btn-icon { width: 12px; height: 12px; }

/* ════════════════════════════════════════════════════════════════════
   Bachpan.com — User preferences modal + profile bar.
   Mirrors Mock HTML/bachpan-preferences.html.
   Relies on the global :root design tokens defined in bachpan-design-system.css.
   ════════════════════════════════════════════════════════════════════ */

/* ── Profile preferences card (logged-in /account/preferences) ─────── */
.bp-pref-section { background: var(--bp-surface); border: 1px solid var(--bp-border); border-radius: var(--r-lg); padding: 1.1rem 1.35rem; margin-bottom: 1rem; box-shadow: var(--shadow-sm); }
.bp-pref-section__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: .85rem; padding-bottom: .7rem; border-bottom: 1px solid var(--bp-border); }
.bp-pref-section__title { font-size: .88rem; font-weight: 700; display: flex; align-items: center; gap: .42rem; }
.bp-pref-section__title svg { width: 15px; height: 15px; color: var(--bp-nav); }
.bp-pref-section__edit { display: inline-flex; align-items: center; gap: .28rem; font-size: .72rem; font-weight: 600; color: var(--bp-nav); cursor: pointer; border: 1.5px solid var(--bp-accent-md); background: var(--bp-accent-lt); padding: .22rem .65rem; border-radius: var(--r-full); transition: all .15s; }
.bp-pref-section__edit:hover { background: var(--bp-nav); color: #fff; border-color: var(--bp-nav); }
.bp-pref-section__edit svg { width: 11px; height: 11px; }

.bp-pref-row { display: flex; align-items: flex-start; gap: .85rem; padding: .55rem 0; border-bottom: 1px solid var(--bp-border); }
.bp-pref-row:last-child { border-bottom: none; }
.bp-pref-row__label { font-size: .72rem; font-weight: 600; color: var(--bp-text-3); min-width: 70px; padding-top: .15rem; }
.bp-pref-row__chips { display: flex; flex-wrap: wrap; gap: .3rem; }

.bp-pref-chip { display: inline-flex; align-items: center; gap: .22rem; padding: .2rem .6rem; border-radius: var(--r-full); font-size: .7rem; font-weight: 600; border: 1px solid; }
.bp-pref-chip--any { background: var(--bp-bg); color: var(--bp-text-2); border-color: var(--bp-border-md); }
.bp-pref-chip--rel-h { background: var(--hindu-lt); color: var(--hindu-text); border-color: var(--hindu-md); }
.bp-pref-chip--rel-m { background: #E4F5ED; color: #0A3D22; border-color: #86D4A8; }
.bp-pref-chip--rel-c { background: #E4EEF8; color: #0A2C58; border-color: #A8C4E8; }
.bp-pref-chip--rel-s { background: #FDF2DF; color: #503A0A; border-color: #D4A85A; }
.bp-pref-chip--rel-j { background: #F0F8F0; color: #164016; border-color: #86C886; }
.bp-pref-chip--rel-b { background: #F5F0FF; color: #3C1599; border-color: #C9B8F5; }
.bp-pref-chip--gen-b { background: var(--bp-boy-lt); color: var(--bp-boy-text); border-color: var(--bp-boy-border); }
.bp-pref-chip--gen-g { background: var(--bp-girl-lt); color: var(--bp-girl-text); border-color: var(--bp-girl-border); }
.bp-pref-chip--lang  { background: var(--bp-rashi-lt); color: var(--bp-rashi); border-color: #C9C4ED; }

/* ── Guest preferences bar (anon visitors) ──────────────────────────── */
.bp-guest-prefs { background: var(--bp-surface); border: 1px solid var(--bp-border); border-radius: var(--r-lg); padding: .85rem 1.1rem; margin-bottom: 1rem; box-shadow: var(--shadow-sm); display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.bp-guest-prefs__icon { color: var(--bp-nav); flex-shrink: 0; }
.bp-guest-prefs__body { flex: 1; min-width: 0; }
.bp-guest-prefs__label { font-size: .72rem; font-weight: 600; color: var(--bp-text-1); margin-bottom: .22rem; }
.bp-guest-prefs__chips { display: flex; flex-wrap: wrap; gap: .28rem; }
.bp-guest-prefs__empty { font-size: .75rem; color: var(--bp-text-3); font-style: italic; }
.bp-guest-prefs__actions { display: flex; gap: .38rem; margin-left: auto; }
.bp-guest-prefs__btn { display: inline-flex; align-items: center; gap: .25rem; height: 32px; padding: 0 .85rem; border-radius: var(--r-full); font-size: .72rem; font-weight: 600; cursor: pointer; transition: all .15s; text-decoration: none; }
.bp-guest-prefs__btn--edit { background: var(--bp-accent-lt); color: var(--bp-nav); border: 1.5px solid var(--bp-accent-md); }
.bp-guest-prefs__btn--edit:hover { background: var(--bp-nav); color: #fff; border-color: var(--bp-nav); }
.bp-guest-prefs__btn--reset { background: transparent; color: var(--bp-text-3); border: 1.5px solid var(--bp-border-md); }
.bp-guest-prefs__btn--reset:hover { border-color: var(--bp-text-2); color: var(--bp-text-2); }
.bp-guest-prefs__btn svg { width: 12px; height: 12px; }

/* ════════════════════════════════════════════════════════════════════
   PREFERENCES MODAL
   ════════════════════════════════════════════════════════════════════ */
.bp-prefmodal { position: fixed; inset: 0; z-index: 900; background: rgba(28,43,58,.55); backdrop-filter: blur(3px); display: none; align-items: center; justify-content: center; padding: 1rem; }
.bp-prefmodal.is-open { display: flex; animation: bpPrefFadeIn .2s ease-out; }
@keyframes bpPrefFadeIn { from { opacity: 0; } to { opacity: 1; } }

.bp-prefmodal__dialog { background: var(--bp-surface); border-radius: var(--r-lg); box-shadow: var(--shadow-lg); width: 100%; max-width: 560px; max-height: 92vh; display: flex; flex-direction: column; animation: bpPrefSlideUp .2s ease-out; }
@keyframes bpPrefSlideUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

.bp-prefmodal__head { background: linear-gradient(135deg, #0B3D6E, var(--bp-nav)); padding: 1.35rem 1.5rem 1.1rem; border-radius: var(--r-lg) var(--r-lg) 0 0; position: relative; overflow: hidden; flex-shrink: 0; }
.bp-prefmodal__head::after { content: ''; position: absolute; right: -20px; top: -20px; width: 140px; height: 140px; border-radius: 50%; border: 20px solid rgba(255,255,255,.05); pointer-events: none; }
.bp-prefmodal__eyebrow { font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.6); margin-bottom: .35rem; }
.bp-prefmodal__title { font-size: 1.15rem; font-weight: 700; color: #fff; margin-bottom: .3rem; line-height: 1.2; }
.bp-prefmodal__sub { font-size: .76rem; color: rgba(255,255,255,.7); line-height: 1.5; }
.bp-prefmodal__close { position: absolute; top: .85rem; right: .85rem; width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.3); background: rgba(255,255,255,.1); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all .15s; }
.bp-prefmodal__close:hover { background: rgba(255,255,255,.22); }
.bp-prefmodal__close svg { width: 12px; height: 12px; color: #fff; }

.bp-prefmodal__body { flex: 1; overflow-y: auto; padding: 1.25rem 1.5rem .5rem; scrollbar-width: thin; scrollbar-color: var(--bp-border-md) transparent; }
.bp-prefmodal__body::-webkit-scrollbar { width: 4px; }
.bp-prefmodal__body::-webkit-scrollbar-thumb { background: var(--bp-border-md); border-radius: 2px; }

.bp-prefmodal__section { margin-bottom: 1.35rem; }
.bp-prefmodal__section:last-child { margin-bottom: .5rem; }
.bp-prefmodal__section-header { display: flex; align-items: center; gap: .5rem; margin-bottom: .78rem; }
.bp-prefmodal__section-icon { width: 32px; height: 32px; border-radius: var(--r-md); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.bp-prefmodal__section-icon svg { width: 15px; height: 15px; }
.bp-prefmodal__section-icon--rel  { background: var(--hindu-lt);     border: 1px solid var(--hindu-md); color: var(--hindu-text); }
.bp-prefmodal__section-icon--gen  { background: var(--bp-boy-lt);    border: 1px solid var(--bp-boy-border); color: var(--bp-boy); }
.bp-prefmodal__section-icon--lang { background: var(--bp-rashi-lt);  border: 1px solid #C9C4ED;       color: var(--bp-rashi); }
.bp-prefmodal__section-label { font-size: .82rem; font-weight: 700; color: var(--bp-text-1); }
.bp-prefmodal__section-hint  { font-size: .65rem; color: var(--bp-text-3); margin-top: .08rem; }

.bp-prefmodal__any { display: flex; align-items: center; gap: .55rem; padding: .52rem .75rem; border-radius: var(--r-md); border: 1.5px solid var(--bp-border-md); background: var(--bp-bg); cursor: pointer; margin-bottom: .6rem; transition: all .15s; user-select: none; }
.bp-prefmodal__any:hover { border-color: var(--bp-nav); }
.bp-prefmodal__any.is-on { border-color: var(--bp-nav); background: var(--bp-accent-lt); }
.bp-prefmodal__check { width: 18px; height: 18px; border-radius: 4px; border: 1.5px solid var(--bp-border-md); background: var(--bp-surface); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all .15s; }
.bp-prefmodal__any.is-on .bp-prefmodal__check { background: var(--bp-nav); border-color: var(--bp-nav); }
.bp-prefmodal__any.is-on .bp-prefmodal__check::after { content: '✓'; font-size: .62rem; color: #fff; font-weight: 700; }
.bp-prefmodal__any-label { font-size: .78rem; font-weight: 600; color: var(--bp-text-2); }
.bp-prefmodal__any.is-on .bp-prefmodal__any-label { color: var(--bp-nav); }
.bp-prefmodal__any-badge { font-size: .6rem; font-weight: 600; padding: .08rem .42rem; border-radius: var(--r-full); background: var(--bp-bg); border: 1px solid var(--bp-border-md); color: var(--bp-text-3); margin-left: .25rem; }
.bp-prefmodal__any-sub { font-size: .65rem; color: var(--bp-text-3); margin-left: auto; }

.bp-prefmodal__or { display: flex; align-items: center; gap: .5rem; font-size: .65rem; font-weight: 600; color: var(--bp-text-3); margin-bottom: .6rem; text-transform: uppercase; letter-spacing: .05em; }
.bp-prefmodal__or::before, .bp-prefmodal__or::after { content: ''; flex: 1; height: 1px; background: var(--bp-border); }

/* ── Religion option grid ── */
.bp-prefmodal__rel-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .42rem; }
@media (max-width: 400px) { .bp-prefmodal__rel-grid { grid-template-columns: repeat(2, 1fr); } }
.bp-prefmodal__rel { display: flex; align-items: center; gap: .52rem; padding: .58rem .72rem; border-radius: var(--r-md); border: 1.5px solid var(--bp-border-md); background: transparent; cursor: pointer; transition: all .15s; text-align: left; font-family: inherit; }
.bp-prefmodal__rel:hover { border-color: var(--bp-nav); background: var(--bp-accent-lt); }
.bp-prefmodal__rel.is-on { border-color: var(--bp-nav); background: var(--bp-accent-lt); }
.bp-prefmodal__rel-icon { font-size: 1.1rem; flex-shrink: 0; line-height: 1; }
.bp-prefmodal__rel-name { font-size: .73rem; font-weight: 600; color: var(--bp-text-1); display: block; line-height: 1.2; }
.bp-prefmodal__rel[data-r="Hindu"].is-on     { background: var(--hindu-lt); border-color: var(--hindu); }
.bp-prefmodal__rel[data-r="Muslim"].is-on    { background: #E4F5ED; border-color: #1A7A4A; }
.bp-prefmodal__rel[data-r="Christian"].is-on { background: #E4EEF8; border-color: #1A4A8A; }
.bp-prefmodal__rel[data-r="Sikh"].is-on      { background: #FDF2DF; border-color: #8B6914; }
.bp-prefmodal__rel[data-r="Jain"].is-on      { background: #F0F8F0; border-color: #2E7A2E; }
.bp-prefmodal__rel[data-r="Buddhist"].is-on  { background: #F5F0FF; border-color: #6B38C0; }

/* ── Gender option grid ── */
.bp-prefmodal__gen-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .42rem; }
.bp-prefmodal__gen { padding: .65rem .55rem; border-radius: var(--r-md); border: 1.5px solid var(--bp-border-md); background: transparent; cursor: pointer; transition: all .15s; text-align: center; font-family: inherit; }
.bp-prefmodal__gen:hover { border-color: var(--bp-nav); }
.bp-prefmodal__gen.is-on { border-color: var(--bp-nav); }
.bp-prefmodal__gen[data-g="Boy"].is-on  { background: var(--bp-boy-lt);  border-color: var(--bp-boy); }
.bp-prefmodal__gen[data-g="Girl"].is-on { background: var(--bp-girl-lt); border-color: var(--bp-girl); }
.bp-prefmodal__gen[data-g="Both"].is-on { background: linear-gradient(135deg, var(--bp-boy-lt), var(--bp-girl-lt)); border-color: var(--bp-rashi); }
.bp-prefmodal__gen-emoji { font-size: 1.55rem; display: block; margin-bottom: .3rem; line-height: 1; }
.bp-prefmodal__gen-name  { font-size: .76rem; font-weight: 600; color: var(--bp-text-1); display: block; }
.bp-prefmodal__gen-sub   { font-size: .6rem; color: var(--bp-text-3); margin-top: .1rem; display: block; }

/* ── Language pills ── */
.bp-prefmodal__lang-grid { display: flex; flex-wrap: wrap; gap: .35rem; }
.bp-prefmodal__lang { display: inline-flex; align-items: center; gap: .28rem; padding: .28rem .72rem; border-radius: var(--r-full); border: 1.5px solid var(--bp-border-md); background: transparent; cursor: pointer; font-size: .72rem; font-weight: 500; color: var(--bp-text-2); transition: all .14s; user-select: none; font-family: inherit; }
.bp-prefmodal__lang:hover { border-color: var(--bp-rashi); color: var(--bp-rashi); }
.bp-prefmodal__lang.is-on { border-color: var(--bp-rashi); background: var(--bp-rashi-lt); color: var(--bp-rashi); font-weight: 600; }
.bp-prefmodal__lang-native { font-family: 'Noto Sans Devanagari', 'Noto Sans', sans-serif; }

/* ── Footer ── */
.bp-prefmodal__foot { display: flex; align-items: center; justify-content: space-between; gap: .65rem; padding: .85rem 1.5rem; border-top: 1px solid var(--bp-border); background: var(--bp-bg); border-radius: 0 0 var(--r-lg) var(--r-lg); flex-shrink: 0; flex-wrap: wrap; }
.bp-prefmodal__info { font-size: .68rem; color: var(--bp-text-3); flex: 1; }
.bp-prefmodal__actions { display: flex; gap: .45rem; align-items: center; }
.bp-prefmodal__skip { height: 36px; padding: 0 1rem; border-radius: var(--r-full); border: 1.5px solid var(--bp-border-md); background: transparent; font-size: .74rem; font-weight: 600; cursor: pointer; color: var(--bp-text-2); transition: all .15s; }
.bp-prefmodal__skip:hover { border-color: var(--bp-text-2); }
.bp-prefmodal__save { height: 36px; padding: 0 1.35rem; border-radius: var(--r-full); border: none; background: var(--bp-nav); color: #fff; font-size: .76rem; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: .3rem; transition: opacity .15s; }
.bp-prefmodal__save:hover { opacity: .9; }
.bp-prefmodal__save:disabled { opacity: .55; cursor: progress; }
.bp-prefmodal__save svg { width: 13px; height: 13px; }

/* ── Success state ── */
.bp-prefmodal__success { display: none; padding: 2.25rem 1.5rem; text-align: center; }
.bp-prefmodal__success.is-on { display: block; animation: bpPrefFadeIn .2s; }
.bp-prefmodal__success-icon { font-size: 2.75rem; margin-bottom: .65rem; animation: bpPrefBounce .4s ease-out; }
@keyframes bpPrefBounce { 0% { transform: scale(.5); } 65% { transform: scale(1.12); } 100% { transform: scale(1); } }
.bp-prefmodal__success-title { font-size: 1.05rem; font-weight: 700; margin-bottom: .35rem; }
.bp-prefmodal__success-sub   { font-size: .78rem; color: var(--bp-text-2); line-height: 1.65; margin-bottom: 1.1rem; }
.bp-prefmodal__success-chips { display: flex; flex-wrap: wrap; gap: .3rem; justify-content: center; margin-bottom: 1.15rem; }
.bp-prefmodal__success-done  { height: 36px; padding: 0 1.35rem; border-radius: var(--r-full); border: none; background: var(--bp-nav); color: #fff; font-size: .76rem; font-weight: 700; cursor: pointer; }

/* Hidden helper — used by the success-state toggle so we don't sprinkle inline styles. */
.bp-prefmodal__hidden { display: none !important; }

/* Page blur when modal open — applied to <body class="bp-prefmodal-open"> */
.bp-prefmodal-open { overflow: hidden; }
.bp-prefmodal-open .bp-page-content { filter: blur(2px); pointer-events: none; }

/* Top-bar preferences shortcut — sits next to the language dropdown. */
.bp-topbar-prefs { display: inline-flex; align-items: center; gap: .3rem; padding: 0 .35rem; height: 22px; border: 1px solid rgba(255,255,255,.18); background: transparent; color: rgba(255,255,255,.78); border-radius: var(--r-full, 999px); font-size: .65rem; font-weight: 600; font-family: inherit; cursor: pointer; transition: all .14s; }
.bp-topbar-prefs:hover { background: rgba(255,255,255,.1); color: #fff; border-color: rgba(255,255,255,.35); }
.bp-topbar-prefs svg { color: inherit; flex-shrink: 0; }

/* =====================================================================
   Launch-announcement popup (Mock HTML/bachpan-launch-popup.html).
   Rendered by Views/Shared/_LaunchPopup.cshtml, controlled by
   wwwroot/js/bp-launch-popup.js. Loaded on every page via _Layout.cshtml.

   Naming: every selector is bp-launch-* so it cannot collide with the
   existing preferences modal, feedback widget or share modal.
   ===================================================================== */

.bp-launch-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 20, 30, .65);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1200;
    padding: 1rem;
    animation: bpLaunchFadeIn .22s ease;
}

.bp-launch-overlay.is-open { display: flex; }

@keyframes bpLaunchFadeIn { from { opacity: 0; } to { opacity: 1; } }

/* ─── POPUP CARD ───────────────────────────────────────────────── */
/* max-height + overflow-y must sit on the BASE rule, not just the mobile
   media query. Without it the popup grew to its full content height
   (~700px) on 540-1024px viewports — taller than most laptops in
   landscape and any phone in landscape — so the header (top) and CTA
   (bottom) clipped against the viewport edges.

   max-width raised from 460px → 640px so on typical desktop viewports
   (>=720px tall) all content fits in 90vh without the vertical scrollbar
   appearing. A wider card lets the feature rows breathe horizontally
   (description text stays on 1–2 lines instead of 3), reducing the total
   card height enough to clear the viewport. */
.bp-launch-popup {
    background: #FFFFFF;
    border-radius: 20px;
    width: 100%;
    max-width: 640px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 24px 64px rgba(0, 0, 0, .22);
    animation: bpLaunchSlideUp .28s cubic-bezier(.34, 1.3, .64, 1);
    position: relative;
    font-family: 'Poppins', sans-serif;
    color: #1A1A1A;
}

@keyframes bpLaunchSlideUp {
    from { transform: translateY(28px); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

/* ─── HEADER BAND ──────────────────────────────────────────────── */
.bp-launch-header {
    background: linear-gradient(135deg, #004F7C 0%, #0077B6 55%, #0095E0 100%);
    padding: 1.1rem 1.25rem .9rem;
    position: relative;
    overflow: hidden;
}

.bp-launch-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255, 255, 255, .07) 1px, transparent 1px);
    background-size: 18px 18px;
}

.bp-launch-header::after {
    content: '';
    position: absolute;
    right: -40px;
    top: -40px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .05);
}

.bp-launch-eyebrow {
    font-size: .62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: rgba(255, 255, 255, .6);
    margin-bottom: .35rem;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: .3rem;
}

.bp-launch-eyebrow::before {
    content: '';
    display: block;
    width: 18px;
    height: 1.5px;
    background: rgba(255, 255, 255, .4);
}

.bp-launch-title {
    font-size: 1.2rem;
    font-weight: 800;
    color: #fff;
    line-height: 1.15;
    margin-bottom: .25rem;
    position: relative;
    z-index: 1;
}

.bp-launch-title .bp-launch-hl { color: #FFD166; }

.bp-launch-subtitle {
    font-size: .68rem;
    color: rgba(255, 255, 255, .85);
    line-height: 1.5;
    position: relative;
    z-index: 1;
    max-width: 520px;
}

.bp-launch-subtitle strong { color: #fff; font-weight: 600; }

/* Close × */
.bp-launch-close {
    position: absolute;
    top: .75rem;
    right: .85rem;
    width: 30px;
    height: 30px;
    background: rgba(255, 255, 255, .12);
    border: none;
    border-radius: 50%;
    color: rgba(255, 255, 255, .85);
    font-size: 1.1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .13s;
    z-index: 2;
    padding: 0;
    line-height: 1;
}

.bp-launch-close:hover { background: rgba(255, 255, 255, .22); }
.bp-launch-close:focus-visible { outline: 2px solid #FFD166; outline-offset: 2px; }

/* ─── BODY ─────────────────────────────────────────────────────── */
.bp-launch-body { padding: .85rem 1.15rem .75rem; }

/* Feature list */
.bp-launch-features {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    margin-bottom: .8rem;
}

.bp-launch-feature {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    padding: .45rem .55rem;
    background: #F7F9FC;
    border-radius: 10px;
    border: 1px solid #EAF0F7;
    text-decoration: none;
    color: inherit;
    transition: background .12s, border-color .12s;
    cursor: pointer;
}

.bp-launch-feature:hover { background: #EDF4FB; border-color: #B8D6EF; }

.bp-launch-feature-icon {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .9rem;
    flex-shrink: 0;
    margin-top: .05rem;
}

.bp-launch-feature-icon--blue    { background: #E3F1FA; }
.bp-launch-feature-icon--saffron { background: #FFF4E0; }
.bp-launch-feature-icon--violet  { background: #F0EEF8; }
.bp-launch-feature-icon--pink    { background: #FBE9EF; }

.bp-launch-feature-text { min-width: 0; flex: 1; }

.bp-launch-feature-name {
    font-size: .72rem;
    font-weight: 600;
    color: #1A1A1A;
    display: flex;
    align-items: center;
    gap: .3rem;
    margin-bottom: .05rem;
    flex-wrap: wrap;
    line-height: 1.3;
}

.bp-launch-feature-arrow {
    font-size: .62rem;
    color: #0077B6;
    margin-left: .15rem;
}

.bp-launch-feature-desc {
    font-size: .6rem;
    color: #585450;
    line-height: 1.4;
}

.bp-launch-feature-tag {
    font-size: .5rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: .1rem .32rem;
    border-radius: 999px;
    background: rgba(0, 119, 182, .1);
    color: #0077B6;
    flex-shrink: 0;
    align-self: flex-start;
}

.bp-launch-feature-tag--new {
    background: rgba(232, 146, 12, .1);
    color: #E8920C;
}

/* ─── FEEDBACK ROW ─────────────────────────────────────────────── */
.bp-launch-feedback {
    background: linear-gradient(135deg, #FFF8EE, #FFF3E0);
    border: 1px solid #FFD88A;
    border-radius: 10px;
    padding: .55rem .7rem;
    display: flex;
    align-items: center;
    gap: .6rem;
    margin-bottom: .75rem;
}

.bp-launch-feedback-icon { font-size: 1.2rem; flex-shrink: 0; }
.bp-launch-feedback-text { flex: 1; min-width: 0; }
.bp-launch-feedback-title { font-size: .7rem; font-weight: 600; color: #7A3C00; margin-bottom: .08rem; }
.bp-launch-feedback-sub   { font-size: .6rem; color: #9A6020; line-height: 1.4; }

.bp-launch-feedback-btn {
    background: #E8920C;
    color: #fff;
    border: none;
    border-radius: 999px;
    font-size: .62rem;
    font-weight: 700;
    padding: .3rem .75rem;
    cursor: pointer;
    white-space: nowrap;
    font-family: inherit;
    flex-shrink: 0;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}

.bp-launch-feedback-btn:hover { background: #C77A03; color: #fff; }

/* ─── SHARE ROW ────────────────────────────────────────────────── */
.bp-launch-share {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .25rem;
    flex-wrap: wrap;
}

.bp-launch-share-label {
    font-size: .62rem;
    color: #9A948E;
    font-weight: 500;
    white-space: nowrap;
}

.bp-launch-share-btns { display: flex; gap: .38rem; flex-wrap: wrap; }

.bp-launch-share-btn {
    height: 28px;
    padding: 0 .7rem;
    border-radius: 999px;
    border: 1.5px solid #EAE6E1;
    background: #fff;
    font-size: .62rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    text-decoration: none;
    color: #585450;
    transition: all .12s;
    font-family: inherit;
}

.bp-launch-share-btn:hover { border-color: #0077B6; color: #0077B6; }

.bp-launch-share-btn--wa { border-color: #25D366; color: #128C7E; }
.bp-launch-share-btn--wa:hover { background: #E8F9EF; color: #128C7E; }

.bp-launch-share-btn--fb { border-color: #1877F2; color: #1877F2; }
.bp-launch-share-btn--fb:hover { background: #EBF3FF; color: #1877F2; }

.bp-launch-share-btn--tw { border-color: #000; color: #000; }
.bp-launch-share-btn--tw:hover { background: #F1F1F1; color: #000; }

/* ─── FOOTER ACTIONS ───────────────────────────────────────────── */
.bp-launch-footer {
    padding: .65rem 1.15rem .8rem;
    border-top: 1px solid #EAE6E1;
    display: flex;
    align-items: center;
    gap: .6rem;
}

.bp-launch-btn-primary {
    flex: 1;
    height: 38px;
    background: #0077B6;
    color: #fff;
    border: none;
    border-radius: 999px;
    font-size: .76rem;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    font-family: inherit;
    transition: background .13s;
}

.bp-launch-btn-primary:hover { background: #005f91; }
.bp-launch-btn-primary svg { width: 15px; height: 15px; }

.bp-launch-dismiss-label {
    font-size: .58rem;
    color: #9A948E;
    text-align: center;
    max-width: 120px;
    line-height: 1.4;
}

/* ─── MOBILE — centered floating card ──────────────────────────── */
/* Keeps the all-four-corners-rounded mock look on phones too, instead of
   switching to a bottom-sheet (which clipped its bottom corners flush
   with the screen edge). Overlay padding pulls the card slightly inset
   from the viewport so the shadow + rounded corners stay visible. */
@media (max-width: 540px) {
    .bp-launch-overlay {
        padding: .6rem;
    }

    .bp-launch-popup {
        max-width: none;
        width: 100%;
        max-height: 88vh;
        border-radius: 18px;
    }

    .bp-launch-header { padding: 1rem 1.1rem .85rem; }
    .bp-launch-title  { font-size: 1.1rem; }
    .bp-launch-subtitle { font-size: .66rem; }

    .bp-launch-body { padding: .8rem 1rem .65rem; }
    .bp-launch-features { gap: .35rem; }

    .bp-launch-feedback {
        flex-wrap: wrap;
        row-gap: .45rem;
    }

    .bp-launch-feedback-btn {
        flex-basis: 100%;
        text-align: center;
        justify-content: center;
    }

    .bp-launch-share { flex-direction: column; align-items: flex-start; gap: .4rem; }
    .bp-launch-share-btns { width: 100%; }

    .bp-launch-footer {
        flex-direction: column;
        align-items: stretch;
        gap: .4rem;
        padding: .6rem 1rem .8rem;
    }

    .bp-launch-btn-primary { width: 100%; }
    .bp-launch-dismiss-label { max-width: none; }
}

/* Defensive: when the popup is open, lock the page scroll. */
html.bp-launch-open,
body.bp-launch-open {
    overflow: hidden;
}

/* ═══════════════════════════════════════════════════════════════════════════
   BACHPAN MOBILE RESPONSIVE OVERRIDES
   ───────────────────────────────────────────────────────────────────────────
   Loaded LAST in _Layout.cshtml — every rule here intentionally wins the
   cascade against earlier desktop-first declarations. Keep mobile-only
   tweaks here so they remain co-located and easy to diff/rollback.

   Breakpoints used:
     ≤767px  → phones (single column, full-width CTAs, hide topbar tagline)
     ≤480px  → tight phones (smaller hero typography, reduce paddings)
     ≤360px  → ultra-narrow (extra padding cuts)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Global guards ────────────────────────────────────────────────────────
   img/iframe/embed should never punch through their parent on mobile —
   prevents random embedded content (advertisements, share previews) from
   widening the document past 100vw and triggering the bp-utilities
   horizontal-scroll clip. */
@media (max-width: 767px) {
    img, iframe, embed, object, video, svg {
        max-width: 100%;
        height: auto;
    }
    /* Long unbreakable strings (slugs, URLs, sanskrit) should wrap rather
       than push the column wider than the viewport. */
    .bp-hero-name,
    .bp-hero-name-native,
    .bp-hero-deva,
    .bp-hero-meaning,
    .bmc-name,
    .bmc-deva,
    .bmc-meaning {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SCREEN 1 — Rashi/Nakshatra calculator (/find-rashi-nakshatra)
   ─── The submit CTA was clipping past the form-card's right edge because
   ─── btn-bp-lg (52px tall, 28px side padding) was wider than the card on
   ─── 360-390px phones. Shrink the card padding and let the CTA grow full
   ─── width with shorter side padding so the icon + label always fit.
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
    .bp-form-card { padding: 16px; }
    .bp-calc-form .btn-bp-lg {
        width: 100%;
        padding: 14px 16px;
        font-size: .95rem;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SCREEN 3 — /advertise (StaticPages/Advertise.cshtml)
   ─── The 4-up stat row, the country-code phone group, and the textarea
   ─── all push the form past the right edge on mobile. The base @media in
   ─── bachpan-utility.css already collapses the 2-col grid to 1-col, but a
   ─── few children still need explicit width: 100% so they don't overflow.
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
    .adv-form-card { padding: 1.25rem; }
    .adv-form-card .util-input,
    .adv-form-card .util-select,
    .adv-form-card .util-textarea { width: 100%; min-width: 0; }
    /* Country-code select must shrink to flag+code only (e.g. "🇮🇳 +91")
       so the phone-number input keeps usable width. */
    .util-phone-group { display: flex; gap: .4rem; }
    .util-phone-group .util-phone-cc { flex: 0 0 96px; min-width: 0; }
    .util-phone-group .util-phone-num { flex: 1 1 auto; min-width: 0; }
    /* Stat row already 2x2 from the existing rule — just ensure the cards
       don't have a fixed pixel width that breaks the grid. */
    .adv-stat { padding: .65rem .4rem; min-width: 0; }
    .adv-stat-num { font-size: 1rem; }
    /* Submit button — full width is cleaner on phones than inline. */
    .adv-form-card .util-btn-submit { width: 100%; justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SCREEN 5 — /search "Best Match" card (Views/Search/Index.cshtml .bmc-*)
   ─── .bmc-actions is a non-wrapping flex row; the "View full details"
   ─── pill + two outline pills ("Meaning", "Numerology") overflow on
   ─── phones, and the round border-radius clips the text inside the CTA.
   ─── Allow wrapping, let the primary CTA take the full first row, and
   ─── put the secondary tabs on the second row.
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
    .bmc-inner { padding: 1rem; }
    .bmc-name { font-size: 1.65rem; line-height: 1.1; }
    .bmc-actions {
        flex-wrap: wrap;
        gap: .5rem;
        padding: .75rem 1rem;
    }
    .bmc-cta {
        flex: 1 1 100%;
        justify-content: center;
        height: 40px;
        padding: 0 .75rem;
        white-space: nowrap;
    }
    .bmc-tab {
        flex: 1 1 calc(50% - .25rem);
        justify-content: center;
        text-align: center;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SCREEN 6 — Name detail (/baby-names/{slug}) and language-prefixed variant
   ─── (/{lang}/baby-names/{slug}). Both share .bp-page--detail + .bp-name-
   ─── hero markup, so a single set of overrides covers both.
   ─── Issues fixed:
   ─── • hero padding too wide on phones (1.5rem each side)
   ─── • absolute-positioned share/favourite buttons collide with the name
   ─── • Devanagari/native script font (1.2rem) wraps past the card edge
   ─── • prev/next sibling navigation cramped on small screens
   ─── • astro strip (Rashi · Nakshatra · Lucky No.) doesn't fold cleanly
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
    /* Page wrapper — keep horizontal padding usable but tighter than desktop. */
    .bp-page--detail { padding-top: .75rem; padding-bottom: 2rem; }
    .bp-page { padding: 0 1rem; }

    /* Hero card */
    .bp-name-hero {
        padding: 1rem 1rem .85rem;
        margin-bottom: 1rem;
    }
    /* Promote actions out of absolute positioning at ≤480 already — extend
       that to ≤767 so the share/favourite buttons no longer overlap long
       names. Inline at top-right with the rest of the hero content. */
    .bp-name-actions {
        position: static;
        justify-content: flex-end;
        margin-bottom: .35rem;
        gap: .4rem;
    }
    .bp-hero-name { padding-right: 0; font-size: 2rem; }
    .bp-hero-name-native { font-size: 1.85rem; line-height: 1.2; }
    .bp-hero-deva { font-size: 1rem; }
    .bp-hero-english-label { font-size: .9rem; }
    .bp-hero-meaning { font-size: .92rem; padding: .6rem .8rem; }

    /* Badges — smaller, tighter so 5+ chips fit two rows max */
    .bp-hero-badges { gap: .25rem; }
    .bp-hbadge { padding: .2rem .55rem; font-size: .65rem; }

    /* Prev/next sibling nav — names can be long; let them ellipsize rather
       than push the centre label off-screen. */
    .bp-name-nav { padding: .6rem .75rem; gap: .4rem; }
    .bp-nnav-btn { font-size: .72rem; padding: .25rem .5rem; max-width: 38%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
    .bp-nnav-center { font-size: .65rem; text-align: center; flex: 1 1 auto; min-width: 0; }

    /* Astro strip — the design-system CSS already folds the 3-up row to
       2-up at ≤500px (line ~1532 in bachpan-design-system.css). Don't
       duplicate that here; just guard the labels from clipping at 501-767. */
    .bp-as-item { padding: .5rem .65rem; }
    .bp-as-val { font-size: .78rem; }

    /* Sections — reduce side padding so content sits closer to the screen
       edge without losing all breathing room. */
    .bp-section { padding: 1rem 1.1rem; margin-bottom: 1rem; }

    /* Variant + Similar names grids — ensure cards never exceed viewport */
    .variant-names-grid { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: .45rem; }
    .sim-names-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .5rem; }

    /* Stat dashboard — keep 2-up on small screens (base CSS already does
       this), just shrink the card padding. */
    .bp-stat-card { padding: .7rem .55rem; }
    .bp-stat-icon { width: 34px; height: 34px; font-size: 1rem; }

    /* Inline ad placeholder — never push the layout wider than parent */
    .bp-inline-ad { height: 60px; margin-bottom: 1rem; }
    .bp-inline-ad,
    .bp-inline-ad * { max-width: 100%; overflow: hidden; }

    /* Language context bar (LanguageDetail) — stack the link below the
       label rather than crowding the row. */
    .bp-lang-context-bar { flex-wrap: wrap; gap: .35rem; padding: .55rem .85rem; font-size: .8rem; }
}

@media (max-width: 480px) {
    .bp-hero-name { font-size: 1.7rem; }
    .bp-hero-name-native { font-size: 1.55rem; }
    .bp-name-hero { padding: .85rem .9rem .75rem; }
}

/* ── Fix 31 (2026-05-21 mobile audit issue #23): Name Detail page
   responsive overhaul ──
   Existing mobile rules above shrink padding + font sizes, but several
   elements still bled past viewport on the live site:
   - Prev/next sibling nav (.bp-name-nav) — the right-hand link with a
     long next-name overflowed because flex was nowrap.
   - Hero meaning box (.bp-hero-meaning) — long English words like
     "responsible" weren't breaking, content clipped.
   - Badge row (.bp-hero-badges, .bp-hbadge) — the "Mesha Rashi" chip
     wrapped to a wider second row but the row itself overflowed because
     the badges weren't allowed to stretch line-width-wise.
   - Astro/Lucky stat cards (.bp-stat-grid) — at 3-up on a 360px viewport
     the third card got clipped. Force 1 col below 420px so each card
     gets full breathing room. */
@media (max-width: 575.98px) {
    .bp-name-nav {
        flex-wrap: wrap;
        row-gap: .35rem;
    }
    .bp-nnav-btn { max-width: 100%; flex: 1 1 auto; }
    .bp-nnav-center { flex-basis: 100%; order: -1; }
    .bp-hero-meaning,
    .bp-hbadge,
    .bp-stat-val,
    .bp-as-val {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
    .bp-hero-badges { flex-wrap: wrap; max-width: 100%; }
    /* Both Detail.cshtml (.bp-astro-strip) and LanguageDetail.cshtml
       (.bp-stat-grid) house the Rashi / Nakshatra / Lucky cards; treat
       them the same. .bp-astro-strip is a flex container — its base CSS
       already 50%-stacks at <=500px so it's fine; just guard the values
       from clipping at 501-575. */
    .bp-stat-grid { grid-template-columns: repeat(2, 1fr); }
    .bp-astro-strip { flex-wrap: wrap; }
    .bp-astro-strip .bp-as-item { min-width: 0; flex: 1 1 50%; }
}
@media (max-width: 419px) {
    /* Very narrow phones — drop the stat row to 1-up so labels + values
       fit without truncation. */
    .bp-stat-grid { grid-template-columns: 1fr; }
    .bp-astro-strip .bp-as-item { flex-basis: 100%; border-right: none; border-bottom: 1px solid var(--bp-border); }
    .bp-astro-strip .bp-as-item:last-child { border-bottom: none; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SCREEN 8 — Home topbar / header polish
   ─── The pending uncommitted change in bachpan-design-system.css already
   ─── hides the left-side tagline + Advertise/Suggest links on phones and
   ─── hides .nav-register below 960px. This block adds the remaining
   ─── breathing room and ensures Preferences + Language dropdown both
   ─── remain reachable without clipping.
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
    /* Right cluster — squeeze gaps so the Preferences pill + Language
       dropdown both fit on a 344px viewport. */
    .bp-topbar-right { flex-wrap: nowrap; gap: .35rem; }
    /* Preferences = icon only on mobile (label hidden, square tap target). */
    .bp-topbar-prefs { padding: .3rem; font-size: .65rem; }
    .bp-topbar-prefs span { display: none; }
    .bp-topbar-prefs svg { width: 15px; height: 15px; }
    /* Language dropdown — keep visible inside the viewport. The dropdown
       panel itself needs to anchor to the right edge so the open menu
       doesn't overflow off-screen to the right. */
    .bp-lang-wrap .bp-lang-dropdown,
    .bp-lang-wrap .bp-nav-dropdown {
        right: 0;
        left: auto;
        max-width: calc(100vw - 1rem);
    }

    /* Header row — login/register row tightening. .nav-login is already
       hidden below 576px and .nav-register below 960px (existing rules);
       just make sure the remaining right-cluster (search/saved/recently-
       viewed/hamburger) doesn't crowd. */
    .bp-nav-right { gap: .3rem; }
    .nav-icon-btn { width: 36px; height: 36px; }

    /* Mobile nav drawer must surface Login/Register since the header
       button is hidden — add the two links to the existing drawer
       header section. Markup change in _Header.cshtml. */
    .bp-mob-drawer-auth {
        display: flex;
        gap: .5rem;
        padding: 12px 16px;
        border-bottom: 1px solid var(--bp-border-light, #e5e7eb);
    }
    .bp-mob-drawer-auth a {
        flex: 1 1 50%;
        text-align: center;
        padding: .55rem .75rem;
        border-radius: var(--r-md, 10px);
        font-size: .82rem;
        font-weight: 600;
        text-decoration: none;
    }
    .bp-mob-drawer-auth .bp-mob-login {
        border: 1.5px solid var(--bp-border-md, #D0CBC3);
        color: var(--bp-text-1, #1A1A1A);
        background: transparent;
    }
    .bp-mob-drawer-auth .bp-mob-register {
        background: var(--bp-register, #e08d12);
        color: #fff;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   Misc utility — long form titles ("Suggest a Baby Name", "Reach 2M+…")
   keep wrapping cleanly on phones without ragged ugly breaks.
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
    .contact-info-title,
    .adv-hero-title,
    .suggest-form-title { line-height: 1.25; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   SCREEN 7 — Browse listing (/hindu, /muslim, etc., /{religion}/baby-{gender}-names)
   ─── The page renders Views/Names/NameList.cshtml. Three problem areas:
   ───   1. The alphabet grid (.bp-lf / .bp-lf--counts) wraps to 5-6 rows,
   ───      eating most of the first scroll.
   ───   2. Religion (.religion-strip / .rs-chip) + Gender (.bp-gender-tabs)
   ───      wrap with the Sikh chip landing alone on row 2.
   ───   3. Pagination spreads across two rows and the "Per page" selector
   ───      pushes off-screen.
   ─── Convert the dense rows to horizontal scroll snaps + hide non-essential
   ─── pagination chrome on phones.
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
    /* Religion strip — one horizontal scroll row, no wrap. Same treatment
       for the .bp-gender-tabs pill group that sits beside it. */
    .religion-strip {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: .35rem;
        padding-bottom: .25rem;
    }
    .religion-strip::-webkit-scrollbar { display: none; }
    .religion-strip .rs-chip {
        flex-shrink: 0;
        white-space: nowrap;
        font-size: .7rem;
        padding: .28rem .7rem;
    }
    .religion-strip .rs-label { flex-shrink: 0; }

    /* Gender tabs — keep on their own line below any sibling controls.
       Underline style stays left-aligned (do not stretch full-width — the
       baseline border is meant to stop at the last tab, not span the row). */
    .bp-gender-tabs { width: 100%; margin-top: .35rem; flex-wrap: wrap; }
    .bp-gender-tabs__btn {
        padding: .42rem .8rem;
        font-size: .7rem;
    }
    .bp-gender-tabs__hint { font-size: .55rem; padding-bottom: .35rem; }
    .bp-lang-controls__left { width: 100%; }
    .bp-lang-controls { flex-direction: column; gap: .35rem; }

    /* Alphabet / syllable grid — wraps to multiple rows on phones (header
       optimization 2026-05-23). Previously this row was forced to
       horizontal-scroll on phones to save vertical space; the header
       redesign requires every option visible without panning, so the row
       wraps the same way it does on desktop. */
    .bp-lf,
    .bp-lf--counts {
        gap: .3rem;
        margin-bottom: .75rem;
    }
    .bp-lf--counts .bp-lf-btn__count { font-size: .5rem; }

    /* Sort pills — horizontal scroll if they exceed the viewport width. */
    .bp-sort-pills {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: .25rem;
    }
    .bp-sort-pills::-webkit-scrollbar { display: none; }
    .bp-sort-pill { flex-shrink: 0; white-space: nowrap; }

    /* Pagination (2026-05-21 mobile audit issue #17) — unified across
       Search, Browse, Name list, Rashi/Nakshatra/Numerology detail
       (they all share Views/Shared/_Pagination.cshtml; the partial wraps
       the "Prev"/"Next" word in .bp-page-label and the chevron in
       .bp-page-arrow, so on phones we hide the word and show only the
       chevron to keep the row fitting one line). Bumps button tap
       targets to 36×36 with .35rem gap for finger-friendly spacing. */
    .bp-pagination-wrap {
        flex-direction: column;
        align-items: stretch;
        gap: .65rem;
        padding: 1rem 0 .5rem;
    }
    .bp-pagination {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        justify-content: center;
        gap: .35rem;
        padding-bottom: .15rem;
    }
    .bp-pagination::-webkit-scrollbar { display: none; }
    .bp-page-btn {
        flex-shrink: 0;
        min-width: 36px;
        height: 36px;
        font-size: .82rem;
        padding: 0 .5rem;
    }
    .bp-page-btn.prev-next { min-width: 36px; padding: 0; }
    .bp-page-btn.prev-next .bp-page-label { display: none; }
    .bp-page-btn.prev-next .bp-page-arrow { font-size: 1.1rem; font-weight: 600; line-height: 1; }
    .bp-page-info { font-size: .75rem; text-align: center; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   GLOBAL hardening (Fix 12 in prompt-mobile-fixes.md)
   ─── These rules apply on every mobile page regardless of route, catching
   ─── edge cases like wide images, ad iframes, native form-control zoom on
   ─── iOS Safari, and inline width:Npx styles inherited from third-party
   ─── snippets. bp-utilities.css already provides `html, body { overflow-x:
   ─── hidden }` so we don't repeat that — but we DO ensure form controls
   ─── default to ≥16px font-size so iOS doesn't auto-zoom on focus, which
   ─── triggers the "ng.bachpan.com" address bar overlap users reported.
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
    /* iOS zoom-on-focus prevention — fires when input font-size < 16px.
       Excludes range inputs (which size from track height, not text). */
    input:not([type="range"]):not([type="checkbox"]):not([type="radio"]),
    select,
    textarea {
        font-size: 1rem;
    }
    /* Tables — scroll horizontally inside their wrapper rather than push the
       page wider. Keeps tabular data legible on phones. */
    table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        max-width: 100%;
    }
    /* Ad slots / iframes — never wider than the viewport (catches Google
       AdSense responsive units that occasionally inject a fixed width). */
    iframe,
    [class*="advertisement"],
    [class*="ad-slot"],
    [id*="google_ads"] {
        max-width: 100%;
        overflow: hidden;
    }
    /* Inline width on a stray element shouldn't break the page — clamp to
       100% so legacy style="width:1000px" snippets render safely. */
    [style*="width:"][style*="px"] { max-width: 100%; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   ROUND 2 — prompt-mobile-fixes-2.md (Screens 9–28)
   ───────────────────────────────────────────────────────────────────────────
   Each block below is keyed to a screen in errors/mobile/ and uses real class
   names from the codebase (NOT the speculative ones from the prompt).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Fix 9: floating feedback launcher overlaps bottom-nav + right CTAs ──
   .bp-fb__launcher base CSS sits at bottom: 1.75rem (28px), which falls
   *inside* the 56px .bachpan-bottom-nav. On phones we raise it above the
   nav AND move it to the bottom-LEFT so it stops covering right-side
   primary CTAs (hero "Search" button, ❤ favourite, "Next ›" pagination).
   Also drop the pulsing ring on phones — it draws the eye away from
   primary content on small screens. */
@media (max-width: 767px) {
    .bp-fb__launcher {
        bottom: 4.75rem;
        left: 1rem;
        right: auto;
        width: 40px;
        height: 40px;
        z-index: 1100;
    }
    .bp-fb__launcher-icon { width: 18px; height: 18px; }
    .bp-fb__launcher::after { display: none; }
}

/* ── Fix 10: per-page selector compact on mobile ──
   The first pass hid .bp-per-page entirely (display: none). Show it as a
   compact horizontal row instead so users can still bump page size. */
@media (max-width: 767px) {
    .bp-pagination-wrap .bp-per-page {
        display: inline-flex;
        align-items: center;
        gap: .25rem;
        font-size: .68rem;
        color: var(--bp-text-3);
        justify-content: center;
    }
    .bp-pagination-wrap .bp-per-page .bp-page-btn {
        min-width: 28px;
        height: 28px;
        font-size: .68rem;
        padding: 0 .35rem;
    }
}

/* ── Fix 11: feedback modal — Cloudflare Turnstile pushes Submit off-screen ──
   The modal opens with progressive panels + the Turnstile widget at the
   bottom. On phones the modal sits at the bottom edge (per feedback-widget
   .bp-fb__overlay { align-items: flex-end }), so the footer scrolls off
   below the bottom-nav. Cap the modal height, allow inner scroll, and
   pin the footer (Skip / Back / Next) so the primary button stays tappable. */
@media (max-width: 767px) {
    .bp-fb__modal {
        max-height: calc(100vh - 4rem);
        display: flex;
        flex-direction: column;
    }
    .bp-fb__panel { overflow-y: auto; }
    .bp-fb__captcha { transform: scale(.9); transform-origin: left center; }
    /* Footer pinned to the bottom of the modal — always visible regardless
       of how far the user scrolls through chip lists or success banners. */
    .bp-fb__footer {
        position: sticky;
        bottom: 0;
        background: var(--bp-surface, #fff);
        border-top: 1px solid var(--bp-border, #EAE6E1);
        padding: .65rem .75rem;
        z-index: 2;
    }
}

/* ── Fix 13 + 16: logged-in user dropdown + truncated name in topbar ──
   .bp-user-wrap is in the main nav row (Components/Navigation/Default.cshtml).
   .bp-user-name "chetan" overflows to "C ch..." on narrow phones, and the
   dropdown panel opens beyond the right edge. Hide the name (avatar is
   self-explanatory), and anchor the open dropdown to the right side so
   the menu stays inside the viewport. */
@media (max-width: 767px) {
    .bp-user-wrap .bp-user-name { display: none; }
    .bp-user-wrap .bp-user-chevron { display: none; }
    /* Match the 30x30 icon-button cluster (.nav-icon-btn / .bp-rv-btn). */
    .bp-user-wrap .bp-user-avatar { width: 30px; height: 30px; font-size: .72rem; flex-shrink: 0; }
    .bp-user-wrap .bp-user-btn { padding: 0; gap: 0; background: transparent; border: none; }
    .bp-user-wrap .bp-user-dropdown {
        right: 0;
        left: auto;
        min-width: 220px;
        max-width: calc(100vw - 1.25rem);
        z-index: 1050;
    }
}

/* ── Fix 14: regional language alphabet grids (Vowels + Consonants) ──
   Compact 40x38 tiles wrap across multiple rows. Header optimization
   2026-05-23: wraps on phones (no horizontal scroll) per spec Change 4
   and the mock — Consonants take 3–4 rows on phones, expected. */
@media (max-width: 767px) {
    .bp-lang-alpha-grid {
        gap: 4px;
        padding: .15rem 0 .5rem;
        margin-bottom: 1rem;
    }
    .bp-lang-section-label { margin: .5rem 0 .3rem; font-size: .58rem; }
}

/* ── Fix 15: list-view name row — lucky number clipped at right edge ──
   _NameRow.cshtml flex layout: name + badge + meaning(flex:1) + share +
   fav + num. On phones the meaning expands too far and pushes the lucky
   number past the viewport. Tighten paddings, drop the meaning's min-width
   so it can shrink, and ensure the lucky-num box stays put. */
@media (max-width: 767px) {
    .bp-name-row {
        padding: .55rem .6rem;
        gap: .5rem;
    }
    .bp-name-row .bp-row-name { font-size: .9rem; min-width: 0; flex-shrink: 1; }
    /* Meaning stays visible on phones (header optimization fixes 2026-05-23).
       The 575.98px wrap rule (Wave 9 below) reflows it onto its own line so it
       reads cleanly without truncation. */
    .bp-name-row .bp-row-badge { font-size: .55rem; padding: 2px 6px; }
    .bp-name-row .bp-row-fav,
    .bp-name-row .bp-row-share { width: 26px; height: 26px; }
    .bp-name-row .bp-row-num { min-width: 26px; height: 26px; font-size: .68rem; margin-right: 2px; }
}

/* ── Fix 17: footer grid — 1 col → 2 col on phones ──
   .bp-footer-grid base is 1-col below 576px (no breakpoint). Force 2-col
   on phones so the 5 link columns occupy 3 rows instead of 5. First child
   (brand + tagline) keeps the full width. */
@media (max-width: 575.98px) {
    .bp-footer-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.25rem .85rem;
    }
    .bp-footer-grid > :first-child {
        grid-column: 1 / -1;
    }
    .bp-footer-link { font-size: .78rem; line-height: 1.85; }
    .bp-footer-col-title { font-size: .68rem; margin-bottom: .35rem; }
    .bp-footer-bottom { flex-direction: column; gap: .35rem; text-align: center; }
}

/* ── Fix 19: NameDetail numerology section — circle position + truncation ──
   .bp-num-detail is a flex row; on phones the description block (.bp-num-
   info) can run 12+ visual lines, pushing the entire next section below
   the fold. Clamp to 4 lines by default; the See more toggle below it
   (added via bachpan-ui.js inside the same fix) flips the .expanded class. */
@media (max-width: 767px) {
    .bp-num-detail {
        flex-direction: row;
        align-items: flex-start;
        gap: .75rem;
    }
    .bp-num-circle { flex-shrink: 0; width: 44px; height: 44px; align-self: flex-start; }
    .bp-num-big { font-size: 1.35rem; }
    .bp-num-info { flex: 1; min-width: 0; }
    .bp-num-info > p {
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-size: .85rem;
        line-height: 1.55;
    }
    .bp-num-info > p.expanded {
        -webkit-line-clamp: unset;
        display: block;
        overflow: visible;
    }
    .bp-num-traits { gap: .3rem; }
    .bp-num-trait { font-size: .65rem; padding: .2rem .55rem; }
    .bp-num-see-more {
        background: none; border: none; padding: .25rem 0;
        color: var(--bp-nav, #0077B6);
        font: 600 .75rem/1 'Poppins', sans-serif;
        cursor: pointer; margin-top: .2rem;
    }
}

/* ── Fix 20: NameDetail Krishna — badge row + meaning chips overflow ──
   Already covered the hero overflow in round 1; this strengthens the
   guard for very long Religion / Origin / Lucky-No combinations. */
@media (max-width: 767px) {
    .bp-hero-badges { max-width: 100%; }
    .bp-hero-badges .bp-hbadge {
        max-width: calc(50vw - 1.5rem);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    /* Meaning section chips (Water / Rivers, Celebrity Inspired, Short &
       Sweet) sit in .bp-sort-pills on the detail page too — same wrap. */
    .bp-section .bp-sort-pills { flex-wrap: wrap; }
}

/* ── Fix 21: horizontal-scroll fade affordance ──
   .religion-strip and .bp-sort-pills hide their scrollbars on phones; a
   fade gradient on the right edge signals "more to swipe."
   (.bp-lf / .bp-lf--counts / .bp-lang-alpha-grid wrap on phones now, so
   they no longer need the fade — header optimization 2026-05-23.) */
@media (max-width: 767px) {
    .religion-strip,
    .bp-sort-pills {
        position: relative;
        mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent);
        -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent);
    }
}

/* ── Fix 23: hub hero card too tall on mobile ──
   Views/Shared/_HubHero.cshtml renders .bp-page-hero with title, desc,
   stats, and an optional pills row (.bp-hub-quick-browse). On phones the
   hero fills 80%+ of the first viewport. Shrink padding/typography and
   hide the secondary pills row on phones (the pills are duplicated below
   the hero card on every hub page, so hiding them here is loss-free). */
@media (max-width: 767px) {
    .bp-page-hero { padding: 1rem 1.1rem; }
    .bp-page-hero .bp-hero-icon { width: 38px; height: 38px; font-size: 1.1rem; flex-shrink: 0; }
    .bp-page-hero .bp-hero-title { font-size: 1.15rem; line-height: 1.2; }
    .bp-page-hero .bp-hero-desc {
        font-size: .8rem;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    .bp-page-hero .bp-hero-stats { gap: .85rem; margin-bottom: .65rem; }
    .bp-page-hero .bp-hero-stat-num { font-size: 1.15rem; }
    .bp-page-hero .bp-hero-stat-lbl { font-size: .62rem; }
    .bp-page-hero .bp-hub-quick-browse { display: none; }
}

/* ── Fix 24: My Profile page paddings ──
   Account/Profile.cshtml uses .bp-page wrapper. Just tighten the avatar
   block + ensure form fields stretch full width on mobile. */
@media (max-width: 767px) {
    .bp-page .bp-form-card { padding: 1rem; }
    .bp-page .form-control,
    .bp-page select.form-select { font-size: 1rem; height: 44px; }
    .bp-page textarea.form-control { height: auto; min-height: 100px; }
}

/* ── Fix 25/26: Contact Us + Cloudflare Turnstile inline ──
   .util-form-row-2 already collapses on phones (see bachpan-utility.css).
   Just constrain Turnstile widget to the form width so it doesn't push
   the Submit button off the right edge on very narrow viewports. */
@media (max-width: 767px) {
    .cf-turnstile,
    [class*="turnstile"] {
        max-width: 100%;
        overflow: hidden;
    }
    .cf-turnstile iframe,
    [class*="turnstile"] iframe { max-width: 100%; }
}

/* ── Fix 27: home page — Name of the Day + Trending ──
   .bp-notd is the hero card; date badge wraps oddly on phones. .bp-trending
   list rows put meaning beside name — meaning should ellipsize. */
@media (max-width: 767px) {
    .bp-notd { padding: 1rem; }
    .bp-notd-hdr { flex-wrap: wrap; gap: .35rem; }
    .bp-notd-date { font-size: .65rem; }
    .bp-notd-name { font-size: 1.6rem; line-height: 1.1; }
    .bp-notd-meaning {
        font-size: .82rem;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
    /* Grid shrink guard — .bp-two-col collapses to a single 1fr column on
       phones, but grid items default to min-width:auto (= min-content), so the
       track sized to the Trending cell's min-content (the white-space:nowrap
       meaning + the Boys/Girls tab row) and that over-wide track applied to
       BOTH cells — dragging the Name-of-the-Day AND Trending cards past 100vw
       (right edge + "Girls" tab clipped in the screenshot). Same root cause +
       fix as Fix 28b. Let the cells and trend rows shrink to the container so
       the meaning ellipsizes inside the card instead of widening it.
       Scoped to .bp-two-col, which is used only on the homepage. */
    .bp-two-col > * { min-width: 0; }
    .bp-two-col .bp-trend-item { min-width: 0; }
    .bp-two-col .bp-trend-name { min-width: 0; }
    /* Trending rows — keep number circle + name visible, ellipsize meaning */
    .bp-trending .bp-trend-meaning,
    .bp-trending [class*="meaning"] {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: .72rem;
    }
}

/* ── Fix 28: Advertise — body copy clipping at right ──
   Body copy was clipping because adv-hero-sub had no padding guard. The
   .adv-layout mobile rule (bachpan-utility.css @media) already gives the
   container 1rem horizontal padding, but long unbreakable words (e.g.
   "engaged" + comma) still pushed past via overflow:hidden on the page.
   Add overflow-wrap to all advertise hero text. */
@media (max-width: 767px) {
    .adv-hero-sub,
    .adv-feat-sub,
    .adv-feat-title {
        overflow-wrap: anywhere;
        word-break: normal;
    }
    .contact-info-sub,
    .sug-step-text,
    .sug-stats-list,
    .sug-stats-list li {
        overflow-wrap: anywhere;
        word-break: normal;
    }
}

/* ── Fix 28b: /advertise + /community/suggest-name — grid item shrink guard ──
   Both pages use a 2-col CSS grid that collapses to 1-col on mobile. Grid
   items default to `min-width: auto` (= min-content), so when the form
   column contains a min-content-wide child (Turnstile widget at 300px,
   .adv-form-card with 2rem padding, .util-select min-content from longest
   option, etc.) the grid track expands beyond 100vw. With a single 1fr
   column, that expanded track width applies to BOTH grid items, so the
   info/pitch column above the form inherits the over-wide track and its
   paragraph text overflows the viewport. The page-level overflow-x:hidden
   guard on html/body then clips the right edge — visible as "engage[d]",
   "purchasing", "review and ad[d]" etc. cut off in the screenshots. Force
   each grid item to allow shrinking below its min-content size. */
@media (max-width: 767px) {
    .adv-layout > *,
    .suggest-layout > * {
        min-width: 0;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   ROUND 3 — prompt-mobile-fixes-3.md
   ───────────────────────────────────────────────────────────────────────────
   Three persistent issues:
     A. Submit / Sign-In buttons crowded by the 56px .bachpan-bottom-nav.
     B. .bp-fb__launcher floating button half-hidden behind the bottom nav
        (root cause: feedback-widget.css was loading AFTER this file, so the
        base bottom: 1.75rem rule won the cascade. Fixed in _Layout.cshtml by
        re-ordering the stylesheet links — this file is now loaded last.)
     C. Name detail page horizontal overflow on long names (Krishna, Aafa).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Fix A: Bottom-nav clearance for ALL pages and content modals ──
   Existing rule at line 2207 of bachpan-design-system.css sets
   `body { padding-bottom: 56px }` below 991px — exactly equal to the nav
   height. Submit buttons sitting near the bottom of a card therefore press
   flush against the nav with zero breathing room. Bump to 84px (56 nav +
   28 breathing room + safe-area-inset for notched devices). */
@media (max-width: 991.98px) {
    body {
        padding-bottom: calc(56px + 28px + env(safe-area-inset-bottom, 0px));
    }
    /* Auth pages — Sign In / Register / Forgot Password all share .auth-page
       and put the submit CTA inside .auth-card. The card already has its own
       padding, but on phones the card sits hard against the screen edge, so
       give the page wrapper a final 1rem buffer below the card. */
    .auth-page {
        padding-bottom: 1rem;
    }
    /* Preferences page (Account/Preferences.cshtml) lives inside a .bp-page
       wrapper. The "Save Preferences" button is the last child, so the body
       padding above already protects it — no extra rule needed here. */
}

/* ── Fix A2: Suggest-an-Edit modal — submit footer crowded by bottom nav ──
   `.se-overlay` z-index is 1000, but `.bachpan-bottom-nav` is 1030 → the
   bottom 56px of every modal sits *behind* the nav, including the Submit
   button when the form scrolls down. Two-part fix:
     1. Raise modal z-index above the nav so nothing covers it.
     2. Cap modal height to leave nav room, scroll only the form body, and
        pin the footer so Cancel / Submit are always visible.
   The base CSS in bachpan-suggest-edit.css already gives .se-form
   `overflow-y: auto`, so we just need to constrain the parent height. */
@media (max-width: 767.98px) {
    .se-overlay {
        z-index: 1100; /* > .bachpan-bottom-nav (1030) */
        padding: .5rem;
        align-items: flex-end; /* bottom-sheet feel on phones */
    }
    .se-modal {
        max-height: calc(100vh - 1rem); /* nav-clear: body padding handles 84px */
        max-width: 100%;
        border-radius: 14px 14px 0 0;
    }
    .se-form {
        flex: 1 1 auto;
        min-height: 0; /* lets the form actually scroll inside the flex column */
        padding-bottom: 1rem;
    }
    .se-foot {
        position: sticky;
        bottom: 0;
        background: var(--bp-bg, #FAFAF7);
        z-index: 2;
        padding: .65rem .85rem calc(.65rem + env(safe-area-inset-bottom, 0px));
    }
    .se-foot-left { flex: 1 1 100%; font-size: .65rem; }
    .se-foot-right { flex: 0 0 auto; }
}

/* ── Fix A3: Feedback widget modal — same z-index treatment as suggest-edit ──
   .bp-fb__overlay sits at z-index 900 in base CSS, also below the bottom
   nav. Round 2 already pinned the .bp-fb__footer; here we just bump the
   overlay above the nav so the modal isn't visually clipped at the bottom. */
@media (max-width: 767.98px) {
    .bp-fb__overlay {
        z-index: 1100; /* > .bachpan-bottom-nav (1030) */
    }
}

/* ── Fix C: Name detail — defensive overflow guards ──
   Round 1 (Screen 6) and Round 2 (Fix 20) handle the hero card and badge
   row. Long names like "Krishna" still trigger horizontal scroll on the
   .bp-page--detail wrapper when a child sibling section (variant grid,
   numerology trait pills, etc.) escapes its column. Clamp at the wrapper. */
@media (max-width: 767.98px) {
    .bp-page--detail {
        overflow-x: hidden;
        max-width: 100vw;
    }
    .bp-page--detail .bp-name-hero,
    .bp-page--detail .bp-section {
        max-width: 100%;
        overflow-x: hidden; /* trap any unruly child that escapes its row */
    }
    /* Stat dashboard cards (Rashi · Nakshatra · Lucky No) — ensure the
       value cell can shrink below its content size so long values like
       "Purva Bhadrapada" ellipsize instead of pushing the grid wider. */
    .bp-page--detail .bp-stat-card,
    .bp-page--detail .bp-as-item {
        min-width: 0;
        overflow: hidden;
    }
    .bp-page--detail .bp-as-val {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* ── Fix D: Advertise — feature-row text shrinking ──
   .adv-feature is `display: flex` with .adv-feat-icon (flex-shrink: 0) and
   an unnamed inner `<div>` holding .adv-feat-title + .adv-feat-sub. The
   inner div defaults to min-width: auto, which prevents long words from
   wrapping — Fix 28 already adds `overflow-wrap: anywhere` to the children,
   but they can't actually shrink until the flex parent allows it. */
@media (max-width: 767.98px) {
    .adv-feature > div:not(.adv-feat-icon) {
        flex: 1 1 auto;
        min-width: 0;
    }
}

/* ── Fix E: Hamburger hidden behind viewport edge when logged in ──
   nav-right has 5 children when authenticated (search · heart · recently-
   viewed · user-avatar · hamburger). Fix 8 above accidentally enlarged
   .nav-icon-btn to 36px on mobile (base is 34px) which, combined with the
   user avatar, pushes the trailing .nav-hamburger off the right edge on
   a 360px viewport. Shrink the icons, tighten the gap, pin the hamburger
   with flex-shrink: 0, and hide the two icons that duplicate bottom-nav
   entries when authenticated. */
@media (max-width: 767.98px) {
    .bp-nav-right {
        gap: .2rem;
        flex-wrap: nowrap;
        min-width: 0;
    }
    /* Override Fix 8 — 36px was wider than the base 34px and pushed the
       cluster past the viewport edge. 30px keeps a usable tap target via
       SVG padding without widening the cluster. */
    .nav-icon-btn,
    .bp-heart-btn,
    .bp-rv-btn {
        width: 30px !important;
        height: 30px !important;
    }
    .nav-icon-btn svg,
    .bp-heart-btn svg,
    .bp-rv-btn svg {
        width: 16px;
        height: 16px;
    }
    /* Hamburger must always be the last visible element, never clipped */
    .nav-hamburger {
        flex-shrink: 0;
        width: 34px;
        height: 34px;
        padding: 0;
        display: flex !important; /* base CSS hides only at min-width: 960px */
        align-items: center;
        justify-content: center;
    }
    .nav-hamburger svg { width: 26px; height: 26px; stroke-width: 2.4; }
    /* When logged in, hide the redundant top-bar Search + Saved icons.
       Bottom nav already provides Search and Saved, and these two were the
       heaviest contributors to nav-right overflow. Recently-viewed stays
       (no bottom-nav equivalent). Applies only when <body> carries
       data-authenticated="true" so guests keep their entry points. */
    body[data-authenticated="true"] .bp-nav-right .nav-icon-btn[data-action="search"],
    body[data-authenticated="true"] .bp-nav-right .bp-heart-wrap {
        display: none;
    }
}

/* ── Fix F: My Profile page — mobile padding + card overflow ──
   .up-page has .75rem horizontal padding on phones (bachpan-user.css line
   986), and the .up-card / .profile-section children all have 1.5rem inner
   padding, leaving multi-line form labels pressed against the card border.
   Loosen the inner padding, clamp every profile child to 100% of its
   column, and make form-action buttons full width. */
@media (max-width: 767.98px) {
    .up-page {
        padding-left: 1rem;
        padding-right: 1rem;
        max-width: 100%;
    }
    .up-page .profile-layout {
        max-width: 100%;
        min-width: 0;
    }
    .up-page .profile-layout > aside,
    .up-page .profile-layout > div {
        min-width: 0;
        max-width: 100%;
    }
    .up-page .profile-sidebar,
    .up-page .up-card,
    .up-page .profile-section,
    .up-page .danger-zone {
        padding: 1rem;
        max-width: 100%;
        overflow: hidden;
    }
    /* Profile nav links — let them break inside the highlight box instead of
       refusing to shrink. The active item's background was widening past the
       card edge because the flex <a> defaulted to min-width: auto. */
    .up-page .profile-nav__item {
        min-width: 0;
        width: 100%;
    }
    /* Phone prefix + input — give the input a min-width: 0 so iOS doesn't
       expand it to its placeholder's intrinsic width and push the wrap
       past its container. */
    .up-page .up-phone-wrap { min-width: 0; }
    .up-page .up-phone-wrap input { min-width: 0; }
    /* Stats row — 3 columns squeeze well on 320px when each cell can shrink. */
    .up-page .profile-stats {
        gap: .5rem;
        flex-wrap: nowrap;
    }
    .up-page .profile-stat { min-width: 0; flex: 1 1 0; }
    /* Form action row — stack Save Changes / Cancel / Delete on phones. */
    .up-page .up-btn-submit,
    .up-page .up-btn-ghost,
    .up-page .up-btn-danger {
        width: 100%;
        justify-content: center;
    }
}

/* ── Fix N: hero search box — orange Search button hidden on phones ──
   .bp-search-input is a flex child but has no min-width override, so the
   browser's intrinsic min-content size (~20em for inputs) refuses to shrink.
   On a 360-400px viewport that pushes .bp-search-btn past the container's
   right edge, where overflow:hidden on .bp-search-box clips it entirely.
   Letting the input shrink + tightening the button restores the orange CTA. */
@media (max-width: 767px) {
    .bp-search-input { min-width: 0; }
    .bp-search-icon-wrap { padding: 0 .55rem 0 .85rem; }
    .bp-search-btn { padding: 0 .9rem; font-size: .78rem; gap: .3rem; }
    .bp-search-btn svg { width: 14px; height: 14px; }
}
@media (max-width: 419px) {
    /* Very narrow viewports: drop the "Search" label, keep the magnifier. */
    .bp-search-btn { padding: 0 .8rem; }
    .bp-search-btn-label { display: none; }
}

/* ── Fix 28 (2026-05-21 mobile audit issue #14): hub pages — 1 column on phones ──
   The shared .bp-hub-card-grid base rule is repeat(2,1fr) which gives two
   narrow stretched cards per row on phones. Force a single full-width column
   below 576px so each deity / goddess / rashi / nakshatra / theme card has
   room to breathe and meaning text doesn't get squeezed into 5-word columns. */
@media (max-width: 575.98px) {
    .bp-hub-card-grid { grid-template-columns: 1fr; gap: 1rem; }
}

/* ── Fix 29 (2026-05-21 mobile audit issues #19 + 7.1): Name-of-the-Day +
   Trending Names cards overflow the viewport. Constrain the .bp-notd-hdr
   right-padding so the absolute-positioned .bp-notd-fav heart doesn't push
   the header text off-screen, and clamp .bp-trending to viewport width with
   overflow:hidden so its inner toggle row can't bleed past the right edge. */
@media (max-width: 575.98px) {
    .bp-notd { max-width: 100%; }
    .bp-notd-hdr { padding: .65rem 2.5rem .65rem .9rem; }
    .bp-notd-date { font-size: .6rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .bp-notd-fav { right: .55rem; top: .3rem; width: 28px; height: 28px; }
    .bp-notd-fav svg { width: 14px; height: 14px; }
    .bp-trending { max-width: 100%; overflow: hidden; }
}

/* ── Fix 30 (rewritten 2026-05-23): list view distortion on mobile ──
   .bp-name-row uses `display: grid` (4-col template:
   minmax(110px,auto) 1fr auto auto) on desktop. On phones the previous
   override used flex-wrap properties — a no-op against grid — so the
   4-col template was being squeezed into a 375px viewport, collapsing
   the meaning column into a 40px-wide vertical strip (see
   errors/mobile/4.jpeg).

   Override with a grid-native 3-col template:
     Row 1  | Name (1fr)            | Share | Fav  |
     Row 2  | Meaning (spans 3 cols)               |
     Row 3  | Deva / English-name   | Chips (cols 2-3) |
   Same .bp-name-row wrapper is used by _NameRow.cshtml and
   _NameRowLang.cshtml, so this fix lands on both. */
@media (max-width: 575.98px) {
    .bp-name-row {
        /* Mobile layout (≤575.98px):
           Row 1 packs name + share + fav together on the left; the 4th
           1fr column absorbs the remaining width as empty space so the
           actions don't drift to the right edge. Rows 2-4 (meaning, deva,
           chips) each span the full grid (1 / -1).
           !important defeats any same-specificity desktop rule lingering
           in the cascade. */
        grid-template-columns: auto auto auto 1fr !important;
        column-gap: 6px !important;
        row-gap: 6px !important;
        padding: .65rem .75rem !important;
        align-items: center !important;
    }
    /* Row 1 — name (flexes to fill) + share + fav */
    .bp-row-name,
    .bp-row-name-native {
        grid-row: 1 !important; grid-column: 1 !important;
        min-width: 0 !important;
        font-size: .95rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .bp-row-share { grid-row: 1 !important; grid-column: 2 !important; margin: 0 !important; }
    .bp-row-fav   { grid-row: 1 !important; grid-column: 3 !important; margin: 0 !important; }
    /* Optional popular badge — keep on its own row before meaning so it
       doesn't fight share/fav for row 1 space. */
    .bp-row-tag {
        grid-row: 2; grid-column: 1 / -1;
        justify-self: start;
    }
    /* Row 2 — meaning full-width, wraps naturally */
    .bp-row-meaning {
        grid-row: 2 !important; grid-column: 1 / -1 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        font-size: .82rem;
        line-height: 1.45;
    }
    /* Row 3 — Devanagari / English-name on its own full-width row.
       Spans 1 / -1 so its content can't be cramped against the chips
       spanning rule on the next row. */
    .bp-row-deva,
    .bp-row-name-en {
        grid-row: 3 !important; grid-column: 1 / -1 !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    /* Row 4 — chip strip on its own full-width row, left-aligned so the
       layout reads naturally top-to-bottom (mirrors desktop, where chips
       sit visually under the meaning). */
    .bp-row-chips {
        grid-row: 4 !important; grid-column: 1 / -1 !important;
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
        gap: 4px !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   WAVE 9 (2026-05-22) — NameDetail "content cut in half on real mobile"
   ───────────────────────────────────────────────────────────────────────────
   Reproduction: user screenshot at errors/mobile/1.jpeg shows the name detail
   page rendering with desktop-size hero padding, desktop badge sizes, and
   a 3-column astro strip — all clipped at the right viewport edge with no
   horizontal scrollbar (because `html, body { overflow-x: hidden }` swallows
   the overflow silently). Yet some mobile rules (topbar tagline hidden,
   bottom nav visible) ARE applying.

   Root causes:
   1. CSS Grid min-width: auto — .bp-detail-layout's main column defaults to
      min-content sizing. A long badge row, long meaning paragraph, or any
      non-shrinkable inner element causes the grid track to expand BEYOND
      its declared 1fr, pushing the hero card wider than the viewport.
   2. Breakpoint cliff at 768px — bottom nav is shown up to 991px, but the
      "phone" hero/badge rules stop at 767.98px. So 768-991px (tablet portrait,
      phablet landscape, or any device reporting >767px CSS viewport) gets
      desktop padding + bottom nav, an inconsistent middle ground.
   3. Badge / meaning wrap rules are media-scoped — if any of the above goes
      wrong, text doesn't wrap and silently overflows.

   These three fixes are layered defenses so the page renders correctly even
   if any single one fails on a given device. *Universal* (no @media) rules
   are intentional — `flex-wrap: wrap` and `min-width: 0` are safe at every
   viewport including desktop.
   ═══════════════════════════════════════════════════════════════════════════ */

/* W9.1 — DEFENSIVE: grid items must not expand beyond their declared track.
   Applies universally; min-width: 0 on a grid item is the standard fix for
   the min-content expansion bug. Does not affect desktop layout because the
   tracks are still 1fr / 1fr 300px from the grid-template-columns rule. */
.bp-detail-layout { min-width: 0; }
.bp-detail-layout > div,
.bp-detail-layout > aside { min-width: 0; max-width: 100%; }

/* W9.2 — DEFENSIVE: hero card and its key children can never exceed parent.
   Universal because there's no scenario where overflow is desired here. */
.bp-name-hero,
.bp-page--detail .bp-section,
.bp-page--detail .bp-astro-strip,
.bp-page--detail .bp-stat-grid,
.bp-page--detail .bp-rashi-detail,
.bp-page--detail .bp-num-detail,
.bp-page--detail .bp-lang-variants,
.bp-page--detail .bp-internal-links {
    max-width: 100%;
    min-width: 0;
}

/* W9.3 — DEFENSIVE: hero meaning + badges must always wrap, regardless of
   viewport. The mobile-scoped rules above set sizes; these set wrappability. */
.bp-hero-meaning {
    overflow-wrap: anywhere;
    word-break: break-word;
    max-width: 100%;
}
.bp-hero-badges {
    flex-wrap: wrap;
    max-width: 100%;
    min-width: 0;
}
.bp-hero-badges .bp-hbadge {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
}

/* W9.4 — Extend the "phone" hero/badge/stat sizing to 991.98px so any device
   that shows the bottom nav (display:none only kicks in at min-width:992px)
   gets phone-appropriate padding, font sizes, and stat grid. Catches:
     - tablets in portrait (768-1024 typical)
     - phablets in landscape (660-900)
     - Samsung phones with browser "Web page zoom" set to anything <100%
     - Chrome "Request Desktop Site" on a regular phone
   Values intentionally mirror the existing @media (max-width: 767px) block;
   this is a breakpoint extension, not a redesign. */
@media (min-width: 768px) and (max-width: 991.98px) {
    /* Page wrapper tightening */
    .bp-page--detail { padding-top: .75rem; padding-bottom: 2rem; }
    .bp-page--detail.bp-page,
    .bp-page--detail { padding-left: 1rem; padding-right: 1rem; }

    /* Hero card sized for phone-like viewports */
    .bp-page--detail .bp-name-hero {
        padding: 1rem 1rem .85rem;
        margin-bottom: 1rem;
    }
    .bp-page--detail .bp-name-actions {
        position: static;
        justify-content: flex-end;
        margin-bottom: .35rem;
        gap: .4rem;
    }
    .bp-page--detail .bp-hero-name { padding-right: 0; font-size: 2rem; }
    .bp-page--detail .bp-hero-name-native { font-size: 1.85rem; line-height: 1.2; }
    .bp-page--detail .bp-hero-deva { font-size: 1rem; }
    .bp-page--detail .bp-hero-meaning { font-size: .92rem; padding: .6rem .8rem; }
    .bp-page--detail .bp-hero-badges { gap: .25rem; }
    .bp-page--detail .bp-hbadge { padding: .2rem .55rem; font-size: .65rem; }

    /* Stat grid — single col on narrow tablet, 2-col above 600px-ish.
       Overrides the desktop repeat(4, 1fr) which would render 4 cards
       at ~180px each, pushing past viewport when the column itself is
       narrowed by the 2-col detail layout that kicks in at 900+. */
    .bp-page--detail .bp-stat-grid { grid-template-columns: repeat(2, 1fr); }

    /* Astro strip — 2-up, no nowrap on long values */
    .bp-page--detail .bp-astro-strip { flex-wrap: wrap; }
    .bp-page--detail .bp-astro-strip .bp-as-item { flex: 1 1 50%; min-width: 0; }
    .bp-page--detail .bp-as-val {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    /* Sections — tighter padding to match the narrower viewport */
    .bp-page--detail .bp-section { padding: 1rem 1.1rem; margin-bottom: 1rem; }

    /* Prev/next sibling nav — wrap so long sibling names don't push the
       center label off-screen */
    .bp-page--detail .bp-name-nav { flex-wrap: wrap; row-gap: .35rem; padding: .6rem .75rem; gap: .4rem; }
    .bp-page--detail .bp-nnav-btn { max-width: 100%; flex: 1 1 auto; font-size: .8rem; }
    .bp-page--detail .bp-nnav-center { flex-basis: 100%; order: -1; text-align: center; }

    /* Rashi/Nakshatra side-by-side boxes — stack into a single column when
       the layout column is narrow */
    .bp-page--detail .bp-rashi-detail { grid-template-columns: 1fr; }
}

/* W9.5 — Extend the .bp-page--detail overflow guard to 991.98px so even
   if a child escapes the grid track, the page wrapper clips it cleanly
   rather than letting it bleed past the viewport. The existing rule at
   line ~855 only covers <=767.98px. */
@media (max-width: 991.98px) {
    .bp-page--detail {
        overflow-x: hidden;
        max-width: 100%;
    }
}

/* Brand logo sizing on mobile (added 2026-05-29).
   The cropped Bachpan.com SVG (wide ~4.2:1 aspect) sits at 42px in the desktop
   nav and 40px in the footer. On phones the nav row is shorter and the logo
   competes with the hamburger, so step down to 32px ≤767px and 28px ≤480px.
   Explicit override is required because the global mobile rule at the top of
   this file forces `img { height: auto }`, which would otherwise expand the
   logo to its intrinsic 237px height and break the header. */
@media (max-width: 767px) {
    .bp-logo img        { height: 32px; max-width: 150px; }
    .bp-footer-logo img { height: 36px; max-width: 160px; }
}
@media (max-width: 480px) {
    .bp-logo img        { height: 28px; max-width: 132px; }
    .bp-footer-logo img { height: 32px; }
}

/* ============================================================================
 * adsense.css — BEM styling for the .ad-slot partial.
 * Loaded conditionally from _Layout.cshtml only when AdSense is enabled in
 * Config. Pairs with adsense-lazy.js for the IntersectionObserver lazy push.
 *
 * v2: every display unit is responsive (data-ad-format="auto"). The container
 * here shapes the slot (vertical / banner / rectangle); AdSense fits a
 * creative to it. Reserved heights (--ad-slot-min-height set inline per slot)
 * hold space before the ad fills, so CLS stays at zero on Lighthouse.
 * ============================================================================ */

/* ─── Base block ─── */
.ad-slot {
    display: block;
    width: 100%;
    min-height: var(--ad-slot-min-height, 250px);
    margin: 1.5rem auto;
    padding: 0;
    background: var(--bs-light, #F0F8FF);
    border: 0.5px solid rgba(0, 0, 0, 0.05);
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
}

.ad-slot__label {
    display: block;
    font-size: 10px;
    font-weight: 400;
    color: rgba(0, 0, 0, 0.45);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 4px 8px 0 8px;
    text-align: center;
}

.ad-slot__unit {
    display: block;
    width: 100%;
}

/* ─── Variants — all responsive, container shapes the ad ─── */

/* Sidebar half-page — vertical orientation, fills up to 600px tall */
.ad-slot--half-page {
    width: 300px;
    min-height: 250px;
    max-height: 600px;
    margin: 0 auto;
    position: sticky;
    top: calc(var(--header-height, 80px) + 1rem);
}

/* Sidebar bottom rectangle — vertical orientation, 250-300px tall */
.ad-slot--sidebar-rect {
    width: 300px;
    min-height: 250px;
    max-height: 300px;
    margin: 1.5rem auto;
}

/* Top responsive banner — horizontal orientation, fills container width */
.ad-slot--top-responsive {
    width: 100%;
    min-height: 90px;
    max-height: 280px;
}

/* In-content rectangle — square/rectangle orientation */
.ad-slot--in-content {
    max-width: 336px;
    min-height: 250px;
    max-height: 300px;
    margin: 1.5rem auto;
}

/* Mobile inline rectangle */
.ad-slot--mobile-rect {
    width: 100%;
    max-width: 336px;
    min-height: 250px;
    max-height: 300px;
    margin: 1.5rem auto;
}

/* Native in-feed — matches name card */
.ad-slot--native {
    min-height: 200px;
    margin: 0;
    border-radius: 8px;
    background: var(--bs-white, #FFFFFF);
}

/* Multiplex (recommendations grid) */
.ad-slot--multiplex {
    min-height: 280px;
    margin: 2rem 0;
}

/* ─── Lazy-loading state ─── */
.ad-slot[data-ad-lazy="true"] .ad-slot__unit {
    display: none;
}

.ad-slot[data-ad-lazy="true"].ad-slot--loaded .ad-slot__unit {
    display: block;
}

/* ─── Hide chrome when AdSense returns unfilled ─── */
.ad-slot:has(.adsbygoogle[data-ad-status="unfilled"]) .ad-slot__label {
    display: none;
}
.ad-slot:has(.adsbygoogle[data-ad-status="unfilled"]) {
    min-height: 0;
    border: none;
    margin: 0;
    background: transparent;
}

/* ─── JS fallback (adsense-lazy.js): collapse when the AdSense library is
   blocked or fails to load (ad blocker / network). data-ad-status is never set
   in that case, so the :has(unfilled) rule above can't fire. Mirrors it. ─── */
.ad-slot--empty .ad-slot__label {
    display: none;
}
.ad-slot--empty {
    min-height: 0;
    border: none;
    margin: 0;
    background: transparent;
}

/* ─── Mobile anchor reservation (Auto Ads handles injection) ─── */
@media (max-width: 991.98px) {
    .adsense-anchor-placeholder {
        height: 60px;
        width: 100%;
    }
    body.has-anchor-ad {
        padding-bottom: 60px;
    }
}

