.elementor-kit-4631{--e-global-color-primary:#0F815D;--e-global-color-secondary:#F46C4D;--e-global-color-text:#000000;--e-global-color-accent:#E2EAF3;--e-global-color-e777cd9:#F7EEE5;--e-global-color-e632858:#FFFFFF00;--e-global-color-e9c5ff0:#868686;--e-global-color-d59e8a8:#FAFAFA;--e-global-color-9947692:#FFFFFFD1;--e-global-color-7e293d1:#22283170;--e-global-color-d5fbd0b:#F2F2F2;--e-global-color-338c422:#181818;--e-global-color-8506857:#F6F6F6;--e-global-color-f3f49f2:#E3E3E3;--e-global-color-98b35a8:#F3F5F5;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:100px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1em;--e-global-typography-primary-letter-spacing:-1.5px;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:24px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.5em;--e-global-typography-secondary-letter-spacing:0.15px;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.75em;--e-global-typography-text-letter-spacing:0.5px;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.5em;--e-global-typography-accent-letter-spacing:0.15px;--e-global-typography-87350ce-font-family:"Montserrat";--e-global-typography-87350ce-font-size:17px;--e-global-typography-87350ce-font-weight:600;--e-global-typography-87350ce-line-height:1em;--e-global-typography-87350ce-letter-spacing:0.25px;--e-global-typography-784143b-font-family:"Montserrat";--e-global-typography-784143b-font-size:17px;--e-global-typography-784143b-font-weight:500;--e-global-typography-784143b-line-height:2em;--e-global-typography-784143b-letter-spacing:0.25px;--e-global-typography-8352cd5-font-family:"Montserrat";--e-global-typography-8352cd5-font-size:50px;--e-global-typography-8352cd5-font-weight:600;--e-global-typography-8352cd5-line-height:1.2em;--e-global-typography-8352cd5-letter-spacing:-1.5px;--e-global-typography-4353ebc-font-family:"Montserrat";--e-global-typography-4353ebc-font-size:40px;--e-global-typography-4353ebc-font-weight:600;--e-global-typography-4353ebc-line-height:1.25em;--e-global-typography-4353ebc-letter-spacing:-1px;--e-global-typography-d4f69a8-font-family:"Montserrat";--e-global-typography-d4f69a8-font-size:32px;--e-global-typography-d4f69a8-font-weight:600;--e-global-typography-d4f69a8-line-height:1.25em;--e-global-typography-d4f69a8-letter-spacing:-0.5px;--e-global-typography-326df42-font-family:"Montserrat";--e-global-typography-326df42-font-size:24px;--e-global-typography-326df42-font-weight:600;--e-global-typography-326df42-line-height:1.25em;--e-global-typography-326df42-letter-spacing:0px;--e-global-typography-49ea2e1-font-family:"Montserrat";--e-global-typography-49ea2e1-font-size:20px;--e-global-typography-49ea2e1-font-weight:600;--e-global-typography-49ea2e1-line-height:1.4em;--e-global-typography-49ea2e1-letter-spacing:0px;--e-global-typography-6524214-font-family:"Montserrat";--e-global-typography-6524214-font-size:14px;--e-global-typography-6524214-font-weight:600;--e-global-typography-6524214-text-transform:uppercase;--e-global-typography-6524214-line-height:1.5em;--e-global-typography-6524214-letter-spacing:0.15px;--e-global-typography-aa06a68-font-family:"Montserrat";--e-global-typography-aa06a68-font-size:16px;--e-global-typography-aa06a68-font-weight:400;--e-global-typography-aa06a68-line-height:1.75em;--e-global-typography-aa06a68-letter-spacing:0.5px;--e-global-typography-39c98ad-font-family:"Montserrat";--e-global-typography-39c98ad-font-size:40px;--e-global-typography-39c98ad-font-weight:500;--e-global-typography-39c98ad-line-height:1.25em;--e-global-typography-39c98ad-letter-spacing:0px;--e-global-typography-366782b-font-family:"Montserrat";--e-global-typography-366782b-font-size:60px;--e-global-typography-366782b-font-weight:700;--e-global-typography-366782b-line-height:1.2em;--e-global-typography-366782b-letter-spacing:-0.5px;--e-global-typography-45f3d24-font-family:"Montserrat";--e-global-typography-45f3d24-font-size:32px;--e-global-typography-45f3d24-font-weight:600;--e-global-typography-45f3d24-line-height:1.25em;--e-global-typography-45f3d24-letter-spacing:-0.5px;--e-global-typography-3de5688-font-family:"Montserrat";--e-global-typography-3de5688-font-size:120px;--e-global-typography-3de5688-font-weight:600;--e-global-typography-3de5688-line-height:1em;--e-global-typography-3de5688-letter-spacing:-4px;background-color:var( --e-global-color-9947692 );color:var( --e-global-color-e9c5ff0 );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-4631 button,.elementor-kit-4631 input[type="button"],.elementor-kit-4631 input[type="submit"],.elementor-kit-4631 .elementor-button{background-color:#F46C4D;font-family:var( --e-global-typography-87350ce-font-family ), Sans-serif;font-size:var( --e-global-typography-87350ce-font-size );font-weight:var( --e-global-typography-87350ce-font-weight );line-height:var( --e-global-typography-87350ce-line-height );letter-spacing:var( --e-global-typography-87350ce-letter-spacing );color:#F7EEE5;border-radius:0px 0px 0px 0px;padding:14px 32px 14px 32px;}.elementor-kit-4631 button:hover,.elementor-kit-4631 button:focus,.elementor-kit-4631 input[type="button"]:hover,.elementor-kit-4631 input[type="button"]:focus,.elementor-kit-4631 input[type="submit"]:hover,.elementor-kit-4631 input[type="submit"]:focus,.elementor-kit-4631 .elementor-button:hover,.elementor-kit-4631 .elementor-button:focus{background-color:var( --e-global-color-primary );color:var( --e-global-color-e777cd9 );}.elementor-kit-4631 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4631 p{margin-block-end:17px;}.elementor-kit-4631 a{color:var( --e-global-color-primary );}.elementor-kit-4631 a:hover{color:var( --e-global-color-text );}.elementor-kit-4631 h1{color:var( --e-global-color-text );font-family:var( --e-global-typography-8352cd5-font-family ), Sans-serif;font-size:var( --e-global-typography-8352cd5-font-size );font-weight:var( --e-global-typography-8352cd5-font-weight );line-height:var( --e-global-typography-8352cd5-line-height );letter-spacing:var( --e-global-typography-8352cd5-letter-spacing );}.elementor-kit-4631 h2{color:var( --e-global-color-text );font-family:var( --e-global-typography-4353ebc-font-family ), Sans-serif;font-size:var( --e-global-typography-4353ebc-font-size );font-weight:var( --e-global-typography-4353ebc-font-weight );line-height:var( --e-global-typography-4353ebc-line-height );letter-spacing:var( --e-global-typography-4353ebc-letter-spacing );}.elementor-kit-4631 h3{color:var( --e-global-color-text );font-family:var( --e-global-typography-d4f69a8-font-family ), Sans-serif;font-size:var( --e-global-typography-d4f69a8-font-size );font-weight:var( --e-global-typography-d4f69a8-font-weight );line-height:var( --e-global-typography-d4f69a8-line-height );letter-spacing:var( --e-global-typography-d4f69a8-letter-spacing );}.elementor-kit-4631 h4{color:var( --e-global-color-text );font-family:var( --e-global-typography-326df42-font-family ), Sans-serif;font-size:var( --e-global-typography-326df42-font-size );font-weight:var( --e-global-typography-326df42-font-weight );line-height:var( --e-global-typography-326df42-line-height );letter-spacing:var( --e-global-typography-326df42-letter-spacing );}.elementor-kit-4631 h5{color:var( --e-global-color-text );font-family:var( --e-global-typography-49ea2e1-font-family ), Sans-serif;font-size:var( --e-global-typography-49ea2e1-font-size );font-weight:var( --e-global-typography-49ea2e1-font-weight );line-height:var( --e-global-typography-49ea2e1-line-height );letter-spacing:var( --e-global-typography-49ea2e1-letter-spacing );}.elementor-kit-4631 h6{color:var( --e-global-color-text );font-family:var( --e-global-typography-6524214-font-family ), Sans-serif;font-size:var( --e-global-typography-6524214-font-size );font-weight:var( --e-global-typography-6524214-font-weight );text-transform:var( --e-global-typography-6524214-text-transform );line-height:var( --e-global-typography-6524214-line-height );letter-spacing:var( --e-global-typography-6524214-letter-spacing );}.elementor-kit-4631 img{border-radius:0px 0px 0px 0px;opacity:1;}.elementor-kit-4631 img:hover{border-radius:0px 0px 0px 0px;opacity:1;}.elementor-kit-4631 label{color:var( --e-global-color-text );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-4631 input:not([type="button"]):not([type="submit"]),.elementor-kit-4631 textarea,.elementor-kit-4631 .elementor-field-textual{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-text );background-color:var( --e-global-color-e777cd9 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-d59e8a8 );border-radius:0px 0px 0px 0px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(min-width:1600px){.elementor-kit-4631{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-4631 h1{font-size:var( --e-global-typography-8352cd5-font-size );line-height:var( --e-global-typography-8352cd5-line-height );letter-spacing:var( --e-global-typography-8352cd5-letter-spacing );}.elementor-kit-4631 h2{font-size:var( --e-global-typography-4353ebc-font-size );line-height:var( --e-global-typography-4353ebc-line-height );letter-spacing:var( --e-global-typography-4353ebc-letter-spacing );}.elementor-kit-4631 h3{font-size:var( --e-global-typography-d4f69a8-font-size );line-height:var( --e-global-typography-d4f69a8-line-height );letter-spacing:var( --e-global-typography-d4f69a8-letter-spacing );}.elementor-kit-4631 h4{font-size:var( --e-global-typography-326df42-font-size );line-height:var( --e-global-typography-326df42-line-height );letter-spacing:var( --e-global-typography-326df42-letter-spacing );}.elementor-kit-4631 h5{font-size:var( --e-global-typography-49ea2e1-font-size );line-height:var( --e-global-typography-49ea2e1-line-height );letter-spacing:var( --e-global-typography-49ea2e1-letter-spacing );}.elementor-kit-4631 h6{font-size:var( --e-global-typography-6524214-font-size );line-height:var( --e-global-typography-6524214-line-height );letter-spacing:var( --e-global-typography-6524214-letter-spacing );}.elementor-kit-4631 button,.elementor-kit-4631 input[type="button"],.elementor-kit-4631 input[type="submit"],.elementor-kit-4631 .elementor-button{font-size:var( --e-global-typography-87350ce-font-size );line-height:var( --e-global-typography-87350ce-line-height );letter-spacing:var( --e-global-typography-87350ce-letter-spacing );}.elementor-kit-4631 label{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-4631 input:not([type="button"]):not([type="submit"]),.elementor-kit-4631 textarea,.elementor-kit-4631 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}}@media(max-width:1024px){.elementor-kit-4631{--e-global-typography-primary-font-size:70px;--e-global-typography-primary-letter-spacing:-1px;--e-global-typography-secondary-font-size:20px;--e-global-typography-8352cd5-font-size:44px;--e-global-typography-4353ebc-font-size:35px;--e-global-typography-4353ebc-letter-spacing:0px;--e-global-typography-39c98ad-font-size:35px;--e-global-typography-39c98ad-letter-spacing:0px;--e-global-typography-366782b-font-size:44px;--e-global-typography-45f3d24-font-size:24px;--e-global-typography-3de5688-font-size:63px;--e-global-typography-3de5688-letter-spacing:-1px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-4631 h1{font-size:var( --e-global-typography-8352cd5-font-size );line-height:var( --e-global-typography-8352cd5-line-height );letter-spacing:var( --e-global-typography-8352cd5-letter-spacing );}.elementor-kit-4631 h2{font-size:var( --e-global-typography-4353ebc-font-size );line-height:var( --e-global-typography-4353ebc-line-height );letter-spacing:var( --e-global-typography-4353ebc-letter-spacing );}.elementor-kit-4631 h3{font-size:var( --e-global-typography-d4f69a8-font-size );line-height:var( --e-global-typography-d4f69a8-line-height );letter-spacing:var( --e-global-typography-d4f69a8-letter-spacing );}.elementor-kit-4631 h4{font-size:var( --e-global-typography-326df42-font-size );line-height:var( --e-global-typography-326df42-line-height );letter-spacing:var( --e-global-typography-326df42-letter-spacing );}.elementor-kit-4631 h5{font-size:var( --e-global-typography-49ea2e1-font-size );line-height:var( --e-global-typography-49ea2e1-line-height );letter-spacing:var( --e-global-typography-49ea2e1-letter-spacing );}.elementor-kit-4631 h6{font-size:var( --e-global-typography-6524214-font-size );line-height:var( --e-global-typography-6524214-line-height );letter-spacing:var( --e-global-typography-6524214-letter-spacing );}.elementor-kit-4631 button,.elementor-kit-4631 input[type="button"],.elementor-kit-4631 input[type="submit"],.elementor-kit-4631 .elementor-button{font-size:var( --e-global-typography-87350ce-font-size );line-height:var( --e-global-typography-87350ce-line-height );letter-spacing:var( --e-global-typography-87350ce-letter-spacing );}.elementor-kit-4631 label{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-4631 input:not([type="button"]):not([type="submit"]),.elementor-kit-4631 textarea,.elementor-kit-4631 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-4631{--e-global-typography-primary-font-size:40px;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-secondary-font-size:18px;--e-global-typography-8352cd5-font-size:40px;--e-global-typography-8352cd5-letter-spacing:0px;--e-global-typography-4353ebc-font-size:35px;--e-global-typography-4353ebc-letter-spacing:0px;--e-global-typography-39c98ad-font-size:35px;--e-global-typography-39c98ad-letter-spacing:0px;--e-global-typography-366782b-font-size:40px;--e-global-typography-366782b-letter-spacing:0px;--e-global-typography-3de5688-font-size:40px;--e-global-typography-3de5688-letter-spacing:0px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-4631 h1{font-size:var( --e-global-typography-8352cd5-font-size );line-height:var( --e-global-typography-8352cd5-line-height );letter-spacing:var( --e-global-typography-8352cd5-letter-spacing );}.elementor-kit-4631 h2{font-size:var( --e-global-typography-4353ebc-font-size );line-height:var( --e-global-typography-4353ebc-line-height );letter-spacing:var( --e-global-typography-4353ebc-letter-spacing );}.elementor-kit-4631 h3{font-size:var( --e-global-typography-d4f69a8-font-size );line-height:var( --e-global-typography-d4f69a8-line-height );letter-spacing:var( --e-global-typography-d4f69a8-letter-spacing );}.elementor-kit-4631 h4{font-size:var( --e-global-typography-326df42-font-size );line-height:var( --e-global-typography-326df42-line-height );letter-spacing:var( --e-global-typography-326df42-letter-spacing );}.elementor-kit-4631 h5{font-size:var( --e-global-typography-49ea2e1-font-size );line-height:var( --e-global-typography-49ea2e1-line-height );letter-spacing:var( --e-global-typography-49ea2e1-letter-spacing );}.elementor-kit-4631 h6{font-size:var( --e-global-typography-6524214-font-size );line-height:var( --e-global-typography-6524214-line-height );letter-spacing:var( --e-global-typography-6524214-letter-spacing );}.elementor-kit-4631 button,.elementor-kit-4631 input[type="button"],.elementor-kit-4631 input[type="submit"],.elementor-kit-4631 .elementor-button{font-size:var( --e-global-typography-87350ce-font-size );line-height:var( --e-global-typography-87350ce-line-height );letter-spacing:var( --e-global-typography-87350ce-letter-spacing );}.elementor-kit-4631 label{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-4631 input:not([type="button"]):not([type="submit"]),.elementor-kit-4631 textarea,.elementor-kit-4631 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ═══════════════════════════════════════════
   MALETA VIAJES — Custom CSS completo
   Última actualización: abril 2026
═══════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&display=swap');

/* ── VARIABLES DE MARCA ── */
:root {
  --m-green:       #0F815D;
  --m-green-dark:  #0a6148;
  --m-green-light: #e6f5f0;
  --m-coral:       #F46C4D;
  --m-coral-light: #fdeae5;
  --m-pink:        #FFB0CA;
  --m-gold:        #EFB54D;
  --m-gold-light:  #fdf3dc;
  --m-cream:       #F7EEE5;
  --m-text:        #1c2b25;
  --m-soft:        #5a6b63;
  --m-border:      #e2dbd4;
}

/* ══════════════════════════════════════════
   TIPOGRAFÍA GLOBAL EN PÁGINA DE PRODUCTO
══════════════════════════════════════════ */

body.single-product,
body.single-product p,
body.single-product li,
body.single-product td,
body.single-product span {
  font-family: 'Montserrat', sans-serif !important;
}

/* Título principal del producto */
body.single-product h1,
body.single-product h1.product_title,
body.single-product .entry-title,
body.single-product .elementor-widget-woocommerce-product-title h1,
.elementor-widget-woocommerce-product-title .product_title {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 800 !important;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem) !important;
  color: #1c2b25 !important;
  line-height: 1.15 !important;
  letter-spacing: -.01em !important;
}

