/* Lower-friction Teevia CTA. Links are in the HTML templates, not injected at build time. */
a.request-info-link {
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:11px 15px;border:1px solid #c8c1b5;border-radius:9px;
  background:rgba(255,255,255,.3);color:#263248;text-decoration:none;
  font:700 13px/1.35 Inter,Arial,sans-serif;letter-spacing:0;white-space:nowrap;
  vertical-align:middle;transition:background .15s,border-color .15s,color .15s;
}
a.request-info-link:hover{background:#fff;border-color:#bc8c34;color:#141b2c;transform:none}
a.request-info-link:focus-visible{outline:3px solid #087991;outline-offset:3px}
a.request-info-link span{font-size:16px;line-height:1}
/* Pairing inside existing CTA rows and cards. */
.request-info-pair{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:10px;max-width:100%}
.request-info-pair > .request-info-link{margin:0}
a[data-booking-cta] + a.request-info-link{margin-left:10px}
.actions > a.request-info-link,.hero-actions > a.request-info-link,.cta-actions > a.request-info-link,
.request-info-pair > a.request-info-link{margin-left:0}
/* Header: a real secondary button, clearly distinct from the text nav and the gold demo button. */
.g-primary-nav > a.request-info-link{
  font-size:13px;font-weight:800;padding:11px 15px;
  border:1px solid #bdab86;border-radius:9px;
  background:#fffaf0;color:#141b2c;margin:0 0 0 5px;
  box-shadow:0 1px 3px rgba(20,27,44,.06);
}
.g-primary-nav > a.request-info-link:hover{
  background:#f8efd9;border-color:#a77d2e;color:#141b2c;
  box-shadow:0 2px 6px rgba(20,27,44,.08);
}
.g-primary-nav > a.request-info-link span,
.booking-header-actions > a.request-info-link span{color:#a77d2e}
.g-mobile-links > a.request-info-link{
  width:100%;margin:10px 0 0;background:#fffaf0;
  border:1px solid #bdab86;border-radius:10px;
  padding:14px;justify-content:center;font-size:14px;color:#141b2c;
}
.g-mobile-links > a.request-info-link:hover{background:#f8efd9;border-color:#a77d2e}
.booking-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}
.booking-header-actions > a.request-info-link{
  margin:0;border-color:#bdab86;background:#fffaf0;color:#141b2c;
  box-shadow:0 1px 3px rgba(20,27,44,.06)
}
.booking-header-actions > a.request-info-link:hover{background:#f8efd9;border-color:#a77d2e}
.g-footer .g-footer-links > a.request-info-link{padding:7px 10px;border:1px solid #c7bdab;color:#42474d;font-size:12px}
/* Dark heroes/sections: preserve the understated outline, but make its text legible. */
.hero.dark a.request-info-link,.on-dark a.request-info-link,
.cta-block a.request-info-link, #compare-page .hero a.request-info-link,
.cta-actions a.request-info-link {
  color:#fff;border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.06);
}
.hero.dark a.request-info-link:hover,.on-dark a.request-info-link:hover,
.cta-block a.request-info-link:hover,.cta-actions a.request-info-link:hover{
  color:#fff;border-color:#fff;background:rgba(255,255,255,.14);
}
/* Some campaigns use a dark hero without a .dark class. */
.hero[data-theme="dark"] a.request-info-link {
  color:#fff;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.06);
}
/* Light card embedded inside a dark section should still use dark text. */
.card-side a.request-info-link,.cta-right a.request-info-link,.form-card a.request-info-link,
.contact-form-card a.request-info-link,.request-info-pair .request-info-link {
  color:#141b2c;border-color:#bcb4a8;background:transparent;
}
.card-side a.request-info-link:hover,.cta-right a.request-info-link:hover,
.request-info-pair .request-info-link:hover{background:#f7f0df;border-color:#b88c36;color:#141b2c}
/* Exception for CTA rows sitting directly on navy, not in a cream card. */
.cta-block .request-info-pair .request-info-link,.hero.dark .request-info-pair .request-info-link,
.hero[data-theme="dark"] .request-info-pair .request-info-link {
  color:#fff;border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.05);
}
/* Extra hero exploration link is kept, but no longer competes as a third button. */
.hero-product-path{margin:7px 0 0;font:600 13px/1.5 Inter,Arial,sans-serif}
.hero-product-path a{color:#825d21;text-decoration:underline;text-underline-offset:3px}
.hero-product-path a:hover{color:#141b2c}
.anchor-target{position:absolute;scroll-margin-top:90px}
@media(max-width:650px){
  a.request-info-link{padding:11px 13px;font-size:13px}
  .g-primary-nav > a.request-info-link,.g-mobile-links > a.request-info-link{margin:0}
  .booking-header-actions{gap:6px}
  .booking-header-actions a.request-info-link{font-size:11px;padding:10px 8px}
  a[data-booking-cta] + a.request-info-link{margin-left:7px}
  .request-info-pair > a.request-info-link{margin-left:0}
}
@media(max-width:380px){.hero .actions > a.request-info-link{width:100%;margin:0}}

/* Form modal: purposefully compact and lighter weight than booking. */
.request-info-modal{box-sizing:border-box;width:min(520px,calc(100vw - 32px));max-width:520px;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:18px;overflow:auto;background:#fff;color:#141b2c;text-align:left;box-shadow:0 25px 100px rgba(0,0,0,.34);font-family:Inter,Arial,sans-serif}
.request-info-modal:not([open]){display:none}
.request-info-modal::backdrop{background:rgba(10,18,32,.72)}
.request-info-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 26px 0;gap:16px}
.request-info-kicker{font:800 11px/1.4 Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#a07930}
.request-info-modal-close{display:grid;place-items:center;flex:none;width:36px;height:36px;cursor:pointer;border:0;background:#f2f1ed;border-radius:50%;font:27px/1 Arial,sans-serif;color:#141b2c}
.request-info-modal-close:hover{background:#e7e3da}
.request-info-modal-body{padding:7px 32px 32px}
.request-info-modal h2,.request-info-standalone h1{font:600 clamp(27px,3.1vw,35px)/1.15 Fraunces,Georgia,serif;letter-spacing:-.025em;color:#141b2c;margin:12px 0}
.request-info-intro{font:400 14px/1.65 Inter,Arial,sans-serif;color:#59616c;margin:0 0 23px}
.request-info-form{display:grid;gap:16px;max-width:100%;color:#141b2c}
.request-info-field{display:flex;flex-direction:column;gap:7px}
.request-info-field label{font:750 12px/1.45 Inter,Arial,sans-serif;color:#202b3d}
.request-info-field label span:not(.request-info-optional){color:#9f752e}
.request-info-field .request-info-optional{font-weight:500;color:#727b81;font-size:11px;margin-left:5px}
.request-info-field input,.request-info-field textarea{box-sizing:border-box;display:block;width:100%;max-width:100%;background:#faf9f6;color:#141b2c;border:1px solid #dcdedb;border-radius:9px;padding:12px 13px;outline:0;font:400 14px/1.5 Inter,Arial,sans-serif;letter-spacing:normal;box-shadow:none}
.request-info-field input:focus,.request-info-field textarea:focus{border-color:#087991;box-shadow:0 0 0 3px rgba(8,121,145,.13)}
.request-info-field input::placeholder,.request-info-field textarea::placeholder{color:#8a9094}
.request-info-field textarea{resize:vertical;min-height:86px}
.request-info-honeypot{position:absolute!important;left:-99999px!important;height:1px!important;width:1px!important;overflow:hidden!important}
.request-info-submit,.request-info-done{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:10px;background:#141b2c;color:white;padding:14px 18px;cursor:pointer;font:750 14px/1.25 Inter,Arial,sans-serif;text-transform:none;box-shadow:none;text-decoration:none;min-height:48px}
.request-info-submit:hover,.request-info-done:hover{background:#29364a;color:#fff}
.request-info-submit:disabled{opacity:.65;cursor:wait}
.request-info-submit:focus-visible,.request-info-done:focus-visible,.request-info-modal-close:focus-visible{outline:3px solid #087991;outline-offset:3px}
.request-info-fine-print{font:400 11px/1.5 Inter,Arial,sans-serif;text-align:center;color:#7a8086;margin:-5px 0 0}
.request-info-fine-print a{color:#505b67;text-decoration:underline}
.request-info-form-error{font:600 13px/1.5 Inter,Arial,sans-serif;color:#a32c2c;background:#fff0ed;padding:10px;border-radius:7px;margin:0}
.request-info-form-error[hidden],.request-info-success[hidden],.request-info-form-state[hidden]{display:none!important}
.request-info-success{text-align:center;padding:30px 8px 24px}
.request-info-success-icon{display:inline-grid;place-items:center;background:#e1f3e9;color:#257b51;width:53px;height:53px;border-radius:50%;font:700 26px/1 Inter,Arial,sans-serif}
.request-info-success h2{margin:18px 0 11px}
.request-info-success p{font:400 15px/1.65 Inter,Arial,sans-serif;color:#59616c;margin:0 0 22px}
.request-info-standalone{background:#f6f4ef;min-height:65vh;padding:70px 22px}
.request-info-page-card{box-sizing:border-box;max-width:600px;margin:auto;background:#fff;border:1px solid #e5e0d5;border-radius:18px;padding:34px;box-shadow:0 12px 34px rgba(20,27,44,.07)}
.request-info-standalone .request-info-form{gap:18px}
.request-info-received{text-align:center;max-width:660px;margin:auto;padding:100px 22px;min-height:53vh}
.request-info-received p{font:400 17px/1.7 Inter,Arial,sans-serif;color:#59616c}
.request-info-received a{display:inline-flex;background:#d3a23f;color:#141b2c;border-radius:9px;padding:13px 19px;margin-top:15px;font-weight:750;text-decoration:none}
@media(max-width:600px){.request-info-modal{max-height:calc(100dvh - 16px);width:calc(100vw - 16px);border-radius:12px}.request-info-modal-header{padding:13px 18px 0}.request-info-modal-body{padding:4px 21px 23px}.request-info-page-card{padding:24px}.request-info-standalone{padding:38px 16px}}
