/*
 * BuenosAiresTurismo.com.br - estilos 2027
 * Base: Bootstrap 5.3.8. Paleta celeste + azul + sol de mayo.
 */

:root{
	--ba-azul:#0b3d6b;
	--ba-azul-med:#1c5d99;
	--ba-celeste:#74acdf;
	--ba-claro:#eaf3fb;
	--ba-sol:#e2711d;
	--ba-noite:#072a4a;
	--ba-texto:#343c48;
	--ba-gris:#6b7280;
}

body{
	font-family:"Roboto",Arial,Helvetica,sans-serif;
	color:var(--ba-texto);
	-webkit-font-smoothing:antialiased;
	background:#fff;
}
h1,h2,h3,h4,h5,h6{ font-weight:700; color:var(--ba-azul); }
a{ color:var(--ba-azul-med); text-decoration:none; }
a:hover{ color:var(--ba-azul); text-decoration:underline; }
.site-nav a:hover{ text-decoration:none; }

/* ===== Navbar ===== */
.site-nav{
	background:#fff;
	border-top:4px solid var(--ba-celeste);
	border-bottom:3px solid var(--ba-sol);
	box-shadow:0 1px 12px rgba(0,0,0,.08);
	padding:.35rem 0;
}
.site-nav .navbar-brand img{ max-height:46px; width:auto; }
.site-nav .nav-link{
	color:var(--ba-azul); font-weight:500; border-radius:4px; padding:.45rem .65rem;
}
.site-nav .nav-link:hover,.site-nav .nav-link:focus,.site-nav .nav-link.active{
	color:var(--ba-azul); background:var(--ba-claro);
}
.site-nav .dropdown-menu{ border:0; box-shadow:0 8px 28px rgba(7,42,74,.16); border-radius:.6rem; padding:.6rem; }
.site-nav .dropdown-header{
	display:block; color:var(--ba-azul-med); font-weight:700; text-transform:uppercase;
	font-size:.72rem; letter-spacing:.06em; padding:.45rem .75rem .2rem;
}
.site-nav .dropdown-item{ border-radius:.35rem; padding:.28rem .75rem; font-size:.94rem; }
.site-nav .dropdown-item:hover{ background:var(--ba-claro); }
.site-nav .dropdown-item.active,.site-nav .dropdown-item:active{ background:var(--ba-azul-med); color:#fff; }
.site-nav .mega-all{ border-top:1px solid #e5edf5; margin-top:.4rem; padding-top:.4rem; }
.site-nav .ver-todos{ font-weight:700; color:var(--ba-azul-med); }
@media (min-width:992px){
	.site-nav > .container{ position:relative; }
	.site-nav .nav-item.dropdown{ position:static; }
	.site-nav .dropdown-menu.mega{ column-count:4; right:.75rem; left:auto; top:100%; column-gap:.6rem; width:860px; max-width:calc(100vw - 2rem); }
	.site-nav .dropdown-menu.mega-2{ column-count:2; width:480px; }
	.site-nav .mega-col{ break-inside:avoid; margin-bottom:.35rem; }
	.site-nav .mega .dropdown-item{ padding:.22rem .7rem; font-size:.9rem; white-space:normal; }
	.site-nav .mega-all{ column-span:all; }
}
@media (max-width:991.98px){
	.site-nav .navbar-collapse{ max-height:78vh; overflow-y:auto; }
	.site-nav .dropdown-menu{ box-shadow:none; padding:.2rem 0 .5rem .5rem; }
}

/* ===== Breadcrumb ===== */
.breadcrumb-wrap{ background:var(--ba-claro); border-bottom:1px solid #d6e6f4; }
.breadcrumb-wrap .breadcrumb{ margin:0; padding:.6rem 0; font-size:.85rem; }
.breadcrumb-wrap a{ color:var(--ba-azul-med); }

/* ===== Contenido ===== */
.banner{ background:#fff; padding-top:24px; padding-bottom:30px; }
.banner .container{ max-width:820px; }
.banner h1{ font-size:1.95rem; line-height:1.25; text-align:center; margin-bottom:.6rem; }
.banner h2{ font-size:1.45rem; color:var(--ba-azul-med); margin-top:1.7rem; margin-bottom:.55rem; padding-bottom:.25rem; border-bottom:2px solid var(--ba-claro); }
.banner h3{ font-size:1.2rem; margin-top:1.15rem; margin-bottom:.4rem; }
.banner h4{ font-size:1.08rem; margin-top:1rem; }
.banner p,.banner li{ font-size:1.02rem; line-height:1.72; }
.banner p{ margin-bottom:.85rem; }
.banner img{ max-width:100%; height:auto; border-radius:.5rem; }
.banner p:has(> img:only-child),.banner p:has(> a:only-child > img:only-child){ text-align:center; }
.banner .imgmedio,.imgmedio{ text-align:center; }
.banner .imgmedio img{ box-shadow:0 4px 18px rgba(7,42,74,.12); }
.banner hr{ border-color:#d6e6f4; opacity:1; }
.banner ul.relacionados{ display:flex; flex-wrap:wrap; gap:.5rem; padding:0; list-style:none; }
.relacionados a{ display:inline-block; padding:.38rem .95rem; border-radius:2rem; background:#fff; border:1px solid #9ec5ea; color:var(--ba-azul-med); font-size:.92rem; font-weight:500; box-shadow:0 1px 3px rgba(7,42,74,.08); transition:background .15s, color .15s, border-color .15s; }
.relacionados a:hover,.relacionados a:focus-visible{ background:var(--ba-azul-med); border-color:var(--ba-azul-med); color:#fff; text-decoration:none; }

/* Caja de datos / info */
.info-box,.datos-clave{
	background:var(--ba-claro); border-left:4px solid var(--ba-celeste);
	border-radius:.5rem; padding:1rem 1.15rem; margin:1.2rem 0;
}
.info-box p:last-child{ margin-bottom:0; }
.datos-clave ul{ padding-left:1.1rem; margin-bottom:0; }
.banner .datos-clave li{ font-size:.97rem; line-height:1.6; }

/* Fotos de contenido */
.foto-contenido{ max-width:700px; margin:1.25rem auto 1.5rem; }
.foto-contenido img{ display:block; width:100%; height:auto; border-radius:.5rem; }
.foto-contenido figcaption,.banner figure figcaption{ font-size:.85rem; color:var(--ba-gris); margin-top:.4rem; text-align:center; }

/* Tablas */
.banner .table{ font-size:.95rem; }
.banner .table thead th{ background:var(--ba-azul-med); color:#fff; border-color:var(--ba-azul-med); }

/* ===== Tarjetas (home y secciones) ===== */
.after-banner{ padding:10px 0 30px; }
.after-banner > .container{ max-width:1140px; }
.default-heading h2{ text-align:center; color:var(--ba-azul); font-size:1.6rem; margin:1rem 0 .5rem; }
.destino-card{
	border:0; border-radius:.7rem; overflow:hidden; height:100%; background:#fff;
	box-shadow:0 2px 12px rgba(7,42,74,.10); transition:transform .18s ease, box-shadow .18s ease;
}
.destino-card:hover{ transform:translateY(-4px); box-shadow:0 10px 26px rgba(7,42,74,.18); }
.destino-card .card-img{ overflow:hidden; }
.destino-card img{ width:100%; height:190px; object-fit:cover; border-radius:0; display:block; }
.destino-card .card-body{ padding:.85rem 1rem 1.1rem; }
.destino-card h3{ font-size:1.12rem; margin:0; }
.destino-card h3 a{ color:var(--ba-azul); }
.destino-card h3 a::after{ content:""; position:absolute; inset:0; }
.destino-card{ position:relative; }
.destino-card p{ font-size:.92rem; color:var(--ba-gris); margin:.35rem 0 0; }

/* ===== FAQ ===== */
.faq{ max-width:820px; margin:1rem auto 2.2rem; }
.faq h2{ color:var(--ba-azul); font-size:1.45rem; margin-bottom:.9rem; }
.faq .accordion-button{ font-weight:500; color:var(--ba-azul); }
.faq .accordion-button:not(.collapsed){ color:var(--ba-azul); background:var(--ba-claro); box-shadow:none; }
.faq .accordion-button:focus{ box-shadow:0 0 0 .2rem rgba(116,172,223,.35); }
.faq .accordion-body{ line-height:1.65; }
.faq .accordion-body p:last-child{ margin-bottom:0; }

/* ===== Botones ===== */
.boton-centro{ display:flex; justify-content:center; margin:22px 0; }
.boton-centro .btn,.btn-ba{
	background:var(--ba-azul-med); border-color:var(--ba-azul-med); color:#fff; font-weight:500;
	padding:.65rem 1.3rem; border-radius:2rem;
}
.boton-centro .btn:hover,.btn-ba:hover{ background:var(--ba-azul); border-color:var(--ba-azul); color:#fff; text-decoration:none; }

/* ===== Google Maps ===== */
.google-maps{ aspect-ratio:7/6; width:100%; max-width:700px; margin:0 auto 1rem; overflow:hidden; position:relative; border-radius:.5rem; }
.google-maps iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* ===== Indice de contenido ===== */
.indice-conteudo{ max-width:700px; margin:1.5em auto; padding:1.1em 1.2em; background:var(--ba-claro); border-left:4px solid var(--ba-celeste); border-radius:6px; }
.indice-conteudo ol{ margin:.6em 0 0 1.2em; padding:0; }
.indice-conteudo li{ margin-bottom:5px; }

/* ===== Footer ===== */
.site-footer{ background:var(--ba-azul); color:#d7e6f5; border-top:4px solid var(--ba-sol); margin-top:1.5rem; }
.site-footer p.foot-title{ color:#fff; font-size:.95rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; line-height:1.2; margin:0 0 .8rem; }
.site-footer a{ color:#d7e6f5; }
.site-footer a:hover{ color:#fff; text-decoration:underline; }
.site-footer ul{ list-style:none; padding:0; margin:0; }
.site-footer ul li{ margin-bottom:.4rem; font-size:.9rem; }
.site-footer .foot-brand p:not(.foot-title){ font-size:.88rem; color:#b9d2ea; line-height:1.6; }
.site-footer .social a{ display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; margin-right:.4rem; border-radius:50%; color:#fff; }
.site-footer .social a.fb{ background:#1877f2; }
.site-footer .social a.ig{ background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%); }
.site-footer .social a.email{ background:var(--ba-azul-med); }
.site-footer .social a:hover{ filter:brightness(1.12); text-decoration:none; }
.footer-bottom{ background:var(--ba-noite); font-size:.82rem; color:#a9c3dc; }

/* ===== Popup promocional ===== */
.promo-modal{ border:0; border-radius:18px; overflow:hidden; }
.promo-modal img{ width:100%; height:auto; display:block; }
.promo-close{ position:absolute; top:10px; right:12px; z-index:10; background-color:#fff; border-radius:50%; padding:.6rem; opacity:1; }
.promo-preco{ font-size:1.9rem; font-weight:700; color:var(--ba-azul-med); margin:.5rem 0 1.2rem; }

@media (max-width:767px){
	.banner h1{ font-size:1.6rem; }
	.banner h2{ font-size:1.3rem; }
	.destino-card img{ height:200px; }
}

/* ===== AdSense ===== */
.adsense-incontent{ width:100%; max-width:700px; margin:32px auto; text-align:center; overflow:hidden; }
.adsense-incontent .adsbygoogle{ display:block; width:100%; }

/* ===== Componentes heredados (zocalo, whatsapp, tablas clima/precios) ===== */

/* ===== Veja também ===== */
.veja-tambem{ margin:1.2rem 0 1.5rem; padding:.85rem 1rem .4rem; background:var(--ba-claro); border:1px solid #d3e5f6; border-left:4px solid var(--ba-celeste); border-radius:.6rem; }
.banner .veja-tambem p.veja-titulo{ font-weight:700; color:var(--ba-azul); font-size:.95rem; margin-bottom:.5rem; }
.veja-tambem .relacionados{ margin-bottom:.4rem; }

/* ===== Fecha de actualización (solo Preços y Dólar blue, rutina mensual) ===== */
.banner p.actualizado{ text-align:center; margin:-.2rem 0 1rem; font-size:.88rem; color:var(--ba-gris); }
.banner p.actualizado time{ font-weight:500; color:var(--ba-azul-med); }

.banner p.lead-intro{ font-size:1.1rem; line-height:1.7; color:#2f3a48; }

/* Bloque de promo dentro del contenido (reemplaza al popup) */
.banner .promo-box{ display:flex; gap:1.25rem; align-items:center; margin:1.8rem 0; padding:1rem; background:#fff; border:1px solid #d3e5f6; border-top:4px solid var(--ba-sol); border-radius:.8rem; box-shadow:0 2px 10px rgba(7,42,74,.08); }
.banner .promo-box img{ width:42%; max-width:260px; height:auto; border-radius:.6rem; flex-shrink:0; }
.banner .promo-box-texto p{ margin-bottom:.35rem; }
.banner .promo-box p.promo-box-etiqueta{ font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ba-azul-med); }
.banner .promo-box p.promo-box-titulo{ font-size:1.2rem; font-weight:700; color:var(--ba-azul); line-height:1.3; }
.banner .promo-box p.promo-box-preco{ font-size:1.6rem; font-weight:700; color:var(--ba-azul-med); margin:.4rem 0 .8rem; }
.banner .promo-box p.promo-box-preco span{ font-size:.95rem; font-weight:500; color:var(--ba-gris); }
@media (max-width:575.98px){ .banner .promo-box{ flex-direction:column; text-align:center; } .banner .promo-box img{ width:100%; max-width:none; } .banner .promo-box .btn{ width:100%; } }

/* Imágenes: clase propia (BS5 no la trae) */
.img-responsive{ max-width:100%; height:auto; }
/* Centrado de imágenes de contenido (reemplaza a .imgmedio) */
.banner img{ display:block; margin-left:auto; margin-right:auto; }

/* Imagenes de contenido: figure unificado */
.banner figure{ margin:1rem 0; }

/* Ver también / See also / Veja também - enlazado interno */
.ver-tambien{ margin:30px 0 10px; padding:16px 18px; background:var(--ba-claro); border:1px solid #d7e5f2; border-radius:12px; }
.ver-tambien .vt-titulo{ margin:0 0 12px; display:flex; align-items:center; gap:8px; font-weight:600; font-size:1rem; color:var(--ba-azul); }
.ver-tambien ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.ver-tambien li{ margin:0; }
.ver-tambien a{ display:inline-block; padding:7px 15px; background:#fff; border:1px solid var(--ba-celeste); border-radius:999px; color:var(--ba-azul-med); text-decoration:none; font-size:.9rem; font-weight:500; transition:background .15s ease, color .15s ease, border-color .15s ease; }
.ver-tambien a:hover, .ver-tambien a:focus{ background:var(--ba-azul-med); border-color:var(--ba-azul-med); color:#fff; }

/* Selector de idioma en el nav */
.lang-switch{ flex-direction:row; align-items:center; gap:2px; margin-left:10px; }
.lang-switch .nav-link{ padding:.3rem .55rem; font-size:.85rem; }
.lang-switch .lang-cur{ font-weight:700; color:var(--ba-sol); }
@media (min-width:992px){ .lang-switch{ border-left:1px solid #dbe7f3; padding-left:8px; } }
/* ZÓCALO BASE */
.zocalo {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #ffffff;
  border-top: 1px solid #ddd;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.15);
  z-index: 9999;

  /* Animación */
  transform: translateY(100%);
  opacity: 0;
  visibility: hidden;
  transition: transform 0.3s ease, opacity 0.3s ease;

  font-family: sans-serif;
}

/* Mostrar */
.zocalo.mostrar {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

/* HEADER */
.zocalo-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 10px 3px;
  border-bottom: 1px solid #eee;
}

.zocalo-titulo {
  font-size: 14px;
  font-weight: 600;
  color: #111;
  letter-spacing: 0.2px;
}

.zocalo-cerrar {
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  color: #999;
}

/* CONTENIDO */
.zocalo-contenido {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
}

/* IMAGEN */
.zocalo img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 5px;
}

/* TEXTO */
.zocalo-texto {
  flex: 1;
}

.zocalo-texto p {
  margin: 0 0 4px;
  color: #333;
  line-height: 1.4;
}
#zocalo .zocalo-texto p {
  font-size: 0.9rem;
  line-height: 1.4;
}

/* BOTÓN */
.zocalo-boton {
  display: inline-block;
  background: #ffcc00;
  color: #000;
  padding: 5px 8px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
}

.zocalo-boton:hover {
  background: #e6b800;
  transform: scale(1.03);
}

/* HOVER (detalle sutil) */
.zocalo-boton:hover {
  opacity: 0.9;
}

/* MOBILE */
@media (max-width: 480px) {
  .zocalo-texto p {
    font-size: 11px;
  }

  .zocalo img {
    width: 55px;
    height: 55px;
  }
}

/* DESKTOP OFF */
@media (min-width: 769px) {
  .zocalo {
    display: none !important;
  }
}

.whatsapp-flotante {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 10px;
  background-color: #25D366;
  padding: 10px 15px;
  border-radius: 30px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  text-decoration: none;
  color: white;
  font-family: inherit;
  transition: background-color 0.3s;
}

.whatsapp-flotante:hover {
  background-color: #1ebe57;
}

.whatsapp-flotante img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
}

.whatsapp-texto {
  font-size: 16px;
  font-weight: bold;
}

/* En móvil, ocultamos el texto y redondeamos el fondo */
@media (max-width: 600px) {
  .whatsapp-texto {
    display: none;
  }

  .whatsapp-flotante {
    padding: 10px;
    border-radius: 50%;
  }
}


.indice-conteudo{
  max-width:700px;
  margin:1.5em auto;
  padding:1.2em;
  background:#f8f8f8;
  border-left:4px solid #74acdf;
  border-radius:6px;
}

.indice-conteudo ol{
  margin:0.7em 0 0 1.2em;
  padding:0;
}

.indice-conteudo li{
  margin-bottom:6px;
}

    .clima-seccion {
        width: 100%;
        max-width: 700px; /* Cambiado de 600px o 650px a 700px */
        margin: 20px auto;
        font-family: inherit;
        color: #333;
    }
    .tabla-clima {
        width: 100%;
        border-collapse: collapse;
        margin-bottom: 30px;
        border: 1px solid #ccc;
    }
    .tabla-clima thead th {
        background-color: #dcebf8;
        padding: 12px;
        border: 1px solid #ccc;
        font-size: 14px;
    }
    .tabla-clima td {
        padding: 10px;
        border: 1px solid #ccc;
        text-align: center;
        font-size: 14px;
    }
    .bg-amarillo { background-color: #dcebf8; font-weight: bold; }
    .bg-gris { background-color: #EEEEEE; }

    @media screen and (max-width: 550px) {
        .tabla-clima, .tabla-clima thead, .tabla-clima tbody, .tabla-clima th, .tabla-clima td, .tabla-clima tr {
            display: block;
        }
        .tabla-clima thead { display: none; }
        .tabla-clima tr { margin-bottom: 15px; border: 2px solid #dcebf8; }
        .tabla-clima td {
            text-align: right !important;
            padding-left: 50% !important;
            position: relative;
            border: none;
            border-bottom: 1px solid #eee;
            min-height: 35px;
            display: flex;
            align-items: center;
            justify-content: flex-end;
        }
        .tabla-clima td:before {
            content: attr(data-label);
            position: absolute;
            left: 10px;
            width: 45%;
            font-weight: bold;
            text-align: left;
            font-size: 12px;
        }
        .td-encabezado {
            background-color: #dcebf8 !important;
            text-align: center !important;
            padding-left: 10px !important;
            font-size: 16px !important;
            justify-content: center !important;
        }
        .td-encabezado:before { content: "" !important; }
    }



/* ===== Tabelas de precos: 700px no desktop, cartoes no mobile (.precos-tabela) ===== */
.precos-tabela{width:100%;max-width:700px;margin-left:auto;margin-right:auto}
@media (max-width:600px){
  .table-responsive{overflow:visible;border:0}
  .precos-tabela thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .precos-tabela,.precos-tabela tbody,.precos-tabela tr,.precos-tabela td{display:block;width:100%;box-sizing:border-box}
  .precos-tabela tr{border:1px solid #ddd;border-radius:8px;margin-bottom:10px;padding:8px 12px;background:#fff}
  .precos-tabela td{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border:0;padding:5px 0;text-align:right;white-space:normal!important;overflow-wrap:anywhere}
  .precos-tabela td::before{content:attr(data-label);font-weight:600;color:#666;text-align:left;flex:0 0 auto}
  .precos-tabela td:first-child{display:block;text-align:left;font-weight:700;border-bottom:1px solid #eee;margin-bottom:6px;padding-bottom:8px;white-space:normal!important;overflow-wrap:anywhere}
  .precos-tabela td:first-child::before{content:none}
}
