@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200;300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Bodoni:ital,wght@0,400..700;1,400..700&display=swap');


:root{
  --p-primary:#012639;
  --p-secondary:#0093c9;
  --p-success:#198754;
  --p-danger:#dc3545;
  --p-warning:#ffc107;
  --p-dourado:#ac8947;
  --p-info:#999999;
  --p-light:#ffffff;
  --p-dark:#000;

  --p-body-bg:#fefefe;
  --p-body-color:var(--p-dark);

  --p-border:#dee2e6;
  --p-radius:.5rem;

  --p-sp-0:0;
  --p-sp-1:.25rem;
  --p-sp-2:.5rem;
  --p-sp-3:1rem;
  --p-sp-4:1.5rem;
  --p-sp-5:2.5rem;
  --p-sp-6:6rem;
  --p-sp-8:8.5rem;

  --p-gutter-x:1.5rem;
  --p-gutter-y:0;
  --p-container-padding-x:1rem;

  --p-btn-padding-y:0;
  --p-btn-padding-x:0;
  --p-btn-font:inherit;


  --p-container-minimo:90%;
  --p-container-sm:90%;
  --p-container-md:90%;
  --p-container-lg:90%;
  --p-container-xl:90%;
  --p-container-xxl:90%;

  --p-font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  --p-font-family-decorative: "Libre Bodoni", serif;
  --p-btn-font: var(--p-font-family);
}

html{box-sizing:border-box}
*,*::before,*::after{box-sizing:inherit}
body {
  margin: 0;
  background: var(--p-body-bg);
  color: var(--p-body-color);

  font-size: clamp(14px, .8rem + 0.3vw, 16px);
  line-height: 1.6;
  font-family: var(--p-font-family);
}



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

.stretched-link::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 99999;
    pointer-events: auto;
    content: "";
    background-color: rgba(0, 0, 0, 0);
    width: 100%;
    height: 100%;
}


/* Containers */
.container,
.container-sm,.container-md,.container-lg,.container-xl,.container-xxl{
  width:var(--p-container-minimo);padding-right:var(--p-container-padding-x);padding-left:var(--p-container-padding-x);margin-right:auto;margin-left:auto
}
@media (min-width:576px){.container,.container-sm{max-width:var(--p-container-sm)}}
@media (min-width:768px){.container,.container-md{max-width:var(--p-container-md)}}
@media (min-width:992px){.container,.container-lg{max-width:var(--p-container-lg)}}
@media (min-width:1200px){.container,.container-xl{max-width:var(--p-container-xl)}}
@media (min-width:1400px){.container,.container-xxl{max-width:var(--p-container-xxl)}}

/* Grid (flex) */
.row{
  --g-x:var(--p-gutter-x);
  --g-y:var(--p-gutter-y);
  display:flex;flex-wrap:wrap;margin-top:calc(-1*var(--g-y));margin-right:calc(-.5*var(--g-x));margin-left:calc(-.5*var(--g-x));
}
.row>*{position:relative;flex:0 0 auto;width:100%;padding-right:calc(.5*var(--g-x));padding-left:calc(.5*var(--g-x));margin-top:var(--g-y)}

/* Gerador de colunas base (.col e .col-1..12) */
.col{flex:1 0 0%}
.col-1{flex:0 0 auto;width:8.333333%}
.col-2{width:16.666667%}
.col-3{width:25%}
.col-4{width:33.333333%}
.col-5{width:41.666667%}
.col-6{width:50%}
.col-7{width:58.333333%}
.col-8{width:66.666667%}
.col-9{width:75%}
.col-10{width:83.333333%}
.col-11{width:91.666667%}
.col-12{width:100%}

