/*
 * Travora Shared UI Components — v1.8.0.2
 * ------------------------------------------------------------
 * Canonical component contracts shared by every custom Travora page.
 * Page styles may compose these components, but should not recreate
 * their typography, controls, border/radius or interaction language.
 */

/* ----------------------------------------------------------
   Buttons
   ---------------------------------------------------------- */
body.travora-site.travora-components .travora-page-shell :is(.btn,.travora-btn){
  display:inline-flex;
  min-height:var(--component-button-height);
  align-items:center;
  justify-content:center;
  gap:var(--component-button-gap);
  padding:13px 21px;
  border:1px solid transparent;
  border-radius:var(--component-button-radius,14px);
  font-family:var(--font-ui);
  font-size:var(--text-button);
  font-weight:700;
  line-height:1.2;
  letter-spacing:var(--tracking-button);
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:transform .2s ease,border-color .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease;
}
body.travora-site.travora-components .travora-page-shell :is(.btn,.travora-btn):hover{transform:translateY(-2px);}
body.travora-site.travora-components .travora-page-shell :is(.btn,.travora-btn):active{transform:translateY(0);}
body.travora-site.travora-components .travora-page-shell :is(.btn,.travora-btn):focus-visible{
  outline:3px solid rgba(0,191,255,.86);
  outline-offset:4px;
}
body.travora-site.travora-components .travora-page-shell :is(.btn-primary,.travora-btn--primary){
  border-color:transparent;
  background:linear-gradient(135deg,var(--color-accent-strong),var(--color-accent));
  color:#071a2d;
  box-shadow:0 15px 40px rgba(0,191,255,.22);
}
body.travora-site.travora-components .travora-page-shell :is(.btn-primary,.travora-btn--primary):hover{
  box-shadow:0 19px 48px rgba(0,191,255,.28);
}
body.travora-site.travora-components .travora-page-shell :is(.btn-secondary,.travora-btn--secondary){
  border-color:var(--color-border-strong);
  background:rgba(16,42,67,.64);
  color:var(--color-text-primary);
  box-shadow:none;
}
body.travora-site.travora-components .travora-page-shell :is(.btn-secondary,.travora-btn--secondary):hover{
  border-color:rgba(0,191,255,.56);
  background:rgba(0,191,255,.08);
}
body.travora-site.travora-components .travora-page-shell :is(.btn-ghost,.travora-btn--ghost){
  border-color:transparent;
  background:transparent;
  color:var(--color-text-secondary);
  box-shadow:none;
}
body.travora-site.travora-components .travora-page-shell :is(.btn-ghost,.travora-btn--ghost):hover{
  border-color:var(--color-border);
  background:rgba(230,247,255,.045);
}
body.travora-site.travora-components .travora-page-shell :is(.btn-small,.btn-sm,.travora-btn--sm){min-height:44px;padding:10px 16px;font-size:14px;}
body.travora-site.travora-components .travora-page-shell :is(.btn-large,.btn-lg,.travora-btn--lg){min-height:56px;padding:15px 24px;}
body.travora-site.travora-components .travora-page-shell :is(.btn-full,.full-button,.travora-btn--full){width:100%;}

/* ----------------------------------------------------------
   Eyebrow / label
   ---------------------------------------------------------- */
body.travora-site.travora-components .travora-page-shell :is(.eyebrow,.travora-eyebrow){
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  max-width:100%;
  margin:0 0 18px;
  padding:8px 14px;
  border:1px solid rgba(0,191,255,.18);
  border-radius:var(--radius-pill);
  background:rgba(0,191,255,.06);
  color:rgba(209,246,255,.94);
  font-family:var(--font-ui);
  font-size:var(--text-eyebrow);
  font-weight:700;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.travora-site.travora-components .travora-page-shell :is(.eyebrow,.travora-eyebrow)::before{
  width:6px;
  height:6px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--color-accent);
  box-shadow:0 0 18px rgba(0,191,255,.9);
  content:"";
}
body.travora-site.travora-components .travora-page-shell .eyebrow.muted{
  border-color:rgba(168,195,214,.14);
  background:rgba(230,247,255,.035);
  color:rgba(209,246,255,.82);
}

/* ----------------------------------------------------------
   Breadcrumb
   ---------------------------------------------------------- */