/* Categorías / etiquetas (texto coral arriba del título) */
body.single-product .posted_in a,
body.single-product .product_meta .posted_in a,
body.single-product .elementor-widget-product-meta .posted_in a,
.elementor-widget-product-meta .posted_in a,
.maleta-tag, .hero-tag {
  font-family: 'Montserrat', sans-serif !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: #F46C4D !important;
  text-decoration: none !important;
}

/* Precio */
body.single-product .woocommerce-Price-amount.amount,
body.single-product p.price .woocommerce-Price-amount,
.woocommerce-Price-amount.amount {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 2rem !important;
  font-weight: 800 !important;
  color: #0F815D !important;
}

/* Descripción corta */
body.single-product .woocommerce-product-details__short-description,
body.single-product .elementor-widget-woocommerce-product-short-description .elementor-widget-container {
  font-family: 'Montserrat', sans-serif !important;
  font-size: .95rem !important;
  color: #5a6b63 !important;
  line-height: 1.6 !important;
}

/* Botón añadir al carrito */
body.single-product .single_add_to_cart_button,
body.single-product button.single_add_to_cart_button {
  background: #F46C4D !important;
  border-color: #F46C4D !important;
  color: #ffffff !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: .95rem !important;
  border-radius: 50px !important;
  padding: 14px 32px !important;
  text-transform: none !important;
  box-shadow: 0 4px 16px rgba(244,108,77,.35) !important;
  transition: background .2s, transform .2s !important;
}
body.single-product .single_add_to_cart_button:hover {
  background: #d45a3d !important;
  transform: translateY(-2px) !important;
}

