/* AsiaGuide visual identity, brandbook 1.0 (22 September 2026).
   Original logo artwork. Local Montserrat / PT Sans. Shared by every page. */
:root {
  --navy:#062b59;
  --teal:#1ca9c9;
  --teal-dark:#1d7a91;
  --sunrise:#e37c18;
  --orange:#ff7a1a;
  --valley:#79ad2f;
  --success:#8fbe3f;
  --mint:#b8e4ec;
  --warm:#f8f6f2;
  --ink:#1e1e1e;
  --muted:#586b79;
  --paper:var(--warm);
  --accent:var(--mint);
  --line:#e4e4e4;
  --green:var(--teal-dark);
  --soft:#edf7f8;
  --heading-font:"Montserrat",Arial,sans-serif;
  --body-font:"PT Sans",Arial,sans-serif;
  font-family:var(--body-font);
  color:var(--ink);
  background:var(--paper);
}
body,.catalog-page {font-family:var(--body-font);color:var(--ink);background:var(--paper);font-size:15px;line-height:1.55}
button,input,select,textarea {font-family:inherit}
h1,h2,h3,h4,.price,.stay-card-bottom strong,.ag-metric strong,.ag-trip-price,.fp-price {font-family:var(--heading-font);color:var(--navy);letter-spacing:-.035em}
h1,h2 {font-weight:700}
h3,h4 {font-weight:600}
button,.ag-topnav,.ag-mobile-explore,.ag-sidebar nav,.ag-button,.bk-button,.primary,.secondary,.chip,.stay-type-nav,.section-tag,.eyebrow,.ag-overline,.stay-eyebrow,.collection-kicker,.collection-tabs,.ag-tabs {font-family:var(--heading-font)}
.section-tag,.ag-overline,.stay-eyebrow {color:var(--teal-dark);font-weight:700;letter-spacing:.12em}
a,button {transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s}
:is(a,button,input,select,textarea,summary):focus-visible {outline:3px solid var(--teal-dark);outline-offset:4px}
::selection {background:var(--mint);color:var(--navy)}
input[type=checkbox],input[type=radio],input[type=range] {accent-color:var(--teal-dark)}

