/*
Theme Name: Porto Mare
Theme URI: https://portomare.com.br
Description: Tema personalizado da Pousada Porto Mare — Maresias
Version: 1.0
Author: Porto Mare
Text Domain: portomare
*/

/* Base global (responsividade + utilitários) */
html { max-width: 100%; overflow-x: hidden; }
body { max-width: 100%; overflow-x: hidden; }

/* Bloqueia scroll quando modal aberto */
.modal-open { overflow: hidden !important; }

/* Modais (usado no blog e na home) */
.modal-overlay{position:fixed;inset:0;background:rgba(1,15,40,0.88);z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding:60px 20px;overflow-y:auto;opacity:0;pointer-events:none;transition:opacity 0.4s;backdrop-filter:blur(6px);}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal{background:#fff;max-width:780px;width:100%;position:relative;animation:modalIn 0.4s ease both;}
@keyframes modalIn{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
.modal-img{width:100%;height:340px;object-fit:cover;display:block;}
.modal-body{padding:56px 60px 60px;}
.modal-tag-line{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap;}
.modal-tag{font-family:'Jost',sans-serif;font-size:9px;letter-spacing:3px;text-transform:uppercase;color:#011f4a;background:#ac9b4f;padding:5px 14px;font-weight:500;}
.modal-date{font-family:'Jost',sans-serif;font-size:11px;font-weight:300;color:#bbb;letter-spacing:1px;text-transform:uppercase;}
.modal h2{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,3.5vw,40px);font-weight:300;line-height:1.2;color:#01306b;margin-bottom:8px;}
.modal h2 em{font-style:italic;color:#8c633f;}
.modal-sub{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:300;font-style:italic;color:#8c633f;margin-bottom:32px;}
.modal-text{font-family:'Jost',sans-serif;font-size:15px;font-weight:300;line-height:2;color:#444;}
.modal-text p{margin-bottom:20px;}
.modal-text strong{font-weight:500;color:#01306b;}
.modal-divider{height:1px;background:linear-gradient(to right,#ac9b4f,transparent);opacity:0.3;margin:36px 0;}
.modal-cta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.modal-close{position:absolute;top:20px;right:20px;background:#011f4a;color:#fff;border:none;width:40px;height:40px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background 0.3s;z-index:10;}
.modal-close:hover{background:#ac9b4f;color:#011f4a;}
.btn-modal-p{font-family:'Jost',sans-serif;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;font-weight:500;background:#ac9b4f;color:#011f4a;padding:14px 32px;text-decoration:none;transition:all 0.3s;border:1px solid #ac9b4f;display:inline-block;}
.btn-modal-p:hover{background:#e8cc54;}
.btn-modal-g{font-family:'Jost',sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:400;color:#01306b;text-decoration:none;padding:4px 0;border-bottom:1px solid rgba(1,48,107,0.2);transition:all 0.3s;}
.btn-modal-g:hover{color:#ac9b4f;border-bottom-color:#ac9b4f;}

/* MENU HAMBÚRGUER GLOBAL */
.nav-toggle{
  display:none;
  width:34px;
  height:26px;
  border:none;
  background:transparent;
  padding:0;
  margin-left:auto;
  cursor:pointer;
  flex-direction:column;
  justify-content:space-between;
  align-items:center;
  z-index:1100;
}
.nav-toggle span{
  display:block;
  width:100%;
  height:2px;
  background:#ffffff;
  transition:transform 0.25s ease,opacity 0.25s ease,background 0.25s ease;
}
.menu-open .nav-toggle span:nth-child(1){
  transform:translateY(12px) rotate(45deg);
}
.menu-open .nav-toggle span:nth-child(2){
  opacity:0;
}
.menu-open .nav-toggle span:nth-child(3){
  transform:translateY(-12px) rotate(-45deg);
}

/* Evita scroll do body quando menu mobile está aberto */
body.menu-open{overflow:hidden;}

/* Logo PNG no header e no footer — fundo transparente, sem espaço extra */
.logo{display:flex;align-items:center;text-decoration:none;background:none !important;padding:0;margin:0;}
.logo img{height:auto;max-height:56px;display:block;width:auto;background:none !important;padding:0;margin:0;border:none;}
footer .logo{background:none !important;padding:0;margin:0;}
footer .logo img{max-height:48px;background:none !important;padding:0;margin:0;}

/* Responsividade fica nos CSS por página para manter fidelidade ao HTML */
