/* =========
   Página História do ISVC
========= */
/* =========
   HERO HISTÓRIA
========= */

.history-hero{
  position: relative;
  min-height: 520px;

  display: flex;
  align-items: center;

  padding-top: 120px;
  overflow: hidden;

  background:
    url("images/fundo-historia.png") center center / cover no-repeat;
}

.history-hero-overlay{
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      to bottom,
      rgba(5, 51, 9, 0.45),
      rgba(0,0,0,.45)
    ),
    url("images/fundo-historia.png") center center / cover no-repeat;
}

.history-hero{
  position: relative;
  min-height: 520px;

  display: flex;
  align-items: center;

  padding-top: 120px;
  overflow: hidden;

  background:
    url("images/fundo-historia.png") center center / cover no-repeat;
}

.history-hero-overlay{
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      to bottom,
      rgba(5, 51, 9, 0.45),
      rgba(0,0,0,.45)
    ),
    url("images/fundo-historia.png") center center / cover no-repeat;
}

.history-hero-content{
  position: relative;
  z-index: 2;

  max-width: 760px;
  color: #fff;
}

.history-eyebrow{
  display: inline-block;

  padding: 7px 16px;
  border-radius: 999px;

  background: rgba(255,255,255,.14);

  color: #d7ffd3;

  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;

  margin-bottom: 18px;
}

.history-hero h1{
  font-size: clamp(42px, 6vw, 78px);
  line-height: .95;

  margin-bottom: 18px;

  color: #fff;

  font-family: Calibri;
}

.history-hero p{
  font-size: 18px;
  line-height: 1.7;

  color: rgba(255,255,255,.88);

  max-width: 60ch;
}

/* MOBILE */

@media (max-width: 768px){

  .history-hero{
    min-height: 420px;

    padding-top: 140px;

    background-position: center;
  }

  .history-hero h1{
    font-size: 46px;
  }

  .history-hero p{
    font-size: 15px;
  }

}

/* =========
   HERO PERGUNTAS
========= */

.perguntas-hero{
  position: relative;
  min-height: 520px;

  display: flex;
  align-items: center;

  padding-top: 120px;
  overflow: hidden;

  background:
    url("images/fundo-perguntas.png") center center / cover no-repeat;
}

.perguntas-hero-overlay{
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      to bottom,
      rgba(5, 51, 9, 0.45),
      rgba(0,0,0,.45)
    ),
    url("images/fundo-perguntas.png") center center / cover no-repeat;
}

.perguntas-hero-content{
  position: relative;
  z-index: 2;

  max-width: 760px;
  color: #fff;
}

.perguntas-eyebrow{
  display: inline-block;

  padding: 7px 16px;
  border-radius: 999px;

  background: rgba(255,255,255,.14);

  color: #d7ffd3;

  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;

  margin-bottom: 18px;
}

.perguntas-hero h1{
  font-size: clamp(42px, 6vw, 78px);
  line-height: .95;

  margin-bottom: 18px;

  color: #fff;

  font-family: Calibri;
}

.perguntas-hero p{
  font-size: 18px;
  line-height: 1.7;

  color: rgba(255,255,255,.88);

  max-width: 60ch;
}

/* MOBILE */

@media (max-width: 768px){

  .perguntas-hero{
    min-height: 420px;

    padding-top: 140px;

    background-position: center;
  }

  .perguntas-hero h1{
    font-size: 46px;
  }

  .perguntas-hero p{
    font-size: 15px;
  }

}

/* =========
   HERO COMISSAO
========= */

.comissao-hero{
  position: relative;
  min-height: 520px;

  display: flex;
  align-items: center;

  padding-top: 120px;
  overflow: hidden;

  background:
    url("images/fundo-comissao.png") center center / cover no-repeat;
}

.comissao-hero-overlay{
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      to bottom,
      rgba(5, 51, 9, 0.45),
      rgba(0,0,0,.45)
    ),
    url("images/fundo-comissao.png") center center / cover no-repeat;
}

.comissao-hero-content{
  position: relative;
  z-index: 2;

  max-width: 760px;
  color: #fff;
}

.comissao-eyebrow{
  display: inline-block;

  padding: 7px 16px;
  border-radius: 999px;

  background: rgba(255,255,255,.14);

  color: #d7ffd3;

  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;

  margin-bottom: 18px;
}