/* Ocultar galería nativa de WooCommerce (usamos el Swiper HTML) */
body.single-product .woocommerce-product-gallery {
  display: none !important;
}

/* ══════════════════════════════════════════
   STRIP VERDE — características del paquete
══════════════════════════════════════════ */

.maleta-strip {
  background: var(--m-green);
  padding: 24px 32px;
}
.maleta-strip-inner {
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 20px 32px;
  justify-content: center;
  align-items: center;
}
.maleta-strip-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
}
.maleta-strip-icon {
  width: 36px; height: 36px;
  background: rgba(255,255,255,.15);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; flex-shrink: 0;
}
.maleta-strip-text strong {
  font-size: .85rem;
  font-weight: 700;
  font-family: 'Montserrat', sans-serif;
}

/* ══════════════════════════════════════════
   PRODUCT CONTENT — estilos automáticos
   (agregar clase "maleta-content" al widget)
══════════════════════════════════════════ */

.maleta-content { font-family: 'Montserrat', sans-serif; color: var(--m-text); }

.maleta-content h3 {
  font-size: 1.25rem;
  font-weight: 800;
  color: var(--m-green);
  margin: 36px 0 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--m-border);
}
.maleta-content h3:first-child { margin-top: 0; }

/* Pills (lista después de h3) */
.maleta-content h3 + ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0 0 8px;
}
.maleta-content h3 + ul li {
  background: var(--m-green-light);
  color: var(--m-green-dark);
  font-size: .8rem;
  font-weight: 600;
  padding: 7px 14px;
  border-radius: 30px;
  border: 1.5px solid rgba(15,129,93,.15);
  line-height: 1.2;
}