body.travora-site.travora-components .travora-page-shell :is(.breadcrumb,.solution-breadcrumb,.travora-breadcrumb){
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;
  margin:0 0 24px;
  color:rgba(168,195,214,.72);
  font-family:var(--font-ui);
  font-size:13px;
  font-weight:650;
  line-height:1.5;
}
body.travora-site.travora-components .travora-page-shell :is(.breadcrumb,.solution-breadcrumb,.travora-breadcrumb) a{
  color:inherit;
  transition:color .2s ease;
}
body.travora-site.travora-components .travora-page-shell :is(.breadcrumb,.solution-breadcrumb,.travora-breadcrumb) a:hover{color:var(--color-accent-strong);}
body.travora-site.travora-components .travora-page-shell :is(.breadcrumb,.solution-breadcrumb,.travora-breadcrumb) [aria-current="page"]{color:rgba(230,247,255,.82);}

/* ----------------------------------------------------------
   Semantic text roles
   ---------------------------------------------------------- */
body.travora-site.travora-components .travora-page-shell :is(.text-label,.solution-label){
  font-size:var(--text-caption);
  line-height:var(--leading-tight,1.35);
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
body.travora-site.travora-components .travora-page-shell :is(
  p.lead,p.text-lead,p.hero-lead,p.hero-sub,p.hero-subtitle,p.hero-text
){
  font-size:var(--text-lead);
  line-height:var(--leading-body);
}
body.travora-site.travora-components .travora-page-shell p.support-copy{
  font-size:var(--text-body);
  line-height:var(--leading-body);
}
body.travora-site.travora-components .travora-page-shell p.trust-line{
  font-size:var(--text-body-sm);
  line-height:var(--leading-small);
}
body.travora-site.travora-components .travora-page-shell :is(
  p.micro-line,p.measurement-note,p.center-note,p.form-microcopy,p.form-note
){
  font-size:var(--text-caption);
  line-height:1.55;
}

/* ----------------------------------------------------------
   Hero primitives
   ---------------------------------------------------------- */
body.travora-site.travora-components .travora-page-shell .hero{position:relative;}
body.travora-site.travora-components .travora-page-shell .hero-grid{min-width:0;}
body.travora-site.travora-components .travora-page-shell .hero-copy{min-width:0;}
/* One hero-title scale across every custom page. Page assets must not resize H1. */
body.travora-site.travora-components .travora-page-shell .hero h1{
  font-size:var(--text-display);
  line-height:var(--leading-display);
  letter-spacing:var(--tracking-display);
}
body.travora-site.travora-components .travora-page-shell :is(.hero-lead,.hero-subtitle,.hero .lead,.hero-text,.hero-sub){
  max-width:760px;
  font-size:var(--text-lead);
  line-height:var(--leading-body);
}
/* Compact headings inside dashboards are a visual UI role, not a page typography override. */
body.travora-site.travora-components .travora-page-shell :is(.dashboard-top,.dash-head,.phone-topbar) h2{
  font-size:var(--text-ui-title);
  line-height:var(--leading-heading);
  letter-spacing:var(--tracking-heading);
}
body.travora-site.travora-components .travora-page-shell .hero-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  margin-top:32px;
}

/* ----------------------------------------------------------
   Section header pattern
   ---------------------------------------------------------- */
body.travora-site.travora-components .travora-page-shell :is(.section-head,.section-header,.section-heading,.travora-section-head){
  max-width:var(--component-section-head);
  margin-bottom:48px;
}
body.travora-site.travora-components .travora-page-shell :is(.section-head,.section-header,.section-heading,.travora-section-head).narrow{max-width:var(--component-section-head-narrow);}
body.travora-site.travora-components .travora-page-shell :is(.section-head,.section-header,.section-heading,.travora-section-head).center{
  margin-inline:auto;
  text-align:center;
}
body.travora-site.travora-components .travora-page-shell :is(.section-head,.section-header,.section-heading,.travora-section-head).center .eyebrow{margin-inline:auto;}
body.travora-site.travora-components .travora-page-shell :is(.section-head,.section-header,.section-heading,.travora-section-head)>p:not(.eyebrow){
  max-width:var(--component-content-copy);
  margin-top:16px;
  color:var(--color-text-muted);
  font-size:var(--text-body-lg);
  line-height:var(--leading-body);
}
body.travora-site.travora-components .travora-page-shell :is(.section-head,.section-header,.section-heading,.travora-section-head).center>p:not(.eyebrow){margin-inline:auto;}

