/* template.min.css (Cassiopeia) */
@charset "UTF-8";/*!
 * Bootstrap  v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root,[data-bs-theme=light]{--blue:#010156;--black:#000;--indigo:#6812f3;--purple:#6f42c2;--pink:#e93f8e;--red:#a51f18;--orange:#fd7e17;--yellow:#ad6200;--green:#448344;--teal:#5abfdd;--cyan:#30638d;--white:#fff;--gray-100:#f9fafb;--gray-200:#eaedf0;--gray-300:#dfe3e7;--gray-400:#ced4da;--gray-500:#adb5bd;--gray-600:#6d757e;--gray-700:#484f56;--gray-800:#353b41;--gray-900:#22262a;--primary:#010156;--secondary:#6d757e;--success:#448344;--info:#30638d;--warning:#ad6200;--danger:#a51f18;--light:#f9fafb;--dark:#353b41;--primary-rgb:1, 1, 86;--secondary-rgb:109, 117, 126;--success-rgb:68, 131, 68;--info-rgb:48, 99, 141;--warning-rgb:173, 98, 0;--danger-rgb:165, 31, 24;--light-rgb:249, 250, 251;--dark-rgb:53, 59, 65;--primary-text-emphasis:#002;--secondary-text-emphasis:#2c2f32;--success-text-emphasis:#1b351b;--info-text-emphasis:#132838;--warning-text-emphasis:#452700;--danger-text-emphasis:#420c09;--light-text-emphasis:#484f56;--dark-text-emphasis:#484f56;--primary-bg-subtle:#ccd;--secondary-bg-subtle:#e2e3e5;--success-bg-subtle:#dae6da;--info-bg-subtle:#d6e0e8;--warning-bg-subtle:#efe0cc;--danger-bg-subtle:#edd2d1;--light-bg-subtle:#fcfcfd;--dark-bg-subtle:#ced4da;--primary-border-subtle:#99b;--secondary-border-subtle:#c5c8cb;--success-border-subtle:#b4ceb4;--info-border-subtle:#acc1d1;--warning-border-subtle:#dec099;--danger-border-subtle:#dba5a2;--light-border-subtle:#eaedf0;--dark-border-subtle:#adb5bd;--white-rgb:255, 255, 255;--black-rgb:0, 0, 0;--font-sans-serif:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--gradient:linear-gradient(180deg, #ffffff26, #fff0);--body-font-family:var(--cassiopeia-font-family-body,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");--body-font-size:1rem;--body-font-weight:400;--body-line-height:1.5;--body-color:#22262a;--body-color-rgb:34, 38, 42;--body-bg:#fff;--body-bg-rgb:255, 255, 255;--emphasis-color:#000;--emphasis-color-rgb:0, 0, 0;--secondary-color:#22262abf;--secondary-color-rgb:34, 38, 42;--secondary-bg:#eaedf0;--secondary-bg-rgb:234, 237, 240;--tertiary-color:#22262a80;--tertiary-color-rgb:34, 38, 42;--tertiary-bg:#f9fafb;--tertiary-bg-rgb:249, 250, 251;--heading-color:inherit;--link-color:#224faa;--link-color-rgb:34, 79, 170;--link-decoration:underline;--link-hover-color:#424077;--link-hover-color-rgb:66, 64, 119;--code-color:#e93f8e;--highlight-color:#22262a;--highlight-bg:#fbeea8;--border-width:1px;--border-style:solid;--border-color:#dfe3e7;--border-color-translucent:#0000002d;--border-radius:.25rem;--border-radius-sm:.2rem;--border-radius-lg:.3rem;--border-radius-xl:.3rem;--border-radius-xxl:2rem;--border-radius-2xl:var(--border-radius-xxl);--border-radius-pill:50rem;--box-shadow:0 .5rem 1rem #00000026;--box-shadow-sm:0 .125rem .25rem #00000013;--box-shadow-lg:0 1rem 3rem #0000002d;--box-shadow-inset:inset 0 1px 2px #00000013;--focus-ring-width:.25rem;--focus-ring-opacity:.25;--focus-ring-color:#01015640;--form-valid-color:#448344;--form-valid-border-color:#448344;--form-invalid-color:#a51f18;--form-invalid-border-color:#a51f18}*,:before,:after{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{font-family:var(--body-font-family);font-size:var(--body-font-size);font-weight:var(--body-font-weight);line-height:var(--body-line-height);color:var(--body-color);text-align:var(--body-text-align);background-color:var(--body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:#0000;margin:0}hr{color:inherit;border:0;border-top:var(--border-width) solid;opacity:.25;margin:1rem 0}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{color:var(--heading-color);margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1,.h1{font-size:calc(1.375rem + 1.5vw)}@media (width>=1200px){h1,.h1{font-size:2.5rem}}h2,.h2{font-size:calc(1.325rem + .9vw)}@media (width>=1200px){h2,.h2{font-size:2rem}}h3,.h3{font-size:calc(1.3rem + .6vw)}@media (width>=1200px){h3,.h3{font-size:1.75rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (width>=1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:1.25rem}h6,.h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{cursor:help;text-decoration-skip-ink:none;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1rem}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}mark,.mark{color:var(--highlight-color);background-color:var(--highlight-bg);padding:.1875em 0}sub,sup{vertical-align:baseline;font-size:.75em;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--link-color-rgb), var(--link-opacity,1));text-decoration:underline}a:hover{--link-color-rgb:var(--link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--font-monospace);font-size:1em}pre{margin-top:0;margin-bottom:1rem;font-size:.875em;display:block;overflow:auto}pre code{font-size:inherit;color:inherit;word-break:normal}code{color:var(--code-color);word-wrap:break-word;font-size:.875em}a>code{color:inherit}kbd{color:var(--body-bg);background-color:var(--body-color);border-radius:.2rem;padding:.1875rem .375rem;font-size:.875em}kbd kbd{padding:0;font-size:1em}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{color:var(--secondary-color);text-align:left;padding-top:.5rem;padding-bottom:.5rem}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}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}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{border-style:none;padding:0}textarea{resize:vertical}fieldset{border:0;min-width:0;margin:0;padding:0}legend{float:left;width:100%;line-height:inherit;margin-bottom:.5rem;padding:0;font-size:calc(1.275rem + .3vw)}@media (width>=1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale()}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{cursor:pointer;display:list-item}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (width>=1200px){.display-5{font-size:3rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.img-fluid{max-width:100%;height:auto}.img-thumbnail{background-color:var(--body-bg);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);max-width:100%;height:auto;padding:.25rem}.figure{display:inline-block}.container,.container-xxl{--gutter-x:1em;--gutter-y:0;width:100%;padding-right:calc(var(--gutter-x) * .5);padding-left:calc(var(--gutter-x) * .5);margin-left:auto;margin-right:auto}@media (width>=576px){.container{max-width:540px}}@media (width>=768px){.container{max-width:720px}}@media (width>=992px){.container{max-width:960px}}@media (width>=1200px){.container{max-width:1140px}}@media (width>=1400px){.container-xxl,.container{max-width:1320px}}:root{--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--breakpoint-xxl:1400px}.row{--gutter-x:1em;--gutter-y:0;margin-top:calc(-1 * var(--gutter-y));margin-right:calc(-.5 * var(--gutter-x));margin-left:calc(-.5 * var(--gutter-x));flex-wrap:wrap;display:flex}.row>*{width:100%;max-width:100%;padding-right:calc(var(--gutter-x) * .5);padding-left:calc(var(--gutter-x) * .5);margin-top:var(--gutter-y);flex-shrink:0}.col{flex:1 0 0}.col-12{flex:none;width:100%}.g-3{--gutter-x:1rem}.g-3{--gutter-y:1rem}@media (width>=576px){.col-sm-3{flex:none;width:25%}.col-sm-9{flex:none;width:75%}.offset-sm-3{margin-left:25%}}@media (width>=768px){.col-md-2{flex:none;width:16.6667%}.col-md-4{flex:none;width:33.3333%}.col-md-6{flex:none;width:50%}.col-md-8{flex:none;width:66.6667%}.col-md-12{flex:none;width:100%}}@media (width>=992px){.col-lg-5{flex:none;width:41.6667%}.col-lg-6{flex:none;width:50%}.col-lg-7{flex:none;width:58.3333%}}@media (width>=1200px){.col-xl-5{flex:none;width:41.6667%}.col-xl-6{flex:none;width:50%}.col-xl-7{flex:none;width:58.3333%}}.table{--table-color-type:initial;--table-bg-type:initial;--table-color-state:initial;--table-bg-state:initial;--table-color:var(--emphasis-color);--table-bg:var(--body-bg);--table-border-color:var(--border-color);--table-accent-bg:transparent;--table-striped-color:var(--emphasis-color);--table-striped-bg:rgba(var(--emphasis-color-rgb), .05);--table-active-color:var(--emphasis-color);--table-active-bg:rgba(var(--emphasis-color-rgb), .1);--table-hover-color:var(--emphasis-color);--table-hover-bg:rgba(var(--emphasis-color-rgb), .075);vertical-align:top;border-color:var(--table-border-color);width:100%;margin-bottom:1rem}.table>:not(caption)>*>*{color:var(--table-color-state,var(--table-color-type,var(--table-color)));background-color:var(--table-bg);border-bottom-width:var(--border-width);box-shadow:inset 0 0 0 9999px var(--table-bg-state,var(--table-bg-type,var(--table-accent-bg)));padding:.5rem}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--border-width)}.table-striped>tbody>tr:nth-of-type(odd)>*{--table-color-type:var(--table-striped-color);--table-bg-type:var(--table-striped-bg)}.table-hover>tbody>tr:hover>*{--table-color-state:var(--table-hover-color);--table-bg-state:var(--table-hover-bg)}.table-primary{--table-color:#000;--table-bg:#cfd4dd;--table-border-color:#a6aab1;--table-striped-bg:#c5c9d2;--table-striped-color:#000;--table-active-bg:#bbbfc7;--table-active-color:#000;--table-hover-bg:#c0c4cc;--table-hover-color:#000;color:var(--table-color);border-color:var(--table-border-color)}.table-warning{--table-color:#000;--table-bg:#efe0cc;--table-border-color:#bfb3a3;--table-striped-bg:#e3d4c2;--table-striped-color:#000;--table-active-bg:#d7c9b8;--table-active-color:#000;--table-hover-bg:#ddcfbd;--table-hover-color:#000;color:var(--table-color);border-color:var(--table-border-color)}.table-dark{--table-color:#fff;--table-bg:#353b41;--table-border-color:#5d6267;--table-striped-bg:#3f444a;--table-striped-color:#fff;--table-active-bg:#494e54;--table-active-color:#fff;--table-hover-bg:#44494f;--table-hover-color:#fff;color:var(--table-color);border-color:var(--table-border-color)}.table-responsive{-webkit-overflow-scrolling:touch;overflow-x:auto}.col-form-label{padding-top:calc(.6rem + var(--border-width));padding-bottom:calc(.6rem + var(--border-width));font-size:inherit;margin-bottom:0;line-height:1.5}.form-text{color:var(--secondary-color);margin-top:.25rem;font-size:.875em}.form-control{width:100%;color:var(--body-color);appearance:none;background-color:var(--body-bg);border:var(--border-width) solid #ced4da;border-radius:var(--border-radius);background-clip:padding-box;padding:.6rem 1rem;font-size:1rem;font-weight:400;line-height:1.5;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:block}@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(--body-color);background-color:var(--body-bg);border-color:#8893aa;outline:0;box-shadow:0 0 0 .25rem #01015640}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{padding:0;display:block}.form-control::placeholder{color:var(--secondary-color);opacity:1}.form-control:disabled{background-color:var(--secondary-bg);opacity:1}.form-control::file-selector-button{color:var(--body-color);background-color:var(--tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--border-width);margin:-.6rem -1rem;border-radius:0;margin-inline-end:1rem;padding:.6rem 1rem;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::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--secondary-bg)}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--border-width) * 2));border-radius:var(--border-radius-sm);padding:.25rem .5rem;font-size:.875rem}.form-control-sm::file-selector-button{margin:-.25rem -.5rem;margin-inline-end:.5rem;padding:.25rem .5rem}textarea.form-control{min-height:calc(1.5em + 1.2rem + calc(var(--border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--border-width) * 2))}.form-select{--form-select-bg-img:url(../../cassiopeia/images/select-bg.svg?v=e670ca);width:100%;color:var(--body-color);appearance:none;background-color:#eaedf0;background-image:var(--form-select-bg-img), var(--form-select-bg-icon,none);border:var(--border-width) solid #ced4da;border-radius:var(--border-radius);background-position:right 1rem center;background-repeat:no-repeat;background-size:116rem;padding:.6rem 3rem .6rem 1rem;font-size:1rem;font-weight:400;line-height:1.5;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:block}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#8893aa;outline:0;box-shadow:0 0 0 .25rem #01015640}.form-select[multiple],.form-select[size]:not([size="1"]){background-image:none;padding-right:1rem}.form-select:disabled{background-color:var(--secondary-bg)}.form-select:-moz-focusring{color:#0000;text-shadow:0 0 0 var(--body-color)}.form-select-sm{border-radius:var(--border-radius-sm);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.form-check{min-height:1.5rem;margin-bottom:.125rem;padding-left:1.5em;display:block}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{--form-check-bg:var(--body-bg);vertical-align:top;appearance:none;background-color:var(--form-check-bg);background-image:var(--form-check-bg-image);border:var(--border-width) solid var(--border-color);print-color-adjust:exact;background-position:50%;background-repeat:no-repeat;background-size:contain;flex-shrink:0;width:1em;height:1em;margin-top:.25em}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#8893aa;outline:0;box-shadow:0 0 0 .25rem #01015640}.form-check-input:checked{background-color:#010156;border-color:#010156}.form-check-input:checked[type=checkbox]{--form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='hsl%280, 0%, 100%%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='hsl%280, 0%, 100%%29'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{--form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='hsl%280, 0%, 100%%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");background-color:#010156;border-color:#010156}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-check-inline{margin-right:1rem;display:inline-block}.btn-check{clip:rect(0, 0, 0, 0);pointer-events:none;position:absolute}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{appearance:none;background-color:#0000;width:100%;height:1.5rem;padding:0}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #01015640}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #01015640}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{appearance:none;background-color:#010156;border:0;border-radius:1rem;width:1rem;height:1rem;margin-top:-.25rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b8becc}.form-range::-webkit-slider-runnable-track{color:#0000;cursor:pointer;background-color:var(--secondary-bg);border-color:#0000;border-radius:1rem;width:100%;height:.5rem}.form-range::-moz-range-thumb{appearance:none;background-color:#010156;border:0;border-radius:1rem;width:1rem;height:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#b8becc}.form-range::-moz-range-track{color:#0000;cursor:pointer;background-color:var(--secondary-bg);border-color:#0000;border-radius:1rem;width:100%;height:.5rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--secondary-color)}.input-group{flex-wrap:wrap;align-items:stretch;width:100%;display:flex;position:relative}.input-group>.form-control,.input-group>.form-select{flex:auto;width:1%;min-width:0;position:relative}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:5}.input-group .btn{z-index:2;position:relative}.input-group .btn:focus{z-index:5}.input-group-text{color:var(--body-color);text-align:center;white-space:nowrap;background-color:var(--tertiary-bg);border:var(--border-width) solid #ced4da;border-radius:var(--border-radius);align-items:center;padding:.6rem 1rem;font-size:1rem;font-weight:400;line-height:1.5;display:flex}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3){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(-1 * var(--border-width));border-top-left-radius:0;border-bottom-left-radius:0}.btn{--btn-padding-x:1rem;--btn-padding-y:.6rem;--btn-font-family: ;--btn-font-size:1rem;--btn-font-weight:400;--btn-line-height:1.5;--btn-color:var(--body-color);--btn-bg:transparent;--btn-border-width:var(--border-width);--btn-border-color:transparent;--btn-border-radius:.25rem;--btn-hover-border-color:transparent;--btn-box-shadow:inset 0 1px 0 #ffffff26, 0 1px 1px #00000013;--btn-disabled-opacity:.65;--btn-focus-box-shadow:0 0 0 .25rem rgba(var(--btn-focus-shadow-rgb), .5);padding:var(--btn-padding-y) var(--btn-padding-x);font-family:var(--btn-font-family);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);line-height:var(--btn-line-height);color:var(--btn-color);text-align:center;vertical-align:middle;cursor:pointer;user-select:none;border:var(--btn-border-width) solid var(--btn-border-color);border-radius:var(--btn-border-radius);background-color:var(--btn-bg);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:inline-block}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--btn-hover-color);background-color:var(--btn-hover-bg);border-color:var(--btn-hover-border-color)}.btn-check+.btn:hover{color:var(--btn-color);background-color:var(--btn-bg);border-color:var(--btn-border-color)}.btn:focus-visible{color:var(--btn-hover-color);background-color:var(--btn-hover-bg);border-color:var(--btn-hover-border-color);box-shadow:var(--btn-focus-box-shadow);outline:0}.btn-check:focus-visible+.btn{border-color:var(--btn-hover-border-color);box-shadow:var(--btn-focus-box-shadow);outline:0}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--btn-active-color);background-color:var(--btn-active-bg);border-color:var(--btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn-check:checked:focus-visible+.btn{box-shadow:var(--btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--btn-disabled-color);pointer-events:none;background-color:var(--btn-disabled-bg);border-color:var(--btn-disabled-border-color);opacity:var(--btn-disabled-opacity)}.btn-primary{--btn-color:#fff;--btn-bg:#010156;--btn-border-color:#010156;--btn-hover-color:#fff;--btn-hover-bg:#010149;--btn-hover-border-color:#010145;--btn-focus-shadow-rgb:39, 39, 111;--btn-active-color:#fff;--btn-active-bg:#010145;--btn-active-border-color:#010140;--btn-active-shadow:inset 0 3px 5px #00000020;--btn-disabled-color:#fff;--btn-disabled-bg:#010156;--btn-disabled-border-color:#010156}.btn-secondary{--btn-color:#fff;--btn-bg:#6d757e;--btn-border-color:#6d757e;--btn-hover-color:#fff;--btn-hover-bg:#5d646b;--btn-hover-border-color:#575e64;--btn-focus-shadow-rgb:131, 138, 145;--btn-active-color:#fff;--btn-active-bg:#575e64;--btn-active-border-color:#52585e;--btn-active-shadow:inset 0 3px 5px #00000020;--btn-disabled-color:#fff;--btn-disabled-bg:#6d757e;--btn-disabled-border-color:#6d757e}.btn-success{--btn-color:#fff;--btn-bg:#448344;--btn-border-color:#448344;--btn-hover-color:#fff;--btn-hover-bg:#397039;--btn-hover-border-color:#366936;--btn-focus-shadow-rgb:96, 150, 96;--btn-active-color:#fff;--btn-active-bg:#366936;--btn-active-border-color:#336233;--btn-active-shadow:inset 0 3px 5px #00000020;--btn-disabled-color:#fff;--btn-disabled-bg:#448344;--btn-disabled-border-color:#448344}.btn-info{--btn-color:#fff;--btn-bg:#30638d;--btn-border-color:#30638d;--btn-hover-color:#fff;--btn-hover-bg:#295477;--btn-hover-border-color:#264f70;--btn-focus-shadow-rgb:79, 122, 158;--btn-active-color:#fff;--btn-active-bg:#264f70;--btn-active-border-color:#244a69;--btn-active-shadow:inset 0 3px 5px #00000020;--btn-disabled-color:#fff;--btn-disabled-bg:#30638d;--btn-disabled-border-color:#30638d}.btn-warning{--btn-color:#fff;--btn-bg:#ad6200;--btn-border-color:#ad6200;--btn-hover-color:#fff;--btn-hover-bg:#935400;--btn-hover-border-color:#8b4f00;--btn-focus-shadow-rgb:186, 122, 38;--btn-active-color:#fff;--btn-active-bg:#8b4f00;--btn-active-border-color:#824a00;--btn-active-shadow:inset 0 3px 5px #00000020;--btn-disabled-color:#fff;--btn-disabled-bg:#ad6200;--btn-disabled-border-color:#ad6200}.btn-danger{--btn-color:#fff;--btn-bg:#a51f18;--btn-border-color:#a51f18;--btn-hover-color:#fff;--btn-hover-bg:#8c1a14;--btn-hover-border-color:#841913;--btn-focus-shadow-rgb:179, 64, 58;--btn-active-color:#fff;--btn-active-bg:#841913;--btn-active-border-color:#7c1712;--btn-active-shadow:inset 0 3px 5px #00000020;--btn-disabled-color:#fff;--btn-disabled-bg:#a51f18;--btn-disabled-border-color:#a51f18}.btn-dark{--btn-color:#fff;--btn-bg:#353b41;--btn-border-color:#353b41;--btn-hover-color:#fff;--btn-hover-bg:#53585d;--btn-hover-border-color:#494e54;--btn-focus-shadow-rgb:83, 88, 93;--btn-active-color:#fff;--btn-active-bg:#5d6267;--btn-active-border-color:#494e54;--btn-active-shadow:inset 0 3px 5px #00000020;--btn-disabled-color:#fff;--btn-disabled-bg:#353b41;--btn-disabled-border-color:#353b41}.btn-outline-primary{--btn-color:#010156;--btn-border-color:#010156;--btn-hover-color:#fff;--btn-hover-bg:#010156;--btn-hover-border-color:#010156;--btn-focus-shadow-rgb:1, 1, 86;--btn-active-color:#fff;--btn-active-bg:#010156;--btn-active-border-color:#010156;--btn-active-shadow:inset 0 3px 5px #00000020;--btn-disabled-color:#010156;--btn-disabled-bg:transparent;--btn-disabled-border-color:#010156;--gradient:none}.btn-outline-secondary{--btn-color:#6d757e;--btn-border-color:#6d757e;--btn-hover-color:#fff;--btn-hover-bg:#6d757e;--btn-hover-border-color:#6d757e;--btn-focus-shadow-rgb:109, 117, 126;--btn-active-color:#fff;--btn-active-bg:#6d757e;--btn-active-border-color:#6d757e;--btn-active-shadow:inset 0 3px 5px #00000020;--btn-disabled-color:#6d757e;--btn-disabled-bg:transparent;--btn-disabled-border-color:#6d757e;--gradient:none}.btn-outline-success{--btn-color:#448344;--btn-border-color:#448344;--btn-hover-color:#fff;--btn-hover-bg:#448344;--btn-hover-border-color:#448344;--btn-focus-shadow-rgb:68, 131, 68;--btn-active-color:#fff;--btn-active-bg:#448344;--btn-active-border-color:#448344;--btn-active-shadow:inset 0 3px 5px #00000020;--btn-disabled-color:#448344;--btn-disabled-bg:transparent;--btn-disabled-border-color:#448344;--gradient:none}.btn-outline-info{--btn-color:#30638d;--btn-border-color:#30638d;--btn-hover-color:#fff;--btn-hover-bg:#30638d;--btn-hover-border-color:#30638d;--btn-focus-shadow-rgb:48, 99, 141;--btn-active-color:#fff;--btn-active-bg:#30638d;--btn-active-border-color:#30638d;--btn-active-shadow:inset 0 3px 5px #00000020;--btn-disabled-color:#30638d;--btn-disabled-bg:transparent;--btn-disabled-border-color:#30638d;--gradient:none}.btn-outline-danger{--btn-color:#a51f18;--btn-border-color:#a51f18;--btn-hover-color:#fff;--btn-hover-bg:#a51f18;--btn-hover-border-color:#a51f18;--btn-focus-shadow-rgb:165, 31, 24;--btn-active-color:#fff;--btn-active-bg:#a51f18;--btn-active-border-color:#a51f18;--btn-active-shadow:inset 0 3px 5px #00000020;--btn-disabled-color:#a51f18;--btn-disabled-bg:transparent;--btn-disabled-border-color:#a51f18;--gradient:none}.btn-link{--btn-font-weight:400;--btn-color:var(--link-color);--btn-bg:transparent;--btn-border-color:transparent;--btn-hover-color:var(--link-hover-color);--btn-hover-border-color:transparent;--btn-active-color:var(--link-hover-color);--btn-active-border-color:transparent;--btn-disabled-color:#6d757e;--btn-disabled-border-color:transparent;--btn-box-shadow:0 0 0 #000;--btn-focus-shadow-rgb:67, 106, 183;text-decoration:underline}.btn-link:focus-visible{color:var(--btn-color)}.btn-link:hover{color:var(--btn-hover-color)}.btn-lg{--btn-padding-y:.5rem;--btn-padding-x:1rem;--btn-font-size:1.25rem;--btn-border-radius:var(--border-radius-lg)}.btn-sm,.btn-group-sm>.btn{--btn-padding-y:.25rem;--btn-padding-x:.5rem;--btn-font-size:.875rem;--btn-border-radius:var(--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;transition:height .35s;overflow:hidden}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{vertical-align:.255em;content:"";border:.3em solid #0000;border-top-color:currentColor;border-bottom:0;margin-left:.255em;display:inline-block}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--dropdown-zindex:1000;--dropdown-min-width:10rem;--dropdown-padding-x:0;--dropdown-padding-y:.5rem;--dropdown-spacer:.125rem;--dropdown-font-size:1rem;--dropdown-color:var(--body-color);--dropdown-bg:var(--body-bg);--dropdown-border-color:var(--border-color-translucent);--dropdown-border-radius:var(--border-radius);--dropdown-border-width:var(--border-width);--dropdown-inner-border-radius:calc(var(--border-radius) - var(--border-width));--dropdown-divider-bg:var(--border-color-translucent);--dropdown-divider-margin-y:.5rem;--dropdown-box-shadow:var(--box-shadow);--dropdown-link-color:var(--body-color);--dropdown-link-hover-color:var(--body-color);--dropdown-link-hover-bg:var(--tertiary-bg);--dropdown-link-active-color:#fff;--dropdown-link-active-bg:#010156;--dropdown-link-disabled-color:var(--tertiary-color);--dropdown-item-padding-x:1rem;--dropdown-item-padding-y:.25rem;--dropdown-header-color:#6d757e;--dropdown-header-padding-x:1rem;--dropdown-header-padding-y:.5rem;z-index:var(--dropdown-zindex);min-width:var(--dropdown-min-width);padding:var(--dropdown-padding-y) var(--dropdown-padding-x);font-size:var(--dropdown-font-size);color:var(--dropdown-color);text-align:left;background-color:var(--dropdown-bg);border:var(--dropdown-border-width) solid var(--dropdown-border-color);border-radius:var(--dropdown-border-radius);background-clip:padding-box;margin:0;list-style:none;display:none;position:absolute}.dropdown-menu[data-bs-popper]{margin-top:var(--dropdown-spacer);top:100%;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{left:auto;right:0}.dropup .dropdown-menu[data-bs-popper]{margin-top:0;margin-bottom:var(--dropdown-spacer);top:auto;bottom:100%}.dropup .dropdown-toggle:after{vertical-align:.255em;content:"";border:.3em solid #0000;border-top:0;border-bottom-color:currentColor;margin-left:.255em;display:inline-block}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{margin-top:0;margin-left:var(--dropdown-spacer);top:0;left:100%;right:auto}.dropend .dropdown-toggle:after{vertical-align:.255em;content:"";border:.3em solid #0000;border-left-color:currentColor;border-right:0;margin-left:.255em;display:inline-block}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{margin-top:0;margin-right:var(--dropdown-spacer);top:0;left:auto;right:100%}.dropstart .dropdown-toggle:after{vertical-align:.255em;content:"";margin-left:.255em;display:none}.dropstart .dropdown-toggle:before{vertical-align:.255em;content:"";border-top:.3em solid #0000;border-bottom:.3em solid #0000;border-right:.3em solid;margin-right:.255em;display:inline-block}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--dropdown-divider-margin-y) 0;border-top:1px solid var(--dropdown-divider-bg);opacity:1;overflow:hidden}.dropdown-item{width:100%;padding:var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);clear:both;color:var(--dropdown-link-color);text-align:inherit;white-space:nowrap;border-radius:var(--dropdown-item-border-radius,0);background-color:#0000;border:0;font-weight:400;text-decoration:none;display:block}.dropdown-item:hover,.dropdown-item:focus{color:var(--dropdown-link-hover-color);background-color:var(--dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--dropdown-link-active-color);background-color:var(--dropdown-link-active-bg);text-decoration:none}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--dropdown-link-disabled-color);pointer-events:none;background-color:#0000}.dropdown-menu.show{display:block}.dropdown-header{padding:var(--dropdown-header-padding-y) var(--dropdown-header-padding-x);color:var(--dropdown-header-color);white-space:nowrap;margin-bottom:0;font-size:.875rem;display:block}.btn-group{vertical-align:middle;display:inline-flex;position:relative}.btn-group>.btn{flex:auto;position:relative}.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active{z-index:1}.btn-toolbar{flex-wrap:wrap;justify-content:flex-start;display:flex}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.25rem}.btn-group>:not(.btn-check:first-child)+.btn,.btn-group>.btn-group:not(:first-child){margin-left:calc(-1 * var(--border-width))}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn,.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}.dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after,.dropend .dropdown-toggle-split:after{margin-left:0}.dropstart .dropdown-toggle-split:before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}.btn-lg+.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}.nav{--nav-link-padding-x:1rem;--nav-link-padding-y:.5rem;--nav-link-font-weight: ;--nav-link-color:var(--link-color);--nav-link-hover-color:var(--link-hover-color);--nav-link-disabled-color:var(--secondary-color);flex-wrap:wrap;margin-bottom:0;padding-left:0;list-style:none;display:flex}.nav-link{padding:var(--nav-link-padding-y) var(--nav-link-padding-x);font-size:var(--nav-link-font-size);font-weight:var(--nav-link-font-weight);color:var(--nav-link-color);background:0 0;border:0;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;display:block}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:hover,.nav-link:focus{color:var(--nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #01015640}.nav-link.disabled,.nav-link:disabled{color:var(--nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--nav-tabs-border-width:var(--border-width);--nav-tabs-border-color:var(--border-color);--nav-tabs-border-radius:var(--border-radius);--nav-tabs-link-hover-border-color:var(--secondary-bg) var(--secondary-bg) var(--border-color);--nav-tabs-link-active-color:var(--emphasis-color);--nav-tabs-link-active-bg:var(--body-bg);--nav-tabs-link-active-border-color:var(--border-color) var(--border-color) var(--body-bg);border-bottom:var(--nav-tabs-border-width) solid var(--nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--nav-tabs-border-width));border:var(--nav-tabs-border-width) solid transparent;border-top-left-radius:var(--nav-tabs-border-radius);border-top-right-radius:var(--nav-tabs-border-radius)}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--nav-tabs-link-hover-border-color)}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:var(--nav-tabs-link-active-color);background-color:var(--nav-tabs-link-active-bg);border-color:var(--nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--navbar-padding-x:0;--navbar-padding-y:.5rem;--navbar-color:rgba(var(--emphasis-color-rgb), .65);--navbar-hover-color:rgba(var(--emphasis-color-rgb), .8);--navbar-disabled-color:rgba(var(--emphasis-color-rgb), .3);--navbar-active-color:rgba(var(--emphasis-color-rgb), 1);--navbar-brand-padding-y:.3125rem;--navbar-brand-margin-end:1rem;--navbar-brand-font-size:1.25rem;--navbar-brand-color:rgba(var(--emphasis-color-rgb), 1);--navbar-brand-hover-color:rgba(var(--emphasis-color-rgb), 1);--navbar-nav-link-padding-x:.5rem;--navbar-toggler-padding-y:.25rem;--navbar-toggler-padding-x:.75rem;--navbar-toggler-font-size:1.25rem;--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%2834.0425, 38.25, 42.4575, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--navbar-toggler-border-color:rgba(var(--emphasis-color-rgb), .15);--navbar-toggler-border-radius:.25rem;--navbar-toggler-focus-width:.25rem;--navbar-toggler-transition:box-shadow .15s ease-in-out;padding:var(--navbar-padding-y) var(--navbar-padding-x);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex;position:relative}.navbar>.container,.navbar>.container-xxl{flex-wrap:inherit;justify-content:space-between;align-items:center;display:flex}.navbar-nav{--nav-link-padding-x:0;--nav-link-padding-y:.5rem;--nav-link-font-weight: ;--nav-link-color:var(--navbar-color);--nav-link-hover-color:var(--navbar-hover-color);--nav-link-disabled-color:var(--navbar-disabled-color);flex-direction:column;margin-bottom:0;padding-left:0;list-style:none;display:flex}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar[data-bs-theme=dark]{--navbar-color:#ffffff8c;--navbar-hover-color:#ffffffbf;--navbar-disabled-color:#ffffff40;--navbar-active-color:#fff;--navbar-brand-color:#fff;--navbar-brand-hover-color:#fff;--navbar-toggler-border-color:#ffffff1a;--navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--card-spacer-y:1rem;--card-spacer-x:1rem;--card-title-spacer-y:.5rem;--card-title-color: ;--card-subtitle-color: ;--card-border-width:var(--border-width);--card-border-color:#dfe3e7;--card-border-radius:var(--border-radius);--card-box-shadow: ;--card-inner-border-radius:calc(var(--border-radius) - (var(--border-width)));--card-cap-padding-y:.5rem;--card-cap-padding-x:1rem;--card-cap-bg:rgba(var(--body-color-rgb), .03);--card-cap-color: ;--card-height: ;--card-color: ;--card-bg:var(--body-bg);--card-img-overlay-padding:1rem;--card-group-margin:.5em;min-width:0;height:var(--card-height);color:var(--body-color);word-wrap:break-word;background-color:var(--card-bg);border:var(--card-border-width) solid var(--card-border-color);border-radius:var(--card-border-radius);background-clip:border-box;flex-direction:column;display:flex;position:relative}.card>hr{margin-left:0;margin-right:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-left-radius:var(--card-inner-border-radius);border-top-right-radius:var(--card-inner-border-radius);border-top-width:0}.card>.list-group:last-child{border-bottom-right-radius:var(--card-inner-border-radius);border-bottom-left-radius:var(--card-inner-border-radius);border-bottom-width:0}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{padding:var(--card-spacer-y) var(--card-spacer-x);color:var(--card-color);flex:auto}.card-text:last-child{margin-bottom:0}.card-header{padding:var(--card-cap-padding-y) var(--card-cap-padding-x);color:var(--card-cap-color);background-color:var(--card-cap-bg);border-bottom:var(--card-border-width) solid var(--card-border-color);margin-bottom:0}.card-header:first-child{border-radius:var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0}.card-footer{padding:var(--card-cap-padding-y) var(--card-cap-padding-x);color:var(--card-cap-color);background-color:var(--card-cap-bg);border-top:var(--card-border-width) solid var(--card-border-color)}.card-footer:last-child{border-radius:0 0 var(--card-inner-border-radius) var(--card-inner-border-radius)}.accordion{--accordion-color:var(--body-color);--accordion-bg:var(--body-bg);--accordion-transition:color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out, border-radius .15s ease;--accordion-border-color:var(--border-color);--accordion-border-width:var(--border-width);--accordion-border-radius:var(--border-radius);--accordion-inner-border-radius:calc(var(--border-radius) - (var(--border-width)));--accordion-btn-padding-x:1.25rem;--accordion-btn-padding-y:1rem;--accordion-btn-color:var(--body-color);--accordion-btn-bg:var(--accordion-bg);--accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='hsl%28210, 11%, 15%%29' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--accordion-btn-icon-width:1.25rem;--accordion-btn-icon-transform:rotate(-180deg);--accordion-btn-icon-transition:transform .2s ease-in-out;--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='rgb%280.3468, 0.3468, 34.3332%29' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");--accordion-btn-focus-box-shadow:0 0 0 .25rem #01015640;--accordion-body-padding-x:1.25rem;--accordion-body-padding-y:1rem;--accordion-active-color:#0f244d;--accordion-active-bg:#e7e9ee}.breadcrumb{--breadcrumb-padding-x:0;--breadcrumb-padding-y:0;--breadcrumb-margin-bottom:1rem;--breadcrumb-bg: ;--breadcrumb-border-radius: ;--breadcrumb-divider-color:var(--secondary-color);--breadcrumb-item-padding-x:.5rem;--breadcrumb-item-active-color:#484f56;padding:var(--breadcrumb-padding-y) var(--breadcrumb-padding-x);margin-bottom:var(--breadcrumb-margin-bottom);font-size:var(--breadcrumb-font-size);background-color:var(--breadcrumb-bg);border-radius:var(--breadcrumb-border-radius);flex-wrap:wrap;list-style:none;display:flex}.breadcrumb-item+.breadcrumb-item{padding-left:var(--breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item:before{float:left;padding-right:var(--breadcrumb-item-padding-x);color:var(--breadcrumb-divider-color);content:var(--breadcrumb-divider,"/") }.breadcrumb-item.active{color:var(--breadcrumb-item-active-color)}.pagination{--pagination-padding-x:.75rem;--pagination-padding-y:.375rem;--pagination-font-size:1rem;--pagination-color:var(--link-color);--pagination-bg:var(--body-bg);--pagination-border-width:var(--border-width);--pagination-border-color:var(--border-color);--pagination-border-radius:var(--border-radius);--pagination-hover-color:var(--link-hover-color);--pagination-hover-bg:var(--tertiary-bg);--pagination-hover-border-color:var(--border-color);--pagination-focus-color:var(--link-hover-color);--pagination-focus-bg:var(--secondary-bg);--pagination-focus-box-shadow:0 0 0 .25rem #01015640;--pagination-active-color:#fff;--pagination-active-bg:#010156;--pagination-active-border-color:#010156;--pagination-disabled-color:var(--secondary-color);--pagination-disabled-bg:var(--secondary-bg);--pagination-disabled-border-color:var(--border-color);padding-left:0;list-style:none;display:flex}.page-link{padding:var(--pagination-padding-y) var(--pagination-padding-x);font-size:var(--pagination-font-size);color:var(--pagination-color);background-color:var(--pagination-bg);border:var(--pagination-border-width) solid var(--pagination-border-color);text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:block;position:relative}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--pagination-hover-color);background-color:var(--pagination-hover-bg);border-color:var(--pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--pagination-focus-color);background-color:var(--pagination-focus-bg);box-shadow:var(--pagination-focus-box-shadow);outline:0}.page-link.active,.active>.page-link{z-index:3;color:var(--pagination-active-color);background-color:var(--pagination-active-bg);border-color:var(--pagination-active-border-color)}.page-link.disabled,.disabled>.page-link{color:var(--pagination-disabled-color);pointer-events:none;background-color:var(--pagination-disabled-bg);border-color:var(--pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--pagination-border-radius);border-bottom-left-radius:var(--pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--pagination-border-radius);border-bottom-right-radius:var(--pagination-border-radius)}.badge{--badge-padding-x:.65em;--badge-padding-y:.35em;--badge-font-size:.75em;--badge-font-weight:700;--badge-color:#fff;--badge-border-radius:var(--border-radius);padding:var(--badge-padding-y) var(--badge-padding-x);font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);color:var(--badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--badge-border-radius);line-height:1;display:inline-block}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--alert-bg:transparent;--alert-padding-x:1rem;--alert-padding-y:1rem;--alert-margin-bottom:1rem;--alert-color:inherit;--alert-border-color:transparent;--alert-border:var(--border-width) solid var(--alert-border-color);--alert-border-radius:var(--border-radius);--alert-link-color:inherit;padding:var(--alert-padding-y) var(--alert-padding-x);margin-bottom:var(--alert-margin-bottom);color:var(--alert-color);background-color:var(--alert-bg);border:var(--alert-border);border-radius:var(--alert-border-radius);position:relative}.alert-heading{color:inherit}.alert-info{--alert-color:var(--info-text-emphasis);--alert-bg:var(--info-bg-subtle);--alert-border-color:var(--info-border-subtle);--alert-link-color:var(--info-text-emphasis)}.alert-warning{--alert-color:var(--warning-text-emphasis);--alert-bg:var(--warning-bg-subtle);--alert-border-color:var(--warning-border-subtle);--alert-link-color:var(--warning-text-emphasis)}.alert-danger{--alert-color:var(--danger-text-emphasis);--alert-bg:var(--danger-bg-subtle);--alert-border-color:var(--danger-border-subtle);--alert-link-color:var(--danger-text-emphasis)}.alert-light{--alert-color:var(--light-text-emphasis);--alert-bg:var(--light-bg-subtle);--alert-border-color:var(--light-border-subtle);--alert-link-color:var(--light-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--progress-height)}}.progress{--progress-height:1rem;--progress-font-size:.75rem;--progress-bg:var(--secondary-bg);--progress-border-radius:var(--border-radius);--progress-box-shadow:var(--box-shadow-inset);--progress-bar-color:#fff;--progress-bar-bg:#010156;--progress-bar-transition:width .6s ease;height:var(--progress-height);font-size:var(--progress-font-size);background-color:var(--progress-bg);border-radius:var(--progress-border-radius);display:flex;overflow:hidden}.progress-bar{color:var(--progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--progress-bar-bg);transition:var(--progress-bar-transition);flex-direction:column;justify-content:center;display:flex;overflow:hidden}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,#ffffff26 25%,#0000 25% 50%,#ffffff26 50% 75%,#0000 75%,#0000);background-size:var(--progress-height) var(--progress-height)}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--list-group-color:var(--body-color);--list-group-bg:var(--body-bg);--list-group-border-color:var(--border-color);--list-group-border-width:var(--border-width);--list-group-border-radius:var(--border-radius);--list-group-item-padding-x:1rem;--list-group-item-padding-y:.5rem;--list-group-action-color:var(--secondary-color);--list-group-action-hover-color:var(--emphasis-color);--list-group-action-hover-bg:var(--tertiary-bg);--list-group-action-active-color:var(--body-color);--list-group-action-active-bg:var(--secondary-bg);--list-group-disabled-color:var(--secondary-color);--list-group-disabled-bg:var(--body-bg);--list-group-active-color:#fff;--list-group-active-bg:#010156;--list-group-active-border-color:#010156;border-radius:var(--list-group-border-radius);flex-direction:column;margin-bottom:0;padding-left:0;display:flex}.list-group-item{padding:var(--list-group-item-padding-y) var(--list-group-item-padding-x);color:var(--list-group-color);background-color:var(--list-group-bg);border:var(--list-group-border-width) solid var(--list-group-border-color);text-decoration:none;display:block;position:relative}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--list-group-disabled-color);pointer-events:none;background-color:var(--list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--list-group-active-color);background-color:var(--list-group-active-bg);border-color:var(--list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--list-group-border-width));border-top-width:var(--list-group-border-width)}.list-group-item-action{width:100%;color:var(--list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):hover,.list-group-item-action:not(.active):focus{z-index:1;color:var(--list-group-action-hover-color);background-color:var(--list-group-action-hover-bg);text-decoration:none}.list-group-item-action:not(.active):active{color:var(--list-group-action-active-color);background-color:var(--list-group-action-active-bg)}.list-group-item-danger{--list-group-color:var(--danger-text-emphasis);--list-group-bg:var(--danger-bg-subtle);--list-group-border-color:var(--danger-border-subtle);--list-group-action-hover-color:var(--emphasis-color);--list-group-action-hover-bg:var(--danger-border-subtle);--list-group-action-active-color:var(--emphasis-color);--list-group-action-active-bg:var(--danger-border-subtle);--list-group-active-color:var(--danger-bg-subtle);--list-group-active-bg:var(--danger-text-emphasis);--list-group-active-border-color:var(--danger-text-emphasis)}.btn-close{--btn-close-color:#000;--btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='hsl%280, 0%, 0%%29'%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.414'/%3e%3c/svg%3e");--btn-close-opacity:.5;--btn-close-hover-opacity:.75;--btn-close-focus-shadow:0 0 0 .25rem #01015640;--btn-close-focus-opacity:1;--btn-close-disabled-opacity:.25;box-sizing:content-box;width:1em;height:1em;color:var(--btn-close-color);background:transparent var(--btn-close-bg) center/1em auto no-repeat;filter:var(--btn-close-filter);opacity:var(--btn-close-opacity);border:0;border-radius:.25rem;padding:.25em}.btn-close:hover{color:var(--btn-close-color);opacity:var(--btn-close-hover-opacity);text-decoration:none}.btn-close:focus{box-shadow:var(--btn-close-focus-shadow);opacity:var(--btn-close-focus-opacity);outline:0}.btn-close:disabled,.btn-close.disabled{pointer-events:none;user-select:none;opacity:var(--btn-close-disabled-opacity)}:root,[data-bs-theme=light]{--btn-close-filter: }.toast{--toast-zindex:1090;--toast-padding-x:.75rem;--toast-padding-y:.5rem;--toast-spacing:1em;--toast-max-width:350px;--toast-font-size:.875rem;--toast-color: ;--toast-bg:rgba(var(--body-bg-rgb), .85);--toast-border-width:var(--border-width);--toast-border-color:var(--border-color-translucent);--toast-border-radius:var(--border-radius);--toast-box-shadow:var(--box-shadow);--toast-header-color:var(--secondary-color);--toast-header-bg:rgba(var(--body-bg-rgb), .85);--toast-header-border-color:var(--border-color-translucent);width:var(--toast-max-width);max-width:100%;font-size:var(--toast-font-size);color:var(--toast-color);pointer-events:auto;background-color:var(--toast-bg);border:var(--toast-border-width) solid var(--toast-border-color);box-shadow:var(--toast-box-shadow);border-radius:var(--toast-border-radius);background-clip:padding-box}.toast.showing{opacity:0}.toast:not(.show){display:none}.modal{--modal-zindex:1050;--modal-width:500px;--modal-padding:1rem;--modal-margin:.5rem;--modal-color:var(--body-color);--modal-bg:var(--body-bg);--modal-border-color:var(--border-color-translucent);--modal-border-width:var(--border-width);--modal-border-radius:var(--border-radius-lg);--modal-box-shadow:var(--box-shadow-sm);--modal-inner-border-radius:calc(var(--border-radius-lg) - (var(--border-width)));--modal-header-padding-x:1rem;--modal-header-padding-y:1rem;--modal-header-padding:1rem 1rem;--modal-header-border-color:var(--border-color);--modal-header-border-width:var(--border-width);--modal-title-line-height:1.5;--modal-footer-gap:.5rem;--modal-footer-bg: ;--modal-footer-border-color:var(--border-color);--modal-footer-border-width:var(--border-width);z-index:var(--modal-zindex);outline:0;width:100%;height:100%;display:none;position:fixed;top:0;left:0;overflow:hidden auto}.modal-dialog{width:auto;margin:var(--modal-margin);pointer-events:none;position:relative}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-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-content{width:100%;color:var(--modal-color);pointer-events:auto;background-color:var(--modal-bg);border:var(--modal-border-width) solid var(--modal-border-color);border-radius:var(--modal-border-radius);background-clip:padding-box;outline:0;flex-direction:column;display:flex;position:relative}.modal-backdrop{--backdrop-zindex:1040;--backdrop-bg:#000;--backdrop-opacity:.5;z-index:var(--backdrop-zindex);background-color:var(--backdrop-bg);width:100vw;height:100vh;position:fixed;top:0;left:0}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--backdrop-opacity)}.modal-header{padding:var(--modal-header-padding);border-bottom:var(--modal-header-border-width) solid var(--modal-header-border-color);border-top-left-radius:var(--modal-inner-border-radius);border-top-right-radius:var(--modal-inner-border-radius);flex-shrink:0;align-items:center;display:flex}.modal-header .btn-close{padding:calc(var(--modal-header-padding-y) * .5) calc(var(--modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--modal-header-padding-y));margin-right:calc(-.5 * var(--modal-header-padding-x));margin-bottom:calc(-.5 * var(--modal-header-padding-y));margin-left:auto}.modal-title{line-height:var(--modal-title-line-height);margin-bottom:0}.modal-body{padding:var(--modal-padding);flex:auto;position:relative}.modal-footer{padding:calc(var(--modal-padding) - var(--modal-footer-gap) * .5);background-color:var(--modal-footer-bg);border-top:var(--modal-footer-border-width) solid var(--modal-footer-border-color);border-bottom-right-radius:var(--modal-inner-border-radius);border-bottom-left-radius:var(--modal-inner-border-radius);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.modal-footer>*{margin:calc(var(--modal-footer-gap) * .5)}@media (width>=576px){.modal{--modal-margin:1.75rem;--modal-box-shadow:var(--box-shadow)}.modal-dialog{max-width:var(--modal-width);margin-left:auto;margin-right:auto}}@media (width>=992px){.modal-lg{--modal-width:800px}}.tooltip{--tooltip-zindex:1070;--tooltip-max-width:200px;--tooltip-padding-x:.5rem;--tooltip-padding-y:.25rem;--tooltip-margin: ;--tooltip-font-size:.875rem;--tooltip-color:var(--body-bg);--tooltip-bg:var(--emphasis-color);--tooltip-border-radius:var(--border-radius);--tooltip-opacity:.9;--tooltip-arrow-width:.8rem;--tooltip-arrow-height:.4rem;z-index:var(--tooltip-zindex);margin:var(--tooltip-margin);font-family:var(--cassiopeia-font-family-body,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");text-align:left;text-align:start;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-style:normal;font-weight:400;line-height:1.5;font-size:var(--tooltip-font-size);word-wrap:break-word;opacity:0;text-decoration:none;display:block}.tooltip.show{opacity:var(--tooltip-opacity)}.tooltip .tooltip-arrow{width:var(--tooltip-arrow-width);height:var(--tooltip-arrow-height);display:block}.tooltip .tooltip-arrow:before{content:"";border-style:solid;border-color:#0000;position:absolute}.tooltip-inner{max-width:var(--tooltip-max-width);padding:var(--tooltip-padding-y) var(--tooltip-padding-x);color:var(--tooltip-color);text-align:center;background-color:var(--tooltip-bg);border-radius:var(--tooltip-border-radius)}.popover{--popover-zindex:1060;--popover-max-width:276px;--popover-font-size:.875rem;--popover-bg:var(--body-bg);--popover-border-width:var(--border-width);--popover-border-color:var(--border-color-translucent);--popover-border-radius:var(--border-radius-lg);--popover-inner-border-radius:calc(var(--border-radius-lg) - var(--border-width));--popover-box-shadow:var(--box-shadow);--popover-header-padding-x:1rem;--popover-header-padding-y:.5rem;--popover-header-font-size:1rem;--popover-header-color:inherit;--popover-header-bg:var(--secondary-bg);--popover-body-padding-x:1rem;--popover-body-padding-y:1rem;--popover-body-color:var(--body-color);--popover-arrow-width:1rem;--popover-arrow-height:.5rem;--popover-arrow-border:var(--popover-border-color);z-index:var(--popover-zindex);max-width:var(--popover-max-width);font-family:var(--cassiopeia-font-family-body,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");text-align:left;text-align:start;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-style:normal;font-weight:400;line-height:1.5;font-size:var(--popover-font-size);word-wrap:break-word;background-color:var(--popover-bg);border:var(--popover-border-width) solid var(--popover-border-color);border-radius:var(--popover-border-radius);background-clip:padding-box;text-decoration:none;display:block}.popover .popover-arrow{width:var(--popover-arrow-width);height:var(--popover-arrow-height);display:block}.popover .popover-arrow:before,.popover .popover-arrow:after{content:"";border:0 solid #0000;display:block;position:absolute}.popover-header{padding:var(--popover-header-padding-y) var(--popover-header-padding-x);font-size:var(--popover-header-font-size);color:var(--popover-header-color);background-color:var(--popover-header-bg);border-bottom:var(--popover-border-width) solid var(--popover-border-color);border-top-left-radius:var(--popover-inner-border-radius);border-top-right-radius:var(--popover-inner-border-radius);margin-bottom:0}.popover-header:empty{display:none}.popover-body{padding:var(--popover-body-padding-y) var(--popover-body-padding-x);color:var(--popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-item{float:left;backface-visibility:hidden;width:100%;margin-right:-100%;transition:transform .6s ease-in-out;display:none;position:relative}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block}.carousel-item-next:not(.carousel-item-start),.active.carousel-item-end{transform:translate(100%)}.carousel-item-prev:not(.carousel-item-end),.active.carousel-item-start{transform:translate(-100%)}.carousel-indicators{z-index:2;justify-content:center;margin-bottom:1rem;margin-left:15%;margin-right:15%;padding:0;display:flex;position:absolute;bottom:0;left:0;right:0}.carousel-indicators [data-bs-target]{box-sizing:content-box;text-indent:-999px;cursor:pointer;background-color:var(--carousel-indicator-active-bg);opacity:.5;background-clip:padding-box;border:10px solid #0000;border-left:0;border-right:0;flex:0 auto;width:30px;height:3px;margin-left:3px;margin-right:3px;padding:0;transition:opacity .6s}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}:root,[data-bs-theme=light]{--carousel-indicator-active-bg:#fff;--carousel-caption-color:#fff;--carousel-control-icon-filter: }@keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.offcanvas{--offcanvas-zindex:1045;--offcanvas-width:400px;--offcanvas-height:30vh;--offcanvas-padding-x:1rem;--offcanvas-padding-y:1rem;--offcanvas-color:var(--body-color);--offcanvas-bg:var(--body-bg);--offcanvas-border-width:var(--border-width);--offcanvas-border-color:var(--border-color-translucent);--offcanvas-box-shadow:var(--box-shadow-sm);--offcanvas-transition:transform .3s ease-in-out;--offcanvas-title-line-height:1.5}.offcanvas{z-index:var(--offcanvas-zindex);max-width:100%;color:var(--offcanvas-color);visibility:hidden;background-color:var(--offcanvas-bg);transition:var(--offcanvas-transition);background-clip:padding-box;outline:0;flex-direction:column;display:flex;position:fixed;bottom:0}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.showing,.offcanvas.show:not(.hiding){transform:none}.offcanvas.showing,.offcanvas.hiding,.offcanvas.show{visibility:visible}.offcanvas-backdrop{z-index:1040;background-color:#000;width:100vw;height:100vh;position:fixed;top:0;left:0}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.placeholder{vertical-align:middle;cursor:wait;opacity:.5;background-color:currentColor;min-height:1em;display:inline-block}.placeholder.btn:before{content:"";display:inline-block}@keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-wave{to{mask-position:-200% 0}}.clearfix:after{clear:both;content:"";display:block}.link-body-emphasis{color:RGBA(var(--emphasis-color-rgb), var(--link-opacity,1))!important;text-decoration-color:RGBA(var(--emphasis-color-rgb), var(--link-underline-opacity,1))!important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--emphasis-color-rgb), var(--link-opacity,.75))!important;text-decoration-color:RGBA(var(--emphasis-color-rgb), var(--link-underline-opacity,.75))!important}.fixed-top{z-index:1030;position:fixed;top:0;left:0;right:0}.fixed-bottom{z-index:1030;position:fixed;bottom:0;left:0;right:0}.sticky-top{z-index:1020;position:sticky;top:0}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link:after{z-index:1;content:"";position:absolute;inset:0}.vr{width:var(--border-width);opacity:.25;background-color:currentColor;align-self:stretch;min-height:1em;display:inline-block}.align-middle{vertical-align:middle!important}.float-start{float:left!important}.float-end{float:right!important}.d-grid{display:grid!important}.d-flex{display:flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--box-shadow)!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.top-0{top:0!important}.end-0{right:0!important}.border{border:var(--border-width) var(--border-style) var(--border-color)!important}.border-top{border-top:var(--border-width) var(--border-style) var(--border-color)!important}.border-bottom{border-bottom:var(--border-width) var(--border-style) var(--border-color)!important}.border-secondary{--border-opacity:1;border-color:rgba(var(--secondary-rgb), var(--border-opacity))!important}.border-dark{--border-opacity:1;border-color:rgba(var(--dark-rgb), var(--border-opacity))!important}.border-1{border-width:1px!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-100{height:100%!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-wrap{flex-wrap:wrap!important}.justify-content-start{justify-content:flex-start!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-content-center{align-content:center!important}.m-0{margin:0!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3,.form-group{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.px-0{padding-left:0!important;padding-right:0!important}.px-3{padding-left:1rem!important;padding-right:1rem!important}.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pe-2{padding-right:.5rem!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-5{gap:3rem!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-nowrap{white-space:nowrap!important}.text-success{--text-opacity:1;color:rgba(var(--success-rgb), var(--text-opacity))!important}.text-warning{--text-opacity:1;color:rgba(var(--warning-rgb), var(--text-opacity))!important}.text-danger{--text-opacity:1;color:rgba(var(--danger-rgb), var(--text-opacity))!important}.text-light{--text-opacity:1;color:rgba(var(--light-rgb), var(--text-opacity))!important}.text-dark{--text-opacity:1;color:rgba(var(--dark-rgb), var(--text-opacity))!important}.text-white{--text-opacity:1;color:rgba(var(--white-rgb), var(--text-opacity))!important}.text-body{--text-opacity:1;color:rgba(var(--body-color-rgb), var(--text-opacity))!important}.text-muted{--text-opacity:1;color:var(--secondary-color)!important}.text-secondary-emphasis{color:var(--secondary-text-emphasis)!important}.bg-primary{--bg-opacity:1;background-color:rgba(var(--primary-rgb), var(--bg-opacity))!important}.bg-secondary{--bg-opacity:1;background-color:rgba(var(--secondary-rgb), var(--bg-opacity))!important}.bg-success{--bg-opacity:1;background-color:rgba(var(--success-rgb), var(--bg-opacity))!important}.bg-info{--bg-opacity:1;background-color:rgba(var(--info-rgb), var(--bg-opacity))!important}.bg-warning{--bg-opacity:1;background-color:rgba(var(--warning-rgb), var(--bg-opacity))!important}.bg-danger{--bg-opacity:1;background-color:rgba(var(--danger-rgb), var(--bg-opacity))!important}.bg-light{--bg-opacity:1;background-color:rgba(var(--light-rgb), var(--bg-opacity))!important}.bg-dark{--bg-opacity:1;background-color:rgba(var(--dark-rgb), var(--bg-opacity))!important}.bg-light-subtle{background-color:var(--light-bg-subtle)!important}.rounded{border-radius:var(--border-radius)!important}.rounded-0{border-radius:0!important}.rounded-2{border-radius:var(--border-radius)!important}.rounded-3{border-radius:var(--border-radius-lg)!important}.visible{visibility:visible!important}@media (width>=576px){.d-sm-block{display:block!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.justify-content-sm-center{justify-content:center!important}.me-sm-3{margin-right:1rem!important}}@media (width>=768px){.float-md-end{float:right!important}.d-md-block{display:block!important}.d-md-table-cell{display:table-cell!important}.d-md-none{display:none!important}}@media (width>=992px){.d-lg-table-cell{display:table-cell!important}}@media (width>=1200px){.d-xl-table-cell{display:table-cell!important}}@media (width>=1400px){.d-xxl-table-cell{display:table-cell!important}}@media screen and (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}:root{scroll-behavior:smooth}@media screen and (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}:root:has(.sticky-top) [id]{scroll-margin-top:var(--cassiopeia-scroll-margin-top,10rem)}html{background-color:#fff}body{min-height:100vh;position:relative}img{max-width:100%;height:auto}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{font-family:var(--cassiopeia-font-family-headings,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-weight:var(--cassiopeia-font-weight-headings,700)}.lead{font-size:clamp(1.1rem,3vw,1.25rem)}a{color:var(--link-color)}a:hover{color:var(--link-hover-color)}a:not([class]){text-decoration:underline}.btn-primary{background-color:var(--cassiopeia-color-primary);border-color:var(--cassiopeia-color-primary)}.btn-primary:hover,.btn-primary:focus{background-color:var(--cassiopeia-color-hover);border-color:var(--cassiopeia-color-hover)}.btn-group{margin-bottom:1em}.btn-group>input{border:1px solid #ced4da;border-radius:.25rem 0 0 .25rem;padding:.5em}.btn-group>.btn-group{margin-bottom:0}.com-content-article ol,.com-content-article ul{overflow:hidden}.com-content-category__pagination{margin-bottom:1em}small,.small{font-size:.875rem}dd{word-wrap:break-word;padding:0}th dd{font-weight:var(--cassiopeia-font-weight-normal,400)}.com-contact__thumbnail{text-align:left}@media (width>=1200px){dl.dl-horizontal{grid-template-columns:auto 1fr;display:grid}dl.dl-horizontal dt{grid-column:1/2}dl.dl-horizontal dd{grid-column:2/3;margin-bottom:0;padding:0 0 0 1em}.com-contact__container{grid-gap:1rem;grid-template-rows:repeat(4,auto);grid-template-columns:repeat(4,1fr);margin-bottom:1em;display:grid}.com-contact__container h3,.com-contact__container .h3{grid-column:1/5}.com-contact__container .com-contact__thumbnail{text-align:right;grid-area:2/3/5/5;margin-bottom:1em}.com-contact__container .com-contact__position{grid-area:2/1/3/3}.com-contact__container .com-contact__info{grid-area:3/1/4/3}.com-users-profile dt{min-width:180px}}figure{margin:0 0 2em}figure.float-start{margin-right:1em}figure.float-end{margin-left:1em}figcaption{color:#6d757e;font-size:.9em}meter{width:100%}.page-link,.page-link:hover{color:var(--link-color)}[dir=rtl] li.next .page-link{border-radius:.25rem 0 0 .25rem}[dir=rtl] li.previous .page-link{border-radius:0 .25rem .25rem 0}.alert-heading{font-size:1.5rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}#system-message-container:has(joomla-alert){margin-top:1em}#system-message-container:not(:has(joomla-alert)){margin-top:0}.footer{color:#fff;background-color:var(--cassiopeia-color-primary);background-image:linear-gradient(135deg, var(--cassiopeia-color-primary) 0%, var(--cassiopeia-color-hover) 100%) ;margin-top:1em}.footer a:not(.btn),.footer .btn-link{color:currentColor}.footer a:not(.btn):hover,.footer a:not(.btn):focus,.footer .btn-link:hover,.footer .btn-link:focus{color:var(--gray-200)}.form-control{background-color:#fff;max-width:100%}.spacer hr{width:23.75rem}.form-select{max-width:100%}.form-inline .form-select{width:auto;display:inline-block}@media (width<=991.98px){.form-inline .form-select{width:100%}}td .form-control{width:auto;display:inline-block}.checkboxes{padding-top:5px}.checkboxes .checkbox input{margin-left:0;position:static}.modal label{width:100%}.invalid{color:#a51f18;border-color:#a51f18}.valid{border-color:#448344}.form-control-feedback{display:block}[role=tooltip]:not(.show){z-index:1070;color:#000;text-align:start;background:#fff;border:1px solid #6d757e;border-radius:.25rem;max-width:100%;margin:.5em;padding:.5em;display:none;right:5em;box-shadow:0 0 .5rem #000c}[role=tooltip]:not(.show)[id^=editarticle-],[role=tooltip]:not(.show)[id^=editcontact-]{margin-inline-start:-10em;right:auto}[role=tooltip]:not(.show)[id^=id-skip-]{max-width:unset;right:auto}[role=tooltip]:not(.show)[id^=cbunpublish]{right:auto}:focus+[role=tooltip],:hover+[role=tooltip]{display:block;position:absolute}.filter-search-bar__description{bottom:100%}fieldset{margin-bottom:2em}fieldset+fieldset{margin-top:2em}fieldset>*{margin-bottom:0}.control-group{margin:1em 0}.com-users-login__options{margin-top:2em}div.subform-repeatable-group{border:var(--border-width) solid #ced4da;border-radius:.25rem;margin-top:20px;margin-left:32px;padding:32px 32px 16px 28px;position:relative}div.subform-repeatable-group>.control-group{margin-top:0}div.subform-repeatable-group>.btn-toolbar .btn-group{margin:0;position:static}div.subform-repeatable-group>.btn-toolbar .btn{position:absolute}div.subform-repeatable-group>.btn-toolbar .btn.group-add{border-radius:.25rem 0;bottom:-1px;right:-1px}div.subform-repeatable-group>.btn-toolbar .btn.group-remove{border-radius:0 .25rem;top:-1px;right:-1px}div.subform-repeatable-group>.btn-toolbar .btn.group-move{border-radius:.25rem 0 0 .25rem;padding:0;top:50%;right:100%;transform:translateY(-50%)}div.subform-repeatable-group>.btn-toolbar .btn.group-move span{padding:1.5rem .5rem}div.subform-repeatable-group>.btn-toolbar .btn.group-move-up{border-radius:0;margin-top:-45px;top:50%;right:100%;transform:translateY(-50%)}div.subform-repeatable-group>.btn-toolbar .btn.group-move-down{border-radius:0;margin-top:45px;top:50%;right:100%;transform:translateY(-50%)}.subform-repeatable-grid>.subform-repeatable-group{padding-top:16px}.subform-grid-row{flex-flow:wrap;column-gap:1rem;display:flex}.subform-grid-row>.control-group{flex-flow:column;flex:220px}.subform-grid-row>.control-group>.control-label{width:100%}.subform-grid-row>.control-group>.controls{width:100%;min-width:unset}.subform-grid-row>fieldset{flex:220px}.subform-grid-row>fieldset>.control-group>.control-label{width:100%}.subform-repeatable-group[draggable=true],.subform-repeatable-group[draggable=true]>td{background-color:#5abfdd}.btn.jmodedit{z-index:900;color:var(--link-color);background-color:#ffffff80;border:1px solid #58595a;border-radius:.25rem;position:absolute;top:0;left:auto;right:0}.icon-white{color:#fff}.input-group-text:before{min-width:16px}.tbody-icon{text-align:center;background-color:#0000;border:0;padding:0 3px}.tbody-icon [class^=icon-],.tbody-icon [class*=\ icon-],.tbody-icon [class^=fa-],.tbody-icon [class*=\ fa-]{color:#ced4da;border:2px solid var(--border);border-radius:50%;width:26px;height:26px;font-size:1.1rem;line-height:22px}.tbody-icon .icon-check{color:#448344;border-color:#448344}.tbody-icon .icon-lock{color:#484f56;border:0;width:auto;height:auto;font-size:1.2rem;line-height:1rem}.tbody-icon .icon-times{color:#a51f18;border-color:#a51f18}iframe{border:0}.modal iframe{width:100%}.mod-custom{position:relative}.options-form{color:#495057;background-color:#fff;border:1px solid #b2bfcd;width:100%;margin-bottom:1rem;padding:1vw 2vw}.options-form>legend{float:none;color:#495057;background-color:#fff;width:auto;padding:0 .5rem;font-weight:700}.modal .btn{margin-right:.5rem}.modal .btn-primary:not([href]),.modal .btn-success:not([href]),.modal .btn-primary:not([href]):hover,.modal .btn-success:not([href]):hover{color:#fff}.modal-header{padding:0 15px}.modal-title{font-weight:var(--cassiopeia-font-weight-normal,400);line-height:3rem}.contentpane{padding:15px}joomla-dialog dialog{border:1px solid var(--border-color-translucent);border-radius:.3rem;width:96vw;max-width:1700px;height:96vh;padding:0;box-shadow:0 .5rem 1rem #00000026}@media (width>=1400px){joomla-dialog dialog{width:80vw;height:80vh}}joomla-dialog dialog[open]{display:flex}joomla-dialog[type=image] dialog{width:fit-content;height:fit-content}joomla-dialog[type=iframe] dialog{overflow:hidden}joomla-dialog iframe.iframe-content{width:100%;height:100%}joomla-dialog[type=iframe].loading dialog:after,joomla-dialog[type=ajax].loading dialog:after{content:"";background:url(../../../../system/images/joomla-loader.svg?v=e670ca) 50%/66px 66px no-repeat;width:66px;height:66px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}joomla-dialog dialog[open]{animation:.4s dialog-show}@media (prefers-reduced-motion:reduce){joomla-dialog dialog[open]{animation:none}}@keyframes dialog-show{0%{opacity:0;transform:translateY(-50px)}30%{opacity:1}to{transform:translateY(0)}}.joomla-dialog-container{box-sizing:border-box;flex-flow:column;width:100%;display:flex;position:relative}.joomla-dialog-container .buttons-holder{justify-content:flex-end;align-items:center;margin-inline-start:auto;display:flex}.joomla-dialog-container .buttons-holder button{margin-inline:.375rem}.joomla-dialog-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem;display:flex;position:relative}.joomla-dialog-header h3,.joomla-dialog-header .h3{margin:0}.joomla-dialog-header .header-icon{margin-inline-end:.375rem;font-size:1.75rem}.joomla-dialog-header.empty{display:none}.joomla-dialog-body{box-sizing:border-box;flex:auto;position:relative}.joomla-dialog-body .buttons-holder{position:absolute;top:1rem;right:1rem}.joomla-dialog-body joomla-dialog[type=inline],joomla-dialog[type=ajax] .joomla-dialog-body{overflow:auto}joomla-dialog.loading .joomla-dialog-body{opacity:0}joomla-dialog.loaded .joomla-dialog-body{opacity:1;transition:opacity .4s}.joomla-dialog-footer{border-top:1px solid var(--border-color);padding:1rem;position:relative}.joomla-dialog-footer .buttons-holder button{padding-inline:22px}.joomla-dialog-footer.empty{display:none}.joomla-dialog-alert dialog,.joomla-dialog-confirm dialog{width:600px;max-width:80vw;height:fit-content}.joomla-dialog-alert .joomla-dialog-body,.joomla-dialog-confirm .joomla-dialog-body{padding:1rem}@media (width>=1400px){.joomla-dialog-content-select-field dialog{width:90vw;height:90vh}}@supports (display:grid){[class^=span-],[class*=\ span-]{grid-row-end:auto;grid-column-end:auto}@media (width>=768px){[class^=span-col],[class*=\ span-col]{grid-column-end:span 2}}[class^=container-] [class^=span-],[class^=container-] [class*=\ span-],[class*=\ container-] [class^=span-],[class*=\ container-] [class*=\ span-]{flex:0 auto;max-width:none}}.blog-items{flex-wrap:wrap;width:100%;margin-bottom:1em;margin-left:-.5em;margin-right:-.5em;padding:0;display:flex}.blog-item{flex-direction:column;padding:0 .5em 1em;display:flex;overflow:hidden}.blog-item .item-image{margin-top:3px;margin-bottom:15px;overflow:hidden}.article-info dd{padding:0}@supports (display:grid){.blog-items{grid-gap:1em;grid-template-columns:1fr;grid-auto-flow:row;margin:0 0 1em;display:grid}.blog-items .blog-item{padding:0}.blog-items[class^=columns-]>div,.blog-items[class*=\ columns-]>div{flex:0 auto;width:auto;max-width:none}}.blog-items[class^=masonry-],.blog-items[class*=\ masonry-]{column-gap:1em;display:block}.blog-items[class^=masonry-] .blog-item,.blog-items[class*=\ masonry-] .blog-item{page-break-inside:avoid;break-inside:avoid;margin-bottom:1em;display:inline-flex}.breadcrumb{background-color:#00000008;margin-bottom:0}.hidden{visibility:hidden;display:none}joomla-alert{display:none}.editor-xtd-buttons .btn{margin-bottom:5px}@media (width<=767.98px){#myTab{margin-top:1rem;margin-bottom:1.5rem}joomla-tab[view=accordion] ul li{width:100%}}.left.item-image{float:left}.right.item-image{float:right}.tags .list-inline-item{margin:.25rem .25rem .5rem}.tags a.btn{font-weight:700}.tag{padding:.5rem .5rem .5rem 0;display:inline-block}body{flex-direction:column;display:flex}.awesomplete>input{max-width:200px}@media (width>=992px){.awesomplete>input{max-width:none}}.awesomplete>ul{z-index:1000!important}.btn:focus,.btn.focus,.btn:active:focus,.btn.focus:active,.btn.active:focus,.btn.active.focus{text-decoration:none}.btn.group-move{cursor:move}.btn-secondary{--btn-color:var(--gray-800);--btn-bg:var(--white);--btn-border-color:var(--gray-400);--btn-hover-color:var(--gray-800);--btn-hover-bg:var(--gray-100)}.article-info .association .btn-secondary,.cat-list-association .btn-secondary{--btn-font-weight:700;--btn-color:var(--white);--btn-bg:var(--gray-600);--btn-border-color:var(--gray-400);--btn-hover-color:var(--white);--btn-hover-bg:var(--gray-800)}.article-info .association .btn-sm,.article-info .association .btn-group-sm>.btn,.cat-list-association .btn-sm,.cat-list-association .btn-group-sm>.btn{--btn-padding-y:0;--btn-padding-x:.25rem;--btn-font-size:.8rem;--btn-border-radius:var(--border-radius-sm)}.form-select{cursor:pointer;border:var(--border-width) solid #ced4da;background:#eaedf0 url(../../cassiopeia/images/select-bg.svg?v=e670ca) 100%/116rem no-repeat;max-width:100%}.form-select:focus{border-color:#000;box-shadow:0 0 0 .25rem #01015640}.form-select[multiple]{background-color:#fff;padding:0}.form-select[multiple] option{background-color:#fff;padding:.3rem 1rem}.form-select[multiple] option:checked{color:#fff;background-color:var(--cassiopeia-color-primary)!important}.form-select.form-select-success{color:#448344;background-color:#448344}.form-select.form-select-success option{color:var(--body-color);background-color:#fff}.form-select.form-select-danger{color:#a51f18;background-color:#a51f18}.form-select.form-select-danger option{color:var(--body-color);background-color:#fff}.form-select optgroup,.form-select option{color:var(--dark);background-color:#fff}.accordion .card-header{font-size:1.25rem;font-weight:var(--cassiopeia-font-weight-headings,700);line-height:1.2;display:block}.accordion .list-group-item{color:#224faa}.dropdown-menu{background-color:#fff;border-color:#dfe3e7;margin-top:.5rem;padding:.2rem 0}.dropdown-menu-end:after{left:auto;right:.9rem}.field-media-wrapper{width:100%;max-width:calc(50vw - 5rem);display:block}.field-media-wrapper .field-media-preview{width:100%;max-width:none}@media (width<=991.98px){.field-media-wrapper{min-width:100%}}.list-group-item{background-color:var(--body-bg)}.list-unstyled .list-unstyled{padding-left:20px}[class*=jviewport-height] iframe{height:100%}.nav.nav-tabs{background-color:#f5f5f5;border:1px solid #dfe3e7;border-bottom:0;border-radius:.25rem .25rem 0 0;margin:0;padding:0;box-shadow:inset 0 1px #fff,0 2px 3px -3px #00000026,inset 0 -4px #0000000d,1px 1px 4px #0000001a}.nav.nav-tabs .nav-item{margin-bottom:0;margin-left:0}.nav.nav-tabs .nav-item:first-of-type .nav-link.active{border-radius:.25rem 0 0;box-shadow:-1px 0 1px -1px #0000000f,inset -2px 0 1px -1px #00000014,inset 0 1px #00000005}.nav.nav-tabs .nav-item:last-of-type .nav-link{box-shadow:-1px 0 #0000000d,1px 0 #0000000d}.nav.nav-tabs .nav-item:last-of-type .nav-link.active{box-shadow:inset 2px 0 1px -1px #00000014,inset -2px 0 1px -1px #00000014,inset 0 1px #00000005}.nav.nav-tabs .nav-link{color:var(--cassiopeia-color-primary);border:0;border-top-left-radius:0;border-top-right-radius:0;padding:.75em 1em;position:relative;box-shadow:-1px 0 #0000000d}.nav.nav-tabs .nav-link.active{background-color:#0000004d;background-image:linear-gradient(#0000,#0000000d 100%);border-left:0;border-right:0;border-top-left-radius:0;border-top-right-radius:0;box-shadow:inset 2px 0 1px -1px #00000014,inset -2px 0 1px -1px #00000014,inset 0 1px #00000005}.nav.nav-tabs .nav-link.active:after{content:"";background-color:var(--cassiopeia-color-primary);opacity:.8;height:5px;position:absolute;bottom:-1px;left:0;right:0}.nav-tabs+.tab-content{background:#fff;border:1px solid #dfe3e7;border-radius:0 0 .25rem .25rem;padding:15px;box-shadow:1px 1px 4px #0000001a}.pagination{margin:1rem}.table th{font-weight:500}.table thead th{white-space:nowrap;border-bottom-width:1px}.table th,.table td{vertical-align:middle}.table th label,.table td label{margin-bottom:0}.editor .toggle-editor{margin-top:1rem}.tox{white-space:nowrap!important}:root{--template-sidebar-bg:var(--template-bg-dark-80);--template-sidebar-font-color:#fff;--template-sidebar-link-color:#fff;--template-bg-light:#f0f4fb;--template-text-light:#fff;--template-special-color:#132f53;--template-link-color:#2a69b8;--template-link-hover-color:#173a65;--template-contrast:#2a69b8;--template-bg-dark:hsl(var(--hue), 40%, 20%);--template-bg-dark-3:hsl(var(--hue), 40%, 97%);--template-bg-dark-5:hsl(var(--hue), 40%, 95%);--template-bg-dark-7:hsl(var(--hue), 40%, 93%);--template-bg-dark-10:hsl(var(--hue), 40%, 90%);--template-bg-dark-15:hsl(var(--hue), 40%, 85%);--template-bg-dark-20:hsl(var(--hue), 40%, 80%);--template-bg-dark-30:hsl(var(--hue), 40%, 70%);--template-bg-dark-40:hsl(var(--hue), 40%, 60%);--template-bg-dark-50:hsl(var(--hue), 40%, 50%);--template-bg-dark-60:hsl(var(--hue), 40%, 40%);--template-bg-dark-65:hsl(var(--hue), 40%, 35%);--template-bg-dark-70:hsl(var(--hue), 40%, 30%);--template-bg-dark-75:hsl(var(--hue), 40%, 25%);--template-bg-dark-80:hsl(var(--hue), 40%, 20%);--template-bg-dark-90:hsl(var(--hue), 40%, 10%)}
/* user.css */
/*
 * Шаблон афиши.
 *
 * Каркас страницы свой (index.php), сетка и утилиты — Bootstrap 5 от
 * Cassiopeia. Здесь то, чего в бутстрапе нет: шапка, лента дат, карточки
 * событий с постерами.
 */

