:root{
  --blue:#0E3A5D;
  --orange:#F57C00;
  --green:#25D366;
  --link-main: #0e3a5d;   /* azul oscuro */
--link-hover: #0b5ed7;  /* azul más vivo al hover */

}

body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
}



/* NAVBAR BLANCO */
.navbar{
  background: #ffffff !important;
  border-bottom: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 6px 18px rgba(15,23,42,.06);
}

.navbar .navbar-brand{
  padding: .4rem 0;
}

.navbar .nav-link{
  color: #0E3A5D !important;
  font-weight: 600;
}

.navbar .nav-link:hover{
  color: #F57C00 !important;
}

.navbar .nav-link.active{
  color: #0E3A5D !important;
  position: relative;
}

.navbar .nav-link.active::after{
  content:"";
  position:absolute;
  left: .5rem;
  right: .5rem;
  bottom: .2rem;
  height: 2px;
  background: #F57C00;
  border-radius: 999px;
}

/* LOGO / BRAND */
.brand-icon{
  display:block;
}

.brand-text{
  display:flex;
  align-items:baseline;
  gap:.35rem;
  line-height: 1;
}

.brand-cruceros{
  font-weight: 800;
  font-size: 1.15rem;
  letter-spacing: .4px;
  color: #0E3A5D; /* azul */
  text-transform: uppercase;
}

.brand-argentina{
  font-weight: 800;
  font-size: 1.15rem;
  letter-spacing: .4px;
  color: #F57C00; /* naranja */
  text-transform: uppercase;
}

.text-muted{ color: var(--muted) !important; }


/* CTA naranja */
.btn-primary{
  background: var(--orange);
  border-color: var(--orange);
  color:#fff;
  font-weight:700;
  border-radius: 12px;
  padding: .8rem 1.2rem;
  box-shadow: 0 10px 22px rgba(245,124,0,.25);
}
.btn-primary:hover{
  background:#e46f00;
  border-color:#e46f00;
  color:#fff;
}

/* WhatsApp verde */
.btn-whatsapp{
  background: var(--green);
  border-color: var(--green);
  color:#fff;
  font-weight:700;
  border-radius: 12px;
  padding: .8rem 1.2rem;
  box-shadow: 0 10px 22px rgba(37,211,102,.18);
}
.btn-whatsapp:hover{
  background:#1fb75a;
  border-color:#1fb75a;
  color:#fff;
}
.btn-outline-light{
  border-color: #ffffff;
  color: #ffffff;
}

.btn-outline-light:hover{
  background: #F57C00;
  border-color: #F57C00;
  color: #fff;
}

.btn-outline-primary{
  border-color: rgba(14,58,93,.25);
  color:#0E3A5D;
}
.btn-outline-primary:hover{
  background:#0E3A5D;
  border-color:#0E3A5D;
  color:#fff;
}



.hero{
  position: relative;
  min-height: 420px;
  display: flex;
  align-items: center;
  background: url("/assets/img/hero-cruceros1.webp") center/cover no-repeat;
}

.hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(900px 400px at 18% 20%, rgba(245,124,0,.18), transparent 60%),
    linear-gradient(90deg, rgba(14,58,93,.92), rgba(14,58,93,.55));
}

.hero .container{ position: relative; }

.text-white-75{ color: rgba(255,255,255,.82) !important; }

.hero-pills{
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
}

.pill{
  display:inline-flex;
  align-items:center;
  padding:.35rem .7rem;
  border-radius: 999px;
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.02em;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.18);
  color:#fff;
}

.hero-card{
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 20px;
  padding: 22px 22px;
  box-shadow: 0 22px 60px rgba(0,0,0,.18);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  position: relative;
  overflow: hidden;
}

.hero-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(600px 220px at 15% 0%, rgba(245,124,0,.35), transparent 55%),
              radial-gradient(500px 220px at 95% 10%, rgba(14,58,93,.25), transparent 60%);
  pointer-events:none;
  opacity:.9;
}

.hero-card > *{
  position: relative; /* para que quede arriba del glow */
}

.hero-card-title{
  display:flex;
  align-items:center;
  gap:.55rem;
  font-weight: 900;
  color: #0E3A5D;
  margin-bottom: .9rem;
}