/* Breakpoints */
@media (min-width:576px){
  .col-sm{flex:1 0 0%}
  .col-sm-1{width:8.333333%}.col-sm-2{width:16.666667%}.col-sm-3{width:25%}.col-sm-4{width:33.333333%}.col-sm-5{width:41.666667%}.col-sm-6{width:50%}
  .col-sm-7{width:58.333333%}.col-sm-8{width:66.666667%}.col-sm-9{width:75%}.col-sm-10{width:83.333333%}.col-sm-11{width:91.666667%}.col-sm-12{width:100%}
}
@media (min-width:768px){
  .col-md{flex:1 0 0%}
  .col-md-1{width:8.333333%}.col-md-2{width:16.666667%}.col-md-3{width:25%}.col-md-4{width:33.333333%}.col-md-5{width:41.666667%}.col-md-6{width:50%}
  .col-md-7{width:58.333333%}.col-md-8{width:66.666667%}.col-md-9{width:75%}.col-md-10{width:83.333333%}.col-md-11{width:91.666667%}.col-md-12{width:100%}
}
@media (min-width:992px){
  .col-lg{flex:1 0 0%}
  .col-lg-1{width:8.333333%}.col-lg-2{width:16.666667%}.col-lg-3{width:25%}.col-lg-4{width:33.333333%}.col-lg-5{width:41.666667%}.col-lg-6{width:50%}
  .col-lg-7{width:58.333333%}.col-lg-8{width:66.666667%}.col-lg-9{width:75%}.col-lg-10{width:83.333333%}.col-lg-11{width:91.666667%}.col-lg-12{width:100%}
}
@media (min-width:1200px){
  .col-xl{flex:1 0 0%}
  .col-xl-1{width:8.333333%}.col-xl-2{width:16.666667%}.col-xl-3{width:25%}.col-xl-4{width:33.333333%}.col-xl-5{width:41.666667%}.col-xl-6{width:50%}
  .col-xl-7{width:58.333333%}.col-xl-8{width:66.666667%}.col-xl-9{width:75%}.col-xl-10{width:83.333333%}.col-xl-11{width:91.666667%}.col-xl-12{width:100%}
}
@media (min-width:1400px){
  .col-xxl{flex:1 0 0%}
  .col-xxl-1{width:8.333333%}.col-xxl-2{width:16.666667%}.col-xxl-3{width:25%}.col-xxl-4{width:33.333333%}.col-xxl-5{width:41.666667%}.col-xxl-6{width:50%}
  .col-xxl-7{width:58.333333%}.col-xxl-8{width:66.666667%}.col-xxl-9{width:75%}.col-xxl-10{width:83.333333%}.col-xxl-11{width:91.666667%}.col-xxl-12{width:100%}
}

/* Gutters utilitários (g-0..g-5) */
.g-0{--g-x:0;--g-y:0}
.g-1{--g-x:var(--p-sp-1);--g-y:var(--p-sp-1)}
.g-2{--g-x:var(--p-sp-2);--g-y:var(--p-sp-2)}
.g-3{--g-x:var(--p-sp-3);--g-y:var(--p-sp-3)}
.g-4{--g-x:var(--p-sp-4);--g-y:var(--p-sp-4)}
.g-5{--g-x:var(--p-sp-5);--g-y:var(--p-sp-5)}
/* Gutters por eixo (gx, gy) */
.gx-0{--g-x:0}
.gx-1{--g-x:var(--p-sp-1)}
.gx-2{--g-x:var(--p-sp-2)}
.gx-3{--g-x:var(--p-sp-3)}
.gx-4{--g-x:var(--p-sp-4)}
.gx-5{--g-x:var(--p-sp-5)}
.gx-6{--g-x:var(--p-sp-6)}

.gy-0{--g-y:0}
.gy-1{--g-y:var(--p-sp-1)}
.gy-2{--g-y:var(--p-sp-2)}
.gy-3{--g-y:var(--p-sp-3)}
.gy-4{--g-y:var(--p-sp-4)}
.gy-5{--g-y:var(--p-sp-5)}
.gy-6{--g-y:var(--p-sp-6)}



