/* JMB FOTOS E VIDEOS - layout editorial preto e branco */

/* =====================================================
   SUAS IMAGENS: coloque os arquivos na pasta img/ com estes nomes
   ===================================================== */
.img.img-hero{ background-image:url('hero.jpg'); background-position:center 40%; }       /* foto grande do topo */
.img-sobre{ background-image:url('img/sobre.jpg'); }      /* foto da seção "Não é só sobre registrar" */
.img-port1{ background-image:url('portfolio-1.jpg'); background-position:center 35%; }      /* portfólio: foto grande */
.img-port2{ background-image:url('portfolio-2.jpg'); background-position:center 38%; }      /* portfólio: pequena de cima */
.img-port3{ background-image:url('portfolio-3.jpg'); background-position:center 25%; }      /* portfólio: pequena de baixo */

:root{
  --black:#0f0f0f;
  --white:#ffffff;
  --paper:#f4f4f4;
  --gray:#8a8a8a;
  --text:#4a4a4a;
  --line:#e4e4e4;
  --line-dark:#2a2a2a;
  --max:1160px;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:70px; }
body{
  margin:0;
  background:var(--white) !important;
  color:var(--black) !important;
  font-family:'Poppins',sans-serif !important;
  font-weight:300;
  top:0 !important;
}
#outer-wrapper{ background:var(--white) !important; box-shadow:none !important; max-width:none !important; width:100% !important; }
a{ color:inherit; }
.wrap{ width:100%; max-width:var(--max); margin:0 auto; padding:0 24px; }

