/* Portitours tokens and client-only reflow corrections. */
:root{--font-ui:"Figtree","Segoe UI",system-ui,sans-serif;--font-display:"Outfit",var(--font-ui);--tc-ink:#1e2323;--tc-ink-soft:#485050;--tc-paper:#fff;--tc-surface:#f6f2ec;--tc-line:rgba(30,35,35,.18);--tc-accent:#e2863f;--tc-accent-ink:#1a1208;--tc-action:#e2863f;--tc-action-ink:#1a1208;--tc-link:#9c4a0b;--tc-star:#b35a0d;--tc-radius:22px;--tc-radius-sm:12px;--tc-max:1240px;--tc-sticky-top:92px}
[hidden]{display:none!important}
.tc-btn--primary:hover{background:#d97a30;color:#1a1208}
.tc-time{border-color:#9c4a0b;color:#9c4a0b}.tc-time:hover{background:var(--tc-action);color:var(--tc-action-ink)}
.tc-title{font-family:var(--font-ui);font-size:clamp(30px,2.8vw,44px)}
.tc-sec h2,.tc-related h2{font-size:clamp(28px,2.8vw,36px)}
.tc-card-meta{align-items:center;flex-wrap:wrap}.tc-card-price{flex:1 1 150px}.tc-card-price .tc-from{display:block;margin-bottom:3px}.tc-card-dur{white-space:normal}
.tc-card-foot{background:#faf7f2}.tc-card-price b{font-family:var(--font-ui)}
.tc-factsbar{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.tc-factsbar li{max-width:340px}
.tc-factsbar:has(li:only-child){max-width:360px}
.tc-book{scroll-margin-top:105px}.tc-aside{top:108px}.tc-btn{max-width:100%;text-align:center;white-space:normal}
.tc-meet{grid-template-columns:minmax(0,1fr)}.tc-meet>*{min-width:0}.tc-meet:not(.tc-meet--nomap){grid-template-columns:minmax(0,1fr)}.tc-meet .tc-map{min-height:240px;width:100%;max-width:100%;aspect-ratio:1280/672}.tc-map-chip,.tc-credit{max-width:calc(100% - 24px);overflow-wrap:anywhere}.tc-pin{background:#9c4a0b;box-shadow:0 0 0 6px #e2863f55}
.tc-meet-card{overflow-wrap:anywhere}.tc-option{min-width:0}.tc-grid--rail{grid-template-columns:repeat(3,minmax(0,1fr))}
.tc-sec{scroll-margin-top:165px}.tc-gallery{overflow:hidden}.tc-gall-grid>.tc-vh{display:none}
.pt-quote{font:700 20px/1.35 var(--font-ui)}.tc-book .pt-quote{font-size:26px}
.pt-finder{scroll-margin-top:90px}.pt-catalogue{margin-top:18px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.pt-dates{position:relative;margin-top:-42px;padding:12px;border-radius:22px;background:#fff;box-shadow:0 14px 40px #1e232320}
.pt-date-controls{display:grid;grid-template-columns:repeat(6,minmax(44px,1fr)) minmax(120px,1.7fr);gap:8px}.pt-date-controls .tc-pill{min-height:66px}.pt-date-controls .tc-pill small{font-size:13px}.pt-date-controls .tc-pill b{font-size:20px}
.pt-date-status{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:16px}.pt-date-status:not(:empty){margin-top:12px}
.pt-month{max-width:430px;padding-top:14px;margin-inline:auto}.pt-month .bc-grid{width:100%;grid-template-columns:repeat(7,minmax(0,1fr))}.pt-month .bc-day{min-width:44px}
.pt-tabs{display:flex;align-items:end;gap:12px;margin-top:24px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:none}.pt-tabs button{flex:none;display:flex;align-items:center;flex-direction:column;justify-content:end;gap:6px;min-width:90px;min-height:96px;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--tc-ink-soft);font:600 16px/1.3 var(--font-ui);cursor:pointer;padding:5px 10px 12px}.pt-tabs button img{width:56px;height:56px;border-radius:50%;object-fit:cover}.pt-tabs button[aria-selected=true]{border-bottom-color:#9c4a0b;color:var(--tc-ink)}.pt-results{font-size:15px;color:var(--tc-ink-soft);margin:8px 0}
.pt-reviews>.wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center}.pt-reviews .band-head{display:block;margin:0}.pt-reviews h2{margin-bottom:16px}.pt-reviews .reviews-grid{display:block}.pt-reviews .rv{opacity:1;transform:none;filter:none}.rv-score b{font-family:var(--font-ui);letter-spacing:0}.pt-reviews .rv-line{display:none}
/* The contact email needs a visible dark control on the cream panel. */
.split-actions .btn-ghost{color:var(--m-ink);box-shadow:inset 0 0 0 1.5px var(--m-line);overflow-wrap:anywhere;max-width:100%;height:auto;padding-block:14px;line-height:1.3}
.pt-home-sticky{display:none}.bc-panel .bc-slot span{font-size:16px}.bc-panel .bc-pills{gap:4px;padding:0}.bc-panel .bc-pills .tc-pill{flex:1 0 0;min-width:0;padding-inline:2px}.bc-panel .bc-pills .tc-pill small{white-space:normal;overflow-wrap:anywhere}
.bc-month{overflow-x:visible}.bc-grid{width:100%;min-width:0;grid-template-columns:repeat(7,minmax(0,1fr))}.bc-day{min-width:0;width:100%}.bc-slot{min-width:0}.tc-sticky>span{min-width:0}.tc-sticky .tc-btn{min-width:110px;flex:none}
@media(max-width:959px){.tc-grid--rail,.pt-catalogue{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-book{padding:16px}.tc-layout{gap:8px}.tc-aside{position:static}}
@media(max-width:699px){:root{--tc-sticky-top:76px}.pt-catalogue,.tc-grid--rail{grid-template-columns:minmax(0,1fr)}.pt-reviews>.wrap{grid-template-columns:minmax(0,1fr);gap:20px}.pt-reviews{padding-block:36px}.pt-date-controls{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.pt-date-controls .tc-pill{min-width:0}.pt-more{grid-column:1/-1}.pt-dates{padding:8px}.pt-month .bc-day{min-width:0}.pt-home-sticky{display:flex;position:fixed;z-index:50;inset:auto 0 0;justify-content:center;padding:8px 16px max(8px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--tc-line);transform:translateY(120%);transition:transform .2s}.pt-home-sticky.is-on{transform:none}.pt-home-sticky a{width:100%}.is-home{padding-bottom:74px}.site-header .header-book{display:inline-flex;padding:0 14px;min-height:42px}.site-header .tel{display:none}.site-header .logo img{height:30px}.site-header .lang summary{gap:4px;padding:0 3px}.site-header .menu-btn{width:38px;flex:none}.site-header{gap:4px;padding-left:12px}.site-header .logo{min-width:0}.tc-gall-all{padding:8px 12px}.tc-sec h2{font-size:28px}.tc-book{padding:12px}.tc-sticky{gap:8px}}
@media(max-width:379px){.tc-book{padding-inline:8px}.site-header .logo img{height:26px}.site-header .header-book{padding-inline:10px}.site-header .lang summary .flag{display:none}}
@media(prefers-reduced-motion:reduce){.pt-home-sticky,.pt-tabs button{transition:none}html{scroll-behavior:auto}}
/* Enlarged text keeps contact details and currency strings inside their available column. */
.foot-grid>div{min-width:0}.foot-grid a,.foot-grid p{overflow-wrap:anywhere}.tc-sticky{flex-wrap:wrap}.tc-sticky>span{flex:1 1 100px;overflow-wrap:anywhere}.tc-sticky b{overflow-wrap:anywhere}
/* Keep 44px calendar targets; narrow/enlarged layouts scroll within the calendar only. */
.bc-month,.pt-month{overflow-x:auto}.bc-grid,.pt-month .bc-grid{width:max-content;min-width:100%;grid-template-columns:repeat(7,minmax(max(44px,calc(2ch + 8px)),1fr))}.bc-day,.pt-month .bc-day{min-width:max(44px,calc(2ch + 8px))}
/* Round 2: concise discovery, complete cards, online booking first. */
.site-header .tel{display:none}
.menu-panel a.pt-phone-link,.site-footer a[href^="tel:"],.prose a[href^="tel:"]{font:400 14px/1.5 var(--font-ui);color:var(--tc-ink-soft);background:none;box-shadow:none}
.menu-panel a.pt-phone-link{align-self:flex-start;border:0;padding:12px 0;margin-top:12px}
.pt-catalogue-head{margin:36px 0 20px;max-width:780px}
.pt-eyebrow{margin:0 0 8px;font:700 14px/1.4 var(--font-ui);color:var(--tc-link)}
.pt-catalogue-head h2{margin:0;font:700 clamp(30px,3.2vw,44px)/1.12 var(--font-display);letter-spacing:-.015em;text-wrap:pretty}
.pt-catalogue-head>p:last-child{margin:14px 0 0;font:400 18px/1.5 var(--font-ui);color:var(--tc-ink-soft);max-width:64ch}
.pt-tabs-edge{position:relative;max-width:100%;isolation:isolate}
.pt-tabs-edge::after,.pt-tabs-edge::before{content:"";position:absolute;z-index:1;inset:0 0 8px auto;width:32px;background:linear-gradient(90deg,#fff0,#fff);pointer-events:none;opacity:0;transition:opacity .15s}
.pt-tabs-edge::before{inset:0 auto 8px 0;background:linear-gradient(90deg,#fff,#fff0)}
.pt-tabs-edge.can-scroll::after,.pt-tabs-edge.has-scrolled::before{opacity:1}
.pt-tabs{position:relative;align-items:center;gap:8px;margin:0;padding:4px 2px 10px;scroll-padding:12px;overscroll-behavior-x:contain}
.pt-tabs button{flex:none;flex-direction:row;justify-content:center;min-width:0;min-height:46px;padding:10px 18px;border:1px solid var(--tc-line);border-radius:999px;background:#fff;color:var(--tc-ink);font:600 16px/1.3 var(--font-ui);transition:background .15s,color .15s}
.pt-tabs button[aria-pressed=true]{background:var(--tc-ink);border-color:var(--tc-ink);color:#fff}
.pt-tabs button:hover{box-shadow:inset 0 0 0 1px var(--tc-ink)}
.pt-results{font-size:14px;margin:10px 0 18px}
.pt-catalogue{gap:24px;margin-top:0}
.pt-category-tag{position:absolute;left:16px;top:16px;max-width:calc(100% - 32px);padding:7px 12px;border-radius:999px;background:#fff;color:var(--tc-ink);font:700 14px/1.3 var(--font-ui);box-shadow:0 2px 12px #0002}
.tc-card-media{aspect-ratio:3/2}
.tc-card-body{gap:10px;padding:20px 20px 18px}
.tc-card-title{font-size:22px;line-height:1.2}
.tc-card-line{font-size:16px;line-height:1.4}
.tc-card-ratingrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:2px}
.pt-rating-scope{font:400 14px/1.4 var(--font-ui);color:var(--tc-ink-soft)}
.tc-card-ratingrow .tc-stars{display:none}
.tc-card-foot{padding:16px 20px 20px;gap:16px;background:#faf8f4}
.tc-card-price{flex:1 1 110px}
.tc-card-price b{font-size:28px;line-height:1.1}
.tc-card-price .tc-from{display:inline;font-size:14px;margin:0 4px 0 0}
.tc-card-price .tc-unit{display:block;margin-top:5px;font-weight:400}
.tc-card-dur{font-size:16px;line-height:1.3}
.tc-card-meta{flex-wrap:nowrap;align-items:center}
.pt-card-status{margin:0;font:400 16px/1.5 var(--font-ui);color:var(--tc-ink-soft)}
.pt-next-date{display:inline-flex;align-items:center;min-height:44px;padding:6px 0;border:0;background:none;color:var(--tc-link);font:600 16px/1.4 var(--font-ui);text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:3px;max-width:100%}
.tc-card-times{min-height:96px}
.tc-times-r{gap:8px}.tc-time{padding:10px 12px;background:#fff}
.tc-time[aria-busy=true]{opacity:.6;pointer-events:none}
.pt-next-date:focus-visible{outline-offset:-3px}
.is-home .hero-copy{padding-top:122px;padding-bottom:78px}
.is-home .hero h1{max-width:20ch;font-size:clamp(40px,4.6vw,64px);line-height:1.06}
.is-home .hero-lede{max-width:42ch}
.is-home .hero{min-height:520px}
.is-home .hero-shade{background:linear-gradient(180deg,#12100e22 12%,#12100eb8 100%),linear-gradient(90deg,#12100e80,#12100e00 85%)}
.is-home .finder{padding-bottom:40px}
.is-home .band{padding-block:40px}
.split-actions .btn-ghost{color:#fff;box-shadow:inset 0 0 0 1.5px #ffffff90}
@media(min-width:960px){.tc-card-body{min-height:158px}.tc-card-times{min-height:104px}}
@media(max-width:699px){
 .site-header .header-book{display:none}
 .site-header .logo img{height:36px}
 .site-header .lang summary{padding:0 8px;gap:6px;min-height:44px}
 .site-header .lang summary .flag{display:block}
 .site-header .menu-btn{width:44px;height:44px}
 .site-header{gap:4px;padding-left:16px}
 .pt-catalogue-head{margin-top:28px;margin-bottom:18px}
 .pt-catalogue-head h2{font-size:30px;max-width:22ch}
 .pt-catalogue-head>p:last-child{font-size:17px;line-height:1.5;margin-top:12px}
 .pt-catalogue{gap:24px}
 .tc-card-body{padding:18px 18px 16px}
 .tc-card-foot{padding:16px 18px 18px}
 .tc-card-times{min-height:0}
 .tc-card-title{font-size:22px}
 .is-home .hero-copy{padding-top:96px;padding-bottom:68px}
 .is-home .hero{min-height:440px}
 .is-home .hero h1{font-size:clamp(32px,9.5vw,40px);max-width:none}
 .is-home .hero-lede{font-size:17px;max-width:36ch}
 .is-home .hero-actions .btn{min-height:48px}
 .is-home .band{padding-block:32px}
}
@media(prefers-reduced-motion:reduce){.pt-tabs-edge::after,.pt-tabs-edge::before{transition:none}}
/* Small contact text still needs contrast on the dark footer. */
.site-footer a[href^="tel:"]{color:#c9ceca}
/* Every visible date-button label meets the 16px control-text requirement. */
.pt-date-controls .tc-pill small,.bc-panel .tc-pill small{font-size:16px}

/* Round 3: scroll dates within their rail; Today resets selection and view. */
.pt-date-controls {display:flex;flex-wrap:wrap;gap:8px;}
.pt-date-pills {display:flex;gap:6px;overflow-x:auto;min-width:0;flex:1 1 100%;padding:3px;scrollbar-width:thin;}
.pt-date-pills .tc-pill {flex:1 0 auto;min-width:60px;padding-inline:8px;}
.pt-date-pills .tc-pill small {max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap;}
.pt-date-controls .pt-more,.pt-date-controls .pt-today {flex:1 1 120px;min-height:44px;}
.pt-today:disabled,.bc-today:disabled {opacity:.55;cursor:default;}
/* Let enlarged rating content wrap within narrow review panels. */
.pt-reviews .rv {grid-template-columns:minmax(0,1fr);}
.pt-reviews .rv-score {flex-wrap:wrap;}

/* Rating follow-up: bright compact stars and fractional five-star summary rows. */
.tc-rating-star{width:16px;height:16px;flex:none;fill:#ffb800;stroke:#997000;stroke-width:.45;stroke-linejoin:round}
/* A fine outline keeps the warm yellow legible on white, cream and dark surfaces. */
.tc-rating-stars{display:inline-flex;gap:3px;flex:none;line-height:0}
.tc-rating-slot{position:relative;display:block;width:16px;height:16px;flex:none}
.tc-rating-empty,.tc-rating-fill{position:absolute;inset:0;display:block}
.tc-rating-fill{right:auto;overflow:hidden}
.tc-rating-slot .tc-rating-star{display:block;max-width:none}
.tc-rating-empty .tc-rating-star{fill:#e3ded2}
.tc-rating .tc-glogo{width:16px;height:16px;flex:none}
.hero .tc-rating{color:inherit}
.pt-reviews .rv-score .tc-rating b{font:700 16px/1.3 var(--font-ui);letter-spacing:0}

/* Meeting maps: offline 2x cartography with one clear secondary directions action. */
.tc-meet{border:0;background:#fff;box-shadow:0 6px 24px #47321e09}
.tc-meet .tc-map{aspect-ratio:5/3;min-height:0;background:#d8e9ee;overflow:hidden}
.tc-map-link,.tc-map picture{display:block;width:100%;height:100%}
.tc-map-link:focus-visible{outline:3px solid #c2611b;outline-offset:-5px}
.tc-map img{object-fit:contain}
.tc-map .tc-credit{right:8px;bottom:8px;max-width:calc(100% - 16px);font:400 13px/1.4 var(--font-ui);color:#35484d;background:#ffffffed;text-decoration:none;padding:3px 7px;border-radius:5px}
.tc-map .tc-credit:hover{text-decoration:underline}
.tc-map .tc-credit:focus-visible{outline:2px solid #c2611b;outline-offset:2px}
.tc-meet-card{padding:24px;gap:8px}
.tc-meet-card>b{font-size:21px}
.tc-meet-card>span{color:var(--tc-ink-soft)}
.tc-meet-card .tc-btn--line{margin-top:8px;background:#fff;color:#9c4a0b;border:1px solid #c2611b;box-shadow:none;min-height:48px}
.tc-meet-card .tc-btn--line:hover{background:#fcf5ed;color:#81400d}
@media(max-width:599px){.tc-meet .tc-map{aspect-ratio:39/32}.tc-meet-card{padding:20px}.tc-meet-card .tc-btn--line{width:100%}}

/* Round 10: one mobile bottom booking bar and the normal logo/language/menu header. */
.pt-bottom-booking{display:none}
@media(max-width:900px){
 body.is-tour{padding-bottom:var(--pt-booking-bar-height,calc(79px + env(safe-area-inset-bottom)))}
 .is-tour .site-header .header-book{display:none}
 .is-tour .site-header .logo{display:flex;align-items:center;min-height:44px}
 .is-tour .site-header .lang summary,.is-tour .site-header .menu-btn{min-width:44px;min-height:44px}
 .is-tour .pt-bottom-booking{position:fixed;z-index:50;inset:auto 0 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:12px;min-height:calc(79px + env(safe-area-inset-bottom));padding:4px max(16px,env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#fff;box-shadow:0 -6px 24px #1e23232e;border-top:1px solid #bfc5c5}
 .pt-bottom-summary{min-width:0}
 .pt-bottom-price{margin:0;color:#485050;font:400 13px/1.385 var(--font-ui);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
 .pt-bottom-price small{display:block;font-size:13px}
 .pt-bottom-price b{color:#1e2323;font-size:20px;font-weight:800}
 .pt-bottom-price span{white-space:nowrap}
 .pt-bottom-booking:not(:has(.pt-bottom-summary)) .pt-bottom-reserve{grid-column:1/-1}
 .pt-bottom-reserve{display:flex;align-items:center;justify-content:center;min-width:0;min-height:52px;padding:10px 16px;border:0;border-radius:14px;font:700 16px/1.3 var(--font-ui);text-align:center;overflow-wrap:anywhere;cursor:pointer}
 .pt-bottom-reserve{padding-inline:12px;background:#c2611b;color:#fff;font-size:19px;font-weight:800;font-variant-numeric:tabular-nums}
 .pt-bottom-reserve:hover{background:#a9520f}
 .pt-bottom-reserve:focus-visible{outline:3px solid #1e2323;outline-offset:-3px}
 .is-tour:has(.bc-sheet[open]) .pt-bottom-booking{visibility:hidden;pointer-events:none}
 .is-tour .tc-sticky,.is-tour .tc-aside{display:none}
 .is-tour .tc-detail{padding-bottom:0}
 .is-tour .bc-sheet-head{flex-wrap:wrap}
 .is-tour .bc-sheet-head>b{min-width:0;overflow-wrap:anywhere}
 .is-tour .bc-sheet-head>button{max-width:100%;margin-left:auto}
 .is-tour .bc-sheet{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));overscroll-behavior:contain;scroll-padding-bottom:max(18px,env(safe-area-inset-bottom))}
}

/* Round 5 (Reinaldo 29 Oct): white text on orange actions; unified card (no detached footer). */
:root{--tc-action:#c2611b;--tc-action-ink:#fff;--tc-accent-ink:#fff}
.btn-primary,.btn.btn-primary,.tc-btn--primary,.m-book-bar .btn,.sticky-book .btn,a.btn-book,.header .btn-primary{background:#c2611b;color:#fff}
.btn-primary:hover,.tc-btn--primary:hover{background:#a9520f;color:#fff}
.tc-card-foot,.m-card-foot{background:transparent;border-top:0;padding-top:4px}
.tc-card,.m-card{background:#fff}
.m-card-foot .m-card-times:not([hidden]) + .m-card-meta{border-top:0;padding-top:4px}
.btn:not(.btn-ghost):not(.btn-line),.header-book{background:#c2611b;color:#fff}.btn:not(.btn-ghost):not(.btn-line):hover,.header-book:hover{background:#a9520f;color:#fff}

/* Round 12 (manual, 29 Oct): tour pages — header scrolls away with the page; a lone fact (e.g. only duration) is one compact line, not a big box */
body.is-tour .site-header { position: absolute; }
.tc-factsbar:has(> li:only-child) { display: flex; margin: 10px 0 0; padding: 0; background: none; border-radius: 0; }
.tc-factsbar:has(> li:only-child) li { display: inline-flex; align-items: center; gap: 6px; grid-template-columns: none; }
.tc-factsbar:has(> li:only-child) .tc-i { width: 18px; height: 18px; margin: 0; grid-row: auto; }
.tc-factsbar:has(> li:only-child) .tc-fact-l::after { content: ":"; }
@media (min-width: 900px) { .tc-factsbar:has(> li:only-child) { padding: 0; } }
body.is-tour, body.is-tour .tc-root, body.is-tour .tc-detail { --tc-sticky-top: 0px !important; }
body.is-tour .tc-sections { top: 0 !important; }
body.is-tour [id^="s-"] { scroll-margin-top: 64px !important; }

/* Round 14 (manual, 29 Oct): mobile tour pages — photo runs to the top of the screen, floating header pill sits over it (no empty band) */
@media (max-width: 899px) { body.is-tour { padding-top: 0 !important; } }
@media (max-width: 899px) { body.is-tour .tc-gall-grid { aspect-ratio: auto; height: calc(75vw + 72px); max-height: calc(62vh + 72px); } }

/* Round 16: home-only assets; the hero leads directly to the catalogue. */
.is-home .pt-finder{padding-top:32px}
.is-home .pt-catalogue-head{margin-top:0}
.is-home .pt-card-date{display:block;margin:0 0 8px;font:600 14px/1.4 var(--font-ui);color:var(--tc-ink-soft)}
.is-home .tc-card-times:empty{display:none}
.is-home .tc-times-r{display:flex;flex-wrap:wrap;gap:8px}
.is-home .tc-time{position:relative;z-index:2;min-height:44px;display:inline-flex;align-items:center;font-size:16px}
.is-home .tc-time[aria-busy=true]{opacity:.65}
/* Keep doubled text and spacing inside narrow homepage cards and closing bands. */
.is-home .tc-card-meta>*,.is-home .split>*{min-width:0}
.is-home .tc-card-dur{overflow-wrap:anywhere}
.is-home .split-copy a{overflow-wrap:anywhere}
.is-home .tc-card-price b{overflow-wrap:anywhere}
.is-home .split-copy{grid-template-columns:minmax(0,1fr)}
.is-home .split-copy>*,.is-home .split-actions>*{min-width:0;max-width:100%}
.is-home h2,.is-home .tc-card-title,.is-home .tc-card-line,.is-home .tc-card-price,.is-home .split-copy{overflow-wrap:anywhere}
.is-home .rv .btn{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
/* Round 17: one server-rendered hero offer; all motion reserves its final space. */
.pt-hero-promo{position:relative;isolation:isolate;display:inline-flex;flex-wrap:wrap;align-items:center;gap:14px;max-width:100%;min-height:64px;margin-top:20px;padding:12px 16px;border:1px solid #ffffff40;border-radius:18px;background:#a94712;color:#fff;text-decoration:none;font-family:var(--font-ui);box-shadow:0 6px 20px #12100e26;overflow:hidden;vertical-align:top}
.pt-hero-promo:visited,.pt-hero-promo:hover{color:#fff}
.pt-hero-promo:focus-visible{outline:3px solid #fff;outline-offset:4px;box-shadow:0 0 0 7px #672b0b}
.pt-hero-promo-badge{flex:none;font-size:28px;font-weight:800;line-height:1.1;letter-spacing:-.025em;transform-origin:center;animation:pt-promo-stamp 400ms cubic-bezier(.2,.9,.3,1.25) both}
.pt-hero-promo-label{position:relative;flex:1 1 10ch;min-width:0;max-width:21ch;overflow-wrap:anywhere;padding-left:14px;border-left:1px solid #ffffff66;font-size:16px;font-weight:650;line-height:1.3;animation:pt-promo-label 360ms 160ms cubic-bezier(.16,1,.3,1) both}
.pt-hero-promo-arrow{flex:none;transition:transform 180ms ease}
.pt-hero-promo:hover .pt-hero-promo-arrow,.pt-hero-promo:focus-visible .pt-hero-promo-arrow{transform:translateX(3px)}
.pt-hero-promo::after{content:"";position:absolute;inset:-30% auto -30% 0;width:30%;pointer-events:none;background:linear-gradient(100deg,#fff0,#ffffff1a,#fff0);opacity:0;transform:translateX(-150%) skewX(-15deg);animation:pt-promo-shimmer 6s ease-in-out infinite}
@keyframes pt-promo-stamp{from{opacity:0;transform:scale(1.15) rotate(-6deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes pt-promo-label{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}
@keyframes pt-promo-shimmer{0%,78%{opacity:0;transform:translateX(-150%) skewX(-15deg)}82%{opacity:1}98%{opacity:1;transform:translateX(450%) skewX(-15deg)}100%{opacity:0;transform:translateX(450%) skewX(-15deg)}}
@media(max-width:379px){.pt-hero-promo{gap:10px;padding-inline:12px}.pt-hero-promo-label{padding-left:10px}}
@media(prefers-reduced-motion:reduce){.pt-hero-promo-badge,.pt-hero-promo-label{animation:none}.pt-hero-promo::after{animation:none;display:none}.pt-hero-promo-arrow{transition:none;transform:none!important}}

/* Compact cards (Reinaldo, 30 Oct 2026) */
.tc-card-body{gap:6px;padding:16px 18px 8px}
.tc-card-times{margin-top:6px}
.tc-card-foot,.m-card-foot{padding:10px 18px 16px}
@media(min-width:960px){.tc-card-body{min-height:0}.tc-card-times{min-height:0}}
