/* P4 PERFORMANCE CORE - generated from current FTP 2026-09-30 */
/*! Bootstrap v5.3.2 | MIT License | https://getbootstrap.com */
:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg,rgba(255,255,255,.15),rgba(255,255,255,0));}
*,*::before,*::after{box-sizing:border-box;}
html{font-family:var(--bs-font-sans-serif);line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);}
body{margin:0;font-family:var(--bs-font-sans-serif);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;}
h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;}
p{margin-top:0;margin-bottom:1rem;}
a{color:#0d6efd;text-decoration:underline;}
a:hover{color:#0a58ca;}
img,svg{vertical-align:middle;}
button{border-radius:0;}
button:focus:not(:focus-visible){outline:0;}
.container{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto;}
@media(min-width:576px){.container{max-width:540px;}}
@media(min-width:768px){.container{max-width:720px;}}
@media(min-width:992px){.container{max-width:960px;}}
@media(min-width:1200px){.container{max-width:1140px;}}
@media(min-width:1400px){.container{max-width:1320px;}}
.row{display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y)*-1);margin-right:calc(var(--bs-gutter-x)/-2);margin-left:calc(var(--bs-gutter-x)/-2);}
.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)/2);padding-left:calc(var(--bs-gutter-x)/2);margin-top:var(--bs-gutter-y);}
.col{flex:1 0 0%;}
.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0,0,0,.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0,0,0,.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0,0,0,.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6;}
.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg);}
.table>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color);}
.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.375rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;}
.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.375rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;}
.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd;}
.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;}
.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.375rem;}
.card-body{flex:1 1 auto;padding:1rem 1rem;}
.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none;}
.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;}
.nav-link:hover{color:#0a58ca;}
.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.375rem;}
.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc;}
.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7;}
.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.375rem;}
.badge.bg-success{background-color:#198754;}
.badge.bg-warning{background-color:#ffc107;color:#212529;}
.badge.bg-secondary{background-color:#6c757d;}
.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important;}
.rounded{border-radius:.375rem!important;}
.img-fluid{max-width:100%;height:auto;}
.text-center{text-align:center!important;}
.text-primary{color:#0d6efd!important;}
.text-muted{color:#6c757d!important;}
.text-end{text-align:right!important;}
.w-100{width:100%!important;}
.w-50{width:50%!important;}
.ratio{position:relative;width:100%;}
.ratio::before{display:block;padding-top:56.25%;content:"";}
.ratio-16x9::before{padding-top:56.25%;}
.ratio>iframe{position:absolute;top:0;left:0;width:100%;height:100%;}
.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.375rem;}
.card-body{flex:1 1 auto;padding:1rem 1rem;}
.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125);}
.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125);}
.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.375rem;}
.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd;}
.btn-primary:hover{background-color:#0b5ed7;border-color:#0a58ca;}
.btn-outline-primary{color:#0d6efd;border-color:#0d6efd;}
.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd;}
.btn-success{color:#fff;background-color:#198754;border-color:#198754;}
.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545;}
.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107;}
.container{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto;}
.row{display:flex;flex-wrap:wrap;margin-top:calc(var(--bs-gutter-y)/ -1);margin-right:calc(var(--bs-gutter-x)/ -2);margin-left:calc(var(--bs-gutter-x)/ -2);}
.col-md-4,.col-md-6,.col-md-8{position:relative;width:100%;padding-right:calc(var(--bs-gutter-x)/ 2);padding-left:calc(var(--bs-gutter-x)/ 2);}
@media (min-width:768px){
    .col-md-4{flex:0 0 auto;width:33.333333%;}
    .col-md-6{flex:0 0 auto;width:50%;}
    .col-md-8{flex:0 0 auto;width:66.666667%;}
}
.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important;}
.py-5{padding-top:3rem!important;padding-bottom:3rem!important;}
.mb-3{margin-bottom:1rem!important;}
.mb-4{margin-bottom:1.5rem!important;}
.g-3{--bs-gutter-x:1rem;--bs-gutter-y:1rem;}
.g-4{--bs-gutter-x:1.5rem;--bs-gutter-y:1.5rem;}
.text-center{text-align:center!important;}
.text-end{text-align:right!important;}
.text-primary{color:#0d6efd!important;}
.text-white{color:#fff!important;}
.text-muted{color:#6c757d!important;}
.text-success{color:#198754!important;}
.text-danger{color:#dc3545!important;}
.text-warning{color:#ffc107!important;}
.fw-bold{font-weight:700!important;}
.rounded{border-radius:.375rem!important;}
.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important;}
.img-fluid{max-width:100%;height:auto;}
.ratio{position:relative;width:100%;}
.ratio::before{display:block;padding-top:56.25%;content:"";}
.ratio iframe{position:absolute;top:0;left:0;width:100%;height:100%;}
a{text-decoration:none;color:#0d6efd;}
a:hover{color:#0a58ca;text-decoration:underline;}
.table{width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6;}
.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:transparent;border-bottom:1px solid #dee2e6;}
.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075);}
.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.375rem;}
.bg-success{background-color:#198754!important;}
.bg-warning{background-color:#ffc107!important;color:#212529!important;}
.bg-secondary{background-color:#6c757d!important;}
.bg-light{background-color:#f8f9fa!important;}
.bg-primary{background-color:#0d6efd!important;}
.bg-info{background-color:#0dcaf0!important;color:#000!important;}
.bg-dark{background-color:#212529!important;color:#fff!important;}
.border-start{border-left:1px solid rgba(0,0,0,.125)!important;}
.w-100{width:100%!important;}
.w-45{width:45%!important;}
.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.25rem;}
.btn-outline-primary{color:#0d6efd;border:1px solid #0d6efd;background:transparent;}
.btn-outline-primary:hover{background:#0d6efd;color:#fff;}
.btn-outline-success{color:#198754;border:1px solid #198754;background:transparent;}
.btn-outline-success:hover{background:#198754;color:#fff;}
.btn-outline-info{color:#0dcaf0;border:1px solid #0dcaf0;background:transparent;}
.btn-outline-info:hover{background:#0dcaf0;color:#000;}
.btn-outline-warning{color:#ffc107;border:1px solid #ffc107;background:transparent;}
.btn-outline-warning:hover{background:#ffc107;color:#000;}
.btn-outline-danger{color:#dc3545;border:1px solid #dc3545;background:transparent;}
.btn-outline-danger:hover{background:#dc3545;color:#fff;}
.alert{position:relative;padding:1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.375rem;}
.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7;}
.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc;}
.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5;}
.form-label{margin-bottom:.5rem;font-weight:600;}
.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;border:1px solid #ced4da;border-radius:.375rem;}
.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);}
.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236c757d' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.375rem;}
.form-select:focus{border-color:#86b7fe;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);}
.table-sm>:not(caption)>*>*{padding:.25rem .25rem;}
.card{position:relative;display:block;background:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.375rem;}
.card-header{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125);}
.card-body{padding:1rem;}
.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125);}
.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important;}
.ratio-16x9::before{padding-top:56.25%;}
.img-fluid{max-width:100%;height:auto;}
.rounded{border-radius:.375rem!important;}
.rounded-circle{border-radius:50%!important;}
.w-100{width:100%!important;}
.w-50{width:50%!important;}
.w-25{width:25%!important;}
.h-100{height:100%!important;}
.text-center{text-align:center!important;}
.text-start{text-align:left!important;}
.text-end{text-align:right!important;}
.text-primary{color:#0d6efd!important;}
.text-success{color:#198754!important;}
.text-info{color:#0dcaf0!important;}
.text-warning{color:#ffc107!important;}
.text-danger{color:#dc3545!important;}
.text-muted{color:#6c757d!important;}
.fw-bold{font-weight:700!important;}
.fw-semibold{font-weight:600!important;}
.fw-normal{font-weight:400!important;}
.bg-primary{background-color:#0d6efd!important;color:#fff!important;}
.bg-success{background-color:#198754!important;color:#fff!important;}
.bg-info{background-color:#0dcaf0!important;color:#000!important;}
.bg-warning{background-color:#ffc107!important;color:#000!important;}
.bg-danger{background-color:#dc3545!important;color:#fff!important;}
.bg-light{background-color:#f8f9fa!important;}
.bg-dark{background-color:#212529!important;color:#fff!important;}
.border{border:1px solid #dee2e6!important;}
.border-0{border:0!important;}
.border-start{border-left:1px solid #dee2e6!important;}
.border-end{border-right:1px solid #dee2e6!important;}
.border-top{border-top:1px solid #dee2e6!important;}
.border-bottom{border-bottom:1px solid #dee2e6!important;}
.mt-1{margin-top:.25rem!important;}
.mt-2{margin-top:.5rem!important;}
.mt-3{margin-top:1rem!important;}
.mt-4{margin-top:1.5rem!important;}
.mt-5{margin-top:3rem!important;}
.mb-1{margin-bottom:.25rem!important;}
.mb-2{margin-bottom:.5rem!important;}
.mb-3{margin-bottom:1rem!important;}
.mb-4{margin-bottom:1.5rem!important;}
.mb-5{margin-bottom:3rem!important;}
.pt-1{padding-top:.25rem!important;}
.pt-2{padding-top:.5rem!important;}
.pt-3{padding-top:1rem!important;}
.pt-4{padding-top:1.5rem!important;}
.pt-5{padding-top:3rem!important;}
.pb-1{padding-bottom:.25rem!important;}
.pb-2{padding-bottom:.5rem!important;}
.pb-3{padding-bottom:1rem!important;}
.pb-4{padding-bottom:1.5rem!important;}
.pb-5{padding-bottom:3rem!important;}
.ps-1{padding-left:.25rem!important;}
.ps-2{padding-left:.5rem!important;}
.ps-3{padding-left:1rem!important;}
.ps-4{padding-left:1.5rem!important;}
.ps-5{padding-left:3rem!important;}
.pe-1{padding-right:.25rem!important;}
.pe-2{padding-right:.5rem!important;}
.pe-3{padding-right:1rem!important;}
.pe-4{padding-right:1.5rem!important;}
.pe-5{padding-right:3rem!important;}

.d-block{display:block!important;}
.d-inline{display:inline!important;}
.d-inline-block{display:inline-block!important;}
.d-flex{display:flex!important;}
.d-inline-flex{display:inline-flex!important;}
.d-none{display:none!important;}

.flex-column{flex-direction:column!important;}
.flex-row{flex-direction:row!important;}
.flex-wrap{flex-wrap:wrap!important;}
.flex-nowrap{flex-wrap:nowrap!important;}
.justify-content-start{justify-content:flex-start!important;}
.justify-content-end{justify-content:flex-end!important;}
.justify-content-center{justify-content:center!important;}
.justify-content-between{justify-content:space-between!important;}
.align-items-start{align-items:flex-start!important;}
.align-items-end{align-items:flex-end!important;}
.align-items-center{align-items:center!important;}

.position-relative{position:relative!important;}
.position-absolute{position:absolute!important;}
.position-fixed{position:fixed!important;}
.position-sticky{position:sticky!important;}
.top-0{top:0!important;}
.bottom-0{bottom:0!important;}
.start-0{left:0!important;}
.end-0{right:0!important;}

.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important;}
.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important;}
.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important;}

.ratio{position:relative;width:100%;}
.ratio::before{display:block;padding-top:56.25%;content:"";}
.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%;}

.ratio-16x9::before{padding-top:56.25%;}
.ratio-4x3::before{padding-top:75%;}
.ratio-1x1::before{padding-top:100%;}

.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.5rem;}
.card-body{flex:1 1 auto;padding:1rem 1rem;}
.card-header{padding:.75rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125);}
.card-footer{padding:.75rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125);}
.dropdown-menu-dark .active>.dropdown-item,.dropdown-menu-dark .dropdown-item.active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item-text{color:#fff}.dropdown-menu-dark .dropdown-header{color:#ced4da}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group>.btn-group,.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{position:relative}.btn-group>.btn:hover,.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:hover,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child){margin-left:-1px}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.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-group>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after{margin-left:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group.show .dropdown-toggle{z-index:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.dropdown-menu.show{display:block}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.fade{transition:opacity .15s linear}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}
.dropup .dropdown-toggle::after{border-top:0;border-bottom:.3em solid}.dropend .dropdown-toggle::after{margin-left:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle{white-space:nowrap}.dropend .dropdown-toggle::after{vertical-align:.255em}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent;border-left:0}.dropstart .dropdown-toggle::before{vertical-align:.255em}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill>.nav-link,.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified>.nav-link,.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}

/* ============================================================================
   GLOBAL.CSS — reset + layout base responsivo
============================================================================ */

html, body {
    margin: 0;
    padding: 0;
    font-family: "Inter", Arial, sans-serif;
    font-size: 16px;
    color: #222;
    background: #fff;
}

img {
    max-width: 100%;
    display: block;
}

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

/* Containers */
.ms-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* SECTION */
.ms-section {
    padding: 60px 0;
}

.ms-section-light {
    background: #f7f7f7;
}

.ms-section-header {
    text-align: center;
    margin-bottom: 40px;
}

.ms-section-header h2 {
    font-size: 32px;
    margin-bottom: 10px;
}

/* ============================================================================
   HEADER
============================================================================ */
.ms-header-bar {
    background: #fff;
    border-bottom: 1px solid #e5e5e5;
}

.ms-header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 70px;
}

.ms-logo img {
    height: 48px;
}

.ms-logo-text {
    font-size: 20px;
    font-weight: 600;
}

.ms-nav a {
    margin-left: 25px;
    font-weight: 500;
    transition: 0.2s;
}

.ms-nav a:hover {
    opacity: 0.6;
}

/* ============================================================================
   HERO (BANNER)
============================================================================ */
.ms-hero {
    height: 380px;
    width: 100%;
    background-size: cover;
    background-position: center;
    position: relative;
}

.ms-hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
}

.ms-hero-content {
    position: relative;
    z-index: 10;
    color: #fff;
    padding-top: 120px;
}

.ms-hero-content h1 {
    font-size: 44px;
    margin: 10px 0;
}

.ms-hero-sub {
    font-size: 20px;
    opacity: 0.9;
}

/* ============================================================================
   CARROSSEL DE DESTAQUES
============================================================================ */
.ms-carousel {
    position: relative;
}

.ms-carousel-track {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    gap: 20px;
    padding-bottom: 10px;
}

.ms-carousel-track::-webkit-scrollbar {
    height: 6px;
}

.ms-carousel-track::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 5px;
}

.ms-carousel-btn {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    background: var(--ms-cor-primaria);
    color: #fff;
    border: none;
    font-size: 32px;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 20;
    opacity: 0.9;
}

.ms-carousel-prev { left: -10px; }
.ms-carousel-next { right: -10px; }

.ms-carousel-btn:hover {
    opacity: 1;
}

/* ============================================================================
   CARDS DE IMÓVEIS
============================================================================ */
.ms-grid-imoveis {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: 25px;
}

.ms-card-imovel {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 3px 12px rgba(0,0,0,0.07);
    transition: transform 0.2s;
}

.ms-card-imovel:hover {
    transform: translateY(-4px);
}

.ms-card-imovel-thumb {
    position: relative;
    height: 200px;
    overflow: hidden;
}

.ms-card-imovel-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ms-card-status {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background: var(--ms-cor-primaria);
    color: #fff;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 14px;
}

.ms-card-imovel-body {
    padding: 15px 18px;
}

.ms-card-imovel-body h3 {
    font-size: 20px;
    margin-bottom: 8px;
}

.ms-card-local {
    font-size: 14px;
    opacity: 0.7;
}

.ms-card-preco {
    margin-top: 12px;
    font-size: 18px;
    font-weight: 600;
    color: var(--ms-cor-primaria);
}

/* ============================================================================
   CTA / FOOTER
============================================================================ */

.ms-cta {
    background: var(--ms-cor-primaria);
    color: #fff;
    text-align: center;
    padding: 50px 0;
}

.ms-btn {
    display: inline-block;
    padding: 14px 28px;
    border-radius: 6px;
    font-weight: 600;
    transition: 0.25s;
}

.ms-btn-primary {
    background: #fff;
    color: var(--ms-cor-primaria);
}

.ms-btn-primary:hover {
    background: #eee;
}

.ms-footer {
    background: #222;
    color: #ccc;
    padding: 40px 0;
    text-align: center;
}

.ms-footer-sub {
    font-size: 13px;
    margin-top: 5px;
    opacity: 0.7;
}

/* ============================================================================
   MOBILE
============================================================================ */
@media (max-width: 768px) {

    .ms-header-inner {
        flex-direction: column;
        height: auto;
        padding: 20px 0;
    }

    .ms-nav {
        margin-top: 10px;
        display: flex;
        gap: 20px;
        flex-wrap: wrap;
        justify-content: center;
    }

    .ms-hero {
        height: 280px;
    }

    .ms-hero-content h1 {
        font-size: 32px;
    }
}

/* ============================================================================
   MINI SITE 2.0 — STYLE.CSS
   - Base visual completa
   - Responsivo
   - IA-friendly (HTML limpo, hierarquia clara)
   - Pensado para home, catálogo, destaques, imóvel e mapa
============================================================================ */

/* Opcional: se global.css e theme.css existirem no mesmo diretório,
   você pode importar aqui. Se não existirem, não tem problema. */



/* ============================================================================
   RESET / BASE
============================================================================ */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body.ms-body {
    margin: 0;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: #222;
    background-color: #ffffff;
}

/* Links */
a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

/* Imagens */
img {
    max-width: 100%;
    display: block;
}

/* Containers padrão */
.ms-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ============================================================================
   VARIÁVEIS DE TEMA (fallback)
============================================================================ */

:root {
    --ms-cor-primaria: #4b0082;
    --ms-cor-secundaria: #1f00ff;
    --ms-cor-texto: #222222;
    --ms-cor-fundo-claro: #f7f7f7;
}

/* ============================================================================
   HEADER / NAV
============================================================================ */

.ms-header-bar {
    background: #ffffff;
    border-bottom: 1px solid #e5e5e5;
    position: sticky;
    top: 0;
    z-index: 100;
}

.ms-header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 64px;
}

.ms-logo img {
    height: 44px;
}

/* Logo clicável: volta para a home e recebe realce suave no hover/foco. */
.ms-logo-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    border-radius: 8px;
    transition: filter .2s ease, transform .2s ease, opacity .2s ease;
}

.ms-logo-link img {
    display: block;
    transition: filter .2s ease, transform .2s ease, opacity .2s ease;
}

.ms-logo-link:hover img,
.ms-logo-link:focus-visible img {
    filter: brightness(1.14) saturate(1.06) drop-shadow(0 0 7px rgba(255,255,255,.28));
    transform: scale(1.018);
}

.ms-logo-link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
    .ms-logo-link,
    .ms-logo-link img {
        transition: none;
    }
}

.ms-logo-text {
    font-size: 20px;
    font-weight: 600;
    color: var(--ms-cor-primaria);
}

/* ===========================
   MENU MOBILE
=========================== */

.ms-mobile-menu,
.ms-mobile-menu-btn {
    display: none;
}

@media (max-width: 768px) {

    .ms-nav {
        display: none;
    }

    .ms-mobile-menu-btn {
        display: block;
        background: transparent;
        border: 0;
        font-size: 30px;
        cursor: pointer;
    }

    .ms-mobile-menu {
        display: none;
        background: #fff;
        border-top: 1px solid #ddd;
    }

    .ms-mobile-menu.ativo {
        display: block;
    }

    .ms-mobile-menu a {
        display: block;
        padding: 12px 20px;
        border-bottom: 1px solid #eee;
    }

}

/* ============================================================================
   HERO (BANNER PRINCIPAL)
============================================================================ */

.ms-hero {
    width: 100%;
    height: 380px;
    background-size: cover;
    background-position: center;
    position: relative;
    color: #ffffff;
}

.ms-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
            to bottom,
            rgba(0,0,0,0.55),
            rgba(0,0,0,0.55)
    );
}

.ms-hero-content {
    position: relative;
    z-index: 1;
    padding-top: 120px;
    padding-bottom: 40px;
}

.ms-hero-label {
    display: inline-block;
    background: rgba(0,0,0,0.45);
    border-radius: 999px;
    padding: 6px 14px;
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.ms-hero-content h1 {
    font-size: 38px;
    margin: 0 0 10px 0;
}

.ms-hero-sub {
    font-size: 18px;
    max-width: 520px;
    opacity: 0.9;
}

/* ============================================================================
   SEÇÕES / TÍTULOS
============================================================================ */

.ms-main {
    min-height: 300px;
}

.ms-section {
    padding: 60px 0;
}

.ms-section-light {
    background-color: var(--ms-cor-fundo-claro);
}

.ms-section-header {
    text-align: center;
    margin-bottom: 32px;
}

.ms-section-header h2 {
    font-size: 28px;
    margin-bottom: 8px;
    color: #111111;
}

.ms-section-header p {
    margin: 0;
    font-size: 15px;
    color: #666666;
}

/* ============================================================================
   CARROSSEL DE DESTAQUES
============================================================================ */

.ms-carousel {
    position: relative;
}

.ms-carousel-track {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding-bottom: 10px;
}

.ms-carousel-track::-webkit-scrollbar {
    height: 6px;
}

.ms-carousel-track::-webkit-scrollbar-thumb {
    background: #cccccc;
    border-radius: 4px;
}

.ms-carousel-btn {
    position: absolute;
    top: 40%;
    transform: translateY(-50%);
    border: none;
    background: var(--ms-cor-primaria);
    color: #ffffff;
    font-size: 28px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s ease-out, transform 0.2s ease-out;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    z-index: 15;
}

.ms-carousel-prev {
    left: -10px;
}

.ms-carousel-next {
    right: -10px;
}

.ms-carousel-btn:hover {
    opacity: 0.9;
    transform: translateY(-50%) scale(1.03);
}

/* ============================================================================
   CARDS DE IMÓVEIS
============================================================================ */

.ms-grid-imoveis {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
}

.ms-card-imovel {
    background-color: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
    transition: transform 0.18s ease-out, box-shadow 0.18s ease-out;
}

.ms-card-imovel:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 22px rgba(0,0,0,0.12);
}

.ms-card-imovel-link {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.ms-card-imovel-thumb {
    position: relative;
    height: 190px;
    background-color: #f0f0f0;
    overflow: hidden;
}

.ms-card-imovel-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ms-card-status {
    position: absolute;
    left: 10px;
    bottom: 10px;
    background-color: var(--ms-cor-primaria);
    color: #ffffff;
    font-size: 13px;
    padding: 4px 10px;
    border-radius: 999px;
}

.ms-card-imovel-body {
    padding: 14px 18px 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ms-card-imovel-body h3 {
    font-size: 18px;
    margin: 0 0 2px;
    color: #111111;
}

.ms-card-local {
    font-size: 13px;
    color: #777777;
}

.ms-card-preco {
    margin-top: 8px;
    font-size: 17px;
    font-weight: 600;
    color: var(--ms-cor-primaria);
}

/* ============================================================================
   BOTÕES / CTA
============================================================================ */

.ms-btn {
    display: inline-block;
    padding: 10px 22px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    transition: background-color 0.18s ease-out, color 0.18s ease-out, box-shadow 0.18s;
}

.ms-btn-primary {
    background-color: var(--ms-cor-primaria);
    color: #ffffff;
    border: none;
}

.ms-btn-primary:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.18);
}

/* Seção CTA de rodapé */
.ms-cta {
    background-color: var(--ms-cor-primaria);
    color: #ffffff;
    text-align: center;
    padding: 48px 0;
}

.ms-cta h2 {
    margin: 0 0 8px;
    font-size: 26px;
}

.ms-cta p {
    margin: 0 0 20px;
    font-size: 15px;
    opacity: 0.9;
}

/* ============================================================================
   FOOTER
============================================================================ */

.ms-footer {
    background-color: #1f1f1f;
    color: #cccccc;
    text-align: center;
    padding: 30px 0;
}

.ms-footer p {
    margin: 0;
    font-size: 13px;
}

.ms-footer-sub {
    margin-top: 4px;
    font-size: 12px;
    opacity: 0.7;
}

/* ============================================================================
   PÁGINA DO IMÓVEL (BASE PARA PRÓXIMA ETAPA)
============================================================================ */

.ms-imovel-page {
    padding: 40px 0 60px;
    background-color: #ffffff;
}

.ms-imovel-header {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}

.ms-imovel-titulo {
    font-size: 26px;
    margin: 0;
}

.ms-imovel-local {
    font-size: 14px;
    color: #777777;
}

.ms-imovel-preco {
    font-size: 24px;
    color: var(--ms-cor-primaria);
    font-weight: 700;
}

/* Layout principal da página do imóvel (galeria + dados) */
.ms-imovel-layout {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr);
    gap: 30px;
    align-items: flex-start;
    margin-top: 25px;
}

.ms-imovel-galeria {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}

.ms-imovel-galeria img {
    width: 100%;
    height: 360px;
    object-fit: cover;
}

.ms-imovel-info-box {
    background: #fafafa;
    border-radius: 12px;
    padding: 18px 20px;
    box-shadow: 0 3px 12px rgba(0,0,0,0.05);
}

.ms-imovel-info-box h3 {
    margin-top: 0;
    font-size: 18px;
}

.ms-imovel-atributos {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    font-size: 14px;
}

.ms-imovel-atributo-tag {
    background-color: #ffffff;
    border-radius: 999px;
    padding: 6px 10px;
    border: 1px solid #e0e0e0;
}

/* Descrição longa / texto IA-friendly */
.ms-imovel-descricao {
    margin-top: 30px;
    font-size: 15px;
    color: #444444;
    line-height: 1.7;
}

/* Vídeo */
.ms-imovel-video {
    margin-top: 30px;
}

.ms-imovel-video iframe {
    width: 100%;
    height: 320px;
    border: none;
    border-radius: 12px;
    box-shadow: 0 3px 12px rgba(0,0,0,0.08);
}

/* ============================================================================
   MAPA (BASE PARA PÁGINA DE MAPA GERAL)
============================================================================ */

.ms-map-section {
    padding: 50px 0;
    background-color: #ffffff;
}

.ms-map-wrapper {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(0,0,0,0.12);
}

.ms-map-container {
    width: 100%;
    height: 420px;
}
/* ============================================================================
   BOTÃO VER IMÓVEIS — PÁGINA SOBRE
============================================================================ */

.ms-sobre-cta-imoveis {
    text-align: center;
    margin: -10px auto 28px;
}

.ms-sobre-cta-imoveis a {
    display: inline-block;
    background: var(--ms-cor-primaria);
    color: #ffffff;
    padding: 14px 28px;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
    transition: 0.25s ease;
}

.ms-sobre-cta-imoveis a:hover {
    background: var(--ms-cor-secundaria);
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
}
/* ============================================================================
   RESPONSIVIDADE
============================================================================ */

@media (max-width: 992px) {

    .ms-header-inner {
        flex-direction: column;
        align-items: flex-start;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .ms-nav {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 16px;
        margin-top: 10px;
    }

    .ms-hero {
        height: 300px;
    }

    .ms-hero-content {
        padding-top: 80px;
    }

    .ms-hero-content h1 {
        font-size: 30px;
    }

    .ms-imovel-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .ms-imovel-galeria img {
        height: 260px;
    }
}

@media (max-width: 768px) {

    .ms-section {
        padding: 40px 0;
    }

    .ms-section-header h2 {
        font-size: 24px;
    }

    .ms-header-inner {
        padding: 10px 0;
    }

    .ms-hero {
        height: 260px;
    }

    .ms-hero-content {
        padding-top: 70px;
    }

    .ms-hero-content h1 {
        font-size: 26px;
    }

    .ms-card-imovel-thumb {
        height: 180px;
    }
}

@media (max-width: 480px) {

    .ms-container {
        padding: 0 14px;
    }

    .ms-hero {
        height: 230px;
    }

    .ms-hero-content {
        padding-top: 60px;
    }

    .ms-hero-content h1 {
        font-size: 22px;
    }
}

/* ================= PAGINAÇÃO ================= */

.ms-paginacao {

    display:flex;

    gap:8px;

    justify-content:center;

    margin-top:40px;

    flex-wrap:wrap;

}

.ms-paginacao a {

    padding:10px 14px;

    border-radius:8px;

    background:#f2f2f2;

    text-decoration:none;

    color:#333;

    font-weight:600;

}

.ms-paginacao a.ativo {

    background:#0056ff;

    color:#fff;

}



/* ============================================================================
   AVALIACOES GOOGLE - SOLMAR V0 MANUAL
============================================================================ */
.ms-google-reviews {
    background: #f7f9fc;
}

.ms-google-reviews-kicker {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--ms-cor-primaria);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ms-google-reviews-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.ms-google-review-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 22px;
    border: 1px solid #e7ebf1;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
}

.ms-google-review-head {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 14px;
}

.ms-google-review-head strong {
    color: #172033;
    font-size: 15px;
}

.ms-google-review-stars {
    color: #f4b400;
    font-size: 18px;
    letter-spacing: 1px;
}

.ms-google-review-card blockquote {
    flex: 1;
    margin: 0 0 18px;
    color: #4b5563;
    font-size: 14px;
    line-height: 1.65;
}

.ms-google-review-card a,
.ms-google-reviews-more a,
.ms-footer-google-reviews a {
    color: var(--ms-cor-primaria);
    font-weight: 700;
    text-decoration: none;
}

.ms-google-reviews-more {
    margin-top: 26px;
    text-align: center;
}

.ms-google-reviews-more a {
    display: inline-block;
    padding: 12px 20px;
    border: 1px solid currentColor;
    border-radius: 999px;
}

.ms-footer-google-reviews a {
    color: #fff;
}

@media (max-width: 980px) {
    .ms-google-reviews-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .ms-google-reviews-grid {
        grid-template-columns: 1fr;
    }

    .ms-google-review-card {
        padding: 18px;
    }
}

/* ================================================= */
/* VARIÁVEIS GLOBAIS DO MINI SITE (fallback)         */
/* ================================================= */
:root {
    --ms-cor-primaria: #4b0082;
    --ms-cor-secundaria: #1f00ff;
    --ms-cor-texto: #222222;
}

/* ===================== */
/* HEADER / TOPO         */
/* ===================== */

.ms-header-bar {
    background-color: var(--ms-cor-primaria);
}

.ms-logo-text {
    color: var(--ms-cor-texto);
    font-weight: 600;
}

.ms-nav a {
    color: var(--ms-cor-texto);
    font-weight: 500;
    text-decoration: none;
}

.ms-nav a:hover {
    opacity: 0.85;
    text-decoration: underline;
}

/* ===================== */
/* HERO (BANNER)         */
/* ===================== */

/* HERO otimizado — super leve */
.ms-hero {
    position: relative;
    height: 360px;
    width: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    background-color: var(--ms-cor-secundaria);
}

/* fundo estático */
.ms-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    will-change: opacity;
}

/* overlay sólido (zero peso) */
.ms-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.25); /* leve e elegante */
}

/* conteúdo */
.ms-hero-content {
    position: relative;
    color: #ffffff;
    padding-left: 20px;
    animation: msFadeIn 0.4s ease-out;
}

.ms-hero-label {
    background: rgba(0,0,0,0.35);
    padding: 6px 12px;
    border-radius: 20px;
    display: inline-block;
    font-size: 13px;
    margin-bottom: 10px;
}

.ms-hero h1 {
    color: #ffffff;
}

.ms-hero-sub {
    color: #f0f0f0;
}

/* animação */
@keyframes msFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* ===================== */
/* PÁGINA DO IMÓVEL      */
/* ===================== */

.ms-imovel-header {
    text-align: center;
    margin-bottom: 40px;
}

.ms-imovel-titulo {
    font-size: 32px;
    margin-bottom: 5px;
    color: var(--ms-cor-texto);
}

.ms-imovel-preco {
    font-size: 22px;
    color: var(--ms-cor-primaria);
    font-weight: bold;
}

/* ===================== */
/* GALERIA               */
/* ===================== */

.ms-galeria {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(240px,1fr));
    gap: 20px;
}

.ms-galeria img {
    width: 100%;
    border-radius: 10px;
}

/* ===================== */
/* MAPA DO MINI SITE     */
/* ===================== */

.ms-map-wrapper {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 60px auto;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0,0,0,0.08);
}

#ms-map {
    width: 100%;
    height: 480px;
    border-radius: 12px;
    overflow: hidden;
}

/* ================================================= */
/* MOBILE HEADER COMPACTO */
/* ================================================= */

@media (max-width:768px){

    .ms-header-inner{
        flex-direction:row !important;
        justify-content:space-between !important;
        align-items:center !important;
        min-height:60px;
        padding:0;
    }

    .ms-nav{
        display:none;
    }

    .ms-mobile-menu-btn{
        display:flex;
        align-items:center;
        justify-content:center;
        width:42px;
        height:42px;
        border:none;
        background:transparent;
        color:#fff;
        font-size:28px;
        cursor:pointer;
    }

    .ms-mobile-menu{
        display:none;
        background:var(--ms-cor-primaria);
        padding:12px 20px;
    }

    .ms-mobile-menu.ativo{
        display:flex;
        flex-direction:column;
        gap:12px;
    }

    .ms-mobile-menu a{
        color:#fff;
        font-size:16px;
        font-weight:500;
    }

}


/* ==========================================================================
   P5 - CORRECOES CIRURGICAS DE PERFORMANCE/ESTABILIDADE
   ========================================================================== */
.ms-logo img,
.ms-logo-link img {
    height:44px;
    width:auto !important;
    max-width:min(100%, 320px);
    object-fit:contain;
}
@media (max-width:768px){
    .ms-logo img,
    .ms-logo-link img {
        height:44px;
        width:auto !important;
        max-width:calc(100vw - 84px);
    }
}