/* ----------------------------------------------------------
   Card primitive — opt-in base for migrations and new pages.
   Domain-specific layout remains in page styles.
   ---------------------------------------------------------- */
body.travora-site.travora-components .travora-page-shell .travora-card{
  position:relative;
  min-width:0;
  border:1px solid var(--travora-card-border,var(--color-border));
  border-radius:var(--travora-card-radius,var(--component-card-radius));
  background:var(--travora-card-bg,rgba(16,42,67,.44));
  box-shadow:var(--travora-card-shadow,var(--shadow-sm));
}
/* Shared card text roles. This replaces page-by-page H3/P sizing. */
body.travora-site.travora-components .travora-page-shell :is(
  .travora-card,.travora-industry-card,.problem-card,.architecture-flow,.solution-card,.industry-card,
  .deliverable-card,.fit-card,.control-card,.metric-card,.process-card,.module-card,.validation-panel,
  .related-card,.outcome-card,.usecase-card,.solution-item,.journey-step,.process-step,.boundary-card,
  .implementation-steps>li,.workflow-trace>li,.delivery-steps>li,.related-links>a
) h3{
  font-size:var(--text-card-title);
  line-height:var(--leading-heading);
  letter-spacing:var(--tracking-heading);
}
body.travora-site.travora-components .travora-page-shell :is(
  .travora-card,.travora-industry-card,.problem-card,.architecture-flow,.solution-card,.industry-card,
  .deliverable-card,.fit-card,.control-card,.metric-card,.process-card,.module-card,.validation-panel,
  .related-card,.outcome-card,.usecase-card,.solution-item,.journey-step,.process-step,.boundary-card,
  .implementation-steps>li,.workflow-trace>li,.delivery-steps>li,.related-links>a
) p{
  font-size:var(--text-card-body);
  line-height:var(--leading-body);
}
body.travora-site.travora-components .travora-page-shell :is(.review-form-card,.related-solutions,.solution-heading)>h3{
  font-size:var(--text-ui-title);
  line-height:var(--leading-heading);
  letter-spacing:var(--tracking-heading);
}
body.travora-site.travora-components .travora-page-shell .travora-card--interactive{
  transition:transform .22s ease,border-color .22s ease,background-color .22s ease,box-shadow .22s ease;
}
body.travora-site.travora-components .travora-page-shell .travora-card--interactive:hover{
  transform:translateY(-3px);
  border-color:var(--color-border-strong);
  background:var(--travora-card-hover-bg,rgba(23,58,91,.62));
  box-shadow:var(--shadow-md);
}
body.travora-site.travora-components .travora-page-shell .travora-card--elevated{--travora-card-shadow:var(--shadow-md);--travora-card-bg:rgba(16,42,67,.64);}
body.travora-site.travora-components .travora-page-shell .travora-card--accent{--travora-card-border:rgba(0,191,255,.28);}

/* ----------------------------------------------------------
   Chips / proof / status primitives
   ---------------------------------------------------------- */
body.travora-site.travora-components .travora-page-shell :is(.travora-chip,.proof-chip,.trust-chip,.status-chip){
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:34px;
  padding:7px 12px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  background:rgba(16,42,67,.36);
  color:rgba(230,247,255,.78);
  font-size:14px;
  font-weight:650;
  line-height:1.25;
}
body.travora-site.travora-components .travora-page-shell .capability-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
  padding:0;
  list-style:none;
}
body.travora-site.travora-components .travora-page-shell .capability-list>li{
  padding:8px 12px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  background:rgba(16,42,67,.32);
  color:rgba(230,247,255,.76);
  font-size:14px;
  font-weight:650;
}

body.travora-site.travora-components .travora-page-shell :is(.trust-strip,.hero-proof){
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
body.travora-site.travora-components .travora-page-shell :is(.trust-strip,.hero-proof)>span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  background:rgba(16,42,67,.32);
  color:rgba(230,247,255,.76);
  font-size:14px;
  font-weight:650;
  line-height:1.25;
}

/* ----------------------------------------------------------
   Forms
   ---------------------------------------------------------- */