/* Spacing (m|p, t|b|s|e|x|y, 0..5) */
[class^="m-"],[class*=" m-"],[class^="p-"],[class*=" p-"]{}
.m-0{margin:var(--p-sp-0)!important}.m-1{margin:var(--p-sp-1)!important}.m-2{margin:var(--p-sp-2)!important}.m-3{margin:var(--p-sp-3)!important}.m-4{margin:var(--p-sp-4)!important}.m-5{margin:var(--p-sp-5)!important}
.mt-0{margin-top:var(--p-sp-0)!important}.mt-1{margin-top:var(--p-sp-1)!important}.mt-2{margin-top:var(--p-sp-2)!important}.mt-3{margin-top:var(--p-sp-3)!important}.mt-4{margin-top:var(--p-sp-4)!important}.mt-5{margin-top:var(--p-sp-5)!important}.mt-6{margin-top:var(--p-sp-6)!important}.mt-8{margin-top:var(--p-sp-8)!important}
.mb-0{margin-bottom:var(--p-sp-0)!important}.mb-1{margin-bottom:var(--p-sp-1)!important}.mb-2{margin-bottom:var(--p-sp-2)!important}.mb-3{margin-bottom:var(--p-sp-3)!important}.mb-4{margin-bottom:var(--p-sp-4)!important}.mb-5{margin-bottom:var(--p-sp-5)!important}.mb-6{margin-bottom:var(--p-sp-6)!important}.mb-8{margin-bottom:var(--p-sp-8)!important}
.ms-0{margin-left:var(--p-sp-0)!important}.ms-1{margin-left:var(--p-sp-1)!important}.ms-2{margin-left:var(--p-sp-2)!important}.ms-3{margin-left:var(--p-sp-3)!important}.ms-4{margin-left:var(--p-sp-4)!important}.ms-5{margin-left:var(--p-sp-5)!important}
.me-0{margin-right:var(--p-sp-0)!important}.me-1{margin-right:var(--p-sp-1)!important}.me-2{margin-right:var(--p-sp-2)!important}.me-3{margin-right:var(--p-sp-3)!important}.me-4{margin-right:var(--p-sp-4)!important}.me-5{margin-right:var(--p-sp-5)!important}
.mx-0{margin-right:var(--p-sp-0)!important;margin-left:var(--p-sp-0)!important}
.mx-1{margin-right:var(--p-sp-1)!important;margin-left:var(--p-sp-1)!important}
.mx-2{margin-right:var(--p-sp-2)!important;margin-left:var(--p-sp-2)!important}
.mx-3{margin-right:var(--p-sp-3)!important;margin-left:var(--p-sp-3)!important}
.mx-4{margin-right:var(--p-sp-4)!important;margin-left:var(--p-sp-4)!important}
.mx-5{margin-right:var(--p-sp-5)!important;margin-left:var(--p-sp-5)!important}
.my-0{margin-top:var(--p-sp-0)!important;margin-bottom:var(--p-sp-0)!important}
.my-1{margin-top:var(--p-sp-1)!important;margin-bottom:var(--p-sp-1)!important}
.my-2{margin-top:var(--p-sp-2)!important;margin-bottom:var(--p-sp-2)!important}
.my-3{margin-top:var(--p-sp-3)!important;margin-bottom:var(--p-sp-3)!important}
.my-4{margin-top:var(--p-sp-4)!important;margin-bottom:var(--p-sp-4)!important}
.my-5{margin-top:var(--p-sp-5)!important;margin-bottom:var(--p-sp-5)!important}
.my-6{margin-top:var(--p-sp-6)!important;margin-bottom:var(--p-sp-6)!important}
.my-8{margin-top:var(--p-sp-8)!important;margin-bottom:var(--p-sp-8)!important}