:root {
	/* Калининградская палитра: Балтика — основной цвет ссылок и меню,
	   янтарь — тёплый акцент для «сегодня», цен и текущего города,
	   балтийский туман — холодный светлый фон страницы. */
	--af-baltic: #1b4f7a;
	--af-baltic-deep: #123655;
	--af-amber: #e79a16;
	--af-amber-ink: #3a2400;

	--af-bg: #eef2f3;
	--af-surface: #ffffff;
	--af-text: #1b2530;
	--af-muted: #5e6b76;
	--af-border: #d5dde1;
	--af-accent: var(--af-baltic);
	--af-accent-ink: #ffffff;
	--af-warm: var(--af-amber);
	--af-warm-ink: var(--af-amber-ink);
	--af-radius: 10px;
	--af-shadow: 0 1px 0 rgba(27, 37, 48, .04);

	--af-font: "Onest", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--af-display: "Unbounded", "Onest", system-ui, sans-serif;
	--af-wrap: 1240px;
	--af-gutter: clamp(16px, 4vw, 32px);
}
@media (prefers-color-scheme: dark) {


	:root {
		--af-bg: #0e171d;
		--af-surface: #15222a;
		--af-text: #e8eef1;
		--af-muted: #94a6b0;
		--af-border: #23343e;
		--af-accent: #7fb2e0;
		--af-accent-ink: #0b1f33;
		--af-shadow: none;
	}
}


