/* Fiberserver base: fonts, Bootstrap mapping and global element tuning for pages built entirely on the theme
   (auth, order pages). Load after fs-kit.css. */

@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/manrope-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02DD-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+20A0-20AB}
@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122}

/* ---------- Bootstrap mapping */
:root,[data-bs-theme=dark]{
  --bs-primary:var(--fs-brand);--bs-primary-rgb:var(--fs-brand-rgb);--bs-secondary:var(--fs-accent);--bs-secondary-rgb:var(--fs-accent-rgb);
  --bs-body-font-family:var(--fs-font);--bs-body-font-size:.9375rem;--bs-body-color:var(--fs-text);--bs-body-bg:var(--fs-page);
  --bs-heading-color:var(--fs-ink);--bs-emphasis-color:var(--fs-ink);--bs-secondary-color:var(--fs-muted);--bs-border-color:var(--fs-line);
  --bs-link-color:var(--fs-brand-text);--bs-link-color-rgb:var(--fs-brand-rgb);--bs-link-hover-color:var(--fs-brand-hover);
  --bs-border-radius:var(--fs-r);--bs-focus-ring-color:rgba(var(--fs-brand-rgb),.18);
  --bs-primary-bg-subtle:var(--fs-brand-tint);--bs-primary-text-emphasis:var(--fs-brand-text);--bs-primary-border-subtle:var(--fs-brand-tint-2);
}