.p-0{padding:var(--p-sp-0)!important}.p-1{padding:var(--p-sp-1)!important}.p-2{padding:var(--p-sp-2)!important}.p-3{padding:var(--p-sp-3)!important}.p-4{padding:var(--p-sp-4)!important}.p-5{padding:var(--p-sp-5)!important}.p-6{padding:var(--p-sp-6)!important}
.pt-0{padding-top:var(--p-sp-0)!important}.pt-1{padding-top:var(--p-sp-1)!important}.pt-2{padding-top:var(--p-sp-2)!important}.pt-3{padding-top:var(--p-sp-3)!important}.pt-4{padding-top:var(--p-sp-4)!important}.pt-5{padding-top:var(--p-sp-5)!important}.pt-6{padding-top:var(--p-sp-6)!important}
.pb-0{padding-bottom:var(--p-sp-0)!important}.pb-1{padding-bottom:var(--p-sp-1)!important}.pb-2{padding-bottom:var(--p-sp-2)!important}.pb-3{padding-bottom:var(--p-sp-3)!important}.pb-4{padding-bottom:var(--p-sp-4)!important}.pb-5{padding-bottom:var(--p-sp-5)!important}.pb-6{padding-bottom:var(--p-sp-6)!important}
.ps-0{padding-left:var(--p-sp-0)!important}.ps-1{padding-left:var(--p-sp-1)!important}.ps-2{padding-left:var(--p-sp-2)!important}.ps-3{padding-left:var(--p-sp-3)!important}.ps-4{padding-left:var(--p-sp-4)!important}.ps-5{padding-left:var(--p-sp-5)!important}.ps-6{padding-left:var(--p-sp-6)!important}
.pe-0{padding-right:var(--p-sp-0)!important}.pe-1{padding-right:var(--p-sp-1)!important}.pe-2{padding-right:var(--p-sp-2)!important}.pe-3{padding-right:var(--p-sp-3)!important}.pe-4{padding-right:var(--p-sp-4)!important}.pe-5{padding-right:var(--p-sp-5)!important}.pe-6{padding-right:var(--p-sp-6)!important}
.px-0{padding-right:var(--p-sp-0)!important;padding-left:var(--p-sp-0)!important}
.px-1{padding-right:var(--p-sp-1)!important;padding-left:var(--p-sp-1)!important}
.px-2{padding-right:var(--p-sp-2)!important;padding-left:var(--p-sp-2)!important}
.px-3{padding-right:var(--p-sp-3)!important;padding-left:var(--p-sp-3)!important}
.px-4{padding-right:var(--p-sp-4)!important;padding-left:var(--p-sp-4)!important}
.px-5{padding-right:var(--p-sp-5)!important;padding-left:var(--p-sp-5)!important}
.px-6{padding-right:var(--p-sp-6)!important;padding-left:var(--p-sp-6)!important}
.py-0{padding-top:var(--p-sp-0)!important;padding-bottom:var(--p-sp-0)!important}
.py-1{padding-top:var(--p-sp-1)!important;padding-bottom:var(--p-sp-1)!important}
.py-2{padding-top:var(--p-sp-2)!important;padding-bottom:var(--p-sp-2)!important}
.py-3{padding-top:var(--p-sp-3)!important;padding-bottom:var(--p-sp-3)!important}
.py-4{padding-top:var(--p-sp-4)!important;padding-bottom:var(--p-sp-4)!important}
.py-5{padding-top:var(--p-sp-5)!important;padding-bottom:var(--p-sp-5)!important}
.py-6{padding-top:var(--p-sp-6)!important;padding-bottom:var(--p-sp-6)!important}

@media (min-width:992px){
  .py-lg-6{padding-top:var(--p-sp-6)!important;padding-bottom:var(--p-sp-6)!important}
}

/* Display utilities — base */
.d-none{display:none!important}
.d-inline{display:inline!important}
.d-inline-block{display:inline-block!important}
.d-block{display:block!important}
.d-flex{display:flex!important}
.d-inline-flex{display:inline-flex!important}
.d-grid{display:grid!important}
.d-table{display:table!important}