body.afisha-site {
	background: var(--af-bg);
	color: var(--af-text);
	font-family: var(--af-font);
	font-feature-settings: "kern", "liga";
	-webkit-font-smoothing: antialiased;
}

/* Своя обёртка вместо container-xxl: ширина и поля в одном месте */
.afisha-wrap {
	width: 100%;
	max-width: calc(var(--af-wrap) + 2 * var(--af-gutter));
	margin-inline: auto;
	padding-inline: var(--af-gutter);
}

a {
	color: var(--af-accent);
}

:focus-visible {
	outline: 2px solid var(--af-warm);
	outline-offset: 2px;
}

/* --- Шапка ----------------------------------------------------------------- */

/* Шапка тёмная, цвета Балтики: отделяет навигацию от светлого фона страницы
   и держит логотип на месте, пока лента разделов прокручивается вбок. */
.afisha-header {
	position: sticky;
	top: 0;
	z-index: 1030;
	background: var(--af-baltic-deep);
	color: #fff;
}

.afisha-header__bar {
	display: flex;
	align-items: center;
	gap: clamp(1rem, 2vw, 1.5rem);
	min-height: 64px;
}

/* --- Переключатель города ---------------------------------------------------- */

.afisha-city {
	position: relative;
	flex: 0 0 auto;
	margin-left: calc(-1 * clamp(.25rem, 1vw, .75rem));
}