h1,h2,h3,h4,.serif{
  font-family:'Playfair Display',serif !important;
  font-style:italic !important;
  font-weight:400 !important;
  letter-spacing:0;
  margin:0;
}
.eyebrow{ font-size:10px; letter-spacing:1.4px; text-transform:uppercase; font-weight:400; }
.dark .eyebrow{ color:#bdbdbd; }
.img{ background-color:#1b1b1b; background-size:cover; background-position:center; filter:grayscale(1); }
.caption{ font-size:10px; color:var(--gray); }

/* ---- Cabeçalho ---- */
#header-wrap{ background:var(--black) !important; position:sticky; top:0; z-index:50; border-bottom:1px solid var(--line-dark); }
.bar{ display:flex; align-items:center; justify-content:space-between; gap:20px; height:68px; }
.bar .logo img{ height:40px; width:auto; display:block; }
.bar .logo h1{ display:none; }
.menu{ display:flex; align-items:center; gap:24px; font-size:11px; color:#cfcfcf; }
.menu a{ text-decoration:none; }
.menu a:hover{ color:var(--white); }
.menu .btn-line{ border:1px solid #555; padding:9px 18px; color:var(--white); font-weight:500; }
.menu .btn-line:hover{ background:var(--white); color:var(--black); }

/* ---- Busca ---- */
.header-search{ display:flex; }
.header-search .search-form{ display:flex; align-items:center; background:var(--white); border:1px solid var(--line); border-radius:40px; padding:3px 3px 3px 14px; width:100%; max-width:300px; }
.header-search .search-form:focus-within{ border-color:var(--black); }
.header-search .search-form i{ color:var(--gray); font-size:12px; margin-right:8px; }
.header-search .search-input{ flex:1; min-width:0; border:none !important; outline:none !important; background:transparent !important; box-shadow:none !important; font-family:'Poppins',sans-serif !important; font-size:12px !important; padding:8px 2px !important; color:var(--black) !important; -webkit-appearance:none; appearance:none; }
.header-search .search-input::-webkit-search-cancel-button{ -webkit-appearance:none; }
.header-search #search-submit{ background:var(--black); color:var(--white); border:none; border-radius:30px; padding:8px 16px; font-family:'Poppins',sans-serif; font-size:10px; font-weight:500; text-transform:uppercase; letter-spacing:1px; cursor:pointer; }

/* ---- Hero ---- */
.dark{ background:var(--black); color:var(--white); }
.hero{ padding:28px 0 0; }
.hero .eyebrow{ margin-bottom:12px; }
.hero-top{ display:grid; grid-template-columns:1.6fr 1fr; gap:40px; align-items:end; margin-bottom:34px; }
.hero h2{ font-size:clamp(38px,6vw,68px); line-height:1.08; color:var(--white); }
.hero-side{ font-size:12px; line-height:1.7; color:#cfcfcf; padding-bottom:8px; }
.btn-white{ display:inline-flex; align-items:center; gap:14px; background:var(--white); color:var(--black); text-decoration:none; font-size:11px; font-weight:500; padding:12px 18px; margin-top:18px; }
.hero-img{ aspect-ratio:16/7; width:100%; }
.hero-cap{ display:flex; justify-content:space-between; padding:12px 0 18px; font-size:9px; letter-spacing:1px; color:#9a9a9a; text-transform:uppercase; }
.hero-cap span:first-child{ text-transform:none; letter-spacing:0; }

/* ---- Sobre ---- */
.sobre{ padding:72px 0; }
.sobre-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:60px; align-items:center; }
.sobre h2{ font-size:clamp(30px,4vw,44px); line-height:1.15; margin:14px 0 20px; }
.sobre p{ font-size:12.5px; line-height:1.8; color:var(--text); margin:0 0 24px; max-width:480px; }
.feat{ display:grid; grid-template-columns:1fr 1fr; gap:24px; border-top:1px solid var(--line); padding-top:18px; max-width:520px; }
.feat b{ display:block; font-size:9px; letter-spacing:1px; text-transform:uppercase; font-weight:500; margin-bottom:6px; }
.feat span{ font-size:11px; line-height:1.6; color:var(--text); }
.sobre-img{ aspect-ratio:1/1; width:100%; }

/* ---- Pacotes ---- */
.pacotes{ background:var(--paper); padding:64px 0 40px; }
.pac-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:26px; }
.pac-head h2{ font-size:clamp(34px,5vw,50px); margin-top:14px; }
.pac-head p{ font-size:11.5px; line-height:1.7; color:var(--text); max-width:260px; margin:0; }
.pac-tools{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:26px; }
.pkg-tabs{ display:flex; gap:6px; background:var(--white); border:1px solid var(--line); border-radius:40px; padding:4px; }
.pkg-tab{ border:none; background:transparent; color:var(--black); font-family:'Poppins',sans-serif; font-size:11px; font-weight:400; padding:9px 20px; border-radius:30px; cursor:pointer; }
.pkg-tab i{ margin-right:6px; }
.pkg-tab.active{ background:var(--black); color:var(--white); }
.pkg-panel{ display:grid; gap:16px; }
.pkg-panel[data-panel='fotos']{ grid-template-columns:repeat(3,1fr); }
.pkg-panel[data-panel='videos']{ grid-template-columns:repeat(4,1fr); }
.pkg-results{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.pkg-panel.pkg-hide, .pkg-results.pkg-hide, .pkg-empty.pkg-hide{ display:none !important; }
.pkg-empty{ font-size:13px; color:#555; margin:0 0 18px; }

.pk{ background:var(--white); border:1px solid var(--line); display:flex; flex-direction:column; }
.pk-top{ background:var(--black); color:var(--white); padding:18px 18px 20px; min-height:132px; }
.pk-top .row{ display:flex; justify-content:space-between; font-size:8.5px; letter-spacing:1px; text-transform:uppercase; color:#bdbdbd; margin-bottom:22px; }
.pk-top h3{ font-size:26px; }
.pk-top h3 a{ text-decoration:none; color:var(--white); }
.pk-top small{ display:block; font-size:10px; color:#bdbdbd; margin-top:8px; }
.pk-body{ padding:18px; display:flex; flex-direction:column; flex:1; }
.pk-inv{ font-size:8.5px; letter-spacing:1px; text-transform:uppercase; color:var(--gray); }
.pk-price{ font-size:21px; font-weight:500; margin:4px 0 14px; padding-bottom:14px; border-bottom:1px solid var(--line); }
.pk ul{ list-style:none; margin:0 0 14px; padding:0; }
.pk li{ font-size:10.5px; color:var(--text); padding:3px 0 3px 18px; position:relative; }
.pk li:before{ content:'\2713'; position:absolute; left:0; font-size:10px; color:var(--black); }
.pk-ideal{ font-size:9.5px; line-height:1.6; color:var(--gray); border-top:1px solid var(--line); padding-top:12px; margin:0 0 16px; flex:1; }
button.read-more{ display:flex; align-items:center; justify-content:space-between; width:100%; background:var(--black); color:var(--white); border:none; font-family:'Poppins',sans-serif; font-size:11px; font-weight:500; padding:12px 16px; cursor:pointer; }
button.read-more:hover{ background:#2b2b2b; }
.pac-foot{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:9.5px; color:var(--text); margin-top:22px; }
.pac-foot a{ font-weight:500; color:var(--black); }

/* ---- Portfólio ---- */
.port{ padding:64px 0 0; }
.port-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:28px; }
.port-head h2{ font-size:clamp(32px,4.5vw,46px); line-height:1.15; margin-top:14px; max-width:520px; color:var(--white); }
.port-head p{ font-size:11.5px; line-height:1.7; color:#cfcfcf; max-width:260px; margin:0; }
.port-head .caption{ display:block; margin-top:8px; }
.port-grid{ display:grid; grid-template-columns:2fr 1fr; gap:14px; }
.port-side{ display:grid; grid-template-rows:1fr 1fr; gap:14px; }
.port-big{ aspect-ratio:4/3.1; width:100%; }
.port-small{ width:100%; height:100%; min-height:170px; }
.port-lab{ display:flex; justify-content:space-between; font-size:11px; padding:10px 0 0; color:var(--white); }
.port-lab span{ color:#9a9a9a; font-size:9px; }
.port-ig{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; border-top:1px solid var(--line-dark); margin-top:40px; padding:26px 0 36px; font-size:11px; color:#bdbdbd; }
.btn-line2{ border:1px solid #555; padding:11px 18px; color:var(--white); text-decoration:none; font-size:11px; font-weight:500; }
.btn-line2:hover{ background:var(--white); color:var(--black); }

/* ---- Contato ---- */
.contato{ padding:72px 0; }
.contato-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:60px; align-items:center; }
.contato h2{ font-size:clamp(34px,5vw,52px); line-height:1.12; margin:14px 0 20px; }
.contato p{ font-size:12px; line-height:1.8; color:var(--text); max-width:420px; margin:0; }
.ct{ display:flex; justify-content:space-between; align-items:center; text-decoration:none; padding:16px 0; border-bottom:1px solid var(--line); }
.ct b{ display:block; font-size:15px; font-weight:500; }
.ct span{ font-size:10.5px; color:var(--gray); }
.ct i{ font-size:15px; }

/* ---- Rodapé ---- */
#footer-wrapper{ background:var(--black) !important; color:var(--white); }
.foot{ display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; padding:28px 0 14px; }
.foot-brand{ display:flex; align-items:center; gap:14px; }
.foot-brand img{ height:38px; width:auto; }
.foot-brand span{ font-size:11px; font-weight:500; display:block; }
.foot-brand small{ font-size:9.5px; color:#9a9a9a; }
.foot-social{ display:flex; gap:20px; list-style:none; margin:0; padding:0; font-size:11px; }
.foot-social a{ text-decoration:none; color:var(--white); }
.foot-bottom{ display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; padding:0 0 24px; font-size:9px; color:#9a9a9a; }
.jmb-lang{ display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.25); border-radius:40px; padding:0 10px; height:30px; }
.jmb-lang i{ color:var(--white); font-size:11px; }
.jmb-lang select{ background:transparent; color:var(--white); border:none; outline:none; font-family:'Poppins',sans-serif; font-size:11px; height:100%; cursor:pointer; max-width:100%; }
.jmb-lang select option{ background:var(--black); color:var(--white); }

/* ---- Janela "Saiba mais" ---- */
.pkg-modal{ position:fixed; top:0; right:0; bottom:0; left:0; z-index:9999; display:none; align-items:center; justify-content:center; padding:16px; }
.pkg-modal.open{ display:flex; }
.pkg-backdrop{ position:absolute; top:0; right:0; bottom:0; left:0; background:rgba(0,0,0,.72); }
.pkg-dialog{ position:relative; width:100%; max-width:480px; max-height:90vh; overflow-y:auto; background:var(--white); color:var(--black); padding:32px 26px 26px; box-shadow:0 20px 50px rgba(0,0,0,.4); }
.pkg-close{ position:absolute; top:8px; right:12px; background:none; border:none; font-size:32px; line-height:1; color:var(--black); cursor:pointer; }
.pkg-dialog h3{ font-size:28px; margin:0 0 4px; }
.pkg-price{ display:inline-block; background:var(--black); color:var(--white); font-weight:500; font-size:13px; padding:6px 16px; margin:8px 0 16px; }
.pkg-dialog ul{ list-style:none; padding:0; margin:0 0 16px; }
.pkg-dialog li{ padding:9px 0 9px 22px; border-bottom:1px solid var(--line); position:relative; font-size:13px; line-height:1.5; }
.pkg-dialog li:before{ content:''; position:absolute; left:2px; top:17px; width:7px; height:7px; border-radius:50%; background:var(--black); }
.pkg-note{ background:var(--paper); padding:12px 14px; font-size:12px; line-height:1.55; color:#333; margin-bottom:18px; }
.pkg-note b{ display:block; margin-bottom:4px; }
.pkg-cta{ display:block; text-align:center; background:var(--black); color:var(--white) !important; text-decoration:none !important; padding:13px; font-weight:500; font-size:13px; }
.pkg-hint{ margin:10px 0 0; text-align:center; font-size:12px; line-height:1.5; color:#666; }
.pkg-hint b{ color:var(--black); }
.pkg-video{ position:relative; width:100%; aspect-ratio:16/9; margin:0 0 18px; overflow:hidden; background:#000; }
.pkg-video iframe{ position:absolute; top:0; left:0; width:100%; height:100%; border:0; }
.pkg-video.vertical{ aspect-ratio:9/16; max-height:60vh; width:auto; margin-left:auto; margin-right:auto; }

/* ---- Tradutor ---- */
#google_translate_element{ position:absolute; left:-9999px; top:0; width:1px; height:1px; overflow:hidden; }
iframe.skiptranslate, .goog-te-banner-frame{ display:none !important; }
#goog-gt-tt, .goog-te-balloon-frame{ display:none !important; }
.goog-text-highlight{ background:none !important; box-shadow:none !important; }

/* ---- Responsivo ---- */
@media (max-width:1000px){
  .pkg-panel[data-panel='videos']{ grid-template-columns:repeat(2,1fr); }
  .pkg-panel[data-panel='fotos'], .pkg-results{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px){
  .menu a:not(.btn-line){ display:none; }
  .hero-top, .sobre-grid, .contato-grid, .port-grid{ grid-template-columns:1fr; gap:28px; }
  .hero-img{ aspect-ratio:4/3; }
  .hero-cap{ flex-direction:column; gap:6px; }
  .pac-head, .port-head{ flex-direction:column; align-items:flex-start; }
  .sobre, .contato{ padding:48px 0; }
  .port-side{ grid-template-rows:none; grid-template-columns:1fr 1fr; }
  .header-search .search-form{ max-width:none; }
  .pac-tools{ flex-direction:column; align-items:stretch; }
}
@media (max-width:560px){
  .pkg-panel[data-panel='videos'], .pkg-panel[data-panel='fotos'], .pkg-results{ grid-template-columns:1fr; }
  .port-side{ grid-template-columns:1fr; }
  .feat{ grid-template-columns:1fr; }
}

/* ---- Ajuste de enquadramento das fotos no celular ---- */
@media (max-width:760px){

  /* Remove alturas "esticadas" que cortavam a foto */
  .port-big,
  .port-small{
    height:auto;
    min-height:0;
    width:100%;
  }

  /* Foto do casal (Encontros): centralizada */
  .port-big{
    aspect-ratio:1/1;
  }
  .img-port1{
    background-position:60% 20%;
  }

  /* Foto do bolo (Tempo de celebrar): mostra o rosto e o bolo */
  .port-small{
    aspect-ratio:4/5;
  }
  .img-port3{
    background-position:50% 0%;
  }

  /* Foto "Pequenos gestos" */
  .img-port2{
    background-position:50% 20%;
  }
}