/* Breakpoints */
@media (min-width:576px){
  .d-sm-none{display:none!important}
  .d-sm-inline{display:inline!important}
  .d-sm-inline-block{display:inline-block!important}
  .d-sm-block{display:block!important}
  .d-sm-flex{display:flex!important}
  .d-sm-inline-flex{display:inline-flex!important}
  .d-sm-grid{display:grid!important}
  .d-sm-table{display:table!important}
}
@media (min-width:768px){
  .d-md-none{display:none!important}
  .d-md-inline{display:inline!important}
  .d-md-inline-block{display:inline-block!important}
  .d-md-block{display:block!important}
  .d-md-flex{display:flex!important}
  .d-md-inline-flex{display:inline-flex!important}
  .d-md-grid{display:grid!important}
  .d-md-table{display:table!important}
}
@media (min-width:992px){
  .d-lg-none{display:none!important}
  .d-lg-inline{display:inline!important}
  .d-lg-inline-block{display:inline-block!important}
  .d-lg-block{display:block!important}
  .d-lg-flex{display:flex!important}
  .d-lg-inline-flex{display:inline-flex!important}
  .d-lg-grid{display:grid!important}
  .d-lg-table{display:table!important}
}
@media (min-width:1200px){
  .d-xl-none{display:none!important}
  .d-xl-inline{display:inline!important}
  .d-xl-inline-block{display:inline-block!important}
  .d-xl-block{display:block!important}
  .d-xl-flex{display:flex!important}
  .d-xl-inline-flex{display:inline-flex!important}
  .d-xl-grid{display:grid!important}
  .d-xl-table{display:table!important}
}
@media (min-width:1400px){
  .d-xxl-none{display:none!important}
  .d-xxl-inline{display:inline!important}
  .d-xxl-inline-block{display:inline-block!important}
  .d-xxl-block{display:block!important}
  .d-xxl-flex{display:flex!important}
  .d-xxl-inline-flex{display:inline-flex!important}
  .d-xxl-grid{display:grid!important}
  .d-xxl-table{display:table!important}
}

/* Flex helpers */
.flex-fill{flex:1 1 auto}.flex-grow-1{flex-grow:1}.flex-shrink-0{flex-shrink:0}
.flex-row{flex-direction:row}.flex-column{flex-direction:column}
.justify-content-start{justify-content:flex-start}.justify-content-center{justify-content:center}.justify-content-between{justify-content:space-between}.justify-content-end{justify-content:flex-end}
.align-items-start{align-items:flex-start}.align-items-center{align-items:center}.align-items-end{align-items:flex-end}
.gap-1{gap:var(--p-sp-1)}.gap-2{gap:var(--p-sp-2)}.gap-3{gap:var(--p-sp-3)}.gap-4{gap:var(--p-sp-4)}.gap-5{gap:var(--p-sp-5)}

/* Position */
.position-static{position:static!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}.bottom-0{bottom:0}.start-0{left:0}.end-0{right:0}
.translate-middle{transform:translate(-50%,-50%)}