body.travora-site.travora-components .travora-page-shell :is(.form-row,.form-field){min-width:0;}
body.travora-site.travora-components .travora-page-shell :is(.form-row>label,.form-field>label,.form-field label:first-child){
  display:block;
  margin-bottom:8px;
  color:rgba(230,247,255,.84);
  font-size:13px;
  font-weight:700;
  line-height:1.45;
}
body.travora-site.travora-components .travora-page-shell :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
  select,
  textarea
){
  width:100%;
  min-height:var(--component-control-height);
  border:1px solid var(--color-border);
  border-radius:var(--component-control-radius);
  outline:0;
  background:rgba(7,21,33,.68);
  color:var(--color-text-primary);
  font-family:var(--font-ui);
  font-size:15px;
  line-height:1.45;
  transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
}
body.travora-site.travora-components .travora-page-shell :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
  select
){padding:11px 13px;}
body.travora-site.travora-components .travora-page-shell textarea{min-height:132px;padding:13px;resize:vertical;}
body.travora-site.travora-components .travora-page-shell :is(input,textarea)::placeholder{color:rgba(168,195,214,.58);}
body.travora-site.travora-components .travora-page-shell select option{background:var(--color-bg);color:var(--color-text-primary);}
body.travora-site.travora-components .travora-page-shell :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
  select,
  textarea
):focus{
  border-color:rgba(0,191,255,.72);
  background:rgba(7,21,33,.9);
  box-shadow:0 0 0 4px rgba(0,191,255,.11);
}
body.travora-site.travora-components .travora-page-shell :is(.form-note,.form-microcopy,.field-help){
  color:rgba(168,195,214,.68);
  font-size:12px;
  line-height:1.55;
}
body.travora-site.travora-components .travora-page-shell .form-note.is-success{color:var(--color-accent-strong);}
body.travora-site.travora-components .travora-page-shell :is(.field-error,.form-error){color:#ffd0d0;font-size:12px;font-weight:650;line-height:1.45;}
body.travora-site.travora-components .travora-page-shell .form-status{
  margin-top:22px;
  padding:14px 16px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-200);
  background:rgba(16,42,67,.42);
  font-size:14px;
  font-weight:700;
  line-height:1.5;
}
body.travora-site.travora-components .travora-page-shell .form-status.is-success{border-color:rgba(83,230,161,.38);background:rgba(83,230,161,.09);color:#bff7cf;}
body.travora-site.travora-components .travora-page-shell .form-status.is-error{border-color:rgba(255,143,122,.38);background:rgba(255,143,122,.08);color:#ffd0d0;}
body.travora-site.travora-components .travora-page-shell [aria-invalid="true"]{
  border-color:rgba(255,143,122,.78)!important;
  box-shadow:0 0 0 4px rgba(255,143,122,.08);
}
body.travora-site.travora-components .travora-page-shell .field-error{display:none;}
body.travora-site.travora-components .travora-page-shell :is(.form-field,.form-row) [aria-invalid="true"]~.field-error,
body.travora-site.travora-components .travora-page-shell .consent-field input[aria-invalid="true"]~.field-error{display:block;}
body.travora-site.travora-components .travora-page-shell .consent-field .field-error{grid-column:2;}
body.travora-site.travora-components .travora-page-shell .form-submit{width:100%;margin-top:22px;}
body.travora-site.travora-components .travora-page-shell form.is-submitting .form-submit{pointer-events:none;opacity:.72;}
body.travora-site.travora-components .travora-page-shell .honeypot-field{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
body.travora-site.travora-components .travora-page-shell .consent-field{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  gap:10px;
  align-items:start;
  margin-top:18px;
}
body.travora-site.travora-components .travora-page-shell .consent-field input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:2px 0 0;
  accent-color:var(--color-accent);
}
body.travora-site.travora-components .travora-page-shell .consent-field label{
  margin:0;
  color:var(--color-text-muted);
  font-size:var(--text-body-sm);
  line-height:var(--leading-small);
}


/* ----------------------------------------------------------
   FAQ / accordion — supports native details and legacy button FAQ.
   ---------------------------------------------------------- */
body.travora-site.travora-components .travora-page-shell .faq-list{
  display:grid;
  width:100%;
  max-width:900px;
  gap:13px;
  margin-inline:auto;
}
body.travora-site.travora-components .travora-page-shell .faq-list>:is(details,.faq-item){
  margin:0;
  overflow:hidden;
  border:1px solid var(--color-border);
  border-radius:var(--component-faq-radius);
  background:rgba(16,42,67,.48);
  box-shadow:none;
}

body.travora-site.travora-components .travora-page-shell .faq-list details[open]{
  border-color:var(--color-border-strong);
  background:rgba(0,191,255,.045);
}
body.travora-site.travora-components .travora-page-shell .faq-list :is(summary,.faq-question,.faq-item:not(details)>button){
  position:relative;
  display:flex;
  width:100%;
  min-height:66px;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:19px 52px 19px 20px;
  border:0;
  outline:0;
  background:transparent;
  color:var(--color-text-primary);
  font-family:var(--font-ui);
  font-size:16px;
  font-weight:750;
  line-height:1.45;
  text-align:left;
  cursor:pointer;
  list-style:none;
}
body.travora-site.travora-components .travora-page-shell .faq-list summary::-webkit-details-marker{display:none;}
body.travora-site.travora-components .travora-page-shell .faq-list :is(summary,.faq-question,.faq-item:not(details)>button)::after{
  position:absolute;
  top:50%;
  right:20px;
  color:var(--color-accent-strong);
  font-size:22px;
  font-weight:500;
  line-height:1;
  transform:translateY(-50%);
  content:"+";
}
body.travora-site.travora-components .travora-page-shell .faq-list :is(details[open]>summary,.faq-item.active>.faq-question,.faq-item.active>button,.faq-item.is-open>button)::after{content:"−";}
body.travora-site.travora-components .travora-page-shell .faq-list summary>i,
body.travora-site.travora-components .travora-page-shell .faq-list summary>span[aria-hidden="true"],
body.travora-site.travora-components .travora-page-shell .faq-list .faq-question>span:last-child,
body.travora-site.travora-components .travora-page-shell .faq-list .faq-item:not(details)>button>span:last-child{display:none;}
body.travora-site.travora-components .travora-page-shell .faq-list details>:is(.faq-answer,div):not(summary),
body.travora-site.travora-components .travora-page-shell .faq-list details>p{
  margin:0;
  padding:0 20px 20px;
  color:var(--color-text-muted);
}
body.travora-site.travora-components .travora-page-shell .faq-list details .faq-answer{padding:0 20px 20px;}
body.travora-site.travora-components .travora-page-shell .faq-list details .faq-answer p{margin:0;padding:0;}
body.travora-site.travora-components .travora-page-shell .faq-list.is-enhanced .faq-item:not(details)>:is(.faq-answer,.faq-panel){
  max-height:0;
  overflow:hidden;
  transition:max-height .25s ease;
}
body.travora-site.travora-components .travora-page-shell .faq-list .faq-item:not(details)>:is(.faq-answer,.faq-panel)>p{
  margin:0;
  padding:0 20px 20px;
  color:var(--color-text-muted);
}
body.travora-site.travora-components .travora-page-shell .faq-list :is(summary,.faq-question,.faq-item:not(details)>button):focus-visible{
  outline:3px solid rgba(0,191,255,.78);
  outline-offset:-3px;
}

/* ----------------------------------------------------------
   Final CTA card — explicit class prevents section/card ambiguity.
   ---------------------------------------------------------- */
body.travora-site.travora-components .travora-page-shell .travora-final-cta-card{
  max-width:960px;
  margin-inline:auto;
  padding:clamp(46px,6vw,76px) clamp(24px,5vw,58px);
  border:1px solid rgba(0,191,255,.27);
  border-radius:var(--radius-500);
  background:radial-gradient(circle at top,rgba(0,191,255,.18),transparent 52%),rgba(16,42,67,.47);
  box-shadow:var(--shadow-lg);
  text-align:center;
}
body.travora-site.travora-components .travora-page-shell .travora-final-cta-card .eyebrow{margin-inline:auto;}
body.travora-site.travora-components .travora-page-shell .travora-final-cta-card h2{max-width:780px;margin-inline:auto;}
body.travora-site.travora-components .travora-page-shell .travora-final-cta-card>p:not(.eyebrow):not(.micro-line){max-width:710px;margin-inline:auto;}
body.travora-site.travora-components .travora-page-shell .travora-final-cta-card :is(.hero-actions,.hero-cta-group,.final-buttons){justify-content:center;}

@media (max-width:720px){
  body.travora-site.travora-components .travora-page-shell .hero-actions{width:100%;}
  body.travora-site.travora-components .travora-page-shell form :is(.btn,.travora-btn){width:100%;}
  body.travora-site.travora-components .travora-page-shell .hero-actions :is(.btn,.travora-btn){width:100%;}
  body.travora-site.travora-components .travora-page-shell :is(.section-head,.section-header,.section-heading,.travora-section-head){margin-bottom:34px;}
  body.travora-site.travora-components .travora-page-shell :is(.section-head,.section-header,.section-heading,.travora-section-head)>p:not(.eyebrow){font-size:var(--text-body);}
  body.travora-site.travora-components .travora-page-shell .faq-list :is(summary,.faq-question,.faq-item:not(details)>button){min-height:62px;padding:18px 48px 18px 18px;font-size:15px;}
  body.travora-site.travora-components .travora-page-shell .faq-list :is(summary,.faq-question,.faq-item:not(details)>button)::after{right:18px;}
  body.travora-site.travora-components .travora-page-shell .travora-final-cta-card{border-radius:var(--radius-400);}
}

/* ----------------------------------------------------------
   Shared primitives used by Home and standalone pages
   ---------------------------------------------------------- */
body.travora-site.travora-components .travora-page-shell .hero-cta-group{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  margin-top:32px;
}
body.travora-site.travora-components .travora-page-shell :is(.travora-glass-card,.glass-card){
  border:1px solid var(--color-border);
  border-radius:var(--component-card-radius);
  background:linear-gradient(145deg,rgba(23,58,91,.58),rgba(16,42,67,.34));
  box-shadow:var(--shadow-lg);
  backdrop-filter:blur(20px);
}
body.travora-site.travora-components .travora-page-shell .text-cta{
  color:var(--color-accent-strong);
  font-weight:750;
  transition:color .2s ease;
}
body.travora-site.travora-components .travora-page-shell .text-cta:hover{color:var(--color-text-primary);}
body.travora-site.travora-components .travora-page-shell .form-row.has-error :is(input,select,textarea){border-color:rgba(255,143,122,.78);}
body.travora-site.travora-components .travora-page-shell .error-message{display:block;min-height:18px;margin-top:4px;}
body.travora-site.travora-components .travora-page-shell .success-message{display:none;}
body.travora-site.travora-components .travora-page-shell .success-message.show{display:block;}
@media(max-width:720px){
  body.travora-site.travora-components .travora-page-shell .hero-cta-group{width:100%;}
  body.travora-site.travora-components .travora-page-shell .hero-cta-group :is(.btn,.travora-btn){width:100%;}
}

/* ----------------------------------------------------------
   Shared in-page navigation — v1.8.0.2
   ----------------------------------------------------------
   Sticky geometry, anchor clearance and the transparent outer shell are
   system-owned here. Page assets may style links/inner composition only.
   ---------------------------------------------------------- */
:root{
  --travora-page-nav-height:60px;
  --travora-page-nav-gap:16px;
}
body.travora-site.travora-has-page-nav{--travora-page-nav-offset:118px;}
body.travora-site.travora-has-page-nav .travora-page-shell .page-nav{
  position:sticky;
  top:var(--travora-page-nav-offset);
  z-index:92;
  isolation:isolate;
  border:0!important;
  border-block:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.travora-site.travora-has-page-nav .travora-page-shell .page-nav::before,
body.travora-site.travora-has-page-nav .travora-page-shell .page-nav::after{
  display:none!important;
  content:none!important;
  background:transparent!important;
  backdrop-filter:none!important;
}
body.travora-site.travora-has-page-nav .travora-page-shell .page-nav-inner{
  overscroll-behavior-x:contain;
  scroll-behavior:auto;
}
body.travora-site.travora-has-page-nav .travora-page-shell section[id]{
  scroll-margin-top:calc(var(--travora-page-nav-offset) + var(--travora-page-nav-height) + var(--travora-page-nav-gap));
}
@media(max-width:1024px){
  body.travora-site.travora-has-page-nav{--travora-page-nav-offset:102px;}
}
@media(min-width:783px){
  body.travora-site.travora-has-page-nav.admin-bar{--travora-page-nav-offset:150px;}
}
@media(max-width:782px){
  body.travora-site.travora-has-page-nav.admin-bar{--travora-page-nav-offset:148px;}
}
