/* Casa Aidro — estilos isolados (prefixo aidro- evita conflitos com o tema) */
.aidro-section{
  font-family:'Work Sans',sans-serif;
  --wine: var(--aidro-wine, #7c2c3e);
  --amber: var(--aidro-amber, #c99a4a);
  --stone: var(--aidro-stone, #201e1b);
  --ink-dark:#2a2621;
  --muted-dark:#7d7364;
  --paper-dim:#e8dfcd;
  --line-dark:rgba(42,38,33,0.12);
  padding:20px 0;
}
.aidro-section h3, .aidro-section h4{ font-family:'Fraunces',serif; font-weight:600; margin:0; }

/* utilitários reutilizáveis para os títulos de secção fora dos shortcodes,
   nos blocos HTML/parágrafo que colocas no editor do WordPress */
.aidro-eyebrow{
  font-family:'Work Sans',sans-serif;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color: var(--aidro-amber, #c99a4a);
  margin:0 0 10px;
}
.aidro-heading{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:clamp(26px,3.4vw,38px);
  line-height:1.15;
  margin:0 0 32px;
  color: var(--aidro-stone, #201e1b);
}

/* crónica */
.aidro-story{position:relative; max-width:760px;}
.aidro-story::before{content:"";position:absolute;left:15px;top:6px;bottom:6px;width:1px;background:var(--line-dark);}
.aidro-story-item{position:relative; padding-left:52px; margin-bottom:32px;}
.aidro-story-item:last-child{margin-bottom:0;}
.aidro-story-dot{position:absolute; left:0; top:2px; width:31px; height:31px; border-radius:50%; background:#fff; border:1.5px solid var(--wine); display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-size:13px; color:var(--wine);}
.aidro-story-item h3{font-size:19px; margin-bottom:6px; color:var(--ink-dark);}
.aidro-story-item p{margin:0; color:var(--muted-dark); font-size:15px; max-width:56ch;}

/* espaço */
.aidro-amenities-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1px; background:var(--line-dark); border:1px solid var(--line-dark); border-radius:4px; overflow:hidden;}
.aidro-amenity{background:#fff; padding:22px 20px;}
.aidro-amenity h4{font-size:15px; margin-bottom:6px; color:var(--ink-dark);}
.aidro-amenity p{margin:0; font-size:13px; color:var(--muted-dark);}

/* quartos */
.aidro-rooms-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px;}
.aidro-room-card{border:1px solid var(--line-dark); border-radius:6px; padding:24px; background:var(--paper-dim);}
.aidro-num{font-family:'Fraunces',serif; font-size:30px; color:var(--wine); margin-bottom:6px;}
.aidro-room-card h4{font-size:17px; margin-bottom:8px; color:var(--ink-dark);}
.aidro-room-card p{margin:0; font-size:13.5px; color:var(--muted-dark);}
.aidro-room-feats{list-style:none; padding:0; margin:32px 0 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px 20px;}
.aidro-room-feats li{font-size:13.5px; color:var(--muted-dark); display:flex; align-items:center; gap:8px;}
.aidro-room-feats li::before{content:""; width:5px; height:5px; border-radius:50%; background:var(--wine); flex-shrink:0;}

.aidro-rooms-grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.aidro-room-meta{font-size:12.5px; color:var(--wine); font-weight:600; margin:0 0 10px;}
.aidro-room-baths{font-size:12.5px; color:var(--muted-dark); font-weight:600; margin:12px 0 8px;}
.aidro-room-interior{list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:6px;}
.aidro-room-interior li{font-size:11.5px; color:var(--ink-dark); background:#fff; border:1px solid var(--line-dark); border-radius:100px; padding:4px 10px;}
.aidro-room-services{margin-top:24px; font-size:13.5px; color:var(--muted-dark);}

/* pontos de interesse */
.aidro-poi-text{max-width:760px;}
.aidro-poi-text p{font-size:14.5px; color:var(--muted-dark); margin:0 0 16px; line-height:1.7;}
.aidro-poi-text p:last-child{margin-bottom:0;}

/* localização */
.aidro-loc-grid{display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:start;}
@media (max-width:760px){ .aidro-loc-grid{grid-template-columns:1fr;} }
.aidro-loc-info dl{display:grid; grid-template-columns:auto 1fr; gap:8px 16px; margin:16px 0 0;}
.aidro-loc-info dt{font-size:11.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--wine); font-weight:600;}
.aidro-loc-info dd{margin:0; font-size:13.5px; color:var(--ink-dark);}
.aidro-map-frame{position:relative; width:100%; padding-bottom:75%; border-radius:6px; overflow:hidden; border:1px solid var(--line-dark);}
.aidro-map-frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}

/* galeria */
.aidro-gallery-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:10px;}
@media (max-width:640px){ .aidro-gallery-grid{grid-template-columns:repeat(2,1fr);} }
.aidro-tile{position:relative; aspect-ratio:4/3; border-radius:4px; overflow:hidden; cursor:pointer; background:#171613;}
.aidro-tile img{width:100%; height:100%; object-fit:cover; display:block;}
.aidro-tile .aidro-placeholder{width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:#8a8378; background:repeating-linear-gradient(135deg,#2b2823,#2b2823 8px,#262320 8px,#262320 16px); font-size:11px; letter-spacing:.08em; text-transform:uppercase;}
.aidro-caption{position:absolute; left:0; right:0; bottom:0; padding:10px 12px 8px; font-size:12px; color:#fff; background:linear-gradient(0deg, rgba(0,0,0,.65), transparent); opacity:0; transition:opacity .2s ease;}
.aidro-tile:hover .aidro-caption{opacity:1;}
.aidro-lightbox{position:fixed; inset:0; z-index:9999; background:rgba(16,15,13,.92); display:none; align-items:center; justify-content:center; padding:40px;}
.aidro-lightbox.open{display:flex;}
.aidro-lightbox img{max-width:min(88vw,900px); max-height:80vh; border-radius:4px;}
.aidro-lightbox-close{position:absolute; top:24px; right:28px; background:none; border:1px solid rgba(255,255,255,.3); color:#fff; width:38px; height:38px; border-radius:50%; cursor:pointer; font-size:16px;}

/* reservas */
.aidro-reservas-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px;}
@media (max-width:760px){ .aidro-reservas-grid{grid-template-columns:1fr;} }
.aidro-cal-nav{display:flex; align-items:center; justify-content:space-between; margin-bottom:14px;}
.aidro-cal-nav button{background:none; border:1px solid var(--line-dark); color:var(--ink-dark); width:30px; height:30px; border-radius:50%; cursor:pointer; font-size:14px;}
#aidroCalLabel{font-family:'Fraunces',serif; font-size:15px; text-transform:capitalize;}
.aidro-cal-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:4px;}
.aidro-cal-grid .aidro-cal-dow{font-size:10px; text-align:center; color:var(--muted-dark); padding-bottom:6px;}
.aidro-cal-day{aspect-ratio:1; display:flex; align-items:center; justify-content:center; font-size:12px; border-radius:4px; color:var(--ink-dark); background:var(--paper-dim);}
.aidro-cal-day.empty{background:transparent;}
.aidro-cal-day.unavailable{background:var(--wine); color:#fff;}
.aidro-cal-day.past{opacity:.35;}
.aidro-cal-hint{font-size:12px; color:var(--muted-dark); margin-top:10px;}
.aidro-cal-legend{display:flex; align-items:center; gap:8px; font-size:11px; color:var(--muted-dark); margin-top:8px;}
.aidro-swatch{width:10px; height:10px; border-radius:2px; background:var(--wine); display:inline-block;}

.aidro-booking-form-block form{display:flex; flex-direction:column; gap:10px;}
.aidro-field-row{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.aidro-booking-form-block label{font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:var(--muted-dark); display:block; margin-bottom:4px;}
.aidro-booking-form-block input, .aidro-booking-form-block textarea, .aidro-booking-form-block select{width:100%; padding:9px 11px; border-radius:5px; border:1px solid var(--line-dark); background:#fff; color:var(--ink-dark); font-family:'Work Sans',sans-serif; font-size:13px;}
.aidro-booking-form-block textarea{resize:vertical; min-height:64px;}
.aidro-checkbox-field{display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--muted-dark); text-transform:none; letter-spacing:0; cursor:pointer;}
.aidro-checkbox-field input{width:auto; flex-shrink:0;}
.aidro-required{color:var(--wine); font-weight:600;}
.aidro-required-note{font-size:11.5px; color:var(--muted-dark); margin:-2px 0 4px;}
/* campo-armadilha: fora do ecrã, mas presente no DOM e "focável" por bots que ignoram CSS */
.aidro-hp-field{position:absolute; left:-9999px; top:-9999px; height:0; overflow:hidden;}
.aidro-btn{display:inline-flex; align-items:center; gap:8px; padding:12px 22px; border-radius:100px; font-size:13.5px; text-decoration:none; cursor:pointer; border:1px solid transparent; align-self:flex-start;}
.aidro-btn-solid{background:var(--amber); color:#201e1b; font-weight:600;}
.aidro-notice{padding:12px 16px; border-radius:6px; font-size:13.5px; margin-bottom:16px;}
.aidro-notice-success{background:#e4f0e6; color:#2f5d3a; border:1px solid #b9d8bf;}
.aidro-notice-error{background:#f4e2e5; color:var(--wine); border:1px solid #e3b9c1;}

/* contactos úteis */
.aidro-useful-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; margin-bottom:24px;}
.aidro-useful-card{display:flex; flex-direction:column; gap:5px; border:1px solid var(--line-dark); border-radius:6px; padding:18px; text-decoration:none; color:var(--ink-dark); transition:border-color .2s ease;}
.aidro-useful-card:hover{border-color:var(--amber);}
.aidro-uc-label{font-size:12px; color:var(--muted-dark);}
.aidro-uc-value{font-family:'Fraunces',serif; font-size:19px; color:var(--wine);}
.aidro-lre-badge{display:inline-flex; align-items:center; gap:10px; border:1px solid var(--line-dark); border-radius:100px; padding:9px 16px; text-decoration:none; color:var(--ink-dark); font-size:12.5px;}
.aidro-lre-badge:hover{border-color:#e8b923;}
.aidro-lre-badge svg{width:18px; height:18px; flex-shrink:0;}
.aidro-contact-line{margin-top:18px; font-size:13.5px; color:var(--muted-dark);}
.aidro-reg-line{margin-top:6px; font-size:12px; color:var(--muted-dark);}
