/* ==========================================================================
   Torres RS – base (every page): font, tokens, base, shell (header, search panel, menu modal, footer),
   shared components and utilities. Specificity beats the theme and its inline Customizer <style>:
   never ".container" alone, :not(#trs) on form fields, no @layer.
   ========================================================================== */

/* ---------- Font: Source Serif 4 700 (self-hosted, no preload) + metric-matched Georgia ---------- */
@font-face{font-family:'TRS Serif';src:url(../fonts/source-serif-4-700-latin.woff2) format('woff2');font-weight:700;font-style:normal;font-display:optional}
@font-face{font-family:'TRS Serif Fallback';src:local('Georgia Bold'),local('Georgia-Bold');font-weight:700;size-adjust:86.1%;ascent-override:120.3%;descent-override:38.9%;line-gap-override:0%}

/* ===== (a) Tokens ===== */
:root{
  /* ===== COR — texto (contraste sobre #fff) ===== */
  --trs-ink:#1b2a33;          /* basalto: texto e títulos — 14,73:1; 13,4:1 sobre areia/espuma */
  --trs-ink-2:#475569;        /* linha fina, resumos, rótulos — 7,58:1 */
  --trs-muted:#5b6776;        /* meta, datas, legendas — 5,76:1; ≥5,2:1 sobre areia/espuma */

  /* ===== MAR (marca) ===== */
  --trs-sea-950:#0b2d38;      /* rodapé, faixa de fechamento, cartão do trilho — branco 14,5:1 */
  --trs-sea-700:#084d61;      /* hover/ativo de link e botão — 9,36:1 */
  --trs-sea-600:#0a6680;      /* PRIMÁRIO: links, botão primário, foco — 6,51:1 (e branco sobre ele) */
  --trs-sea-100:#dcecef;      /* fundo de estado suave */
  --trs-sea-50:#edf5f6;       /* espuma: caixa de hotéis no guia, hover de menu */

  /* ===== AREIA ===== */
  --trs-sand-50:#f7f4ee;      /* faixas alternadas, sumário, autor, bloco-guia (sempre com fio/régua) */
  --trs-sand-200:#e7dfd0;     /* fio sobre areia (nunca fundo de texto) */

  /* ===== LINHAS ===== */
  --trs-line:#e5e1d8;         /* fios decorativos, divisórias (sem requisito de contraste) */
  --trs-line-strong:#7b8794;  /* borda de campo/controle — 3,66:1 (WCAG 1.4.11) */

  /* ===== ACENTOS (balão) ===== */
  --trs-ember:#b93a0b;        /* chapéus, item atual, régua de citação — 5,72:1; branco sobre ele 5,72:1 */
  --trs-sun:#f6c343;          /* foco e chapéu sobre fundo escuro (8,85:1 sobre sea-950); botão «oferta» com texto ink */

  /* ===== FUNCIONAIS ===== */
  --trs-booking:#0071c2;      /* SÓ para o que leva ao booking.com — branco 5,07:1 */
  --trs-booking-dark:#00487a; /* hover — branco 9,51:1 */
  --trs-highlight:#fff1c2;    /* <mark> — ink 13:1; link 5,77:1 */
  --trs-stars:#b45309;        /* estrelas de hotel — 5,02:1 */
  --trs-danger:#b91c1c; --trs-danger-bg:#fef2f2;   /* 6,47:1 / 5,91:1 */
  --trs-ok:#166534;     --trs-ok-bg:#ecfdf5;       /* 6,77:1 */
  --trs-on-dark:#c9dde2;      /* texto sobre sea-950 — 10,3:1 */
  --trs-on-dark-muted:#9fbcc4;/* títulos de coluna e © sobre sea-950 — 7,2:1 */
  --trs-focus:var(--trs-sea-600); /* redefinido para var(--trs-sun) em .trs-hero, .trs-section-card, .site-footer, .trs-cta-band--dark, .trs-rail-cta */

  /* ===== FORMAS (decorativas, custo ~0,4 KB) ===== */
  --trs-faixa:linear-gradient(90deg,#d0543c 0 14.28%,#e59a2f 0 28.57%,#f2c230 0 42.85%,#7aa64a 0 57.14%,#1f7fa0 0 71.42%,#174b80 0 85.71%,#7a2d4f 0);
  --trs-falesia:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 92' preserveAspectRatio='none'%3E%3Cpath d='M0 92L0 69L51 63L69 58L86 62L103 62L120 48L154 31L171 26L189 17L206 13L291 9L463 10L497 8L583 10L669 18L771 62L806 68L857 68L874 72L909 75L926 68L960 45L977 42L994 27L1029 32L1046 46L1080 54L1097 55L1200 86L1200 92Z'/%3E%3C/svg%3E");
  --trs-onda:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 22C120 8 240 6 360 16S600 36 720 26 960 4 1080 12L1200 20V40H0Z'/%3E%3C/svg%3E");

  /* ===== TIPOGRAFIA ===== */
  --trs-serif:'TRS Serif','TRS Serif Fallback',Georgia,'Noto Serif','Times New Roman',serif;
  --trs-sans:system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji';
  --trs-fs-xs:.8125rem;                                     /* 13px — PISO absoluto */
  --trs-fs-sm:.9375rem;                                     /* 15px */
  --trs-fs-body:clamp(1.0625rem,1.03rem + .15vw,1.125rem);  /* 17→18 */
  --trs-fs-dek:clamp(1.0625rem,1rem + .35vw,1.25rem);       /* 17→20 linha fina */
  --trs-fs-card-row:1.0625rem;                              /* 17 */
  --trs-fs-card:clamp(1.125rem,1.05rem + .3vw,1.25rem);     /* 18→20 */
  --trs-fs-card-lead:clamp(1.375rem,1.15rem + .9vw,1.75rem); /* 22→28: below the H2 (24→32) */
  --trs-fs-h4:1.0625rem;
  --trs-fs-h3:clamp(1.1875rem,1.1rem + .4vw,1.375rem);      /* 19→22 (SANS 700) */
  --trs-fs-h2:clamp(1.5rem,1.25rem + 1vw,2rem);             /* 24→32 (serifa) */
  --trs-fs-h1-sm:clamp(1.75rem,1.4rem + 1.4vw,2.5rem);      /* 28→40 blog, busca, 404, páginas */
  --trs-fs-h1:clamp(1.875rem,1.35rem + 2.2vw,3rem);         /* 30→48 post e categoria */
  --trs-fs-display:clamp(2.125rem,1.35rem + 3.2vw,3.5rem);  /* 34→56 capa da home */
  --trs-lh-body:1.7; --trs-lh-head:1.15; --trs-ls-head:-.015em; --trs-ls-kicker:.08em;
  --trs-measure:42.5rem;                                    /* 680px ≈ 68 caracteres */

  /* ===== ESPAÇO (base 4px) ===== */
  --trs-s1:4px; --trs-s2:8px; --trs-s3:12px; --trs-s4:16px; --trs-s5:24px; --trs-s6:32px; --trs-s7:48px; --trs-s8:64px; --trs-s9:96px;
  --trs-section:clamp(2.5rem,1.8rem + 3vw,4.5rem);          /* 40→72 padding vertical de faixa */
  --trs-gap-top:24px;                                       /* header → breadcrumb/H1 */
  --trs-gap-bottom:56px;                                    /* conteúdo → rodapé (0 na home) */
  --trs-grid-gap:clamp(16px,2vw,24px);

  /* ===== LARGURAS E ALTURAS ===== */
  --trs-shell:71.25rem;                                     /* 1140px */
  --trs-gutter:clamp(1rem,.5rem + 2vw,1.5rem);              /* 16px celular → 24px desktop */
  --trs-read:42.5rem;                                       /* 680px coluna de leitura */
  --trs-wide:60rem;                                         /* 960px (404, Contato) */
  --trs-rail:18.75rem;                                      /* 300px trilho ≥1200 */
  --trs-header-h:60px;                                      /* 72px a partir de 1000px (abaixo) */
  --trs-hotel-card-h:380px;                                 /* altura FIXA do card de hotel e do skeleton */
  --trs-tap:44px; --trs-ctl-h:48px; --trs-ctl-h-sm:40px;

  /* ===== RAIOS ===== */
  --trs-r-img:6px;    /* fotos e mídia de card (0 quando encosta na borda da tela) */
  --trs-r-ctl:8px;    /* botões, campos, caixas, widget, avisos */
  --trs-r-pill:999px; /* só chips e pílula «Neste guia» */

  /* ===== SOMBRAS (tom mar) ===== */
  --trs-shadow-sm:0 1px 2px rgba(11,45,56,.06),0 1px 3px rgba(11,45,56,.10);
  --trs-shadow-header:0 2px 12px rgba(11,45,56,.08);        /* só com .is-scrolled */
  --trs-shadow-pop:0 12px 32px rgba(11,45,56,.16);          /* painel de busca, widget na capa, pílula */

  /* ===== MOVIMENTO E CAMADAS ===== */
  --trs-dur:180ms; --trs-ease:cubic-bezier(.2,.7,.2,1);
  --trs-z-fab:40; --trs-z-header:50; --trs-z-search:60;     /* modal do tema = 9999; <dialog> usa top layer */

  /* ===== ALIASES (compatibilidade com o CSS atual) ===== */
  --trs-text:var(--trs-ink);
  --trs-primary:var(--trs-sea-600);
  --trs-primary-dark:var(--trs-sea-700);
  --trs-bg-alt:var(--trs-sand-50);
  --trs-border:var(--trs-line);
  --trs-radius:var(--trs-r-ctl);
  --trs-shadow:var(--trs-shadow-sm);
  --trs-shadow-lg:var(--trs-shadow-pop);
}
@media (min-width:1000px){ :root{ --trs-header-h:72px; } }

/* ===== (b) Base ===== */
:root{--trs-m-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");--trs-m-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E");--trs-m-balloon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5a7 7 0 0 0-7 7c0 3.6 3.4 6.4 5 8h4c1.6-1.6 5-4.4 5-8a7 7 0 0 0-7-7ZM12 2.5c-1.9 2.4-2.6 4.8-2.6 7.3 0 2.7.6 5.2.6 7.7m2-15c1.9 2.4 2.6 4.8 2.6 7.3 0 2.7-.6 5.2-.6 7.7M10 19.5h4V22h-4z'/%3E%3C/svg%3E")}
body{color:var(--trs-ink)}
/* Text links only: links of components printed inside the content keep their own style (:where keeps 0,2,1). */
:is(.entry-content,.archive-description,.trs-prose) a:not([class]):where(:not(:is(.trs-card,.trs-author,.trs-toc,.trs-toc-nav,.trs-chips,.trs-section-head,.trs-rail,.bhs,.trs-cta-band,.trs-breadcrumbs) a)){color:var(--trs-sea-600);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
:is(.entry-content,.archive-description,.trs-prose) a:not([class]):where(:not(:is(.trs-card,.trs-author,.trs-toc,.trs-toc-nav,.trs-chips,.trs-section-head,.trs-rail,.bhs,.trs-cta-band,.trs-breadcrumbs) a)):hover{color:var(--trs-sea-700);text-decoration-thickness:2px}
.default-header .title{font-family:var(--trs-serif);font-weight:700;font-size:var(--trs-fs-h1);line-height:var(--trs-lh-head);letter-spacing:var(--trs-ls-head);color:var(--trs-ink);text-wrap:balance}
.trs-h1,.trs-h2{font-family:var(--trs-serif);font-weight:700;letter-spacing:var(--trs-ls-head);color:var(--trs-ink);text-wrap:balance}
.trs-h1{font-size:var(--trs-fs-h1);line-height:1.15}
.trs-h2{font-size:var(--trs-fs-h2);line-height:1.2}
.trs-kicker{font-size:var(--trs-fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--trs-ls-kicker);color:var(--trs-ember);margin:0 0 4px;line-height:1.4}
/* No single word alone on the last line of short titles; longer lead texts avoid orphans. Zero specificity. */
:where(.trs-card__title,.trs-section-card__name,.trs-faq__q,.bhs__title,.trs-rail-cta__title,.trs-cal__nome,.trs-kicker,.trs-guide :is(h2,h3),.single-post .entry-content :is(h2,h3)){text-wrap:balance}
:where(.trs-hero__subtitle,.trs-dek,.trs-section-head__dek){text-wrap:pretty}
/* (0,2,0) and loaded after main.css: beats the theme's X:focus{outline:0} (e.g. .comment-reply-link). */
:is(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--trs-focus);outline-offset:2px}
.trs-hero,.trs-section-card,.site-footer,.trs-cta-band--dark,.trs-rail-cta{--trs-focus:var(--trs-sun)}
:where(h2,h3)[id],#busca-hoteis{scroll-margin-top:calc(var(--trs-header-h) + 16px)}

/* ===== (c) Shell: header, search panel, menu modal, footer ===== */
/* ---------- Header (sticky, always visible) ---------- */
.site-header{position:sticky;top:0;z-index:var(--trs-z-header);display:block;background:#fff;border-bottom:1px solid var(--trs-line);min-height:0;padding:0;transition:box-shadow var(--trs-dur) var(--trs-ease)}
.site-header::before{content:'';display:block;height:3px;background:var(--trs-faixa)}
.site-header.is-scrolled{box-shadow:var(--trs-shadow-header)}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
@media (max-width:600px){.admin-bar .site-header{top:0}}
.site-header>.container.header-inner{width:100%;max-width:calc(var(--trs-shell) + 2*var(--trs-gutter));margin-inline:auto;padding:0 var(--trs-gutter);min-height:calc(var(--trs-header-h) - 4px);display:flex;align-items:center;justify-content:flex-start;gap:8px;position:static}
.trs-header-sentinel{position:absolute;top:0;left:0;width:1px;height:1px;pointer-events:none;visibility:hidden}
/* Brand lockup */
.site-header .site-logo{padding:0;margin:0;flex:0 1 auto;min-width:0}
.site-header .site-logo .custom-logo-link{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--trs-ink);line-height:1.1}
.site-header .site-logo img{display:block;height:32px;width:auto;max-width:none;max-height:none}
.trs-brand{display:flex;flex-direction:column;line-height:1.1;white-space:nowrap}
.trs-brand__name{font-family:var(--trs-serif);font-weight:700;font-size:15px;color:var(--trs-ink)}
.trs-brand__tag{font-size:var(--trs-fs-xs);color:var(--trs-muted);margin-top:2px}
@media (max-width:599px),(min-width:1000px) and (max-width:1199px){.trs-brand__tag{display:none}}
@media (max-width:419px){.site-header .site-logo img{display:none}}
@media (max-width:999px){.site-header .site-logo .custom-logo-link{min-height:44px}} /* touch target without the symbol */
@media (min-width:1000px){.site-header .site-logo img{height:48px}.trs-brand__name{font-size:20px}}
@media (min-width:1000px) and (max-width:1099px){.trs-brand{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
/* Header tools (search + Hotéis) */
.site-header .trs-menu-search,.site-header .trs-menu-cta{margin:0;display:flex;align-items:center;position:static}
.trs-hsearch>summary{list-style:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:6px;color:var(--trs-ink);cursor:pointer}
.trs-hsearch>summary::-webkit-details-marker{display:none}
.trs-hsearch>summary:hover,.trs-hsearch[open]>summary{background:var(--trs-sand-50);color:var(--trs-sea-700)}
.trs-hsearch>summary .trs-icon{width:22px;height:22px}
.trs-search-panel{position:absolute;top:100%;left:0;right:0;z-index:var(--trs-z-search);background:#fff;border-bottom:1px solid var(--trs-line);box-shadow:var(--trs-shadow-pop);padding:16px var(--trs-gutter)}
.trs-search-panel .trs-search{max-width:680px;margin:0 auto}
.site-header .trs-menu-cta a.trs-btn{padding:0 14px;white-space:nowrap}
@media (max-width:479px),(min-width:1000px) and (max-width:1199px){
	.site-header .trs-menu-cta a.trs-btn{width:44px;min-height:44px;padding:0}
	.trs-menu-cta__text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
.site-header .primary-menu a:is(:hover,:focus){text-decoration:none}
/* Desktop menu: one line from 1000px */
@media (min-width:1000px){
	.site-header .header-navigation-wrapper{margin-left:auto}
	.site-header .primary-menu-wrapper{width:auto}
	.site-header ul.primary-menu{flex-wrap:nowrap;margin:0;gap:2px;align-items:stretch}
	.site-header .primary-menu>li{margin:0;display:flex;align-items:center;min-height:44px}
	.site-header .primary-menu>.menu-item>a{display:block;padding:.6rem .7rem;border-radius:6px;font-size:15.5px;font-weight:600;line-height:1.25;color:var(--trs-ink);white-space:nowrap;text-decoration:none}
	.site-header .primary-menu>.menu-item>a:hover{background:var(--trs-sand-50);color:var(--trs-sea-700);text-decoration:none}
	.site-header .primary-menu :is(.current-menu-item,.current-menu-parent,.current-post-ancestor)>a{color:var(--trs-sea-700);box-shadow:inset 0 -2px 0 var(--trs-ember);text-decoration:none;border-radius:6px 6px 0 0}
	.site-header .trs-menu-search{margin-left:6px;padding-left:6px;border-left:1px solid var(--trs-line)}
	.site-header .trs-menu-cta{margin-left:4px}
}
@media (min-width:1000px) and (max-width:1199px){.site-header .primary-menu>.menu-item>a{padding:.6rem .5rem;font-size:15px}}
/* Mobile header: [brand] … [search] [Hotéis] [Menu] */
@media (max-width:999px){
	.site-header .header-navigation-wrapper{display:flex;margin-left:auto;order:2}
	.site-header .primary-menu-wrapper{display:block}
	.site-header ul.primary-menu{display:flex;flex-wrap:nowrap;gap:4px;margin:0}
	.site-header .primary-menu>li{margin:0}
	.site-header .primary-menu>li:not(.trs-menu-search):not(.trs-menu-cta){display:none}
	.site-header .nav-toggle{position:static;order:3;transform:none;height:44px;min-width:44px;padding:0 0 0 6px;color:var(--trs-ink)}
	.site-header .nav-toggle .toggle-inner{display:flex;flex-direction:row;align-items:center;gap:6px;height:auto;position:static}
	.site-header .nav-toggle .toggle-text{position:static;font-size:14px;font-weight:700;color:var(--trs-ink)}
	.site-header .site-nav-trigger span,.site-header .site-nav-trigger span::before,.site-header .site-nav-trigger span::after{background:var(--trs-ink);height:2px}
	.site-header .site-nav-trigger span{margin-top:-1px}
}
@media (max-width:399px){.site-header>.container.header-inner{gap:4px}.site-header ul.primary-menu{gap:0}}

/* ---------- Menu modal (theme markup, restyled) ---------- */
.menu-modal .menu-modal-inner{background:#fff}
.menu-modal .menu-wrapper.section-inner{width:100%;max-width:none;margin:0}
.menu-modal button.close-nav-toggle{font-size:0;gap:8px;min-height:44px;height:60px;padding:0 var(--trs-gutter);justify-content:flex-end;border-bottom:1px solid var(--trs-line);color:var(--trs-ink)}
.menu-modal button.close-nav-toggle::before{content:'Tudo sobre Torres';content:'Tudo sobre Torres'/'';margin-right:auto;font-family:var(--trs-serif);font-weight:700;font-size:17px;white-space:nowrap}
.menu-modal .close-nav-toggle .toggle-text{font-size:15px;font-weight:700;margin-right:0}
.menu-modal button.close-nav-toggle::after{content:'';flex:0 0 24px;height:24px;background:currentColor;-webkit-mask:var(--trs-m-close) center/24px no-repeat;mask:var(--trs-m-close) center/24px no-repeat}
.menu-modal .modal-menu{left:auto;width:100%}
.menu-modal .modal-menu li{border-color:var(--trs-line)}
.menu-modal .modal-menu>li>.ancestor-wrapper>a{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px;font-family:var(--trs-serif);font-weight:700;font-size:20px;letter-spacing:normal;line-height:1.2;color:var(--trs-ink);text-decoration:none;hyphens:manual}
.menu-modal .modal-menu>li>.ancestor-wrapper>a::after{content:'';flex:0 0 20px;height:20px;background:var(--trs-muted);-webkit-mask:var(--trs-m-chev) center/20px no-repeat;mask:var(--trs-m-chev) center/20px no-repeat}
.menu-modal .modal-menu>li>.ancestor-wrapper>a:hover{background:var(--trs-sea-50);color:var(--trs-sea-700)}
.menu-modal .modal-menu li:is(.current-menu-item,.current-menu-parent,.current-post-ancestor)>.ancestor-wrapper>a{background:var(--trs-sand-50);box-shadow:inset 4px 0 0 var(--trs-ember);color:var(--trs-sea-700);text-decoration:none}
/* Full-width rows touch the edges of the scrolling panel, which clips outside rings: draw them inside. */
.menu-modal :is(.modal-menu>li>.ancestor-wrapper>a,button.close-nav-toggle):focus-visible{outline-offset:-3px}
/* Flex chain down to the extras: the cliff and the signature sit at the bottom of the screen when the menu is shorter. */
.menu-modal .menu-top,.menu-modal .menu-top>.mobile-menu,.menu-modal .mobile-menu>.modal-menu{display:flex;flex-direction:column;flex:1 0 auto}
.menu-modal .modal-menu>li.trs-modal-extra{display:flex;flex-direction:column;flex:1 0 auto;padding:20px 24px 0;border-bottom:0}
.trs-modal-extra .trs-search{margin:0 0 16px}
.menu-modal .modal-menu .trs-modal-extra a.trs-btn{display:flex;width:100%;padding:0 20px;color:#fff;text-decoration:none;hyphens:manual}
.menu-modal .modal-menu .trs-modal-extra__inst{display:flex;flex-wrap:wrap;gap:4px 16px;margin:12px 0 0}
.menu-modal .modal-menu .trs-modal-extra__inst a{display:inline-flex;align-items:center;width:auto;min-height:44px;padding:0;font-size:15px;font-weight:600;color:var(--trs-ink-2);white-space:nowrap;word-break:normal;hyphens:manual}
.trs-modal-extra__foot{margin:auto -24px 0;padding-top:20px;background:transparent}
.trs-modal-extra__falesia{height:48px;background:var(--trs-sea-950);-webkit-mask:var(--trs-falesia) bottom/100% 100% no-repeat;mask:var(--trs-falesia) bottom/100% 100% no-repeat}
.trs-modal-extra__sig{margin:0;padding:4px 24px 24px;background:var(--trs-sea-950);color:var(--trs-on-dark);font-size:13px;line-height:1.5}
/* Tablets: the cliff follows the links and the sea fills the rest of the screen (no empty white block). */
@media (min-width:600px){
	.trs-modal-extra__foot{display:flex;flex-direction:column;flex:1 0 auto;margin-top:48px}
	.trs-modal-extra__falesia{height:72px}
	.trs-modal-extra__sig{flex:1 0 auto}
}

/* ---------- Footer ---------- */
:root{--trs-cliff-h:clamp(36px,5vw,72px)} /* basalt cliff on top of the footer (also its margin-top) */
.site-footer{background:var(--trs-sea-950);color:var(--trs-on-dark);border-top:0;padding:64px 0 24px;letter-spacing:normal;position:relative;margin-top:var(--trs-cliff-h)}
/* 1px overlap into the footer: no hairline seam at fractional positions or zoom levels. */
.site-footer::before{content:'';position:absolute;left:0;right:0;bottom:calc(100% - 1px);height:calc(var(--trs-cliff-h) + 1px);background:var(--trs-sea-950);-webkit-mask:var(--trs-falesia) bottom/100% 100% no-repeat;mask:var(--trs-falesia) bottom/100% 100% no-repeat}
@supports not ((mask:url(x)) or (-webkit-mask:url(x))){.site-footer::before{display:none}}
/* A light CTA band that closes the page runs under the cliff: sand behind the rock, no white strip. */
.site-main:has(>.trs-cta-band--light:last-child){padding-bottom:0}
.site-main>.trs-cta-band--light:last-child{margin-bottom:calc(-1*var(--trs-cliff-h));padding-bottom:calc(var(--trs-section) + var(--trs-cliff-h))}
.site-footer>.container{width:100%;max-width:calc(var(--trs-shell) + 2*var(--trs-gutter));padding:0 var(--trs-gutter)}
.site-footer .credits{display:none}
.site-footer .trs-footer p{font-size:.875rem;line-height:1.6;margin:0}
.site-footer .trs-footer p+p{margin-top:10px}
.site-footer .trs-footer a{color:#fff}
.site-footer .trs-footer a:hover{color:var(--trs-sun)}
.trs-footer__nowrap{white-space:nowrap}
.trs-footer__grid{display:grid;gap:32px;grid-template-columns:1.4fr 1fr 1fr 1.2fr}
.trs-footer__balloon{display:block;width:36px;height:48px;margin:0 0 12px}
.site-footer .trs-footer p.trs-footer__name{font-family:var(--trs-serif);font-weight:700;font-size:24px;line-height:1.2;color:#fff;margin:0 0 8px}
.site-footer .trs-footer p.trs-footer__title{font-size:var(--trs-fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--trs-sun);margin:0 0 12px}
.trs-footer__list{list-style:none;margin:0;padding:0}
.trs-footer__list li{margin:0}
.trs-footer__list a{display:inline-flex;align-items:center;min-height:32px;font-size:15px;text-decoration:none}
.trs-footer__list a:hover{text-decoration:underline}
.trs-footer__bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 24px;margin-top:32px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);font-size:13px;color:var(--trs-on-dark-muted)}
.site-footer .trs-footer .trs-footer__bar p{font-size:13px}
.trs-footer__bar a{display:inline-flex;align-items:center;min-height:44px}
.trs-footer__links{display:flex;flex-wrap:wrap;gap:8px 20px}
@media (max-width:999px) and (min-width:600px){.trs-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:599px){
	.site-footer{padding:48px 0 24px}
	.trs-footer__grid{grid-template-columns:1fr}
	.trs-footer__list--sections{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
	.trs-footer__list a{display:flex;min-height:44px}
}
.error404 .site-main,.search-no-results .site-main{min-height:calc(100vh - var(--trs-header-h) - 520px)}

/* ===== (d) Components ===== */
/* ---------- Buttons ---------- */
.trs-btn,a.trs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--trs-ctl-h);padding:0 20px;border:0;border-radius:var(--trs-r-ctl);background:var(--trs-sea-600);color:#fff;font-family:inherit;font-size:16px;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;box-shadow:none;transition:background-color var(--trs-dur) var(--trs-ease)}
.trs-btn:hover,a.trs-btn:hover{background:var(--trs-sea-700);color:#fff;text-decoration:none}
.trs-btn .trs-icon{width:16px;height:16px}
a.trs-btn--secondary,a.trs-btn--ghost,.trs-btn.trs-btn--secondary,.trs-btn.trs-btn--ghost{background:transparent;box-shadow:inset 0 0 0 1.5px var(--trs-ink);color:var(--trs-ink)!important}
a.trs-btn--secondary:hover,a.trs-btn--ghost:hover,.trs-btn.trs-btn--secondary:hover,.trs-btn.trs-btn--ghost:hover{background:var(--trs-sand-50)}
a.trs-btn--booking,.trs-btn.trs-btn--booking{background:var(--trs-booking);color:#fff}
a.trs-btn--booking:hover,.trs-btn.trs-btn--booking:hover{background:var(--trs-booking-dark)}
a.trs-btn--offer,.trs-btn.trs-btn--offer{background:var(--trs-sun);color:var(--trs-ink)!important}
a.trs-btn--offer:hover{background:#e9b52f}
a.trs-btn--link,.trs-btn.trs-btn--link{background:none;padding:0;min-height:44px;color:var(--trs-sea-600)}
a.trs-btn--link:hover,.trs-btn.trs-btn--link:hover{background:none;color:var(--trs-sea-700);text-decoration:underline}
.trs-btn--sm,a.trs-btn--sm{min-height:var(--trs-ctl-h-sm);padding:0 14px;font-size:15px}
.trs-btn--block,a.trs-btn--block{display:flex;width:100%}
.trs-partner{display:block;font-size:var(--trs-fs-xs);color:var(--trs-muted);margin-top:6px}
.bhs .bhs__btn,.bhs-card__cta,.comment-form .btn-primary,.btn-search-form{border-radius:8px;font-weight:700;min-height:44px;box-shadow:none}
.bhs a.bhs__all{background:var(--trs-booking)!important;color:#fff!important;border-radius:8px;font-weight:700}
.bhs a.bhs__all:hover{background:var(--trs-booking-dark)!important;filter:none}
.trs-center{text-align:center;margin-top:2rem}

/* ---------- Chips ---------- */
.trs-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}
.trs-chips__label{font-size:var(--trs-fs-sm);font-weight:700;color:var(--trs-ink);margin-right:4px}
.trs-chip,a.trs-chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border:1px solid #d9d3c7;border-radius:var(--trs-r-pill);background:#fff;font-size:15px;line-height:1.2;color:var(--trs-ink);text-decoration:none;white-space:nowrap;transition:border-color var(--trs-dur),color var(--trs-dur)}
.trs-chip:hover,a.trs-chip:hover{border-color:var(--trs-sea-600);color:var(--trs-sea-600);text-decoration:none}
.trs-chip.is-current,a.trs-chip.is-current{background:var(--trs-ink);border-color:var(--trs-ink);color:#fff}
@media (pointer:coarse),(max-width:899px){.trs-chip,a.trs-chip{min-height:44px}}
@media (max-width:599px){ /* same edge as the 2-column grid (600px) */
	.trs-chips--rail{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:var(--trs-gutter);margin-inline:calc(-1*var(--trs-gutter));padding:0 var(--trs-gutter) 4px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
	.trs-chips--rail::-webkit-scrollbar{display:none}
	.trs-chips--rail .trs-chip,.trs-chips--rail .trs-chips__label{flex:0 0 auto;scroll-snap-align:start}
	/* Scrolled to the end (or nothing to scroll): trs.js sets .is-end, the last chip is not faded. */
	.trs-chips--rail.is-end{-webkit-mask-image:none;mask-image:none}
	/* The scroller clips anything outside it: the focus ring goes inside the chip. */
	.trs-chips--rail .trs-chip:focus-visible{outline-offset:-3px}
	.trs-chips--rail .trs-chip.is-current:focus-visible{box-shadow:inset 0 0 0 5px #fff} /* white gap: ring vs dark chip */
}

/* ---------- Section head ---------- */
.trs-section-head{border-top:2px solid var(--trs-ink);padding-top:12px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px}
.trs-section-head .trs-h2{margin:4px 0 0}
.trs-section-head__dek{font-size:17px;line-height:1.5;color:var(--trs-ink-2);max-width:60ch;margin:8px 0 0}
a.trs-section-head__more{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:15px;font-weight:700;color:var(--trs-sea-600);text-decoration:none;white-space:nowrap}
a.trs-section-head__more:hover{color:var(--trs-sea-700);text-decoration:underline}
.trs-section-head--dark{border-top-color:#fff;color:#fff}
.trs-section-head--dark .trs-kicker{color:var(--trs-sun)}
.trs-section-head--dark .trs-h2,.trs-section-head--dark .trs-section-head__dek,.trs-section-head--dark a.trs-section-head__more{color:#fff}
@media (min-width:900px){.trs-section-head{margin-bottom:32px}}
@media (max-width:899px){
	.trs-section-head{flex-direction:column;align-items:flex-start;gap:4px}
	/* "Todos os …" stays on the line of the H2 (the title may take 2 lines); heads with a dek keep the column. */
	.trs-section-head:not(:has(.trs-section-head__dek)){flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:0 12px}
	.trs-section-head:not(:has(.trs-section-head__dek))>:not(.trs-section-head__more){flex:1 1 55%;min-width:0}
	.trs-section-head:not(:has(.trs-section-head__dek))>a.trs-section-head__more{margin:0 0 -8px;font-size:14px}
}

/* ---------- Post cards (markup: trs_post_card) ---------- */
.trs-card{position:relative;display:flex;flex-direction:column;gap:12px;background:none;border:0;border-radius:0;overflow:visible;box-shadow:none;transition:none;min-width:0}
.trs-card:hover{box-shadow:none;transform:none}
.trs-card__media{display:block;aspect-ratio:3/2;border-radius:var(--trs-r-img);overflow:hidden;background:var(--trs-sand-50)}
.trs-card .trs-card__img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0;margin:0;transition:transform var(--trs-dur) var(--trs-ease)}
.trs-card__placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(160deg,var(--trs-sea-950),var(--trs-sea-600));color:var(--trs-sun)}
.trs-card__placeholder .trs-icon{width:40px;height:40px}
.trs-card__body{display:flex;flex-direction:column;padding:0;gap:0;min-width:0}
/* Card kicker in ink-2: the ember stays an accent (section kickers, current menu item, quote rule). */
.trs-card .trs-card__cat{font-size:var(--trs-fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;line-height:1.4;color:var(--trs-ink-2);text-decoration:none;position:relative;z-index:2}
.trs-card .trs-card__title{font-family:var(--trs-serif);font-weight:700;font-size:var(--trs-fs-card)!important;line-height:1.25!important;letter-spacing:-.01em;margin:4px 0 0!important;color:var(--trs-ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.trs-card__title a{color:inherit;text-decoration:none}
.trs-card__title a::after{content:'';position:absolute;inset:0;z-index:1}
.trs-card__title a:focus-visible{outline:0}
.trs-card:hover .trs-card__title a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.trs-card:hover .trs-card__img{transform:scale(1.03)}
.trs-card:focus-within{outline:3px solid var(--trs-focus);outline-offset:4px;border-radius:var(--trs-r-img)}
.trs-card:has(.trs-card__title a:focus:not(:focus-visible)){outline:0}
.trs-card p.trs-card__excerpt{font-size:var(--trs-fs-sm);line-height:1.55;color:var(--trs-ink-2);margin:6px 0 0!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.trs-card p.trs-card__meta{font-size:var(--trs-fs-xs);color:var(--trs-muted);margin:6px 0 0!important}
.trs-card--lead .trs-card__title{font-size:var(--trs-fs-card-lead)!important;line-height:1.15!important;-webkit-line-clamp:4}
.trs-card--lead p.trs-card__excerpt{font-size:17px}
.trs-card--row{display:grid;grid-template-columns:112px 1fr;gap:16px;align-items:start;padding:12px 0;border-top:1px solid var(--trs-line)}
.trs-list>.trs-card--row:first-child{border-top:0}
.trs-card--row .trs-card__media{aspect-ratio:1}
.trs-card--row .trs-card__title{font-size:var(--trs-fs-card-row)!important;margin-top:2px!important}
@media (max-width:599px){
	.trs-card.trs-as-row{display:grid;grid-template-columns:112px 1fr;gap:16px;align-items:start;padding:12px 0;border-top:1px solid var(--trs-line)}
	.trs-grid>.trs-as-row:first-child{border-top:0}
	.trs-card.trs-as-row .trs-card__media{aspect-ratio:1}
	.trs-card.trs-as-row .trs-card__title{font-size:var(--trs-fs-card-row)!important}
	.trs-card.trs-as-row p.trs-card__excerpt{display:none}
	.trs-grid:has(>.trs-as-row){row-gap:0}
}
/* 320-359px: a smaller thumb gives the text 188px (kickers on one line, titles rarely cut). */
@media (max-width:359px){
	.trs-card.trs-card--row,.trs-card.trs-as-row{grid-template-columns:88px minmax(0,1fr);gap:12px}
	.trs-card:is(.trs-card--row,.trs-as-row) .trs-card__title{-webkit-line-clamp:4}
}
.single-post .entry-content .trs-card__img{height:100%;border-radius:0;margin:0}

/* ---------- Grids ---------- */
.trs-grid{display:grid;gap:32px var(--trs-grid-gap)}
.trs-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.trs-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.trs-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (min-width:600px) and (max-width:899px){.trs-grid--3,.trs-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.trs-grid--2,.trs-grid--3,.trs-grid--4{grid-template-columns:minmax(0,1fr)}}
.trs-list{display:grid;gap:0 var(--trs-grid-gap)}
/* Two columns from tablets (768, like the home list): one 720px column of rows left half of it empty. */
@media (min-width:768px){.trs-list--2{grid-template-columns:repeat(2,minmax(0,1fr))}.trs-list--2>.trs-card--row:nth-child(2){border-top:0}}

/* ---------- Section tiles ---------- */
.trs-section-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:767px){.trs-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
a.trs-section-card{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--trs-r-img);overflow:hidden;background:var(--trs-sea-950);color:#fff;text-decoration:none}
a.trs-section-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(11,45,56,.88) 100%)}
.trs-section-card .trs-section-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;margin:0;border-radius:0;transition:transform var(--trs-dur) var(--trs-ease)}
a.trs-section-card:hover .trs-section-card__img{transform:scale(1.04)}
/* Scrim that follows the text block (any aspect ratio, 1 or 2 line names): white text keeps AA over bright photos. */
.trs-section-card__text{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;flex-direction:column;gap:2px;padding:36px 16px 14px;background:linear-gradient(180deg,rgba(11,45,56,0) 0,rgba(11,45,56,.5) 36px,rgba(11,45,56,.72) 100%);text-shadow:0 1px 2px rgba(11,45,56,.45)}
.trs-section-card .trs-section-card__name{font-family:var(--trs-serif);font-weight:700;font-size:20px;line-height:1.2;color:#fff;margin:0}
.trs-section-card__desc{font-size:14px;line-height:1.4;color:#f1f5f9;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.trs-section-card__count{font-size:13px;color:var(--trs-on-dark)}
.trs-section-card--all{display:flex;align-items:center;justify-content:center}
.trs-section-card--all::before{content:'';position:absolute;top:22%;left:50%;width:40px;height:40px;margin-left:-20px;background:var(--trs-sun);-webkit-mask:var(--trs-m-balloon) center/contain no-repeat;mask:var(--trs-m-balloon) center/contain no-repeat}
@media (max-width:599px){a.trs-section-card{aspect-ratio:1}.trs-section-card .trs-section-card__name{font-size:17px}.trs-section-card__desc{display:none}}
/* Tablets (768-899px): four portrait tiles, as on desktop (two columns of 4:3 tiles took 1100-1300px). */
@media (min-width:768px) and (max-width:899px){a.trs-section-card{aspect-ratio:4/5}.trs-section-card .trs-section-card__name{font-size:17px}.trs-section-card__desc{display:none}}
/* 900-1099px: four tiles of ~230px cut the description mid-sentence; the name alone, on one line. */
@media (min-width:900px) and (max-width:1099px){.trs-section-card .trs-section-card__name{font-size:18px}.trs-section-card__desc{display:none}}

/* ---------- Breadcrumbs ---------- */
.trs-breadcrumbs{font-size:14px;line-height:1.5;color:var(--trs-muted);margin:0 0 12px}
.trs-breadcrumbs a{color:var(--trs-muted);text-decoration:none}
.trs-breadcrumbs a:hover{color:var(--trs-sea-600);text-decoration:underline}
.trs-breadcrumbs .aioseo-breadcrumb-separator{margin:0 .35em;opacity:.7}
@media (pointer:coarse){.trs-breadcrumbs a{display:inline-block;padding:12px 0;margin:-12px 0}}

/* ---------- Pagination ---------- */
.navigation.pagination .nav-links,.pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:32px 0}
.navigation.pagination .nav-links{margin:0}
.pagination :is(a,span).page-numbers{float:none;margin:0;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:8px;border:1px solid var(--trs-line);background:#fff;font-size:16px;color:var(--trs-ink);text-transform:none;text-decoration:none}
.pagination a.page-numbers:hover{border-color:var(--trs-sea-600);color:var(--trs-sea-700);background:#fff}
.pagination .page-numbers.current{background:var(--trs-ink);border-color:var(--trs-ink);color:#fff}
/* Phones: « and » only (the link text stays as the accessible name), slim dots, 4px gaps. */
@media (max-width:479px){
	.navigation.pagination .nav-links,.pagination{gap:4px}
	.pagination :is(.prev,.next).page-numbers{width:44px;padding:0;font-size:0}
	.pagination .prev.page-numbers::before{content:'«';content:'«'/'';font-size:20px;line-height:1}
	.pagination .next.page-numbers::after{content:'»';content:'»'/'';font-size:20px;line-height:1}
	.pagination .page-numbers.dots{min-width:0;padding:0 2px;border:0;background:none}
}
/* Lists too long for one line drop the jumps to the first/last page and their dots: « 3 4 5 » keeps 44px targets.
   Each size only where it does not fit (measured with 1-digit pages: 7 items need 304px, 8 need 352px, 9 need 371px). */
@media (max-width:345px){
	:is(.pagination>.nav-links,.pagination):has(>.page-numbers:nth-child(7))>:is(.page-numbers.dots,:is(.prev+a.page-numbers,a.page-numbers:first-child):has(+.dots),.dots+a.page-numbers:is(:last-child,:has(+.next))){display:none}
}
@media (max-width:389px){
	:is(.pagination>.nav-links,.pagination):has(>.page-numbers:nth-child(8))>:is(.page-numbers.dots,:is(.prev+a.page-numbers,a.page-numbers:first-child):has(+.dots),.dots+a.page-numbers:is(:last-child,:has(+.next))){display:none}
}
@media (max-width:409px){
	:is(.pagination>.nav-links,.pagination):has(>.page-numbers:nth-child(9))>:is(.page-numbers.dots,:is(.prev+a.page-numbers,a.page-numbers:first-child):has(+.dots),.dots+a.page-numbers:is(:last-child,:has(+.next))){display:none}
}

/* ---------- Forms (one field style for hotel search, contact, comments and site search) ---------- */
/* background-color only: this rule is (1,4,1) and a shorthand here would erase the chevron of the select below. */
:where(.bhs,.trs-form,.comment-form,.trs-search,.search-form) :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]),select,textarea):not(#trs){height:var(--trs-ctl-h);padding:0 .9rem;margin:0;border:1px solid var(--trs-line-strong);border-radius:var(--trs-r-ctl);box-shadow:none;background-color:#fff;color:var(--trs-ink);font:inherit;font-size:16px;width:100%;max-width:100%;box-sizing:border-box}
:where(.bhs,.trs-form,.comment-form,.trs-search,.search-form) textarea:not(#trs){height:auto;min-height:160px;padding:.75rem .9rem;line-height:1.5}
:where(.bhs,.trs-form,.comment-form,.trs-search,.search-form) select:not(#trs){appearance:none;-webkit-appearance:none;padding-right:2.5em;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b2a33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right .75em center/18px no-repeat}
/* Room for the chevron: (2,0,1) beats the padding of the field rule above (1,4,1). */
:where(.bhs,.trs-form,.comment-form,.trs-search,.search-form) select:not(#trs):not(#trs){padding-right:2.5em}
:where(.bhs,.trs-form,.comment-form,.trs-search,.search-form) input[type=date]:not(#trs){appearance:none;-webkit-appearance:none;min-width:0;display:block}
/* Dates keep the whole year on small phones: less side padding, no calendar icon on touch (a tap opens the
   native picker anyway) and, under 360px, each date on its own row of the hotel search. */
@media (max-width:399px){.bhs .bhs__form .bhs__field input[type=date]:not(#trs){padding-inline:10px}}
@media (pointer:coarse){.bhs input[type=date]::-webkit-calendar-picker-indicator{display:none}}
@media (max-width:359px){.bhs .bhs__form .bhs__field:has(input[type=date]){grid-column:1/-1}}
:where(.bhs,.trs-form,.comment-form,.trs-search,.search-form) :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]),select,textarea):not(#trs):is(:focus,:focus:valid,:focus:invalid){outline:3px solid var(--trs-focus);outline-offset:1px;border-color:var(--trs-sea-600);box-shadow:none}
:where(.bhs,.trs-form,.comment-form,.trs-search,.search-form) :is(input,select,textarea):not(#trs):user-invalid{border-color:var(--trs-danger)}
.bhs .bhs__field label,:is(.trs-form,.comment-form) label{font-size:14px;font-weight:700;color:var(--trs-ink-2);text-transform:none;letter-spacing:0}
:where(.trs-form,.comment-form) input[type=checkbox]{width:24px;height:24px;top:0;margin:0 8px 0 0;vertical-align:middle;accent-color:var(--trs-sea-600)}
.trs-form p{margin:0 0 1rem}
.trs-form label{display:block;margin-bottom:.3rem}
.trs-form__hp{position:absolute!important;left:-9999px!important}
.trs-form__privacy{font-size:.875rem;color:var(--trs-muted)}
.trs-notice{padding:12px 16px;border-radius:8px;font-size:15px;font-weight:600;line-height:1.5}
.trs-notice--ok{background:var(--trs-ok-bg);color:var(--trs-ok)}
.trs-notice--error{background:var(--trs-danger-bg);color:var(--trs-danger)}

/* ---------- Site search (TRS_Shell::search_form) ---------- */
.trs-search{margin:0}
.trs-search__label{display:block;font-size:14px;font-weight:700;color:var(--trs-ink-2);margin:0 0 6px}
.trs-search--hidden-label .trs-search__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.trs-search__row{display:flex;gap:8px}
.trs-search__row input{flex:1 1 auto;min-width:0}
.trs-search__row .trs-btn{flex:0 0 auto}

/* ---------- Hotel search widget (skin, every context) ---------- */
.bhs{--trs-focus:var(--trs-sea-600);--bhs-border:var(--trs-line-strong);--bhs-text:var(--trs-ink);--bhs-muted:var(--trs-muted);--bhs-blue:var(--trs-booking);--bhs-blue-dark:var(--trs-booking-dark);border-radius:var(--trs-r-ctl)}
.bhs .bhs__title{font-family:var(--trs-serif);font-weight:700;font-size:20px;line-height:1.25}
.bhs .bhs__btn{height:var(--trs-ctl-h)}
.entry-content .trs-section .bhs__title{margin:0 0 12px!important}
.entry-content .bhs__form,.entry-content .bhs__form p{margin:0!important}
.entry-content .bhs__field label{line-height:1.3}
.entry-content .bhs{margin:1.5rem 0 2rem}
.bhs--compact .bhs__form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(64px,.6fr) minmax(64px,.6fr) auto}
.bhs--compact .bhs__field--dest{grid-column:1/-1}
/* Two columns on phones only: from 768 the box (post 630px, hubs) is as wide as on desktop and takes the row. */
@media (max-width:767px){.bhs--compact .bhs__form{grid-template-columns:1fr 1fr}}
.bhs .bhs__grid,.bhs.is-loading .bhs__results{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:250px;grid-auto-rows:var(--trs-hotel-card-h);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding-bottom:12px;margin-top:14px}
@media (max-width:599px){.bhs .bhs__grid,.bhs.is-loading .bhs__results{grid-auto-columns:80%}}
/* No layout shift when the API answers (every context): the results box stays a grid (a block here made Chrome
   count the whole box as shifted, CLS 0.17-0.42) and the status keeps one line while searching and with results
   (the long "Buscando…" line took 2 lines on phones). contain keeps the one-line text from widening its column. */
.bhs:not(.is-loading) .bhs__results{display:grid;grid-template-columns:minmax(0,1fr)}
.bhs .bhs__results>.bhs__all{width:100%;box-sizing:border-box}
.bhs:is(.is-loading,.has-results) .bhs__status{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;contain:inline-size}
@media (max-width:599px){.bhs .bhs__status{font-size:14px}} /* the results line (hotels · dates · nights) whole from 360px */
.bhs .bhs-card{scroll-snap-align:start;height:100%;display:flex;flex-direction:column;border-radius:8px;min-width:0}
.bhs .bhs-card__media{height:150px;aspect-ratio:auto;flex:0 0 auto;overflow:hidden}
.bhs .bhs-card .bhs-card__img{width:100%;height:100%;max-width:none;object-fit:cover;border-radius:0;margin:0}
.bhs .bhs-card__name{font-size:16px;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bhs .bhs-card__stars{color:var(--trs-stars)}
.bhs .bhs-card__foot{flex-direction:column;align-items:stretch;gap:8px;margin-top:auto}
.bhs .bhs-card__price strong{white-space:nowrap;font-size:20px;font-weight:800}
.bhs .bhs-card__price small{white-space:nowrap;font-size:13px}
.bhs .bhs-card__cta{display:block;text-align:center;min-height:40px;line-height:24px;border-radius:8px;background:var(--trs-booking);font-size:15px}
.bhs .bhs-card--skeleton{height:100%;min-height:0}
.bhs .bhs__note{font-size:13px}
.trs-carousel{position:relative}
.trs-carousel-nav{display:none}
@media (pointer:fine) and (min-width:600px){
	.trs-carousel-nav{display:flex;justify-content:flex-end;gap:8px;margin:8px 0 0}
	.trs-carousel-nav button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--trs-line-strong);border-radius:50%;background:#fff;color:var(--trs-ink);cursor:pointer}
	.trs-carousel-nav button:hover{border-color:var(--trs-sea-600);color:var(--trs-sea-700)}
	.trs-carousel-nav button:disabled{opacity:.4;cursor:default}
	.trs-carousel-nav .trs-carousel-prev .trs-icon{transform:rotate(180deg)}
}

/* ---------- Author card (TRS_Shell::author_card) ---------- */
.trs-author{display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:start;margin:40px 0 16px;padding:24px;background:var(--trs-sand-50);border-top:2px solid var(--trs-ink);border-radius:0 0 8px 8px}
.trs-author__photo{flex:0 0 auto}
.trs-author__avatar,.trs-author__initials{width:72px;height:72px;border-radius:50%}
.trs-author__avatar{display:block;object-fit:cover;margin:0}
.trs-author__initials{display:flex;align-items:center;justify-content:center;background:var(--trs-sea-700);color:#fff;font-weight:800;font-size:1.4rem;letter-spacing:.02em}
.trs-author__text p{margin:0}
.trs-author .trs-author__name{font-family:var(--trs-serif);font-weight:700;font-size:22px;line-height:1.2;margin:2px 0 6px}
.trs-author__name a{color:var(--trs-ink);text-decoration:none}
.trs-author__name a:hover{color:var(--trs-sea-700);text-decoration:underline}
.trs-author .trs-author__bio{font-size:16px;line-height:1.6;color:var(--trs-ink-2)}
.trs-author .trs-author__links{display:flex;flex-wrap:wrap;gap:0 20px;margin-top:8px}
.trs-author__links a{display:inline-flex;align-items:center;gap:4px;min-height:44px;font-size:15px;font-weight:700;color:var(--trs-sea-600);text-decoration:none}
.trs-author__links a:hover{color:var(--trs-sea-700);text-decoration:underline}
.trs-facts{display:flex;flex-wrap:wrap;gap:4px 20px;margin:10px 0 0;padding:0;list-style:none;font-size:15px;color:var(--trs-muted)}
.trs-facts li{margin:0}
.trs-author--about{grid-template-columns:96px 1fr}
.trs-author--about :is(.trs-author__avatar,.trs-author__initials){width:96px;height:96px;font-size:1.8rem}
.trs-author--compact{grid-template-columns:56px 1fr;gap:12px;margin:0 0 12px;padding:0;background:none;border:0}
.trs-author--compact :is(.trs-author__avatar,.trs-author__initials){width:56px;height:56px;font-size:1.1rem}
.trs-author--compact .trs-author__name{font-size:18px}
.trs-author--trust{display:flex;align-items:center;gap:12px;margin:0;padding:14px 0;background:none;border:0;border-bottom:1px solid var(--trs-line);border-radius:0}
.trs-author--trust :is(.trs-author__avatar,.trs-author__initials){width:40px;height:40px;font-size:.875rem;box-shadow:0 0 0 2px #fff,0 0 0 4px var(--trs-sun)}
.trs-author--trust .trs-author__line{margin:0;font-size:15px;line-height:1.5;color:var(--trs-ink-2)}
.trs-author--trust strong{color:var(--trs-ink)}
.trs-author__nowrap{white-space:nowrap}
.trs-author__more{font-weight:700;color:var(--trs-sea-600);text-decoration:none;white-space:nowrap}
.trs-author__more:hover{color:var(--trs-sea-700);text-decoration:underline}
@media (max-width:479px){.trs-author:not(.trs-author--trust):not(.trs-author--compact){grid-template-columns:1fr;padding:20px}}

/* ---------- CTA band (TRS_Shell::cta_band) and generic CTA ---------- */
.trs-cta-band{padding:var(--trs-section) 0;background:var(--trs-sand-50);color:var(--trs-ink)}
.trs-cta-band--dark{background:var(--trs-sea-950);color:#fff}
.trs-cta-band--dark .trs-kicker{color:var(--trs-sun)}
.trs-cta-band__inner{display:grid;grid-template-columns:minmax(0,1fr);gap:16px 48px;align-items:center}
.trs-cta-band p.trs-cta-band__title{font-family:var(--trs-serif);font-weight:700;font-size:clamp(1.5rem,1.25rem + 1vw,2rem);line-height:1.2;letter-spacing:var(--trs-ls-head);margin:0;text-wrap:balance}
.trs-cta-band p.trs-cta-band__desc{font-size:17px;line-height:1.55;color:var(--trs-ink-2);margin:8px 0 0;max-width:60ch}
.trs-cta-band--dark .trs-partner,.trs-cta-band--dark p.trs-cta-band__desc{color:var(--trs-on-dark)}
.trs-cta-band__actions{display:flex;flex-direction:column;align-items:flex-start}
.trs-cta-band__content{grid-column:1/-1}
@media (min-width:900px){.trs-cta-band__inner{grid-template-columns:minmax(0,1fr) auto}}
.trs-cta{padding:1.4rem;border-radius:var(--trs-r-ctl);background:var(--trs-sand-50);text-align:center}
.trs-cta__title{font-weight:800;font-size:1.15rem;margin:0 0 .8rem}

/* ---------- Ads ---------- */
/* Empty theme ad slots (only whitespace inside a wrapper div, class "center fluid" or " "): no 41px gap.
   A slot with any element inside its wrapper (ins.adsbygoogle, script) or outside a div stays visible. */
.banner:not(:has(>:not(div),>*>*)){display:none}
.trs-ad{min-height:280px;margin:32px 0}
.trs-ad::before{content:'Publicidade';display:block;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--trs-muted);margin:0 0 6px}
@media (min-width:768px){.trs-ad{min-height:250px}}

/* ---------- Icons ---------- */
.trs-icon{width:1.25em;height:1.25em;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}

/* ===== (e) Utilities and motion ===== */
.trs-wrap{width:100%;max-width:calc(var(--trs-shell) + 2*var(--trs-gutter));margin-inline:auto;padding-inline:var(--trs-gutter);box-sizing:border-box}
.trs-wrap--read{max-width:calc(var(--trs-read) + 2*var(--trs-gutter))}
.trs-wrap--wide{max-width:calc(var(--trs-wide) + 2*var(--trs-gutter))}
.trs-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.site-main{padding-bottom:var(--trs-gap-bottom)}
.trs-home-page .site-main{padding-bottom:0}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