.afisha-city__current {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .3rem .65rem;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 999px;
	color: #fff;
	font-size: .9rem;
	font-weight: 600;
	list-style: none;
	cursor: pointer;
	user-select: none;
}

.afisha-city__current::-webkit-details-marker {
	display: none;
}

/* Уголок рисуем рамкой: шрифтовая стрелка на разных системах разная */
.afisha-city__current::after {
	content: "";
	width: .38em;
	height: .38em;
	margin-top: -.2em;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform .15s;
}

.afisha-city[open] .afisha-city__current::after {
	margin-top: .15em;
	transform: rotate(-135deg);
}

.afisha-city__current:hover,
.afisha-city[open] .afisha-city__current {
	border-color: var(--af-warm);
}

.afisha-city__current:focus-visible {
	outline: 2px solid var(--af-warm);
	outline-offset: 2px;
}

.afisha-city__list {
	position: absolute;
	z-index: 20;
	top: calc(100% + .4rem);
	left: 0;
	min-width: 11rem;
	margin: 0;
	padding: .35rem;
	border: 1px solid var(--af-border);
	border-radius: var(--af-radius);
	background: var(--af-surface);
	box-shadow: 0 8px 24px rgba(27, 37, 48, .12);
	list-style: none;
}
@media (max-width: 1319.98px) {

/* Когда разделы уходят во вторую строку, кнопка стоит у правого края
   первой — список раскрываем влево, иначе он вылезает за экран */

	.afisha-city {
		margin-left: auto;
	}

	.afisha-city__list {
		right: 0;
		left: auto;
	}
}


.afisha-city__list a,
.afisha-city__list span {
	display: block;
	padding: .5rem .7rem;
	border-radius: calc(var(--af-radius) - 4px);
	color: var(--af-text);
	text-decoration: none;
}

.afisha-city__list a:hover,
.afisha-city__list a:focus-visible {
	background: var(--af-bg);
	color: var(--af-accent);
}

.afisha-city__list span {
	color: var(--af-muted);
	font-weight: 600;
}

.afisha-logo {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: .55rem;
	color: inherit;
	font-family: var(--af-display);
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: -.02em;
	text-decoration: none;
	white-space: nowrap;
}

.afisha-logo:hover {
	color: inherit;
}

/* Знак — капля янтаря: акцентный цвет с бликом, остриём вверх */
.afisha-logo__mark {
	width: 16px;
	height: 16px;
	border-radius: 0 50% 50% 50%;
	transform: rotate(45deg);
	background: radial-gradient(circle at 40% 40%, #ffd98a 0 18%, var(--af-warm) 22% 100%);
}

.afisha-nav {
	flex: 1 1 auto;
	min-width: 0;
	/* Разделов больше, чем влезает в узкий экран: лента прокручивается, а не
	   переносится в две строки */
	overflow-x: auto;
	scrollbar-width: none;
}

.afisha-nav::-webkit-scrollbar {
	display: none;
}

.afisha-nav__list {
	display: flex;
	align-items: center;
	gap: .15rem;
	margin: 0;
	padding: 0;
	list-style: none;
	white-space: nowrap;
}

.afisha-nav__link {
	display: block;
	padding: .5rem .6rem;
	border-radius: 999px;
	color: rgba(255, 255, 255, .82);
	font-size: .93rem;
	font-weight: 500;
	text-decoration: none;
	cursor: pointer;
	list-style: none;
}

.afisha-nav__link::-webkit-details-marker {
	display: none;
}

.afisha-nav__link:hover {
	background: rgba(255, 255, 255, .08);
	color: #fff;
}

.afisha-nav__item.is-active > .afisha-nav__link,
.afisha-nav__item.is-active > details > .afisha-nav__link {
	background: #fff;
	color: var(--af-baltic-deep);
}

/* Разделитель между афишей и остальными пунктами: «Места» — уже не афиша */
.afisha-nav__item--split {
	margin-left: .5rem;
	padding-left: .5rem;
	border-left: 1px solid rgba(255, 255, 255, .18);
}

.afisha-nav__group > summary::after {
	content: "";
	display: inline-block;
	width: .4em;
	height: .4em;
	margin-left: .45em;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-.2em) rotate(45deg);
}

.afisha-nav__group[open] > summary::after {
	transform: translateY(.05em) rotate(-135deg);
}

/* Выпадающая панель позиционируется от шапки, а не от ленты: у ленты
   overflow, и внутри неё панель обрезалась бы */
.afisha-nav__panel {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	padding: 1.25rem 0 1.5rem;
	background: var(--af-surface);
	border-bottom: 1px solid var(--af-border);
	box-shadow: 0 18px 30px -18px rgba(18, 54, 85, .35);
}

.afisha-nav__sub {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: .25rem 1.5rem;
	width: 100%;
	max-width: calc(var(--af-wrap) + 2 * var(--af-gutter));
	margin: 0 auto;
	padding: 0 var(--af-gutter);
	list-style: none;
	white-space: normal;
}

.afisha-nav__sub a {
	display: block;
	padding: .45rem 0;
	color: var(--af-text);
	font-weight: 500;
	text-decoration: none;
}

.afisha-nav__sub a:hover,
.afisha-nav__sub a[aria-current] {
	color: var(--af-accent);
}
@media (max-width: 1319.98px) {

/* Логотип, город и девять разделов в одну строку помещаются только от
   ~1320px. Уже — лента разделов уходит второй строкой во всю ширину:
   прокрутка вбок на компьютере незаметна, и «ТВ программа» обрезалась */

	.afisha-header__bar {
		flex-wrap: wrap;
		gap: 0;
		padding-top: .6rem;
	}

	/* Лента разделов уходит под логотип во всю ширину и прокручивается
	   до края экрана */
	.afisha-nav {
		flex-basis: 100%;
		margin-inline: calc(-1 * var(--af-gutter));
		padding: .4rem var(--af-gutter) .6rem;
	}
}


/* --- Основная часть --------------------------------------------------------- */

.afisha-main {
	padding: 2rem 0 3rem;
}

.afisha-main > .container-xxl > .mod-breadcrumbs__wrapper {
	margin-bottom: 1.25rem;
}

.afisha-main h1,
.afisha-main .page-header h1 {
	font-size: clamp(1.6rem, 1.2rem + 1.8vw, 2.4rem);
	font-weight: 700;
	letter-spacing: -.02em;
	margin-bottom: 1.25rem;
}

.afisha-dates .active a,
.afisha-dates a.active {
	background: var(--af-accent);
	border-color: var(--af-accent);
	color: var(--af-accent-ink);
}

.afisha-section__title {
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: -.01em;
	margin-bottom: 1rem;
}

.afisha-empty {
	padding: 3rem 0;
	color: var(--af-muted);
	text-align: center;
}

.afisha-pagination span[aria-current] {
	background: var(--af-text);
	border-color: var(--af-text);
	color: var(--af-bg);
}

.afisha-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--af-shadow);
}

.afisha-card:hover .afisha-card__media img {
	transform: scale(1.04);
}

.afisha-card:hover .afisha-card__title a {
	color: var(--af-accent);
}

.inpast {
	color: color-mix(in srgb, var(--af-muted) 60%, transparent);
	text-decoration: line-through;
}

.afisha-hero__facts .tag:hover {
	color: var(--af-text);
	text-decoration: underline;
}

.afisha-tags a:hover {
	color: var(--af-text);
}

.afisha-trailer__frame .afisha-embed {
	position: absolute;
	inset: 0;
	margin: 0;
	aspect-ratio: auto;
	border-radius: 0;
}

/* --- Подвал ------------------------------------------------------------------ */

.afisha-footer {
	margin-top: 0;
	padding: 3rem 0 2rem;
	background: var(--af-baltic-deep);
	color: rgba(255, 255, 255, .72);
	font-size: .92rem;
}

.afisha-footer__cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 2rem 2.5rem;
	padding-bottom: 2.5rem;
	border-bottom: 1px solid rgba(255, 255, 255, .14);
}

.afisha-footer__title {
	margin: 0 0 .8rem;
	color: #fff;
	font-family: var(--af-display);
	font-size: .95rem;
	font-weight: 600;
}

.afisha-footer__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.afisha-footer__list li + li {
	margin-top: .35rem;
}

.afisha-footer a {
	color: rgba(255, 255, 255, .78);
	text-decoration: none;
}

.afisha-footer a:hover {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.afisha-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem 1.5rem;
	padding-top: 1.5rem;
}

.afisha-footer__bottom .afisha-logo {
	color: #fff;
}

.afisha-footer__copy {
	flex: 1 1 320px;
	margin: 0;
}

.afisha-footer__age {
	margin: 0;
	padding: .1rem .45rem;
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 4px;
	color: #fff;
	font-size: .8rem;
	font-weight: 600;
}

.afisha-footer__consent {
	padding: 0;
	border: 0;
	background: none;
	color: rgba(255, 255, 255, .78);
	font: inherit;
	cursor: pointer;
}

