/* ============================================================
   NC Travel — Single Tour (producto WooCommerce)
   Usa los tokens de :root definidos en home.css
   ============================================================ */

/* HERO */
.t-hero{position:relative;color:#fff;min-height:380px;display:flex;align-items:flex-end;background:linear-gradient(135deg,#4b6b53,#22332a);background-size:cover;background-position:center}
.t-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.72))}
.t-hero .in{position:relative;z-index:2;max-width:var(--wrap);margin:0 auto;padding:40px 22px;width:100%}
.t-crumb{font-size:13px;color:#e0e6e2;margin-bottom:12px}.t-crumb a{color:#e0e6e2}.t-crumb span{opacity:.6}
.t-hero h1{font-weight:800;font-size:clamp(30px,5vw,52px);line-height:1.05;letter-spacing:-.01em;max-width:20ch;margin:0}
.t-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.t-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.14);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.22);padding:7px 13px;border-radius:999px;font-size:13px;font-weight:500}

/* LAYOUT */
.t-layout{display:grid;grid-template-columns:1fr 360px;gap:34px;padding-block:40px;align-items:start;max-width:var(--wrap);margin:0 auto;padding-inline:22px}
@media(max-width:960px){.t-layout{grid-template-columns:1fr}}

/* KEYS */
.t-keys{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:30px}
@media(max-width:720px){.t-keys{grid-template-columns:repeat(2,1fr)}}
.t-key{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 12px;text-align:center;box-shadow:var(--shadow-sm)}
.t-key .ic{width:40px;height:40px;margin:0 auto 8px;border-radius:50%;background:var(--orange-tint);color:var(--orange);display:grid;place-items:center;font-size:18px}
.t-key .lb{font-size:11px;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em}
.t-key .vl{font-weight:700;font-size:15px;margin-top:2px}

