@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{--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}*,::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,h1,h2,h3,h4,h5{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}p{margin-top:0;margin-bottom:1rem}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}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{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}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,pre{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}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}td,th,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,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}::-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}.list-unstyled{padding-left:0;list-style:none}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.figure{display:inline-block}.container,.container-fluid{--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{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}@media (min-width:1400px){.container{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-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.col-6{flex:0 0 auto;width:50%}.col-12{flex:0 0 auto;width:100%}.g-0{--bs-gutter-x:0}.g-0{--bs-gutter-y:0}.g-1{--bs-gutter-x:0.25rem}.g-1{--bs-gutter-y:0.25rem}.g-2{--bs-gutter-x:0.5rem}.g-2{--bs-gutter-y:0.5rem}.g-3{--bs-gutter-x:1rem}.g-3{--bs-gutter-y:1rem}.g-4{--bs-gutter-x:1.5rem}.g-4{--bs-gutter-y:1.5rem}.g-5{--bs-gutter-x:3rem}.g-5{--bs-gutter-y:3rem}@media (min-width:576px){.g-sm-0{--bs-gutter-x:0}.g-sm-0{--bs-gutter-y:0}.g-sm-1{--bs-gutter-x:0.25rem}.g-sm-1{--bs-gutter-y:0.25rem}.g-sm-2{--bs-gutter-x:0.5rem}.g-sm-2{--bs-gutter-y:0.5rem}.g-sm-3{--bs-gutter-x:1rem}.g-sm-3{--bs-gutter-y:1rem}.g-sm-4{--bs-gutter-x:1.5rem}.g-sm-4{--bs-gutter-y:1.5rem}.g-sm-5{--bs-gutter-x:3rem}.g-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.col-md-3{flex:0 0 auto;width:25%}.col-md-6{flex:0 0 auto;width:50%}.g-md-0{--bs-gutter-x:0}.g-md-0{--bs-gutter-y:0}.g-md-1{--bs-gutter-x:0.25rem}.g-md-1{--bs-gutter-y:0.25rem}.g-md-2{--bs-gutter-x:0.5rem}.g-md-2{--bs-gutter-y:0.5rem}.g-md-3{--bs-gutter-x:1rem}.g-md-3{--bs-gutter-y:1rem}.g-md-4{--bs-gutter-x:1.5rem}.g-md-4{--bs-gutter-y:1.5rem}.g-md-5{--bs-gutter-x:3rem}.g-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.g-lg-0{--bs-gutter-x:0}.g-lg-0{--bs-gutter-y:0}.g-lg-1{--bs-gutter-x:0.25rem}.g-lg-1{--bs-gutter-y:0.25rem}.g-lg-2{--bs-gutter-x:0.5rem}.g-lg-2{--bs-gutter-y:0.5rem}.g-lg-3{--bs-gutter-x:1rem}.g-lg-3{--bs-gutter-y:1rem}.g-lg-4{--bs-gutter-x:1.5rem}.g-lg-4{--bs-gutter-y:1.5rem}.g-lg-5{--bs-gutter-x:3rem}.g-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.g-xl-0{--bs-gutter-x:0}.g-xl-0{--bs-gutter-y:0}.g-xl-1{--bs-gutter-x:0.25rem}.g-xl-1{--bs-gutter-y:0.25rem}.g-xl-2{--bs-gutter-x:0.5rem}.g-xl-2{--bs-gutter-y:0.5rem}.g-xl-3{--bs-gutter-x:1rem}.g-xl-3{--bs-gutter-y:1rem}.g-xl-4{--bs-gutter-x:1.5rem}.g-xl-4{--bs-gutter-y:1.5rem}.g-xl-5{--bs-gutter-x:3rem}.g-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.g-xxl-0{--bs-gutter-x:0}.g-xxl-0{--bs-gutter-y:0}.g-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3{--bs-gutter-x:1rem}.g-xxl-3{--bs-gutter-y:1rem}.g-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5{--bs-gutter-x:3rem}.g-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-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)}.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)}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.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>: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}.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)}.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-control: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)}.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-control: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: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.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.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.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-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-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-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{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-start{--bs-position:start}.dropdown-menu-end{--bs-position:end}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-end{--bs-position:end}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-end{--bs-position:end}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-end{--bs-position:end}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-end{--bs-position:end}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-end{--bs-position:end}}.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}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after{margin-left:0}.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.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}.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{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.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-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)}@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-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}}.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}.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}.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)}.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)}.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}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{--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)}.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)}.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}.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}}@keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.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:""}@keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.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)}.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%}.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:""}.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}.d-block{display:block!important}.d-flex{display:flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.w-100{width:100%!important}.h-100{height:100%!important}.flex-wrap{flex-wrap:wrap!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!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}.mx-auto{margin-right:auto!important;margin-left:auto!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}.mb-0{margin-bottom:0!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.ms-auto{margin-left:auto!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-2{padding-top:.5rem!important}.pt-4{padding-top:1.5rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.text-center{text-align:center!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-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.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-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.rounded{border-radius:var(--bs-border-radius)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.d-sm-inline-flex{display:inline-flex!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}}@media (min-width:768px){.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}}@media (min-width:992px){.d-lg-none{display:none!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}.mb-lg-0{margin-bottom:0!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}}@media (min-width:1200px){.d-xl-inline-flex{display:inline-flex!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}}@media (min-width:1400px){.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}}/* ==========================================================================
   Crystal Shop - theme styles (Shopify Dawn-inspired)
   Colours/width come from Theme Settings via the CSS variables below.
   ========================================================================== */

:root {
	--ocs-primary: #121212;
	--ocs-secondary: #121212;
	--ocs-accent-bg: #f4f1ec;
	--ocs-topbar-bg: #121212;
	--ocs-topbar-color: #ffffff;
	--ocs-container: 1200px;
	--ocs-text: rgba(18, 18, 18, .75);
	--ocs-muted: rgba(18, 18, 18, .6);
	--ocs-border: rgba(18, 18, 18, .1);
	--ocs-radius: 0;
	--ocs-radius-sm: 4px;
	--ocs-font-head: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	--ocs-font-body: 'Assistant', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--ocs-section-space: clamp(3rem, 6vw, 5.5rem);
	--ocs-shadow-md: 0 8px 24px rgba(18, 18, 18, .08);
}

/* ------------------------------------------------------------------ base */
html { scroll-behavior: smooth; }
body {
	font-family: var(--ocs-font-body);
	color: var(--ocs-text);
	font-size: 1rem;
	line-height: 1.7;
	letter-spacing: .02em;
	background: #fff;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	-webkit-font-smoothing: antialiased;
}
main.site-main { flex: 1 0 auto; }
.container { max-width: var(--ocs-container); padding-left: 1.25rem; padding-right: 1.25rem; }
.ocs-narrow { max-width: 760px; }

h1, h2, h3, h4, h5 { color: var(--ocs-secondary); }
h1, h2, .ocs-section-title, .ocs-banner-title, .ocs-page-title, .ocs-logo-text {
	font-family: var(--ocs-font-head);
	font-weight: 500;
	letter-spacing: .01em;
	line-height: 1.15;
}
h3, h4, h5 { font-family: var(--ocs-font-body); font-weight: 600; letter-spacing: .02em; }

a { color: var(--ocs-secondary); text-decoration: none; }
a:hover { color: var(--ocs-secondary); text-decoration: underline; text-underline-offset: .3rem; }
img { max-width: 100%; height: auto; }

.screen-reader-text, .ocs-skip-link {
	position: absolute; width: 1px; height: 1px;
	padding: 0; margin: -1px; overflow: hidden;
	clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.ocs-skip-link:focus {
	width: auto; height: auto; clip: auto; z-index: 9999;
	background: var(--ocs-secondary); color: #fff; padding: .75rem 1.25rem;
}

/* ------------------------------------------------------------- buttons */
.btn-ocs-primary, .btn-ocs-outline, .btn-ocs-light, .btn-ocs-outline-light {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	min-height: 3rem;
	padding: .75rem 2rem;
	border-radius: var(--ocs-radius);
	font-size: .95rem;
	font-weight: 500;
	letter-spacing: .06em;
	line-height: 1.2;
	text-decoration: none;
	transition: box-shadow .1s ease, background-color .15s ease, color .15s ease;
}
.btn-sm.btn-ocs-primary, .btn-sm.btn-ocs-outline { min-height: 2.5rem; padding: .5rem 1.25rem; font-size: .88rem; }
.btn-ocs-primary { background: var(--ocs-primary); border: 1px solid var(--ocs-primary); color: var(--ocs-primary-text, #fff); }
.btn-ocs-primary:hover, .btn-ocs-primary:focus { background: var(--ocs-primary); border-color: var(--ocs-primary); color: var(--ocs-primary-text, #fff); text-decoration: none; box-shadow: 0 0 0 1px var(--ocs-primary); }
.btn-ocs-outline { background: transparent; border: 1px solid var(--ocs-secondary); color: var(--ocs-secondary); }
.btn-ocs-outline:hover, .btn-ocs-outline:focus { color: var(--ocs-secondary); border-color: var(--ocs-secondary); text-decoration: none; box-shadow: inset 0 0 0 1px var(--ocs-secondary); }
.btn-ocs-light { background: #fff; border: 1px solid #fff; color: #121212; }
.btn-ocs-light:hover, .btn-ocs-light:focus { background: #fff; color: #121212; text-decoration: none; box-shadow: 0 0 0 1px #fff; }
.btn-ocs-outline-light { background: transparent; border: 1px solid #fff; color: #fff; }
.btn-ocs-outline-light:hover, .btn-ocs-outline-light:focus { color: #fff; text-decoration: none; box-shadow: inset 0 0 0 1px #fff; }

.ocs-link-arrow { display: inline-flex; align-items: center; gap: .4rem; font-size: .95rem; white-space: nowrap; }
.ocs-link-arrow .ocs-icon { transition: transform .2s ease; }
.ocs-link-arrow:hover .ocs-icon { transform: translateX(3px); }

/* ---------------------------------------------------------- announcement */
.ocs-announcement {
	background: var(--ocs-topbar-bg);
	color: var(--ocs-topbar-color);
	font-size: .8rem;
	letter-spacing: .1em;
	text-align: center;
	padding: .55rem 0;
}
.ocs-announcement a { color: var(--ocs-topbar-color); }
.ocs-announcement a:hover { color: var(--ocs-topbar-color); }

/* ---------------------------------------------------------------- header */
.ocs-header {
	background: #fff;
	border-bottom: 1px solid var(--ocs-border);
	z-index: 1030;
	position: relative;
}
.ocs-sticky-enabled .ocs-header { position: sticky; top: 0; }
body.admin-bar.ocs-sticky-enabled .ocs-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar.ocs-sticky-enabled .ocs-header { top: 46px; } }

.ocs-navbar { padding: 1.1rem 0; gap: 1rem; }
.ocs-brand { flex: 0 0 auto; }
.ocs-brand a:hover { text-decoration: none; }
.ocs-logo-img { display: block; }
.ocs-logo-text { font-size: 1.6rem; color: var(--ocs-secondary); }
.ocs-toggler { border: 0; padding: .35rem; color: var(--ocs-secondary); box-shadow: none !important; }

.ocs-desktop-nav .nav-link {
	color: var(--ocs-text);
	padding: .5rem 1rem;
	font-size: 1rem;
}
.ocs-desktop-nav .nav-link:hover,
.ocs-desktop-nav .nav-link.active,
.ocs-desktop-nav .nav-link.show { color: var(--ocs-secondary); text-decoration: underline; text-underline-offset: .3rem; }
.ocs-desktop-nav .dropdown-toggle::after { border-top-width: .28em; border-right-width: .28em; border-left-width: .28em; vertical-align: .15em; }
.ocs-desktop-nav .dropdown-menu { border: 1px solid var(--ocs-border); border-radius: 0; box-shadow: none; padding: .75rem 0; min-width: 13rem; }
.ocs-desktop-nav .dropdown-item { font-size: .92rem; padding: .45rem 1.5rem; color: var(--ocs-text); }
.ocs-desktop-nav .dropdown-item:hover, .ocs-desktop-nav .dropdown-item:focus { background: transparent; color: var(--ocs-secondary); text-decoration: underline; text-underline-offset: .3rem; }

/* Desktop: hover / keyboard focus opens dropdowns (no click needed). */
@media (min-width: 992px) {
	.ocs-header { position: relative; }
	.ocs-desktop-nav .dropdown-menu {
		display: block; top: 100%; left: 0; margin-top: 1.05rem;
		opacity: 0; visibility: hidden; transform: translateY(6px);
		transition: opacity .16s ease, transform .16s ease, visibility 0s linear .3s;
		pointer-events: none;
	}
	/* Invisible bridge covering the margin gap AND the navbar's bottom
	   padding, so the menu doesn't hide while the pointer travels from the
	   nav item down into the panel. */
	.ocs-desktop-nav .dropdown-menu::before {
		content: ''; position: absolute; top: -2.75rem; left: 0; right: 0;
		height: 2.75rem;
	}
	.ocs-desktop-nav .nav-item.dropdown:hover > .dropdown-menu,
	.ocs-desktop-nav .nav-item.dropdown:focus-within > .dropdown-menu,
	.ocs-desktop-nav .nav-item.dropdown.is-open > .dropdown-menu {
		opacity: 1; visibility: visible; transform: none;
		transition-delay: 0s; pointer-events: auto;
	}
	/* Mega menu: full viewport-width panel; columns align to the container.
	   .navbar is position:relative in Bootstrap, which would anchor the
	   panel to the container width - neutralise it so the panel anchors
	   to .ocs-header (full viewport width) instead. */
	.ocs-navbar { position: static; }
	.ocs-desktop-nav .nav-item.ocs-mega { position: static; }
	.ocs-desktop-nav .ocs-mega-panel {
		left: 0; right: 0; width: auto; min-width: 0; margin-top: 0;
		display: flex; gap: 2.5rem;
		padding: 2rem max(calc((100% - var(--ocs-container)) / 2 + 1.25rem), 1.25rem);
		border: 0; border-top: 1px solid var(--ocs-border);
		box-shadow: 0 12px 24px rgba(0, 0, 0, .06);
	}
	.ocs-mega-col { flex: 1 1 0; min-width: 9rem; max-width: 18rem; list-style: none; }
	.ocs-mega-heading { display: block; font-size: .95rem; font-weight: 600; color: var(--ocs-secondary); padding: 0 0 .6rem; }
	.ocs-mega-heading:hover { color: var(--ocs-secondary); text-decoration: underline; text-underline-offset: .3rem; }
	.ocs-mega-desc { font-size: .8rem; color: var(--ocs-muted); margin: 0 0 .5rem; }
	.ocs-mega-list { list-style: none; margin: 0; padding: 0; }
	.ocs-mega-item { list-style: none; }
	.ocs-mega-link { display: block; padding: .3rem 0; font-size: .92rem; color: var(--ocs-text); }
	.ocs-mega-link:hover, .ocs-mega-link:focus { color: var(--ocs-secondary); text-decoration: underline; text-underline-offset: .3rem; }
	/* Nested sub-submenus open to the side. */
	.ocs-desktop-nav .dropdown-menu .dropdown-menu { top: 0; left: 100%; margin-top: -.75rem; }
}

.ocs-header-actions { display: flex; align-items: center; gap: .15rem; margin-left: auto; }
.ocs-icon-link {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px;
	color: var(--ocs-secondary); background: transparent; border: 0; padding: 0;
	transition: transform .15s ease;
}
.ocs-icon-link:hover { color: var(--ocs-secondary); transform: scale(1.07); text-decoration: none; }

@media (max-width: 991.98px) {
	.ocs-navbar { display: grid; grid-template-columns: 1fr auto 1fr; padding: .75rem 0; }
	.ocs-brand { justify-self: center; }
	.ocs-header-actions { justify-self: end; }
	.ocs-toggler { justify-self: start; }
}

/* --------------------------------------------------- header mini cart */
.ocs-cart-btn { position: relative; }
.ocs-cart-count {
	position: absolute; bottom: 6px; right: 4px;
	min-width: 17px; height: 17px; padding: 0 4px;
	border-radius: 999px;
	background: var(--ocs-primary); color: var(--ocs-primary-text, #fff);
	font-size: .65rem; font-weight: 600; line-height: 17px;
	text-align: center; letter-spacing: 0;
}

/* Free delivery progress (cart page) */
.ocs-dlv { margin-bottom: 1rem; }
.ocs-dlv-label { font-size: .82rem; color: var(--ocs-text); margin-bottom: .4rem; }
.ocs-dlv.is-complete .ocs-dlv-label { color: #2f7d32; font-weight: 600; }
.ocs-dlv-track { height: 6px; background: var(--ocs-accent-bg); border-radius: 3px; overflow: hidden; }
.ocs-dlv-fill { display: block; height: 100%; background: var(--ocs-secondary); border-radius: 3px; transition: width .35s ease; }
.ocs-dlv.is-complete .ocs-dlv-fill { background: #2f7d32; }

/* Cart page cross-sell */
.ocs-cart-crosssell { margin-top: 3rem; }
.ocs-crosssell-title { margin-bottom: 1.25rem; color: var(--ocs-secondary); }

/* Consent bar */
.ocs-consent {
	position: fixed; right: 1rem; bottom: 1rem; left: 1rem; z-index: 1060;
	display: flex; align-items: center; justify-content: space-between; gap: 1rem;
	background: #fff; border: 1px solid var(--ocs-border); border-radius: 8px;
	box-shadow: 0 8px 30px rgba(0,0,0,.12); padding: 1rem 1.25rem; max-width: 720px; margin: 0 auto;
}
.ocs-consent-text { margin: 0; font-size: .85rem; color: var(--ocs-text); }
.ocs-consent-actions { display: flex; gap: .5rem; flex-shrink: 0; }
@media (max-width: 575.98px) {
	.ocs-consent { flex-direction: column; align-items: stretch; text-align: center; }
	.ocs-consent-actions { justify-content: center; }
}

/* Mobile offcanvas nav */
.ocs-offcanvas { max-width: 360px; }
.ocs-offcanvas .offcanvas-header { border-bottom: 1px solid var(--ocs-border); }
.ocs-mobile-menu .nav-link { padding: .9rem 0; font-size: 1.1rem; color: var(--ocs-secondary); }
/* Mobile: submenus are collapsed until the parent is tapped (.is-open). */
.ocs-mobile-menu .dropdown-menu { display: none; border: 0; box-shadow: none; padding: 0 0 .5rem 1rem; position: static; }
.ocs-mobile-menu .nav-item.is-open > .dropdown-menu { display: block; }
.ocs-mobile-menu .dropdown-menu .dropdown-menu { padding-left: 1rem; }
/* >=44px touch targets on submenu links. */
.ocs-mobile-menu .dropdown-item { padding: .75rem 0; color: var(--ocs-text); }
/* We draw our own chevron SVG - suppress Bootstrap's ::after caret. */
.ocs-mobile-menu .dropdown-toggle::after { display: none; }
.ocs-mobile-menu .dropdown-toggle { display: flex; align-items: center; justify-content: space-between; gap: .75rem; font-weight: 600; color: var(--ocs-secondary); }
.ocs-mobile-menu .dropdown-toggle .ocs-icon-chevron-down { flex: 0 0 auto; padding: .25rem; box-sizing: content-box; }
.ocs-mobile-menu .dropdown-toggle .ocs-icon-chevron-down { transition: transform .2s ease; }
.ocs-mobile-menu .is-open > .dropdown-toggle .ocs-icon-chevron-down { transform: rotate(180deg); }
.ocs-mobile-menu .ocs-viewall-link { font-weight: 600; }

/* Search dropdown */
.ocs-search-dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: #fff;
	border-bottom: 1px solid var(--ocs-border);
	box-shadow: 0 18px 30px -18px rgba(0, 0, 0, .18);
	padding: 1rem 0;
}
.ocs-search-form .form-control { border-radius: 0; border-color: var(--ocs-secondary); }
.ocs-search-form .btn { border-radius: 0; }
.ocs-search-results { max-height: 70vh; overflow-y: auto; }
.ocs-search-results:empty { display: none; }
.ocs-sr-items { margin-top: .75rem; }
.ocs-sr-item {
	display: flex;
	align-items: center;
	gap: .8rem;
	padding: .55rem .25rem;
	border-bottom: 1px solid var(--ocs-border);
	color: var(--ocs-text);
}
.ocs-sr-item:hover, .ocs-sr-item:focus { color: var(--ocs-secondary); text-decoration: none; background: var(--ocs-accent-bg); }
.ocs-sr-thumb { width: 44px; height: 44px; object-fit: cover; flex: 0 0 44px; }
.ocs-sr-thumb-empty { background: var(--ocs-accent-bg); }
.ocs-sr-name { flex: 1 1 auto; font-size: .95rem; }
.ocs-sr-price { font-size: .9rem; font-weight: 600; color: var(--ocs-secondary); }
.ocs-sr-note { margin: .75rem 0 0; font-size: .92rem; color: var(--ocs-muted); }
.ocs-sr-all { display: block; margin-top: .6rem; font-size: .92rem; font-weight: 600; color: var(--ocs-secondary); }

/* "per piece" price suffix on single products */
.fct_price_suffix { font-size: .7em; font-weight: 400; color: var(--ocs-muted); letter-spacing: .02em; }

/* ----------------------------------------------------------------- USP */
.ocs-usp-bar { border-bottom: 1px solid var(--ocs-border); }
.ocs-usp-row { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 2.5rem; padding: .55rem 0; }
.ocs-usp { display: inline-flex; align-items: center; gap: .5rem; font-size: .82rem; color: var(--ocs-text); }

/* -------------------------------------------------------------- sections */
.ocs-section { padding: var(--ocs-section-space) 0; }
.ocs-section + .ocs-section:not(.ocs-trust):not(.ocs-testimonials) { padding-top: 0; }
.ocs-banner-promo + .ocs-section { padding-top: 0; }
.ocs-banner-promo:last-child { margin-bottom: 0; }
.ocs-section-head { margin-bottom: 2rem; }
.ocs-section-head-split { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; }
.ocs-section-title { font-size: clamp(1.9rem, 3.2vw, 2.6rem); margin: 0; }
.ocs-section-sub { color: var(--ocs-muted); margin: .5rem 0 0; }
.ocs-eyebrow { font-size: .8rem; letter-spacing: .15em; text-transform: uppercase; margin-bottom: .75rem; }
.ocs-empty-note { color: var(--ocs-muted); border: 1px dashed var(--ocs-border); padding: 2.5rem 1rem; text-align: center; margin: 0; }
.ocs-rte p { margin-bottom: 1rem; }

/* Only hidden once JS is confirmed running (html.ocs-js), so content never stays invisible */
.ocs-js .ocs-reveal {
	opacity: 0; transform: translateY(1.25rem);
	transition: opacity .6s ease, transform .6s ease;
	/* fallback: show anyway after 2.5s if the reveal script never runs */
	animation: ocs-reveal-fallback 0s 2.5s forwards;
}
.ocs-js .ocs-reveal.in-view { opacity: 1; transform: none; animation: none; }
@keyframes ocs-reveal-fallback { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	.ocs-reveal { opacity: 1; transform: none; transition: none; }
	html { scroll-behavior: auto; }
}

/* --------------------------------------------------------- image banner */
.ocs-banner { position: relative; display: flex; align-items: center; overflow: hidden; color: #fff; }
.ocs-banner-hero { min-height: clamp(30rem, 78vh, 46rem); }
.ocs-banner-promo { min-height: clamp(24rem, 55vh, 34rem); margin: 0 0 var(--ocs-section-space); }
.ocs-banner-media { position: absolute; inset: 0; }
.ocs-banner-media img { width: 100%; height: 100%; object-fit: cover; }
.ocs-banner-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(rgba(0, 0, 0, .3), rgba(0, 0, 0, .5)); }
.ocs-banner-title, .ocs-banner-text { text-shadow: 0 1px 16px rgba(0, 0, 0, .25); }
.ocs-banner-content { position: relative; z-index: 1; width: 100%; padding: 4rem 0; }
.ocs-banner-box { max-width: 40rem; margin: 0 auto; text-align: center; }
.ocs-banner-title { color: #fff; font-size: clamp(2.6rem, 6vw, 4.5rem); margin-bottom: 1rem; }
.ocs-banner-promo .ocs-banner-title { font-size: clamp(2.2rem, 4.5vw, 3.4rem); }
.ocs-banner-text { font-size: 1.1rem; margin-bottom: 2rem; color: rgba(255, 255, 255, .92); }
.ocs-banner .ocs-eyebrow { color: #fff; }
.ocs-banner-buttons { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }

/* -------------------------------------------------------- collection list */
.ocs-collection-card { display: block; color: var(--ocs-secondary); }
.ocs-collection-card:hover { text-decoration: none; color: var(--ocs-secondary); }
.ocs-collection-media { display: block; overflow: hidden; background: var(--ocs-accent-bg); aspect-ratio: 4 / 5; }
.ocs-collection-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.ocs-collection-card:hover .ocs-collection-media img { transform: scale(1.04); }
.ocs-collection-title { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1rem; font-size: 1.1rem; }
.ocs-collection-title .ocs-icon { transition: transform .2s ease; }
.ocs-collection-card:hover .ocs-collection-title { text-decoration: underline; text-underline-offset: .3rem; }
.ocs-collection-card:hover .ocs-collection-title .ocs-icon { transform: translateX(3px); }
.ocs-collection-sub { display: block; margin-top: .15rem; font-size: .8rem; color: var(--ocs-text); opacity: .75; }

/* Subcategory shortcode grid */
.ocs-subcategories { margin: 1.5rem 0; }
.ocs-subcategories-title { margin-bottom: 1.25rem; }

/* ---------------------------------------------------------- product card */
.ocs-product-card { position: relative; display: flex; flex-direction: column; height: 100%; }
.ocs-product-media { position: relative; display: block; overflow: hidden; background: var(--ocs-accent-bg); aspect-ratio: 1; }
.ocs-product-img { width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; display: block; transition: transform .6s ease; }
.ocs-product-card:hover .ocs-product-img { transform: scale(1.04); }
.ocs-img-placeholder { display: flex; flex-direction: column; gap: .5rem; align-items: center; justify-content: center; color: rgba(18, 18, 18, .2); }
.ocs-img-coming { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ocs-muted); }
/* FluentCart surfaces (shop cards, single gallery) render their own
   placeholder illustration - label it the same way. */
.fct-product-card-image-wrap.is-placeholder,
.fct-product-gallery-thumb:has(img[src*='product-placeholder']) { position: relative; }
.fct-product-card-image-wrap.is-placeholder::after,
.fct-product-gallery-thumb:has(img[src*='product-placeholder'])::after {
	content: 'Image coming soon';
	position: absolute; left: 50%; bottom: 10%; transform: translateX(-50%);
	font-size: .72rem; letter-spacing: .08em; text-transform: uppercase;
	color: var(--ocs-muted); background: rgba(255, 255, 255, .85);
	padding: .25rem .7rem; border-radius: 999px; white-space: nowrap;
}
.ocs-badge {
	position: absolute; bottom: .75rem; left: .75rem;
	font-size: .75rem; letter-spacing: .05em;
	padding: .3rem .8rem; border-radius: 999px;
	background: #fff; color: var(--ocs-secondary);
	border: 1px solid var(--ocs-border);
}
.ocs-badge-sale { background: var(--ocs-secondary); color: #fff; border-color: var(--ocs-secondary); }
.ocs-badge-oos { background: #fff; color: var(--ocs-secondary); }
.ocs-badge-oneoff { background: var(--ocs-secondary); color: #fff; border-color: var(--ocs-secondary); }
.ocs-product-info { padding: 1rem 0 0; }
.ocs-product-title { font-size: 1rem; font-weight: 400; letter-spacing: .04em; line-height: 1.4; margin: 0 0 .35rem; }
.ocs-product-title a { color: var(--ocs-secondary); }
/* whole card clickable */
.ocs-product-title a::after { content: ''; position: absolute; inset: 0; }
.ocs-product-card:hover .ocs-product-title a { text-decoration: underline; text-underline-offset: .3rem; }
.ocs-card-stars { color: var(--ocs-secondary); display: flex; gap: 1px; margin-bottom: .35rem; }
.ocs-card-stars .ocs-icon { fill: currentColor; }
.ocs-product-price { font-size: 1rem; color: var(--ocs-secondary); letter-spacing: .06em; }
.ocs-product-price del { color: var(--ocs-muted); margin-right: .5rem; font-size: .92rem; }
.ocs-product-price ins { text-decoration: none; }

/* ------------------------------------------------------- image with text */
.ocs-image-text-row { background: var(--ocs-accent-bg); }
.ocs-image-text-media { height: 100%; min-height: 22rem; }
.ocs-image-text-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ocs-image-text-content { align-self: center; padding: clamp(2.5rem, 5vw, 5rem); }
.ocs-image-text-content .ocs-section-title { margin-bottom: 1.25rem; }
.ocs-image-text-content .btn { margin-top: .75rem; }

/* ---------------------------------------------------------- trust columns */
.ocs-trust { border-top: 1px solid var(--ocs-border); border-bottom: 1px solid var(--ocs-border); padding: 3.5rem 0; }
.ocs-trust-col { text-align: center; max-width: 20rem; margin: 0 auto; }
.ocs-trust-col .ocs-icon { color: var(--ocs-secondary); margin-bottom: 1rem; stroke-width: 1.3; }
.ocs-trust-title { font-size: 1.05rem; margin-bottom: .4rem; }
.ocs-trust-col p { margin: 0; font-size: .95rem; }

/* ----------------------------------------------------------- testimonial */
.ocs-testimonial { margin: 0; text-align: center; }
.ocs-stars { color: var(--ocs-secondary); display: inline-flex; gap: 2px; margin-bottom: 1rem; }
.ocs-stars .ocs-icon { fill: currentColor; }
.ocs-testimonial blockquote { font-family: var(--ocs-font-head); font-size: 1.35rem; line-height: 1.45; color: var(--ocs-secondary); margin: 0 0 1rem; }
.ocs-testimonial figcaption { font-size: .85rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ocs-muted); }

/* ------------------------------------------------------------- newsletter */
.ocs-newsletter-inner { max-width: 34rem; margin: 0 auto; text-align: center; }
.ocs-newsletter-inner .ocs-section-sub { margin-bottom: 2rem; }

.ocs-newsletter-form { width: 100%; }
.ocs-field { position: relative; display: flex; }
.ocs-field input {
	width: 100%; height: 3.25rem;
	padding: 1.35rem 3.5rem .4rem 1.1rem;
	border: 1px solid var(--ocs-secondary); border-radius: 0;
	background: transparent; color: var(--ocs-secondary);
	font-size: 1rem; letter-spacing: .04em;
}
.ocs-field input:focus { outline: none; box-shadow: inset 0 0 0 1px var(--ocs-secondary); }
.ocs-field label {
	position: absolute; left: 1.1rem; top: 50%; transform: translateY(-50%);
	font-size: 1rem; color: var(--ocs-muted); pointer-events: none;
	transition: top .1s ease, font-size .1s ease;
}
.ocs-field input:focus + label,
.ocs-field input:not(:placeholder-shown) + label { top: .95rem; font-size: .75rem; }
.ocs-field button {
	position: absolute; right: 0; top: 0; bottom: 0; width: 3.25rem;
	border: 0; background: transparent; color: var(--ocs-secondary);
	display: flex; align-items: center; justify-content: center;
}
.ocs-field button:hover .ocs-icon { transform: scale(1.1); }

/* ---------------------------------------------------------------- footer */
/* Site-wide small-print strip above the footer (wellbeing disclaimer +
   growing-catalogue note - editable in Settings > Footer). */
.ocs-disclaimer {
	background: var(--ocs-accent-bg); border-top: 1px solid var(--ocs-border);
	padding: 1.4rem 0; font-size: .82rem; line-height: 1.6;
	color: var(--ocs-muted); text-align: center;
}
.ocs-disclaimer p { margin: 0 auto .5rem; max-width: 62rem; }
.ocs-disclaimer p:last-child { margin-bottom: 0; }

.ocs-footer { background: #fff; border-top: 1px solid var(--ocs-border); color: var(--ocs-text); font-size: .95rem; }
.ocs-footer-trust { background: var(--ocs-accent-bg); border-bottom: 1px solid var(--ocs-border); padding: .9rem 0; }
.ocs-footer-trust .ocs-usp-row { padding: 0; }
.ocs-footer-trust .ocs-usp { font-weight: 500; }
.ocs-footer a { color: var(--ocs-text); }
.ocs-footer a:hover { color: var(--ocs-secondary); }
.ocs-footer .row { padding-top: 3.5rem !important; padding-bottom: 3rem !important; }
.ocs-footer-heading { font-family: var(--ocs-font-body); font-size: 1rem; font-weight: 500; letter-spacing: .04em; color: var(--ocs-secondary); margin-bottom: 1.25rem; }
.ocs-footer-about { margin-bottom: 1.25rem; }
.ocs-footer-menu { list-style: none; padding: 0; margin: 0; }
.ocs-footer-menu li { margin-bottom: .6rem; }
.ocs-footer-menu ul { list-style: none; padding: 0; }
.ocs-social { list-style: none; display: flex; gap: .25rem; padding: 0; margin: 0 0 1rem -.6rem; }
.ocs-social a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: var(--ocs-secondary); }
.ocs-social a:hover { transform: scale(1.08); }
.ocs-footer-contact { margin-bottom: .4rem; display: flex; align-items: center; gap: .5rem; }
.ocs-footer-bottom { border-top: 1px solid var(--ocs-border); padding: 1.5rem 0; font-size: .8rem; color: var(--ocs-muted); }
.ocs-footer-legal { display: flex; flex-wrap: wrap; gap: .25rem .9rem; }
.ocs-footer-legal a { color: inherit; text-decoration: none; }
.ocs-footer-legal a:hover { color: var(--ocs-secondary); text-decoration: underline; }
.ocs-payment-badges { display: flex; flex-wrap: wrap; gap: .4rem; }
.ocs-pay-badge {
	border: 1px solid var(--ocs-border); border-radius: 4px;
	padding: .2rem .55rem; font-size: .72rem; font-weight: 600; letter-spacing: .03em;
	color: var(--ocs-secondary); background: #fff;
}
.ocs-pay-icon {
	height: 26px; width: auto; display: inline-block;
	border-radius: 3px; background: #fff;
	box-shadow: 0 0 0 1px var(--ocs-border);
}

/* Back to top */
.ocs-back-top {
	position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 1020;
	width: 44px; height: 44px;
	background: #fff; color: var(--ocs-secondary); border: 1px solid var(--ocs-border);
	opacity: 0; pointer-events: none; transform: translateY(10px);
	transition: opacity .25s ease, transform .25s ease;
}
.ocs-back-top.visible { opacity: 1; pointer-events: auto; transform: none; }

/* ---------------------------------------------------------------- pages */
.ocs-page-header { padding: 3.5rem 0 1rem; text-align: center; }
.ocs-page-header.has-banner { position: relative; padding: 6rem 0; background-size: cover; background-position: center; margin-bottom: 1rem; }
.ocs-page-header.has-banner .ocs-page-title, .ocs-page-header.has-banner .ocs-page-subtitle,
.ocs-page-header.has-banner .ocs-breadcrumbs, .ocs-page-header.has-banner .ocs-breadcrumbs a { color: #fff; }
.ocs-page-title { font-size: clamp(2.2rem, 4.5vw, 3.2rem); margin: .5rem 0 0; }
.ocs-page-subtitle { color: var(--ocs-muted); font-size: 1.05rem; margin: .75rem auto 0; max-width: 40rem; }
.ocs-breadcrumbs { font-size: .82rem; color: var(--ocs-muted); letter-spacing: .04em; }
.ocs-breadcrumbs a { color: var(--ocs-muted); }
.ocs-breadcrumbs .sep { margin: 0 .5rem; }
.page-header .page-title { font-family: var(--ocs-font-head); font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 500; }

.ocs-entry-content > p, .ocs-entry-content > ul, .ocs-entry-content > ol { margin-bottom: 1.25rem; }
.ocs-entry-content h2 { font-size: 2rem; margin: 2.5rem 0 1rem; }
.ocs-entry-content h3 { font-size: 1.2rem; margin: 2rem 0 .75rem; }

/* Blog cards */
.ocs-post-card { position: relative; }
.ocs-post-media { display: block; overflow: hidden; background: var(--ocs-accent-bg); }
.ocs-post-img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .6s ease; }
.ocs-post-card:hover .ocs-post-img { transform: scale(1.04); }
.ocs-post-body { padding: 1.1rem 0 0; }
.ocs-post-meta { font-size: .78rem; color: var(--ocs-muted); letter-spacing: .08em; text-transform: uppercase; margin-bottom: .4rem; }
.ocs-post-meta a { color: var(--ocs-muted); }
.ocs-post-title { font-family: var(--ocs-font-head); font-size: 1.5rem; font-weight: 500; }
.ocs-post-title a { color: var(--ocs-secondary); }
.ocs-post-excerpt { font-size: .95rem; }
.ocs-readmore { font-size: .9rem; text-decoration: underline; text-underline-offset: .3rem; }
.ocs-single-thumb img { border-radius: 0 !important; }

/* Single post: TL;DR callout + author box */
.ocs-tldr { background: var(--ocs-accent-bg); border-left: 3px solid var(--ocs-secondary); padding: 1.1rem 1.25rem; margin-bottom: 1.75rem; }
.ocs-tldr-label { font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: var(--ocs-secondary); margin-bottom: .35rem; }
.ocs-tldr p:last-child { margin-bottom: 0; }
.ocs-author-box { display: flex; gap: 1.1rem; align-items: flex-start; margin-top: 2.25rem; padding-top: 1.6rem; border-top: 1px solid var(--ocs-border); }
.ocs-author-avatar { width: 64px; height: 64px; border-radius: 50%; flex: 0 0 auto; }
.ocs-author-label { font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ocs-muted); margin-bottom: .15rem; }
.ocs-author-name { font-family: var(--ocs-font-head); font-size: 1.4rem; font-weight: 500; margin-bottom: .35rem; }
.ocs-author-name a { color: var(--ocs-secondary); text-decoration: none; }
.ocs-author-bio { font-size: .92rem; color: var(--ocs-text); margin-bottom: 0; }
.ocs-testimonial figcaption .ocs-verified { display: block; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ocs-muted); margin-top: .15rem; }
.ocs-testimonial figcaption .ocs-review-product { display: block; font-size: .82rem; margin-top: .15rem; }
.ocs-testimonial figcaption .ocs-review-product a { color: var(--ocs-muted); }

/* Single post hero: featured image as the banner backdrop */
.ocs-post-hero { min-height: clamp(19rem, 45vh, 30rem); background: var(--ocs-primary); }
.ocs-post-hero .ocs-banner-content { padding: clamp(2.5rem, 6vw, 4.5rem) 0; }
.ocs-post-hero .ocs-breadcrumbs { margin-bottom: 1.1rem; }
.ocs-post-hero .ocs-breadcrumbs, .ocs-post-hero .ocs-breadcrumbs a { color: rgba(255, 255, 255, .8); }
.ocs-post-hero .ocs-post-meta, .ocs-post-hero .ocs-post-meta a { color: rgba(255, 255, 255, .75); }
.ocs-post-hero-title { font-size: clamp(2rem, 5vw, 3.2rem); line-height: 1.15; margin: 0; }

/* Auto table of contents (h2-h4) */
.ocs-toc { border: 1px solid var(--ocs-border); padding: 1.1rem 1.4rem; margin-bottom: 2rem; }
.ocs-toc summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ocs-toc summary::-webkit-details-marker { display: none; }
.ocs-toc summary::after { content: ""; width: .55rem; height: .55rem; border-right: 2px solid var(--ocs-secondary); border-bottom: 2px solid var(--ocs-secondary); transform: rotate(45deg); transition: transform .2s ease; flex-shrink: 0; }
.ocs-toc[open] summary::after { transform: rotate(225deg); }
.ocs-toc-label { font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: var(--ocs-secondary); margin-bottom: .5rem; }
.ocs-toc[open] nav { margin-top: .5rem; }
.ocs-toc ol { margin: 0; padding-left: 1.1rem; }
.ocs-toc li { margin: .3rem 0; font-size: .95rem; }
.ocs-toc li a { color: var(--ocs-text); }
.ocs-toc .ocs-toc-l3 { margin-left: 1.1rem; }
.ocs-toc .ocs-toc-l4 { margin-left: 2.2rem; }
.ocs-entry-content h2, .ocs-entry-content h3, .ocs-entry-content h4 { scroll-margin-top: 5.5rem; }
@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}

/* Pagination */
.pagination .page-link { border: 0; color: var(--ocs-text); background: transparent; border-radius: 0 !important; }
.pagination .page-item.active .page-link, .pagination .page-link.current { color: var(--ocs-secondary); background: transparent; text-decoration: underline; text-underline-offset: .3rem; }

/* Forms (search etc.) */
.ocs-search-inline .form-control { border-radius: 0; border-color: var(--ocs-secondary); }
.ocs-search-inline .btn { border-radius: 0; }

/* ------------------------------------------------------- FluentCart bits */
.ocs-trust-box { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--ocs-border); display: flex; flex-direction: column; gap: .6rem; }
.ocs-trust-item { display: flex; align-items: center; gap: .65rem; font-size: .92rem; color: var(--ocs-text); }
.ocs-trust-item .ocs-icon { color: var(--ocs-secondary); flex: 0 0 auto; }

.ocs-stock-nudge { display: inline-flex; align-items: center; gap: .55rem; font-size: .9rem; color: var(--ocs-secondary); margin: .75rem 0 0; }

/* Product item notice: "item may differ from photos" / "one-off piece" */
.ocs-item-notice { font-size: .88rem; color: var(--ocs-muted); margin: .6rem 0 0; }
.ocs-item-notice.ocs-one-off { display: inline-flex; align-items: center; gap: .45rem; color: var(--ocs-secondary); font-weight: 500; }
.ocs-sold-out-notice { display: flex; align-items: center; gap: .55rem; font-size: .95rem; font-weight: 600; color: var(--ocs-secondary); background: var(--ocs-accent-bg); border: 1px solid var(--ocs-border); border-radius: .5rem; padding: .8rem 1rem; margin: .75rem 0; }
.ocs-sold-out-notice svg { flex-shrink: 0; }
.ocs-one-off .ocs-icon { color: var(--ocs-secondary); flex: 0 0 auto; }
/* Reserve the square gallery box so JS gallery init cannot collapse it (CLS).
   .fct-single-product-page is an inline-size container, so 100cqw = its width. */
.fct-product-gallery-wrapper > .fct-product-gallery-thumb { min-block-size: min(600px, 100cqw); }

.pulse-dot { position: relative; width: 8px; height: 8px; border-radius: 50%; background: #d97706; flex: 0 0 auto; }
.pulse-dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: rgba(217, 119, 6, .5); animation: ocs-pulse 2s infinite; }
@keyframes ocs-pulse {
	0% { transform: scale(1); opacity: 1; }
	70%, 100% { transform: scale(2.2); opacity: 0; }
}

/* Match FluentCart buttons to theme buttons */
[class*="fluent-cart"] button[type="submit"],
[class*="fct"] .fct_add_to_cart_button,
.fluent-cart-add-to-cart-btn {
	border-radius: 0 !important;
	letter-spacing: .06em;
}

/* ------------------------------------------- single product (/item/...)
   All FluentCart overrides are scoped under .ocs-product-page so they beat
   the plugin's single-class rules regardless of stylesheet load order. */
.ocs-product-page { padding-bottom: var(--ocs-section-space, 4rem); }
.ocs-product-page .ocs-breadcrumbs { padding: 1.5rem 0 .25rem; }
.ocs-product-content { padding-top: 1rem; }

/* Two-column layout: gallery | summary */
.ocs-product-page .fct-single-product-page-row {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	grid-template-areas: none;
	gap: 3.5rem;
	align-items: start;
}
@media (max-width: 991.98px) {
	.ocs-product-page .fct-single-product-page-row { grid-template-columns: 1fr; grid-template-areas: none; gap: 1.75rem; }
}

/* Gallery */
.ocs-product-page .fct-product-gallery-wrapper { min-width: 0; }
.ocs-product-page .fct-product-gallery-thumb {
	background: var(--ocs-accent-bg);
	border-radius: 4px; overflow: hidden;
	aspect-ratio: 1 / 1;
	display: flex; align-items: center; justify-content: center;
}
.ocs-product-page .fct-product-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ocs-product-page .fct-product-gallery-wrapper [class*="thumb"] img { border-radius: 4px; }

/* Summary column */
.ocs-product-page .fct-product-summary { min-width: 0; }
.ocs-product-page .fct-product-title h1,
.ocs-product-page #fct-product-summary-title {
	font-family: var(--ocs-font-head);
	font-size: clamp(1.9rem, 3.5vw, 2.6rem);
	font-weight: 500; line-height: 1.15;
	color: var(--ocs-secondary);
	margin: 0 0 .75rem;
}
.ocs-product-page .fct-product-meta { font-size: .82rem; color: var(--ocs-muted); margin-bottom: 1rem; }
.ocs-product-page .fct-product-meta:empty { display: none; }
.ocs-product-page .fct-product-prices,
.ocs-product-page .fct-price-range { margin-bottom: 1.5rem; }
.ocs-product-page .fct-item-price { font-size: 1.35rem; font-weight: 500; color: var(--ocs-secondary); letter-spacing: .01em; }
.ocs-product-page .fct-item-price s,
.ocs-product-page .fct-product-variant-compare-price { color: var(--ocs-muted); font-weight: 400; font-size: .95em; }

/* Variants */
.ocs-product-page .fct-product-variants { margin-bottom: 1.25rem; display: flex; flex-direction: column; gap: .75rem; }
.ocs-product-page .fct-product-variant-title { font-size: .82rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--ocs-secondary); }
.ocs-product-page .fct-product-variant-item { display: flex; align-items: center; gap: .5rem; }
.ocs-product-page .fct-product-variant-price,
.ocs-product-page .fct-product-variant-item-price { font-size: .85rem; color: var(--ocs-muted); }

/* Quantity stepper */
.ocs-product-page .fct-product-quantity-container { margin: 0 0 1.25rem; }
.ocs-product-page .fct-product-quantity-container .quantity-title {
	display: block; font-size: .82rem; font-weight: 600;
	letter-spacing: .05em; text-transform: uppercase;
	color: var(--ocs-secondary); margin-bottom: .5rem;
}
.ocs-product-page .fct-product-quantity {
	display: inline-flex; align-items: center;
	border: 1px solid var(--ocs-secondary); border-radius: 0;
	min-height: 2.9rem; background: transparent; overflow: hidden;
}
.ocs-product-page .fct-product-quantity button {
	border: 0; background: transparent; color: var(--ocs-secondary);
	width: 2.6rem; height: auto; align-self: stretch;
	display: inline-flex; align-items: center; justify-content: center;
}
.ocs-product-page .fct-product-quantity button:hover { background: rgba(0, 0, 0, .04); }
.ocs-product-page .fct-quantity-input {
	border: 0; width: 3.25rem; max-width: none; text-align: center;
	font-size: .95rem; color: var(--ocs-secondary); background: transparent;
}
.ocs-product-page .fct-quantity-input:focus { outline: none; box-shadow: none; }

/* Buy buttons - FluentCart renders the wrap as a 2-col grid and drops the
   theme's trust box into its second cell, stretching the buttons. Force a
   single-column stack: Add to Cart (outline) then Buy Now (filled),
   trust box below. */
.ocs-product-page .fct-product-buttons-wrap { display: flex; flex-direction: column; gap: .65rem; margin-top: 1.25rem; }
.ocs-product-page .fct-product-buttons-wrap .fluent-cart-add-to-cart-button {
	order: -1;
	width: 100%; height: auto; min-height: 2.9rem;
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	background: transparent; border: 1px solid var(--ocs-secondary);
	color: var(--ocs-secondary);
	font-size: .95rem; font-weight: 600; letter-spacing: .05em;
	border-radius: 0; padding: .55rem 1.25rem;
	transition: background .15s ease, color .15s ease;
}
.ocs-product-page .fct-product-buttons-wrap .fluent-cart-add-to-cart-button:hover {
	background: var(--ocs-secondary); color: var(--ocs-primary-text, #fff);
}
.ocs-product-page .fct-product-buttons-wrap .fluent-cart-direct-checkout-button {
	width: 100%; height: auto; min-height: 2.9rem;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--ocs-primary); border: 1px solid var(--ocs-primary);
	color: var(--ocs-primary-text, #fff);
	font-size: .95rem; font-weight: 600; letter-spacing: .05em;
	border-radius: 0; text-decoration: none; padding: .55rem 1.25rem;
	transition: filter .15s ease;
}
.ocs-product-page .fct-product-buttons-wrap .fluent-cart-direct-checkout-button:hover { filter: brightness(1.12); color: var(--ocs-primary-text, #fff); }
.ocs-product-page .fct-product-buttons-wrap .ocs-trust-box { margin-top: .5rem; }
.ocs-product-page .fct-product-buttons-wrap .fluent-cart-loader svg { width: 18px; height: 18px; }

/* Product details list under the description */
.ocs-pd-details { margin: .9rem 0 0; }
.ocs-pd-list { list-style: none; margin: 0; padding: .65rem .9rem; border: 1px solid var(--ocs-border); background: var(--ocs-accent-bg); }
.ocs-pd-list li { font-size: .88rem; color: var(--ocs-secondary); padding: .15rem 0; }
.ocs-pd-list strong { font-weight: 600; }
.ocs-pd-policies { margin: .5rem 0 0; font-size: .82rem; color: var(--ocs-muted); }
.ocs-pd-policies a { color: var(--ocs-primary); text-decoration: underline; }

/* Product description below the two-column row */
.ocs-product-content > .fct-single-product-page ~ p,
.ocs-product-content > p { max-width: 46rem; }

/* Reviews are disabled via the show_reviews filter - belt and braces. */
.fct-product-reviews-section { display: none !important; }

/* Related products */
.ocs-related-products { margin-top: 3.5rem; padding-top: 2.5rem; border-top: 1px solid var(--ocs-border); }
.ocs-related-products .ocs-section-title { text-align: left !important; }
.ocs-is-cart .site-main, .ocs-is-shop .site-main { padding-top: 2rem; }

/* FluentCart generic template (product archives, categories, single products)
   uses --global-content-width and renders without auto margins - constrain it
   to the theme container. */
:root { --global-content-width: var(--ocs-container); }
.fct-genric-template-wrapper,
.fct-generic-template-wrapper {
	/* !important required - the plugin ships this as a hardcoded inline style */
	margin-top: 0 !important;
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

/* Shop page layout: FluentCart's shop-app.css loads AFTER this file and
   resets the wrapper to repeat(5, minmax(0,1fr)) with an identical-
   specificity selector, letting the sticky filter column squeeze to ~15%
   and paint its contents over the product grid. Win with !important:
   a fixed-minimum sidebar track, products pinned to the rest, and
   overflow clipped so nothing can spill sideways.
   Below 768px the in-flow sidebar is replaced by FluentCart's own
   "Filters" toggle + slide-in panel - the form is JS-driven, so hiding
   the column loses nothing. The tax-archive rules below stay later in
   the file and keep winning where the sidebar is removed entirely. */
/* Abandon FluentCart's shared grid entirely - its shop-app.css loads
   after this file and the Vue app re-renders these nodes, so grid-track
   pinning has proven unreliable. Two flex siblings cannot overlap by
   definition: fixed sidebar basis, products take the rest. !important
   beats FluentCart's display:grid regardless of load order. */
.fct-products-wrapper .fct-products-wrapper-inner {
	display: flex !important;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 1.5rem;
}
.fct-products-wrapper .fct-products-wrapper-inner > .fct-shop-filter-wrapper {
	flex: 0 0 auto;
	width: 230px;
	min-width: 0;
	overflow: hidden;
}
.fct-shop-filter-wrapper .fct-shop-filter-wrapper-inner,
.fct-shop-filter-wrapper .fct-shop-filter-form,
.fct-shop-filter-wrapper .fct-shop-checkbox-group-inner {
	min-width: 0;
}
.fct-products-wrapper .fct-products-wrapper-inner > .fct-products-container {
	flex: 0 0 auto;
	width: calc(100% - 230px - 1.5rem) !important;
	min-width: 0;
}
/* Any other direct child (loaders, pagination, no-results) full row. */
.fct-products-wrapper .fct-products-wrapper-inner > :not(.fct-shop-filter-wrapper):not(.fct-products-container) {
	flex: 0 0 100%;
}
@media (max-width: 768px) {
	.fct-products-wrapper .fct-products-wrapper-inner > .fct-shop-filter-wrapper {
		display: none;
	}
	.fct-products-wrapper .fct-products-wrapper-inner > .fct-products-container {
		width: 100% !important;
	}
}

/* When FluentCart renders no sidebar it marks the layout
   fct-full-container-width - let products take every track again.
   Also on tax archives where the sidebar is hidden below. */
.fct-products-wrapper .fct-full-container-width .fct-products-container,
.fct-products-wrapper .fct-products-container.fct-full-container-width,
.tax-product-categories .fct-products-wrapper-inner > .fct-products-container,
.tax-product-brands .fct-products-wrapper-inner > .fct-products-container {
	grid-column: 1 / -1 !important;
	width: 100% !important;
}

/* Shop/category filter sidebar - the noUiSlider track runs to the column
   edge and its handles overhang ~17px, overlapping the product grid.
   Inset the slider so it and its handles stay inside the filter column. */
.fct-shop-filter-wrapper .fct-shop-price-range-container {
	padding-left: .9rem;
	padding-right: .9rem;
}
.fct-shop-filter-wrapper .fct-shop-range-slider { margin-top: .5rem; }

/* Product category/brand archives: no left filter sidebar - the product
   grid takes the full row. Also removes the mobile "Filters" toggle and
   its slide-in overlay. */
.tax-product-categories .fct-shop-filter-wrapper,
.tax-product-brands .fct-shop-filter-wrapper,
.tax-product-categories .fct-shop-filter-toggle-button,
.tax-product-brands .fct-shop-filter-toggle-button,
.tax-product-categories .fct-shop-responsive-filter-wrapper,
.tax-product-brands .fct-shop-responsive-filter-wrapper { display: none !important; }
.tax-product-categories .fct-products-wrapper-inner .fct-products-container,
.tax-product-brands .fct-products-wrapper-inner .fct-products-container { grid-column: 1 / -1 !important; }

/* Heroes are edge-to-edge. Inside FluentCart's constrained archive
   wrapper the hero breaks out to the viewport edges; overflow-x: clip
   guards against the 100vw scrollbar width. */
html { overflow-x: clip; }
.fct-genric-template-wrapper .ocs-cat-hero,
.fct-generic-template-wrapper .ocs-cat-hero {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* Category hero banner (product-categories / product-brands archives) */
.ocs-cat-hero {
	display: flex; align-items: center; gap: 3rem;
	background: var(--ocs-accent-bg);
	padding: 2.75rem clamp(1.5rem, 4vw, 3.5rem);
	margin-bottom: 2.5rem;
}
.ocs-cat-hero-text { flex: 1 1 auto; min-width: 0; }
.ocs-cat-hero .ocs-breadcrumbs { margin-bottom: 1.1rem; }
.ocs-cat-eyebrow { font-size: .78rem; letter-spacing: .18em; text-transform: uppercase; color: var(--ocs-muted); margin: 0 0 .4rem; }
.ocs-cat-title { font-size: clamp(1.9rem, 4vw, 2.9rem); line-height: 1.15; margin: 0 0 .65rem; }
.ocs-cat-desc { color: var(--ocs-muted); max-width: 42rem; }
.ocs-cat-desc p:last-child { margin-bottom: 0; }
.ocs-cat-count { font-size: .85rem; color: var(--ocs-muted); margin: .8rem 0 0; }
.ocs-cat-hero-media { flex: 0 0 34%; }
.ocs-cat-hero-media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 768px) {
	.ocs-cat-hero { flex-direction: column; align-items: stretch; gap: 1.5rem; padding: 2rem 1.25rem; }
	.ocs-cat-hero-media { flex: none; }
	.ocs-cat-hero-media img { aspect-ratio: 16 / 9; }
}

/* Category FAQ accordion */
.ocs-faq-section {
	max-width: 46rem; margin: 3.5rem auto 0; padding-top: 2.5rem;
	border-top: 1px solid var(--ocs-border);
}
.ocs-faq-heading {
	font-family: var(--ocs-font-head); font-size: 1.75rem; font-weight: 500;
	color: var(--ocs-secondary); margin-bottom: 1.25rem;
}
.ocs-faq-accordion .accordion-item {
	border: 0; border-bottom: 1px solid var(--ocs-border);
	background: transparent; border-radius: 0;
}
.ocs-faq-accordion .accordion-item:first-of-type { border-top: 1px solid var(--ocs-border); }
.ocs-faq-accordion .accordion-button {
	background: transparent; box-shadow: none; border-radius: 0;
	padding: 1.1rem .25rem; font-size: 1rem; font-weight: 500;
	color: var(--ocs-secondary); font-family: var(--ocs-font-body);
}
.ocs-faq-accordion .accordion-button:not(.collapsed) { color: var(--ocs-secondary); background: transparent; }
.ocs-faq-accordion .accordion-button:focus { box-shadow: none; border-color: transparent; }
.ocs-faq-accordion .accordion-button::after { flex-shrink: 0; }
.ocs-faq-accordion .accordion-body {
	padding: 0 2rem 1.25rem .25rem;
	font-size: .95rem; color: var(--ocs-text); line-height: 1.7;
}
body:not(.ocs-checkout-body) [class*="fct-"][class*="-wrapper"],
body:not(.ocs-checkout-body) .fluent-cart-wrapper {
	max-width: var(--ocs-container);
	margin-left: auto;
	margin-right: auto;
}

/* --------------------------------------------------------------- comments */
.ocs-comment-list .comment-body { padding: 1.25rem 0; border-bottom: 1px solid var(--ocs-border); }
.ocs-comment-list .avatar { border-radius: 50%; }

/* -------------------------------------------------------------- responsive */
@media (max-width: 991.98px) {
	.ocs-image-text-media { min-height: 18rem; }
}
@media (max-width: 575.98px) {
	.container { padding-left: 1rem; padding-right: 1rem; }
	.ocs-banner-buttons .btn { width: 100%; }
	.ocs-section-head-split { align-items: flex-start; flex-direction: column; }
	.ocs-product-title, .ocs-product-price { font-size: .92rem; }
	.ocs-collection-title { font-size: 1rem; }
}
