/* ============================================================
   PRIMARGO · Design System — Dirección B "Arena"
   Terracota + Darker Grotesque · casi monocromo
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Darker+Grotesque:wght@500;600;700;800&display=swap');

:root{
  --ink:#1c1813;
  --paper:#faf6f0;
  --paper-2:#f1e9df;
  --accent:#c2502b;
  --accent-deep:#a8431f;
  --accent-soft:#f3e2d8;
  --muted:#7c7166;
  --line:#e7ddd0;
  --line-2:#d9ccba;
  --card:#fffdfa;
  --green:#1f9d55;
  --maxw:1240px;
  --disp:"Darker Grotesque",system-ui,sans-serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --radius:22px;
  --shadow:0 30px 60px -50px rgba(28,24,19,.6);
  --shadow-hover:0 30px 50px -40px rgba(28,24,19,.5);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
input,select,textarea{font-family:inherit;}
.tb-wrap{max-width:var(--maxw);margin:0 auto;padding:0;}
.tb-wrap-narrow{max-width:880px;margin:0 auto;padding:0 40px;}
h1,h2,h3,h4{font-family:var(--disp);font-weight:800;margin:0;letter-spacing:-.01em;line-height:.92;}
p{margin:0;}
.tb-display{font-family:var(--disp);font-weight:800;letter-spacing:-.01em;line-height:.9;}
.tb-label{font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);}
.tb-muted{color:var(--muted);}

/* ---------- placeholders / temp photos ---------- */
.tb-ph{background:#ece1d3;color:#a89478;display:grid;place-items:center;position:relative;overflow:hidden;border:0;border-radius:16px;}
.tb-ph .tb-pin{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:16px;}
.tb-ph .tb-pin svg{opacity:.55;}
.tb-ph .tb-pin span{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;}
.tb-ph::before{content:"placeholder";position:absolute;top:12px;left:12px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(28,24,19,.4);padding:3px 8px;border-radius:20px;z-index:1;}
.tb-ph.tb-is-photo::before,.tb-ph.tb-is-photo .tb-pin{display:none;}
.tb-ph .tb-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}