/* ---------- page basics */
html{-webkit-text-size-adjust:100%;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--fs-muted) 45%,transparent) transparent}
body{min-height:100vh;display:flex;flex-direction:column;font-family:var(--fs-font);-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-weight:750;letter-spacing:-.015em;color:var(--fs-ink)}
a{color:var(--fs-brand-text);transition:color .2s}
a:hover{color:var(--fs-brand-hover)}
:focus:not(:focus-visible){outline:0}
@media (prefers-reduced-motion:reduce){*,::before,::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ---------- buttons */
.btn{--bs-btn-border-radius:var(--fs-r);--bs-btn-font-weight:650;--bs-btn-padding-y:.6rem;--bs-btn-padding-x:1.1rem;transition:color .2s,background-color .2s,border-color .2s,box-shadow .2s,transform .12s}
.btn:active{transform:translateY(1px)}
.btn-sm{--bs-btn-padding-y:.35rem;--bs-btn-padding-x:.7rem;--bs-btn-border-radius:var(--fs-r-sm)}
.btn-primary{--bs-btn-bg:var(--fs-brand);--bs-btn-border-color:var(--fs-brand);--bs-btn-hover-bg:var(--fs-brand-hover);--bs-btn-hover-border-color:var(--fs-brand-hover);--bs-btn-active-bg:var(--fs-brand-press);--bs-btn-active-border-color:var(--fs-brand-press);--bs-btn-disabled-bg:var(--fs-brand);--bs-btn-disabled-border-color:var(--fs-brand);--bs-btn-focus-shadow-rgb:var(--fs-brand-rgb);box-shadow:0 8px 18px -10px rgba(var(--fs-brand-rgb),.75)}
.btn-link{--bs-btn-color:var(--fs-brand-text);--bs-btn-hover-color:var(--fs-brand-hover);--bs-btn-active-color:var(--fs-brand-press);text-decoration:none;font-weight:650}
.btn-success{box-shadow:none}

/* ---------- fields */
.form-label{font-weight:650;font-size:.875rem;color:var(--fs-ink);margin-bottom:.4rem}
.form-control,.form-select{border-radius:var(--fs-r);border-color:var(--fs-line);background-color:var(--fs-surface);color:var(--fs-ink);min-height:2.9rem;font-size:.9375rem;padding:.6rem .9rem;transition:border-color .2s,box-shadow .2s,background-color .2s}
.form-control-sm{min-height:2.1rem;font-size:.8125rem;padding:.3rem .65rem;border-radius:var(--fs-r-sm)}
textarea.form-control{min-height:6rem}
.form-control:hover,.form-select:hover{border-color:color-mix(in srgb,var(--fs-brand) 28%,var(--fs-line))}
.form-control:focus,.form-select:focus{border-color:var(--fs-brand);box-shadow:var(--fs-ring)}
.form-control::placeholder{color:color-mix(in srgb,var(--fs-muted) 62%,transparent)}
.form-control[readonly]{background-color:var(--fs-soft)}
.form-control:disabled,.form-select:disabled{background-color:var(--fs-soft);opacity:.75}
input[type=password].form-control{letter-spacing:.12em;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
input[type=password].form-control::placeholder{letter-spacing:normal;font-family:var(--fs-font)}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-text-fill-color:var(--fs-ink);box-shadow:0 0 0 100rem var(--fs-surface) inset;caret-color:var(--fs-ink);transition:background-color 9999s ease-in-out}
.input-group>.btn{border:1px solid var(--fs-line);border-left-width:0;min-width:2.9rem}
.input-group>.btn-tint{background:var(--fs-soft);color:var(--fs-muted)}
.input-group>.btn-tint:hover{background:var(--fs-brand-tint);color:var(--fs-brand-text)}
.input-group>.form-control:focus{z-index:3}
.form-check{padding-left:1.6rem;min-height:1.4rem}
.form-check .form-check-input{margin-left:-1.6rem}
.form-check-input{width:1.05rem;height:1.05rem;border-color:color-mix(in srgb,var(--fs-muted) 70%,var(--fs-line));margin-top:.2rem}
.form-check-input:checked{background-color:var(--fs-brand);border-color:var(--fs-brand)}
.form-check-input:focus{border-color:var(--fs-brand);box-shadow:var(--fs-ring)}
.form-check-label{color:var(--fs-text)}
.invalid-feedback{font-size:.8rem;font-weight:550}
.form-control.is-invalid,.form-select.is-invalid{border-color:#d14343}
.form-control.is-invalid:focus{box-shadow:0 0 0 .22rem rgba(209,67,67,.16)}
.form-text{font-size:.8rem;color:var(--fs-muted)}

/* ---------- cards, dividers */
.card{--bs-card-bg:var(--fs-surface);--bs-card-border-color:var(--fs-line);--bs-card-border-radius:var(--fs-r-lg);box-shadow:var(--fs-shadow-sm)}

/* ---------- menus */
.dropdown-menu{--bs-dropdown-bg:var(--fs-surface);--bs-dropdown-border-color:var(--fs-line);--bs-dropdown-border-radius:var(--fs-r);--bs-dropdown-link-active-bg:var(--fs-brand);--bs-dropdown-link-color:var(--fs-text);--bs-dropdown-link-hover-bg:var(--fs-brand-tint);box-shadow:var(--fs-shadow)}
.nav{--bs-nav-link-color:var(--fs-text);--bs-nav-link-hover-color:var(--fs-brand-text)}
.nav-pills{--bs-nav-pills-link-active-bg:var(--fs-brand)}

/* ---------- dialogs (confirm modal, announcements) */
.modal{--bs-modal-bg:var(--fs-surface);--bs-modal-border-color:var(--fs-line);--bs-modal-border-radius:var(--fs-r-lg);--bs-modal-box-shadow:var(--fs-shadow-lg)}
.modal-header{gap:.85rem;align-items:center;border-bottom:0;padding-bottom:.25rem}
.modal-footer{border-top:0;padding-top:.25rem;gap:.5rem}
.modal-title{font-weight:750;font-size:1.1rem}
.modal-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:2.6rem;height:2.6rem;border-radius:12px;background:var(--fs-brand-tint);color:var(--fs-brand-text);font-size:1.15rem}
.modal-icon--danger{background:#fdeeee;color:#b42318}
.modal-icon--warning{background:#fff4dc;color:#a15c00}
.modal-icon--success{background:#e7f6ef;color:#0b6b4b}
.modal-icon--info{background:#e8f3fc;color:#11609b}
.modal-titles{flex:1;min-width:0}
.modal-header .btn-close{align-self:flex-start}
.tooltip{--bs-tooltip-bg:var(--fs-ink);--bs-tooltip-color:var(--fs-surface);--bs-tooltip-font-size:.78rem;--bs-tooltip-border-radius:var(--fs-r-sm)}

/* ---------- Tom Select */
.ts-wrapper .ts-control{border-radius:var(--fs-r);border-color:var(--fs-line);min-height:2.9rem;padding:.6rem .9rem;background:var(--fs-surface);color:var(--fs-ink);font-size:.9375rem}
.ts-wrapper.focus .ts-control{border-color:var(--fs-brand);box-shadow:var(--fs-ring)}
.ts-wrapper.disabled .ts-control{background:var(--fs-soft);opacity:.75}
.ts-wrapper .ts-control,.ts-wrapper .ts-control>input{outline:0}
.ts-wrapper .ts-control>input:focus{box-shadow:none}
.ts-wrapper .ts-dropdown{background:var(--fs-surface);border:1px solid var(--fs-line);border-radius:var(--fs-r);box-shadow:var(--fs-shadow);font-size:.9rem;margin-top:.35rem;overflow:hidden}
.ts-dropdown .option{padding:.5rem .8rem}
.ts-dropdown .active{background:var(--fs-brand-tint);color:var(--fs-ink)}
.ts-dropdown .dropdown-input-wrap{position:relative;padding:.35rem}
.ts-dropdown .dropdown-input-wrap .ts-search-icon{position:absolute;left:1.1rem;top:50%;transform:translateY(-50%);color:var(--fs-muted);font-size:.85rem;pointer-events:none}
.ts-dropdown .dropdown-input-wrap .dropdown-input{padding-left:2.1rem;border:1px solid var(--fs-line);border-radius:var(--fs-r-sm)}
.ts-dropdown .dropdown-input-wrap .dropdown-input:focus{outline:0;border-color:var(--fs-brand);box-shadow:none}
.ts-dropdown-content{scrollbar-width:thin}
.ts-flag-row{display:flex;align-items:center;gap:.5rem}
.ts-flag-row .iti__flag{margin:0;flex-shrink:0}

/* ---------- phone input (intl-tel-input) */
.iti{width:100%;--iti-border-color:var(--fs-line);--iti-dropdown-bg:var(--fs-surface);--iti-hover-color:var(--fs-soft);--iti-dialcode-color:var(--fs-muted);--iti-arrow-color:var(--fs-muted)}
.iti__selected-country-primary{border-top-left-radius:calc(var(--fs-r) - 1px);border-bottom-left-radius:calc(var(--fs-r) - 1px)}
.iti__dropdown-content{border:1px solid var(--fs-line);border-radius:var(--fs-r);box-shadow:var(--fs-shadow);overflow:hidden;margin-top:.3rem;font-size:.9rem}
.iti__search-input{border:0;border-bottom:1px solid var(--fs-line);background:transparent;color:var(--fs-ink);padding:.55rem .8rem;font-size:.9rem}
.iti__search-input:focus{outline:0}
.iti__country{padding:.3rem .8rem}

/* ---------- accordion inside forms (contracts) */
.accordion{--bs-accordion-bg:var(--fs-surface);--bs-accordion-border-color:var(--fs-line);--bs-accordion-active-bg:var(--fs-brand-tint);--bs-accordion-active-color:var(--fs-ink);--bs-accordion-btn-focus-box-shadow:var(--fs-ring)}

/* ---------- scrollbars in WebKit */
@supports selector(::-webkit-scrollbar){
  ::-webkit-scrollbar{width:11px;height:11px}
  ::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}
  ::-webkit-scrollbar-thumb{background:padding-box rgba(95,112,104,.35);border-radius:10px;border:3px solid transparent}
}