.comissao-hero h1{
  font-size: clamp(42px, 6vw, 78px);
  line-height: .95;

  margin-bottom: 18px;

  color: #fff;

  font-family: Calibri;
}

.comissao-hero p{
  font-size: 18px;
  line-height: 1.7;

  color: rgba(255,255,255,.88);

  max-width: 60ch;
}

/* MOBILE */

@media (max-width: 768px){

  .comissao-hero{
    min-height: 420px;

    padding-top: 140px;

    background-position: center;
  }

  .comissao-hero h1{
    font-size: 46px;
  }

  .comissao-hero p{
    font-size: 15px;
  }

}

/* =========
   HERO VISTOS
========= */


    .visa-download-card{
      margin-top: 26px;
      padding: 30px;
      border-radius: 30px;
      background:
        radial-gradient(560px 260px at 90% 10%, rgba(123,189,90,.22), transparent 60%),
        linear-gradient(135deg, rgba(22,82,38,.96), rgba(42,124,72,.92));
      color: #fff;
      box-shadow: 0 22px 60px rgba(2,6,23,.16);
      border: 1px solid rgba(255,255,255,.20);
      overflow: hidden;
      position: relative;
    }

    .visa-download-card::after{
      content:"";
      position:absolute;
      inset:18px;
      border-radius:24px;
      border:1px solid rgba(255,255,255,.22);
      pointer-events:none;
    }

    .vistos-hero-overlay{
      position: absolute;
      inset: 0;

      background:
        linear-gradient(
          to bottom,
          rgba(5, 51, 9, 0.45),
          rgba(0,0,0,.45)
        ),
        url("images/fundo-vistos.png") center center / cover no-repeat;
    }
    .visa-download-card h3{
      color:#fff;
      font-family: Calibri, "Plus Jakarta Sans", sans-serif;
      font-size: clamp(24px, 3vw, 38px);
      line-height: 1.08;
      margin-bottom: 12px;
      position: relative;
      z-index: 1;
    }

    .visa-download-card p{
      color: rgba(255,255,255,.86);
      font-size: 16px;
      line-height: 1.75;
      max-width: 70ch;
      position: relative;
      z-index: 1;
    }

    .visa-download-actions{
      display:flex;
      gap: 14px;
      flex-wrap: wrap;
      margin-top: 22px;
      position: relative;
      z-index: 1;
    }

    .visa-download-button{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap: 10px;
      padding: 14px 22px;
      border-radius: 999px;
      background: #ddb205;
      color: #17361d;
      font-weight: 900;
      font-size: 15px;
      box-shadow: 0 14px 30px rgba(0,0,0,.20);
      border: 1px solid rgba(255,255,255,.45);
      transition: transform .15s ease, filter .2s ease;
    }

    .visa-download-button:hover{
      transform: translateY(-2px);
      filter: brightness(1.04);
    }

    .visa-official-link{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding: 14px 18px;
      border-radius: 999px;
      color:#fff;
      font-weight: 800;
      border: 1px solid rgba(255,255,255,.36);
      background: rgba(255,255,255,.10);
      transition: background .2s ease, transform .15s ease;
    }

    .visa-official-link:hover{
      background: rgba(255,255,255,.18);
      transform: translateY(-2px);
    }

    .visa-note-list{
      margin: 20px 0 0;
      padding-left: 20px;
      color:#465268;
      line-height: 1.85;
    }

    .visa-note-list li{
      margin-bottom: 10px;
    }

    @media (max-width: 720px){
      .visa-download-card{
        padding: 24px;
      }

      .visa-download-actions{
        flex-direction: column;
      }

      .visa-download-button,
      .visa-official-link{
        width: 100%;
        text-align: center;
      }
    }






:root{
  --history-green:#165226;
  --history-green-2:#2a7c48;
  --history-light:#eef6ea;
  --history-gold:#ddb205;
}