/* Card de hotel (h4) */
.maleta-content h4 {
  background: var(--m-cream);
  border-left: 4px solid var(--m-green);
  padding: 12px 18px;
  border-radius: 0 12px 12px 0;
  font-size: .98rem;
  font-weight: 700;
  color: var(--m-text);
  margin: 24px 0 0;
}

/* Filas de fechas/precios (lista después de h4) */
.maleta-content h4 + ul {
  list-style: none;
  padding: 0;
  margin: 0 0 8px;
  border: 1.5px solid var(--m-border);
  border-top: none;
  border-radius: 0 0 12px 12px;
  overflow: hidden;
  background: #fff;
}
.maleta-content h4 + ul li {
  padding: 11px 18px;
  border-bottom: 1px solid var(--m-border);
  font-size: .9rem;
  color: var(--m-soft);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.maleta-content h4 + ul li:last-child { border-bottom: none; }
.maleta-content h4 + ul li strong {
  color: var(--m-green);
  font-weight: 800;
  white-space: nowrap;
}

/* Nota al pie */
.maleta-content em {
  display: block;
  font-size: .78rem;
  color: var(--m-soft);
  margin-top: 16px;
  font-style: italic;
}

/* ══════════════════════════════════════════
   INCLUYE / NO INCLUYE
══════════════════════════════════════════ */

.maleta-includes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
@media(max-width: 640px) { .maleta-includes { grid-template-columns: 1fr; } }

.maleta-includes-col h3 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 16px;
  color: var(--m-text);
  font-family: 'Montserrat', sans-serif;
}
.maleta-includes-col ul { list-style: none; padding: 0; }
.maleta-includes-col li {
  font-size: .9rem;
  padding: 9px 0;
  border-bottom: 1px solid var(--m-border);
  color: var(--m-soft);
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: 'Montserrat', sans-serif;
}
.maleta-includes-col li:last-child { border-bottom: none; }
.maleta-includes-col li::before {
  content: '✓';
  color: var(--m-green);
  font-weight: 800;
  flex-shrink: 0;
}
.maleta-includes-col:last-child li::before {
  content: '✗';
  color: #c04528;
}

/* ══════════════════════════════════════════
   NOTAS IMPORTANTES
══════════════════════════════════════════ */

.maleta-notes {
  background: var(--m-gold-light);
  border: 1.5px solid rgba(239,181,77,.4);
  border-radius: 16px;
  padding: 24px 28px;
}
.maleta-notes h3 {
  font-size: .95rem;
  font-weight: 700;
  color: #9a6e10;
  margin-bottom: 14px;
  font-family: 'Montserrat', sans-serif;
}
.maleta-notes ul { list-style: none; padding: 0; }
.maleta-notes li {
  font-size: .87rem;
  color: var(--m-soft);
  padding: 5px 0;
  display: flex;
  gap: 8px;
  font-family: 'Montserrat', sans-serif;
}
.maleta-notes li::before { content: '·'; color: var(--m-gold); font-weight: 900; flex-shrink: 0; }

/* ══════════════════════════════════════════
   CTA FINAL CON FORMAS MALETA
══════════════════════════════════════════ */

.maleta-cta-final {
  background: var(--m-green);
  padding: 72px 24px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.maleta-cloud { position: absolute; pointer-events: none; }
.maleta-cloud--1 { top: -20px; right: -30px; width: 320px; height: 192px; }
.maleta-cloud--2 { bottom: -30px; left: -20px; width: 260px; height: 156px; transform: rotate(12deg); }
.maleta-cloud--3 { top: 30px; left: 38%; width: 160px; height: 96px; }

.maleta-cta-final-content { position: relative; z-index: 1; max-width: 540px; margin: 0 auto; }
.maleta-cta-final h2 {
  font-family: 'Dillan', 'Montserrat', sans-serif;
  font-size: clamp(1.7rem, 4vw, 2.6rem);
  font-weight: 800;
  color: #fff;
  margin-bottom: 12px;
}
.maleta-cta-final p {
  font-size: 1rem;
  color: rgba(255,255,255,.82);
  margin-bottom: 28px;
  font-family: 'Montserrat', sans-serif;
}
.maleta-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  color: var(--m-green);
  text-decoration: none;
  font-weight: 800;
  font-size: .98rem;
  padding: 16px 36px;
  border-radius: 50px;
  box-shadow: 0 4px 20px rgba(0,0,0,.18);
  transition: transform .2s, box-shadow .2s;
  font-family: 'Montserrat', sans-serif;
}
.maleta-cta-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(0,0,0,.22); }