.hero-card-title i{ color:#F57C00; }

.hero-card ul{ margin:0; padding:0; list-style:none; }
.hero-card li{
  display:flex;
  gap:.6rem;
  padding:.55rem 0;
  border-bottom: 1px solid rgba(15,23,42,.08);
  color:#0f172a;
}
.hero-card li:last-child{ border-bottom:0; }

.hero-card li::before{
  content:"";
  width:10px; height:10px;
  margin-top:.35rem;
  border-radius:999px;
  background:#F57C00;
}

.hero-card-link{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  margin-top: .9rem;
  font-weight:800;
  color:#0E3A5D;
  text-decoration:none;
}
.hero-card-link:hover{ color:#F57C00; }


.hero-stats{
  display:flex;
  gap: 1.2rem;
  flex-wrap: nowrap;
}

.hero-stat{
  display:flex;
  align-items:center;
  gap:.6rem;
  padding:.55rem .9rem;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  color:#fff;
  backdrop-filter: blur(6px);
}
.hero-stat > div{
  display:flex;
  align-items:center;
  gap:.35rem;
  line-height:1;
}


.hero-stat i{
  color: #F57C00; /* naranja */
  font-size: 1.1rem;
}

.hero-stat strong{
  font-weight:800;
  font-size:.85rem;
}

.hero-stat span{
  font-size:.85rem;
  opacity:.9;
}



.section-title{
  color: #0E3A5D;
}

.section-title span{
  color: #F57C00;
}

.section-soft{ background:#F5F7FA; }

.card{
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(15,23,42,.06);
}
.card-img-top{
  height: 180px;
  object-fit: cover;
}

.badge-soft{
  background: rgba(245,124,0,.12);
  color: #F57C00;
  border: 1px solid rgba(245,124,0,.25);
  font-weight: 600;
}


.clamp-2{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.kicker{
  color:#F57C00;
  font-weight:800;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .8rem;
  margin-bottom: .35rem;
}

.h-title{
  color:#0E3A5D;
  font-weight: 800;
}

.h-underline{
  position: relative;
  display: inline-block;
  padding-bottom: .35rem;
}
.h-underline::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:72px;
  height:4px;
  background:#F57C00;
  border-radius: 999px;
}
/* Card pro para bloques informativos */
.info-card{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 14px 34px rgba(0,0,0,.06);
  position: relative;
  overflow: hidden;
}

.info-card::after{
  content:"";
  position:absolute;
  right:-90px; top:-90px;
  width:200px; height:200px;
  /*background: radial-gradient(circle, rgba(245,124,0,.18), transparent 65%);*/
}

.info-card-head{
  display:flex;
  align-items:flex-start;
  gap: .85rem;
}

.info-icon{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(245,124,0,.14);
  border: 1px solid rgba(245,124,0,.25);
  color: #F57C00;
  flex: 0 0 44px;
}

.info-title{
  font-weight: 900;
  color: #0E3A5D;
}
.info-title::after{
  content:"";
  display:block;
  width:38px;
  height:3px;
  background:#F57C00;
  border-radius:999px;
  margin-top:.45rem;
}


/* Lista de tips con check */
.tips-list{
  list-style: none;
  padding-left: 0;
}

.tips-list li{
  position: relative;
  padding-left: 30px;
  margin: .7rem 0;
  color: #0f172a;
}

.tips-list li::before{
  content:"\f26a"; /* bi-check-circle-fill */
  font-family: "bootstrap-icons";
  position:absolute;
  left:0;
  top: 0.1rem;
  color:#F57C00;
  font-size: 1.05rem;
}
/* Acordeón limpio, pro */
.accordion-clean .accordion-item{
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: .75rem;
  background: #fff;
}

.accordion-clean .accordion-button{
  font-weight: 800;
  color: #0E3A5D;
  padding: 1rem 1rem;
  background: #fff;
}

.accordion-clean .accordion-button:not(.collapsed){
  background: rgba(245,124,0,.08);
  color: #0E3A5D;
  box-shadow: none;
}

.accordion-clean .accordion-button:focus{
  box-shadow: 0 0 0 .2rem rgba(245,124,0,.18);
}

.accordion-clean .accordion-body{
  color: #374151;
  padding: 1rem 1rem 1.1rem;
}

/* Sección notas */
.notes-section{
  background: #F5F7FA;
  border-radius: 24px;
  padding-left: 18px;
  padding-right: 18px;
}

.section-title{
  color:#0E3A5D;
  font-weight: 900;
}
.section-title span{ color:#F57C00; }

.kicker{
  color:#F57C00;
  font-weight:900;
  text-transform: uppercase;
  letter-spacing: .10em;
  font-size: .75rem;
}

.notes-all{
  border-radius: 999px;
  font-weight: 800;
}

/* Card nota */
.note-card{
  background:#fff;
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.10);
  overflow:hidden;
  box-shadow: 0 14px 34px rgba(0,0,0,.06);
  transition: transform .18s ease, box-shadow .18s ease;
}

.note-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 18px 44px rgba(0,0,0,.10);
}

.note-img{
  display:block;
  height: 190px;
  overflow:hidden;
}

.note-img img{
  width:100%;
  height:100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform .25s ease;
}

.note-card:hover .note-img img{
  transform: scale(1.07);
}

.note-body{
  padding: 16px 16px 18px;
}

.note-meta{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap:.75rem;
  margin-bottom: .6rem;
}

.note-badge{
  display:inline-flex;
  align-items:center;
  padding: .3rem .65rem;
  border-radius: 999px;
  background: rgba(245,124,0,.12);
  border: 1px solid rgba(245,124,0,.22);
  color:#F57C00;
  font-weight: 800;
  font-size: .75rem;
  white-space: nowrap;
}

.note-date{
  color:#64748b;
  font-size: .8rem;
  white-space: nowrap;
}

.note-title{
  font-size: 1.05rem;
  line-height: 1.25;
  font-weight: 900;
  margin: 0 0 .45rem;
}

.note-title a{
  color:#0E3A5D;
}
.note-title a:hover{
  color:#F57C00;
}

.note-excerpt{
  color:#475569;
  font-size: .95rem;
  line-height: 1.35;

  /* clamp 3 líneas */
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
/* Toolbar de notas */
.notes-toolbar{
  background:#F5F7FA;
  border-radius: 18px;
  padding: 14px;
}
.notes-form{
  display:flex;
  gap:.75rem;
  align-items:center;
  flex-wrap: nowrap; /* una sola línea */
}

.notes-search{
  flex: 1 1 auto;
  min-width: 320px;
}

.notes-select{
  flex: 0 0 260px;
}

.notes-filter-btn{
  flex: 0 0 auto;
  white-space: nowrap;
}



.notas-page{
  background:#fff;
}

.article-actions{
  display:flex;
  gap:.6rem;
  flex-wrap:wrap;
  margin-top:.2rem;
}

.article-title{
  font-size: clamp(2rem, 3.5vw, 2.8rem);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #0f172a; /* azul muy oscuro, no negro */
}
.article-lead{
  font-size: 1.1rem;
  line-height: 1.6;
  color: #475569; /* gris azulado */
  max-width: 60ch;
}
.article-content{
  font-size: 1.05rem;
  line-height: 1.75;
  color: #334155; /* gris cálido */
}

.article-content p{
  margin-bottom: 1.1rem;
}

.article-content ul{
  margin: 1rem 0 1.4rem;
  padding-left: 1.2rem;
}

.article-content li{
  margin-bottom: .4rem;
}
.article-content h2,
.article-content h3{
  margin-top: 2rem;
  margin-bottom: .6rem;
  font-weight: 700;
  color: #0f172a;
}

.article-content h2{
  font-size: 1.3rem;
}

.article-content h3{
  font-size: 1.15rem;
}
.article-content h2{
  position: relative;
  padding-left: .75rem;
}

.article-content h2::before{
  content:"";
  position:absolute;
  left:0;
  top:.35em;
  width:4px;
  height:1em;
  border-radius:2px;
  background:#f97316; /* naranja */
}
.article-meta{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:.85rem;
  color:#64748b;
}
.article-content li strong{
  color:#0f172a;
  font-weight:600;
}

.article-btn{
  border-radius: 999px;
  font-weight: 800;
}

.article-figure-empty{
  min-height: 280px;
  background: rgba(255,255,255,.12);
  border: 1px dashed rgba(255,255,255,.25);
  border-radius: 18px;
}
.article-figure-watermark{
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(15,23,42,.12);
  box-shadow: 0 18px 45px rgba(0,0,0,.10);
}

.article-figure-watermark img:first-child{
  width:100%;
  height:auto;
  display:block;
  transform: scale(1.01);
}

.article-watermark{
  position:absolute;
  left: 14px;
  top: 12px;
  width: 92px;
  height: auto;
  padding: 8px 10px;
  border-radius: 14px;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(15,23,42,.12);
  box-shadow: 0 10px 28px rgba(0,0,0,.18);
}

/* ===============================
   LINKS GLOBALES
================================ */

/* Link base */
a{
  color: #0e3a5d;
  text-decoration: none;
  transition: color .2s ease, text-decoration-color .2s ease;
}

/* Hover */
a:hover{
  color: #0b5ed7;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Breadcrumb */
.breadcrumb a{
  color: #0e3a5d;
  font-weight: 500;
}
.breadcrumb a:hover{
  color: #0b5ed7;
}

/* Footer links */
footer a{
  color: #0e3a5d;
  font-weight: 500;
}
footer a:hover{
  color: #0b5ed7;
}

/* Links suaves (meta, pequeñas refs) */
.small a,
.text-muted a{
  color: #0e3a5d;
}

/* No afectar botones */
.btn,
.btn:hover{
  text-decoration: none;
}

/* === Destinos: módulos visuales === */
.dest-stat{
  display:flex;
  gap:.75rem;
  align-items:center;
  padding:14px 14px;
  border-radius:16px;
  border:1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 24px rgba(2,6,23,.05);
}
.dest-stat i{
  font-size: 1.15rem;
  width:42px; height:42px;
  display:grid; place-items:center;
  border-radius:12px;
  background: rgba(245,124,0,.12);
  color:#f57c00;
}
.dest-stat-title{
  font-size:.82rem;
  color:#64748b;
  font-weight:700;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.dest-stat-value{
  color:#0f172a;
  font-weight:800;
  line-height:1.25;
}

.dest-card{
  border-radius:18px;
  border:1px solid rgba(15,23,42,.10);
  background: #fff;
  box-shadow: 0 12px 30px rgba(2,6,23,.06);
  padding:16px 16px 14px;
}
.dest-card-head{
  display:flex;
  align-items:center;
  gap:.6rem;
  margin-bottom:10px;
}
.dest-card-head i{
  font-size: 1.05rem;
  width:38px; height:38px;
  display:grid; place-items:center;
  border-radius:12px;
  background: rgba(14,58,93,.10);
  color:#0e3a5d;
}

.dest-list{
  padding-left: 1.1rem;
  color:#334155;
  line-height:1.6;
}
.dest-list li{ margin-bottom:.45rem; }
/* === Destinos: chips (puertos/navieras) === */
.dest-block{
  border-radius: 18px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.92);
  box-shadow: 0 12px 30px rgba(2,6,23,.06);
  padding: 16px;
}

.dest-block-title{
  display:flex;
  align-items:center;
  gap:.6rem;
  margin-bottom: 12px;
}
.dest-block-title i{
  width:38px; height:38px;
  display:grid; place-items:center;
  border-radius:12px;
  background: rgba(245,124,0,.12);
  color:#f57c00;
  font-size: 1.05rem;
}

.dest-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.dest-chip{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(14,58,93,.18);
  background: #fff;
  color:#0f172a;
  font-weight: 800;
  line-height: 1;
}
.dest-chip small{
  font-weight: 700;
  color:#64748b;
}

.dest-chip-soft{
  background: rgba(14,58,93,.06);
  border-color: rgba(14,58,93,.12);
  font-weight: 800;
}
/* === Navieras chips === */
.dest-chip-naviera{
  gap:.45rem;
  padding: 8px 12px;
  font-weight: 700;
}

.dest-chip-naviera img{
  height: 22px;
  width: auto;
  display: block;
  filter: grayscale(100%);
  opacity: .9;
}

.dest-chip-naviera:hover img{
  filter: grayscale(0%);
  opacity: 1;
}

/* === Destinos cards === */
.destino-card{
  background:#fff;
  border:1px solid #e6e8ec;
  border-radius:16px;
  overflow:hidden;
  transition:all .25s ease;
  height:100%;
}

.destino-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 28px rgba(0,0,0,.08);
}

.destino-thumb{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
}

.destino-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}

.destino-card:hover .destino-thumb img{
  transform:scale(1.05);
}

.destino-body{
  padding:20px;
}

.destino-body h3{
  font-size:1.15rem;
  margin-bottom:8px;
}

.destino-body p{
  color:#5f6b7a;
  font-size:.95rem;
  margin-bottom:14px;
}

.destino-link{
  font-weight:700;
  text-decoration:none;
  color:#0b4db8; /* azul oscuro links */
}

/* Ajuste responsive */
@media (max-width: 768px){
  .notes-toolbar form{
    gap:.6rem;
  }
}

.footer{
  background: #0E3A5D;
  color: rgba(255,255,255,.9);
}

.footer a{
  color: rgba(255,255,255,.9);
}

.footer a:hover{
  color: #F57C00;
}

@media (max-width: 991px){
  .navbar{
    padding-top: .6rem;
    padding-bottom: .6rem;
  }

  .navbar .nav-link{
    padding: .6rem 0;
  }
}
@media (max-width: 768px){
  .hero-stats{
    flex-wrap: wrap;
  }
  .notes-form{ flex-wrap: wrap; }
  .notes-search{ min-width: 100%; }
  .notes-select{ flex: 1 1 100%; }
}

@media (max-width: 576px){
  .brand-cruceros,
  .brand-argentina{
    font-size: 1rem;
  }

  .brand-icon{
    height: 32px;
  }
  .hero-stats{ gap:.6rem; }
  .hero-stat{ padding:.45rem .65rem; }
}