body.history-page{
  background:
    radial-gradient(900px 520px at 12% 12%, rgba(123,189,90,.16), transparent 58%),
    radial-gradient(760px 460px at 92% 8%, rgba(22,82,38,.10), transparent 55%),
    linear-gradient(180deg, #ffffff 0%, #f6f7fb 55%, #eef6ea 100%);
}

.history-hero{
  padding-top: calc(var(--header-h) + 54px);
  padding-bottom: 38px;
  background: linear-gradient(180deg, rgba(22,82,38,.08), rgba(255,255,255,0));
}

.history-photos{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  align-items: stretch;
}

.history-photo-card{
  position: relative;
  min-height: 360px;
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(2,6,23,.14);
  border: 1px solid rgba(22,82,38,.14);
  background: #dfe8da;
}

.history-photo-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.history-photo-card::after{
  content:"";
  position:absolute;
  inset:20px;
  border-radius:24px;
  border:2px solid rgba(255,255,255,.58);
  pointer-events:none;
}

.history-heading{
  text-align:center;
  margin-top: 34px;
}

.history-eyebrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: fit-content;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgb(55 113 189);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.history-title{
  color: var(--history-green);
  font-family: Calibri, "Plus Jakarta Sans", sans-serif;
  font-size: clamp(38px, 6vw, 76px);
  line-height: .98;
  font-weight: 700;
  letter-spacing: -.055em;
  margin: 0 auto;
}

.history-subtitle{
  max-width: 760px;
  margin: 18px auto 0;
  color: #465268;
  font-size: 17px;
  line-height: 1.7;
}

.history-content-section{
  padding: 44px 0 92px;
}

.history-layout{
  display:grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 34px;
  align-items:start;
}

.history-sidebar{
  position: sticky;
  top: calc(var(--header-h) + 22px);
  padding: 22px;
  border-radius: 26px;
  background: rgba(22,82,38,.96);
  box-shadow: 0 20px 55px rgba(2,6,23,.14);
  border: 1px solid rgba(255,255,255,.18);
}

.history-sidebar-title{
  display:block;
  color:#d7ffd3;
  font-size: 12px;
  font-weight: 900;
  letter-spacing:.08em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.history-sidebar nav{
  display:flex;
  flex-direction:column;
  gap: 8px;
}

.history-sidebar a{
  display:block;
  padding: 11px 13px;
  border-radius: 15px;
  color: rgba(255,255,255,.88);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.06);
  transition: background .2s ease, transform .15s ease, color .2s ease;
}

.history-sidebar a:hover{
  background: rgba(255,255,255,.14);
  color:#fff;
  transform: translateX(3px);
}

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

.history-topic{
  scroll-margin-top: calc(var(--header-h) + 28px);
  padding: 32px;
  border-radius: 30px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(22,82,38,.12);
  box-shadow: 0 18px 50px rgba(2,6,23,.07);
}

.history-topic h2{
  color: var(--history-green);
  font-family: Calibri, "Plus Jakarta Sans", sans-serif;
  font-size: clamp(24px, 2.8vw, 38px);
  line-height: 1.1;
  margin-bottom: 16px;
}

.history-topic p{
  font-size: 16px;
  line-height: 1.85;
  text-align: justify;
  hyphens: auto;
  color:#465268;
}

.history-highlight{
  border-left: 6px solid var(--history-gold);
  background: linear-gradient(135deg, rgba(221,178,5,.12), rgba(123,189,90,.10));
}

.history-highlight strong{
  color: var(--history-green);
}

@media (max-width: 900px){
  .history-layout{
    grid-template-columns: 1fr;
  }

  .history-sidebar{
    position: static;
  }

  .history-sidebar nav{
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px){
  .history-hero{
    padding-top: calc(var(--header-h) + 30px);
  }

  .history-photos{
    grid-template-columns: 1fr;
  }

  .history-photo-card{
    min-height: 240px;
  }

  .history-subtitle{
    font-size: 15px;
  }

  .history-sidebar nav{
    grid-template-columns: 1fr;
  }

  .history-topic{
    padding: 24px;
    border-radius: 24px;
  }

  .history-topic p{
    text-align:left;
    font-size: 15px;
  }
}

/* =========
   Porto de Galinhas + Como chegar
========= */
.destination-hero,
.access-hero{
  position:relative;
  min-height:520px;
  display:flex;
  align-items:center;
  padding-top:120px;
  overflow:hidden;
}
.destination-hero{ background:url("images/foto1.jpg") center 48% / cover no-repeat; }
.access-hero{ background:url("images/foto2.jpg") center 48% / cover no-repeat; }
.destination-hero-overlay,
.access-hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(110deg,rgba(5,51,9,.78),rgba(5,51,9,.32) 52%,rgba(0,0,0,.28));
}
.destination-content-section,
.access-content-section{
  background:radial-gradient(800px 420px at 10% 6%,rgba(123,189,90,.13),transparent 60%),radial-gradient(760px 420px at 92% 12%,rgba(55,113,189,.09),transparent 58%);
}
.destination-kicker{
  display:inline-flex;
  padding:7px 13px;
  margin-bottom:12px;
  border-radius:999px;
  background:rgba(55,113,189,.12);
  color:#3771bd;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.destination-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:24px;
}
.destination-facts>div{
  padding:18px;
  border-radius:20px;
  background:linear-gradient(135deg,#165226,#2a7c48);
  color:#fff;
}
.destination-facts strong{display:block;font-size:27px;line-height:1.1;color:#d7ffd3;margin-bottom:5px;}
.destination-facts span{font-size:12px;color:rgba(255,255,255,.82);font-weight:700;}
.destination-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;}
.destination-card{padding:20px;border-radius:22px;background:#fff;border:1px solid rgba(22,82,38,.12);box-shadow:0 12px 30px rgba(2,6,23,.05);}
.destination-card h3{color:#165226;font-family:Calibri,"Plus Jakarta Sans",sans-serif;font-size:21px;}
.destination-card p{font-size:14px;line-height:1.65;text-align:left;}
.destination-card-wide{grid-column:1/-1;border-left:5px solid #ddb205;}
.destination-table-wrap{overflow-x:auto;margin-top:18px;border-radius:22px;border:1px solid rgba(22,82,38,.12);}
.destination-table{width:100%;border-collapse:collapse;min-width:680px;background:#fff;}
.destination-table th{background:#165226;color:#fff;text-align:left;padding:14px 16px;font-size:13px;}
.destination-table td{padding:14px 16px;border-top:1px solid rgba(22,82,38,.10);color:#465268;font-size:14px;vertical-align:top;}
.destination-button{display:inline-flex;margin-top:18px;padding:12px 18px;border-radius:999px;background:#ddb205;color:#17361d;font-weight:900;}
.destination-list{margin:14px 0 0;padding-left:20px;color:#465268;line-height:1.8;}
.destination-list li{margin-bottom:9px;}
.practical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;}
.practical-grid>div{padding:17px 18px;border-radius:18px;background:rgba(255,255,255,.76);border:1px solid rgba(22,82,38,.10);}
.practical-grid strong{display:block;color:#165226;margin-bottom:5px;}
.practical-grid span{display:block;color:#465268;line-height:1.55;font-size:14px;}
.route-block{padding:22px;border-radius:22px;background:rgba(22,82,38,.05);border:1px solid rgba(22,82,38,.10);}
.route-block h3,.route-card h3{color:#165226;font-family:Calibri,"Plus Jakarta Sans",sans-serif;font-size:22px;}
.route-block h4{margin:18px 0 8px;color:#7a6140;font-size:15px;}
.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;}
.route-card{padding:20px;border-radius:22px;background:#fff;border:1px solid rgba(22,82,38,.12);}
.route-card p{font-size:14px;text-align:left;}
.faq-access{display:grid;gap:10px;margin-top:18px;}
.faq-access details{border:1px solid rgba(22,82,38,.12);border-radius:18px;background:#fff;overflow:hidden;}
.faq-access summary{cursor:pointer;padding:16px 18px;color:#165226;font-weight:900;}
.faq-access details p{padding:0 18px 17px;margin:0;text-align:left;font-size:14px;}
.venue-inline-link{font-weight:900;color:#165226;border-bottom:1px solid rgba(22,82,38,.25);}
.history-topic h2 small{font-size:.55em;color:#6b7a8f;font-weight:700;}
@media(max-width:760px){
  .destination-hero,.access-hero{min-height:430px;padding-top:140px;}
  .destination-facts,.destination-card-grid,.practical-grid,.route-grid{grid-template-columns:1fr;}
  .destination-card-wide{grid-column:auto;}
}
