/* Travel Pass v6 — producto WooCommerce + asistente interactivo + responsive global */
:root{
  --tp-v6-content:1460px;
  --tp-v6-product:1360px;
  --tp-v6-radius:26px;
  --tp-v6-shadow:0 24px 64px rgba(9,31,69,.12);
}

/* Escala general más equilibrada */
body{font-size:clamp(16px,15px + .16vw,18px)}
.tp-container{width:min(var(--tp-v6-content),calc(100% - clamp(36px,5vw,92px)))}
.tp-section-heading h2{font-size:clamp(2.15rem,3vw,3.2rem);line-height:1.06}
.tp-section-heading p{font-size:clamp(.92rem,.9rem + .12vw,1.04rem)}
.tp-destination-city{font-size:clamp(1.18rem,1.25vw,1.42rem)}
.tp-destination-programs,.tp-destination-route{font-size:clamp(.78rem,.76rem + .08vw,.88rem)}
.tp-post-card h3{font-size:clamp(1.15rem,1.2vw,1.38rem)}
.tp-post-card p{font-size:.9rem;line-height:1.72}

/* PRODUCTO INDIVIDUAL — mismo lenguaje de tamaños que destinos */
.single-product .tp-wc-product-hero{padding:clamp(58px,5vw,82px) 0;background:linear-gradient(120deg,#eef8ff 0%,#f7f9ff 44%,#f9f1ff 100%)}
.single-product .tp-wc-product-hero .tp-container{width:min(var(--tp-v6-product),calc(100% - clamp(48px,7vw,120px)))}
.single-product .tp-wc-product-hero h1{max-width:900px;font-size:clamp(3rem,4.3vw,4.7rem);line-height:1;letter-spacing:-.052em;margin:10px 0 14px}
.single-product .tp-wc-product-hero p{max-width:760px;font-size:clamp(1rem,1vw,1.12rem);line-height:1.75}
.single-product .tp-wc-main{padding:clamp(66px,6vw,96px) 0 120px!important;background:linear-gradient(180deg,#fff 0%,#f8fbff 44%,#fff 100%)}
.single-product .tp-wc-main>.tp-container{width:min(var(--tp-v6-product),calc(100% - clamp(48px,7vw,120px)))}
.single-product .woocommerce .woocommerce-breadcrumb{margin-bottom:28px;font-size:.78rem;line-height:1.5;color:#738298}
.single-product .woocommerce div.product{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:clamp(38px,4.4vw,64px);align-items:start}
.single-product .woocommerce div.product div.images{position:relative;top:auto!important;margin:0!important;width:100%!important}
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.single-product .tp-product-fallback-gallery{border-radius:28px;overflow:hidden;background:#e9f0f8;box-shadow:0 24px 62px rgba(8,32,72,.14)}
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image,
.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image a{display:block;width:100%}
.single-product .woocommerce div.product div.images img,
.single-product .tp-product-fallback-gallery img{display:block;width:100%;height:clamp(560px,45vw,700px)!important;min-height:0!important;aspect-ratio:auto!important;object-fit:cover;border-radius:28px!important}
.single-product .woocommerce div.product div.summary{margin:0!important;padding:clamp(28px,3vw,42px)!important;border-radius:28px!important;border:1px solid #dfe7f2!important;background:#fff!important;box-shadow:0 22px 60px rgba(8,32,72,.09)!important}
.single-product .woocommerce div.product .product_title{font-size:clamp(2.65rem,3.4vw,4.15rem)!important;line-height:1.02!important;letter-spacing:-.052em!important;margin:0 0 15px!important}
.single-product .woocommerce div.product p.price,
.single-product .woocommerce div.product span.price{font-size:clamp(1.32rem,1.65vw,1.65rem)!important;line-height:1.2!important;margin:10px 0 18px!important}
.single-product .woocommerce-product-details__short-description{font-size:clamp(.94rem,.9rem + .12vw,1.04rem)!important;line-height:1.8!important;color:#58677c!important;margin-bottom:22px!important}
.single-product .tp-single-facts{gap:12px;margin:22px 0 24px}
.single-product .tp-single-facts>div{min-height:96px;padding:17px 17px 17px 56px;border-radius:16px;background:linear-gradient(180deg,#fbfdff,#f7faff)}
.single-product .tp-single-facts>div>.dashicons{left:17px;top:18px;width:30px;height:30px;border-radius:9px;font-size:17px}
.single-product .tp-single-facts small{font-size:.7rem}
.single-product .tp-single-facts strong{font-size:.86rem;line-height:1.52}
.single-product .tp-trip-personalization{padding:28px!important;border-radius:22px!important;margin:25px 0 18px!important;background:linear-gradient(135deg,#f5f9ff,#faf6ff)!important}
.single-product .tp-personalization-title{margin-bottom:20px}
.single-product .tp-personalization-title>span{width:46px;height:46px;border-radius:13px;font-size:20px}
.single-product .tp-personalization-title strong{font-size:1rem!important}
.single-product .tp-personalization-title small{font-size:.76rem!important;line-height:1.5}
.single-product .tp-field-grid{gap:15px}
.single-product .tp-field>span{font-size:.78rem!important}
.single-product .tp-field input,
.single-product .tp-field select,
.single-product .tp-field textarea{min-height:55px!important;padding:13px 14px!important;border-radius:12px!important;font-size:.9rem!important}
.single-product .tp-field-help{font-size:.75rem!important;line-height:1.6;margin-top:12px!important}
.single-product .woocommerce div.product form.cart{display:flex!important;align-items:stretch;gap:12px;flex-wrap:wrap;margin-top:0!important}
.single-product .woocommerce div.product form.cart div.quantity{margin:0!important;display:flex!important}
.single-product .woocommerce .quantity .qty{width:92px!important;min-height:58px!important;border-radius:12px!important;font-size:.98rem!important}
.single-product .woocommerce div.product form.cart .button{min-height:58px!important;padding:15px 26px!important;border-radius:12px!important;font-size:.94rem!important;flex:1 1 220px}
.single-product .tp-product-wa-button{min-height:68px;border-radius:16px;padding:15px 18px;margin-top:14px}
.single-product .tp-product-wa-button strong{font-size:.94rem}
.single-product .tp-product-wa-button small{font-size:.74rem;line-height:1.45}
.single-product .product_meta{font-size:.75rem!important;line-height:1.7;margin-top:22px!important}
.single-product .tp-single-experience{margin-top:54px!important;padding:clamp(34px,4vw,54px)!important;border-radius:28px!important}
.single-product .tp-single-experience-head h2{font-size:clamp(2.1rem,3vw,3.15rem)!important;line-height:1.04}
.single-product .tp-single-experience-head p{font-size:.96rem!important;line-height:1.75!important}
.single-product .tp-activity-grid{gap:14px!important}
.single-product .tp-activity-chip{min-height:78px!important;padding:16px 18px!important;border-radius:16px!important}
.single-product .tp-activity-chip>span{font-size:1.7rem!important}
.single-product .tp-activity-chip strong{font-size:.86rem!important;line-height:1.5!important}
.single-product .tp-experience-note p{font-size:.8rem!important}
.single-product .tp-experience-note strong{font-size:.9rem!important}

/* Descripción: ancho controlado para evitar caja gigante vacía */
.single-product .woocommerce-tabs{grid-column:1/-1;width:min(100%,1100px)!important;justify-self:center;margin:54px auto 0!important;padding:34px 38px!important;border-radius:26px!important}
.single-product .woocommerce-tabs ul.tabs li a{font-size:.86rem!important;padding:11px 18px!important}
.single-product .woocommerce-tabs .panel{font-size:1rem!important;line-height:1.82!important;max-width:920px}
.single-product .woocommerce-tabs .panel h2{font-size:2rem!important;line-height:1.1}
.single-product .woocommerce-tabs .panel h3{font-size:1.25rem!important}
.single-product .related.products{grid-column:1/-1;width:100%;margin-top:58px!important}
.single-product .related.products>h2{font-size:clamp(2rem,2.6vw,2.7rem)!important;line-height:1.1;margin:0 0 24px!important}
.single-product .related.products ul.products{grid-template-columns:repeat(auto-fit,minmax(300px,430px))!important;justify-content:flex-start;gap:24px!important;margin-top:0!important}
.single-product .related.products ul.products li.product{max-width:430px;width:100%!important}
.single-product .related.products ul.products li.product a img{height:270px!important}

/* Shop: mantener proporciones cercanas a Destinos */
.post-type-archive-product .tp-wc-main>.tp-container,
.tax-product_cat .tp-wc-main>.tp-container{width:min(var(--tp-v6-product),calc(100% - clamp(48px,7vw,120px)))}
.post-type-archive-product .woocommerce ul.products,
.tax-product_cat .woocommerce ul.products{gap:26px!important}
.post-type-archive-product .woocommerce ul.products li.product,
.tax-product_cat .woocommerce ul.products li.product{border-radius:22px!important}
.post-type-archive-product .woocommerce ul.products li.product a img,
.tax-product_cat .woocommerce ul.products li.product a img{height:clamp(260px,22vw,330px)!important}

/* ASISTENTE INTERACTIVO */
.tp-help-widget{position:fixed;right:clamp(16px,2vw,28px);bottom:clamp(16px,2vw,28px);z-index:3900}
.tp-help-fab{position:relative;display:flex;align-items:center;gap:12px;min-height:72px;border:0;border-radius:999px;padding:8px 18px 8px 9px;background:linear-gradient(135deg,#0b8fdc 0%,#5148e7 52%,#8a2be2 100%);color:#fff;box-shadow:0 18px 44px rgba(50,63,194,.34),inset 0 1px 0 rgba(255,255,255,.26);cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}
.tp-help-fab:hover{transform:translateY(-3px);box-shadow:0 24px 54px rgba(50,63,194,.4)}
.tp-help-icon-wrap{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);flex:0 0 auto}
.tp-assistant-svg{display:block;width:42px;height:42px}
.tp-assistant-bg{fill:#fff}
.tp-assistant-plane{fill:#4d48e8}
.tp-assistant-dot{fill:#13cbed}
.tp-help-fab-label{display:grid;text-align:left;line-height:1.15;min-width:138px}
.tp-help-fab-label strong{font-size:.86rem;color:#fff}
.tp-help-fab-label small{font-size:.68rem;color:#e4ebff;margin-top:4px}
.tp-help-rings{position:absolute;inset:-7px;border:2px solid rgba(96,77,228,.35);border-radius:999px;animation:tpHelpPulse 2.2s infinite;pointer-events:none}
@keyframes tpHelpPulse{0%{transform:scale(.94);opacity:.75}70%{transform:scale(1.13);opacity:0}100%{opacity:0}}

.tp-help-panel{position:absolute;right:0;bottom:86px;width:min(430px,calc(100vw - 32px));max-height:min(720px,calc(100vh - 120px));display:flex;flex-direction:column;border-radius:24px;background:#fff;box-shadow:0 28px 88px rgba(5,23,55,.32);border:1px solid rgba(218,226,239,.9);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(14px) scale(.97);transform-origin:bottom right;transition:.24s ease}
.tp-help-panel.is-open{opacity:1;visibility:visible;transform:none}
.tp-help-head{display:grid;grid-template-columns:52px 1fr 34px;gap:12px;align-items:center;padding:17px 18px;background:linear-gradient(125deg,#08244d 0%,#123e7b 66%,#382f90 100%);color:#fff}
.tp-help-avatar{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.12)}
.tp-help-avatar .tp-assistant-svg{width:42px;height:42px}
.tp-help-head strong,.tp-help-head span{display:block}
.tp-help-head strong{font-size:.96rem;color:#fff}
.tp-help-head span{font-size:.67rem;color:#dce8f7;margin-top:3px}
.tp-help-head span i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#33df7c;margin-right:5px}
.tp-help-close{width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:1.35rem;cursor:pointer}
.tp-help-body{padding:17px;overflow:auto;background:linear-gradient(180deg,#f6f9fd 0%,#f3f6fa 100%)}
.tp-help-breadcrumb{font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7460d9;margin:1px 2px 11px}
.tp-help-message{padding:15px 16px;border-radius:7px 17px 17px 17px;background:#fff;border:1px solid #e3e9f2;box-shadow:0 8px 22px rgba(11,35,74,.06)}
.tp-help-message small{display:block;font-size:.62rem;font-weight:800;color:#13a7d5;margin-bottom:5px}
.tp-help-message p{margin:0;font-size:.88rem;line-height:1.65;color:#3f4d61}
.tp-help-options{display:grid;gap:9px;margin-top:13px}
.tp-help-option{appearance:none;width:100%;display:grid;grid-template-columns:42px 1fr 22px;gap:11px;align-items:center;padding:12px 12px;border:1px solid #dfe7f1;border-radius:14px;background:#fff;color:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:.2s ease;box-shadow:0 5px 16px rgba(8,31,69,.035)}
.tp-help-option:hover{transform:translateY(-1px);border-color:#bfcdea;box-shadow:0 9px 22px rgba(8,31,69,.07)}
.tp-help-option-icon{width:42px;height:42px;border-radius:12px;display:grid!important;place-items:center;background:linear-gradient(135deg,#edf6ff,#f1eaff);color:#5a45d9;font-size:20px!important}
.tp-help-option-copy{min-width:0}
.tp-help-option-copy strong,.tp-help-option-copy small{display:block}
.tp-help-option-copy strong{font-size:.82rem;line-height:1.35;color:#0d2a58}
.tp-help-option-copy small{font-size:.67rem;line-height:1.45;color:#728095;margin-top:3px}
.tp-help-option-arrow{font-size:1.5rem;color:#8c99aa;justify-self:end}
.tp-help-actions{display:grid;gap:9px;margin-top:13px}
.tp-help-action{min-height:46px;display:flex;align-items:center;justify-content:center;padding:11px 14px;border-radius:12px;background:linear-gradient(135deg,#1769e0,#7b2be2);color:#fff!important;text-decoration:none;font-size:.78rem;font-weight:800;text-align:center}
.tp-help-action.is-whatsapp{background:linear-gradient(135deg,#25d366,#128c4a)}
.tp-help-note{padding:12px 13px;border-radius:12px;background:#fff8e6;border:1px solid #f3e0a7;color:#776026;font-size:.68rem;line-height:1.55}
.tp-help-footer{display:flex;gap:8px;justify-content:space-between;padding:12px 14px;border-top:1px solid #e3e9f2;background:#fff}
.tp-help-footer button{min-height:38px;border:1px solid #dce4ef;border-radius:10px;background:#fff;color:#304158;padding:8px 12px;font-size:.69rem;font-weight:800;display:flex;align-items:center;gap:6px;cursor:pointer}
.tp-help-footer button:disabled{opacity:.42;cursor:not-allowed}
.tp-help-footer .dashicons{font-size:16px;width:16px;height:16px}
body.tp-assistant-open{overflow:auto}

/* El antiguo agente no se utiliza en v6 */
.tp-wa-agent{display:none!important}

/* Tablet */
@media(max-width:1100px){
  .tp-container{width:min(100% - 36px,1040px)}
  .single-product .tp-wc-product-hero .tp-container,
  .single-product .tp-wc-main>.tp-container,
  .post-type-archive-product .tp-wc-main>.tp-container,
  .tax-product_cat .tp-wc-main>.tp-container{width:min(100% - 44px,1040px)}
  .single-product .woocommerce div.product{grid-template-columns:1fr;gap:34px}
  .single-product .woocommerce div.product div.images,
  .single-product .woocommerce div.product div.summary{max-width:850px;margin-inline:auto!important;width:100%!important}
  .single-product .woocommerce div.product div.images img,
  .single-product .tp-product-fallback-gallery img{height:clamp(480px,70vw,650px)!important}
  .single-product .tp-single-experience,.single-product .woocommerce-tabs,.single-product .related.products{max-width:100%}
  .single-product .tp-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .single-product .related.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Tablet vertical */
@media(max-width:820px){
  body{font-size:16px}
  .tp-container{width:calc(100% - 30px)}
  .single-product .tp-wc-product-hero{padding:50px 0}
  .single-product .tp-wc-product-hero .tp-container,
  .single-product .tp-wc-main>.tp-container,
  .post-type-archive-product .tp-wc-main>.tp-container,
  .tax-product_cat .tp-wc-main>.tp-container{width:calc(100% - 30px)}
  .single-product .tp-wc-main{padding:52px 0 88px!important}
  .single-product .tp-wc-product-hero h1{font-size:clamp(2.6rem,7vw,3.7rem)}
  .single-product .woocommerce div.product div.images img,
  .single-product .tp-product-fallback-gallery img{height:clamp(420px,78vw,590px)!important}
  .single-product .woocommerce div.product div.summary{padding:28px!important}
  .single-product .woocommerce div.product .product_title{font-size:clamp(2.4rem,7vw,3.35rem)!important}
  .single-product .related.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .tp-help-fab{min-height:66px;padding-right:14px}
  .tp-help-icon-wrap{width:50px;height:50px}
  .tp-help-fab-label{min-width:120px}
}

/* Móvil */
@media(max-width:620px){
  body{font-size:16px}
  .tp-container{width:calc(100% - 24px)}
  .tp-section{padding:60px 0}
  .single-product .tp-wc-product-hero .tp-container,
  .single-product .tp-wc-main>.tp-container,
  .post-type-archive-product .tp-wc-main>.tp-container,
  .tax-product_cat .tp-wc-main>.tp-container{width:calc(100% - 24px)}
  .single-product .tp-wc-product-hero{padding:42px 0}
  .single-product .tp-wc-product-hero h1{font-size:clamp(2.2rem,10vw,2.95rem)}
  .single-product .tp-wc-product-hero p{font-size:.92rem}
  .single-product .tp-wc-main{padding:40px 0 72px!important}
  .single-product .woocommerce .woocommerce-breadcrumb{font-size:.7rem;margin-bottom:20px}
  .single-product .woocommerce div.product{gap:24px}
  .single-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
  .single-product .tp-product-fallback-gallery{border-radius:20px}
  .single-product .woocommerce div.product div.images img,
  .single-product .tp-product-fallback-gallery img{height:clamp(320px,88vw,470px)!important;border-radius:20px!important}
  .single-product .woocommerce div.product div.summary{padding:22px 18px!important;border-radius:20px!important}
  .single-product .woocommerce div.product .product_title{font-size:clamp(2rem,9.5vw,2.75rem)!important}
  .single-product .woocommerce-product-details__short-description{font-size:.93rem!important}
  .single-product .tp-single-facts{grid-template-columns:1fr!important}
  .single-product .tp-single-fact-wide{grid-column:auto!important}
  .single-product .tp-single-facts>div{min-height:82px;padding:14px 14px 14px 52px}
  .single-product .tp-trip-personalization{padding:19px!important;border-radius:18px!important}
  .single-product .tp-field-grid{grid-template-columns:1fr!important}
  .single-product .woocommerce div.product form.cart{display:grid!important;grid-template-columns:1fr!important}
  .single-product .woocommerce div.product form.cart div.quantity{width:100%!important}
  .single-product .woocommerce .quantity .qty,.single-product .woocommerce div.product form.cart .button{width:100%!important}
  .single-product .tp-single-experience{margin-top:34px!important;padding:24px 18px!important;border-radius:20px!important}
  .single-product .tp-single-experience-head{grid-template-columns:1fr!important;gap:12px!important}
  .single-product .tp-single-experience-head h2{font-size:2rem!important}
  .single-product .tp-activity-grid{grid-template-columns:1fr!important}
  .single-product .woocommerce-tabs{margin-top:34px!important;padding:22px 17px!important;border-radius:20px!important}
  .single-product .woocommerce-tabs .panel{font-size:.94rem!important}
  .single-product .related.products{margin-top:40px!important}
  .single-product .related.products ul.products{grid-template-columns:1fr!important}
  .single-product .related.products ul.products li.product{max-width:none!important}
  .single-product .related.products ul.products li.product a img{height:clamp(230px,68vw,340px)!important}

  .tp-help-widget{right:12px;bottom:12px}
  .tp-help-fab{width:62px;height:62px;min-height:62px;padding:0;border-radius:50%;justify-content:center}
  .tp-help-icon-wrap{width:48px;height:48px}
  .tp-help-icon-wrap .tp-assistant-svg{width:38px;height:38px}
  .tp-help-fab-label{display:none}
  .tp-help-panel{position:fixed;left:12px;right:12px;bottom:84px;width:auto;max-height:calc(100dvh - 108px);border-radius:22px}
  .tp-help-head{grid-template-columns:46px 1fr 32px;padding:14px}
  .tp-help-avatar{width:46px;height:46px;border-radius:13px}
  .tp-help-head strong{font-size:.9rem}
  .tp-help-head span{font-size:.62rem}
  .tp-help-body{padding:14px}
  .tp-help-message p{font-size:.84rem}
  .tp-help-option{grid-template-columns:40px 1fr 18px;padding:11px 10px}
  .tp-help-option-icon{width:40px;height:40px}
  .tp-help-option-copy strong{font-size:.79rem}
  .tp-help-option-copy small{font-size:.65rem}
}

@media(max-width:400px){
  .single-product .tp-wc-main>.tp-container{width:calc(100% - 20px)}
  .single-product .woocommerce div.product div.summary{padding:19px 15px!important}
  .tp-help-panel{left:8px;right:8px;bottom:78px}
}

@media(prefers-reduced-motion:reduce){
  .tp-help-rings{animation:none}
  .tp-help-fab,.tp-help-panel,.tp-help-option{transition:none!important}
}