/* Ocultar "Categorías:" y mostrar solo los nombres en coral */
body.single-product .posted_in {
  font-size: 0 !important;
  line-height: 0 !important;
}
body.single-product .posted_in a {
  font-size: .72rem !important;
  font-weight: 700 !important;
  font-family: 'Montserrat', sans-serif !important;
  color: #F46C4D !important;
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
  text-decoration: none !important;
  line-height: normal !important;
}
body.single-product .posted_in a::after {
  content: ' · ';
  color: #F46C4D;
}
body.single-product .posted_in a:last-child::after {
  content: '';
}
/* Ocultar prefijo "Categorías:" de WooCommerce product meta */
body.single-product .product_meta .posted_in .label,
body.single-product .product_meta span.label,
body.single-product .woocommerce-product-details__short-description .label {
  display: none !important;
}

/* Versión con font-size 0 para texto directo */
body.single-product .posted_in,
body.single-product .product_meta .posted_in {
  font-size: 0 !important;
  color: transparent !important;
}
body.single-product .posted_in a,
body.single-product .product_meta .posted_in a {
  font-size: .72rem !important;
  color: #F46C4D !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
  text-decoration: none !important;
  font-family: 'Montserrat', sans-serif !important;
}
body.single-product .posted_in a::after {
  content: ' · ';
  color: #F46C4D !important;
  font-size: .72rem !important;
}
body.single-product .posted_in a:last-child::after {
  content: '' !important;
}

/* Grid de opciones disponibles */
.mltt-options-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 24px;
}
@media(max-width: 900px){ .mltt-options-grid { grid-template-columns: repeat(2, 1fr); } }
@media(max-width: 600px){ .mltt-options-grid { grid-template-columns: 1fr; } }

.mltt-option-card {
  border: 2px solid #e2dbd4;
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.mltt-option-card:hover {
  border-color: #0F815D;
  box-shadow: 0 8px 28px rgba(15,129,93,.14);
  transform: translateY(-3px);
}
.mltt-option-header {
  padding: 20px 20px 14px;
  border-bottom: 1px solid #e2dbd4;
}
.mltt-option-name {
  font-size: 1rem; font-weight: 700;
  color: #1c2b25; line-height: 1.3;
  font-family: 'Montserrat', sans-serif;
}
.mltt-option-dates { padding: 12px 20px 16px; }

.mltt-options-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 24px;
}
@media(max-width:900px){ .mltt-options-grid { grid-template-columns: repeat(2,1fr); } }
@media(max-width:600px){ .mltt-options-grid { grid-template-columns: 1fr; } }