/* ---------- buttons ---------- */
.tb-btn{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:15px;padding:13px 26px;border-radius:999px;transition:.16s;white-space:nowrap;}
.tb-btn svg{transition:transform .16s;}
.tb-btn:hover svg{transform:translateX(3px);}
.tb-btn-sm{padding:9px 18px;font-size:14px;}
.tb-btn-lg{padding:16px 30px;font-size:16px;}
.tb-btn-accent{background:var(--accent);color:#fff;}
.tb-btn-accent:hover{background:var(--accent-deep);}
.tb-btn-ink{background:var(--ink);color:var(--paper);}
.tb-btn-ink:hover{background:#000;}
.tb-btn-ghost{border:1.5px solid var(--ink);color:var(--ink);}
.tb-btn-ghost:hover{background:var(--ink);color:var(--paper);}
.tb-btn-white{background:#fff;color:var(--ink);}
.tb-btn-wa{background:var(--green);color:#fff;}
.tb-btn-wa:hover{background:#1a8a4a;}
.tb-btn-block{display:flex;justify-content:center;width:100%;}

.tb-lang{display:inline-flex;background:var(--paper-2);border-radius:999px;padding:3px;font-size:12px;font-weight:700;}
.tb-lang button{padding:5px 11px;color:var(--muted);border-radius:999px;}
.tb-lang button.tb-on{background:var(--ink);color:var(--paper);}

/* badges */
.tb-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 11px;border-radius:999px;}
.tb-chip-rent{background:var(--accent);color:#fff;}
.tb-chip-sale{background:var(--ink);color:#fff;}
.tb-chip-soft{background:var(--accent-soft);color:var(--accent-deep);}
.tb-chip-line{background:transparent;border:1px solid var(--line-2);color:var(--muted);}

/* ---------- header / footer (injected by site.js) ---------- */
header{position:sticky;top:0;z-index:60;background:#fff;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);}
.tb-nav{display:flex;align-items:center;gap:30px;height:76px;}
.tb-brand{font-family:var(--disp);font-weight:800;font-size:30px;letter-spacing:-.02em;display:flex;align-items:center;gap:9px;}
.tb-brand .tb-ic{width:30px;height:30px;border-radius:50%;background:var(--accent);display:grid;place-items:center;color:#fff;}
.tb-menu{display:flex;gap:22px;margin-left:8px;}
.tb-menu a{font-size:14.5px;font-weight:500;color:var(--ink);transition:.15s;position:relative;}
.tb-menu a:hover{color:var(--accent);}
.tb-menu a.tb-active{color:var(--accent);}
.tb-menu a.tb-active::after{content:"";position:absolute;left:0;right:0;bottom:-26px;height:2px;background:var(--accent);}
.tb-nav-right{margin-left:auto;display:flex;align-items:center;gap:14px;}
.tb-phone{font-weight:700;font-size:15px;}
.tb-phone span{display:block;font-size:11px;color:var(--muted);font-weight:500;}
.tb-nav-toggle{display:none;}

footer{background:var(--ink);color:rgba(250,246,240,.7);padding:74px 0 34px;}
.tb-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:44px;}
.tb-foot-brand{font-family:var(--disp);font-weight:800;font-size:34px;color:var(--paper);}
.tb-foot-grid>div>p{font-size:14.5px;margin:14px 0 22px;max-width:30ch;}
.tb-foot-col h4{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper);margin:0 0 16px;font-weight:700;}
.tb-foot-col a{display:block;font-size:14.5px;margin-bottom:11px;color:rgba(250,246,240,.7);transition:.15s;}
.tb-foot-col a:hover{color:var(--accent);}
.tb-foot-contact b{color:var(--paper);font-family:var(--disp);font-size:26px;display:block;font-weight:800;}
.tb-foot-bot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:54px;padding-top:26px;border-top:1px solid rgba(250,246,240,.14);font-size:13px;flex-wrap:wrap;}
.tb-foot-bot a{color:rgba(250,246,240,.6);}
.tb-foot-bot .tb-lang{background:rgba(255,255,255,.1);}
.tb-foot-bot .tb-lang button{color:rgba(250,246,240,.7);}
.tb-foot-bot .tb-lang button.tb-on{background:var(--paper);color:var(--ink);}

/* ---------- sections ---------- */
section{scroll-margin-top:84px;}
.tb-sec{padding:100px 0;}
.tb-sec-sm{padding:72px 0;}
.tb-sec.tb-alt{background:var(--paper-2);}
.tb-sec.tb-dark{background:var(--ink);color:var(--paper);}
.tb-sec-head{text-align:center;max-width:740px;margin:0 auto 56px;}
.tb-sec-head .tb-label{display:block;margin-bottom:14px;}
.tb-sec-head h2{font-size:clamp(46px,6vw,84px);letter-spacing:-.015em;}
.tb-sec-head p{color:var(--muted);font-size:18px;margin-top:18px;}
.tb-sec-head.tb-left{text-align:left;margin-left:0;}

/* arrow / stepped breadcrumb */
.tb-breadcrumb{display:flex;align-items:stretch;font-size:13px;font-weight:600;padding:24px 0 6px;flex-wrap:wrap;gap:5px;}
.tb-breadcrumb .tb-sep{display:none;}
.tb-breadcrumb a,.tb-breadcrumb>span:not(.tb-sep){
  display:inline-flex;align-items:center;gap:7px;line-height:1;
  background:var(--paper);color:var(--muted);
  padding:9px 18px 9px 28px;
  clip-path:polygon(0 0,calc(100% - 13px) 0,100% 50%,calc(100% - 13px) 100%,0 100%,13px 50%);
  transition:background .15s,color .15s;white-space:nowrap;
}
.tb-breadcrumb a:first-child{padding-left:18px;clip-path:polygon(0 0,calc(100% - 13px) 0,100% 50%,calc(100% - 13px) 100%,0 100%);}
.tb-breadcrumb a:hover{background:var(--paper-2);color:var(--ink);}
.tb-breadcrumb>span:not(.tb-sep){background:var(--paper-2);color:var(--ink);}
.tb-breadcrumb a:first-child::before{content:"";width:14px;height:14px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><path d='M3 11l9-8 9 8M5 10v10h14V10' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><path d='M3 11l9-8 9 8M5 10v10h14V10' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;}

/* ---------- hero (home) ---------- */
.tb-hero{padding:64px 0 0;text-align:center;}
.tb-hero .tb-label{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;}
.tb-hero .tb-label::before,.tb-hero .tb-label::after{content:"";width:24px;height:1px;background:var(--accent);}
.tb-hero h1{font-size:clamp(60px,9.4vw,140px);line-height:.84;letter-spacing:-.02em;}
.tb-hero h1 em{font-style:normal;color:var(--accent);}
.tb-hero-lead{font-size:20px;color:var(--muted);max-width:620px;margin:26px auto 0;}
.tb-hero-actions{display:flex;gap:12px;justify-content:center;margin-top:30px;flex-wrap:wrap;}
.tb-hero-media{margin-top:54px;}
.tb-hero-media .tb-ph{aspect-ratio:21/9;border-radius:24px;margin-bottom:100px;}
.tb-hero-counters{display:grid;grid-template-columns:repeat(4,1fr);max-width:900px;margin:48px auto;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);padding:36px 0;}
.tb-counter{padding:0 20px;text-align:center;border-right:1px solid var(--line-2);}
.tb-counter:last-child{border-right:none;}
.tb-counter b{font-family:var(--disp);font-size:clamp(40px,4.2vw,54px);font-weight:800;display:block;line-height:1;letter-spacing:-.02em;}
.tb-counter b i{font-style:normal;color:var(--accent);font-size:26px;margin-left:4px;}
.tb-counter span{font-size:13.5px;color:var(--muted);margin-top:12px;display:block;}

/* ===== unified page header (under site header): breadcrumb + title + (lead) + (actions) ===== */
.tb-page-head,.tb-hero-short{background:var(--paper-2);border-bottom:1px solid var(--line);}
.tb-page-head{max-width:none;padding:34px max(24px,calc((100% - var(--maxw))/2)) 48px;}
.tb-hero-short{padding:34px 0 48px;}
.tb-page-head .tb-inner,.tb-hero-short .tb-inner{max-width:920px;}
.tb-page-head .tb-breadcrumb,.tb-hero-short .tb-breadcrumb{padding:0;margin-bottom:24px;}
.tb-page-head .tb-label,.tb-hero-short .tb-label{display:inline-block;margin-bottom:14px;}
.tb-page-head h1,.tb-hero-short h1{font-size:clamp(46px,6.2vw,90px);line-height:.9;letter-spacing:-.02em;}
.tb-page-head h1 em,.tb-hero-short h1 em{font-style:normal;color:var(--accent);}
.tb-page-head p,.tb-hero-short p{color:var(--muted);font-size:19px;margin-top:20px;max-width:62ch;}
.tb-page-head .tb-hero-actions,.tb-page-head .tb-page-actions,.tb-hero-short .tb-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;justify-content:flex-start;}
.tb-hero-banner{margin-top:44px;}
.tb-hero-banner .tb-ph{aspect-ratio:24/9;border-radius:24px;}

/* ---------- booking bar ---------- */
.tb-book-bar{background:var(--card);border:1px solid var(--line-2);border-radius:24px;padding:14px;display:grid;grid-template-columns:repeat(4,1fr) auto;gap:8px;box-shadow:var(--shadow);max-width:1040px;margin:0 auto;}
.tb-bf{padding:12px 18px;border-radius:16px;transition:.15s;}
.tb-bf:hover{background:var(--paper-2);}
.tb-bf label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:5px;font-weight:700;}
.tb-bf .tb-ctl{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:16px;font-weight:600;}
.tb-bf .tb-ctl svg{color:var(--muted);}
.tb-book-bar .tb-go{background:var(--accent);color:#fff;border-radius:18px;padding:0 32px;font-weight:700;font-size:16px;display:flex;align-items:center;gap:10px;transition:.16s;}
.tb-book-bar .tb-go:hover{background:var(--accent-deep);}
.tb-book-note{text-align:center;margin-top:20px;font-size:14px;color:var(--muted);}

/* ---------- types ---------- */
.tb-types{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.tb-types.tb-five{grid-template-columns:repeat(5,1fr);}
.tb-type{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:26px 22px;transition:.18s;display:block;}
.tb-type:hover{border-color:var(--accent);transform:translateY(-4px);}
.tb-type .tb-ic{width:48px;height:48px;border-radius:50%;background:var(--paper-2);display:grid;place-items:center;color:var(--accent);margin-bottom:18px;}
.tb-type h3{font-size:30px;margin-bottom:8px;}
.tb-type p{font-size:13.5px;color:var(--muted);margin-bottom:16px;}
.tb-type .tb-from{font-size:14px;color:var(--muted);}
.tb-type .tb-from b{font-family:var(--disp);font-size:26px;color:var(--ink);font-weight:800;}

/* ---------- boat cards / fleet ---------- */
.tb-fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.tb-fleet-grid.tb-cols-4{grid-template-columns:repeat(4,1fr);}
.tb-boat{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:.18s;}
.tb-boat:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);}
.tb-boat .tb-ph{aspect-ratio:16/11;border-radius:0;border:none;border-bottom:1px solid var(--line);}
.tb-boat .tb-badges{position:absolute;top:14px;left:14px;display:flex;gap:6px;z-index:2;}
.tb-boat .tb-tag{position:absolute;top:14px;right:14px;background:rgba(28,24,19,.86);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 11px;border-radius:999px;z-index:2;}
.tb-boat .tb-tag.tb-lic{background:var(--accent);}
.tb-boat-body{padding:22px;display:flex;flex-direction:column;flex:1;}
.tb-boat h3{font-size:34px;line-height:.9;}
.tb-boat .tb-crew{font-size:13px;color:var(--muted);margin-top:6px;}
.tb-boat-foot{display:flex;align-items:flex-end;justify-content:space-between;margin-top:auto;padding-top:22px;}
.tb-boat .tb-price small{font-size:12px;color:var(--muted);display:block;}
.tb-boat .tb-price b{font-family:var(--disp);font-size:38px;font-weight:800;line-height:.9;}
.tb-boat .tb-resv{font-size:14px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:6px;transition:gap .16s;}
.tb-boat .tb-resv:hover{gap:11px;}

/* listing filters */
.tb-listing{display:grid;grid-template-columns:280px 1fr;gap:36px;align-items:start;}
.tb-filters{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:26px;position:sticky;top:96px;}
.tb-filters h3{font-size:30px;margin-bottom:6px;}
.tb-filters .tb-fg{padding:20px 0;border-bottom:1px solid var(--line);}
.tb-filters .tb-fg:last-child{border-bottom:none;padding-bottom:0;}
.tb-filters .tb-fg h4{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-family:var(--body);font-weight:700;}
.tb-fchips{display:flex;flex-wrap:wrap;gap:8px;}
.tb-fchip{font-size:13px;font-weight:600;color:var(--ink);background:var(--paper-2);border:1px solid transparent;border-radius:999px;padding:5px 14px;transition:.15s;cursor:pointer;}
.tb-fchip:hover{border-color:var(--line-2);}
.tb-fchip.tb-on{background:var(--ink);color:#fff;}
.tb-select{width:100%;border:1px solid var(--line-2);background:var(--paper);border-radius:12px;padding:12px 14px;font-size:15px;font-weight:600;color:var(--ink);}
.tb-range{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);}
.tb-range input{width:100%;}
.tb-toggle-row{display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:600;padding:6px 0;}
.tb-switch{width:42px;height:24px;border-radius:999px;background:var(--line-2);position:relative;transition:.18s;flex-shrink:0;}
.tb-switch.tb-on{background:var(--accent);}
.tb-switch::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.18s;}
.tb-switch.tb-on::after{left:21px;}
.tb-listing-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:14px;}
.tb-listing-top .tb-count{font-family:var(--disp);font-size:26px;font-weight:800;}
.tb-listing-top .tb-sort{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);}
.tb-pagination{display:flex;justify-content:center;gap:8px;margin-top:50px;}
.tb-pagination a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:700;border:1px solid var(--line-2);color:var(--ink);transition:.15s;background:#fff;}
.tb-pagination a:hover{border-color:var(--accent);}
.tb-pagination a.tb-on{background:var(--ink);color:#fff;border-color:var(--ink);}

/* ---------- experiences ---------- */
.tb-exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.tb-exp{border-radius:22px;overflow:hidden;position:relative;display:block;}
.tb-exp .tb-ph{aspect-ratio:3/4;border-radius:0;border:none;}
.tb-exp-cap{position:absolute;left:0;right:0;bottom:0;padding:26px;background:linear-gradient(to top,rgba(28,24,19,.85),transparent);color:#fff;}
.tb-exp-cap h3{font-size:38px;color:#fff;line-height:.9;margin-bottom:8px;}
.tb-exp-cap p{font-size:14px;color:rgba(255,255,255,.82);}

/* ---------- about / split ---------- */
.tb-split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.tb-split.tb-media-right .tb-media{order:2;}
.tb-split .tb-ph{aspect-ratio:1/1;border-radius:24px;}
.tb-split h2{font-size:clamp(40px,5vw,72px);letter-spacing:-.015em;margin-bottom:20px;}
.tb-split p{color:var(--muted);font-size:17px;margin-bottom:16px;}
.tb-about-stats{display:flex;gap:44px;margin-top:30px;}
.tb-about-stats b{font-family:var(--disp);font-size:52px;font-weight:800;display:block;line-height:.85;color:var(--accent);}
.tb-about-stats span{font-size:13px;color:var(--muted);}

/* feature panel (pesca etc) */
.tb-feature{background:var(--accent);color:#fff;}
.tb-feature .tb-inner{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.tb-feature .tb-label{color:rgba(255,255,255,.8);}
.tb-feature h2{font-size:clamp(44px,5.4vw,84px);color:#fff;line-height:.86;margin-bottom:18px;letter-spacing:-.015em;}
.tb-feature p{color:rgba(255,255,255,.86);font-size:17px;margin-bottom:22px;}
.tb-feature . feature-list,.tb-feature ul.tb-ck{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:12px;}
.tb-feature ul.tb-ck li{display:flex;gap:12px;align-items:center;font-size:15px;}
.tb-feature ul.tb-ck svg{flex-shrink:0;}
.tb-feature .tb-ph{aspect-ratio:4/5;background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.25);color:rgba(255,255,255,.7);}
.tb-feature .tb-ph::before{background:rgba(255,255,255,.2);}
.tb-feature .tb-from-line{font-size:15px;color:rgba(255,255,255,.8);margin-bottom:22px;}
.tb-feature .tb-from-line b{font-family:var(--disp);color:#fff;font-size:28px;font-weight:800;}

/* ---------- testimonials ---------- */
.tb-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.tb-testi{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:30px;}
.tb-testi .tb-mark{font-family:var(--disp);font-size:64px;font-weight:800;color:var(--accent);line-height:.5;height:30px;}
.tb-testi .tb-q{font-size:18px;line-height:1.45;margin-bottom:24px;color:var(--ink);}
.tb-testi .tb-who{display:flex;align-items:center;gap:12px;}
.tb-testi .tb-av{width:42px;height:42px;border-radius:50%;background:var(--paper-2);display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:18px;color:var(--accent);}
.tb-testi .tb-who b{font-size:14.5px;display:block;font-weight:700;}
.tb-testi .tb-who span{font-size:12.5px;color:var(--muted);}

/* ---------- gallery ---------- */
.tb-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.tb-gallery .tb-ph{aspect-ratio:1/1;}
.tb-gallery .tb-ph.tb-tall{aspect-ratio:1/2;grid-row:span 2;}
.tb-gallery .tb-ph.tb-wide{aspect-ratio:2/1;grid-column:span 2;}

/* ---------- location / map ---------- */
.tb-loc{display:grid;grid-template-columns:1fr 1.15fr;gap:24px;align-items:stretch;}
.tb-loc-info{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:44px;}
.tb-loc-info h3{font-size:46px;margin-bottom:24px;line-height:.9;}
.tb-loc-info .tb-row{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);}
.tb-loc-info .tb-row:last-of-type{border-bottom:none;}
.tb-loc-info .tb-row svg{color:var(--accent);flex-shrink:0;margin-top:3px;}
.tb-loc-info .tb-row b{font-size:18px;display:block;font-family:var(--disp);font-weight:800;}
.tb-loc-info .tb-row span{font-size:14px;color:var(--muted);}
.tb-map{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--line-2);background:
  linear-gradient(var(--paper-2) 1px,transparent 1px) 0 0/100% 46px,
  linear-gradient(90deg,var(--paper-2) 1px,transparent 1px) 0 0/46px 100%,
  #f3ece2;min-height:460px;}
.tb-map .tb-road{position:absolute;background:#e2d6c6;}
.tb-map .tb-road.tb-r1{top:40%;left:-5%;width:110%;height:14px;transform:rotate(-6deg);}
.tb-map .tb-road.tb-r2{top:0;left:60%;width:14px;height:120%;transform:rotate(8deg);}
.tb-map .tb-sea{position:absolute;right:-6%;bottom:-10%;width:56%;height:62%;background:#d7e6ea;border-radius:46% 54% 50% 50%/40%;}
.tb-map .tb-pin{position:absolute;top:46%;left:42%;transform:translate(-50%,-100%);text-align:center;}
.tb-map .tb-pin .tb-dot{width:18px;height:18px;border-radius:50%;background:var(--accent);border:3px solid #fff;box-shadow:0 4px 12px rgba(194,80,43,.45);margin:0 auto;}
.tb-map .tb-pin .tb-lbl{margin-top:6px;background:var(--ink);color:#fff;font-size:12px;padding:5px 10px;border-radius:999px;white-space:nowrap;font-weight:600;}
.tb-map .tb-badge{position:absolute;left:20px;bottom:20px;background:#fff;padding:6px 12px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}

/* ---------- FAQ ---------- */
.tb-faq-list{max-width:840px;margin:0 auto;}
.tb-qa{background:var(--card);border:1px solid var(--line);border-radius:18px;margin-bottom:14px;overflow:hidden;transition:.18s;}
.tb-qa.tb-open{border-color:var(--accent);}
.tb-qa-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;text-align:left;padding:24px 28px;font-family:var(--disp);font-size:26px;font-weight:800;line-height:1.1;cursor:pointer;}
.tb-qa-q .tb-ic{position:relative;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--accent-soft);font-size:0;transition:background .22s;}
.tb-qa-q .tb-ic::before,.tb-qa-q .tb-ic::after{content:"";position:absolute;left:50%;top:50%;width:15px;height:2.5px;border-radius:2px;background:var(--accent);transform:translate(-50%,-50%);transition:transform .25s,background .22s;}
.tb-qa-q .tb-ic::after{transform:translate(-50%,-50%) rotate(90deg);}
.tb-qa.tb-open .tb-ic{background:var(--accent);}
.tb-qa.tb-open .tb-ic::before,.tb-qa.tb-open .tb-ic::after{background:#fff;}
.tb-qa.tb-open .tb-ic::after{transform:translate(-50%,-50%) rotate(0deg);}
.tb-qa-a{max-height:0;overflow:hidden;transition:max-height .28s ease;}
.tb-qa-a div{padding:0 28px 26px;color:var(--muted);font-size:15.5px;}

/* ---------- CTA ---------- */
.tb-cta-box{background:var(--ink);color:#fff;border-radius:30px;padding:80px 56px;text-align:center;position:relative;overflow:hidden;}
.tb-cta-box .tb-blob{position:absolute;width:480px;height:480px;border-radius:50%;background:var(--accent);opacity:.9;right:-160px;top:-160px;}
.tb-cta-box .tb-inner{position:relative;}
.tb-cta-box h2{font-size:clamp(52px,7vw,108px);color:#fff;line-height:.84;letter-spacing:-.02em;max-width:16ch;margin:0 auto 22px;}
.tb-cta-box p{color:rgba(255,255,255,.78);font-size:18px;max-width:48ch;margin:0 auto 32px;}
.tb-cta-box .tb-acts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.tb-cta-box .tb-btn-ghost{border-color:rgba(255,255,255,.5);color:#fff;}
.tb-cta-box .tb-btn-ghost:hover{background:#fff;color:var(--ink);}

/* ---------- detail page ---------- */
.tb-detail{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:start;}
.tb-detail-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;grid-auto-rows:1fr;}
.tb-detail-gallery .tb-ph{border-radius:16px;}
.tb-detail-gallery .tb-ph.tb-main{grid-row:span 2;grid-column:1;aspect-ratio:auto;}
.tb-detail-gallery .tb-ph.tb-small{aspect-ratio:auto;}
.tb-gallery-last{position:relative;cursor:pointer;}
.tb-gallery-more{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:rgba(28,24,19,.46);color:#fff;font-family:var(--disp);font-weight:800;font-size:16px;letter-spacing:-.01em;transition:background .16s;}
.tb-gallery-more:hover{background:rgba(28,24,19,.62);}
.tb-gallery-more span{font-family:var(--body);font-size:12px;font-weight:600;opacity:.85;letter-spacing:0;}
.tb-detail h1{font-size:clamp(40px,5vw,68px);letter-spacing:-.02em;margin:24px 0 10px;}
.tb-detail .tb-sub{color:var(--muted);font-size:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.tb-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:32px 0;}
.tb-spec{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;}
.tb-spec svg{color:var(--accent);background:var(--accent-soft);width:40px;height:40px;padding:9px;border-radius:12px;}
.tb-spec b{font-family:var(--disp);font-size:24px;font-weight:800;display:block;margin-top:13px;line-height:1;}
.tb-spec span{font-size:12.5px;color:var(--muted);}
.tb-detail-body h2{font-size:38px;margin:40px 0 30px;}
.tb-detail-body p{color:var(--ink);font-size:16px;margin-bottom:14px;}
.tb-feature-list{list-style:none;padding:0;margin:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.tb-feature-list li{display:flex;gap:10px;align-items:center;font-size:15px;color:var(--ink);}
.tb-feature-list svg{color:var(--accent);flex-shrink:0;}
.tb-booking-card{background:var(--card);border:1px solid var(--line-2);border-radius:24px;padding:28px;position:sticky;top:96px;box-shadow:var(--shadow);}
.tb-booking-card .tb-price{display:flex;align-items:baseline;gap:8px;margin-bottom:20px;}
.tb-booking-card .tb-price b{font-family:var(--disp);font-size:48px;font-weight:800;line-height:1;}
.tb-booking-card .tb-price span{color:var(--muted);font-size:15px;}
.tb-bc-field{border:1px solid var(--line-2);border-radius:14px;padding:12px 16px;margin-bottom:10px;}
.tb-bc-field label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700;display:block;margin-bottom:4px;}
.tb-bc-field .tb-v{font-size:15px;font-weight:600;}
.tb-calendar{background:var(--paper-2);border-radius:14px;padding:16px;margin:10px 0 16px;}
.tb-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-family:var(--disp);font-weight:800;font-size:18px;}
.tb-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;}
.tb-cal-grid .tb-dow{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;padding:4px 0;}
.tb-cal-grid .tb-day{font-size:13px;font-weight:600;padding:7px 0;border-radius:8px;cursor:pointer;}
.tb-cal-grid .tb-day:hover{background:#fff;}
.tb-cal-grid .tb-day.tb-sel{background:var(--accent);color:#fff;}
.tb-cal-grid .tb-day.tb-off{color:var(--line-2);}
.tb-bc-row{display:flex;justify-content:space-between;font-size:14px;padding:7px 0;color:var(--muted);}
.tb-bc-row.tb-total{color:var(--ink);font-weight:700;font-size:17px;border-top:1px solid var(--line);margin-top:8px;padding-top:14px;}
.tb-sale-box .tb-price b{color:var(--accent);}

/* ---------- blog ---------- */
.tb-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.tb-post{display:block;}
.tb-post .tb-ph{aspect-ratio:3/2;border-radius:18px;margin-bottom:18px;}
.tb-post .tb-meta{font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:8px;}
.tb-post h3{font-size:28px;line-height:.96;margin-bottom:8px;transition:.15s;}
.tb-post:hover h3{color:var(--accent);}
.tb-post p{font-size:14.5px;color:var(--muted);}
.tb-post.tb-feat{grid-column:span 3;display:grid;grid-template-columns:1.3fr 1fr;gap:36px;align-items:center;}
.tb-post.tb-feat .tb-ph{aspect-ratio:16/10;margin:0;}
.tb-post.tb-feat h3{font-size:clamp(34px,3.6vw,52px);}
.tb-article{max-width:720px;margin:0 auto;}
.tb-article .tb-lead{font-size:21px;color:var(--ink);line-height:1.5;margin:24px 0;}
.tb-article h2{font-size:36px;margin:40px 0 16px;}
.tb-article h3{font-size:26px;margin:30px 0 12px;}
.tb-article p{font-size:17px;line-height:1.7;color:#2c2620;margin-bottom:18px;}
.tb-article ul{font-size:17px;line-height:1.7;color:#2c2620;padding-left:22px;margin-bottom:18px;}
.tb-article blockquote{border-left:3px solid var(--accent);padding:6px 0 6px 24px;margin:24px 0;font-family:var(--disp);font-size:26px;font-weight:700;line-height:1.15;}
.tb-article .tb-ph{border-radius:18px;aspect-ratio:16/9;margin:28px 0;}

/* ---------- forms ---------- */
.tb-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.tb-field-full{grid-column:span 2;}
.tb-lbl{font-size:13px;font-weight:700;color:var(--ink);display:block;margin-bottom:7px;}
.tb-inp{width:100%;border:1px solid var(--line-2);background:var(--card);border-radius:12px;padding:13px 15px;font-size:15px;color:var(--ink);transition:.15s;}
.tb-inp:focus{outline:none;border-color:var(--accent);}
textarea.tb-inp{min-height:130px;resize:vertical;}

/* ---------- legal tabs ---------- */
.tb-legal{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:start;}
.tb-legal-nav{position:sticky;top:96px;display:flex;flex-direction:column;gap:4px;}
.tb-legal-nav a{padding:12px 16px;border-radius:12px;font-weight:600;font-size:15px;color:var(--muted);transition:.15s;}
.tb-legal-nav a:hover{background:var(--paper-2);color:var(--ink);}
.tb-legal-nav a.tb-active{background:var(--ink);color:#fff;}
.tb-legal-content h2{font-size:40px;margin:0 0 18px;}
.tb-legal-content h3{font-size:22px;margin:28px 0 10px;}
.tb-legal-content p,.tb-legal-content li{color:#43392f;font-size:15.5px;line-height:1.7;margin-bottom:12px;}
.tb-legal-content .tb-updated{font-size:13px;color:var(--muted);margin-bottom:24px;}

/* divider */
.tb-rule{height:1px;background:var(--line);border:none;margin:0;}

/* mobile nav drawer */
.tb-drawer{display:block;position:fixed;inset:0;z-index:200;background:rgba(28,24,19,.45);opacity:0;pointer-events:none;transition:.2s;}
body.tb-drawer-open .tb-drawer{opacity:1;pointer-events:auto;}
.tb-drawer-inner{position:absolute;top:0;right:0;height:100%;width:min(360px,86vw);background:var(--paper);padding:24px;transform:translateX(100%);transition:.24s;display:flex;flex-direction:column;}
body.tb-drawer-open .tb-drawer-inner{transform:none;}
.tb-drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}
.tb-drawer-head .tb-brand{font-size:26px;}
.tb-drawer-close{width:42px;height:42px;border-radius:12px;background:var(--paper-2);display:grid;place-items:center;}
.tb-drawer-nav{display:flex;flex-direction:column;gap:2px;margin-bottom:auto;}
.tb-drawer-nav a{font-family:var(--disp);font-weight:800;font-size:30px;padding:10px 0;color:var(--ink);border-bottom:1px solid var(--line);}
.tb-drawer-nav a.tb-active{color:var(--accent);}

@media(max-width:1080px){
  .tb-wrap,.tb-wrap-narrow{padding:0 24px;}
  .tb-menu,.tb-phone span{display:none;}
  .tb-nav-toggle{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--paper-2);}
  .tb-split,.tb-feature .tb-inner,.tb-loc,.tb-detail,.tb-listing,.tb-legal{grid-template-columns:1fr;gap:34px;}
  .tb-split.tb-media-right .tb-media{order:0;}
  .tb-filters,.tb-booking-card,.tb-legal-nav{position:static;}
  .tb-types,.tb-types.tb-five{grid-template-columns:repeat(2,1fr);}
  .tb-fleet-grid,.tb-fleet-grid.tb-cols-4,.tb-testi-grid,.tb-exp-grid,.tb-gallery,.tb-blog-grid,.tb-form-grid{grid-template-columns:repeat(2,1fr);}
  .tb-book-bar{grid-template-columns:1fr 1fr;}
  .tb-book-bar .tb-go{grid-column:span 2;justify-content:center;padding:16px;}
  .tb-counter{padding:0 28px;}
  .tb-specs{grid-template-columns:repeat(2,1fr);}
  .tb-post.tb-feat{grid-column:span 2;grid-template-columns:1fr;}
  .tb-foot-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:620px){
  .tb-types,.tb-types.tb-five,.tb-fleet-grid,.tb-fleet-grid.tb-cols-4,.tb-testi-grid,.tb-exp-grid,.tb-gallery,.tb-blog-grid,.tb-form-grid,.tb-foot-grid{grid-template-columns:1fr;}
  .tb-field-full,.tb-post.tb-feat{grid-column:auto;}
  .tb-hero-counters{grid-template-columns:repeat(2,1fr);gap:22px 0;padding:26px 0;}
  .tb-counter{border-right:none;padding:0 10px;}
  .tb-gallery .tb-ph.tb-tall,.tb-gallery .tb-ph.tb-wide{grid-row:auto;grid-column:auto;aspect-ratio:1/1;}
  .tb-specs{grid-template-columns:1fr 1fr;}
  .tb-detail-gallery{grid-template-columns:1fr 1fr;}
  .tb-detail-gallery .tb-ph.tb-main{grid-column:1 / -1;grid-row:auto;min-height:300px;}
}

/* --- mobile header fix: solo marca + burger en móvil --- */
@media(max-width:620px){
  .tb-nav{gap:12px;}
  .tb-phone,.tb-nav-right .tb-lang,.tb-nav-right .tb-btn-accent{display:none;}
  .tb-brand{font-size:26px;}
}

/* --- mobile bottom action bar --- */
.tb-mobile-bar{display:none;}
@media(max-width:620px){
  .tb-mobile-bar{
    display:grid;grid-template-columns:repeat(4,1fr);gap:6px;
    position:fixed;left:0;right:0;bottom:0;z-index:90;
    background:var(--paper);border-top:1px solid var(--line);
    box-shadow:0 -6px 22px rgba(28,24,19,.10);
    padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));
  }
  .tb-mb-item{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    font-size:11px;font-weight:600;color:var(--ink);text-align:center;
    padding:7px 4px;border-radius:13px;line-height:1;background:none;
  }
  .tb-mb-item svg{width:22px;height:22px;}
  .tb-mb-cta{background:var(--accent);color:#fff;}
  body{padding-bottom:74px;}
}

/* --- custom styled dropdown (tb-sel) --- */
.tb-sel{position:relative;}
.tb-sel-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;font-family:var(--body);font-size:16px;font-weight:600;color:var(--ink);cursor:pointer;background:transparent;border:0;padding:0;text-align:left;line-height:1.35;}
.tb-sel-btn svg{flex:none;color:var(--muted);transition:transform .18s;}
.tb-sel.is-open .tb-sel-btn svg{transform:rotate(180deg);}
.tb-sel-list{position:absolute;top:calc(100% + 12px);left:0;min-width:100%;width:max-content;max-width:280px;z-index:70;background:#fff;border:1px solid var(--line-2);border-radius:16px;box-shadow:0 24px 50px -22px rgba(28,24,19,.5);padding:7px;opacity:0;transform:translateY(-6px) scale(.98);transform-origin:top left;pointer-events:none;transition:.16s;max-height:320px;overflow:auto;}
.tb-sel.is-open .tb-sel-list{opacity:1;transform:none;pointer-events:auto;}
.tb-sel-opt{padding:10px 13px;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;color:var(--ink);white-space:nowrap;transition:background .12s;}
.tb-sel-opt:hover{background:var(--paper-2);}
.tb-sel-opt.is-sel{background:var(--accent-soft);color:var(--accent-deep);font-weight:700;}

/* --- reveal on scroll --- */
.tb-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.16,.68,.32,1),transform .7s cubic-bezier(.16,.68,.32,1);}
.tb-reveal.tb-in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.tb-reveal{opacity:1!important;transform:none!important;transition:none!important;}}

/* --- article: 2-col with sticky sidebar + TOC --- */
.tb-article-head{max-width:none;margin:0;padding-bottom:20px;background:no-repeat;border:0;padding-top:45px;padding-left:0;padding-right:0;}
.tb-article-meta{font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700;}
.tb-article-head h1{font-size:clamp(38px,5vw,72px);line-height:.94;letter-spacing:-.02em;margin:10px 0 0;}
.tb-article-head .tb-lead{font-size:21px;color:var(--ink);line-height:1.5;margin:22px 0 0;max-width:none;}
.tb-article-hero{max-width:1100px;margin:30px auto 0;aspect-ratio:16/9;border-radius:20px;}
.tb-article-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:60px;align-items:start;max-width:1080px;margin:48px auto 0;}
.tb-article-grid .tb-article{max-width:none;margin:0;}
.tb-article-main{min-width:0;}
.tb-article-aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:22px;}
.tb-toc{border:1px solid var(--line);border-radius:18px;padding:20px 22px;background:var(--card);}
.tb-toc-title{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:14px;}
.tb-toc-nav{display:flex;flex-direction:column;}
.tb-toc-nav a{font-size:14.5px;color:var(--muted);padding:7px 12px;border-left:2px solid var(--line-2);line-height:1.35;transition:.15s;}
.tb-toc-nav a:hover{color:var(--ink);}
.tb-toc-nav a.tb-toc-h3{padding-left:24px;font-size:13.5px;}
.tb-toc-nav a.is-active{color:var(--accent);border-left-color:var(--accent);font-weight:600;}
.tb-aside-card{background:var(--ink);color:#fff;border-radius:18px;padding:24px;}
.tb-aside-card h4{font-family:var(--disp);font-size:24px;color:#fff;margin:0 0 8px;line-height:1;}
.tb-aside-card p{font-size:14px;color:rgba(255,255,255,.75);margin:0 0 16px;}
.tb-aside-card .tb-btn{width:100%;justify-content:center;margin-bottom:9px;}
.tb-aside-card .tb-btn-ghost{border-color:rgba(255,255,255,.4);color:#fff;}
.tb-aside-card .tb-btn:last-child{margin-bottom:0;}
.tb-aside-share{display:flex;align-items:center;gap:10px;padding-left:2px;}
.tb-aside-share span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-right:2px;}
.tb-aside-share a{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;color:var(--ink);transition:.15s;}
.tb-aside-share a:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
@media(max-width:920px){
  .tb-article-grid{grid-template-columns:1fr;gap:40px;}
  .tb-article-aside{position:static;}
}

/* white/light CTA variant (e.g. inside articles) */
.tb-cta-box.tb-cta-white{background:#fff;color:var(--ink);border:1px solid var(--line-2);box-shadow:0 30px 60px -50px rgba(28,24,19,.5);padding:44px 40px;}
.tb-cta-box.tb-cta-white h2{color:var(--ink);font-size:clamp(30px,4vw,46px);}
.tb-cta-box.tb-cta-white p{color:var(--muted);margin:0 auto 24px;}
.tb-cta-box.tb-cta-white .tb-btn-ghost{border-color:var(--ink);color:var(--ink);}
.tb-cta-box.tb-cta-white .tb-btn-ghost:hover{background:var(--ink);color:#fff;}
.tb-cta-box.tb-cta-white .tb-blob{opacity:.5;}
.tb-cta-inline{margin-top:40px;}

/* full-width breadcrumb bar */
.tb-crumb-bar{border-bottom:1px solid var(--line);background:#fff;}
.tb-crumb-bar .tb-breadcrumb{padding:14px 0;margin:0;}

/* blog listing: plain page-head (no band) */
.tb-page-head.tb-page-head-plain{background:none;border-bottom:none;}

/* detail gallery lightbox */
.tb-detail-gallery .tb-ph{cursor:pointer;}
.tb-lightbox{position:fixed;inset:0;z-index:200;background:rgba(15,12,9,.93);display:none;align-items:center;justify-content:center;}
.tb-lightbox.tb-on{display:flex;}
.tb-lb-stage{max-width:92vw;max-height:86vh;display:flex;align-items:center;justify-content:center;}
.tb-lb-stage img{max-width:92vw;max-height:86vh;border-radius:10px;object-fit:contain;box-shadow:0 24px 70px rgba(0,0,0,.55);}
.tb-lb-close{position:absolute;top:18px;right:20px;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:30px;line-height:1;display:grid;place-items:center;transition:.15s;}
.tb-lb-close:hover{background:rgba(255,255,255,.28);}
.tb-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:30px;line-height:1;display:grid;place-items:center;transition:.15s;}
.tb-lb-nav:hover{background:rgba(255,255,255,.28);}
.tb-lb-prev{left:18px;}
.tb-lb-next{right:18px;}
.tb-lb-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#fff;font-size:13px;font-weight:600;background:rgba(0,0,0,.45);padding:6px 14px;border-radius:999px;}
@media(max-width:620px){
  .tb-lb-nav{width:44px;height:44px;font-size:26px;}
  .tb-lb-prev{left:8px;}
  .tb-lb-next{right:8px;}
  .tb-lb-close{top:12px;right:12px;}
}

/* dark (colored) hero-short variant */
.tb-hero-short.tb-hero-dark{background:var(--ink);color:#fff;padding:70px 0;border-bottom:none;}
.tb-hero-short.tb-hero-dark h1{color:#fff;}
.tb-hero-short.tb-hero-dark p{color:rgba(255,255,255,.78);}
.tb-hero-short.tb-hero-dark .tb-btn-ghost{border-color:rgba(255,255,255,.45);color:#fff;}
.tb-hero-short.tb-hero-dark .tb-btn-ghost:hover{background:#fff;color:var(--ink);}

/* sort dropdown: right-align list (sits near right edge) */
.tb-sort .tb-sel-list{left:auto;right:0;transform-origin:top right;}

/* underline the sort select (affordance: looks like a field) */
.tb-sort .tb-sel-btn{border-bottom:1.5px solid var(--ink);padding-bottom:4px;}
.tb-sort .tb-sel.is-open .tb-sel-btn{border-color:var(--accent);}

/* Reservar CTA: leading calendar icon shouldn't slide on hover */
.tb-nav-right .tb-btn-accent:hover svg,.tb-drawer-inner .tb-btn-accent:hover svg{transform:none;}

/* Google Maps embed (replaces placeholder map) */
.tb-map{min-height:340px;}
.tb-map iframe,.tb-map .tb-gmap{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}

/* ===== utility classes (was inline styles) ===== */
.tb-pb-100{padding-bottom:100px;}
.tb-bg-ink{background:var(--ink);}
.tb-ink-600{color:var(--ink);font-weight:600;}
.tb-label-b{display:block;margin-bottom:14px;}
.tb-fs-17{font-size:17px;}
.tb-sel-auto{width:auto;padding:8px 12px;}
.tb-range-in{width:100%;accent-color:var(--accent);}
.tb-mt-18{margin-top:18px;}
.tb-mt-10{margin-top:10px;}
.tb-range-row{justify-content:space-between;margin-top:6px;}
.tb-filter-hint{font-size:13px;margin-bottom:4px;}
.tb-form-note{font-size:12.5px;text-align:center;margin-top:12px;}
.tb-tc-mt-40{text-align:center;margin-top:40px;}
.tb-tc-mt-36{text-align:center;margin-top:36px;}
.tb-py-detail{padding-top:80px;padding-bottom:100px;}
.tb-pb-90{padding-bottom:90px;}
.tb-mh-440{min-height:440px;}
.tb-mh-340{min-height:340px;}
.tb-mw-none{max-width:none;}
.tb-my-16{margin:16px 0;}
.tb-mt-80{margin-top:80px;}
.tb-mt-48{margin-top:48px;}
.tb-mt-24{margin-top:24px;}
.tb-mb-60{margin-bottom:60px;}
.tb-mb-36{margin-bottom:36px;}
.tb-mb-24{margin-bottom:24px;}
.tb-mb-14{margin-bottom:14px;}
.tb-list-reset{list-style:none;padding:0;margin:0;}
.tb-checklist{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:12px;}
.tb-h-14{height:14px;}
h1.tb-h-a,h2.tb-h-a,h3.tb-h-a{font-size:clamp(34px,4vw,56px);}
h1.tb-h-b,h2.tb-h-b,h3.tb-h-b{font-size:clamp(32px,4vw,52px);margin-bottom:28px;}
h1.tb-h-c,h2.tb-h-c,h3.tb-h-c{font-size:clamp(30px,3.6vw,48px);margin-bottom:28px;}
h1.tb-h-d,h2.tb-h-d,h3.tb-h-d{font-size:clamp(30px,3.4vw,46px);margin-bottom:24px;}
h1.tb-h-e,h2.tb-h-e,h3.tb-h-e{font-size:32px;margin-bottom:22px;}
.tb-fs-17-mb-14{font-size:17px;margin-bottom:14px;}
.tb-sub-note{font-size:14px;margin:-10px 0 18px;}
.tb-fs-14-mt-16{font-size:14px;margin-top:16px;}
.tb-fs-125{font-size:12.5px;}
.tb-flex-8{display:flex;gap:8px;}
.tb-acts-row{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap;}
.tb-flex-12{display:flex;gap:12px;flex-wrap:wrap;}
.tb-link-ul{color:var(--accent);text-decoration:underline;}
.tb-ar-45{aspect-ratio:4/5;}
.tb-ai-start{align-items:start;}
