/* Bloques a medida de Born2Travel (secciones añadidas desde el editor) */
/* El wrapper editable no genera caja: el layout queda idéntico al original */
.b2t-editable{display:contents}
.b2t-block{padding:72px 20px;font-family:'DM Sans',system-ui,-apple-system,sans-serif}
.b2t-wrap{max-width:1120px;margin:0 auto}
.b2t-eyebrow{letter-spacing:2px;text-transform:uppercase;font-weight:700;color:#845536;font-size:13px;margin:0 0 10px;text-align:center}
.b2t-h2{font-family:'Prata',serif;font-weight:400;color:#3E2500;font-size:38px;line-height:1.18;margin:0 0 16px;text-align:center}
.b2t-h3{font-family:'Prata',serif;font-weight:400;color:#3E2500;font-size:23px;line-height:1.25;margin:0 0 10px}
.b2t-p{color:#5b5045;font-size:17px;line-height:1.7;text-align:center;max-width:760px;margin:0 auto 12px}
.b2t-p.b2t-left{text-align:left;max-width:none;margin-left:0}
.b2t-img{width:100%;border-radius:16px;display:block;object-fit:cover}
.b2t-block--text{background:#F7F1EA}
/* columnas */
.b2t-cols{display:grid;gap:34px}
.b2t-cols-2{grid-template-columns:repeat(2,1fr)}
.b2t-cols-3{grid-template-columns:repeat(3,1fr)}
.b2t-cols-4{grid-template-columns:repeat(4,1fr)}
/* imagen + texto */
.b2t-2col{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.b2t-block--imgtext .b2t-h2,.b2t-block--imgtext .b2t-p{text-align:left;margin-left:0;max-width:none}
.b2t-reverse{direction:rtl}.b2t-reverse>*{direction:ltr}
.b2t-block--imgfull{padding:0}
.b2t-block--imgfull .b2t-img{border-radius:0;max-height:76vh}
/* video / embed */
.b2t-video,.b2t-embed{position:relative;padding-top:56.25%;background:#e7ddd0;border-radius:16px;color:#845536;font-weight:600}
.b2t-video[data-b2t-video],.b2t-embed[data-b2t-embed]{display:flex;align-items:center;justify-content:center;text-align:center;padding:0;min-height:220px}
.b2t-video iframe,.b2t-video video,.b2t-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:16px;object-fit:cover}
.b2t-embed[data-b2t-embed]{padding-top:0}
/* galeria */
.b2t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.b2t-grid .b2t-img{height:250px}
/* cita */
.b2t-block--quote{background:#F7F1EA}
.b2t-quote{font-family:'Prata',serif;font-size:28px;line-height:1.4;color:#3E2500;text-align:center;max-width:820px;margin:0 auto 14px;border:0}
.b2t-quote-author{text-align:center;color:#845536;font-weight:700;letter-spacing:.5px}
/* caracteristicas */
.b2t-feature{text-align:center}
.b2t-ico{font-size:40px;line-height:1;margin-bottom:12px}
.b2t-feature .b2t-h3{text-align:center}
.b2t-feature .b2t-p{margin-top:0}
/* cifras */
.b2t-stat{text-align:center}
.b2t-num{font-family:'Prata',serif;font-size:46px;color:#845536;line-height:1}
.b2t-lbl{color:#5b5045;font-size:15px;letter-spacing:1px;text-transform:uppercase;margin-top:8px}
/* faq acordeon */
.b2t-acc{border-bottom:1px solid #e2d5c4;padding:6px 0}
.b2t-acc summary{cursor:pointer;list-style:none;font-family:'Prata',serif;font-size:20px;color:#3E2500;padding:16px 30px 16px 4px;position:relative}
.b2t-acc summary::-webkit-details-marker{display:none}
.b2t-acc summary::after{content:'+';position:absolute;right:6px;top:14px;font-size:24px;color:#845536}
.b2t-acc[open] summary::after{content:'–'}
.b2t-acc-body{padding:0 4px 14px}
/* botones */
.b2t-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.b2t-block--cta{background:#3E2500}
.b2t-block--cta .b2t-h2{color:#fff}
.b2t-block--cta .b2t-p{color:#efe2d2}
.b2t-btn{display:inline-block;margin-top:14px;background:#845536;color:#fff;padding:14px 34px;border-radius:999px;font-weight:600;text-decoration:none;font-family:'DM Sans',sans-serif}
.b2t-btn:hover{background:#6e4529}
.b2t-btn-outline{background:transparent;color:#845536;box-shadow:inset 0 0 0 2px #845536}
.b2t-btn-outline:hover{background:#845536;color:#fff}
/* separadores */
.b2t-block--divider{padding:20px}
.b2t-hr{border:0;border-top:1px solid #e2d5c4;max-width:1120px;margin:0 auto}
.b2t-block--spacer{padding:0}
.b2t-spacer{height:60px}
@media(max-width:780px){
 .b2t-2col,.b2t-cols-2,.b2t-cols-3,.b2t-cols-4{grid-template-columns:1fr}
 .b2t-grid{grid-template-columns:1fr 1fr}
 .b2t-h2{font-size:29px}.b2t-block{padding:54px 18px}.b2t-reverse{direction:ltr}
}


/* ---- Newsletter Born2Travel ---- */
.newsletter-b2t{background:linear-gradient(135deg,#3E2500 0%,#6b4423 100%);padding:74px 24px;text-align:center}
.newsletter-b2t-inner{max-width:640px;margin:0 auto}
.newsletter-b2t h2{font-family:'Prata',Georgia,serif;font-weight:400;color:#fff;font-size:clamp(28px,4vw,42px);line-height:1.15;margin:8px 0 14px}
.newsletter-b2t-lead{color:#e7d6bd;font-size:17px;line-height:1.6;margin:0 auto 28px;max-width:520px}
.newsletter-b2t-form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;max-width:560px;margin:0 auto}
.newsletter-b2t-form input[type=text]:not(.nl-hp),.newsletter-b2t-form input[type=email]{flex:1 1 180px;min-width:0;padding:15px 18px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.09);color:#fff;border-radius:12px;font-size:15px;font-family:inherit}
.newsletter-b2t-form input::placeholder{color:#cbb89b}
.newsletter-b2t-form input:focus{outline:none;border-color:#E08A2B;background:rgba(255,255,255,.15)}
.newsletter-b2t-form button{flex:0 0 auto;padding:15px 32px;background:#E08A2B;color:#fff;border:0;border-radius:12px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .2s}
.newsletter-b2t-form button:hover{background:#c9761c}
.newsletter-b2t-form button:disabled{opacity:.75;cursor:default}
.nl-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.newsletter-b2t-msg{min-height:20px;margin:15px 0 0;font-size:14px;font-weight:600}
.newsletter-b2t-msg.ok{color:#93e6b4}
.newsletter-b2t-msg.err{color:#ffb4a6}
.newsletter-b2t-small{color:#b89b78;font-size:12px;margin:10px 0 0}
@media(max-width:520px){.newsletter-b2t-form{flex-direction:column}.newsletter-b2t-form button{width:100%}}

/* ---- Botón hero + icono-imagen ---- */
.hero-cta{display:inline-block;margin-top:26px;padding:14px 34px;background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.85);border-radius:999px;font-family:'DM Sans',sans-serif;font-weight:600;font-size:15px;letter-spacing:.3px;text-decoration:none;transition:all .2s}
.hero-cta:hover{background:#fff;color:#3E2500;border-color:#fff}
/* tarjetas home: destino + fecha */
.vc-dest{margin:3px 0 0;font-size:12.5px;color:#9a7b53;letter-spacing:.6px;text-transform:uppercase;font-family:'DM Sans',sans-serif;font-weight:600}
.vc-date{margin:-3px 0 0;font-size:14px;color:#6b5d4c;font-family:'DM Sans',sans-serif}
.voyage-card .vc-eyebrow{display:none}
.b2t-icon-img{width:48px;height:48px;object-fit:contain;display:inline-block}


/* ---- Desplegable de destinos en el menú ---- */
.nav-has-drop{position:relative}
.nav-has-drop>a::after{content:"\25BE";font-size:.7em;margin-left:5px;opacity:.7}
.nav-drop{position:absolute;top:100%;left:50%;margin-top:2px;transform:translateX(-50%) translateY(8px);min-width:250px;background:#fff;border-radius:14px;box-shadow:0 14px 40px rgba(62,37,0,.20);padding:8px;list-style:none;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;z-index:1200}
.nav-has-drop:hover .nav-drop,.nav-has-drop:focus-within .nav-drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nav-drop::before{content:"";position:absolute;bottom:100%;left:0;right:0;height:14px}
.nav-drop li{margin:0}
.nav-drop a{display:flex;flex-direction:column;gap:1px;padding:9px 14px;border-radius:9px;color:#3a2e22;font-size:14px;line-height:1.25;white-space:nowrap;text-decoration:none;font-family:'DM Sans',sans-serif}
.nav-drop a:hover{background:#f3ece0}
.nav-drop-t{font-weight:600;color:#3a2e22}
.nav-drop-d{font-size:11.5px;letter-spacing:.5px;text-transform:uppercase;color:#9a7b53}
.nav-drop-all{border-top:1px solid #eee3d3;margin-top:4px}
.nav-drop-all a{color:#845536;font-weight:700}

/* ===== Ajustes Derya (15 jul) ===== */
/* #16 sin cursivas en toda la web */
*, *::before, *::after { font-style: normal !important; }
/* #1 botón hero: mismo formato que el resto (borde fino, mayúsculas) */
.hero-cta{border-width:1px !important;text-transform:uppercase;letter-spacing:1.5px;font-weight:600;font-size:13px;padding:15px 32px}
/* #3/#12/#14 eyebrows: un único formato */
.section-tag,.split-eyebrow,.trip-block-tag,.page-hero-eyebrow,.trip-section-eyebrow,.ve-exp-subtag,.trip-experiences-subtitle,.instagram-feed-subtitle,.section-eyebrow{font-family:'DM Sans',sans-serif !important;font-size:12px !important;font-weight:600 !important;letter-spacing:2.5px !important;text-transform:uppercase !important;margin-bottom:14px !important}
.section-tag,.section-tag.muted,.split-eyebrow,.trip-block-tag,.trip-section-eyebrow,.ve-exp-subtag{color:var(--accent) !important}
.split-eyebrow--light,.page-hero-eyebrow,.trip-section-eyebrow.light,.why-b2t .split-eyebrow{color:#f0e2d2 !important}
/* #11 FAQ de la ficha alineado a la izquierda con el texto */
.trip-content .faq-list,.trip-content .section-header{max-width:100% !important;margin-left:0 !important;margin-right:0 !important;text-align:left !important}
.trip-content .section-header{margin-bottom:clamp(20px,3vw,32px) !important}
/* #13 menos hueco entre galería y vídeo */
.gallery.gallery--beige{padding-bottom:clamp(24px,3vw,40px) !important}
.next-trip-divider--video{margin-top:0 !important}

/* Widget de reserva simplificado (Derya 15 jul) */
.bw-simple .bw-departslabel{margin:18px 0 8px}
.bw-select{width:100%;padding:13px 14px;border:1px solid #d9cbb6;border-radius:12px;font-size:15px;font-family:inherit;background:#fff;color:#3a2e22;cursor:pointer;margin-bottom:14px}
.bw-deposit{font-size:12px;color:var(--muted-2);margin:2px 0 14px}
.bw-simple .bk-btn{width:100%}
.bw-or{text-align:center;margin:14px 0;position:relative;color:var(--muted-2);font-size:13px}
.bw-or::before,.bw-or::after{content:"";position:absolute;top:50%;width:calc(50% - 22px);height:1px;background:#e8ddcb}
.bw-or::before{left:0}.bw-or::after{right:0}
.bw-questions{display:block;text-align:center;padding:12px;border:1px solid #d9cbb6;border-radius:12px;color:#845536;font-weight:600;text-decoration:none;margin-bottom:16px}
.bw-questions:hover{background:#f3ece0}
.bw-simple .bk-perks{list-style:none;padding:14px 0 0;margin:0 0 12px;border-top:1px solid #eee3d3}
.bw-simple .bk-perks li{font-size:13px;color:#6b5d4c;padding:5px 0;display:flex;gap:8px;align-items:flex-start}
.bk-perk-ico{flex:0 0 auto}

/* Lightbox de vídeo (Derya) */
.b2t-vidbtn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer;z-index:3}
.b2t-vidlb{position:fixed;inset:0;background:rgba(0,0,0,.9);z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px}
.b2t-vidlb video{max-width:min(920px,95vw);max-height:90vh;width:auto;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.b2t-vidlb-close{position:absolute;top:18px;right:24px;background:transparent;border:0;color:#fff;font-size:34px;cursor:pointer;line-height:1}

/* Contacto reestructurado (Derya) */
.contact-pro--stacked{display:block !important;max-width:720px;margin:0 auto;padding-left:24px;padding-right:24px}
.contact-stacked{text-align:center;margin-bottom:34px}
.contact-lead{max-width:520px;margin:12px auto 24px;color:#6b5d4c}
.contact-channels{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.contact-chan-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border:1px solid #d9cbb6;border-radius:12px;color:#3a2e22;text-decoration:none;font-weight:600;font-size:14px;background:#fff}
.contact-chan-btn:hover{background:#f3ece0}
.contact-chan-btn svg{width:18px;height:18px}
.contact-pro--stacked .contact-form-card{max-width:100% !important;margin:0 auto}

/* Consonancia de textos: párrafos de las fichas = mismo estilo que comunidad (Derya) */
.trip-content .trip-block p,
.trip-content .trip-block [data-b2t-field] p,
.trip-welcome-intro,
.trip-welcome-content > p,
.ve-vistazo-text p,
.trip-details-content p,
.trip-pilar-body p,
.trip-experiences-content > .trip-experiences-closing,
.trip-experience-body p{
  font-family:var(--sans) !important;
  font-size:clamp(14px,1.05vw,16px) !important;
  line-height:1.75 !important;
  color:#3a3a3a !important;
  margin-bottom:18px !important;
  font-weight:400 !important;
}
.ve-vistazo-text p:last-child,.trip-content .trip-block [data-b2t-field] p:last-child{margin-bottom:0 !important}

/* Mensaje del formulario de descuento (home) */
.aventura-wide-msg{width:100%;margin:12px 0 0;font-size:14px;font-weight:600;min-height:18px}
.aventura-wide-msg.ok{color:#2f7d5b}
.aventura-wide-msg.err{color:#b3261e}

/* Fix móvil: input del bloque "50€ de descuento" (evita el óvalo gigante) */
@media (max-width: 760px){
  .aventura-wide-row .aventura-wide-form { flex-direction: column; max-width: 100%; }
  .aventura-wide-row .aventura-wide-form input { flex: 0 0 auto; width: 100%; }
  .aventura-wide-row .aventura-wide-form button { width: 100%; }
}

/* Fix móvil: campos de la newsletter (evitar cajones altos por el flex-basis) */
@media (max-width: 520px){
  .newsletter-b2t-form input[type=text]:not(.nl-hp),
  .newsletter-b2t-form input[type=email]{ flex: 0 0 auto; width: 100%; }
}

/* Fix móvil: sección "Más que un viaje" (intro-split) — menos espacio y botón que no se corta */
@media (max-width: 600px){
  .intro-split, .intro-split--compact{ padding-top: 42px !important; padding-bottom: 42px !important; gap: 26px !important; }
  .intro-split-media, .intro-split--compact .intro-split-media{ min-height: 260px !important; height: auto !important; }
  .intro-split-content{ justify-content: flex-start !important; }
  .intro-split-cta.intro-split-cta--btn{
    font-size: 16px !important; padding: 13px 22px !important; line-height: 1.3 !important;
    height: auto !important; min-height: 0 !important; white-space: normal !important;
    text-align: center !important; align-self: flex-start !important; max-width: 100% !important;
  }
}

/* Fix móvil: el botón del intro-split lo tapaba la sección de abajo (next-trips) */
@media (max-width: 600px){
  .intro-split-content{ position: relative; z-index: 2; }
  .intro-split--compact{ padding-bottom: 56px !important; }
  .intro-split-cta.intro-split-cta--btn{ margin-bottom: 6px !important; }
}

/* Fix móvil: quitar el solape de -84px que tapaba el botón del intro-split */
@media (max-width: 600px){
  .next-trips{ margin-top: 0 !important; }
}

/* Fix móvil: el bloque "€50 descuento" tenía flex-basis (220/340px) que en columna se volvía altura fija -> demasiado alto */
@media (max-width: 760px){
  .aventura-wide-row .aventura-wide-discount,
  .aventura-wide-row .aventura-wide-form { flex: 0 0 auto !important; }
  .aventura-wide-row { gap: 14px !important; margin-top: 12px !important; }
}

/* Rayas del menú móvil visibles sobre cualquier fondo */
.hamburger span{ box-shadow: 0 0 3px rgba(0,0,0,.45); }

/* #1 vídeo intro-split: recuperar altura para que no se recorte en móvil */
@media (max-width: 600px){
  .intro-split-media, .intro-split--compact .intro-split-media{ min-height: 420px !important; }
  /* #4 bloques de ofertas rosa más compactos */
  .aventura-wide.aventura-wide--compact{ padding-top: 34px !important; padding-bottom: 34px !important; }
  .aventura-wide--compact h2{ margin-bottom: 8px !important; }
  .aventura-wide--compact .aventura-wide-discount{ margin-top: 6px !important; }
  .newsletter-b2t{ padding-top: 40px !important; padding-bottom: 44px !important; }
  .newsletter-b2t h2{ margin-bottom: 10px !important; }
  .newsletter-b2t-lead{ margin-bottom: 12px !important; }
}
