.contenido-boda {
    display: inline-block;   /* El bloque solo ocupa lo que ocupa su contenido */
}

.boda-img {
    max-width: 100%;         /* Nunca más grande que el texto */
    width: 120px;            /* Ajusta este tamaño a tu gusto */
    height: auto;
}

/* ===== Modal Dónde Comer ===== */
.modal .reco-list{
  margin:0; padding:0; list-style:none;
}

.modal .reco-item{
  display: grid;
  grid-template-columns: 65px 1fr;   /* miniatura + contenido */
  gap: 12px;
  align-items: start;
  padding: .9rem 0;
  border-bottom: 1px solid var(--bs-border-color);
}

.modal .reco-item:last-child{
  border-bottom: 0;
}

.modal .reco-thumb{
  width:65px; height:65px;
  border-radius: 8px;
  object-fit: cover;
}

.modal .reco-body{
  display:flex;
  flex-direction: column;
  align-items: flex-start;          /* <- clave */
  text-align: left !important;      /* <- por si hereda text-center */
  min-width: 0;
}

.modal .reco-body .name{
  font-weight: 600;
  margin: 0;
}

.modal .reco-body .meta{
  font-size: .9rem;
  color: var(--bs-secondary-color);
  margin-top: 2px;
}

.modal .reco-body .btn{
  padding: .25rem .6rem;
  line-height: 1.2;
  margin-top: .35rem;
  /* si quieres ancho fijo: width: 90px; text-align:center; */
}

/* Títulos elegantes */
h1, h2, h3, .fw-black {
  font-family: 'Playfair Display', serif;
}

/* Texto general */
body, p, span, button {
  font-family: 'Poppins', sans-serif;
}

.ocre {
    color: #007A3D !important; /*#C39A52 !important;          Ocre */
}

.btn-ocre {
    background-color: #007A3D !important;
    border-color: #007A3D !important;
    color: white !important;
}

.btn-ocre:hover {
    background-color: #006233 !important;
    border-color: #006233 !important;
}

.card-fixed {
  max-width: 420px;        /* Ancho fijo */
  width: 100%;             /* Para que en móvil no se rompa */
  margin-left: auto;
  margin-right: auto;      /* Centrado */
}

/* Contenedor del hero */
.hero { position: relative; overflow: hidden; }

/* Alturas distintas por viewport */
.hero-img {
  display:block; width:100%;
  height:45vh;           /* móvil */
  object-fit: cover;
  object-position: center 35%; /* ajusta el encuadre vertical */
}

@media (min-width: 768px) {
  .hero-img {
    height:60vh;         /* desktop */
    object-position: center 40%; /* mueve el foco si lo necesitas */
  }
}

.cta-strip{
  background:#04371e;
  color: white;
}
.fw-black{font-weight:900}
#countdown .cd-box{
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  padding: .35rem .55rem;
  min-width: 60px;
}
#countdown .num{
  font-size: 1.1rem;
  font-weight: 800;
}
#countdown .lbl{
  font-size: .65rem;
  opacity: .8;
}
.object-fit-cover{object-fit:cover}

/* Warm theme */
.navbar{background-color:#04371e!important}
.navbar .navbar-brand,.navbar .nav-link{color:white!important;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.navbar .nav-link:hover{color:white!important;text-decoration:underline;}


/* Cards & hotel images */
.hotel-card-img{height:220px;object-fit:cover}
.hotel-modal-img{max-height:420px;object-fit:cover;width:100%}

/* Recommendation modals */
.modal-content{border-radius:1rem}
.modal-header{border-bottom:none;padding-bottom:.25rem}
.modal-title{font-weight:900;letter-spacing:.02em}
.modal-body .lead-sub{color:var(--bs-secondary-color);margin-top:-.25rem;margin-bottom:1rem}
.reco-list{list-style:none;margin:0;padding:0}
.reco-item{display:flex;gap:.75rem;align-items:flex-start;padding:.6rem .25rem;border-bottom:1px dashed rgba(0,0,0,.08)}
.reco-item:last-child{border-bottom:0}
.reco-thumb{width:56px;height:56px;border-radius:.6rem;object-fit:cover;border:1px solid var(--bs-border-color);flex:0 0 56px}
.reco-body .name{font-weight:700;margin-bottom:.1rem}
.reco-body .meta{font-size:.9rem;color:var(--bs-secondary-color)}
.reco-actions{display:flex;gap:.5rem;margin-top:.45rem}
.reco-actions .btn{padding:.35rem .6rem}

/* --- Responsive countdown improvements --- */
#countdown{display:grid!important;grid-template-columns:repeat(4,minmax(72px,1fr));gap:.5rem}
#countdown .cd-box{min-width:0}
@media (max-width: 576px){
  #countdown{grid-template-columns:repeat(2,1fr);gap:.5rem}
  #countdown .num{font-size:1.75rem}
  #countdown .lbl{font-size:.75rem}
}

/* --- Hotel card image height for mobile --- */
.hotel-card-img{height:220px;object-fit:cover;display:block}
@media (max-width: 576px){
  .hotel-card-img{height:200px}
}

/* --- Google Form exact-fit heights (no scrollbars, not oversized) --- */
.google-form{height:1480px;width:100%;display:block;border:0}
@media (max-width: 1400px){ .google-form{height:1580px} }
@media (max-width: 1200px){ .google-form{height:1660px} }
@media (max-width: 992px) { .google-form{height:1760px} }
@media (max-width: 768px) { .google-form{height:1880px} }
@media (max-width: 576px) { .google-form{height:2000px} }