/* Logo clear space is provided by the link, with no reconstructed lettering. */
.ag-header {height:92px;padding-inline:var(--gutter);gap:28px;border-bottom:1px solid var(--line);box-shadow:none}
.ag-brand {padding:12px;flex-shrink:0;margin-left:-12px;min-width:164px}
.ag-brand .ag-brand-logo {width:140px;height:auto;object-fit:contain}
.ag-topnav {margin-left:8px;gap:24px;font-size:12px;line-height:1.45;color:var(--navy)}
.ag-topnav a {padding-block:12px;border-bottom:2px solid transparent}
.ag-topnav a:hover {color:var(--teal-dark);border-bottom-color:var(--sunrise)}
.ag-account {color:var(--navy)}
.ag-avatar {background:var(--soft);color:var(--teal-dark);border:1px solid #d4eaee}
.ag-icon-button {color:var(--navy)}
.ag-mobile-explore {background:white;border-bottom:1px solid var(--line)}
.ag-mobile-explore a {color:var(--navy);font-size:11px;font-weight:600}
.ag-mobile-explore a:hover {color:var(--teal-dark)}

/* Main actions use orange with navy lettering for readable contrast. */
.primary,.bk-button,.ag-button,.form-wide,.catalog-search .primary,.travel-strip .primary,.support-dialog .primary {background:var(--orange);border-color:var(--orange);color:var(--navy);border-radius:10px;font-weight:700;box-shadow:none}
.primary:hover,.bk-button:hover,.ag-button:hover,.form-wide:hover,.catalog-search .primary:hover,.travel-strip .primary:hover,.support-dialog .primary:hover {background:#ff963f;border-color:#ff963f;color:var(--navy);box-shadow:0 4px 14px #062b5910}
.ag-secondary,.bk-secondary,.secondary {background:white;border:1px solid var(--teal-dark);color:var(--teal-dark);border-radius:10px}
.ag-secondary:hover,.bk-secondary:hover,.secondary:hover {background:var(--soft);border-color:var(--teal-dark);color:var(--navy)}
.ag-button:disabled,.primary:disabled,.bk-button:disabled {opacity:.55;box-shadow:none;cursor:not-allowed}
.bk-danger,.ag-danger {background:#b33737;border-color:#b33737;color:white}
.bk-danger:hover,.ag-danger:hover {background:#932727;border-color:#932727;color:white}
.chip[aria-pressed=true],.stay-type-nav a[aria-current=page],.bk-filters a[aria-current],.collection-tabs a[aria-current] {background:var(--navy);border-color:var(--navy);color:white}
.chip:not([aria-pressed=true]):hover,.stay-type-nav a:hover {background:var(--soft);border-color:var(--teal-dark);color:var(--navy)}
.text-link,.stay-demo-note a,.stay-crumbs a,.ag-roster-link {color:var(--teal-dark);font-weight:600}
.text-link:hover {color:var(--navy)}
.heart[aria-pressed=true] {background:var(--orange);color:var(--navy)}
.heart[aria-pressed=true] svg {fill:var(--navy)}
.saved-count {background:var(--orange);color:var(--navy)}

/* Photography stays central; navy overlays echo the brandbook. */
.home-page .hero {border-radius:22px;min-height:530px;margin-top:24px;background:var(--navy)}
.hero:after {background:linear-gradient(90deg,#062b59dc 0%,#062b5966 58%,#062b5910 100%)}
.hero .hero-content {padding-block:72px 105px}
.home-page .hero h1 {font-family:var(--heading-font);font-weight:700;font-size:clamp(38px,4.8vw,72px);line-height:1.12;letter-spacing:-.05em;color:white}
.hero h1 span {color:#ffac57}
.hero-note {font-size:19px;color:#f8f6f2;line-height:1.6}
.eyebrow:before {background:var(--orange);width:8px;height:8px}
.hero .eyebrow,.hero-bottom,.collection-hero .eyebrow,.collection-hero-copy>p:not(.eyebrow) {color:var(--warm)}
.home-page .search-wrap {border-radius:0 0 20px 20px;box-shadow:0 10px 25px #062b5906}
.collection-hero {background:var(--navy);border-radius:22px}
.collection-hero:after {background:linear-gradient(100deg,#062b59e0,#062b5960)}
.collection-hero h1 {color:white;font-weight:700;line-height:1.16}
.collection-card:after {background:linear-gradient(0deg,#062b59e8,transparent 92%)}
.collection-copy strong {font-family:var(--heading-font);font-weight:600;letter-spacing:-.035em}
.collection-copy>span {color:var(--warm)}
.auth-visual:after {background:linear-gradient(0deg,#062b59ed,#062b5914 88%)}
.auth-caption .section-tag {color:var(--mint)}
.auth-caption h2,.auth-layout .auth-caption h2 {color:white;font-weight:700;line-height:1.15}

.tour,.stay-card,.account-card,.bk-card,.ag-card,.ag-tour-card,.stay-panel,.saved-card,.trip-card {border-color:var(--line);box-shadow:0 3px 16px #062b5904}
.home-page .tour,.catalog-page .tour,.stay-card {border-radius:16px}
.home-page .tour .photo,.catalog-page .tour .photo {border-radius:15px 15px 0 0}
.home-page .tour h3,.catalog-page .tour h3,.stay-card h3,.saved-card h3 {line-height:1.4;letter-spacing:-.025em;font-weight:600}
.stay-card h3 a,.stay-card-bottom strong,.price,.fp-main .fp-price {color:var(--navy)}
.stay-card-badge,.badge {color:var(--navy);border-radius:6px}
.stay-arrow {background:var(--soft);color:var(--teal-dark)}
.inspiration {background:#edf7f8}
.inspiration h2,.section-head h2 {font-weight:700}
.travel-benefits {background:var(--warm)}
.benefit-icon {color:var(--teal-dark)}
.travel-strip,.stay-host-strip {background:var(--navy);color:var(--warm)}
.travel-strip h2,.stay-host-strip h2 {color:white}
.travel-strip .section-tag,.stay-host-strip .stay-eyebrow {color:var(--mint)}
.stay-host-strip p {color:#d4e7ef}
.stay-intro h1 {font-weight:700;letter-spacing:-.05em;line-height:1.12}
.stay-intro h1 em {color:var(--teal-dark)}
.stay-intro-stamp {background:var(--orange);color:var(--navy)}
.stay-step-number {color:var(--teal-dark)}
.stay-search {box-shadow:0 7px 28px #062b5906;border-color:var(--line)}
.stay-field,.bk-field,.form-label {color:var(--navy)}
.stay-field input,.stay-field select,.stay-field textarea,.form-input,.bk-field input,.bk-field select,.bk-field textarea {background:white;border-color:#c8d5dc;color:var(--ink);border-radius:9px}
.stay-field input:focus,.stay-field select:focus,.stay-field textarea:focus,.form-input:focus {outline-color:var(--teal-dark);border-color:var(--teal-dark)}
.stay-notice {background:var(--soft);border-color:var(--mint);color:var(--navy)}
.stay-error,.notice:not(.success) {background:#fff1ef;border-color:#eebfbb;color:#a52e2e}
.notice.success,.bk-notice.success {background:#f1f7e8;border-color:#c4dba0;color:#355710}
.stay-status-confirmed,.stay-status-checked_in,.stay-status-completed {background:#f1f7e8;color:#355710}
.stay-status-requested {background:#fff0db;color:#7c4b13}
.stay-status-cancelled,.stay-status-declined,.stay-status-expired {background:#f4eae9;color:#8b423c}

/* Traveller, organizer and accommodation workspaces use the same tokens. */
.ag-sidebar {background:#fff;top:92px;border-right-color:var(--line)}
.ag-sidebar-label {color:var(--muted);font-weight:600}
.ag-sidebar nav a,.ag-sidebar nav button {color:#526577;font-size:12px;line-height:1.55}
.ag-sidebar nav [aria-current] {background:var(--navy);color:white}
.ag-sidebar nav a:hover,.ag-sidebar nav button:hover {background:var(--soft);color:var(--navy)}
.ag-sidebar-promo {background:var(--navy);color:white;border-radius:14px;padding:20px 16px}
.ag-sidebar-promo strong {font-family:var(--heading-font);font-size:13px}
.ag-sidebar-promo p {color:#d3e4ec}
.ag-sidebar-promo .ag-secondary {background:var(--orange);color:var(--navy);border-color:var(--orange)}
.ag-brand-mark {display:block;width:30px;height:auto;object-fit:contain;margin:0 0 14px}
.ag-tour-meta>span>svg,.ag-metric>svg {color:var(--teal-dark);background:var(--soft)}
.ag-tabs a[aria-current] {color:var(--teal-dark);border-color:var(--teal-dark)}
.ag-progress>span {background:var(--teal)}
.ag-prep-row,.ag-voucher-icon,.ag-metric>svg {background:var(--soft);color:var(--teal-dark)}
.ag-completed-card {background:linear-gradient(145deg,#f1f7e8,var(--warm))}
.ag-completed-card h2,.ag-completed-card>svg {color:#355710}
.ag-completed-card>svg {background:#e8f2d8}
.ag-checklist .done,.ag-checklist .done svg {color:#476c1c}
.ag-stars {color:var(--sunrise)}
.ag-table th {background:var(--soft);color:#526577}
.ag-table td {border-bottom-color:var(--line)}
.ag-metric.ag-amber>svg {color:#8b4a0c;background:#fff0dc}
.active-tripbar {color:var(--navy);border-color:var(--mint)}
.active-tripbar small {color:var(--muted)}

.site-footer,.booking-page:not(.ag-workspace) .site-footer {background:var(--navy);color:var(--warm);border:0}
.footer-about .logo {padding:16px;margin:-16px -16px 0;display:inline-flex}
.ag-footer-logo {display:block;width:185px;height:auto;object-fit:contain}
.footer-about p,.footer-region,.footer-column a,.footer-column button,.footer-bottom,.footer-bottom p,.footer-bottom>a {color:#d6e5ec}
.footer-column h2,.footer-column h3 {color:white;font-family:var(--heading-font)}
.footer-column .footer-phone {color:white;font-family:var(--heading-font);font-size:18px}
.footer-column a:hover,.footer-column button:hover,.footer-bottom a:hover {color:#ffac57}
.footer-column .footer-chat-link {color:var(--mint);border-color:#517292}
.social-links a,.social-links button {border-color:#446384;color:#e6f1f5}
.contact-pending small,.social-links small {color:#b0c8d6}
.footer-bottom {border-top-color:#315477}
.ag-workspace .site-footer {padding-top:12px}
.support-launcher {background:var(--navy);border-color:#54789b;color:white;box-shadow:0 6px 22px #062b5926;font-family:var(--heading-font)}
.support-launcher:hover {background:var(--teal-dark)}
.support-head {background:var(--navy)}
.support-head h2 {color:white;font-family:var(--heading-font);font-size:14px}
.support-head p {color:var(--mint)}
.support-avatar {background:var(--warm);width:42px;height:48px;border-radius:10px;flex-shrink:0}
.support-avatar img {width:22px;height:auto;object-fit:contain}
.support-dialog {background:var(--warm)}
.support-bubble-client {background:#e0f1f5;border-color:var(--mint)}
.support-date,.support-dialog [role=status] {color:var(--muted)}

.ag-error-page {margin:0;min-height:100vh;display:grid;place-items:center;padding:28px;box-sizing:border-box;background:var(--warm)}
.ag-error-page main {max-width:600px;background:white;border:1px solid var(--line);border-radius:20px;padding:40px}
.ag-error-page .ag-brand-logo {width:170px;height:auto;display:block;margin:0 0 36px}
.ag-error-page h1 {font-size:32px}
.ag-error-page .ag-button {display:inline-block;padding:12px 22px;text-decoration:none;margin-top:20px}
.ag-print-brand {display:none}

@media(min-width:1600px) {.ag-topnav{gap:32px}}
@media(max-width:1190px) {.ag-header{padding-inline:22px;gap:18px}.ag-topnav{margin-left:0;gap:18px}.ag-topnav a:last-child{display:none}}
@media(max-width:980px) {.ag-topnav{gap:14px;font-size:11px}.ag-header-actions{gap:7px}.ag-topnav a:nth-child(3){display:none}}
@media(max-width:800px) {
  .ag-header{height:80px;padding-inline:17px;gap:10px}
  .ag-brand{min-width:144px;padding:10px;margin-left:-10px}
  .ag-brand .ag-brand-logo{width:124px}
  .ag-topnav{display:none}
  .ag-sidebar{top:80px}
  .ag-sidebar-scrim{inset-block-start:80px}
  .ag-menu{padding:8px}
  .ag-account>span:nth-child(2),.ag-account>span:last-child{display:none}
  .ag-header-actions>.ag-icon-button:first-child{display:none}
  .stay-intro h1{font-size:42px}
}
@media(max-width:620px) {
  .ag-header{padding-inline:14px}
  .home-page .hero{margin:14px 14px 0;border-radius:16px;min-height:425px}
  .hero .hero-content{padding:42px 24px 94px}
  .home-page .hero h1{font-size:clamp(30px,7.6vw,44px);line-height:1.17;letter-spacing:-.045em;overflow-wrap:normal}
  .hero .eyebrow{font-size:9px;letter-spacing:.1em;line-height:1.5}
  .hero-note{font-size:16px;max-width:260px}
  .home-page .search-wrap{border-radius:0 0 15px 15px}
  .section-head h2,.inspiration h2{font-size:25px;line-height:1.25;letter-spacing:-.04em}
  .home-page .tour h3,.catalog-page .tour h3{font-size:15px}
  .tour-body{overflow-wrap:anywhere}
  .stay-intro h1{font-size:38px;letter-spacing:-.045em}
  .stay-page-heading h1,.account-main h1,.tour-editor h1{font-size:28px!important;line-height:1.22}
  .ag-footer-logo{width:168px}
  .form-input,.stay-field input,.stay-field select,.stay-field textarea{font-size:16px}
  .collection-hero h1{font-size:30px;line-height:1.18}
  .collection-copy strong{font-size:25px}
}
@media(prefers-reduced-motion:reduce) {html{scroll-behavior:auto}a,button,.tour img,.stay-card{transition:none}}
@media print {
  body{background:white}
  .ag-card,.ag-tour-card,.stay-panel{box-shadow:none}
  .ag-mobile-explore{display:none!important}
  .ag-print-brand{display:block;margin:0 0 20px;padding-bottom:16px;border-bottom:2px solid #1ca9c9}
  .ag-print-brand img{display:block;width:140px;height:auto;object-fit:contain}
}