.t-block{margin-bottom:32px}
.t-block h2{font-weight:800;font-size:24px;margin:0 0 12px}
.t-overview{background:var(--cream-warm,#F7F2E8);border:1px solid var(--sand);border-radius:16px;padding:22px 24px;font-size:15.5px}

/* GALLERY */
.t-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.t-gallery .g{aspect-ratio:4/3;border-radius:10px;background-size:cover;background-position:center}
.t-gallery .g1{background:linear-gradient(135deg,#4b6b53,#25352b)}.t-gallery .g2{background:linear-gradient(135deg,#2f6f7a,#173a41)}
.t-gallery .g3{background:linear-gradient(135deg,#b5561f,#7a2f12)}.t-gallery .g4{background:linear-gradient(135deg,#6a5a86,#3a2f52)}
.t-gallery .g5{background:linear-gradient(135deg,#5a7040,#31401f)}.t-gallery .g6{background:linear-gradient(135deg,#38607a,#1c3141)}

/* TABS */
.tabs{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);overflow:hidden}
.tabnav{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--line);background:var(--cream-warm,#F7F2E8)}
.tabnav button{flex:none;font-family:inherit;font-weight:600;font-size:14px;color:var(--ink-2);background:transparent;border:none;padding:16px 20px;cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap;transition:.15s}
.tabnav button:hover{color:var(--ink)}
.tabnav button.on{color:var(--orange);border-bottom-color:var(--orange);background:#fff}
.tabpane{display:none;padding:26px 26px 30px}
.tabpane.on{display:block}
.tabpane h3{font-weight:700;font-size:18px;margin:0 0 16px}

/* ITINERARIO */
.t-tl{position:relative;padding-left:28px}
.t-tl::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--sand)}
.t-tl .it{position:relative;padding-bottom:20px}
.t-tl .it::before{content:"";position:absolute;left:-24px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--orange);border:3px solid var(--page)}
.t-tl .it h4{font-weight:700;font-size:15.5px;margin:0}
.t-tl .it .d{font-size:14px;color:var(--ink-2);margin-top:3px}
.t-tl .it .d p{margin:.4em 0}

/* INCLUYE / NO INCLUYE */
.t-incl{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:600px){.t-incl{grid-template-columns:1fr}}
.t-incl .col b{display:block;font-weight:700;font-size:15px;margin-bottom:10px}
.t-incl .yes,.t-incl .no{font-size:14px;line-height:1.7}
.t-incl .yes ul,.t-incl .no ul{list-style:none;padding:0;margin:0}
.t-incl .yes li,.t-incl .no li{display:flex;gap:9px;align-items:flex-start;margin:7px 0}
.t-incl .yes li::before{content:"✓";color:#1a9d5f;font-weight:800}
.t-incl .no li::before{content:"✕";color:#c23b2f;font-weight:800}

/* texto rico (wysiwyg) */
.t-rich{font-size:14.5px;line-height:1.7}
.t-rich ul{padding-left:20px}.t-rich li{margin:6px 0}

/* FAQ */

.t-faq{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:10px;background:#fff}
.t-faq summary{list-style:none;cursor:pointer;font-weight:600;font-size:15px;padding:15px 18px;display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--ink)}
.t-faq summary::-webkit-details-marker{display:none}
.t-faq summary .pl{color:var(--orange);font-size:22px;line-height:1;transition:.2s;flex:none}
.t-faq[open] summary .pl{transform:rotate(45deg)}
.t-faq .ans{background:var(--cream-warm,#F7F2E8)}
.t-faq .ans .in{padding:15px 18px;font-size:14px;color:var(--ink-2)}

/* VIDEO */
.t-video{aspect-ratio:16/9;border-radius:14px;overflow:hidden}
.t-video iframe{width:100%;height:100%;border:0;display:block}
.t-video .ph{width:100%;height:100%;background:linear-gradient(135deg,#1d2b25,#33513f);display:grid;place-items:center}
.t-video .play{width:70px;height:70px;border-radius:50%;background:var(--orange);display:grid;place-items:center;box-shadow:0 8px 30px rgba(240,106,0,.5)}
.t-video .play::after{content:"";border-left:20px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:5px}

/* SIDEBAR */
.t-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}
@media(max-width:960px){.t-side{position:static}}
.t-bookbox{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}
.t-bookbox .top{background:var(--ink);color:#fff;padding:18px 20px}
.t-bookbox .top .lb{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#c9cec9}
.t-bookbox .top .amt{font-weight:800;font-size:32px;line-height:1.1}
.t-bookbox .top .amt small{font-size:14px;font-weight:500;color:#c9cec9}
.t-bookbox form{padding:18px 20px;display:flex;flex-direction:column;gap:11px}
.t-bookbox label{font-size:12px;font-weight:600;margin-bottom:4px;display:block}
.t-bookbox input,.t-bookbox select{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 11px;font-family:inherit;font-size:14px;background:var(--page)}
.t-bookbox input:focus,.t-bookbox select:focus{outline:2px solid var(--orange);border-color:var(--orange)}
.t-assure{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2);margin-top:2px}
.t-advisor{background:var(--cream-warm,#F7F2E8);border:1px solid var(--sand);border-radius:16px;padding:18px;text-align:center}
.t-advisor .av{width:56px;height:56px;border-radius:50%;background:var(--orange-tint);color:var(--orange);display:grid;place-items:center;font-weight:700;font-size:22px;margin:0 auto 10px}
.t-advisor b{display:block;font-size:15px}.t-advisor span{font-size:13px;color:var(--ink-2)}

/* RELACIONADOS */
.t-related{background:var(--cream-warm,#F7F2E8);border-top:1px solid var(--sand);padding-block:44px}
.t-related .in{max-width:var(--wrap);margin:0 auto;padding-inline:22px}
.t-rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px}
@media(max-width:820px){.t-rgrid{grid-template-columns:1fr}}

/* ---- Imágenes reales optimizadas (lazy + srcset) ---- */
.t-hero{overflow:hidden}
.t-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.t-hero::after{z-index:1}
.t-hero .in{z-index:2}
.t-gallery .g{position:relative;overflow:hidden}
.t-gallery .g img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
