/* THIS IS MEDELLÍN · PRODUCT STRUCTURE V2 · inspired by a marketplace product hierarchy, retaining TIM identity */
/* Structural titles */
.tim-general-title,.tim-struct-title{font-weight:1000;letter-spacing:-.035em;color:var(--ink,#0b0b0b)}
.tim-general-title{font-size:clamp(1.65rem,2.7vw,2.2rem);margin:34px 0 18px}
.tim-struct-title{font-size:clamp(1.6rem,2.6vw,2.15rem);margin:0 0 7px}
.tim-original-section-title{font-size:.82rem!important;letter-spacing:.02em!important;text-transform:none;color:#766f63;margin:0 0 18px!important;font-weight:850}

/* General information: clean list, not cards */
.facts{margin:0 0 38px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 32px!important;background:transparent!important;border:0!important;border-radius:0!important;overflow:visible!important}
.fact{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;column-gap:14px;padding:18px 0!important;border:0!important;border-bottom:1px solid var(--line,#dfd9cc)!important;align-items:start}
.fact .ico{grid-row:1/3;width:42px;height:42px;border:2px solid #111;border-radius:50%;display:grid;place-items:center;font-size:1.05rem!important;color:#111;background:#fff}
.fact small{margin:0 0 4px!important;font-size:.68rem!important;color:#777!important;letter-spacing:.06em!important}
.fact b{font-size:.98rem!important;line-height:1.35!important;color:#111}

/* Product header/gallery spacing */
.product-head{padding-bottom:22px!important}
.gallery{margin-bottom:6px}

/* Desktop: booking/calendar at the left, content at the right */
.layout{grid-template-columns:390px minmax(0,1fr)!important;gap:46px!important;align-items:start!important}
.layout>.content{order:2;min-width:0;display:flex;flex-direction:column}
.layout>aside{order:1;position:sticky!important;top:98px!important;min-width:0}
.bookbox{padding:20px!important;border-radius:24px!important;box-shadow:0 18px 55px rgba(0,0,0,.10)!important}
.bookbox .divider{margin:14px 0!important}
.tim-calendar-label{font-size:.72rem;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;margin:8px 0 10px;color:#6d5a00}
#desktopCalendar{margin-top:12px;background:#111;color:#fff;border-radius:18px;padding:15px}
#desktopCalendar .tour-cal-top{margin-bottom:9px}
#desktopCalendar .tour-cal-price{display:none}
#desktopCalendar .tour-cal-controls{margin:6px 0 9px}
#desktopCalendar .tour-week,#desktopCalendar .tour-days{gap:4px}
#desktopCalendar .tour-day{min-height:36px;aspect-ratio:auto;border-radius:8px;font-size:.78rem}
#desktopCalendar .tour-cal-book{grid-template-columns:1fr 1fr;margin-top:12px}
#desktopCalendar .tour-cal-summary{margin-top:10px}
#desktopCalendar .tour-cal-action{min-height:46px}
#desktopCalendar .tour-cal-hint{font-size:.65rem}
.bookbox>.btn{display:none!important}

/* Content hierarchy similar to the reference: description -> information -> what to expect -> details */
.content>.section{scroll-margin-top:98px}
#itinerario{order:2}
.content>.tim-about{order:1}
.content>.tim-different{order:3}
.content>.explorer{order:4}
#incluye{order:5}
.content>.tim-practical{order:6}
#faq{order:7}
.content>.seo-block{order:8}
#itinerario .timeline{margin-top:14px}
#itinerario .stopnum{background:var(--yellow,#ffd400)!important;color:#111!important}
#itinerario .stop:not(:last-child)::before{background:var(--yellow,#ffd400)!important}

/* Mobile fixed availability dock, TIM colors */
.tim-mobile-booking{display:none}
.tim-mobile-package-link{display:flex;align-items:center;justify-content:center;text-align:center;color:#111!important;font-size:.67rem;font-weight:900;margin-top:8px;text-decoration:none!important}
.tim-mobile-package-link span{color:#6d5a00}

@media(max-width:920px){
  .layout{grid-template-columns:1fr!important;gap:0!important}
  .layout>.content{order:1}
  .layout>aside{display:none!important}
  .head-price{display:none!important}
  .tim-package-float{display:none!important}
  .mobilebar{display:none!important}
  body{padding-bottom:196px!important}
  .tim-mobile-booking{display:block;position:fixed;left:0;right:0;bottom:0;z-index:85;background:#fff;color:#111;border:1px solid #e2ded5;border-radius:24px 24px 0 0;padding:13px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -12px 38px rgba(0,0,0,.17)}
  .tim-mobile-booking-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
  .tim-mobile-booking-top small{font-size:.78rem;font-weight:1000;color:#111}
  .tim-mobile-booking-top strong{font-size:1.05rem;letter-spacing:-.02em}
  .tim-mobile-controls{display:grid;grid-template-columns:1fr 1fr;border:1px solid #ddd8ce;border-radius:15px;overflow:hidden;background:#fff}
  .tim-mobile-field{min-width:0;padding:9px 12px;background:#fff;border:0;text-align:left;color:#111;display:flex;flex-direction:column;gap:3px;justify-content:center;min-height:62px}
  button.tim-mobile-field{cursor:pointer}
  .tim-mobile-field+ .tim-mobile-field{border-left:1px solid #e5e0d6}
  .tim-mobile-field span{font-size:.68rem;color:#777;font-weight:800}
  .tim-mobile-field b{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tim-mobile-field select{appearance:auto;width:100%;border:0;background:transparent;padding:0;color:#111;font-weight:950;font-size:.88rem;outline:none}
  .tim-mobile-action{width:100%;border:0;border-radius:999px;background:var(--yellow,#ffd400);color:#111;min-height:48px;margin-top:10px;font-weight:1000;font-size:.95rem}
}

@media(max-width:640px){
  .crumbs{display:none}
  .product-head{padding-top:24px!important}
  .product-head h1{font-size:2.35rem!important;line-height:.98!important}
  .product-sub{font-size:.94rem!important;line-height:1.55!important}
  .trust-row{margin-top:14px!important}
  .gallery{border-radius:16px!important;box-shadow:none!important;margin-left:-12px;margin-right:-12px;width:calc(100% + 24px)}
  .gallery-main{aspect-ratio:1.25/1!important}
  .tim-general-title{font-size:1.85rem;margin:30px 0 12px}
  .facts{grid-template-columns:1fr!important;gap:0!important;margin-bottom:18px!important}
  .fact{grid-template-columns:48px 1fr!important;padding:17px 0!important}
  .fact .ico{width:38px;height:38px;font-size:.95rem!important}
  .fact small{font-size:.64rem!important}
  .fact b{font-size:.94rem!important}
  .section{padding:28px 0!important}
  .tim-struct-title{font-size:1.85rem;margin-bottom:5px}
  .tim-original-section-title{font-size:.76rem!important;margin-bottom:17px!important}
  #itinerario .stop{grid-template-columns:34px 1fr!important;gap:12px!important;padding-bottom:22px!important}
  #itinerario .stopnum{width:34px!important;height:34px!important;font-size:.86rem!important}
  #itinerario .stop:not(:last-child)::before{left:16px!important;top:32px!important;width:2px!important}
  #itinerario .stop h3{font-size:1rem!important;margin-top:0!important}
  #itinerario .stop p{font-size:.9rem!important;line-height:1.5!important;color:#6c6c6c!important}
  .tim-mobile-booking{padding-left:14px;padding-right:14px}
}