/* Text & misc */
.text-start{text-align:left!important}.text-center{text-align:center!important}.text-end{text-align:right!important}
.fw-bold{font-weight:700!important}.fw-semibold{font-weight:600!important}.fw-normal{font-weight:400!important}
.text-muted{color:#6c757d!important}
.text-uppercase{text-transform: uppercase;}
.text-primary{color:var(--p-primary)!important}.bg-primary{background-color:var(--p-primary)!important}
.text-secondary{color:var(--p-secondary)!important}.bg-secondary{background-color:var(--p-secondary)!important}
.text-success{color:var(--p-success)!important}.bg-success{background-color:var(--p-success)!important}
.text-danger{color:var(--p-danger)!important}.bg-danger{background-color:var(--p-danger)!important}
.text-warning{color:#664d03!important}.bg-warning{background-color:var(--p-warning)!important}
.text-info{color:#055160!important}.bg-info{background-color:var(--p-info)!important}
.text-light{color:var(--p-light)!important}.bg-light{background-color:var(--p-light)!important;}
.text-dark{color:#fff!important}.bg-dark{background-color:var(--p-dark)!important}

/* Headings */
h1, h2, h3, h4, h5, h6{
  margin-top:0;
  margin-bottom:.5em;
  font-family:var(--p-font-family);
  font-weight:200;
  line-height:1.25;
  color:inherit;
}

/* Tamanhos (fluido com clamp) + utilitários .h1.. .h6 */
h1, .h1{ font-size:clamp(2rem, 1.2rem + 2.5vw, 3rem) }
h2, .h2{ font-size:clamp(1.75rem, 1.1rem + 1.8vw, 2.5rem) }
h3, .h3{ font-size:clamp(1.5rem, 1rem + 1.2vw, 2rem) }
h4, .h4{ font-size:clamp(1.25rem, .95rem + .8vw, 1.5rem) }
h5, .h5{ font-size:1.125rem }
h6, .h6{ font-size:1rem }

/* Variante decorativa (Bodoni) */
.h-decor, .heading-decorative{
  font-family:var(--p-font-family-decorative);
  font-style:italic;
  letter-spacing:.5px;
  font-weight:400;
}


/* Borders & radius */
.border{border:1px solid var(--p-border)!important}
.border-bottom{border-bottom: 1px solid var(--p-border)!important}
.border-0{border:0!important}
.rounded{border-radius:var(--p-radius)!important}
.rounded-0{border-radius:0!important}

/* Botão base */
.btn{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:var(--p-btn-padding-y) var(--p-btn-padding-x);
  font-family:var(--p-btn-font);
  font-weight:500;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  border:none;
  transition: all .4s ease;
  user-select:none;
  background:transparent;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.btn:disabled{opacity:.65;pointer-events:none}
.btn:active{transform:translateY(1px)}

/* Variantes */
.btn-on-dark{ color:#fff; }
.btn-on-light{ color:var(--p-dark); }

/* Helper para seta externa */
.btn-arrow::after{
  content:"";
  display:inline-block;
  width:.8em;
  height:.8em;
  margin-left:.1rem;
  background-image:url("../svg/seta-botao.svg");
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  transition:all .4s ease;
}
.btn-arrow:hover::after{
  width:.8em;
  height:.8em;
  transform: rotate(45deg);
}

.btn-arrow-mask::after {
    content: "";
    display: inline-block;
    width: .8em;
    height: .8em;
    margin-left: .1rem;
    mask-image: url(../svg/seta-botao.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: all .4s ease;
    background-color: #000;
    mask-repeat: no-repeat;
    mask-size: contain;
}
.btn-arrow-mask:hover::after{
  width:.8em;
  height:.8em;
  transform: rotate(45deg);
}



/* Forms (essenciais) */
.form-control{
  display:block;width:100%;padding:.75rem 0;color:var(--p-light);background:none;border:none;border-bottom:1px solid var(--p-border); transition: all .2s;
}
.form-control::placeholder {
    font-size: 14px;
    text-transform: uppercase;
    font-family: var(--p-font-family);
    padding-left: 2px !important;
    color: var(--p-dark);
    letter-spacing: 1px;
    font-weight:500;
  }
.form-control:focus{outline:0;border-color:var(--p-dark);}

.form-select{
  display:block;width:100%;padding:.75rem 0;color:var(--p-dark);background:none;border:none;border-bottom:1px solid var(--p-border); transition: all .2s;text-transform: uppercase;
    font-family: var(--p-font-family);
    font-size: 14px;
    letter-spacing: 1px;
    font-weight:500;
}

/* Utilitário container-fluid */
.container-fluid{width:100%;padding-right:var(--p-container-padding-x);padding-left:var(--p-container-padding-x);margin-right:auto;margin-left:auto}

/* Background utilities */
.bg-primary   { background-color: var(--p-primary)   !important; color:#fff }
.bg-secondary { background-color: var(--p-secondary)!important; color:#fff }
.bg-success   { background-color: var(--p-success)  !important; color:#fff }
.bg-danger    { background-color: var(--p-danger)   !important; color:#fff }
.bg-warning   { background-color: var(--p-warning)  !important; color:#000 }
.bg-info      { background-color: var(--p-info)     !important; color:#000 }
.bg-light     { background-color: var(--p-light)    !important; color:#000 }
.bg-dark      { background-color: var(--p-dark)     !important; color:#fff }
.bg-dourado      { background-color: var(--p-dourado)     !important; color:var(--p-dark) }

/* Text size utilities */
.text-xs   { font-size: .75rem !important; }   /* bem pequeno */
.text-sm   { font-size: .875rem !important; }  /* pequeno */
.text-base { font-size: 1rem !important; }     /* padrão */
.text-lg   { font-size: 1.25rem !important; }  /* grande */
.text-xl   { font-size: 1.5rem !important; }   /* extra grande */
.text-2xl  { font-size: 2rem !important; }
.text-3xl  { font-size: 2.5rem !important; }
.text-4xl  { font-size: 3rem !important; }

/* Dimension utilities (largura e altura) */
.w-25   { width:25% !important; }
.w-30   { width:30% !important; }
.w-40   { width:40% !important; }
.w-50   { width:50% !important; }
.w-75   { width:75% !important; }
.w-100  { width:100% !important; }
.w-auto { width:auto !important; }

/* === Responsividade === */

/* Small ≥576px */
@media (min-width: 576px) {
  .w-sm-25   { width:25% !important; }
  .w-sm-30   { width:30% !important; }
  .w-sm-40   { width:40% !important; }
  .w-sm-50   { width:50% !important; }
  .w-sm-75   { width:75% !important; }
  .w-sm-100  { width:100% !important; }
  .w-sm-auto { width:auto !important; }
}

/* Medium ≥768px */
@media (min-width: 768px) {
  .w-md-25   { width:25% !important; }
  .w-md-30   { width:30% !important; }
  .w-md-40   { width:40% !important; }
  .w-md-50   { width:50% !important; }
  .w-md-75   { width:75% !important; }
  .w-md-100  { width:100% !important; }
  .w-md-auto { width:auto !important; }
}

/* Large ≥992px */
@media (min-width: 992px) {
  .w-lg-25   { width:25% !important; }
  .w-lg-30   { width:30% !important; }
  .w-lg-40   { width:40% !important; }
  .w-lg-50   { width:50% !important; }
  .w-lg-75   { width:75% !important; }
  .w-lg-100  { width:100% !important; }
  .w-lg-auto { width:auto !important; }
}

/* Extra Large ≥1200px */
@media (min-width: 1200px) {
  .w-xl-25   { width:25% !important; }
  .w-xl-30   { width:30% !important; }
  .w-xl-40   { width:40% !important; }
  .w-xl-50   { width:50% !important; }
  .w-xl-75   { width:75% !important; }
  .w-xl-100  { width:100% !important; }
  .w-xl-auto { width:auto !important; }
}

/* Extra Extra Large ≥1400px */
@media (min-width: 1400px) {
  .w-xxl-25   { width:25% !important; }
  .w-xxl-30   { width:30% !important; }
  .w-xxl-40   { width:40% !important; }
  .w-xxl-50   { width:50% !important; }
  .w-xxl-75   { width:75% !important; }
  .w-xxl-100  { width:100% !important; }
  .w-xxl-auto { width:auto !important; }
}


.h-25   { height:25% !important; }
.h-50   { height:50% !important; }
.h-75   { height:75% !important; }
.h-100  { height:100% !important; }
.h-auto { height:auto !important; }

/* Viewport-based */
.vw-100 { width:100vw !important; }
.vh-100 { height:100vh !important; }
.min-vw-100 { min-width:100vw !important; }
.min-vh-100 { min-height:100vh !important; }
.max-vw-100 { max-width:100vw !important; }
.max-vh-100 { max-height:100vh !important; }


/* =========================
   Order utilities (Flex only)
   ========================= */
.order-first{ order:-1!important; }
.order-last { order:9999!important; }
.order-0{ order:0!important; }
.order-1{ order:1!important; }
.order-2{ order:2!important; }
.order-3{ order:3!important; }
.order-4{ order:4!important; }
.order-5{ order:5!important; }
.order-6{ order:6!important; }
.order-7{ order:7!important; }
.order-8{ order:8!important; }
.order-9{ order:9!important; }
.order-10{ order:10!important; }
.order-11{ order:11!important; }
.order-12{ order:12!important; }

/* Breakpoints */
@media (min-width:576px){
  .order-sm-first{ order:-1!important; }
  .order-sm-last { order:9999!important; }
  .order-sm-0{ order:0!important; }
  .order-sm-1{ order:1!important; }
  .order-sm-2{ order:2!important; }
  .order-sm-3{ order:3!important; }
  .order-sm-4{ order:4!important; }
  .order-sm-5{ order:5!important; }
  .order-sm-6{ order:6!important; }
  .order-sm-7{ order:7!important; }
  .order-sm-8{ order:8!important; }
  .order-sm-9{ order:9!important; }
  .order-sm-10{ order:10!important; }
  .order-sm-11{ order:11!important; }
  .order-sm-12{ order:12!important; }
}
@media (min-width:768px){
  .order-md-first{ order:-1!important; }
  .order-md-last { order:9999!important; }
  .order-md-0{ order:0!important; }
  .order-md-1{ order:1!important; }
  .order-md-2{ order:2!important; }
  .order-md-3{ order:3!important; }
  .order-md-4{ order:4!important; }
  .order-md-5{ order:5!important; }
  .order-md-6{ order:6!important; }
  .order-md-7{ order:7!important; }
  .order-md-8{ order:8!important; }
  .order-md-9{ order:9!important; }
  .order-md-10{ order:10!important; }
  .order-md-11{ order:11!important; }
  .order-md-12{ order:12!important; }
}
@media (min-width:992px){
  .order-lg-first{ order:-1!important; }
  .order-lg-last { order:9999!important; }
  .order-lg-0{ order:0!important; }
  .order-lg-1{ order:1!important; }
  .order-lg-2{ order:2!important; }
  .order-lg-3{ order:3!important; }
  .order-lg-4{ order:4!important; }
  .order-lg-5{ order:5!important; }
  .order-lg-6{ order:6!important; }
  .order-lg-7{ order:7!important; }
  .order-lg-8{ order:8!important; }
  .order-lg-9{ order:9!important; }
  .order-lg-10{ order:10!important; }
  .order-lg-11{ order:11!important; }
  .order-lg-12{ order:12!important; }
}
@media (min-width:1200px){
  .order-xl-first{ order:-1!important; }
  .order-xl-last { order:9999!important; }
  .order-xl-0{ order:0!important; }
  .order-xl-1{ order:1!important; }
  .order-xl-2{ order:2!important; }
  .order-xl-3{ order:3!important; }
  .order-xl-4{ order:4!important; }
  .order-xl-5{ order:5!important; }
  .order-xl-6{ order:6!important; }
  .order-xl-7{ order:7!important; }
  .order-xl-8{ order:8!important; }
  .order-xl-9{ order:9!important; }
  .order-xl-10{ order:10!important; }
  .order-xl-11{ order:11!important; }
  .order-xl-12{ order:12!important; }
}
@media (min-width:1400px){
  .order-xxl-first{ order:-1!important; }
  .order-xxl-last { order:9999!important; }
  .order-xxl-0{ order:0!important; }
  .order-xxl-1{ order:1!important; }
  .order-xxl-2{ order:2!important; }
  .order-xxl-3{ order:3!important; }
  .order-xxl-4{ order:4!important; }
  .order-xxl-5{ order:5!important; }
  .order-xxl-6{ order:6!important; }
  .order-xxl-7{ order:7!important; }
  .order-xxl-8{ order:8!important; }
  .order-xxl-9{ order:9!important; }
  .order-xxl-10{ order:10!important; }
  .order-xxl-11{ order:11!important; }
  .order-xxl-12{ order:12!important; }
}