.afisha-footer__consent:hover {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.afisha-footer__owner,
.afisha-footer__note {
	margin: 1rem 0 0;
	color: rgba(255, 255, 255, .6);
	font-size: .82rem;
	line-height: 1.5;
}

/* --- Видео с зарубежных сервисов: по клику ----------------------------------- */

.afisha-embed {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .75rem;
	aspect-ratio: 16 / 9;
	max-width: 100%;
	margin: 1rem 0;
	padding: 1.5rem;
	border-radius: var(--af-radius);
	background: var(--af-baltic-deep);
	color: rgba(255, 255, 255, .8);
	text-align: center;
}

.afisha-embed.is-loaded {
	padding: 0;
	background: #000;
}

.afisha-embed iframe {
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: var(--af-radius);
}

.afisha-embed__play {
	padding: .7rem 1.3rem;
	border: 0;
	border-radius: 999px;
	background: #fff;
	color: var(--af-baltic-deep);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.afisha-embed__play::before {
	content: "\25B6\FE0E";
	margin-right: .5rem;
}

.afisha-embed__note {
	max-width: 32rem;
	margin: 0;
	font-size: .82rem;
}

.afisha-embed__note a {
	color: #fff;
}

.afisha-registry {
	margin-top: 1.5rem;
	padding-top: .75rem;
	border-top: 1px solid var(--af-border);
	color: var(--af-muted);
	font-size: .82rem;
}

.afisha-registry p {
	margin: .25rem 0;
}

/* --- Уведомление о cookie ------------------------------------------------------ */

.cookie-consent {
	position: fixed;
	right: 1rem;
	bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
	left: 1rem;
	z-index: 1000;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem 1.25rem;
	max-width: 56rem;
	margin: 0 auto;
	padding: 1rem 1.25rem;
	border: 1px solid var(--af-border);
	border-radius: 12px;
	background: var(--af-surface);
	box-shadow: 0 8px 32px rgba(0, 0, 0, .18);
	color: var(--af-text);
	font-size: .9rem;
	line-height: 1.45;
}

.cookie-consent[hidden] {
	display: none;
}

.cookie-consent__text {
	flex: 1 1 22rem;
	margin: 0;
}

.cookie-consent__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}

.cookie-consent__btn {
	padding: .55rem 1rem;
	border: 1px solid var(--af-accent);
	border-radius: 8px;
	background: transparent;
	color: var(--af-accent);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.cookie-consent__btn--primary {
	background: var(--af-accent);
	color: var(--af-accent-ink);
}

.cookie-consent a {
	color: var(--af-accent);
}

/* --- Блок проданных ссылок ---------------------------------------------------- */

/* Стоит в основной колонке, на всю ширину, над подвалом — на каждой странице.
   Прятать блок нельзя: display:none, visibility:hidden, нулевой размер,
   вынос за экран и мелкий шрифт биржа считает неразмещением, а поисковик —
   обманом. Поэтому оформление только раскладывает объявления сеткой. */
.afisha-links-zone {
	padding-block: 2.5rem 3rem;
}

.afisha-links {
	padding-top: 1.75rem;
	border-top: 2px solid var(--af-text);
}

.afisha-links__title {
	margin: 0 0 1.25rem;
	color: var(--af-text);
	font-family: var(--af-display);
	font-size: 1.15rem;
	font-weight: 600;
	letter-spacing: -.01em;
}

.afisha-links__grid {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Биржа отдаёт все объявления страницы одним блоком со своей таблицей
   стилей: <div class="block_links"><ul><li class="block_links_icnt">…
   Её правила идут с !important по селектору «.block_links *», поэтому
   перекрываем их тем же весом и более длинным селектором. */
.afisha-links .block_links {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.afisha-links .block_links ul {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
	gap: 1rem !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.afisha-links .block_links li.block_links_icnt {
	display: block !important;
	width: auto !important;
	margin: 0 !important;
	padding: 1rem 1.1rem !important;
	border: 1px solid var(--af-border) !important;
	border-radius: var(--af-radius) !important;
	background: var(--af-surface) !important;
	float: none !important;
}

.afisha-links .block_links li.block_links_icnt:hover {
	border-color: var(--af-accent) !important;
}

.afisha-links .block_links span[onclick] {
	cursor: pointer;
}

.afisha-links .block_links .block_links_text {
	margin: 0 !important;
	color: var(--af-muted) !important;
	font-family: var(--af-font) !important;
	font-size: .92rem !important;
	line-height: 1.5 !important;
}

.afisha-links .block_links .block_links_text a {
	color: var(--af-accent) !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

/* Обычные текстовые ссылки (не блочный формат) — каждая отдельной плашкой */
.afisha-links__item {
	font-size: .95rem;
	line-height: 1.5;
}

.afisha-links__grid:not(:has(.block_links)) {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1rem;
}

.afisha-links__grid:not(:has(.block_links)) .afisha-links__item {
	padding: 1rem 1.1rem;
	border: 1px solid var(--af-border);
	border-radius: var(--af-radius);
	background: var(--af-surface);
}

/* --- Страница ошибки --------------------------------------------------------- */

.afisha-error {
	max-width: 40rem;
	margin: 0 auto;
	padding: 3rem 0 4rem;
	text-align: center;
}

.afisha-error__code {
	margin: 0;
	color: var(--af-accent);
	font-size: clamp(3.5rem, 2rem + 8vw, 6rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.04em;
}

.afisha-error__title {
	margin: .5rem 0 1rem;
	font-size: clamp(1.4rem, 1.1rem + 1.4vw, 2rem);
	font-weight: 700;
	letter-spacing: -.02em;
}

.afisha-error__text {
	margin-bottom: 2rem;
	color: var(--af-muted);
	line-height: 1.6;
}

/* С битого адреса человеку полезнее уйти в раздел афиши, чем на главную */
.afisha-error__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .5rem;
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
}

.afisha-error__links a {
	display: inline-block;
	padding: .5rem 1rem;
	border: 1px solid var(--af-border);
	border-radius: 999px;
	background: var(--af-surface);
	color: var(--af-text);
	text-decoration: none;
	transition: border-color .15s ease;
}

.afisha-error__links a:hover {
	border-color: var(--af-accent);
	color: var(--af-accent);
}

.afisha-error__home a {
	color: var(--af-muted);
	font-size: .9rem;
}

/* --- Модули в потоке страницы ------------------------------------------------ */

.afisha-modules--top {
	margin-bottom: 2rem;
}

.afisha-modules--bottom {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--af-border);
	color: var(--af-muted);
	line-height: 1.65;
}

/* Ограничение строки для читаемости — на текстовых блоках, а не на всей
   позиции: сетка ссылок должна занимать ту же ширину, что и сетка событий. */
.afisha-modules--bottom > * {
	/* Здесь ленты постеров и новости, а не сплошной текст — ограничение
	   строки под чтение им только мешает */
	max-width: none;
}

.afisha-modules--bottom > .afisha-links {
	max-width: none;
}

.afisha-modules--bottom a {
	color: var(--af-text);
}

.afisha-layout__side .card {
	border: 1px solid var(--af-border);
	border-radius: var(--af-radius);
	background: var(--af-surface);
}

.afisha-layout__side .mod-menu li + li {
	border-top: 1px solid var(--af-border);
}

.afisha-layout__side .mod-menu a {
	display: block;
	padding: .6rem .9rem;
	color: var(--af-text);
	text-decoration: none;
}

.afisha-layout__side .mod-menu a:hover {
	color: var(--af-accent);
}

/* Лента модуля на главной: карточки помельче, чем в списках раздела */
.afisha-grid--module {
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 1rem;
}

.afisha-block__all:hover {
	color: var(--af-accent);
}

/* Заголовок раздела */
.afisha-title {
	margin-bottom: 1.25rem;
	font-size: clamp(1.5rem, 1.2rem + 1.6vw, 2.2rem);
	font-weight: 700;
	letter-spacing: -.02em;
}
@media (prefers-color-scheme: dark) {


	.afisha-card__media--empty {
		background:
			radial-gradient(120% 80% at 50% 0%,
				hsl(var(--af-hue, 0) 30% 22%) 0%,
				var(--af-surface) 70%);
	}


	.afisha-card__letter {
		color: hsl(var(--af-hue, 0) 40% 75% / .45);
	}
}


.afisha-hero__poster.afisha-card__media--empty {
	border: 1px solid var(--af-border);
	border-radius: var(--af-radius);
}

/* Подвал: свой копирайт слева, текст модуля справа — без дублирования года */
.afisha-footer__copy {
	/* Без переноса строка копирайта распирала страницу на телефоне до 566px */
	margin: 0;
	min-width: 0;
}

.afisha-footer p {
	margin: 0 0 .35rem;
}

.afisha-footer .mod-custom {
	max-width: 60ch;
	text-align: end;
}
@media (max-width: 767.98px) {


	.afisha-footer .mod-custom {
		text-align: start;
	}
}



/* Крошки переехали под содержимое: там они служат для возврата на уровень
   выше, а не представляют страницу, — потому и выглядят скромнее. */
.afisha-crumbs {
	margin-top: 2.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--af-border);
	font-size: .85rem;
	color: var(--af-muted);
}

.afisha-crumbs .mod-breadcrumbs__wrapper,
.afisha-crumbs .breadcrumb {
	margin: 0;
	padding: 0;
	background: none;
}

.afisha-crumbs a {
	color: var(--af-muted);
}

.afisha-crumbs a:hover {
	color: var(--af-text);
}

.afisha-tags a:hover {
	border-color: var(--af-accent);
	color: var(--af-text);
}

/* Список афиши в боковой колонке журнала.
   Плотная строка вместо карточки: в колонке шириной 300 px сетка карточек
   вытягивалась в столбец на полтора экрана и уводила читателя от текста. */
.afisha-side-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.afisha-side-list__item + .afisha-side-list__item {
	border-top: 1px solid var(--af-border);
}

.afisha-side-list__link {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: .75rem;
	align-items: start;
	padding: .7rem 0;
	color: inherit;
	text-decoration: none;
}

.afisha-side-list__link:hover .afisha-side-list__title {
	color: var(--af-accent);
}

.afisha-side-list__thumb {
	display: block;
	overflow: hidden;
	aspect-ratio: 2 / 3;
	border-radius: 6px;
	background: var(--af-surface);
}

.afisha-side-list__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Буква-заглушка задана под постер карточки и в миниатюре занимала всю плашку */
.afisha-side-list__thumb .afisha-card__letter {
	font-size: 1.25rem;
}

.afisha-side-list__body {
	display: block;
	min-width: 0;
}

.afisha-side-list__title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: .95rem;
	font-weight: 600;
	line-height: 1.3;
}

.afisha-side-list__meta {
	display: block;
	margin-top: .2rem;
	font-size: .8rem;
	color: var(--af-muted);
}

.afisha-side-list__all {
	display: inline-block;
	margin-top: .6rem;
	font-size: .85rem;
	font-weight: 600;
}

.afisha-map--modal {
	height: min(70vh, 520px);
	margin: 0;
}

.afisha-map__empty {
	padding: 1rem;
	color: var(--af-muted);
}

/* Подпись под картой: источник плиток требует указания авторства */
.afisha-map + .afisha-map__note {
	margin: -1rem 0 1.5rem;
	font-size: .85rem;
	color: var(--af-muted);
}

/* ------------------------------------------------------------ окно карты */

.afisha-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: rgba(0, 0, 0, .55);
}

.afisha-modal__box {
	position: relative;
	width: min(900px, 100%);
	padding: 1.25rem;
	border-radius: var(--af-radius);
	background: var(--af-surface);
}

.afisha-modal__title {
	margin: 0 2rem .75rem 0;
	font-size: 1.1rem;
}

.afisha-modal__close {
	position: absolute;
	top: .5rem;
	right: .75rem;
	width: 2rem;
	height: 2rem;
	border: 0;
	background: none;
	color: var(--af-muted);
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
}

.afisha-modal__close:hover {
	color: var(--af-text);
}

/* Прокрутку страницы под открытым окном отключаем */
body.afisha-modal-open {
	overflow: hidden;
}

/* ============================================================================
   Калининградская редакция шаблона: типографика, главная
   ============================================================================ */

/* --- Типографика -------------------------------------------------------------- */

.afisha-main h1,
.afisha-main .page-header h1,
.afisha-title {
	font-family: var(--af-display);
	font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.25rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.025em;
}

.afisha-section__title,
.afisha-main h2 {
	font-family: var(--af-display);
	font-weight: 600;
	letter-spacing: -.015em;
}

.afisha-main {
	padding: 2rem 0 0;
}

.is-home .afisha-main,
.is-day .afisha-main {
	padding-top: 0;
}

.afisha-days::-webkit-scrollbar {
	display: none;
}

.afisha-days__day:hover {
	background: rgba(255, 255, 255, .1);
	color: #fff;
}

/* --- Маршрут по области ------------------------------------------------------ */

/* Города области остановками на линии — как электричка из Калининграда на
   взморье. Под названием — сколько событий на неделе: это и выбор города,
   и сводка, где что идёт. Текущий город — янтарная точка. */
.afisha-route {
	margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

.afisha-route__stops {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
}

.afisha-route__stops::-webkit-scrollbar {
	display: none;
}

.afisha-route__stop {
	position: relative;
	flex: 1 0 auto;
	min-width: 7.5rem;
	padding-top: 1.35rem;
}

/* Перегон до следующей остановки: от точки до края ячейки */
.afisha-route__stop::before {
	content: "";
	position: absolute;
	top: 5px;
	left: 6px;
	right: 0;
	height: 2px;
	background: rgba(255, 255, 255, .28);
}

.afisha-route__stop:last-child::before {
	display: none;
}

.afisha-route__stop::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 12px;
	height: 12px;
	border: 2px solid rgba(255, 255, 255, .7);
	border-radius: 50%;
	background: var(--af-baltic);
}

.afisha-route__stop.is-here::after {
	top: -3px;
	left: -3px;
	width: 18px;
	height: 18px;
	border: 3px solid rgba(231, 154, 22, .35);
	background: var(--af-warm);
	background-clip: padding-box;
}

.afisha-route__stop a {
	display: block;
	padding-right: 1rem;
	color: #fff;
	text-decoration: none;
}

.afisha-route__name {
	display: block;
	font-weight: 600;
	font-size: 1.02rem;
	line-height: 1.25;
}

.afisha-route__stop a:hover .afisha-route__name {
	text-decoration: underline;
	text-underline-offset: .2em;
}

.afisha-route__stop.is-here .afisha-route__name {
	color: #ffd98a;
}

.afisha-route__count {
	display: block;
	margin-top: .2rem;
	color: rgba(255, 255, 255, .66);
	font-size: .82rem;
	font-variant-numeric: tabular-nums;
}
@media (max-width: 991.98px) {


	.afisha-route__stops {
		margin-inline: calc(-1 * var(--af-gutter));
		padding-inline: var(--af-gutter);
	}
}


.afisha-modules--top > * + * {
	margin-top: 2.75rem;
}

.afisha-block__all:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.afisha-card__title a:hover {
	color: var(--af-accent);
}

/* --- Новости на главной -------------------------------------------------------- */

.afisha-modules--bottom {
	margin-top: 3rem;
}

.afisha-news {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.afisha-news__item {
	padding: 1.25rem 1.3rem;
	border-radius: var(--af-radius);
	background: var(--af-surface);
}

.afisha-news__date {
	display: block;
	margin-bottom: .4rem;
	color: var(--af-muted);
	font-size: .85rem;
}

.afisha-news__title {
	margin: 0;
	font-family: var(--af-font);
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.35;
}

.afisha-news__title a {
	color: var(--af-text);
	text-decoration: none;
}

.afisha-news__title a:hover {
	color: var(--af-accent);
}
@media (prefers-reduced-motion: reduce) {


	.afisha-days__day,
	.afisha-card,
	.afisha-links__item {
		transition: none;
	}
}


.afisha-dates .item a:hover {
	background: var(--af-surface);
	border-color: transparent;
	transform: none;
}

/* --- Новости ------------------------------------------------------------------ */

/* Переключатель рубрик */
.afisha-tabs {
	display: flex;
	gap: .35rem;
	margin: 0 0 2rem;
	overflow-x: auto;
	scrollbar-width: none;
}

.afisha-tabs__tab {
	flex: 0 0 auto;
	padding: .45rem 1rem;
	border-radius: 999px;
	background: var(--af-surface);
	color: var(--af-text);
	font-weight: 500;
	text-decoration: none;
}

.afisha-tabs__tab:hover {
	color: var(--af-accent);
}

.afisha-tabs__tab.is-current {
	background: var(--af-baltic);
	color: #fff;
}

/* ============================================================================
   Портал 38i.ru «Мой Иркутск»
   ============================================================================
   Главная — новости, афиша — один из разделов. Палитра своя, не как у
   afisha-irkutsk.ru: байкальская синь в шапке и ссылках, тёплый оранжевый
   («саранка») — акцент для «сейчас», цены и выбранного дня. */

body.is-portal {
	--af-baltic: #1d5c96;
	--af-baltic-deep: #0e2d4c;
	--af-amber: #f07c2a;
	--af-amber-ink: #2f1300;
	--af-bg: #f1f4f7;
	--af-border: #d6dee6;
	--af-accent: #1d5c96;
	--af-warm: #f07c2a;
	--af-warm-ink: #2f1300;
}
@media (prefers-color-scheme: dark) {


	body.is-portal {
		--af-bg: #0c141b;
		--af-surface: #131f29;
		--af-border: #22323f;
		--af-accent: #8cbcea;
	}
}


.portal-logo__mark {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 9px;
	background: var(--af-warm);
	color: #fff;
	font-family: var(--af-display);
	font-size: .95rem;
	font-weight: 700;
	letter-spacing: -.04em;
}

.portal-nav.afisha-nav {
	padding-block: .3rem;
	margin-inline: auto;
}

.portal-nav .afisha-nav__all a {
	font-weight: 700;
}
@media (max-width: 1319.98px) {

	.portal-nav.afisha-nav {
		flex-basis: auto;
		margin-inline: auto;
		padding: .3rem var(--af-gutter);
	}
}


.portal-card {
	padding: 1.25rem 1.4rem;
	border: 1px solid var(--af-border);
	border-radius: var(--af-radius);
	background: var(--af-surface);
}

.portal-more {
	display: inline-block;
	margin-top: .75rem;
	font-weight: 600;
	text-decoration: none;
}

/* Боковая колонка материалов: новости списком, без карточки на каждую */
.is-portal .afisha-layout__side .afisha-news {
	display: block;
	margin: 0;
	padding: 0;
}

.is-portal .afisha-layout__side .afisha-news__item {
	padding: .6rem 0;
	border: 0;
	border-top: 1px solid var(--af-border);
	border-radius: 0;
	background: none;
	box-shadow: none;
}

.is-portal .afisha-layout__side .afisha-news__title {
	margin: .15rem 0 0;
	font-size: .95rem;
	font-weight: 500;
	line-height: 1.35;
}

.is-portal .afisha-layout__side .afisha-news__date {
	font-size: .8rem;
}
@media (max-width: 399.98px) {


	.portal-logo .afisha-logo__text {
		font-size: .92rem;
	}
}


.wx-tabs {
	margin-top: .5rem;
}

.wx-facts {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: .8rem 1.5rem;
	margin: 0;
}

.wx-facts dt {
	color: var(--af-muted);
	font-size: .82rem;
	font-weight: 400;
}

.wx-facts dd {
	margin: 0;
	font-weight: 600;
	line-height: 1.35;
}

.wx-block {
	overflow-x: auto;
}
@media (prefers-color-scheme: dark) {


	.wx-warn {
		background: #3a1d0b;
		color: #ffd8b8;
	}
}


.wx-bk__wind--calm { background: #e6f4ea; color: #1e6b34; }
.wx-bk__wind--mid { background: #fff7e0; color: #7a5200; }
.wx-bk__wind--warn { background: #ffe8d6; color: #9a3a00; }
.wx-bk__wind--danger { background: #ffe0e0; color: #a10d0d; }
.wx-kp--unsettled { background: #fff7e0; color: #7a5200; }
.wx-kp--g1, .wx-kp--g2 { background: #ffe8d6; color: #9a3a00; }
.wx-kp--g3, .wx-kp--g4, .wx-kp--g5 { background: #ffe0e0; color: #a10d0d; }

.wx-kpbar--unsettled::before { background: #f5b800; }
.wx-kpbar--g1::before, .wx-kpbar--g2::before { background: #f07c2a; }
.wx-kpbar--g3::before, .wx-kpbar--g4::before, .wx-kpbar--g5::before { background: #e5484d; }

.cty-table tr.is-home {
	background: color-mix(in srgb, var(--af-accent) 8%, transparent);
}
.cty-route-num--minibus { background: #e79a16; }

/* Значки вместо Font Awesome (набор отключён в index.php ради скорости):
   на сайте их два вида — стрелки пагинации и фильтра дат; остальные
   декоративные значки скрыты. Значок места перед крошками убран: точка
   прилипала к «Главная» и читалась как лишний маркер списка */
[class^="icon-"], [class*=" icon-"] { font-style: normal; }
.mod-breadcrumbs__divider { display: none; }
.icon-angle-left::before { content: "‹"; }
.icon-angle-right::before { content: "›"; }
.icon-angle-double-left::before { content: "«"; }
.icon-angle-double-right::before { content: "»"; }
.icon-chevron-left::before { content: "‹"; }
.icon-chevron-right::before { content: "›"; }
.icon-chevron-down::before { content: "▾"; }
.icon-calendar, .icon-time, .icon-tags, .icon-white:not([class*="icon-chevron"]):not([class*="icon-arrow"]) { display: none; }

/* afisha.css */
/*
 * Афиша и каталог мест (com_afisha, com_jlcatalog) — часть стилей шаблона, вынесенная из user.css 01.10.2026.
 * Подключается только в своём разделе (index.php); общее — в user.css.
 */

/* --- Лента дат -------------------------------------------------------------- */

.afisha-dates {
	position: relative;
	margin-bottom: 1.75rem;
	/* Лента шире экрана прокручивается внутри себя, а не тянет страницу */
	max-width: 100%;
	overflow-x: auto;
	scrollbar-width: thin;
}

/* Компонент отдаёт даты списком ссылок — раскладываем в горизонтальную
   прокручиваемую ленту вместо вертикального столбца. */
.afisha-dates ul,
.afisha-dates .linesdate,
.afisha-dates .datestandart,
.afisha-dates > div {
	display: flex;
	flex-wrap: nowrap;
	gap: .5rem;
	margin: 0;
	padding: 0 0 .5rem;
	overflow-x: auto;
	list-style: none;
	scrollbar-width: thin;
	scroll-snap-type: x proximity;
}

.afisha-dates li {
	flex: 0 0 auto;
	scroll-snap-align: start;
}

.afisha-dates a {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 62px;
	padding: .5rem .7rem;
	border: 1px solid var(--af-border);
	border-radius: var(--af-radius);
	background: var(--af-surface);
	color: var(--af-text);
	font-size: .85rem;
	line-height: 1.3;
	text-decoration: none;
	white-space: nowrap;
	transition: border-color .15s ease, transform .15s ease;
}

.afisha-dates a:hover {
	border-color: var(--af-accent);
	transform: translateY(-1px);
}

/* --- Сетка и заголовки ------------------------------------------------------ */

.afisha-section {
	margin-bottom: 2.5rem;
}

/* День в списке раздела — как дни ленты новостей: крупно, тёмной чертой */
.afisha-day {
	margin: 1.75rem 0 .9rem;
	padding-bottom: .5rem;
	border-bottom: 2px solid var(--af-text);
	color: var(--af-text);
	font: 700 1.1rem/1.2 var(--display, inherit);
	letter-spacing: -.015em;
}

.afisha-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 1.25rem;
}

/* У площадок обложки горизонтальные, а не постеры */
.afisha-grid--places {
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}

.afisha-grid--places .afisha-card__media img {
	aspect-ratio: 3 / 2;
}

.afisha-intro {
	max-width: 70ch;
	margin-bottom: 1.5rem;
	color: var(--af-muted);
}

/* --- Карточка события ------------------------------------------------------- */

.afisha-card {
	position: relative;
	height: 100%;
	background: var(--af-surface);
	border: 1px solid var(--af-border);
	border-radius: var(--af-radius);
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease;
}

.afisha-card__media {
	position: relative;
	display: block;
	background: color-mix(in srgb, var(--af-text) 6%, transparent);
}

/* Постеры от парсера приходят разного размера — приводим к единой пропорции,
   иначе сетка разъезжается по высоте. */
.afisha-card__media img {
	display: block;
	width: 100%;
	aspect-ratio: 2 / 3;
	object-fit: cover;
	transition: transform .35s ease;
}

.afisha-card__age {
	position: absolute;
	inset-block-start: .5rem;
	inset-inline-end: .5rem;
	padding: .15rem .4rem;
	border-radius: 6px;
	background: rgba(0, 0, 0, .65);
	color: #fff;
	font-size: .72rem;
	line-height: 1.4;
}

.afisha-card__body {
	display: flex;
	flex-direction: column;
	gap: .35rem;
	padding: .85rem .9rem 1rem;
}

.afisha-card__title {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -.01em;
}

.afisha-card__title a {
	color: inherit;
	text-decoration: none;
}

.afisha-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.afisha-card__meta {
	color: var(--af-muted);
	font-size: .85rem;
}

/* Кинотеатры и театры в каталоге: что идёт сегодня и ближайшее */
.afisha-card__live {
	margin-top: .35rem;
	font-size: .85rem;
	font-weight: 600;
	color: var(--af-text);
}

.afisha-faq {
	margin-top: 2rem;
	max-width: 75ch;
}

.afisha-faq details {
	border-top: 1px solid var(--af-border);
	padding: .7rem 0;
}

.afisha-faq summary {
	cursor: pointer;
	font-weight: 600;
}

.afisha-faq p {
	margin: .5rem 0 0;
	line-height: 1.55;
}

/* --- Сеансы ----------------------------------------------------------------- */

.afisha-times {
	display: flex;
	flex-wrap: wrap;
	gap: .25rem;
	margin-top: .35rem;
}

/* Компонент помечает время классом .badge — у Bootstrap он красит текст
   в белый, и на светлой карточке время становится невидимым. */
.afisha-times a,
.afisha-times span,
.afisha-times .badge,
.seanse_time {
	color: var(--af-text);
	background: transparent;
	display: inline-block;
	padding: .1rem .4rem;
	border: 1px solid var(--af-border);
	border-radius: 6px;
	font-size: .8rem;
	font-variant-numeric: tabular-nums;
	line-height: 1.5;
	text-decoration: none;
	white-space: nowrap;
}

.afisha-times a:hover {
	border-color: var(--af-accent);
	color: var(--af-accent);
}

/* Сводка по прокату вместо списка сеансов: у фильма бывает полторы сотни
   кинотеатров, и перечисление растягивало карточку в пять раз выше постера */
.afisha-card__summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .4rem;
	margin: 0;
	color: var(--af-muted);
	font-size: .875rem;
}

/* Цена уходит на свою строку: в узкой карточке разделитель при переносе
   всё равно оставался висеть — то в конце строки, то в начале следующей */
.afisha-card__price,
.afisha-card__when {
	flex-basis: 100%;
}

/* Время подписано словом, сами часы выделены — иначе цифра читалась как
   что угодно: первый сеанс, ближайший, единственный */
.afisha-card__when b {
	color: var(--af-text);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

/* --- Страница события ------------------------------------------------------- */

.afisha-hero {
	display: grid;
	grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
	gap: 2rem;
	margin-bottom: 2.5rem;
}
@media (max-width: 767.98px) {


	.afisha-hero {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}
}


.afisha-hero__poster {
	position: relative;
	align-self: start;
	border-radius: var(--af-radius);
	overflow: hidden;
	background: color-mix(in srgb, var(--af-text) 6%, transparent);
}

.afisha-hero__poster img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	object-fit: cover;
}
@media (max-width: 767.98px) {


	/* Во всю ширину постер занимает целый экран — ограничиваем */
	.afisha-hero__poster {
		max-width: 220px;
	}
}


/* У площадок снимки горизонтальные, вертикальная пропорция постера их режет */
.afisha-hero--place .afisha-hero__poster img {
	aspect-ratio: 3 / 2;
}

.afisha-hero__title {
	font-size: clamp(1.7rem, 1.2rem + 2vw, 2.6rem);
	font-weight: 700;
	letter-spacing: -.02em;
	margin-bottom: .35rem;
}

.afisha-hero__sub,
.afisha-hero__original {
	margin-bottom: 1rem;
	color: var(--af-muted);
	font-size: 1.05rem;
}

.afisha-hero__facts {
	margin-bottom: 1rem;
	color: var(--af-muted);
}

/* Страна, год и жанр — ссылки на поиск, но выглядеть должны как часть строки */
.afisha-hero__facts .tag {
	color: inherit;
	text-decoration: none;
}

.afisha-sep {
	opacity: .5;
	padding: 0 .15rem;
}

.afisha-ratings {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-bottom: 1.25rem;
}

.afisha-rating {
	display: inline-flex;
	align-items: baseline;
	gap: .4rem;
	padding: .35rem .7rem;
	border: 1px solid var(--af-border);
	border-radius: 999px;
	color: var(--af-muted);
	font-size: .85rem;
}

.afisha-rating b {
	color: var(--af-text);
	font-size: 1.05rem;
}

.afisha-rating i {
	font-style: normal;
	opacity: .65;
}

/* Роли и участники: подпись слева, список ссылок справа */
.afisha-facts {
	display: grid;
	grid-template-columns: minmax(90px, max-content) minmax(0, 1fr);
	gap: .4rem 1rem;
	margin-bottom: 1.5rem;
}

.afisha-facts dt {
	color: var(--af-muted);
	font-weight: 400;
}

.afisha-facts dd {
	margin: 0;
}

.afisha-hero__description {
	max-width: 70ch;
	margin-bottom: 1.5rem;
	line-height: 1.65;
}

.afisha-trailer__frame {
	position: relative;
	max-width: 860px;
	aspect-ratio: 16 / 9;
	border-radius: var(--af-radius);
	overflow: hidden;
	background: #000;
}

.afisha-trailer__frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* --- Расписание -------------------------------------------------------------- */

.afisha-schedule {
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid var(--af-border);
	border-radius: var(--af-radius);
	overflow: hidden;
}

.afisha-schedule__row {
	display: grid;
	grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
	gap: .75rem 1.5rem;
	padding: .9rem 1rem;
	background: var(--af-surface);
}

.afisha-schedule__row + .afisha-schedule__row {
	border-top: 1px solid var(--af-border);
}
@media (max-width: 575.98px) {


	.afisha-schedule__row {
		grid-template-columns: 1fr;
	}
}


.afisha-schedule__place a {
	color: var(--af-text);
	font-weight: 500;
	text-decoration: none;
}

.afisha-schedule__place a:hover {
	color: var(--af-accent);
}

.afisha-schedule__price {
	display: block;
	margin-top: .2rem;
	color: var(--af-muted);
	font-size: .85rem;
}

/* Сеансы приходят от хелпера набором .badge — у бутстрапа они белые
   на белом фоне карточки, поэтому цвет и фон задаём сами. */
.afisha-times {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .35rem;
}

.afisha-times .badge {
	padding: .35rem .55rem;
	border: 1px solid var(--af-border);
	border-radius: 8px;
	background: transparent;
	color: var(--af-text);
	font-size: .9rem;
	font-weight: 500;
}

.afisha-times > span:not(.badge) {
	margin-inline-end: .25rem;
	color: var(--af-muted);
	font-size: .85rem;
}

.afisha-weeknav {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 1.25rem;
}

.afisha-weeknav a {
	color: var(--af-muted);
	font-size: .9rem;
	text-decoration: none;
}

.afisha-weeknav a:hover {
	color: var(--af-text);
}

/* Дни без сеансов: ссылки нет, поэтому и выглядеть должны неактивными */
.afisha-dates .is-empty span {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 62px;
	padding: .5rem .7rem;
	border: 1px dashed var(--af-border);
	border-radius: var(--af-radius);
	color: var(--af-muted);
	font-size: .85rem;
	line-height: 1.3;
	white-space: nowrap;
	opacity: .55;
}

/* Заголовок блока на главной со ссылкой на раздел целиком */
.afisha-block__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin: 2.5rem 0 1rem;
}

.afisha-block__head:first-child {
	margin-top: 0;
}

.afisha-block__head .afisha-section__title {
	margin: 0;
}

.afisha-block__all {
	flex: 0 0 auto;
	color: var(--af-muted);
	font-size: .9rem;
	text-decoration: none;
	white-space: nowrap;
}

.afisha-title__date {
	color: var(--af-muted);
	font-weight: 400;
}
@media (max-width: 575.98px) {

/* На телефоне карточки в две колонки: одна на всю ширину даёт постер
   в пол-экрана и заставляет листать вместо просмотра */

	.afisha-grid,
	.afisha-grid--module,
	.afisha-grid--places {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .75rem;
	}

	.afisha-card__title {
		font-size: .95rem;
	}

	.afisha-card__summary {
		font-size: .8rem;
	}
}


/* Заглушка вместо постера.
   Рисуется стилями, а не картинкой: у 1140 событий из 1536 изображения нет,
   и прежний nofoto.png весом 3,5 КБ грузился на каждой такой карточке. Здесь
   ноль запросов, живая подстройка под тёмную тему и первая буква названия
   вместо безликой иконки. */
.afisha-card__media--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 2 / 3;
	background:
		radial-gradient(120% 80% at 50% 0%,
			hsl(var(--af-hue, 0) 60% 92%) 0%,
			var(--af-surface) 70%);
	border-bottom: 1px solid var(--af-border);
	/* Карточка — ссылка, и подчёркивание от неё пробивается на букву */
	text-decoration: none;
}
@media (prefers-color-scheme: dark) {

	/* копия из user.css: перебивает правило выше по файлу */
	.afisha-card__media--empty {
		background:
			radial-gradient(120% 80% at 50% 0%,
				hsl(var(--af-hue, 0) 30% 22%) 0%,
				var(--af-surface) 70%);
	}
}


.afisha-grid--places .afisha-card__media--empty,
.afisha-hero--place .afisha-hero__poster.afisha-card__media--empty {
	aspect-ratio: 3 / 2;
}

.afisha-card__letter {
	font-size: clamp(2rem, 1rem + 6vw, 3.5rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.04em;
	color: hsl(var(--af-hue, 0) 35% 45% / .5);
	text-decoration: none;
	user-select: none;
}
@media (prefers-color-scheme: dark) {

	/* копия из user.css: перебивает правило выше по файлу */
	.afisha-card__letter {
		color: hsl(var(--af-hue, 0) 40% 75% / .45);
	}
}


/* Заглушка с названием (13.10.2026): вместо бледной первой буквы на сером —
   «текстовый постер» насыщенного цвета с названием события или места. Цвет
   от названия (--af-hue), одинаков в светлой и тёмной теме: это постер,
   а не фон страницы. */
.afisha-card__media--empty:has(.afisha-card__ph) {
	align-items: flex-end;
	justify-content: flex-start;
	background: linear-gradient(160deg, hsl(var(--af-hue, 0) 42% 38%) 0%, hsl(calc(var(--af-hue, 0) + 40) 48% 17%) 100%);
	border-bottom: 0;
}

.afisha-card__ph {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	overflow: hidden;
	margin: 0;
	padding: 14px 14px 16px;
	color: #fff;
	font: 700 clamp(15px, .9rem + .5vw, 21px)/1.14 var(--display, inherit);
	letter-spacing: -.015em;
	text-wrap: balance;
	text-decoration: none;
	overflow-wrap: anywhere;
	user-select: none;
}

.afisha-hero__poster .afisha-card__ph {
	padding: 22px;
	font-size: clamp(20px, 1rem + 1.2vw, 30px);
}

/* Страница персоны: фото портретное, как постер */
.afisha-hero--person .afisha-hero__poster img {
	aspect-ratio: 2 / 3;
	object-fit: cover;
	width: 100%;
	display: block;
	border-radius: var(--af-radius);
}

/* Фильмография: год слева, события справа */
.afisha-facts--years dt {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	color: var(--af-text);
}

.afisha-facts--years dd {
	margin-bottom: .35rem;
	line-height: 1.6;
}

/* Адрес, открывающий карту: выглядит как ссылка, но остаётся кнопкой */
.afisha-map-link {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-align: left;
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: 3px;
	cursor: pointer;
}

.afisha-map-link:hover {
	color: var(--af-accent);
}

/* Список станций указателя */
.afisha-metro {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
}

.afisha-metro__item a {
	display: inline-flex;
	align-items: baseline;
	gap: .4rem;
	padding: .35rem .7rem;
	border-radius: 999px;
	background: var(--af-surface);
	text-decoration: none;
}

.afisha-metro__item a:hover {
	background: var(--af-accent);
	color: #fff;
}

.afisha-metro__count {
	font-size: .8rem;
	opacity: .65;
}

.afisha-letter {
	margin: 0 0 .5rem;
	font-size: 1.05rem;
	color: var(--af-muted);
}

.afisha-card__meta--accent {
	color: var(--af-accent);
}

/* ------------------------------------------------ переключатель периода */

/* Подборка по стране, году или жанру: «сегодня / до конца недели / вся афиша» */
.afisha-switch {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0 0 1.25rem;
}

.afisha-switch > a,
.afisha-switch > span {
	padding: .4rem .9rem;
	border: 1px solid var(--af-border);
	border-radius: 999px;
	background: var(--af-surface);
	color: var(--af-text);
	font-size: .95rem;
	text-decoration: none;
}

.afisha-switch > a:hover {
	border-color: var(--af-accent);
	color: var(--af-accent);
}

.afisha-switch > [aria-current="page"] {
	border-color: var(--af-accent);
	background: var(--af-accent);
	color: var(--af-accent-ink);
}

/* «Вся киноафиша» — выход из подборки, отодвигаем вправо */
.afisha-switch__all {
	margin-left: auto;
}
@media (max-width: 600px) {


	.afisha-switch__all {
		margin-left: 0;
	}
}


/* Станции метро — в тёмной теме значок должен быть тёмным */
.afisha-metro__item a {
	border: 1px solid var(--af-border);
	color: var(--af-text);
}

.afisha-metro__item a:hover {
	border-color: var(--af-accent);
	color: var(--af-accent-ink);
}

/* Страница дня: разделы идут так же, как блоки главной */
.is-day .afisha-section + .afisha-section {
	margin-top: 2.75rem;
}

/* --- Герой главной и лента дней ----------------------------------------------- */

.afisha-welcome {
	margin-bottom: 2.5rem;
	padding: clamp(1.75rem, 4vw, 3rem) 0 clamp(1.5rem, 3vw, 2.25rem);
	background: var(--af-baltic);
	color: #fff;
}

.afisha-welcome__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.75rem 3rem;
}

.afisha-welcome__text {
	flex: 1 1 22rem;
	min-width: 0;
}

.afisha-welcome__title {
	margin: 0;
	color: #fff;
	font-family: var(--af-display);
	font-size: clamp(2rem, 1.2rem + 3.6vw, 3.75rem);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -.035em;
}

.afisha-welcome__today {
	margin: .9rem 0 0;
	color: rgba(255, 255, 255, .78);
	font-size: 1.05rem;
}

/* Главный элемент страницы: семь дней крупными числами. Сегодняшний —
   цветом янтаря, выходные чуть ярче будних. */
.afisha-days {
	display: flex;
	flex: 0 1 auto;
	gap: .35rem;
	max-width: 100%;
	overflow-x: auto;
	scrollbar-width: none;
}

.afisha-days__day {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	align-items: center;
	min-width: 4.1rem;
	padding: .7rem .5rem .6rem;
	border-radius: var(--af-radius);
	color: rgba(255, 255, 255, .8);
	text-decoration: none;
	transition: background-color .15s ease;
}

.afisha-days__num {
	font-family: var(--af-display);
	font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem);
	font-weight: 600;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

.afisha-days__label {
	margin-top: .35rem;
	font-size: .82rem;
}

.afisha-days__day.is-weekend .afisha-days__label {
	color: #ffd08a;
}

.afisha-days__day.is-today {
	background: var(--af-warm);
	color: var(--af-warm-ink);
}

.afisha-days__day.is-today .afisha-days__label {
	color: var(--af-warm-ink);
	font-weight: 600;
}
@media (max-width: 991.98px) {


	.afisha-days {
		margin-inline: calc(-1 * var(--af-gutter));
		padding-inline: var(--af-gutter);
	}
}


/* --- Ряды постеров на главной -------------------------------------------------- */

/* Блоки разделов на главной — одной прокручиваемой лентой, а не сеткой в
   несколько рядов: так на экран влезает несколько разделов сразу, а не
   двадцать постеров кино подряд. */
.is-home .afisha-grid--module,
.afisha-modules--bottom .afisha-grid--module,
.afisha-grid--row {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(150px, calc((100% - 5 * 1.25rem) / 6));
	grid-template-columns: none;
	gap: 1.25rem;
	overflow-x: auto;
	padding-bottom: .75rem;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	scrollbar-color: var(--af-border) transparent;
}

.is-home .afisha-grid--module > *,
.afisha-modules--bottom .afisha-grid--module > *,
.afisha-grid--row > * {
	scroll-snap-align: start;
}
@media (max-width: 767.98px) {


	.is-home .afisha-grid--module,
	.afisha-modules--bottom .afisha-grid--module,
	.afisha-grid--row {
		grid-auto-columns: 42%;
		margin-inline: calc(-1 * var(--af-gutter));
		padding-inline: var(--af-gutter);
		scroll-padding-inline: var(--af-gutter);
	}
}


.afisha-block__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.1rem;
}

.afisha-block__head .afisha-section__title {
	margin: 0;
	font-size: clamp(1.15rem, 1rem + .6vw, 1.5rem);
}

.afisha-block__all {
	flex: 0 0 auto;
	color: var(--af-accent);
	font-weight: 600;
	text-decoration: none;
}

/* Карточка без рамки и тени: постер, под ним название и площадки */
.afisha-card {
	border: 0;
	background: transparent;
	box-shadow: none;
}

.afisha-card__media {
	border-radius: var(--af-radius);
	overflow: hidden;
}

.afisha-card__title {
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
}

.afisha-card__title a {
	color: var(--af-text);
	text-decoration: none;
}

.afisha-card__price {
	color: var(--af-text);
	font-weight: 600;
}
@media (prefers-reduced-motion: reduce) {

	/* копия из user.css: перебивает правило выше по файлу */
	.afisha-days__day,
	.afisha-card,
	.afisha-links__item {
		transition: none;
	}
}


/* --- Лента дат раздела: в одном стиле с лентой дней главной ------------------- */

.afisha-dates .item a {
	min-width: 4.2rem;
	padding: .55rem .6rem;
	border: 0;
	border-radius: var(--af-radius);
	background: transparent;
	color: var(--af-text);
	transition: background-color .15s ease;
}

.afisha-dates .item strong {
	font-family: var(--af-display);
	font-size: 1rem;
	font-weight: 600;
}

.afisha-dates .item small {
	color: var(--af-muted);
	font-size: .8rem;
}

/* Макет компонента помечает день классом current, шаблон места — is-current */
.afisha-dates .item.is-current a,
.afisha-dates .item.current a {
	background: var(--af-warm);
	color: var(--af-warm-ink);
}

.afisha-dates .item.is-current a small,
.afisha-dates .item.current a small {
	color: var(--af-warm-ink);
}

/* Выбранный день без показов: рамка акцентная, но без заливки */
.afisha-dates .item.is-empty.is-current span,
.afisha-dates .item.is-empty.current span {
	border-style: solid;
	border-color: var(--af-warm);
	color: var(--af-text);
}

/* Карточка без подложки: текст выравниваем по краю постера */
.afisha-card__body {
	padding-inline: 0;
}

/* --- Архив афиши площадки ----------------------------------------------------- */

.afisha-archive__lead {
	max-width: 70ch;
	margin-bottom: 1rem;
	color: var(--af-muted);
}

.afisha-archive__more {
	margin-top: 1.5rem;
	color: var(--af-muted);
}

.afisha-archive-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr));
	gap: 0 2rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.afisha-archive-list__row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .15rem .6rem;
	padding: .55rem 0;
	border-bottom: 1px solid var(--af-border);
}

.afisha-archive-list__row a {
	font-weight: 600;
}

.afisha-archive-list__addr,
.afisha-archive-list__meta {
	color: var(--af-muted);
	font-size: .88rem;
}

.afisha-archive-list__meta {
	margin-left: auto;
	white-space: nowrap;
}
.icon-arrow-down::before { content: "↓"; }

/* --- Гид по разделу: сводка, площадки, вопросы (06.10.2026) ---------------- */

.afisha-lead {
	margin: -.25rem 0 1rem;
	color: var(--af-muted);
	font-size: .95rem;
}

.afisha-guide__venues {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.afisha-guide__venues li {
	padding: .45rem .8rem;
	border: 1px solid var(--af-border);
	border-radius: 999px;
	background: var(--af-surface);
	font-size: .9rem;
}

.afisha-guide__venues a {
	color: var(--af-text);
	font-weight: 500;
	text-decoration: none;
}

.afisha-guide__venues a:hover {
	color: var(--af-accent);
}

.afisha-guide__venues span {
	color: var(--af-muted);
	white-space: nowrap;
}

.afisha-faq details {
	border-top: 1px solid var(--af-border);
	padding: .65rem 0;
}

.afisha-faq details:last-child {
	border-bottom: 1px solid var(--af-border);
}

.afisha-faq summary {
	cursor: pointer;
	font-weight: 600;
}

.afisha-faq p {
	max-width: 80ch;
	margin: .5rem 0 0;
	line-height: 1.55;
}

/* Подпись к фото площадки или организатора с разрешением (data/photo-credits.json, 08.10.2026) */
.afisha-hero__credit {
	position: absolute;
	left: 8px;
	bottom: 8px;
	max-width: calc(100% - 16px);
	padding: 2px 7px;
	border-radius: 4px;
	background: rgba(0, 0, 0, .55);
	color: #fff;
	font-size: 11px;
	line-height: 1.35;
}

/* Выставка: расписание одной строкой — «Открыта до 13 декабря», часы по дням недели */
.afisha-times--expo { display: flex; flex-direction: column; gap: 2px; align-items: flex-start; text-align: left; }
.afisha-times--expo span { font-size: .9em; opacity: .8; }

/* Событие прошло (13.10.2026): заметная плашка над расписанием прошлых дней */
.afisha-empty.afisha-over {
	margin: 0 0 1rem;
	padding: .75rem 1rem;
	border-radius: 10px;
	background: color-mix(in srgb, var(--af-amber, #f0a019) 16%, var(--af-surface));
	color: var(--af-text);
	font-weight: 500;
	text-align: left;
}

/* Где купить билеты — под расписанием события (13.10.2026) */
.afisha-tickets {
	margin-top: 1.25rem;
	padding: 1rem 1.15rem;
	border: 1px solid var(--af-border);
	border-radius: 12px;
	background: var(--af-surface);
}

.afisha-tickets__title {
	margin: 0 0 .5rem;
	font: 700 1.05rem/1.25 var(--display, inherit);
}

.afisha-tickets ul {
	display: grid;
	gap: .35rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: .95rem;
	line-height: 1.45;
}

.afisha-tickets__note {
	margin: .6rem 0 0;
	color: var(--af-muted);
	font-size: .85rem;
}

/* У фильма — десяток кинотеатров: в две колонки, по строке на кинотеатр */
.afisha-tickets ul.afisha-tickets__many {
	display: block;
	columns: 2 320px;
	column-gap: 2rem;
	font-size: .9rem;
}

.afisha-tickets__many li {
	break-inside: avoid;
	margin-bottom: .35rem;
}

/* portal.css */
/*
 * Портал 38i.ru «Мой Иркутск» — дизайн по вертикалям (2026).
 *
 * Подключается только у портала, после user.css. Внутренние страницы
 * компонентов свёрстаны на токенах --af-* из user.css — здесь токены
 * получают новую палитру (ледяной фон, ночная шапка, янтарь, цвет вертикали),
 * а поверх — шапка с вертикалями, подменю, панели хабов, главная по
 * сценариям, подвал и нижняя панель на телефоне.
 *
 * Цвет вертикали — переменная --v на <header> и на body (класс v-*).
 */

body.is-p2 {
	--ice: #eef2f4;
	--surface: #ffffff;
	--sunk: #f4f7f9;
	--ink: #16222c;
	--muted: #5a6873;
	--line: #d6dee3;
	--night: #10263a;
	--night-2: #183a57;
	--on-night: #eaf1f6;
	--on-night-muted: #a2b8c9;
	--amber: #f0a019;
	--amber-ink: #3a2400;
	--amber-soft: #fdf0d6;
	--amber-text: #8a5300;
	--cc-k: 100%;
	--cc-b: 10%;
	--chip: #e4ebf0;
	--link: #1b5586;
	--green: #2e9e5b;
	--yellow: #d9a100;
	--red: #d9412f;
	--dusk: #2a1838;
	--berry: #d23f6a;
	--display: "Unbounded", "Onest", system-ui, sans-serif;
	--v: #10263a;

	--af-bg: var(--ice);
	--af-surface: var(--surface);
	--af-text: var(--ink);
	--af-muted: var(--muted);
	--af-border: var(--line);
	--af-accent: var(--link);
	--af-baltic: var(--link);
	--af-baltic-deep: var(--night);
	--af-amber: var(--amber);
	--af-amber-ink: var(--amber-ink);
	--af-warm: var(--amber);
	--af-warm-ink: var(--amber-ink);
	--af-radius: 12px;

	background: var(--ice);
	color: var(--ink);
}

body.is-p2.v-gorod { --v: #1b5586; }
body.is-p2.v-news { --v: #3d4a57; }
body.is-p2.v-otdyh { --v: #d23f6a; --link: #b02a55; }
body.is-p2.v-poezdki { --v: #2e8b6b; --link: #1f6f54; }
body.is-p2.v-baikal { --v: #1a8fa0; --link: #127080; }

@media (prefers-color-scheme: dark) {
	body.is-p2 {
		--ice: #0c151b;
		--surface: #15212a;
		--sunk: #111c24;
		--ink: #e6edf1;
		--muted: #95a6b2;
		--line: #253642;
		--night: #08192a;
		--night-2: #10324c;
		--amber-soft: #3a2c12;
		--amber-text: #f0b44a;
		--cc-k: 42%;
		--cc-b: 30%;
		--chip: #1e2f3b;
		--link: #8cbde6;
	}

	body.is-p2.v-otdyh { --link: #f39bb7; }
	body.is-p2.v-poezdki { --link: #7fd1b3; }
	body.is-p2.v-baikal { --link: #7fd3de; }
}

.is-p2 a { color: var(--link); }
.is-p2 :focus-visible { outline: 2px solid var(--amber); outline-offset: 2px; }

/* --- Шапка ----------------------------------------------------------------- */

.ph {
	position: sticky;
	top: env(safe-area-inset-top, 0px);
	z-index: 30;
	background: var(--night);
	color: var(--on-night);
}

.ph a { color: inherit; text-decoration: none; }

.ph-bar {
	display: flex;
	align-items: center;
	gap: 8px 26px;
	min-height: 64px;
	padding-block: 10px;
}

.ph-logo {
	display: flex;
	align-items: center;
	gap: 10px;
	font: 700 18px/1 var(--display);
	letter-spacing: -.02em;
	white-space: nowrap;
	color: #fff !important;
}

.ph-logo i {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: var(--amber);
	color: var(--amber-ink);
	font: 700 16px/1 var(--display);
	font-style: normal;
}

.ph-nav {
	display: flex;
	gap: 2px;
	font-weight: 500;
	font-size: 15px;
}

.ph-nav a {
	padding: 7px 13px;
	border-radius: 999px;
	white-space: nowrap;
}

.ph-nav a:hover { background: var(--night-2); }
.ph-nav a.on { background: var(--c); color: #fff; }

.ph-hz {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 14px;
	color: var(--on-night-muted);
	white-space: nowrap;
}

.ph-hz b { color: var(--on-night); font-weight: 600; font-variant-numeric: tabular-nums; }
.ph-hz a:hover b, .ph-hz a:hover { color: #fff; }
.ph-hz a::first-letter { text-transform: none; }

.ph-jam i {
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 6px;
	border-radius: 50%;
	background: var(--green);
	vertical-align: 1px;
}

.ph-jam.is-yellow i { background: var(--amber); }
.ph-jam.is-red i { background: #e5484d; }

.ph-sub {
	background: var(--v);
	color: rgba(255, 255, 255, .78);
	font-size: 14px;
}

.ph-sub__in {
	display: flex;
	gap: 4px 20px;
	padding-block: 9px;
	overflow-x: auto;
	scrollbar-width: none;
}

.ph-sub__in::-webkit-scrollbar { display: none; }
.ph-sub a { white-space: nowrap; }
.ph-sub a:hover { color: #fff; }
.ph-sub a.on { color: #fff; font-weight: 600; box-shadow: inset 0 -2px 0 rgba(255, 255, 255, .85); }

@media (max-width: 1100px) {
	.ph-bar { flex-wrap: wrap; }
	.ph-nav { order: 3; width: 100%; overflow-x: auto; scrollbar-width: none; margin-inline: -6px; }
	.ph-nav::-webkit-scrollbar { display: none; }
}

@media (max-width: 760px) {
	.ph { position: relative; }
	.ph-bar { min-height: 56px; gap: 10px; }
	.ph-logo span { font-size: 16px; }
	.ph-logo i { width: 34px; height: 34px; font-size: 14px; }
	.ph-hz { gap: 12px; font-size: 13px; }
	.ph-hz .ph-time span, .ph-hz .ph-wx span, .ph-hz .ph-jam span { display: none; }
	.ph-nav { display: none; }
}

/* --- Страница ---------------------------------------------------------------- */

.is-p2 .afisha-main { padding: 26px 0 48px; }

.is-p2 .afisha-title,
.is-p2 .afisha-hero__title,
.is-p2 .afisha-article__title {
	font-family: var(--display);
	font-weight: 700;
	letter-spacing: -.035em;
	line-height: 1.08;
	text-wrap: balance;
}

.is-p2 .afisha-title { font-size: clamp(26px, 3.4vw, 38px); }

.is-p2 .afisha-section__title,
.is-p2 .afisha-main h2 {
	font-family: var(--display);
	letter-spacing: -.02em;
}

.is-p2 .afisha-section__title { font-size: clamp(18px, 1.6vw, 21px); }

.is-p2 .afisha-card,
.is-p2 .news-card,
.is-p2 .afisha-plugin {
	border-radius: 12px;
}

.is-p2 .cty-chip:hover { border-color: var(--v); }
.is-p2 .cty-table th { font-weight: 600; }
.is-p2 .afisha-crumbs { border-top-color: var(--line); }

/* Проданные ссылки — тихий блок в потоке страницы */
.is-p2 .plz {
	margin-block: 8px 0;
	padding: 14px 0;
	border-top: 1px solid var(--line);
	font-size: 14px;
	color: var(--muted);
}

.is-p2 .plz a { color: var(--link); }
.is-p2 .afisha-links-zone.plz { padding-block: 14px; }
.is-p2 .afisha-links-zone:empty { display: none; }

/* --- Хаб вертикали ---------------------------------------------------------- */

.hub { display: flex; flex-direction: column; gap: 22px; }

.hub-head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 6px 20px;
}

.hub-head h1 {
	margin: 0;
	font: 700 clamp(28px, 4vw, 40px)/1.05 var(--display);
	letter-spacing: -.035em;
}

.hub-head p { margin: 4px 0 0; color: var(--muted); }
.hub-head p::first-letter { text-transform: uppercase; }

/* Обложка вертикали: тёмная плашка с фото (Отдых, Поездки, Байкал) */
.hub-cover {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	background: var(--cover, var(--night));
	color: #fff;
	padding: clamp(20px, 3vw, 32px);
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-height: 220px;
	justify-content: flex-end;
}

.hub-cover > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .55;
}

.hub-cover::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 20%, var(--cover-fade, rgba(6, 20, 30, .85)));
}

.hub-cover > * { position: relative; z-index: 1; }

.hub-cover h1 {
	margin: 0;
	font: 700 clamp(30px, 5vw, 54px)/1 var(--display);
	letter-spacing: -.04em;
	color: #fff;
}

.hub-cover p { margin: 0; max-width: 62ch; color: rgba(255, 255, 255, .85); font-size: 16px; }

.hub-cover__facts { display: flex; flex-wrap: wrap; gap: 8px; }

.hub-cover__facts a,
.hub-cover__facts span {
	padding: 8px 12px;
	border-radius: 10px;
	background: rgba(255, 255, 255, .12);
	backdrop-filter: blur(4px);
	color: #fff !important;
	font-size: 14px;
}

.hub-cover__facts b { font: 700 16px/1 var(--display); margin-right: 4px; }

.hub-grid,
.pgrid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 18px;
}

.c3 { grid-column: span 3; }
.c4 { grid-column: span 4; }
.c5 { grid-column: span 5; }
.c6 { grid-column: span 6; }
.c7 { grid-column: span 7; }
.c8 { grid-column: span 8; }
.c12 { grid-column: 1 / -1; }

@media (max-width: 1080px) {
	.c3, .c4, .c5 { grid-column: span 6; }
	.c6, .c7, .c8 { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
	.c3, .c4, .c5 { grid-column: 1 / -1; }
}

/* Панель */
.pp {
	background: var(--surface);
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

.pp-h {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 10px;
}

.pp-h h2 {
	margin: 0;
	font: 700 17px/1.2 var(--display);
	letter-spacing: -.02em;
}

.pp-h a { font-size: 14px; white-space: nowrap; }
.pp-empty, .pp-note { margin: 0; font-size: 14px; color: var(--muted); }

/* Заголовок ряда вне панелей */
.pe-h {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	margin-bottom: 14px;
}

.pe-h h2 {
	margin: 0;
	font: 700 20px/1.2 var(--display);
	letter-spacing: -.02em;
}

.pe-h a { font-size: 14px; white-space: nowrap; }

/* Сейчас важно */
.pal {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 10px;
}

.pal a {
	background: var(--amber-soft);
	border-radius: 10px;
	padding: 12px 14px;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 10px;
	color: var(--ink) !important;
	text-decoration: none;
}

.pal b { font: 700 18px/1.15 var(--display); font-variant-numeric: tabular-nums; }
.pal span { font-size: 14px; }

/* Погода */
.pw-now { display: flex; align-items: center; gap: 14px; }
.pw-now b { font: 700 52px/.9 var(--display); letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.pw-now span { font-size: 14px; color: var(--muted); line-height: 1.45; }

.pw-day { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; align-items: end; }
.pw-h { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.pw-t { font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
.pw-bar { width: 100%; height: 56px; display: flex; align-items: flex-end; background: var(--sunk); border-radius: 6px; overflow: hidden; }
.pw-bar i { display: block; width: 100%; border-radius: 6px 6px 0 0; background: linear-gradient(180deg, #f0a019, #f6c96a); }
.pw-hh { font-size: 11px; color: var(--muted); font-variant-numeric: tabular-nums; }

.pw-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; font-size: 13px; color: var(--muted); }
.pw-meta b { color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; }

.pw-next { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pw-next div { background: var(--sunk); border-radius: 8px; padding: 9px 10px; display: flex; flex-direction: column; gap: 2px; font-size: 12px; color: var(--muted); }
.pw-next b { font: 700 16px/1.2 var(--display); color: var(--ink); font-variant-numeric: tabular-nums; }
.pw-next small::first-letter { text-transform: uppercase; }
.pw-warn { margin: 0; padding: 8px 10px; border-radius: 8px; background: var(--amber-soft); font-size: 13px; }

/* Дороги */
.pr-jam { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 20px; align-items: end; }
.pr-now { display: flex; flex-direction: column; gap: 2px; }
.pr-now b { font: 700 64px/.95 var(--display); letter-spacing: -.04em; font-variant-numeric: tabular-nums; color: var(--muted); }
.pr-now b.g { color: var(--green); }
.pr-now b.y { color: var(--yellow); }
.pr-now b.r { color: var(--red); }
.pr-now span { font-size: 14px; color: var(--muted); }
.pr-chart { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pr-chart p { margin: 0; font-size: 13px; color: var(--muted); }
.pr-bars { display: grid; grid-template-columns: repeat(24, minmax(0, 1fr)); gap: 3px; height: 110px; align-items: end; border-bottom: 1px solid var(--line); }
.pr-bars i { display: block; border-radius: 3px 3px 0 0; min-height: 2px; background: var(--green); }
.pr-bars i.y { background: var(--yellow); }
.pr-bars i.r { background: var(--red); }
.pr-bars i.n { background: repeating-linear-gradient(45deg, var(--chip), var(--chip) 3px, transparent 3px, transparent 6px); border-radius: 3px; opacity: .7; }
.pr-bars i.now { outline: 2px solid var(--ink); outline-offset: 1px; }
.pr-hours { display: grid; grid-template-columns: repeat(24, minmax(0, 1fr)); gap: 3px; font-size: 11px; color: var(--muted); font-variant-numeric: tabular-nums; text-align: center; }

.pr-fuel { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 14px; color: var(--muted); }
.pr-ft { color: var(--ink); font-weight: 600; }
.pr-fuel b { font: 700 18px/1 var(--display); color: var(--ink); font-variant-numeric: tabular-nums; }
.pr-cmp { flex: 1 1 300px; font-size: 13px; }
.pr-fuel a { margin-left: auto; }

.pr-works { display: flex; flex-direction: column; gap: 8px; padding-top: 12px; border-top: 1px solid var(--line); }
.pr-wh { display: flex; justify-content: space-between; gap: 10px; font-size: 14px; }
.pr-wh span { font-weight: 600; }
.pr-works ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 20px; }
.pr-works li { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 10px; font-size: 14px; line-height: 1.4; }
.pr-works li b { font-variant-numeric: tabular-nums; color: var(--muted); font-weight: 600; }
.pr-works li a { color: var(--ink); }
.pr-works li a:hover { color: var(--link); }

@media (max-width: 700px) {
	.pr-jam { grid-template-columns: minmax(0, 1fr); }
	.pr-hours span:nth-child(odd) { visibility: hidden; }
	.pr-works ul { grid-template-columns: minmax(0, 1fr); }
}

/* Отключения */
.po-season {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 10px;
	align-items: baseline;
	padding: 8px 12px;
	border-radius: 8px;
	background: var(--sunk);
	font-size: 13px;
	color: var(--muted) !important;
	text-decoration: none;
}

.po-season b { color: var(--ink); font-weight: 600; }
.po-tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.po-tabs span { padding: 4px 11px; border-radius: 999px; font-size: 13px; background: var(--chip); color: var(--muted); }
.po-tabs span.on { background: var(--ink); color: var(--surface); font-weight: 600; }
.po-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.po-list li { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.po-list li:last-child { border-bottom: 0; }
.po-list time { font-variant-numeric: tabular-nums; font-weight: 600; }
.po-list small { display: block; color: var(--muted); font-size: 13px; }

/* Расписания */
.pt { width: 100%; border-collapse: collapse; font-size: 14px; }
.pt td { padding: 7px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.pt tr:last-child td { border-bottom: 0; }
.pt-t { width: 58px; font-weight: 700; font-variant-numeric: tabular-nums; }
.pt-r { text-align: right; color: var(--muted); white-space: nowrap; font-size: 13px; }
.pt small { color: var(--muted); display: block; font-size: 12px; }

/* Маршруты */
.prt-k { display: flex; gap: 14px; font-size: 13px; color: var(--muted); }
.prt-k span::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 5px; border-radius: 3px; background: var(--chip); vertical-align: -1px; }
.prt-k .tram::before { background: #fbe1dc; }
.prt-k .trolleybus::before { background: #dcebfb; }
.prt-k .bus::before { background: #e2f1e6; }
.prt { display: flex; flex-wrap: wrap; gap: 6px; }
.prt a { min-width: 44px; text-align: center; padding: 7px 9px; border-radius: 8px; font: 600 14px/1 var(--display); background: var(--chip); color: var(--ink) !important; text-decoration: none; }
.prt a.tram { background: #fbe1dc; color: #9b2a1c !important; }
.prt a.trolleybus { background: #dcebfb; color: #1b5586 !important; }
.prt a.bus { background: #e2f1e6; color: #1f6b3e !important; }

/* Справочник */
.pref { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.pref li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.pref li:last-child { border-bottom: 0; }
.pref b { font-weight: 600; font-variant-numeric: tabular-nums; color: var(--muted); }
.pref a { color: var(--ink); }
.pref a:hover { color: var(--link); }

/* Новости */
.pn-lead { display: flex; flex-direction: column; gap: 8px; color: var(--ink) !important; text-decoration: none; }
.pn-lead img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 10px; }
.pn-lead b { font: 700 20px/1.2 var(--display); letter-spacing: -.02em; text-wrap: balance; }
.pn-lead:hover b { color: var(--link); }
.pn-meta { display: flex; gap: 10px; align-items: center; font-size: 13px; color: var(--muted); }
.pn-meta .cat, .cat { display: inline-block; padding: 2px 9px; border-radius: 999px; background: var(--chip); color: var(--link); font-size: 12px; font-weight: 600; }
.pn-feed { list-style: none; margin: 0; padding: 0; }
.pn-feed li { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 15px; line-height: 1.4; }
.pn-feed li:last-child { border-bottom: 0; }
.pn-feed time { color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; padding-top: 2px; }
.pn-feed a { color: var(--ink); }
.pn-feed a:hover { color: var(--link); }

/* Афиша: тёмный ряд постеров */
.pe { border-radius: 14px; padding: 22px; }
.pe-dark { background: var(--dusk); color: #f3eef7; }
.pe-dark .pe-h h2 { color: #fff; }
.pe-dark .pe-h a { color: #f5a9c0; }
.pe-night { background: var(--night); color: var(--on-night); }
.pe-night .pe-h h2 { color: #fff; }
.pe-night .pe-h a { color: #9ec9ef; }
/* Ряд событий — ровно 6 колонок: шаблоны добирают карточки до целого ряда
   (portalEventsSoon), и «сколько влезет» оставляло пустоту справа */
.pe-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }

@media (max-width: 1100px) {
	.pe-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.pe-ev { display: flex; flex-direction: column; gap: 4px; min-width: 0; color: inherit !important; text-decoration: none; }
.pe-p { position: relative; display: block; margin-bottom: 4px; }
.pe-p img, .pe-noimg { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 10px; background: rgba(255, 255, 255, .08); }
.pe-p .age { position: absolute; top: 6px; left: 6px; padding: 1px 6px; border-radius: 5px; background: rgba(8, 20, 32, .75); color: #fff; font-size: 11px; font-weight: 600; }
.pe-w { font-size: 13px; font-weight: 600; color: var(--amber); font-variant-numeric: tabular-nums; }
.pe-ev b { font: 600 15px/1.25 var(--display); letter-spacing: -.01em; }
.pe-pl { font-size: 13px; opacity: .72; }
.pe-ev:hover b { text-decoration: underline; text-underline-offset: 3px; }
.pe-row--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 700px) {
	.pe { padding: 16px; margin-inline: -4px; }
	.pe-row, .pe-row--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}

/* Кино */
.pfl { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.pfl a { display: flex; flex-direction: column; gap: 5px; font-size: 14px; color: var(--ink) !important; text-decoration: none; min-width: 0; }
.pfl img, .pfl .pe-noimg { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; border-radius: 8px; background: var(--chip); }
.pfl b { font-weight: 600; line-height: 1.3; }
.pfl span { color: var(--muted); font-size: 13px; }

@media (max-width: 1080px) { .pfl { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ТВ */
.ptv { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; font-size: 14px; }
.ptv li { display: grid; grid-template-columns: 110px minmax(0, 1.2fr) minmax(0, 1fr); gap: 4px 14px; align-items: baseline; padding: 8px 0; border-bottom: 1px solid var(--line); }
.ptv li:last-child { border-bottom: 0; }
.ptv time { display: inline-block; min-width: 44px; margin-right: 6px; color: var(--muted); font-variant-numeric: tabular-nums; }
.ptv-now { position: relative; padding-bottom: 5px; }
.ptv-now i { position: absolute; left: 0; bottom: 0; height: 2px; width: 100%; border-radius: 2px; background: linear-gradient(90deg, var(--v) var(--p), var(--chip) var(--p)); }
.ptv-next { color: var(--muted); font-size: 13px; }
@media (max-width: 700px) { .ptv li { grid-template-columns: 1fr; } .ptv-next { display: none; } }

/* Поездки выходного дня */
.ptr { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ptrc { position: relative; border-radius: 12px; overflow: hidden; min-height: 170px; display: flex; flex-direction: column; justify-content: flex-end; gap: 2px; padding: 12px 14px; color: #fff !important; background: linear-gradient(160deg, #3d6a4f, #173a2c); text-decoration: none; }
.ptrc img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ptrc::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 20, 32, 0) 25%, rgba(8, 20, 32, .9)); }
.ptrc.plain::after { background: none; }
.ptrc > *:not(img) { position: relative; z-index: 1; text-shadow: 0 1px 3px rgba(0, 0, 0, .5); }
.ptrc small { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--amber); }
.ptrc b { font: 600 16px/1.2 var(--display); }
.ptrc span { font-size: 13px; color: #d5e2ec; }

@media (max-width: 1080px) { .ptr { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Куда сходить: места */
/* Разделы мест — строками в три колонки: название слева, число справа.
   Девять разделов — ровно три ряда, слова не переносятся по слогам */
.pgo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pgo > a { flex-direction: row !important; justify-content: space-between; align-items: baseline; gap: 12px !important; }
.pgo b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pgo span { white-space: nowrap; }
@media (max-width: 900px) { .pgo { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .pgo { grid-template-columns: minmax(0, 1fr); } }
.pgo a { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); color: var(--ink) !important; text-decoration: none; }
.pgo a:hover { border-color: var(--v); }
.pgo b { font: 600 16px/1.2 var(--display); }
.pgo span { font-size: 13px; color: var(--muted); }

/* Город полосой */
.pcs { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 14px 18px; font-size: 14px; }
.pcs b { font-family: var(--display); }

/* Байкал на главной */
.pbk { position: relative; border-radius: 14px; overflow: hidden; color: #fff !important; min-height: 160px; display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding: 22px; background: #06313a; text-decoration: none; }
.pbk img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .6; }
.pbk > *:not(img) { position: relative; }
.pbk h2 { margin: 0; font: 700 36px/1 var(--display); letter-spacing: -.04em; color: #fff; }
.pbk p { margin: 6px 0 0; color: #d6ecef; font-size: 14px; }
.pbk-w { font-size: 14px; background: rgba(3, 30, 36, .7); border-radius: 10px; padding: 10px 12px; }

/* Плитки-цифры (утро, Поездки, Отдых) */
.ptiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
.ptile { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 6px; color: var(--ink) !important; text-decoration: none; min-width: 0; }
.ptile:hover { border-color: var(--v); }
.ptile small { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.ptile b.big { font: 700 40px/1 var(--display); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.ptile span { font-size: 14px; color: var(--muted); }
.ptile ul { list-style: none; margin: 0; padding: 0; font-size: 14px; display: flex; flex-direction: column; gap: 4px; }
.ptile ul b { font-variant-numeric: tabular-nums; margin-right: 6px; }
.ptile .g { color: var(--green); }
.ptile .y { color: var(--yellow); }
.ptile .r { color: var(--red); }

/* Направления (Поездки) */
.pdest { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.pdest a { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); color: var(--ink) !important; text-decoration: none; }
.pdest a:hover { border-color: var(--v); }
.pdest b { font: 600 17px/1.2 var(--display); letter-spacing: -.01em; }
.pdest span { font-size: 13px; color: var(--muted); }
.pdest .d { font-variant-numeric: tabular-nums; color: var(--v); font-weight: 600; }

/* Байкал: ветер и факты */
.pwind { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.pwind li { display: grid; grid-template-columns: minmax(0, 1fr) 90px 110px; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.pwind li:last-child { border-bottom: 0; }
.pwind .g { font-weight: 700; font-variant-numeric: tabular-nums; }
.pwind .g.hi { color: var(--red); }
.pwind .g.mid { color: var(--yellow); }
.pwind .t { color: var(--muted); text-align: right; font-variant-numeric: tabular-nums; }
.pfacts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.pfacts li { display: flex; flex-direction: column; gap: 2px; font-size: 14px; }
.pfacts b { font-weight: 600; }
.pfacts span { color: var(--muted); }

/* Путеводители плитками */
.pguides { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.pguide { display: flex; flex-direction: column; gap: 8px; color: var(--ink) !important; text-decoration: none; }
.pguide img, .pguide .pe-noimg { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 10px; background: var(--chip); }
.pguide b { font: 600 16px/1.25 var(--display); letter-spacing: -.01em; }
.pguide span { font-size: 14px; color: var(--muted); }
.pguide:hover b { color: var(--link); }

/* --- Главная по сценариям ---------------------------------------------------- */

.home { display: flex; flex-direction: column; gap: 26px; }

.home-greet { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 20px; }
.home-greet h1 { margin: 0; font: 700 clamp(26px, 3.6vw, 38px)/1.1 var(--display); letter-spacing: -.035em; }
.home-greet span { color: var(--muted); }

.home-news { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 24px; }
.home-news .pn-lead b { font-size: 24px; }

@media (max-width: 1080px) { .home-news { grid-template-columns: minmax(0, 1fr); } }

/* Выходные */
.wkx { background: var(--night); color: var(--on-night); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.wkx-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px 24px; }
.wkx-head h2 { margin: 0; font: 700 clamp(24px, 3vw, 32px)/1.1 var(--display); letter-spacing: -.03em; color: #fff; }
.wkx-head p { margin: 6px 0 0; color: var(--on-night-muted); font-size: 15px; }
.wx3 { display: flex; gap: 8px; flex-wrap: wrap; }
.wx3 span { background: var(--night-2); border-radius: 10px; padding: 8px 12px; font: 600 15px/1.2 var(--display); color: #fff; font-variant-numeric: tabular-nums; display: flex; flex-direction: column; gap: 2px; }
.wx3 b { font: 500 12px/1 var(--body, "Onest"), sans-serif; color: var(--amber); letter-spacing: .04em; }
.wkx-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.wkx-chips a { padding: 6px 12px; border-radius: 999px; font-size: 13px; border: 1px solid #36597a; color: #cfe0ec !important; text-decoration: none; }
.wkx-chips a:hover { border-color: #cfe0ec; }
.wkx-chips a.on { background: var(--amber); border-color: var(--amber); color: var(--amber-ink) !important; font-weight: 600; }
.wkx-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.4fr); gap: 16px; }
.wk-main { position: relative; border-radius: 12px; overflow: hidden; min-height: 420px; display: flex; align-items: flex-end; color: #fff !important; text-decoration: none; background: var(--night-2); }
.wk-main img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wk-main::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 20, 32, 0) 40%, rgba(8, 20, 32, .92)); }
.wk-main-t { position: relative; z-index: 1; padding: 16px; display: flex; flex-direction: column; gap: 4px; }
.wk-main-t b { font: 700 26px/1.1 var(--display); color: #fff; }
.wk-main-t span { font-size: 13px; color: #d5e2ec; }
.wk-main-t .w { color: var(--amber); font-weight: 600; }
.wkx .pe-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wkx .pe-p img, .wkx .pe-noimg { aspect-ratio: 4 / 5; }
.wkx-more { align-self: flex-end; color: #9ec9ef !important; font-size: 14px; }

@media (max-width: 1080px) {
	.wkx-grid { grid-template-columns: minmax(0, 1fr); }
	.wk-main { min-height: 300px; }
}

@media (max-width: 700px) {
	.wkx { padding: 16px; }
	.wkx .pe-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.kids { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 14px; align-items: center; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 12px 16px; }
.kids img, .kids .pe-noimg { width: 64px; aspect-ratio: 2 / 3; object-fit: cover; border-radius: 6px; }
.kids small { display: block; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.kids b { display: block; font: 600 17px/1.3 var(--display); color: var(--ink); }
.kids span { font-size: 14px; color: var(--muted); }
.kids > a:last-child { font-size: 14px; white-space: nowrap; }

@media (max-width: 700px) {
	.kids { grid-template-columns: 56px minmax(0, 1fr); }
	.kids > a:last-child { grid-column: 1 / -1; }
}

/* --- Подвал ------------------------------------------------------------------ */

.pf { background: #0b1b2a; color: #c9d6e0; font-size: 14px; padding-top: 8px; }
.pf a { color: #dde7ee; text-decoration: none; }
.pf a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.pf-main { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(0, 3.4fr); gap: 36px; padding-block: 32px 26px; }
.pf-brand { display: flex; flex-direction: column; gap: 12px; }
.pf-logo { display: flex; align-items: center; gap: 10px; font: 700 18px/1 var(--display); letter-spacing: -.02em; color: #fff !important; text-decoration: none !important; }
.pf-logo i { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: var(--amber); color: var(--amber-ink); font: 700 16px/1 var(--display); font-style: normal; }
.pf-brand p { margin: 0; color: #9fb2c1; line-height: 1.5; }
.pf-row { display: flex; gap: 10px; align-items: center; }
.pf-age { padding: 3px 8px; border: 1px solid #3a5268; border-radius: 6px; font-weight: 700; color: #dde7ee; }
.pf-btn { font: 500 13px/1 var(--af-font); color: #dde7ee; background: transparent; border: 1px solid #3a5268; border-radius: 999px; padding: 7px 12px; cursor: pointer; }
.pf-btn:hover { border-color: #dde7ee; }
.pf-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 24px; }
.pf-col h2 { margin: 0 0 10px; padding-top: 10px; border-top: 3px solid var(--v); font: 700 14px/1.2 var(--display); color: #fff; letter-spacing: -.01em; }
.pf-col h2 a { color: #fff; }
.pf-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.pf-hz { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 22px; }
.pf-hz a { padding: 6px 12px; border: 1px solid #2c4357; border-radius: 999px; font-size: 13px; text-decoration: none !important; }
.pf-hz a:hover { border-color: #dde7ee; }
.pf-legal { display: flex; flex-direction: column; gap: 8px; padding-block: 14px 26px; border-top: 1px solid #1f3446; color: #8499a9; font-size: 13px; }
.pf-legal nav { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.pf-legal nav a, .pf-legal a { color: #b8c7d3; }
.pf-legal p { margin: 0; }
.pf-legal .afisha-legal, .pf-legal .moduletable { margin: 0; color: #8499a9; font-size: 13px; }
.pf-data, .pf-note { font-size: 12px; color: #6f8597; }

@media (max-width: 1080px) {
	.pf-main { grid-template-columns: minmax(0, 1fr); }
	.pf-cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
	.pf-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}

/* --- Нижняя панель на телефоне ---------------------------------------------- */

.ptab { display: none; }

@media (max-width: 760px) {
	body.is-p2 { padding-bottom: calc(62px + env(safe-area-inset-bottom, 0px)); }

	.ptab {
		position: fixed;
		inset: auto 0 0 0;
		z-index: 40;
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px));
		background: var(--night);
		border-top: 1px solid #1f3446;
	}

	.ptab a {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 3px;
		padding: 4px 0;
		color: var(--on-night-muted) !important;
		font-size: 11px;
		text-decoration: none;
	}

	.ptab svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
	.ptab a.on { color: #fff !important; }
	.ptab a.on svg { stroke: var(--amber); }

	.is-p2 .cookie-consent { bottom: calc(66px + env(safe-area-inset-bottom, 0px)); }
}

.pgrid > div { display: flex; flex-direction: column; min-width: 0; }
.pgrid > div > .pp { flex: 1; }
.pgrid > div:empty { display: none; }
.pp-news--lead { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 12px 24px; align-content: start; }
.pp-news--lead > .pp-h { grid-column: 1 / -1; }
.c6 .pp-news--lead, .c5 .pp-news--lead, .c4 .pp-news--lead { display: flex; }
@media (max-width: 900px) { .pp-news--lead { display: flex; } }
.hub-cover p, .hub-cover h1 { text-shadow: 0 1px 12px rgba(0, 0, 0, .45); }

/* Боковая колонка новостей */
.is-p2 .afisha-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 300px); }
.pside { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 120px; }
.pside .pp { padding: 16px; }
.pside-now { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.pside-now a { display: flex; align-items: baseline; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--line); color: var(--ink) !important; text-decoration: none; font-size: 14px; }
.pside-now li:last-child a { border-bottom: 0; }
.pside-now b { min-width: 44px; font: 700 18px/1 var(--display); font-variant-numeric: tabular-nums; }
.pside-now span { color: var(--muted); }
.pside-ev { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.pside-ev a { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 10px; align-items: center; color: var(--ink) !important; text-decoration: none; }
.pside-ev img, .pside-ev .pe-noimg { width: 44px; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 6px; background: var(--chip); }
.pside-ev b { display: block; font-size: 14px; font-weight: 600; line-height: 1.3; }
.pside-ev small { display: block; font-size: 12px; color: var(--muted); }
.pside-ev a:hover b { color: var(--link); }
.pside .pn-feed li { grid-template-columns: 48px minmax(0, 1fr); font-size: 14px; }

/* Рубрики новостей дублируют подменю вертикали */
.is-p2 .afisha-news-page > .afisha-tabs { display: none; }

@media (max-width: 991px) {
	.is-p2 .afisha-layout { grid-template-columns: minmax(0, 1fr); }
	.pside { position: static; }
}
.is-p2 .plz:not(:has(a)) { padding: 0; border: 0; margin: 0; }

.is-p2 .pagination { flex-wrap: wrap; gap: 4px; }
.is-p2 .pagination .page-link { border-radius: 8px; color: var(--link); background: var(--surface); border-color: var(--line); }
.is-p2 .pagination .active .page-link { background: var(--v); border-color: var(--v); color: #fff; }

.pnews-strip { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--line); }
.pnews-strip .pn-feed { columns: 2 340px; column-gap: 32px; }
.pnews-strip .pn-feed li { break-inside: avoid; }
.hub-lead { margin: -6px 0 0; font-size: 17px; line-height: 1.5; max-width: 80ch; }

/* Каталог мест: разделы вкладками, давно закрытые — строкой */
.is-p2 .pcat-tabs { margin-bottom: 20px; }
.is-p2 .pcat-tabs small { color: var(--muted); font-size: 12px; }
.pcat-stale { margin-top: 24px; border-top: 1px solid var(--line); padding-top: 14px; }
.pcat-stale summary { cursor: pointer; font-weight: 600; color: var(--muted); }
.pcat-stale .afisha-archive-list { margin-top: 12px; }
.pcat-warn { margin: 12px 0; padding: 10px 14px; border-radius: 10px; background: var(--amber-soft); font-size: 14px; }
.pgo--big a { padding: 18px 18px; } .pgo--big b { font-size: 18px; }
.is-p2 .pcat-tabs__arch { color: var(--muted); }
.pcat-credit { margin: 6px 0 0; font-size: 11px; color: var(--muted); } .pcat-credit a { color: inherit; }

.pgo--list > a { flex-direction: column !important; align-items: flex-start; gap: 2px !important; } .pgo--list b, .pgo--list span { white-space: normal; }
/* Вход в каталог: десять разделов — два ряда по пять, число под названием */
.pgo--big { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.pgo--big > a { flex-direction: column !important; align-items: flex-start; gap: 4px !important; }
@media (max-width: 1100px) { .pgo--big { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .pgo--big { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pgo--big b { white-space: normal; } }

/* --- Темы новостей ------------------------------------------------------------ */
.topic { display: flex; flex-direction: column; gap: 22px; }
.topic-head { display: flex; flex-direction: column; gap: 10px; padding: 22px 24px; border-radius: 14px; background: var(--surface); border: 1px solid var(--line); border-top: 4px solid var(--v); }
.topic-kicker { margin: 0; font-size: 13px; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
.topic-kicker a { color: var(--muted); }
.topic-head h1 { margin: 0; font: 700 clamp(26px, 3.4vw, 36px)/1.1 var(--display); letter-spacing: -.03em; text-wrap: balance; }
.topic-lead p { margin: 0; max-width: 78ch; font-size: 16px; line-height: 1.55; }
.topic-stat { margin: 0; font-size: 14px; color: var(--muted); }
.topic-stat b { color: var(--ink); }
.topic-svc { align-self: flex-start; display: inline-flex; gap: 10px; align-items: center; padding: 10px 16px; border-radius: 999px; background: var(--v); color: #fff !important; text-decoration: none; font-weight: 600; font-size: 14px; }
.topic-svc:hover { filter: brightness(1.1); }
.topic-top { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
.topic-top .pn-lead b { font-size: 17px; }
.topic-top__main b { font-size: 22px !important; }
.topic-year h2 { margin: 0 0 6px; font: 700 18px/1.2 var(--display); color: var(--muted); }
.topic-feed li { grid-template-columns: 64px minmax(0, 1fr); }
.topic-feed small { display: block; margin-top: 3px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.topic-pages { display: flex; flex-wrap: wrap; gap: 6px; }
.topic-pages a, .topic-pages b, .topic-pages span { min-width: 38px; text-align: center; padding: 7px 10px; border-radius: 8px; border: 1px solid var(--line); background: var(--surface); font-size: 14px; }
.topic-pages b { background: var(--v); border-color: var(--v); color: #fff; }
.topic-pages span { border: 0; background: none; }
.topic-rel h2, .topic-group h2 { margin: 0 0 12px; font: 700 19px/1.2 var(--display); letter-spacing: -.02em; }
.topic-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.topic-chips a, .art-topics a { padding: 6px 12px; border-radius: 999px; background: var(--chip); color: var(--ink) !important; text-decoration: none; font-size: 14px; }
.topic-chips a:hover, .art-topics a:hover { background: var(--v); color: #fff !important; }
.topic-chips small { color: var(--muted); }
.topic-chips a:hover small { color: #fff; }
.topic-chips a.is-active { background: var(--v); color: #fff !important; }
.topic-chips a.is-active small { color: rgba(255, 255, 255, .8); }
.topic-chips__all { background: transparent !important; color: var(--link) !important; }
.topic-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.topic-grid a { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); color: var(--ink) !important; text-decoration: none; }
.topic-grid a:hover { border-color: var(--v); }
.topic-grid b { font: 600 17px/1.2 var(--display); }
.topic-grid__n { font-size: 13px; color: var(--v); font-weight: 600; }
.topic-grid small { font-size: 13px; color: var(--muted); line-height: 1.4; }
.art-topics { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 18px 0 6px; }
.art-topics > span { font-size: 14px; color: var(--muted); }
.art-more-topic { margin-top: 26px; padding: 18px 20px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); }
@media (max-width: 900px) { .topic-top { grid-template-columns: minmax(0, 1fr); } .topic-head { padding: 18px; } }
/* ДТП: сводка по дням, неделя ГАИ, памятка */
.dtp-feed, .dtp-week, .dtp-memo { display: flex; flex-direction: column; gap: 12px; }
.dtp-feed h2, .dtp-week h2, .dtp-memo h2 { margin: 0; font: 700 21px/1.2 var(--display); letter-spacing: -.02em; }
.dtp-feed__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.dtp-day h3 { margin: 6px 0 8px; font: 700 16px/1.2 var(--display); }
.dtp-day h3 small { font-weight: 400; color: var(--muted); font-size: 13px; margin-left: 6px; }
.dtp-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.dtp-list li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 12px; padding: 12px 14px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); }
.dtp-list time { font: 600 15px/1.4 var(--display); font-variant-numeric: tabular-nums; color: var(--muted); }
.dtp-list p { margin: 0; font-size: 15px; line-height: 1.45; max-width: 80ch; }
.dtp-where { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; margin-bottom: 3px !important; font-size: 14px !important; color: var(--muted); }
.dtp-where b { color: var(--ink); }
.dtp-kind { padding: 1px 8px; border-radius: 999px; background: var(--chip); font-size: 12px; color: var(--ink); }
.dtp-toll { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px !important; }
.dtp-toll span { padding: 2px 8px; border-radius: 999px; font-size: 12px; font-weight: 600; background: var(--amber-soft); color: var(--amber-ink); }
.dtp-toll .is-dead { background: color-mix(in srgb, var(--red) 15%, transparent); color: var(--red); }
.dtp-empty { margin: 0; color: var(--muted); }
.dtp-week { padding: 20px 24px; border-radius: 14px; background: var(--surface); border: 1px solid var(--line); }
.dtp-week__src { margin: -6px 0 0; font-size: 13px; color: var(--muted); }
.dtp-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }
.dtp-tiles div { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: 10px; background: var(--chip); }
.dtp-tiles b { font: 700 28px/1 var(--display); font-variant-numeric: tabular-nums; }
.dtp-tiles span { font-size: 13px; line-height: 1.35; color: var(--muted); }
.dtp-tiles small { display: block; color: var(--ink); }
.dtp-kinds { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; max-width: 640px; }
.dtp-kinds li { display: grid; grid-template-columns: minmax(0, 1fr) 120px 28px; align-items: center; gap: 10px; font-size: 14px; }
.dtp-kinds i { height: 8px; border-radius: 4px; background: linear-gradient(90deg, var(--v) var(--w), var(--chip) var(--w)); }
.dtp-kinds b { text-align: right; font-variant-numeric: tabular-nums; }
.dtp-memo ol { margin: 0; padding-left: 22px; display: grid; gap: 10px; max-width: 80ch; }
.dtp-memo li { font-size: 15px; line-height: 1.5; }
@media (max-width: 600px) {
	.dtp-list li { grid-template-columns: 40px minmax(0, 1fr); gap: 8px; padding: 10px 12px; }
	.dtp-kinds li { grid-template-columns: minmax(0, 1fr) 70px 24px; }
	.dtp-week { padding: 16px; }
}
/* Сюжет: «что известно», хроника с линией времени, вопросы */
.news-stories { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; margin-bottom: 18px; }
.news-stories a { display: flex; flex-direction: column; gap: 3px; padding: 12px 14px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); box-shadow: inset 4px 0 0 var(--red); color: var(--ink) !important; text-decoration: none; }
.news-stories a:hover { border-color: var(--v); }
.news-stories__k { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--red); font-weight: 600; }
.news-stories b { font: 600 16px/1.25 var(--display); }
.news-stories small { font-size: 13px; color: var(--muted); }
.story-live, .story-done { margin-left: 8px; padding: 2px 8px; border-radius: 999px; font-size: 11px; letter-spacing: .04em; }
.story-live { background: color-mix(in srgb, var(--red) 14%, transparent); color: var(--red); }
.story-done { background: var(--chip); }
.story-known { padding: 20px 24px; border-radius: 14px; background: var(--surface); border: 1px solid var(--line); }
.story-known h2, .story-feed h2, .story-faq h2 { margin: 0 0 12px; font: 700 21px/1.2 var(--display); letter-spacing: -.02em; }
.story-known ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; max-width: 80ch; }
.story-known li { position: relative; padding-left: 18px; font-size: 16px; line-height: 1.5; }
.story-known li::before { content: ""; position: absolute; left: 0; top: .6em; width: 7px; height: 7px; border-radius: 50%; background: var(--v); }
.story-tl { margin: 0; padding: 0; list-style: none; display: grid; }
.story-tl li { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 16px; padding: 0 0 18px; position: relative; }
.story-tl li::before { content: ""; position: absolute; left: 105px; top: 8px; bottom: 0; width: 2px; background: var(--line); }
.story-tl li::after { content: ""; position: absolute; left: 101px; top: 5px; width: 10px; height: 10px; border-radius: 50%; background: var(--surface); border: 2px solid var(--v); }
.story-tl li:last-child::before { display: none; }
.story-tl time { display: flex; flex-direction: column; font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; text-align: right; padding-right: 12px; }
.story-tl time b { color: var(--ink); font-weight: 600; }
.story-tl div { padding-left: 14px; }
.story-tl a { font: 600 17px/1.3 var(--display); color: var(--ink); text-decoration: none; }
.story-tl a:hover { color: var(--link); text-decoration: underline; }
.story-tl p { margin: 4px 0 0; font-size: 14px; line-height: 1.5; color: var(--muted); max-width: 75ch; }
.story-faq { margin-top: 0; }
@media (max-width: 600px) {
	.story-tl li { grid-template-columns: 72px minmax(0, 1fr); gap: 10px; }
	.story-tl li::before { left: 77px; } .story-tl li::after { left: 73px; }
	.story-known { padding: 16px; }
}

/* --- Отключения (/otkljuchenija, com_jlcity outages) -------------------------- */

.otk-find { display: grid; gap: 6px; padding: 14px 16px; border-radius: 14px; background: var(--surface); border: 1px solid var(--line); }
.otk-find label { font-weight: 600; }
.otk-find input { width: 100%; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg, #fff); color: inherit; font: 16px/1.2 inherit; }
.otk-find input:focus { outline: 2px solid var(--night-2); outline-offset: 1px; }
.otk-find__res { margin: 2px 0 0; font-size: 14px; color: var(--muted); }
.otk-live { display: flex; flex-direction: column; gap: 6px; }
.otk-dayblock { display: flex; flex-direction: column; gap: 10px; }
.otk-day { margin: 14px 0 2px; font-size: 19px; }
.otk-day small { font-size: 14px; font-weight: 400; color: var(--muted); }
.otk-ev { padding: 12px 14px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); }
.otk-ev.is-now { border-color: color-mix(in srgb, var(--red) 55%, var(--line)); box-shadow: inset 4px 0 0 var(--red); }
.otk-ev__head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.otk-ev__time { font: 700 18px/1.2 var(--display); font-variant-numeric: tabular-nums; }
.otk-badge { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 12px; font-weight: 600; background: var(--amber-soft); color: var(--amber-ink); }
.otk-badge--heat { background: color-mix(in srgb, var(--red) 14%, transparent); color: inherit; }
.otk-badge--water { background: color-mix(in srgb, #2a7ab0 16%, transparent); color: inherit; }
.otk-badge--now { background: var(--red); color: #fff; }
.otk-ev__meta { margin: 4px 0 8px; font-size: 14px; color: var(--muted); }
.otk-addr { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; font-size: 15px; line-height: 1.35; }
.otk-addr li { padding-left: 14px; position: relative; overflow-wrap: anywhere; }
.otk-addr li::before { content: ""; position: absolute; left: 2px; top: .6em; width: 5px; height: 5px; border-radius: 50%; background: var(--muted); }
.otk-more { margin-top: 4px; }
.otk-more summary { cursor: pointer; font-size: 14px; color: var(--night-2); padding: 4px 0; }
.otk-more[open] summary { margin-bottom: 4px; }
.otk-near { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.otk-near li { padding: 6px 12px; border-radius: 999px; background: var(--sunk); font-size: 14px; }
.otk-near span { color: var(--muted); }
.otk-past > summary { cursor: pointer; list-style: none; }
.otk-past > summary::-webkit-details-marker { display: none; }
.otk-past > summary h2 { display: inline; margin: 0; }
.otk-past > summary h2::after { content: " ▾"; color: var(--muted); font-size: 16px; }
.otk-past[open] > summary h2::after { content: " ▴"; }
.otk-past small { font-size: 14px; font-weight: 400; color: var(--muted); }
.otk-past[open] > summary { margin-bottom: 12px; }
.otk .cty-map { height: 360px; }
.otk .otk-places { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); column-gap: 20px; }
@media (max-width: 800px) {
	.otk .otk-places { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; font-size: 14px; }
	.otk .otk-places li { gap: 4px; padding: 6px 0; }
	.otk .otk-places li a { min-width: 0; overflow-wrap: anywhere; }
	.otk .otk-places span { min-width: 0; flex: none; font-size: 12px; }
}
.otk-facts b { font-size: 22px; }
@media (max-width: 800px) { .otk .otk-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; } .otk .otk-facts div { padding: 8px; } .otk .otk-facts span { font-size: 12px; line-height: 1.2; display: block; } }
@media (max-width: 800px) { .otk .cty-map { height: 260px; } .otk-ev { padding: 10px 12px; } }

/* --- Пробки (/auto/probki, com_jlcity traffic) ------------------------------ */

.trf { display: flex; flex-direction: column; gap: 22px; }
.trf-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.trf-kicker { margin: 0 0 6px; font-size: 13px; color: var(--muted); }
.trf-head h1 { margin: 0 0 8px; }
.trf-lead { margin: 0; max-width: 62ch; font-size: 17px; line-height: 1.5; }
.trf-score { flex: none; display: grid; justify-items: center; min-width: 150px; padding: 16px 22px; border-radius: 16px; color: #fff; text-align: center; }
.trf-score b { font: 700 64px/1 var(--display); }
.trf-score span { font-weight: 600; }
.trf-score small { margin-top: 6px; font-size: 13px; opacity: .85; }
.trf-score--green { background: var(--green); }
.trf-score--yellow { background: var(--yellow); color: #2b2100; }
.trf-score--red { background: var(--red); }

.trf-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.trf-facts div { padding: 12px 14px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); }
.trf-facts b { display: block; font: 700 20px/1.2 var(--display); }
.trf-facts span { font-size: 13px; color: var(--muted); }

.trf-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.trf-2:empty { display: none; }
.trf-2 > :only-child { grid-column: 1 / -1; }
.trf-2 > .trf-block { display: flex; flex-direction: column; }
.trf-2 > .trf-block > .trf-more { margin-top: auto; align-self: flex-start; }
.trf-block { padding: 18px 20px; border-radius: 16px; background: var(--surface); border: 1px solid var(--line); min-width: 0; }
.trf-block h2 { margin: 0 0 12px; font-size: 20px; }
.trf-chart { margin: 0; }
.trf-chart svg { display: block; width: 100%; height: auto; }
.trf-z--green { fill: color-mix(in srgb, var(--green) 9%, transparent); }
.trf-z--yellow { fill: color-mix(in srgb, var(--yellow) 11%, transparent); }
.trf-z--red { fill: color-mix(in srgb, var(--red) 9%, transparent); }
.trf-grid { stroke: var(--line); stroke-width: 1; }
.trf-lbl { font-size: 11px; fill: var(--muted); }
.trf-line { fill: none; stroke-linejoin: round; stroke-linecap: round; }
.trf-line--today { stroke: var(--night-2); stroke-width: 3; }
.trf-line--yesterday { stroke: var(--muted); stroke-width: 1.5; stroke-dasharray: 5 4; opacity: .7; }
.trf-line--typical { stroke: var(--amber); stroke-width: 2; stroke-dasharray: 1 5; }
.trf-dot { fill: var(--night-2); stroke: #fff; stroke-width: 2; }
.trf-chart figcaption { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 8px; font-size: 13px; color: var(--muted); }
.trf-key::before { content: ""; display: inline-block; width: 18px; margin-right: 6px; vertical-align: middle; border-top: 3px solid var(--night-2); }
.trf-key--yesterday::before { border-top: 2px dashed var(--muted); }
.trf-key--typical::before { border-top: 3px dotted var(--amber); }
.trf-line--weekago { stroke: var(--red); stroke-width: 2; stroke-dasharray: 8 4; opacity: .55; }
.trf-key--weekago::before { border-top: 2px dashed color-mix(in srgb, var(--red) 60%, transparent); }
.trf-week__prev { white-space: nowrap; }
.trf-week__prev small { margin-left: 4px; font-size: 12px; }
.trf-week__prev small.is-up { color: var(--red); }
.trf-week__prev small.is-down { color: var(--green); }

.trf-map__box { display: grid; place-items: center; align-content: center; gap: 8px; min-height: 180px; border-radius: 12px; background: var(--sunk); text-align: center; }
.trf-map__box.is-map { display: block; height: 520px; }
.trf-map__box.is-loading .trf-map__btn { opacity: .6; pointer-events: none; }
.trf-map__box p { margin: 0; font-size: 13px; color: var(--muted); }
.trf-map__btn { padding: 12px 20px; border: 0; border-radius: 999px; background: var(--night-2); color: #fff; font: 600 15px/1 inherit; cursor: pointer; }
.trf-map__btn:hover { background: var(--night); }
.trf-spots__label { margin: 14px 0 8px; font-size: 14px; color: var(--muted); }
.trf-spots { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.trf-spots button { padding: 7px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: inherit; font: 500 14px/1.2 inherit; cursor: pointer; }
.trf-spots button:hover { border-color: var(--night-2); }
.trf-spots button.is-on { background: var(--night-2); border-color: var(--night-2); color: #fff; }

.trf-why__verdict { margin: 0 0 10px; font-size: 16px; line-height: 1.5; }
.trf-why__list { margin: 0 0 10px; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; line-height: 1.4; }
.trf-why__note { margin: 0; font-size: 13px; color: var(--muted); }

.trf-news ul { margin: 0 0 12px; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 28px; }
.trf-news li { display: flex; flex-direction: column; gap: 3px; font-size: 15px; line-height: 1.35; }
.trf-news__meta { font-size: 13px; color: var(--muted); }
.trf-tag { font-weight: 600; }
.trf-tag--dtp { color: var(--red); }
.trf-news__more { display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 0; }
.trf-more { font-size: 14px; }

.trf-wx__now { margin: 0 0 10px; font-size: 16px; }
.trf-wx__now b { font: 700 28px/1 var(--display); margin-right: 4px; }
.trf-wx__hours { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 0 0 10px; padding: 0; list-style: none; text-align: center; }
.trf-wx__hours span, .trf-wx__hours small { display: block; font-size: 12px; color: var(--muted); }
.trf-wx__hours b { display: block; font-size: 16px; }
.trf-wx__warn { margin: 0 0 10px; padding: 8px 10px; border-radius: 8px; background: var(--amber-soft); color: var(--amber-ink); font-size: 14px; }

.trf-week table { width: 100%; border-collapse: collapse; font-size: 14px; }
.trf-week th { text-align: left; font-weight: 600; color: var(--muted); font-size: 12px; padding: 0 6px 6px 0; }
.trf-week td { padding: 7px 6px 7px 0; border-top: 1px solid var(--line); }
.trf-lvl { display: inline-grid; place-items: center; min-width: 24px; height: 24px; border-radius: 6px; color: #fff; font-size: 13px; }
.trf-lvl--green { background: var(--green); }
.trf-lvl--yellow { background: var(--yellow); color: #2b2100; }
.trf-lvl--red { background: var(--red); }

.trf-faq details { border-top: 1px solid var(--line); padding: 10px 0; }
.trf-faq summary { cursor: pointer; font-weight: 600; }
.trf-faq p { margin: 8px 0 0; line-height: 1.55; }
/* Один вид вопросов на всех страницах (отключения, пробки, курс, бури, сюжеты): карточка, вне ленты .trf — свои отступы */
.trf-faq { margin-block: 24px; }
.trf > .trf-faq, .trf-2 > .trf-faq { margin-block: 0; }
.trf-faq p { max-width: 80ch; }
.trf-source { margin: 0; font-size: 13px; color: var(--muted); }

@media (max-width: 800px) {
	/* Карта пробок на телефоне — сразу под баллом (05.10.2026): из поиска на
	   страницу приходят с телефона (21 из 23 входов), ищут «пробки сейчас
	   онлайн» — то есть карту; под графиком её не видели и уходили */
	.trf--traffic > * { order: 3; }
	.trf--traffic > .trf-head { order: 0; }
	.trf--traffic > .trf-map { order: 1; }
	.trf--traffic > .trf-facts, .trf--traffic > .trf-why { order: 2; }
	.trf--traffic > .trf-hours { order: 2; }
	.trf-2 { grid-template-columns: minmax(0, 1fr); }
	.trf-head { flex-direction: column; }
	.trf-score { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; align-self: stretch; min-width: 0; padding: 12px 16px; text-align: left; }
	.trf-score b { font-size: 48px; }
	.trf-score small { flex-basis: 100%; margin-top: 0; }
	.trf-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.trf-wx__hours { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.trf-news ul { grid-template-columns: minmax(0, 1fr); }
	.trf-map__box.is-map { height: 380px; }
	.trf-map h2 { display: none; }
}

/* Хаб «Город»: две колонки без дыр, сюжеты строкой, курс валют, ДТП */
.hub-stories { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -6px 0 18px; font-size: 14px; }
.hub-stories > span { font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--red); }
.hub-stories a { display: inline-flex; gap: 6px; align-items: baseline; padding: 5px 12px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); box-shadow: inset 3px 0 0 var(--red); color: var(--ink) !important; text-decoration: none; }
.hub-stories a:hover { border-color: var(--red); }
.hub-stories small { color: var(--muted); }
.hub-cols { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.hub-col { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.hub-cell { min-width: 0; }
.hub-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 1080px) {
	.hub-cols { grid-template-columns: minmax(0, 1fr); }
	.hub-col { display: contents; }
	.hub-cols { display: flex; flex-direction: column; }
	.hub-cell { width: 100%; }
}
@media (max-width: 700px) { .hub-pair { grid-template-columns: minmax(0, 1fr); } }

.cx-tabs { display: flex; gap: 4px; padding: 3px; margin-bottom: 12px; border-radius: 10px; background: var(--chip); }
.cx-tabs button { flex: 1; padding: 6px 8px; border: 0; border-radius: 8px; background: transparent; font: 600 14px/1.2 var(--body, inherit); color: var(--muted); cursor: pointer; }
.cx-tabs button[aria-selected="true"] { background: var(--surface); color: var(--ink); box-shadow: 0 1px 2px rgba(16, 38, 58, .12); }
.cx-tabs button:focus-visible { outline: 2px solid var(--link); outline-offset: 1px; }
.cx-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; }
.cx-cbr { display: flex; flex-direction: column; gap: 2px; }
.cx-cbr > span { font-size: 12px; color: var(--muted); }
.cx-cbr b { font: 700 30px/1 var(--display); font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
.cx-cbr em { font-style: normal; font-size: 13px; font-weight: 600; color: var(--muted); }
.cx-cbr em.up { color: var(--red); }
.cx-cbr em.down { color: #2e8a57; }
.cx-cbr .cx-next { font-size: 12px; color: var(--muted); }
.cx-chart { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.cx-spark { width: 120px; height: 36px; }
.cx-spark polygon { fill: color-mix(in srgb, var(--v, #1b5586) 14%, transparent); }
.cx-spark polyline { fill: none; stroke: var(--v, #1b5586); stroke-width: 1.8; stroke-linejoin: round; }
.cx-spark circle { fill: var(--v, #1b5586); }
.cx-range { font-size: 11px; color: var(--muted); font-variant-numeric: tabular-nums; }
.cx-legend { display: flex; justify-content: space-between; margin: 16px 0 4px; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.cx-banks { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.cx-banks li { display: grid; grid-template-columns: 74px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 5px 0; font-size: 13px; }
.cx-bank { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cx-bar { position: relative; height: 8px; border-radius: 4px; background: var(--chip); }
.cx-bar i { position: absolute; top: 0; bottom: 0; border-radius: 4px; background: var(--v, #1b5586); opacity: .75; }
.cx-bar u { position: absolute; top: -3px; bottom: -3px; width: 2px; margin-left: -1px; background: var(--amber, #f0a019); }
.cx-nums { display: flex; gap: 8px; font-variant-numeric: tabular-nums; }
.cx-nums b { font-weight: 500; min-width: 38px; text-align: right; }
.cx-nums b.best { font-weight: 700; color: #1d7a45; }
.cx-best { margin: 10px 0 0; font-size: 13px; line-height: 1.45; color: var(--muted); }
.cx-best b { color: var(--ink); font-weight: 600; }

.pp-sub { margin: 0 0 6px; font-size: 13px; color: var(--muted); }
.pp-dtp .pn-feed span { font-size: 14px; }

/* Новости города на хабе: главная с фото слева, список в две колонки */
.pcn { display: block; }
.pcn--lead { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 4px 28px; align-items: start; }
.pcn-lead { display: flex; flex-direction: column; gap: 8px; color: var(--ink) !important; text-decoration: none; }
.pcn-lead img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 10px; }
.pcn-lead b { font: 700 20px/1.2 var(--display); letter-spacing: -.02em; text-wrap: balance; }
.pcn-lead small { font-size: 14px; line-height: 1.5; color: var(--muted); }
.pcn-lead:hover b { color: var(--link); }
.pcn-list { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 28px; }
.pcn--lead .pcn-list { columns: 1; }
.pcn-list li { display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--line); break-inside: avoid; font-size: 15px; line-height: 1.4; }
.pcn-list time { color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; padding-top: 2px; }
.pcn-list a { color: var(--ink); }
.pcn-list a:hover { color: var(--link); }
.pcn-list small { display: block; margin-top: 2px; font-size: 12px; color: var(--muted); }
@media (max-width: 900px) { .pcn--lead { grid-template-columns: minmax(0, 1fr); } .pcn-list { columns: 1; } }
.otk-gv { scroll-margin-top: 120px; }
.otk-gv > h2 { margin: 22px 0 8px; font: 700 20px/1.2 var(--display); letter-spacing: -.01em; }
.otk-gv > h2 small { margin-left: 6px; font: 400 14px/1 var(--sans, inherit); color: var(--muted); }
.otk-upd { margin: 6px 0 0; font-size: 13px; color: var(--muted); }
/* Соцсети круглыми иконками в одну строку с подписью: текстом «Дзен» на узком
   экране переносился и обрезался (06.10.2026) */
.pf-brand .pf-social { display: flex; align-items: center; gap: 10px; margin-top: 10px; font-size: 14px; }
.pf-social a { display: inline-grid; place-items: center; flex: none; width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: #fff; }
.pf-social a:hover, .pf-social a:focus-visible { border-color: #fff; background: rgba(255,255,255,.08); }
.otk-irk { display: flex; flex-direction: column; gap: 4px; padding: 14px 18px; border-radius: 14px; background: var(--surface); border: 1px solid var(--line); border-left: 5px solid var(--amber, #f0a830); text-decoration: none !important; color: var(--ink) !important; }
.otk-irk b { font: 700 18px/1.25 var(--display); }
.otk-irk span { font-size: 14px; color: var(--muted); }
.otk-irk:hover b { color: var(--link); }

/* Таблица в новости (цены на бензин по сетям) */
.news-table { width: 100%; border-collapse: collapse; margin: 0 0 1.2em; font-variant-numeric: tabular-nums; }
.news-table th, .news-table td { padding: 8px 10px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }
.news-table th:first-child, .news-table td:first-child { text-align: left; }
.news-table small { color: var(--red); }

/* Новость об отключениях из графика (07.10.2026): цифры дня, округа таблицей,
   по отключению — время заголовком и улицы колонками, дома мелко */
.afisha-article__body--news { container-type: inline-size; }
.news-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 1.2em; }
.news-facts div { padding: 10px 12px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); }
.news-facts b { display: block; font: 700 20px/1.2 var(--display); font-variant-numeric: tabular-nums; white-space: nowrap; }
.news-facts span { display: block; margin-top: 2px; font-size: 13px; line-height: 1.3; color: var(--muted); }
.news-table-wrap { overflow-x: auto; }
.afisha-article__body h2 small, .afisha-article__body h3 small { margin-left: 4px; font-family: inherit; font-size: 14px; font-weight: 400; letter-spacing: 0; color: var(--muted); }
.afisha-article__body--news h3 { margin: 1.1em 0 .45em; font: 700 17px/1.3 var(--display); font-variant-numeric: tabular-nums; }
.news-streets { margin: 0 0 1em; padding: 0; list-style: none; columns: 2 260px; column-gap: 28px; font-size: 15px; line-height: 1.35; }
.afisha-article__body .news-streets li { margin: 0; line-height: 1.35; break-inside: avoid; padding: 3px 0 3px 14px; position: relative; overflow-wrap: anywhere; }
.news-streets li::before { content: ""; position: absolute; left: 2px; top: .75em; width: 5px; height: 5px; border-radius: 50%; background: var(--muted); }
.news-streets span { display: block; font-size: 13px; line-height: 1.3; color: var(--muted); }
/* Крупнейшие отключения в новости: время и причина, округа, число улиц и первые из них */
.news-big { margin: 0 0 1.2em; padding: 0; list-style: none; display: grid; gap: 8px; }
.afisha-article__body .news-big li { margin: 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; line-height: 1.4; overflow-wrap: anywhere; }
.news-big b { font-variant-numeric: tabular-nums; }
/* Сводка «Коротко» (cli/news/briefs.php, 08.10.2026): строка на факт, источник мелко */
.news-brief { margin: 0 0 1.2em; padding: 0; list-style: none; }
.afisha-article__body .news-brief li { margin: 0; padding: 8px 0 8px 14px; position: relative; line-height: 1.45; border-bottom: 1px solid var(--line, rgba(0,0,0,.08)); }
.afisha-article__body .news-brief li:last-child { border-bottom: 0; }
.news-brief li::before { content: ""; position: absolute; left: 2px; top: 1.05em; width: 5px; height: 5px; border-radius: 50%; background: var(--accent, currentColor); }
.news-brief__src { margin-left: 4px; font-size: 13px; color: var(--muted); white-space: nowrap; }
a.news-brief__src { text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); }
@container (min-width: 640px) { .news-facts { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); } }
@media (max-width: 600px) { .news-facts b { font-size: 18px; } }

/* Страница улицы с отключениями (08.10.2026): состояние словами в плашке, история таблицей */
.otk-street__score b { font-size: 26px; line-height: 1.15; }
.otk-street__score small { max-width: 18ch; }
.cty-table.otk-hist th, .cty-table.otk-hist td { vertical-align: top; text-align: left; white-space: normal; }
.otk-hist__btn { border: 0; background: none; padding: 6px 0; cursor: pointer; font: inherit; }
.otk-hist td:first-child { white-space: nowrap; }
.otk-addr a { color: inherit; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); }

/* Улицы (/ulicy, 08.10.2026): учреждения группами, алфавитный список с поиском */
/* Улицы в новости (09.10.2026) */
.art-streets { margin: 20px 0 8px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 10px; }
.art-streets h2 { margin: 0 0 6px; font-size: 16px; }
.afisha-article .art-streets ul, .art-streets ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; font-size: 15px; line-height: 1.4; }
/* Строка о канале и боте под новостью (09.10.2026) */
.art-channel { margin: 20px 0 8px; padding: 10px 14px; border-left: 3px solid #2a9fd8; background: color-mix(in srgb, #2a9fd8 7%, transparent); border-radius: 0 8px 8px 0; font-size: 15px; line-height: 1.45; }
/* Подписка на отключения в Telegram-боте (09.10.2026) */
.str-bot { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 16px 0; padding: 12px 16px; border: 1px solid var(--line); border-radius: 10px; background: color-mix(in srgb, var(--accent, #2a7ab0) 6%, transparent); font-size: 15px; line-height: 1.4; }
.str-bot span { flex: 1 1 280px; }
.str-bot__btn { flex: 0 0 auto; padding: 8px 14px; border-radius: 8px; background: #2a9fd8; color: #fff; font-weight: 600; text-decoration: none; white-space: nowrap; }
.str-bot__btn:hover, .str-bot__btn:focus-visible { background: #1f88bd; color: #fff; }
.str-bot a.str-bot__btn, .str-bot a.str-bot__btn:visited { color: #fff; }
.str-bot__btn--max { background: #6b3cf0; }
.str-bot__btn--max:hover, .str-bot__btn--max:focus-visible { background: #5a2fd6; }
.str-orgs { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px 24px; }
.str-orgs h3 { margin: 0 0 6px; font-size: 15px; }
.str-orgs ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.str-orgs li span { display: block; font-size: 13px; color: var(--muted); }
.str-find { margin: 0; }
.str-letter + .str-letter { margin-top: 14px; }
.str-letter h2 { margin: 0 0 6px; font: 700 20px/1.2 var(--display); }
.str-list { margin: 0; padding: 0; list-style: none; columns: 3 220px; column-gap: 24px; }
.str-list li { break-inside: avoid; padding: 3px 0; }
.str-list li span { display: block; font-size: 12px; color: var(--muted); }

/* Лента новостей: подгрузка при прокрутке и кнопка «Показать ещё» (09.10.2026) */
.news-more { display: grid; justify-items: center; gap: 10px; margin: 28px 0 8px; }
.news-more__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 28px; border-radius: 999px; background: #f0a019; color: #10263a; font-weight: 600; text-decoration: none; }
a.news-more__btn, a.news-more__btn:visited { color: #10263a; }
.news-more__btn:hover, .news-more__btn:focus-visible { background: #f5b23e; }
.news-more.is-loading .news-more__btn { opacity: .6; pointer-events: none; }
.news-more__nav { display: flex; gap: 18px; align-items: center; margin: 0; font-size: 14px; color: var(--muted); }
.news-more__nav a { color: inherit; }
.news-more__status { margin: 0; min-height: 1.2em; font-size: 14px; color: var(--muted); }

/* Объявления Водоканала со статусом (09.10.2026) */
.otk-notices { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 8px; }
.otk-notices li { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.otk-notices__st { font-size: 13px; padding: 1px 8px; border-radius: 999px; background: color-mix(in srgb, #2a7ab0 14%, transparent); }
.otk-notices__st--cancelled, .otk-notices__st--postponed { background: color-mix(in srgb, var(--muted) 18%, transparent); }
.otk-notices__st--now { background: color-mix(in srgb, #d9534f 18%, transparent); }
.otk-notices__st--past, .otk-notices__st--district { background: transparent; color: var(--muted); padding-left: 0; }
/* Холодная вода: график года и объявления (09.10.2026) */
.otk-plan-wrap { overflow-x: auto; }
.otk-plan { width: 100%; border-collapse: collapse; font-size: 15px; }
.otk-plan th, .otk-plan td { text-align: left; vertical-align: top; padding: 8px 10px 8px 0; border-bottom: 1px solid var(--line, rgba(127,127,127,.25)); }
.otk-plan th { font-size: 13px; font-weight: 600; color: var(--muted); }
.otk-plan td:first-child { white-space: nowrap; }
.otk-plan small { color: var(--muted); }
.otk-plan__h { white-space: nowrap; font-variant-numeric: tabular-nums; }
.otk-notes { display: grid; gap: 14px; }
.otk-note { padding: 14px 16px; border: 1px solid var(--line, rgba(127,127,127,.25)); border-radius: 10px; }
.otk-note h3 { margin: 0 0 6px; font-size: 17px; text-wrap: balance; }
.otk-note p { margin: 0 0 8px; }
.otk-note__when { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.otk-note .trf-source { margin: 6px 0 0; }
/* На телефоне строка графика — карточкой: когда, где, сколько часов, что стало */
@media (max-width: 600px) {
	.otk-plan thead { display: none; }
	.otk-plan, .otk-plan tbody, .otk-plan tr, .otk-plan td { display: block; }
	.otk-plan tr { padding: 10px 0; border-bottom: 1px solid var(--line); }
	.otk-plan td { border: 0; padding: 2px 0; }
	.otk-plan td:first-child { font-weight: 600; }
	.otk-plan__h::before { content: "Без воды: "; color: var(--muted); }
}

/* Улица: школа и детский сад по прописке (09.10.2026) */
.str-edu__check { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 14px; }
.str-edu__check input { width: 11em; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: transparent; color: inherit; font: inherit; }
.str-edu__check input:focus { outline: 2px solid var(--night-2, #1b6fb8); outline-offset: 1px; }
.str-edu__res { font-weight: 600; }
.str-edu__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px 28px; }
.str-edu__cols h3 { margin: 0 0 8px; font-size: 15px; color: var(--muted); }
.str-edu__cols ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.str-edu__cols li { padding: 6px 10px; border-radius: 8px; border-left: 3px solid var(--line); line-height: 1.4; }
.str-edu__cols li small { color: var(--muted); }
.str-edu__cols li span { display: block; font-size: 14px; color: var(--muted); }
.str-edu__cols li.is-hit { border-left-color: #2e8b57; background: color-mix(in srgb, #2e8b57 10%, transparent); }
.str-edu__cols li.is-off { opacity: .45; }

/* «{Город} сегодня» — сервисы сайта по городу области (html/_town.php): на погоде,
   отключениях, расписаниях, бензине и МФЦ, поэтому стили общие, а не в city.css */
.town-links { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.town-links a { display: flex; flex-direction: column; gap: 3px; height: 100%; padding: 12px 14px; border-radius: 14px; background: var(--surface); border: 1px solid var(--line); color: inherit; text-decoration: none; box-sizing: border-box; }
.town-links a:hover, .town-links a:focus-visible { border-color: #1b6fb8; }
.town-links b { font-size: 15px; line-height: 1.3; }
.town-links span { font-size: 13px; color: var(--muted); }

/* Главная — «Новости Иркутска сегодня» (13.10.2026): главное, день, лента — одной
   белой панелью на ледяном фоне; рубрики — цветом обложек (afishaNewsColor) */
.hn { display: flex; flex-direction: column; gap: 22px; padding: 24px 26px 26px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.hn > * + * { padding-top: 22px; border-top: 1px solid var(--line); }
.hn a { text-decoration: none; }

/* Метка рубрики: текст цветом рубрики на её же лёгкой подложке */
.hn .cat[style*="--cc"] { background: color-mix(in srgb, var(--cc) var(--cc-b), var(--surface)); color: color-mix(in srgb, var(--cc) var(--cc-k), var(--ink)); }

.hn-top { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 26px; }
.hn .pn-lead { gap: 10px; }
.hn .pn-lead img { border-radius: 12px; }
.hn-top .pn-lead b { font-size: 28px; line-height: 1.15; }
.hn-ex { color: var(--muted); font-size: 16px; line-height: 1.5; }
.hn-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 18px; align-content: start; }
.hn-card { display: flex; flex-direction: column; gap: 9px; color: var(--ink) !important; }
.hn-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 10px; }
.hn-card__t { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.hn-card b { font: 600 15px/1.32 var(--af-font); text-wrap: pretty; }
.hn-card:hover b, .hn .pn-lead:hover b { color: var(--link); }

.hn-day { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 26px; align-items: start; }
.hn-digest { display: grid; gap: 5px; padding: 16px 18px; border-radius: 14px; background: var(--amber-soft); color: var(--ink) !important; }
.hn-digest small { color: var(--amber-text); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.hn-digest b { font: 700 18px/1.25 var(--display); letter-spacing: -.015em; }
.hn-digest span { color: var(--ink); opacity: .78; font-size: 14px; line-height: 1.5; }
.hn-digest:hover b { color: var(--link); }
.hn-stories { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.hn-stories small { width: 100%; color: var(--muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.hn-stories a { display: inline-flex; align-items: center; gap: 8px; padding: 6px 6px 6px 13px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); font-size: 14px; font-weight: 600; }
.hn-stories a i { min-width: 24px; padding: 2px 7px; border-radius: 999px; background: var(--chip); color: var(--muted); font: 600 12px/1.3 var(--af-font); font-style: normal; text-align: center; font-variant-numeric: tabular-nums; box-sizing: border-box; }
.hn-stories a:hover { border-color: var(--link); color: var(--link); }

/* Лента — одним потоком в две колонки, дни внутри потока */
.hn-feed .pe-h { flex-wrap: wrap; margin-bottom: 6px; }
.hn-cols { columns: 2 340px; column-gap: 40px; }
.hn-cols li { break-inside: avoid; }
.hn-d h3 { break-after: avoid; display: flex; align-items: baseline; gap: 8px; margin: 14px 0 2px; padding-bottom: 8px; border-bottom: 2px solid var(--ink); font: 700 17px/1.2 var(--display); letter-spacing: -.015em; }
.hn-d:first-child h3 { margin-top: 6px; }
.hn-d h3 a { color: var(--ink); }
.hn-d h3 a:hover { color: var(--link); }
.hn-d h3 span { color: var(--muted); font: 500 14px/1.2 var(--af-font); letter-spacing: 0; }
.hn .pn-feed li { grid-template-columns: 46px minmax(0, 1fr); gap: 8px; padding: 9px 0; border-bottom-color: color-mix(in srgb, var(--line) 70%, var(--surface)); }
.hn .pn-feed time { font-weight: 600; }
.hn .pn-feed a { color: var(--ink); font-weight: 500; }
.hn .pn-feed a::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: color-mix(in srgb, var(--cc, var(--muted)) var(--cc-k), var(--ink)); vertical-align: 2px; }
.hn .pn-feed a:hover { color: var(--link); text-decoration: underline; text-underline-offset: 3px; }

.home-now { display: flex; flex-direction: column; gap: 26px; }

@media (max-width: 900px) {
	.hn-top, .hn-day { grid-template-columns: minmax(0, 1fr); }
	.hn-top .pn-lead b { font-size: 22px; }
	.hn-ex { font-size: 15px; }
}

/* Телефон: панель шире, карточки — строкой с миниатюрой слева */
@media (max-width: 600px) {
	.hn { padding: 16px 14px 18px; border-radius: 14px; gap: 18px; }
	.hn > * + * { padding-top: 18px; }
	.hn-cards { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.hn-card { flex-direction: row; align-items: flex-start; gap: 12px; }
	.hn-card img { width: 116px; flex: none; border-radius: 8px; }
	.hn-card b { font-size: 15px; }
}