.mltt-option-card {
  border: 2px solid #e2dbd4; border-radius: 18px;
  background: #fff; overflow: hidden;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.mltt-option-card:hover { border-color:#0F815D; box-shadow:0 8px 28px rgba(15,129,93,.14); transform:translateY(-3px); }
.mltt-option-card--destacado { border-color:#F46C4D; background:linear-gradient(145deg,#fffdfb,#fdeae5); }
.mltt-option-card--destacado:hover { border-color:#d45a3d; }

.mltt-option-header {
  padding: 18px 18px 12px;
  border-bottom: 1px solid #e2dbd4;
  display: flex; justify-content: space-between; align-items: flex-start; gap: 8px;
}
.mltt-option-card--destacado .mltt-option-header { border-color:rgba(244,108,77,.2); }
.mltt-option-name { font-size:.95rem; font-weight:700; color:#1c2b25; line-height:1.3; font-family:'Montserrat',sans-serif; }
.mltt-option-location { font-size:.75rem; color:#5a6b63; margin-top:3px; font-family:'Montserrat',sans-serif; }

.mltt-badge {
  background:#F46C4D; color:#fff;
  font-size:.62rem; font-weight:800; letter-spacing:.08em;
  text-transform:uppercase; padding:4px 10px;
  border-radius:20px; white-space:nowrap; flex-shrink:0;
  font-family:'Montserrat',sans-serif;
}

.mltt-option-dates { padding: 10px 18px 14px; }
.mltt-date-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 8px 0; border-bottom: 1px solid #e2dbd4; gap: 8px;
}
.mltt-date-row:last-child { border-bottom: none; }
.mltt-date-left { font-size:.78rem; color:#5a6b63; font-family:'Montserrat',sans-serif; flex:1; }
.mltt-date-right { white-space:nowrap; display:flex; align-items:baseline; gap:3px; }
.mltt-date-right strong { color:#0F815D !important; font-weight:800; font-size:.9rem; font-family:'Montserrat',sans-serif; }
.mltt-per { font-size:.68rem; color:#5a6b63; font-family:'Montserrat',sans-serif; }

.mltt-options-note { font-size:.78rem; color:#5a6b63; font-style:italic; margin-top:12px; display:block; font-family:'Montserrat',sans-serif; }

.mltt-section-header { margin-bottom: 28px; }
.mltt-sec-label {
  font-size: .72rem; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
  color: #F46C4D; margin-bottom: 8px;
  font-family: 'Montserrat', sans-serif;
}
.mltt-sec-title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800; color: #1c2b25; margin-bottom: 8px;
  font-family: 'Montserrat', sans-serif; line-height: 1.2;
}
.mltt-sec-sub {
  font-size: .93rem; color: #5a6b63; margin-bottom: 0;
  font-family: 'Montserrat', sans-serif;
}

#mlttIncludesRender .maleta-includes-col ul li,
#mlttIncludesRender li {
  background: transparent !important;
  border-radius: 0 !important;
  border: none !important;
  border-bottom: 1px solid #e2dbd4 !important;
  padding: 9px 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  color: #5a6b63 !important;
  font-size: .9rem !important;
  font-family: 'Montserrat', sans-serif !important;
  width: 100% !important;
  flex-wrap: nowrap !important;
}
#mlttIncludesRender li:last-child {
  border-bottom: none !important;
}
#mlttIncludesRender .maleta-includes {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
}
@media(max-width:640px){
  #mlttIncludesRender .maleta-includes { grid-template-columns: 1fr !important; }
}

.maleta-cta-final h2,
.maleta-cta-final .elementor-heading-title {
  font-size: clamp(1.6rem, 2.5vw, 2.2rem) !important;
  white-space: nowrap !important;
}
@media(max-width: 600px){
  .maleta-cta-final h2,
  .maleta-cta-final .elementor-heading-title {
    white-space: normal !important;
    font-size: 1.6rem !important;
  }
}

/* Botón coral: texto blanco */
.mltt-btn-coral-a,
.mltt-btn-coral-a:visited {
  color: #ffffff !important;
}
.mltt-btn-coral-a:hover {
  color: #ffffff !important;
}

/* Botón outline: negro → verde al hover */
.mltt-btn-outline-a,
.mltt-btn-outline-a:visited {
  color: #1c2b25 !important;
}
.mltt-btn-outline-a:hover {
  color: #0F815D !important;
  border-color: #0F815D !important;
}

/* Flecha de los paquetes: blanca sobre verde */
.oferta-go,
.oferta-go:visited,
.hero-card-btn,
.hero-card-btn:visited {
  color: #ffffff !important;
  text-decoration: none !important;
}
.oferta-go:hover,
.hero-card-btn:hover {
  color: #ffffff !important;
}

/* Destinos: imágenes llenan toda la tarjeta */
.dest-img {
  position: absolute !important;
  top: 0 !important; left: 0 !important;
  right: 0 !important; bottom: 0 !important;
  width: 100% !important; height: 100% !important;
  object-fit: cover !important;
}
.dest-card-hero { display: flex; flex-direction: column; }
.dest-card-hero .dest-inner-wrap { flex: 1; }

/* Destinos: font-weight 600 en títulos y categorías */
.dest-cat  { font-weight: 800 !important; }
.dest-name { font-weight: 600 !important; }
.dest-desde { font-weight: 800 !important; }

/* Cómo funciona: tarjetas de pasos */
.mltt-step-card {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 22px;
  padding: 34px 28px;
  position: relative;
  transition: background .2s;
}
.mltt-step-card:hover { background: rgba(255,255,255,.15); }

.mltt-step-num-bg {
  font-family: 'DM Serif Display', serif;
  font-size: 4rem;
  line-height: 1;
  color: rgba(255,255,255,.12);
  position: absolute;
  top: 16px; right: 22px;
}
.mltt-step-icon-wrap {
  width: 54px; height: 54px;
  background: #F46C4D;
  border-radius: 15px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem;
  margin-bottom: 20px;
}
.mltt-step-title {
  font-size: 1rem; font-weight: 700;
  color: #ffffff;
  margin-bottom: 10px;
  font-family: 'Montserrat', sans-serif;
}
.mltt-step-text {
  font-size: .84rem;
  color: rgba(255,255,255,.72);
  line-height: 1.75;
  font-family: 'Montserrat', sans-serif;
  margin: 0;
}

@media(max-width:768px){
  .mltt-step-card-grid { grid-template-columns: 1fr !important; }
}

/* Hover en tarjetas de ofertas */
div:has(> .oferta-img-wrap) {
  transition: transform .3s ease, box-shadow .3s ease;
  cursor: pointer;
}
div:has(> .oferta-img-wrap):hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 48px rgba(28,43,37,.18) !important;
}

/* Zoom en la imagen al hacer hover */
.oferta-img-wrap img {
  transition: transform .5s ease;
}
div:has(> .oferta-img-wrap):hover .oferta-img-wrap img {
  transform: scale(1.06);
}



/* Quitar capitalize de los títulos de las ofertas */
.oferta-body-pad h3 {
  text-transform: none !important;
}

/* === OFFER CARDS: tipografía exacta del prototipo === */

/* Label de destino (BRASIL / CARIBE · PUNTA CANA) */
.oferta-body-pad > p:first-child {
  font-size: .70rem !important;
  font-weight: 900 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  margin-bottom: 3px !important;
}

/* Título de la oferta */
.oferta-body-pad h3 {
  font-family: 'DM Serif Display', serif !important;
  font-size: 1.20rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  margin-bottom: 10px !important;
  text-transform: none !important;
}

/* Pills: valores exactos del prototipo */
.oferta-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin-bottom: 14px !important;
}
.oferta-pills span {
  background: #e6f5f0 !important;
  color: #0F815D !important;
  font-size: .65rem !important;
  font-weight: 800 !important;
  padding: 3px 10px !important;
  border-radius: 30px !important;
  white-space: nowrap !important;
}

/* Precio */
.oferta-price .from { font-size: .65rem !important; color: #5a6b63 !important; }
.oferta-price .amount { font-size: 1.2rem !important; font-weight: 900 !important; color: #0F815D !important; line-height: 1 !important; }
.oferta-price .per { font-size: .62rem !important; color: #5a6b63 !important; }

/* Hover del botón "Ver todas las ofertas" */
a[style*="0F815D"][style*="border-radius:50px"] {
  transition: background .25s ease, transform .2s ease, box-shadow .25s ease !important;
}
a[style*="0F815D"][style*="border-radius:50px"]:hover {
  background: #0a6649 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 28px rgba(15,129,93,.35) !important;
}

/* Hover del botón blanco "Unirme al canal" */
a[style*="background:#fff"][style*="0F815D"]:hover {
  background: #EFB54D !important;
  color: #1C2B25 !important;
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 28px rgba(239,181,77,.4) !important;
}
/* Eliminar todos los blobs/círculos decorativos */
.mltt-hero-section::before,
.mltt-hero-section::after,
.mltt-como-section::before,
.mltt-como-section::after,
.mltt-sobre-img-col::before,
.mltt-testi-section::after,
.mltt-nl-section::before,
.mltt-nl-section::after {
  display: none !important;
}

/* Posibles causas del espacio blanco inferior */
#colophon { display: none !important; }
.ast-footer-widget-area { display: none !important; }
.footer-widget-area { display: none !important; }

/* Fix espacio blanco inferior por cálculo de viewport */
.site-content,
#content,
.ast-container,
.hfeed {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.site {
  min-height: unset !important;
}

@media (max-width: 767px) {

  /* Grids que pasan a 1 columna */
  .mltt-steps-grid   { grid-template-columns: 1fr !important; }
  .mltt-ofertas-grid { grid-template-columns: 1fr !important; }
  .mltt-testi-grid   { grid-template-columns: 1fr !important; }
  .sobre-values      { grid-template-columns: 1fr !important; }
  
    /* Offer cards: título más chico en mobile */
  .oferta-body-pad h3 {
    font-size: 1.1rem !important;
    line-height: 1.3 !important;
  }
  /* Hero card: título más chico */
  .hero-card-title {
    font-size: 1rem !important;
    line-height: 1.3 !important;
  }

  /* Stats: apiladas en 1 columna */
.hero-stats { display: flex !important; flex-direction: column !important; gap: 10px !important; }
  .hero-stat {
    width: 100% !important;
  }
  {
  .mltt-hero-card-wrap {
    padding: 32px 16px !important;
  }
  /* Capitalize del título (Astra) */
  .oferta-body-pad h3 { text-transform: none !important; }

  /* Sobre Maleta — valores legibles en mobile */
  .sobre-value {
    align-items: flex-start !important;
    gap: 10px !important;
  }
  .sobre-value h4 { font-size: .85rem !important; }
  .sobre-value p  { font-size: .78rem !important; line-height: 1.5 !important; }

}

/* Trust bar — font weight desktop */
.trust-item span:last-child {
  font-weight: 600 !important;
}

/* Trust bar — mobile: columna compacta */
@media (max-width: 767px) {
  .trust-bar-row {
    flex-direction: column !important;
    gap: 12px !important;
    padding: 8px 0 !important;
  }
  .trust-divider {
    display: none !important;
  }
  .trust-item {
    justify-content: center !important;
  }
}

/* ============================================
   PORTAL DE PASAJEROS - SOY MALETA
   CSS Global para Elementor

   DÓNDE PEGAR: Elementor > Ajustes del sitio > CSS personalizado
   O bien: Apariencia > Personalizar > CSS adicional
   ============================================ */

/* Tipografía MADE Dillan - subir el archivo OTF a la biblioteca de medios de WP
   y reemplazar la URL de abajo con la URL real del archivo */
@font-face {
    font-family: 'MADE Dillan';
    src: url('REEMPLAZAR_CON_URL_DEL_OTF') format('opentype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* Variables de Maleta */
:root {
    --ml-green: #0F815D;
    --ml-green-dark: #0a6347;
    --ml-green-light: #e5f1ec;
    --ml-coral: #F46C4D;
    --ml-coral-dark: #d9523a;
    --ml-cream: #F7EEE5;
    --ml-cream-dark: #ede2d1;
    --ml-dark: #2d2a26;
    --ml-gray: #6b6660;
    --ml-gray-light: #9a948c;
    --ml-border: #e5ddd0;
    --ml-white: #ffffff;
}

/* ===== BARRA DE NAVEGACIÓN INTERNA ===== */
.portal-nav {
    background: var(--ml-white);
    border-bottom: 1px solid var(--ml-border);
    padding: 14px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.portal-nav .nav-links {
    display: flex;
    gap: 36px;
}

.portal-nav .nav-links a {
    text-decoration: none;
    color: var(--ml-gray);
    font-weight: 500;
    font-size: 14px;
    font-family: 'Montserrat', sans-serif;
    transition: color 0.2s;
}

.portal-nav .nav-links a.active,
.portal-nav .nav-links a:hover {
    color: var(--ml-green);
    font-weight: 600;
}

.portal-nav .avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--ml-green);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 13px;
    font-family: 'Montserrat', sans-serif;
}

/* ===== HERO ===== */
.portal-hero {
    background: var(--ml-green);
    color: white;
    padding: 60px 0;
    position: relative;
    overflow: hidden;
}

.portal-hero .hero-cloud {
    position: absolute;
    pointer-events: none;
    opacity: 0.08;
}

.portal-hero .hero-cloud-1 {
    width: 420px;
    top: -60px;
    right: -40px;
}

.portal-hero .hero-cloud-2 {
    width: 280px;
    bottom: -80px;
    left: -40px;
}

.portal-hero .hero-content {
    position: relative;
    z-index: 2;
}

.portal-hero .hero-greeting {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    opacity: 0.8;
    margin-bottom: 10px;
    font-family: 'Montserrat', sans-serif;
}

.portal-hero .hero-title {
    font-family: 'MADE Dillan', cursive;
    font-size: 52px;
    font-weight: 400;
    letter-spacing: -1px;
    line-height: 1;
    margin-bottom: 16px;
    color: white;
}

.portal-hero .hero-subtitle {
    font-size: 17px;
    opacity: 0.9;
    font-weight: 400;
    margin-bottom: 36px;
    max-width: 620px;
    font-family: 'Montserrat', sans-serif;
}

.portal-hero .hero-stats {
    display: flex;
    gap: 56px;
    padding-top: 26px;
    border-top: 1px solid rgba(255,255,255,0.2);
}

.portal-hero .stat-value {
    font-size: 34px;
    font-weight: 700;
    line-height: 1;
    font-family: 'Montserrat', sans-serif;
}

.portal-hero .stat-label {
    font-size: 12px;
    opacity: 0.8;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 6px;
    font-weight: 500;
    font-family: 'Montserrat', sans-serif;
}

/* ===== TIMELINE ===== */
.portal-timeline {
    position: relative;
    padding-left: 40px;
}

.portal-timeline::before {
    content: '';
    position: absolute;
    left: 14px;
    top: 10px;
    bottom: 10px;
    width: 2px;
    background: var(--ml-border);
}

.portal-timeline .tl-item {
    position: relative;
    margin-bottom: 22px;
}

.portal-timeline .tl-dot {
    position: absolute;
    left: -40px;
    top: 22px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--ml-white);
    border: 3px solid var(--ml-green);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    z-index: 2;
}

.portal-timeline .tl-dot.transport {
    border-color: var(--ml-gray-light);
    background: var(--ml-cream);
}

/* Hotel cards */
.portal-timeline .hotel-card {
    background: var(--ml-white);
    border: 1px solid var(--ml-border);
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    transition: transform 0.2s, box-shadow 0.2s;
}

.portal-timeline .hotel-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(15, 129, 93, 0.08);
}

.portal-timeline .hotel-img {
    width: 220px;
    min-height: 200px;
    background-size: cover;
    background-position: center;
    position: relative;
    flex-shrink: 0;
}

.portal-timeline .hotel-img .stars {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(255,255,255,0.95);
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    color: var(--ml-green);
}

.portal-timeline .hotel-body {
    flex: 1;
    padding: 24px 28px;
    display: flex;
    flex-direction: column;
    font-family: 'Montserrat', sans-serif;
}

.portal-timeline .hotel-loc {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--ml-gray);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 6px;
}

.portal-timeline .hotel-name {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 10px;
    letter-spacing: -0.3px;
    color: var(--ml-dark);
}

.portal-timeline .hotel-dates {
    display: flex;
    gap: 24px;
    color: var(--ml-gray);
    font-size: 13px;
    margin-bottom: 16px;
}

.portal-timeline .hotel-dates strong {
    color: var(--ml-dark);
    display: block;
    font-size: 15px;
    font-weight: 700;
}

.portal-timeline .tag {
    background: var(--ml-cream);
    color: var(--ml-dark);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-right: 8px;
    margin-bottom: 8px;
}

.portal-timeline .tag.success {
    background: var(--ml-green-light);
    color: var(--ml-green);
}

.portal-timeline .tag.warning {
    background: #fdf0e8;
    color: var(--ml-coral-dark);
}

.portal-timeline .alert-box {
    background: var(--ml-cream);
    border-left: 3px solid var(--ml-coral);
    padding: 12px 14px;
    border-radius: 8px;
    font-size: 13px;
    color: var(--ml-dark);
    margin-bottom: 14px;
}

.portal-timeline .alert-box strong {
    display: block;
    margin-bottom: 2px;
    color: var(--ml-coral-dark);
    font-weight: 700;
}

.portal-timeline .hotel-footer {
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid var(--ml-border);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.portal-timeline .hotel-address {
    font-size: 12px;
    color: var(--ml-gray);
}

.portal-timeline .btn-voucher {
    background: var(--ml-green);
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    font-family: 'Montserrat', sans-serif;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background 0.2s;
}

.portal-timeline .btn-voucher:hover {
    background: var(--ml-green-dark);
    color: white;
}

/* Transport cards */
.portal-timeline .transport-card {
    background: var(--ml-white);
    border: 1px solid var(--ml-border);
    border-left: 3px solid var(--ml-green);
    border-radius: 12px;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 20px;
}

.portal-timeline .transport-card.private {
    border-left-color: var(--ml-coral);
}

.portal-timeline .transport-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: var(--ml-green-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}

.portal-timeline .transport-card.private .transport-icon {
    background: #fdf0e8;
}

.portal-timeline .transport-details {
    flex: 1;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 16px;
    align-items: center;
}

.portal-timeline .transport-route {
    font-weight: 600;
    font-size: 15px;
    color: var(--ml-dark);
}

.portal-timeline .transport-sub {
    font-size: 12px;
    color: var(--ml-gray);
    margin-top: 2px;
}

.portal-timeline .transport-time {
    font-size: 13px;
}

.portal-timeline .transport-time strong {
    display: block;
    color: var(--ml-dark);
    font-weight: 700;
    font-size: 15px;
}

.portal-timeline .transport-time span {
    color: var(--ml-gray);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.portal-timeline .transport-code {
    font-family: 'Montserrat', monospace;
    background: var(--ml-cream);
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    color: var(--ml-green);
}

/* ===== SIDEBAR ===== */
.portal-sidebar .sidebar-card {
    background: var(--ml-white);
    border: 1px solid var(--ml-border);
    border-radius: 14px;
    padding: 24px;
    margin-bottom: 20px;
    font-family: 'Montserrat', sans-serif;
}

.portal-sidebar .sidebar-title {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 16px;
    color: var(--ml-dark);
    display: flex;
    align-items: center;
    gap: 8px;
}

.portal-sidebar .traveler {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--ml-border);
}

.portal-sidebar .traveler:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.portal-sidebar .traveler:first-of-type {
    padding-top: 0;
}

.portal-sidebar .traveler-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--ml-green-light);
    color: var(--ml-green);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 14px;
}

.portal-sidebar .traveler-name {
    font-weight: 600;
    font-size: 14px;
    color: var(--ml-dark);
}

.portal-sidebar .traveler-role {
    font-size: 12px;
    color: var(--ml-gray);
}

.portal-sidebar .quick-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.portal-sidebar .action-btn {
    background: var(--ml-cream);
    border: none;
    padding: 14px 8px;
    border-radius: 10px;
    cursor: pointer;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: var(--ml-dark);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    transition: all 0.2s;
    text-decoration: none;
}

.portal-sidebar .action-btn:hover {
    background: var(--ml-green);
    color: white;
}

.portal-sidebar .action-btn .icon {
    font-size: 20px;
}

.portal-sidebar .emergency-card {
    background: var(--ml-dark);
    color: white;
    border: none;
}

.portal-sidebar .emergency-card .sidebar-title {
    color: white;
}

.portal-sidebar .emergency-item {
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,0.12);
    font-size: 13px;
}

.portal-sidebar .emergency-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.portal-sidebar .emergency-item:first-of-type {
    padding-top: 0;
}

.portal-sidebar .emergency-item span {
    display: block;
    font-size: 11px;
    opacity: 0.65;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}

.portal-sidebar .emergency-item strong {
    font-weight: 600;
}

/* ===== SECTION HEADER ===== */
.portal-section-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 28px;
}

.portal-section-header .section-title {
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -0.3px;
    color: var(--ml-dark);
    font-family: 'Montserrat', sans-serif;
}

.portal-section-header .section-subtitle {
    font-size: 14px;
    color: var(--ml-gray);
    margin-top: 4px;
    font-family: 'Montserrat', sans-serif;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 900px) {
    .portal-timeline .hotel-card {
        flex-direction: column;
    }
    .portal-timeline .hotel-img {
        width: 100%;
        height: 160px;
    }
    .portal-timeline .transport-details {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .portal-hero .hero-title {
        font-size: 36px;
    }
    .portal-hero .hero-stats {
        flex-wrap: wrap;
        gap: 32px;
    }
    .portal-section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
}/* End custom CSS */