/* =========================================
   VOYARA - GLOBAL STYLES
========================================= */

:root {
    --navy: #183d35;
    --navy-dark: #102d27;
    --teal: #315f50;
    --teal-dark: #24483d;
    --teal-light: #e4ebe2;

    --cream: #f4efe5;
    --cream-dark: #e8e1d4;
    --white: #ffffff;

    --gold: #c47d51;
    --gold-light: #f1e1d4;

    --text: #203b32;
    --muted: #718078;
    --border: #dce2d8;

    --shadow-sm: 0 5px 18px rgba(20, 54, 63, 0.06);
    --shadow-md: 0 12px 30px rgba(20, 54, 63, 0.10);
    --shadow-lg: 0 20px 50px rgba(20, 54, 63, 0.14);

    --radius-sm: 10px;
    --radius-md: 16px;
    --radius-lg: 24px;
    --radius-xl: 32px;
}

/* =========================================
   RESET
========================================= */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    background: var(--cream);
    color: var(--text);
    font-family: "DM Sans", sans-serif;
    font-size: 15px;
    line-height: 1.6;
}

button,
input,
textarea,
select {
    font: inherit;
}

button {
    cursor: pointer;
}

button,
input,
textarea,
select {
    outline: none;
}

button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 3px solid rgba(13, 98, 91, 0.25);
    outline-offset: 2px;
}

a {
    color: inherit;
    text-decoration: none;
}

.hidden {
    display: none !important;
}

/* =========================================
   TYPOGRAPHY
========================================= */

h1,
h2,
h3,
h4 {
    color: var(--text);
    line-height: 1.2;
}

h1,
h2,
h3 {
    font-family: "Playfair Display", Georgia, serif;
}

p {
    color: var(--muted);
}

.eyebrow {
    display: inline-block;
    color: var(--teal);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.8px;
    line-height: 1.4;
    text-transform: uppercase;
}

/* =========================================
   BUTTONS
========================================= */

.primary-button,
.secondary-button,
.text-button,
.google-button,
.new-journey-button {
    border: 0;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background 0.2s ease;
}

.primary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    min-height: 48px;
    padding: 12px 21px;
    border-radius: 12px;
    background: var(--teal);
    color: var(--white);
    font-weight: 700;
}

.primary-button:hover {
    background: var(--teal-dark);
    box-shadow: 0 8px 18px rgba(13, 98, 91, 0.20);
    transform: translateY(-2px);
}

.primary-button span {
    font-size: 18px;
}

.secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    padding: 10px 17px;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: var(--white);
    color: var(--text);
    font-weight: 700;
}

.secondary-button:hover {
    border-color: var(--teal);
    color: var(--teal);
    transform: translateY(-2px);
}

.text-button {
    background: transparent;
    color: var(--teal);
    font-size: 13px;
    font-weight: 700;
}

.text-button:hover {
    color: var(--teal-dark);
}

.full-width {
    width: 100%;
}

/* =========================================
   WELCOME SCREEN
========================================= */

.welcome-screen {
    position: relative;
    display: flex;
    min-height: 100vh;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 30px;
    background:
        radial-gradient(circle at 10% 20%, rgba(245, 185, 87, 0.18), transparent 28%),
        radial-gradient(circle at 90% 80%, rgba(13, 98, 91, 0.15), transparent 30%),
        var(--cream);
}

.welcome-background-shape {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.shape-one {
    top: -170px;
    right: -130px;
    width: 430px;
    height: 430px;
    background: var(--teal-light);
}

.shape-two {
    bottom: -220px;
    left: -160px;
    width: 500px;
    height: 500px;
    background: var(--gold-light);
}

.welcome-card {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    width: min(900px, 100%);
    min-height: 570px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 30px;
    background: var(--white);
    box-shadow: var(--shadow-lg);
}

.brand {
    display: flex;
    align-items: center;
    gap: 13px;
}

.brand-mark {
    display: flex;
    width: 52px;
    height: 52px;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 17px;
    background: var(--teal);
    color: var(--white);
    font-size: 29px;
}

.brand h1 {
    color: var(--text);
    font-family: "Playfair Display", Georgia, serif;
    font-size: 27px;
    font-weight: 800;
    letter-spacing: -1px;
}

.brand p {
    margin-top: -3px;
    font-size: 11px;
}

.welcome-card::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 42%;
    background:
        linear-gradient(rgba(8, 40, 49, 0.92), rgba(8, 40, 49, 0.92)),
        radial-gradient(circle at 30% 30%, #21766d, transparent 45%);
}

.welcome-card .brand-centered {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 12px;
    padding: 55px;
}

.welcome-card .brand-centered .brand-mark {
    width: 65px;
    height: 65px;
    background: var(--gold);
    color: var(--navy);
    font-size: 34px;
}

.welcome-card .brand-centered h1 {
    color: var(--white);
    font-size: 45px;
}

.welcome-card .brand-centered p {
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
}

.welcome-content {
    position: relative;
    z-index: 2;
    grid-column: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 60px;
}

.welcome-content h2 {
    margin: 18px 0;
    font-size: clamp(34px, 4vw, 48px);
    letter-spacing: -1.5px;
}

.welcome-content h2 span {
    color: var(--teal);
}

.welcome-content > p {
    max-width: 370px;
    margin-bottom: 28px;
    font-size: 14px;
}

.name-form {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.name-form label {
    color: var(--text);
    font-size: 12px;
    font-weight: 700;
}

.name-form input {
    width: 100%;
    height: 48px;
    padding: 0 15px;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: var(--cream);
    color: var(--text);
}

.name-form input:focus {
    border-color: var(--teal);
}

.name-form .primary-button {
    margin-top: 8px;
}

.welcome-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 19px 0;
    color: var(--muted);
    font-size: 12px;
}

.welcome-divider::before,
.welcome-divider::after {
    content: "";
    height: 1px;
    flex: 1;
    background: var(--border);
}

.google-button {
    display: flex;
    width: 100%;
    height: 46px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: var(--white);
    color: var(--text);
    font-size: 13px;
    font-weight: 700;
}

.google-button:hover {
    background: var(--cream);
}

.google-icon {
    font-weight: 800;
    font-size: 18px;
}

.welcome-note {
    margin-top: 20px;
    text-align: center;
    font-size: 11px !important;
}

.welcome-footer {
    position: absolute;
    bottom: 18px;
    left: 0;
    width: 100%;
    text-align: center;
    color: var(--muted);
    font-size: 11px;
}

.welcome-footer span {
    color: var(--teal);
    margin-right: 5px;
}

/* =========================================
   APP LAYOUT
========================================= */

.app-layout {
    display: flex;
    min-height: 100vh;
    background: var(--cream);
}

.sidebar {
    position: fixed;
    z-index: 20;
    top: 0;
    bottom: 0;
    left: 0;
    display: flex;
    width: 285px;
    flex-direction: column;
    padding: 35px 22px 22px;
    overflow-y: auto;
    background: var(--navy);
    color: var(--white);
}

.sidebar-brand {
    gap: 12px;
    margin: 0 10px 52px;
}

.sidebar-brand .brand-mark {
    width: 54px;
    height: 54px;
    background: var(--teal);
    color: var(--white);
}

.sidebar-brand h1 {
    color: var(--white);
    font-size: 34px;
    letter-spacing: -1px;
}

.sidebar-brand p {
    max-width: 130px;
    margin-top: 3px;
    color: rgba(255, 255, 255, 0.78);
    font-family: "Playfair Display", Georgia, serif;
    font-size: 16px;
    font-weight: 700;
}

.new-journey-button {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 9px;
    height: 55px;
    border-radius: 15px;
    background: var(--gold);
    color: var(--navy);
    font-weight: 800;
}

.new-journey-button:hover {
    background: #ffc86c;
    transform: translateY(-2px);
}

.new-journey-icon {
    font-size: 21px;
}

.sidebar-section {
    margin-top: 38px;
}

.sidebar-label {
    margin: 0 10px 14px;
    color: rgba(255, 255, 255, 0.54);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.sidebar-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.sidebar-count {
    margin-right: 10px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
}

.current-journey-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 0 10px;
}

.current-journey-icon {
    color: var(--gold);
    font-size: 18px;
}

.current-journey-info {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}

.current-journey-info strong {
    color: var(--white);
    font-size: 14px;
}

.current-journey-info span {
    color: rgba(255, 255, 255, 0.62);
    font-size: 12px;
    line-height: 1.5;
}

.saved-journeys-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.empty-sidebar-state {
    display: flex;
    min-height: 84px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: 1px dashed rgba(255, 255, 255, 0.35);
    border-radius: 17px;
    background: rgba(255, 255, 255, 0.08);
    text-align: center;
}

.empty-sidebar-state span {
    color: rgba(255, 255, 255, 0.6);
    font-size: 20px;
}

.empty-sidebar-state p {
    padding: 0 10px;
    color: rgba(255, 255, 255, 0.45);
    font-size: 12px;
}

.saved-trip-sidebar-item {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: var(--white);
    text-align: left;
}

.saved-trip-sidebar-item:hover {
    background: rgba(255, 255, 255, 0.09);
}

.saved-trip-sidebar-item .trip-mini-icon {
    display: flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: rgba(245, 185, 87, 0.16);
    color: var(--gold);
}

.saved-trip-sidebar-item strong {
    display: block;
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.saved-trip-sidebar-item span {
    display: block;
    color: rgba(255, 255, 255, 0.5);
    font-size: 10px;
}

.sidebar-bottom {
    margin-top: auto;
}

.sidebar-tip {
    display: flex;
    gap: 10px;
    padding: 15px 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.tip-icon {
    color: var(--gold);
}

.sidebar-tip strong {
    display: block;
    color: var(--white);
    font-size: 12px;
}

.sidebar-tip p {
    margin-top: 5px;
    color: rgba(255, 255, 255, 0.62);
    font-size: 11px;
    line-height: 1.6;
}

.sidebar-copyright {
    margin: 18px 10px 0;
    color: rgba(255, 255, 255, 0.4);
    font-size: 11px;
}

/* =========================================
   MAIN CONTENT AND TOPBAR
========================================= */

.main-content {
    width: calc(100% - 285px);
    min-width: 0;
    min-height: 100vh;
    margin-left: 285px;
}

.topbar {
    position: sticky;
    z-index: 10;
    top: 0;
    display: flex;
    height: 100px;
    align-items: center;
    justify-content: space-between;
    padding: 0 42px;
    border-bottom: 1px solid var(--border);
    background: rgba(248, 245, 238, 0.94);
    backdrop-filter: blur(12px);
}

.main-nav {
    display: flex;
    align-items: center;
    gap: 8px;
}

.nav-link {
    position: relative;
    border: 0;
    padding: 11px 14px;
    border-radius: 9px;
    background: transparent;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.nav-link:hover {
    background: var(--cream-dark);
    color: var(--text);
}

.nav-link.active {
    background: var(--teal-light);
    color: var(--teal);
}

.topbar-actions {
    position: relative;
}

.profile-button {
    display: flex;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: var(--teal);
    color: var(--white);
    font-size: 16px;
    font-weight: 800;
}

.profile-button:hover {
    background: var(--teal-dark);
}

.profile-menu {
    position: absolute;
    top: 55px;
    right: 0;
    width: 220px;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: var(--white);
    box-shadow: var(--shadow-md);
}

.profile-menu-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 5px;
}

.profile-menu-avatar {
    display: flex;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--teal-light);
    color: var(--teal);
    font-weight: 800;
}

.profile-menu-header strong {
    display: block;
    font-size: 13px;
}

.profile-menu-header span {
    display: block;
    color: var(--muted);
    font-size: 10px;
}

.profile-menu-divider {
    height: 1px;
    margin: 10px 0;
    background: var(--border);
}

.profile-menu > button {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 10px;
    padding: 10px 8px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--text);
    font-size: 12px;
    text-align: left;
}

.profile-menu > button:hover {
    background: var(--cream);
}

.profile-menu > button span {
    color: var(--teal);
}

/* =========================================
   PAGE SECTIONS
========================================= */

.page-section {
    display: none;
    padding: 48px 42px 70px;
}

.page-section.active-section {
    display: block;
}

.section-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 38px;
}

.section-page-header h2 {
    margin-top: 10px;
    font-size: clamp(32px, 4vw, 48px);
    letter-spacing: -1px;
}

.section-page-header p {
    margin-top: 10px;
    font-size: 14px;
}

.section-header-decoration {
    display: flex;
    width: 60px;
    height: 60px;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: var(--gold-light);
    color: var(--gold);
    font-size: 27px;
}

.section-heading-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.section-heading-row h3 {
    margin-top: 8px;
    font-size: 25px;
    letter-spacing: -0.5px;
}

.recent-heading {
    margin-top: 48px;
}

/* =========================================
   HOME HERO
========================================= */

.home-hero {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    min-height: 355px;
    align-items: center;
    gap: 35px;
    margin-bottom: 30px;
}

.home-hero-copy h2 {
    max-width: 600px;
    margin: 14px 0 17px;
    font-size: clamp(35px, 4vw, 52px);
    letter-spacing: -1.5px;
}

.home-hero-copy h2 span {
    color: var(--teal);
}

.home-hero-copy p {
    max-width: 530px;
    margin-bottom: 26px;
    font-size: 15px;
}

.home-hero-art {
    position: relative;
    min-height: 330px;
    overflow: hidden;
    border-radius: 28px;
    background:
        linear-gradient(145deg, rgba(225, 240, 235, 0.8), rgba(255, 241, 210, 0.85)),
        var(--teal-light);
}

.sun-circle {
    position: absolute;
    top: 40px;
    right: 65px;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 0 15px rgba(245, 185, 87, 0.15);
}

.mountain {
    position: absolute;
    bottom: -10px;
    width: 0;
    height: 0;
    border-right: 180px solid transparent;
    border-bottom: 210px solid var(--teal);
    border-left: 180px solid transparent;
}

.mountain-back {
    right: -30px;
    opacity: 0.35;
    transform: scale(1.2);
    transform-origin: bottom right;
}

.mountain-front {
    left: -55px;
    border-bottom-color: var(--teal-dark);
    transform: scale(1.15);
    transform-origin: bottom left;
}

.hero-plane {
    position: absolute;
    top: 92px;
    left: 50%;
    color: var(--white);
    font-size: 33px;
    transform: rotate(-15deg);
}

.hero-floating-card {
    position: absolute;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 220px;
    padding: 13px 15px;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: var(--shadow-md);
}

.floating-card-top {
    top: 28px;
    left: 24px;
}

.floating-card-bottom {
    right: 22px;
    bottom: 25px;
}

.floating-card-icon {
    display: flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 9px;
    background: var(--gold-light);
    color: var(--teal);
}

.hero-floating-card strong {
    display: block;
    color: var(--text);
    font-size: 11px;
}

.hero-floating-card small {
    display: block;
    color: var(--muted);
    font-size: 9px;
    line-height: 1.4;
}

/* =========================================
   HOME STATS
========================================= */

.home-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 17px;
    margin-bottom: 45px;
}

.home-stat-card {
    display: flex;
    align-items: center;
    gap: 15px;
    min-height: 108px;
    padding: 20px 22px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--white);
    box-shadow: var(--shadow-sm);
}

.home-stat-icon {
    display: flex;
    width: 50px;
    height: 50px;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 15px;
    background: var(--cream-dark);
    color: var(--teal);
    font-size: 22px;
}

.home-stat-card strong {
    display: block;
    color: var(--text);
    font-size: 25px;
    line-height: 1.1;
}

.home-stat-card span {
    display: block;
    margin-top: 5px;
    color: var(--muted);
    font-size: 12px;
}

/* =========================================
   HOME FEATURE CARDS
========================================= */

.home-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.feature-card {
    display: flex;
    min-height: 220px;
    flex-direction: column;
    align-items: flex-start;
    padding: 22px;
    border: 1px solid var(--border);
    border-radius: 19px;
    background: var(--white);
    color: var(--text);
    text-align: left;
    box-shadow: var(--shadow-sm);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

.feature-card:hover {
    border-color: rgba(13, 98, 91, 0.35);
    box-shadow: var(--shadow-md);
    transform: translateY(-5px);
}

.feature-card-icon {
    display: flex;
    width: 45px;
    height: 45px;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
    border-radius: 13px;
    background: var(--teal-light);
    color: var(--teal);
    font-size: 21px;
}

.feature-card h4 {
    margin-bottom: 9px;
    font-family: "DM Sans", sans-serif;
    font-size: 15px;
}

.feature-card p {
    font-size: 12px;
    line-height: 1.6;
}

.feature-card-link {
    margin-top: auto;
    padding-top: 17px;
    color: var(--teal);
    font-size: 11px;
    font-weight: 800;
}

.feature-card-explore .feature-card-icon {
    background: #fff0d2;
    color: #c7881e;
}

.feature-card-recommendations .feature-card-icon {
    background: #e9e1f6;
    color: #7452a7;
}

.feature-card-scrapbook .feature-card-icon {
    background: #f7e2e0;
    color: #b66a62;
}

/* =========================================
   RECENT TRIP
========================================= */

.home-recent-trip {
    min-height: 150px;
}

.home-recent-empty {
    display: flex;
    min-height: 165px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 25px;
    border: 1px dashed #cbd6d0;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.55);
    text-align: center;
}

.empty-state-icon {
    display: flex;
    width: 43px;
    height: 43px;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    border-radius: 13px;
    background: var(--teal-light);
    color: var(--teal);
    font-size: 21px;
}

.home-recent-empty h4 {
    margin-bottom: 5px;
    font-family: "DM Sans", sans-serif;
    font-size: 14px;
}

.home-recent-empty p {
    margin-bottom: 15px;
    font-size: 12px;
}

/* =========================================
   FORMS
========================================= */

.planner-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.6fr);
    align-items: start;
    gap: 25px;
}

.planner-form-card {
    padding: 32px;
    border: 1px solid var(--border);
    border-radius: 23px;
    background: var(--white);
    box-shadow: var(--shadow-sm);
}

.form-section-title {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-bottom: 25px;
}

.form-number {
    color: var(--gold);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
}

.form-section-title h3 {
    font-family: "DM Sans", sans-serif;
    font-size: 17px;
}

.form-section-title p {
    margin-top: 4px;
    font-size: 12px;
}

.form-section-spacing {
    margin-top: 35px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 19px;
}

.form-group label {
    color: var(--text);
    font-size: 12px;
    font-weight: 800;
}

.form-group input,
.form-group select,
.form-group textarea,
.explore-search-bar input,
.modify-trip-box input {
    width: 100%;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: var(--cream);
    color: var(--text);
    font-size: 13px;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.form-group input,
.form-group select {
    height: 47px;
    padding: 0 13px;
}

.form-group textarea {
    min-height: 105px;
    padding: 13px;
    resize: vertical;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus,
.explore-search-bar input:focus,
.modify-trip-box input:focus {
    border-color: var(--teal);
    background: var(--white);
}

.input-with-icon {
    position: relative;
}

.input-with-icon > span {
    position: absolute;
    top: 50%;
    left: 14px;
    color: var(--teal);
    font-weight: 800;
    transform: translateY(-50%);
}

.input-with-icon input {
    padding-left: 34px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.quick-suggestions {
    margin: 25px 0;
}

.quick-suggestions-label {
    display: block;
    margin-bottom: 10px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
}

.suggestion-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.suggestion-chip {
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 30px;
    background: var(--white);
    color: var(--muted);
    font-size: 11px;
}

.suggestion-chip:hover {
    border-color: var(--teal);
    color: var(--teal);
}

.planner-submit-button {
    width: 100%;
    margin-top: 8px;
}

.planner-status {
    margin: 15px 0;
    padding: 12px 14px;
    border-radius: 10px;
    background: #fff0f0;
    color: #a04444;
    font-size: 12px;
}

.planner-loading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 15px 0;
    padding: 14px;
    border-radius: 12px;
    background: var(--teal-light);
}

.planner-loading strong {
    display: block;
    color: var(--text);
    font-size: 12px;
}

.planner-loading span {
    display: block;
    margin-top: 2px;
    color: var(--muted);
    font-size: 11px;
}

.loading-spinner {
    width: 25px;
    height: 25px;
    flex-shrink: 0;
    border: 3px solid rgba(13, 98, 91, 0.2);
    border-top-color: var(--teal);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* =========================================
   PLANNER SIDE PANEL
========================================= */

.planner-side-panel {
    display: flex;
    flex-direction: column;
    gap: 17px;
}

.planner-inspiration-card {
    padding: 28px;
    border-radius: 22px;
    background: var(--navy);
    color: var(--white);
}

.inspiration-icon {
    display: flex;
    width: 43px;
    height: 43px;
    align-items: center;
    justify-content: center;
    margin-bottom: 23px;
    border-radius: 13px;
    background: rgba(245, 185, 87, 0.15);
    color: var(--gold);
    font-size: 21px;
}

.planner-inspiration-card h3 {
    color: var(--white);
    font-size: 23px;
}

.planner-inspiration-card > p {
    margin-top: 13px;
    color: rgba(255, 255, 255, 0.65);
    font-size: 12px;
    line-height: 1.7;
}

.inspiration-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 25px;
}

.inspiration-list div {
    display: flex;
    align-items: center;
    gap: 9px;
    color: rgba(255, 255, 255, 0.8);
    font-size: 11px;
}

.inspiration-list span {
    color: var(--gold);
    font-weight: 800;
}

.planner-note-card {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 17px;
    border: 1px solid #f0dfb9;
    border-radius: 15px;
    background: #fff8e9;
}

.planner-note-card > span {
    color: #c7881e;
    font-size: 18px;
}

.planner-note-card p {
    color: #8e7447;
    font-size: 11px;
    line-height: 1.6;
}

/* =========================================
   ITINERARY
========================================= */

.itinerary-container {
    margin-top: 50px;
}

.itinerary-preview,
.full-itinerary {
    white-space: pre-wrap;
    padding: 30px;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: var(--white);
    color: var(--text);
    font-size: 14px;
    line-height: 1.8;
    box-shadow: var(--shadow-sm);
}

.itinerary-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
}

.modify-trip-box {
    display: flex;
    min-width: 280px;
    flex: 1;
    gap: 8px;
}

.modify-trip-box input {
    height: 44px;
    padding: 0 13px;
}

.modify-trip-box .secondary-button {
    flex-shrink: 0;
}

/* =========================================
   EXPLORE
========================================= */

.explore-search-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 35px;
    padding: 8px 8px 8px 17px;
    border: 1px solid var(--border);
    border-radius: 15px;
    background: var(--white);
    box-shadow: var(--shadow-sm);
}

.explore-search-bar > span {
    color: var(--teal);
    font-size: 22px;
}

.explore-search-bar input {
    height: 44px;
    flex: 1;
    border: 0;
    background: transparent;
}

.explore-search-bar input:focus {
    background: transparent;
}

.explore-search-bar .primary-button {
    min-height: 44px;
}

.explore-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.6fr);
    align-items: start;
    gap: 28px;
}

.destination-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 17px;
}

.destination-grid.compact-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.destination-card {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--white);
    box-shadow: var(--shadow-sm);
    cursor: pointer;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.destination-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-4px);
}

.destination-card-image {
    display: flex;
    height: 135px;
    align-items: flex-end;
    padding: 17px;
    background:
        linear-gradient(180deg, transparent, rgba(8, 40, 49, 0.7)),
        linear-gradient(135deg, var(--teal-light), var(--gold-light));
    color: var(--white);
}

.destination-card-image h4 {
    color: var(--white);
    font-size: 20px;
}

.destination-card-body {
    padding: 16px;
}

.destination-card-body h4 {
    font-family: "DM Sans", sans-serif;
    font-size: 15px;
}

.destination-card-body p {
    margin-top: 6px;
    font-size: 11px;
    line-height: 1.6;
}

.destination-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 12px;
}

.destination-card-tag {
    padding: 4px 8px;
    border-radius: 20px;
    background: var(--teal-light);
    color: var(--teal);
    font-size: 9px;
    font-weight: 700;
}

.explore-map-panel {
    position: sticky;
    top: 125px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 20px;
    background: var(--white);
    box-shadow: var(--shadow-sm);
}

.map-panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 19px;
}

.map-panel-heading h3 {
    margin-top: 5px;
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
}

.map-pin-label {
    color: var(--teal);
    font-size: 23px;
}

.travel-map {
    width: 100%;
    height: 270px;
    background: var(--teal-light);
}

.map-places {
    display: flex;
    max-height: 220px;
    flex-direction: column;
    gap: 5px;
    overflow-y: auto;
    padding: 12px;
}

.map-place-item {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px;
    border-radius: 9px;
    background: var(--cream);
    color: var(--text);
    font-size: 11px;
}

.map-place-item span {
    color: var(--teal);
}

/* =========================================
   RECOMMENDATIONS
========================================= */

.recommendation-intro-card {
    display: flex;
    align-items: flex-start;
    gap: 17px;
    margin-bottom: 30px;
    padding: 25px;
    border-radius: 20px;
    background: var(--teal-light);
}

.recommendation-intro-icon {
    display: flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 14px;
    background: var(--white);
    color: var(--teal);
    font-size: 24px;
}

.recommendation-intro-card h3 {
    font-size: 22px;
}

.recommendation-intro-card p {
    max-width: 650px;
    margin-top: 8px;
    font-size: 13px;
}

.recommendation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.recommendation-card {
    padding: 23px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--white);
    box-shadow: var(--shadow-sm);
}

.recommendation-card-icon {
    display: flex;
    width: 45px;
    height: 45px;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border-radius: 13px;
    background: var(--gold-light);
    color: #bd811e;
    font-size: 21px;
}

.recommendation-card h3 {
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
}

.recommendation-card p {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.7;
}

.recommendation-card a,
.recommendation-card button {
    display: inline-block;
    margin-top: 17px;
    border: 0;
    background: transparent;
    color: var(--teal);
    font-size: 11px;
    font-weight: 800;
}

/* =========================================
   SCRAPBOOK
========================================= */

.scrapbook-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.upload-photo-button {
    cursor: pointer;
}

.scrapbook-banner {
    display: flex;
    align-items: center;
    gap: 17px;
    margin-bottom: 30px;
    padding: 24px;
    border-radius: 20px;
    background: var(--navy);
}

.scrapbook-banner-icon {
    display: flex;
    width: 50px;
    height: 50px;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 15px;
    background: rgba(245, 185, 87, 0.15);
    color: var(--gold);
    font-size: 25px;
}

.scrapbook-banner h3 {
    color: var(--white);
    font-size: 22px;
}

.scrapbook-banner p {
    margin-top: 6px;
    color: rgba(255, 255, 255, 0.65);
    font-size: 12px;
}

.scrapbook-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.scrapbook-empty {
    grid-column: 1 / -1;
    display: flex;
    min-height: 220px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px dashed #cbd6d0;
    border-radius: 20px;
    text-align: center;
}

.scrapbook-empty-icon {
    font-size: 35px;
    color: var(--teal);
}

.scrapbook-empty h3 {
    margin-top: 10px;
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
}

.scrapbook-empty p {
    margin-top: 5px;
    font-size: 12px;
}

.memory-card {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--white);
    box-shadow: var(--shadow-sm);
}

.memory-card-image {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.memory-card-body {
    padding: 18px;
}

.memory-card-body h3 {
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
}

.memory-card-meta {
    margin-top: 5px;
    color: var(--teal);
    font-size: 10px;
    font-weight: 700;
}

.memory-card-body p {
    margin-top: 12px;
    font-size: 12px;
    line-height: 1.7;
}

/* =========================================
   MY TRIPS
========================================= */

.trip-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.trips-empty {
    grid-column: 1 / -1;
    display: flex;
    min-height: 240px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px dashed #cbd6d0;
    border-radius: 20px;
    text-align: center;
}

.trips-empty-icon {
    color: var(--teal);
    font-size: 35px;
}

.trips-empty h3 {
    margin-top: 10px;
    font-family: "DM Sans", sans-serif;
    font-size: 17px;
}

.trips-empty p {
    margin: 6px 0 17px;
    font-size: 12px;
}

.trip-card {
    padding: 21px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--white);
    box-shadow: var(--shadow-sm);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.trip-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-4px);
}

.trip-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.trip-card-icon {
    display: flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: var(--teal-light);
    color: var(--teal);
    font-size: 21px;
}

.trip-card-date {
    color: var(--muted);
    font-size: 10px;
}

.trip-card h3 {
    margin-top: 20px;
    font-family: "DM Sans", sans-serif;
    font-size: 18px;
}

.trip-card p {
    margin-top: 7px;
    font-size: 12px;
}

.trip-card button {
    width: 100%;
    margin-top: 20px;
}

/* =========================================
   LOADING SECTION
========================================= */

.loading-page-section {
    min-height: 70vh;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.loading-page-section.active-section {
    display: flex;
}

.large-loading-animation {
    position: relative;
    display: flex;
    width: 100px;
    height: 100px;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
}

.loading-globe {
    display: flex;
    width: 65px;
    height: 65px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--teal);
    color: var(--white);
    font-size: 32px;
}

.loading-ring {
    position: absolute;
    inset: 0;
    border: 2px solid var(--gold);
    border-top-color: transparent;
    border-radius: 50%;
    animation: spin 1.2s linear infinite;
}

.loading-page-section h2 {
    font-size: 30px;
}

.loading-page-section p {
    margin-top: 8px;
    font-size: 13px;
}

/* =========================================
   MODALS
========================================= */

.modal-overlay {
    position: fixed;
    z-index: 100;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(8, 40, 49, 0.55);
    backdrop-filter: blur(5px);
}

.modal-card {
    width: min(550px, 100%);
    max-height: 90vh;
    overflow-y: auto;
    padding: 28px;
    border-radius: 23px;
    background: var(--white);
    box-shadow: var(--shadow-lg);
}

.modal-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 25px;
}

.modal-header h3 {
    margin-top: 8px;
    font-size: 25px;
}

.modal-close {
    display: flex;
    width: 33px;
    height: 33px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: var(--cream);
    color: var(--text);
    font-size: 23px;
    line-height: 1;
}

.modal-close:hover {
    background: var(--cream-dark);
}

.modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 25px;
}

.photo-preview {
    display: flex;
    min-height: 120px;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    overflow: hidden;
    border-radius: 14px;
    background: var(--cream);
}

.photo-preview img {
    display: block;
    width: 100%;
    max-height: 250px;
    object-fit: cover;
}

.destination-modal-card {
    position: relative;
    width: min(650px, 100%);
    padding: 0;
    overflow: hidden;
}

.destination-modal-close {
    position: absolute;
    z-index: 2;
    top: 15px;
    right: 15px;
    background: rgba(255, 255, 255, 0.85);
}

.destination-modal-image {
    display: flex;
    min-height: 220px;
    align-items: flex-end;
    padding: 25px;
    background:
        linear-gradient(180deg, transparent, rgba(8, 40, 49, 0.8)),
        linear-gradient(135deg, var(--teal-light), var(--gold-light));
}

.destination-modal-image h2 {
    color: var(--white);
    font-size: 35px;
}

.destination-modal-body {
    padding: 28px;
}

.destination-modal-body p {
    font-size: 13px;
    line-height: 1.8;
}

.destination-modal-body h3 {
    margin: 22px 0 10px;
    font-family: "DM Sans", sans-serif;
    font-size: 16px;
}

.destination-modal-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.destination-modal-tag {
    padding: 7px 11px;
    border-radius: 20px;
    background: var(--teal-light);
    color: var(--teal);
    font-size: 11px;
    font-weight: 700;
}

/* =========================================
   TOAST
========================================= */

.voyara-toast {
    position: fixed;
    z-index: 200;
    right: 25px;
    bottom: 25px;
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 320px;
    padding: 13px 17px;
    border-radius: 12px;
    background: var(--navy);
    color: var(--white);
    box-shadow: var(--shadow-md);
    font-size: 12px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(15px);
    transition:
        opacity 0.25s ease,
        transform 0.25s ease;
}

.voyara-toast.show {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.toast-icon {
    display: flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--gold);
    color: var(--navy);
    font-weight: 800;
}

/* =========================================
   MOBILE BRAND
========================================= */

.mobile-brand {
    display: none;
}

/* =========================================
   RESPONSIVE DESIGN
========================================= */

@media (max-width: 1250px) {
    .home-feature-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .destination-grid.compact-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .main-nav {
        gap: 2px;
    }

    .nav-link {
        padding: 10px 9px;
    }
}

@media (max-width: 1050px) {
    .sidebar {
        width: 235px;
    }

    .main-content {
        width: calc(100% - 235px);
        margin-left: 235px;
    }

    .topbar {
        padding: 0 25px;
    }

    .page-section {
        padding: 35px 25px 55px;
    }

    .home-hero {
        grid-template-columns: 1fr;
    }

    .home-hero-art {
        min-height: 260px;
    }

    .planner-layout,
    .explore-layout {
        grid-template-columns: 1fr;
    }

    .explore-map-panel {
        position: static;
    }

    .recommendation-grid,
    .trip-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 800px) {
    .welcome-card {
        display: block;
        max-width: 500px;
    }

    .welcome-card::before {
        display: none;
    }

    .welcome-card .brand-centered {
        align-items: center;
        padding: 35px 25px 10px;
    }

    .welcome-card .brand-centered h1 {
        color: var(--text);
        font-size: 38px;
    }

    .welcome-card .brand-centered p {
        color: var(--muted);
    }

    .welcome-content {
        padding: 30px;
    }

    .sidebar {
        display: none;
    }

    .main-content {
        width: 100%;
        margin-left: 0;
    }

    .topbar {
        height: 75px;
        padding: 0 20px;
    }

    .mobile-brand {
        display: flex;
    }

    .mobile-brand .brand-mark {
        width: 38px;
        height: 38px;
        border-radius: 12px;
        font-size: 21px;
    }

    .mobile-brand h1 {
        font-size: 23px;
    }

    .main-nav {
        display: none;
    }

    .page-section {
        padding: 30px 20px 50px;
    }

    .home-stats-grid {
        grid-template-columns: 1fr;
    }

    .section-page-header {
        flex-direction: column;
    }

    .section-header-decoration {
        display: none;
    }

    .home-feature-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 560px) {
    .welcome-screen {
        padding: 15px;
    }

    .welcome-content {
        padding: 25px;
    }

    .welcome-content h2 {
        font-size: 34px;
    }

    .home-hero-copy h2 {
        font-size: 36px;
    }

    .home-feature-grid,
    .destination-grid,
    .destination-grid.compact-grid,
    .recommendation-grid,
    .scrapbook-grid,
    .trip-grid {
        grid-template-columns: 1fr;
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .planner-form-card {
        padding: 22px;
    }

    .planner-inspiration-card {
        padding: 23px;
    }

    .explore-search-bar {
        align-items: stretch;
        flex-wrap: wrap;
        padding: 12px;
    }

    .explore-search-bar input {
        flex-basis: calc(100% - 40px);
    }

    .explore-search-bar .primary-button {
        width: 100%;
    }

    .scrapbook-actions {
        width: 100%;
    }

    .scrapbook-actions button,
    .scrapbook-actions label {
        flex: 1;
    }

    .itinerary-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .modify-trip-box {
        min-width: 0;
        flex-direction: column;
    }

    .voyara-toast {
        right: 15px;
        bottom: 15px;
        left: 15px;
        max-width: none;
    }
}

/* =========================================================
   VOYARA COMPLETE UPGRADE
========================================================= */
.destination-card-image { height: 175px; overflow: hidden; padding: 0 !important; background: #e8eee7; }
.destination-card-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.destination-card:hover .destination-card-image img { transform: scale(1.04); }
.destination-card { overflow: hidden; }
.explore-search-bar { flex-wrap: wrap; }
.voyara-enhance-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:18px 0; }
.voyara-enhance-toolbar input, .voyara-enhance-toolbar select, .voyara-form input, .voyara-form textarea, .voyara-form select, .voyara-tool-card input { min-width:0; padding:11px 13px; border:1px solid #dce4dc; border-radius:12px; font:inherit; background:#fff; color:#24352d; }
.voyara-enhance-toolbar input { flex:1; min-width:180px; }
.voyara-post-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; margin-top:18px; }
.voyara-post-card, .voyara-tool-card { border:1px solid #e3e9e2; background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 8px 24px rgba(27,50,35,.04); }
.voyara-post-card img { width:100%; height:170px; object-fit:cover; display:block; background:#eef2ed; }
.voyara-post-body { padding:17px; }
.voyara-post-meta { font-size:12px; color:#68776d; display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px; }
.voyara-post-card h3 { margin:6px 0 8px; }
.voyara-post-card p { line-height:1.55; }
.voyara-post-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.voyara-post-actions button, .voyara-small-button { border:1px solid #dce5dc; border-radius:999px; padding:8px 12px; background:#f8faf7; cursor:pointer; color:#244632; font:inherit; font-size:13px; }
.voyara-form { display:grid; gap:12px; padding:16px; border:1px solid #dfe8df; border-radius:16px; background:#f8faf7; margin:16px 0; }
.voyara-form textarea { min-height:90px; resize:vertical; }
.voyara-form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.voyara-toolkit { margin:26px 0; }
.voyara-toolkit-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; }
.voyara-tool-card { padding:18px; }
.voyara-tool-card h3 { margin-top:0; }
.voyara-tool-card label { display:block; font-size:13px; margin:10px 0 5px; color:#526359; }
.voyara-tool-card input { width:100%; box-sizing:border-box; }
.voyara-tool-card button { margin-top:10px; }
.voyara-checklist { display:grid; gap:9px; margin-top:12px; }
.voyara-checklist label { display:flex; align-items:center; gap:9px; margin:0; }
.voyara-checklist input { width:auto; }
.voyara-weather-result { padding:12px; border-radius:12px; background:#f1f6ef; margin-top:10px; line-height:1.5; }
.voyara-chat-launcher { position:fixed; right:24px; bottom:24px; z-index:9998; border:0; border-radius:999px; background:#244d38; color:#fff; padding:15px 19px; box-shadow:0 12px 35px #193a2b44; cursor:pointer; font:600 14px 'DM Sans',sans-serif; }
.voyara-chat-panel { position:fixed; right:24px; bottom:86px; z-index:9999; width:min(370px,calc(100vw - 32px)); height:min(520px,calc(100vh - 120px)); background:#fff; border:1px solid #dce5dc; border-radius:20px; box-shadow:0 20px 60px #173b2940; display:flex; flex-direction:column; overflow:hidden; }
.voyara-chat-panel.hidden { display:none; }
.voyara-chat-head { background:#244d38; color:#fff; padding:15px 17px; display:flex; justify-content:space-between; align-items:center; }
.voyara-chat-head button { background:transparent; color:#fff; border:0; font-size:22px; cursor:pointer; }
.voyara-chat-messages { flex:1; overflow:auto; padding:14px; display:flex; flex-direction:column; gap:10px; }
.voyara-chat-message { max-width:88%; padding:10px 12px; border-radius:14px; font-size:13px; line-height:1.5; white-space:pre-wrap; }
.voyara-chat-message.bot { background:#f0f5ef; align-self:flex-start; }
.voyara-chat-message.user { background:#244d38; color:white; align-self:flex-end; }
.voyara-chat-form { display:flex; gap:8px; padding:12px; border-top:1px solid #e6ece5; }
.voyara-chat-form input { flex:1; min-width:0; padding:11px; border:1px solid #dce5dc; border-radius:12px; }
.voyara-chat-form button { border:0; background:#244d38; color:#fff; border-radius:12px; padding:0 14px; cursor:pointer; }
.voyara-modal-backdrop { position:fixed; inset:0; background:#10251988; z-index:9997; display:grid; place-items:center; padding:18px; }
.voyara-modal-backdrop.hidden { display:none; }
.voyara-modal-card { background:white; border-radius:20px; padding:22px; width:min(620px,100%); max-height:90vh; overflow:auto; }
.voyara-map-popup button { margin-top:8px; border:0; background:#244d38; color:#fff; border-radius:8px; padding:7px 10px; cursor:pointer; }
.voyara-muted { color:#718075; font-size:13px; }
@media(max-width:600px) { .voyara-form-row { grid-template-columns:1fr; } .voyara-chat-launcher { right:14px; bottom:14px; } .voyara-chat-panel { right:12px; bottom:74px; } }


/* ============================================================
   VOYARA DISCOVERY + TOOLKIT UPDATE
============================================================ */
.destination-card-open {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: inherit;
  color: inherit;
  text-align: left;
  background: transparent;
  cursor: pointer;
  font: inherit;
}
.destination-card-open:focus-visible,
.voyara-post-actions button:focus-visible,
.voyara-comment-form button:focus-visible {
  outline: 3px solid rgba(13, 148, 136, .45);
  outline-offset: 3px;
}
.destination-card-open .destination-card-body .text-button {
  display: inline-block;
  margin-top: 10px;
}
.destination-state-card {
  border-color: rgba(13, 148, 136, .32);
  box-shadow: 0 8px 26px rgba(13, 148, 136, .08);
}
.voyara-destination-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: rgba(15, 23, 42, .66);
  overflow-y: auto;
}
.voyara-destination-modal.hidden { display: none !important; }
.voyara-destination-dialog {
  position: relative;
  width: min(850px, 100%);
  max-height: min(92vh, 950px);
  overflow-y: auto;
  background: var(--card, #fff);
  color: var(--text, #172033);
  border-radius: 22px;
  box-shadow: 0 24px 80px rgba(0,0,0,.24);
}
.voyara-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.94);
  color: #172033;
  font-size: 28px;
  cursor: pointer;
  box-shadow: 0 3px 12px rgba(0,0,0,.12);
}
.voyara-destination-hero {
  display: block;
  width: 100%;
  height: clamp(180px, 30vw, 300px);
  object-fit: cover;
  background: #e5e7eb;
}
.voyara-destination-detail-body { padding: clamp(20px, 4vw, 34px); }
.voyara-destination-detail-body h2 { margin: 5px 0 3px; font-size: clamp(28px, 4vw, 38px); }
.voyara-destination-location { margin: 0 0 16px; color: var(--muted, #64748b); }
.voyara-destination-intro { font-size: 1.03rem; line-height: 1.75; }
.voyara-destination-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 22px 0;
}
.voyara-destination-facts > div {
  padding: 14px;
  border-radius: 14px;
  background: var(--surface, #f4f7f7);
}
.voyara-destination-facts span {
  display: block;
  margin-bottom: 7px;
  color: var(--muted, #64748b);
  font-size: .78rem;
}
.voyara-destination-facts strong { display: block; font-size: .9rem; line-height: 1.5; }
.voyara-destination-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 12px; }
.voyara-destination-children { margin-top: 26px; }
.voyara-child-destination-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.voyara-child-destination-grid button {
  display: flex;
  gap: 11px;
  align-items: center;
  min-width: 0;
  padding: 10px;
  text-align: left;
  color: inherit;
  background: var(--surface, #f7f9f9);
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 12px;
  cursor: pointer;
}
.voyara-child-destination-grid img { width: 66px; height: 66px; object-fit: cover; border-radius: 9px; flex-shrink: 0; }
.voyara-child-destination-grid strong, .voyara-child-destination-grid small { display: block; }
.voyara-child-destination-grid small { margin-top: 4px; color: var(--muted, #64748b); line-height: 1.4; }
.voyara-community-shell { margin-top: 22px; }
.voyara-community-intro { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 18px; }
.voyara-community-intro h3 { margin: 5px 0; font-size: clamp(22px, 3vw, 28px); }
.voyara-community-intro p { max-width: 680px; margin: 0; line-height: 1.6; color: var(--muted, #64748b); }
.voyara-enhance-toolbar {
  display: grid;
  grid-template-columns: minmax(160px, .8fr) minmax(160px, .8fr) minmax(200px, 1.2fr);
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 16px;
  background: var(--card, #fff);
}
.voyara-enhance-toolbar label { display: flex; flex-direction: column; gap: 7px; font-size: .85rem; font-weight: 600; }
.voyara-enhance-toolbar input, .voyara-enhance-toolbar select {
  width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px;
  border: 1px solid var(--border, #dbe3e8); border-radius: 10px;
  background: var(--surface, #fff); color: inherit; font: inherit; font-weight: 400;
}
.voyara-community-intro .primary-button { flex-shrink: 0; }
.voyara-post-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 18px; }
.voyara-post-card { min-width: 0; overflow: hidden; border: 1px solid var(--border, #e2e8f0); border-radius: 18px; background: var(--card, #fff); }
.voyara-post-card > img { display: block; width: 100%; height: 205px; object-fit: cover; background: #e5e7eb; }
.voyara-post-body { padding: 17px; }
.voyara-post-body h3 { margin: 8px 0; font-size: 1.2rem; }
.voyara-post-body > p { line-height: 1.65; }
.voyara-post-rating { color: #d97706; letter-spacing: .04em; }
.voyara-post-rating span { color: var(--muted, #64748b); letter-spacing: 0; font-size: .85rem; }
.voyara-post-price { padding: 9px 11px; border-radius: 9px; background: var(--surface, #f4f7f7); font-size: .9rem; }
.voyara-post-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.voyara-post-actions button, .voyara-comment-form button {
  padding: 8px 11px; border: 1px solid var(--border, #dbe3e8); border-radius: 9px;
  background: var(--surface, #fff); color: inherit; cursor: pointer; font: inherit; font-size: .85rem;
}
.voyara-post-actions button:hover, .voyara-comment-form button:hover { border-color: #0d9488; }
.voyara-comments { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border, #e2e8f0); }
.voyara-comments summary { cursor: pointer; font-weight: 600; font-size: .9rem; }
.voyara-comment-list { max-height: 180px; overflow: auto; }
.voyara-comment-list p { padding: 8px 0; margin: 0; line-height: 1.5; font-size: .9rem; overflow-wrap: anywhere; }
.voyara-comment-form { display: flex; gap: 8px; margin-top: 10px; }
.voyara-comment-form input { flex: 1; min-width: 0; padding: 10px; border: 1px solid var(--border, #dbe3e8); border-radius: 9px; background: var(--surface, #fff); color: inherit; }
.voyara-toolkit-trip-picker {
  margin: 18px 0;
  padding: 18px;
  border: 1px solid var(--border, #e2e8f0);
  border-radius: 16px;
  background: var(--card, #fff);
}
.voyara-toolkit-trip-picker label { display: block; margin-bottom: 8px; font-weight: 600; }
.voyara-toolkit-trip-picker select { width: 100%; max-width: 520px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--border, #dbe3e8); border-radius: 10px; background: var(--surface, #fff); color: inherit; }
.voyara-toolkit { margin-top: 20px; }
.voyara-packing-item { display: flex; align-items: flex-start; gap: 10px; padding: 7px 0; line-height: 1.45; }
.voyara-packing-item input { margin-top: 4px; }
#itineraryText, #itineraryPreview { white-space: normal; line-height: 1.7; }
#itineraryText h3, #itineraryPreview h3 { margin: 18px 0 8px; font-size: 1.15rem; }
#itineraryText p, #itineraryPreview p { margin: 8px 0; }
#itineraryText ul, #itineraryText ol, #itineraryPreview ul, #itineraryPreview ol { padding-left: 24px; margin: 8px 0 14px; }
#itineraryText li, #itineraryPreview li { margin: 5px 0; }
@media (max-width: 760px) {
  .voyara-destination-modal { padding: 10px; }
  .voyara-destination-dialog { max-height: 95vh; border-radius: 16px; }
  .voyara-destination-facts { grid-template-columns: 1fr; }
  .voyara-child-destination-grid, .voyara-post-grid { grid-template-columns: 1fr; }
  .voyara-community-intro { align-items: flex-start; flex-direction: column; }
  .voyara-enhance-toolbar { grid-template-columns: 1fr; padding: 12px; }
  .voyara-post-card > img { height: 190px; }
  .voyara-comment-form { flex-direction: column; }
}


/* ============================================================
   VOYARA CALM TRAVEL THEME — consolidated UI pass
============================================================ */
:root{--sage:#d9e2d7;--forest:#183d35;--ivory:#f4efe5;--terracotta:#c47d51;--surface:#fffdf8;--shadow-sm:0 5px 18px rgba(24,61,53,.055);--shadow-md:0 12px 30px rgba(24,61,53,.09);}
body{background:#f5f2ea;color:#203b32}
.sidebar{background:#183d35;color:#f4efe5}
.sidebar .brand p,.sidebar .sidebar-label,.sidebar .sidebar-copyright{color:rgba(244,239,229,.65)}
.brand-mark,.feature-card-icon,.home-stat-icon,.section-header-decoration{color:#315f50}
.primary-button,.new-journey-button{background:#183d35;border-color:#183d35}
.primary-button:hover,.new-journey-button:hover{background:#24483d}
.secondary-button{border-color:#d5ded4;color:#24483d;background:#fffdf8}
.secondary-button:hover{background:#e8eee5}
input:focus,textarea:focus,select:focus{border-color:#779486!important;box-shadow:0 0 0 3px rgba(119,148,134,.15)!important;outline:none}
.welcome-screen{background:radial-gradient(ellipse at 12% 15%,rgba(217,226,215,.72),transparent 35%),radial-gradient(ellipse at 88% 84%,rgba(196,125,81,.12),transparent 32%),#f4efe5}
.welcome-card{border:1px solid rgba(24,61,53,.09);box-shadow:0 24px 70px rgba(24,61,53,.10)}
.welcome-background-shape.shape-one{background:#d9e2d7;opacity:.55}.welcome-background-shape.shape-two{background:#e7d7c8;opacity:.55}
.voyara-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#e9e8df;border-radius:12px;padding:5px;margin:0 0 18px}
.voyara-auth-tab{border:0;border-radius:9px;padding:10px 12px;background:transparent;color:#617067;font-weight:700}
.voyara-auth-tab.active{background:#fffdf8;color:#183d35;box-shadow:0 2px 8px rgba(24,61,53,.08)}
#nameForm>div[id="signupNameField"]{display:block}#signupNameField.hidden{display:none!important}
.name-form>div>label,.name-form>label{display:block;margin:0 0 6px;font-size:13px;font-weight:700;color:#345247}
.name-form>div>input{width:100%;margin-bottom:14px}.name-form>input{width:100%;margin-bottom:14px}
/* Keep the sidebar purposeful: new journey + one inspiring travel quote. */
.sidebar>.sidebar-section{display:none!important}
.sidebar-tip{background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.09)}
.sidebar-tip p{color:rgba(244,239,229,.82)!important}
.home-hero{background:linear-gradient(120deg,#e8eee5,#f4efe5 70%);border:1px solid #e0e6dc}
.home-hero-art{filter:saturate(.68);opacity:.9}
.home-stat-card,.feature-card,.trip-card,.memory-card,.voyara-tool-card,.destination-card{border-color:#e3e6dc;box-shadow:0 7px 24px rgba(24,61,53,.045)}
.home-stat-card{background:#fffdf8}
.feature-card:hover,.destination-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(24,61,53,.09)}
/* Destination cards use calm imagery and keep text readable. */
.destination-card-image img{filter:saturate(.78);transition:filter .2s ease}.destination-card:hover img{filter:saturate(.98)}
.voyara-destination-hero{filter:saturate(.78)}
/* For You discovery cards */
.voyara-community-shell{display:grid;gap:18px;margin-top:22px}
.voyara-community-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border-radius:20px;background:linear-gradient(120deg,#e5ece2,#f8f5ee);border:1px solid #dfe6dc}
.voyara-community-intro h3{font-family:"Playfair Display",serif;font-size:25px;color:#183d35;margin:5px 0}
.voyara-enhance-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(190px,.8fr) minmax(180px,1fr) auto;gap:12px;align-items:end}
.voyara-enhance-toolbar label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#486055}
.voyara-enhance-toolbar input,.voyara-enhance-toolbar select{width:100%;min-width:0;padding:11px 12px;border:1px solid #dce2d8;border-radius:11px;background:#fffdf8;color:#203b32}
.voyara-place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.voyara-place-card{background:#fffdf8;border:1px solid #e2e6de;border-radius:17px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.voyara-place-card-body{padding:15px;display:flex;flex-direction:column;gap:8px;flex:1}
.voyara-place-card h4{font-size:16px;line-height:1.35;color:#203b32}
.voyara-place-card p{font-size:13px;color:#718078;line-height:1.5}
.voyara-place-type{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#52705f}
.voyara-place-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:7px}
.voyara-place-actions a,.voyara-place-actions button{font-size:12px;padding:8px 10px;border-radius:9px;text-decoration:none;border:1px solid #dce2d8;background:#f4efe5;color:#24483d}
.voyara-place-actions .is-saved{background:#d9e2d7;border-color:#c6d5c7}
.voyara-source-note{font-size:12px;color:#718078}
.voyara-map-fallback{padding:18px;border-radius:14px;background:#f4efe5;border:1px dashed #cbd6cb}
/* Accordion toolkit: compact by default; open only what the traveller needs. */
.voyara-toolkit-accordion{padding:0!important;overflow:hidden}
.voyara-toolkit-accordion>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;font-weight:800;color:#24483d}
.voyara-toolkit-accordion>summary::-webkit-details-marker{display:none}
.voyara-toolkit-accordion>summary:after{content:"＋";font-size:20px;color:#52705f}
.voyara-toolkit-accordion[open]>summary:after{content:"−"}
.voyara-toolkit-accordion[open]>summary{border-bottom:1px solid #e4e8df;background:#f7f6ef}
.voyara-toolkit-accordion .voyara-tool-accordion-body{padding:18px 20px}
.voyara-toolkit-accordion .voyara-tool-accordion-body label{display:block;margin:10px 0 5px;font-size:13px;font-weight:700}
.voyara-toolkit-accordion .voyara-tool-accordion-body input{width:100%;max-width:100%;margin-bottom:7px}
.voyara-toolkit-accordion .voyara-tool-accordion-body button{margin:8px 8px 0 0}
.voyara-toolkit-grid{display:grid;grid-template-columns:1fr;gap:12px}
/* Scrapbook theme switcher */
.voyara-scrapbook-themebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0}
.voyara-scrapbook-themebar span{font-size:12px;font-weight:800;color:#52705f;margin-right:4px}
.voyara-theme-choice{border:1px solid #dce2d8;border-radius:999px;padding:7px 12px;background:#fffdf8;color:#345247;font-size:12px;font-weight:700}
.voyara-theme-choice.active{background:#183d35;color:#f4efe5;border-color:#183d35}
#section-scrapbook[data-scrapbook-theme="night"]{background:#172b26;color:#edf1e9;padding:22px;border-radius:22px}
#section-scrapbook[data-scrapbook-theme="night"] .section-page-header h2,#section-scrapbook[data-scrapbook-theme="night"] .scrapbook-banner h3{color:#edf1e9}
#section-scrapbook[data-scrapbook-theme="night"] .scrapbook-banner,#section-scrapbook[data-scrapbook-theme="night"] .memory-card{background:#233a32;border-color:#365248;color:#edf1e9}
#section-scrapbook[data-scrapbook-theme="night"] .memory-card p{color:#d2ddd4}
#section-scrapbook[data-scrapbook-theme="terracotta"]{background:#f4e6da;padding:22px;border-radius:22px}
#section-scrapbook[data-scrapbook-theme="sage"]{background:#e4ebe2;padding:22px;border-radius:22px}
.memory-card img{width:100%;max-height:240px;object-fit:cover;border-radius:12px;margin-bottom:12px}
.voyara-memory-meta{font-size:11px;color:#718078;margin:5px 0 9px}
@media(max-width:900px){.voyara-enhance-toolbar{grid-template-columns:1fr 1fr}.voyara-place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.voyara-community-intro{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.voyara-enhance-toolbar,.voyara-place-grid{grid-template-columns:1fr}.voyara-place-actions>*{flex:1;text-align:center}.voyara-scrapbook-themebar{align-items:flex-start}}


/* ============================================================
   VOYARA CALM TRAVEL THEME — consolidated UI pass
============================================================ */
:root{--sage:#d9e2d7;--forest:#183d35;--ivory:#f4efe5;--terracotta:#c47d51;--surface:#fffdf8;--shadow-sm:0 5px 18px rgba(24,61,53,.055);--shadow-md:0 12px 30px rgba(24,61,53,.09);}
body{background:#f5f2ea;color:#203b32}
.sidebar{background:#183d35;color:#f4efe5}
.sidebar .brand p,.sidebar .sidebar-label,.sidebar .sidebar-copyright{color:rgba(244,239,229,.65)}
.brand-mark,.feature-card-icon,.home-stat-icon,.section-header-decoration{color:#315f50}
.primary-button,.new-journey-button{background:#183d35;border-color:#183d35}
.primary-button:hover,.new-journey-button:hover{background:#24483d}
.secondary-button{border-color:#d5ded4;color:#24483d;background:#fffdf8}
.secondary-button:hover{background:#e8eee5}
input:focus,textarea:focus,select:focus{border-color:#779486!important;box-shadow:0 0 0 3px rgba(119,148,134,.15)!important;outline:none}
.welcome-screen{background:radial-gradient(ellipse at 12% 15%,rgba(217,226,215,.72),transparent 35%),radial-gradient(ellipse at 88% 84%,rgba(196,125,81,.12),transparent 32%),#f4efe5}
.welcome-card{border:1px solid rgba(24,61,53,.09);box-shadow:0 24px 70px rgba(24,61,53,.10)}
.welcome-background-shape.shape-one{background:#d9e2d7;opacity:.55}.welcome-background-shape.shape-two{background:#e7d7c8;opacity:.55}
.voyara-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#e9e8df;border-radius:12px;padding:5px;margin:0 0 18px}
.voyara-auth-tab{border:0;border-radius:9px;padding:10px 12px;background:transparent;color:#617067;font-weight:700}
.voyara-auth-tab.active{background:#fffdf8;color:#183d35;box-shadow:0 2px 8px rgba(24,61,53,.08)}
#nameForm>div[id="signupNameField"]{display:block}#signupNameField.hidden{display:none!important}
.name-form>div>label,.name-form>label{display:block;margin:0 0 6px;font-size:13px;font-weight:700;color:#345247}
.name-form>div>input{width:100%;margin-bottom:14px}.name-form>input{width:100%;margin-bottom:14px}
/* Keep the sidebar purposeful: new journey + one inspiring travel quote. */
.sidebar>.sidebar-section{display:none!important}
.sidebar-tip{background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.09)}
.sidebar-tip p{color:rgba(244,239,229,.82)!important}
.home-hero{background:linear-gradient(120deg,#e8eee5,#f4efe5 70%);border:1px solid #e0e6dc}
.home-hero-art{filter:saturate(.68);opacity:.9}
.home-stat-card,.feature-card,.trip-card,.memory-card,.voyara-tool-card,.destination-card{border-color:#e3e6dc;box-shadow:0 7px 24px rgba(24,61,53,.045)}
.home-stat-card{background:#fffdf8}
.feature-card:hover,.destination-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(24,61,53,.09)}
/* Destination cards use calm imagery and keep text readable. */
.destination-card-image img{filter:saturate(.78);transition:filter .2s ease}.destination-card:hover img{filter:saturate(.98)}
.voyara-destination-hero{filter:saturate(.78)}
/* For You discovery cards */
.voyara-community-shell{display:grid;gap:18px;margin-top:22px}
.voyara-community-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border-radius:20px;background:linear-gradient(120deg,#e5ece2,#f8f5ee);border:1px solid #dfe6dc}
.voyara-community-intro h3{font-family:"Playfair Display",serif;font-size:25px;color:#183d35;margin:5px 0}
.voyara-enhance-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(190px,.8fr) minmax(180px,1fr) auto;gap:12px;align-items:end}
.voyara-enhance-toolbar label{display:grid;gap:6px;font-size:12px;font-weight:700;color:#486055}
.voyara-enhance-toolbar input,.voyara-enhance-toolbar select{width:100%;min-width:0;padding:11px 12px;border:1px solid #dce2d8;border-radius:11px;background:#fffdf8;color:#203b32}
.voyara-place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.voyara-place-card{background:#fffdf8;border:1px solid #e2e6de;border-radius:17px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.voyara-place-card-body{padding:15px;display:flex;flex-direction:column;gap:8px;flex:1}
.voyara-place-card h4{font-size:16px;line-height:1.35;color:#203b32}
.voyara-place-card p{font-size:13px;color:#718078;line-height:1.5}
.voyara-place-type{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#52705f}
.voyara-place-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:7px}
.voyara-place-actions a,.voyara-place-actions button{font-size:12px;padding:8px 10px;border-radius:9px;text-decoration:none;border:1px solid #dce2d8;background:#f4efe5;color:#24483d}
.voyara-place-actions .is-saved{background:#d9e2d7;border-color:#c6d5c7}
.voyara-source-note{font-size:12px;color:#718078}
.voyara-map-fallback{padding:18px;border-radius:14px;background:#f4efe5;border:1px dashed #cbd6cb}
/* Accordion toolkit: compact by default; open only what the traveller needs. */
.voyara-toolkit-accordion{padding:0!important;overflow:hidden}
.voyara-toolkit-accordion>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;font-weight:800;color:#24483d}
.voyara-toolkit-accordion>summary::-webkit-details-marker{display:none}
.voyara-toolkit-accordion>summary:after{content:"＋";font-size:20px;color:#52705f}
.voyara-toolkit-accordion[open]>summary:after{content:"−"}
.voyara-toolkit-accordion[open]>summary{border-bottom:1px solid #e4e8df;background:#f7f6ef}
.voyara-toolkit-accordion .voyara-tool-accordion-body{padding:18px 20px}
.voyara-toolkit-accordion .voyara-tool-accordion-body label{display:block;margin:10px 0 5px;font-size:13px;font-weight:700}
.voyara-toolkit-accordion .voyara-tool-accordion-body input{width:100%;max-width:100%;margin-bottom:7px}
.voyara-toolkit-accordion .voyara-tool-accordion-body button{margin:8px 8px 0 0}
.voyara-toolkit-grid{display:grid;grid-template-columns:1fr;gap:12px}
/* Scrapbook theme switcher */
.voyara-scrapbook-themebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0}
.voyara-scrapbook-themebar span{font-size:12px;font-weight:800;color:#52705f;margin-right:4px}
.voyara-theme-choice{border:1px solid #dce2d8;border-radius:999px;padding:7px 12px;background:#fffdf8;color:#345247;font-size:12px;font-weight:700}
.voyara-theme-choice.active{background:#183d35;color:#f4efe5;border-color:#183d35}
#section-scrapbook[data-scrapbook-theme="night"]{background:#172b26;color:#edf1e9;padding:22px;border-radius:22px}
#section-scrapbook[data-scrapbook-theme="night"] .section-page-header h2,#section-scrapbook[data-scrapbook-theme="night"] .scrapbook-banner h3{color:#edf1e9}
#section-scrapbook[data-scrapbook-theme="night"] .scrapbook-banner,#section-scrapbook[data-scrapbook-theme="night"] .memory-card{background:#233a32;border-color:#365248;color:#edf1e9}
#section-scrapbook[data-scrapbook-theme="night"] .memory-card p{color:#d2ddd4}
#section-scrapbook[data-scrapbook-theme="terracotta"]{background:#f4e6da;padding:22px;border-radius:22px}
#section-scrapbook[data-scrapbook-theme="sage"]{background:#e4ebe2;padding:22px;border-radius:22px}
.memory-card img{width:100%;max-height:240px;object-fit:cover;border-radius:12px;margin-bottom:12px}
.voyara-memory-meta{font-size:11px;color:#718078;margin:5px 0 9px}
@media(max-width:900px){.voyara-enhance-toolbar{grid-template-columns:1fr 1fr}.voyara-place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.voyara-community-intro{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.voyara-enhance-toolbar,.voyara-place-grid{grid-template-columns:1fr}.voyara-place-actions>*{flex:1;text-align:center}.voyara-scrapbook-themebar{align-items:flex-start}}

.voyara-itinerary-content{max-width:980px;margin:0 auto}.itinerary-preview h2,.voyara-itinerary-content h2{font-family:"Playfair Display",serif;color:#183d35;font-size:23px;margin:24px 0 10px;padding-bottom:8px;border-bottom:1px solid #e0e6dc}.itinerary-preview h3,.voyara-itinerary-content h3{color:#24483d;background:#e8eee5;border-left:4px solid #c47d51;border-radius:8px;padding:10px 13px;margin:22px 0 10px;font-size:17px}.itinerary-preview ul,.voyara-itinerary-content ul{padding-left:22px;margin:8px 0 16px}.itinerary-preview li,.voyara-itinerary-content li{padding:4px 0 4px 2px}.itinerary-preview strong,.voyara-itinerary-content strong{color:#183d35}


/* Final feedback pass: lighter sage palette, tighter Explore layout and compact tools. */
 :root{--sage:#e2ebe1;--forest:#789584;--navy:#789584;--navy-dark:#5c7868;--teal:#6f8f7d;--teal-dark:#587562;--teal-light:#e2ebe1;--ivory:#f6f2e9;--terracotta:#c47d51;--surface:#fffdf8;--shadow-sm:0 5px 18px rgba(73,105,86,.055);--shadow-md:0 12px 30px rgba(73,105,86,.09);}
.sidebar{background:#e2ebe1!important;color:#304b3e!important;border-right:1px solid #d3dfd2}
.sidebar .brand h1,.sidebar .brand strong,.sidebar .sidebar-label,.sidebar .sidebar-copyright,.sidebar .nav-link,.sidebar .sidebar-tip strong{color:#304b3e!important}
.sidebar .brand p,.sidebar .sidebar-tip p{color:#5c7566!important}
.sidebar .nav-link.active,.sidebar .nav-link:hover{background:#d0dfd0!important;color:#2f5140!important}
.sidebar-tip{background:#f3f5ed!important;border-color:#d6e0d4!important}
.primary-button,.new-journey-button{background:#789584!important;border-color:#789584!important;color:#fff!important}
.primary-button:hover,.new-journey-button:hover{background:#688675!important}
.secondary-button{color:#486b58}
.voyara-auth-tab.active{color:#486b58!important}
.explore-layout{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:14px!important;align-items:stretch}
.explore-layout>div:first-child{min-width:0}
.explore-map-panel{min-width:0}
.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.voyara-explore-featured-note{grid-column:1/-1;margin:0 0 2px}
.duration-input-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(105px,.7fr);gap:8px}
.duration-input-row input,.duration-input-row select{min-width:0;width:100%}
.voyara-checklist{display:grid;gap:3px!important;margin-top:8px}
.voyara-checklist label,.voyara-packing-item{display:flex;align-items:center;gap:8px;margin:0!important;padding:5px 2px;border-bottom:1px solid #edf0e9;font-size:13px;line-height:1.35}
.voyara-checklist input,.voyara-packing-item input{width:auto!important;margin:0!important;flex:0 0 auto}
.voyara-post-actions{gap:7px;align-items:center}
.voyara-post-actions input{flex:1;min-width:0}
.voyara-current-weather{display:grid;gap:6px}
.voyara-weather-temperature{font-size:30px;font-weight:750;color:#486b58;line-height:1.1}
.voyara-weather-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.voyara-weather-facts span{background:#f2f5ee;border-radius:10px;padding:8px 10px;font-size:12px;color:#66776b}
.voyara-weather-facts strong{display:block;color:#304b3e;font-size:14px;margin-top:2px}
.voyara-tool-accordion .voyara-tool-accordion-body input{margin-bottom:4px!important}
.voyara-itinerary-content h3,.itinerary-preview h3{border-left:0!important;background:#e7eee5!important;color:#456653!important;border-radius:10px}
.itinerary-preview h2,.voyara-itinerary-content h2{color:#486b58!important}
.itinerary-preview strong,.voyara-itinerary-content strong{color:#486b58!important}
.voyara-theme-choice.active{background:#789584!important;border-color:#789584!important;color:#fff!important}
@media(max-width:900px){.explore-layout{grid-template-columns:1fr;gap:16px!important}.explore-map-panel{width:100%}}
@media(max-width:560px){.destination-grid{grid-template-columns:1fr}.duration-input-row{grid-template-columns:minmax(0,1fr) minmax(95px,.7fr)}.voyara-weather-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* FINAL THEME RESTORE: original Voyara teal/cream palette + optional dark mode */
:root{--navy:#0c3440;--navy-dark:#082831;--teal:#0d625b;--teal-dark:#084d48;--teal-light:#e2f0eb;--cream:#f8f5ee;--cream-dark:#eee9de;--white:#ffffff;--gold:#f5b957;--gold-light:#fff1d2;--text:#153844;--muted:#718187;--border:#e1e5df;--sage:#e2f0eb;--forest:#0d625b;--ivory:#f8f5ee;--terracotta:#f5b957;--surface:#fffdf8;--shadow-sm:0 5px 18px rgba(12,52,64,.055);--shadow-md:0 12px 30px rgba(12,52,64,.09)}
body{background:var(--cream)!important;color:var(--text)}
.sidebar{background:var(--navy)!important;color:var(--cream)!important;border-right:0!important}
.sidebar .brand h1,.sidebar .brand strong,.sidebar .sidebar-label,.sidebar .sidebar-copyright,.sidebar .nav-link,.sidebar .sidebar-tip strong{color:var(--cream)!important}
.sidebar .brand p,.sidebar .sidebar-tip p{color:rgba(248,245,238,.78)!important}
.sidebar-tip{background:rgba(255,255,255,.075)!important;border-color:rgba(255,255,255,.09)!important}
.sidebar-inspiration{margin:22px 0 0;padding:15px 14px 17px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.045);color:var(--cream)}
.sidebar-inspiration-kicker{display:block;font-size:9px;letter-spacing:.13em;font-weight:800;color:rgba(248,245,238,.58);margin-bottom:7px}
.sidebar-inspiration p{font-family:"Playfair Display",serif;font-size:15px;line-height:1.5;color:rgba(248,245,238,.93)}
.sidebar>.sidebar-section{display:none!important}
.primary-button,.new-journey-button{background:var(--teal)!important;border-color:var(--teal)!important;color:#fff!important}
.primary-button:hover,.new-journey-button:hover{background:var(--teal-dark)!important}
.secondary-button{color:var(--teal-dark)!important;border-color:#cdded8!important;background:#fffdf8}
.brand-mark,.feature-card-icon,.home-stat-icon,.section-header-decoration{color:var(--teal)!important}
.voyara-auth-tab.active{color:var(--teal-dark)!important}
.voyara-auth-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;margin:13px 0}.voyara-auth-divider:before,.voyara-auth-divider:after{content:"";height:1px;background:var(--border);flex:1}
.google-signin-button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:1px solid var(--border);border-radius:12px;background:#fff;color:#25333a;padding:12px 16px;font-weight:700;margin-bottom:14px}
.google-g-mark{font-size:18px;font-weight:800;color:#4285f4;background:#fff;border-radius:50%;width:22px;height:22px;display:grid;place-items:center}
.explore-layout{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;gap:12px!important;align-items:stretch}
.explore-layout>div:first-child{min-width:0}.explore-map-panel{min-width:0}.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.voyara-explore-featured-note{grid-column:1/-1;margin:0 0 2px}.voyara-child-suggestions{grid-column:1/-1;margin-top:8px}.voyara-child-suggestions h3{font-family:"Playfair Display",serif;color:var(--teal-dark);margin:8px 0 12px}.voyara-child-destination-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.itinerary-preview h3,.voyara-itinerary-content h3{border-left:0!important;background:var(--teal-light)!important;color:var(--teal-dark)!important;border-radius:10px}.itinerary-preview h2,.voyara-itinerary-content h2,.itinerary-preview strong,.voyara-itinerary-content strong{color:var(--teal-dark)!important}
.voyara-place-rating{display:inline-flex;align-items:center;gap:5px;color:#9b6a16;font-size:13px;font-weight:800}.voyara-place-rating small{font-size:11px;font-weight:600;color:var(--muted)}.voyara-place-rating.unavailable{color:var(--muted);font-weight:600;font-size:11px}
.voyara-place-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.voyara-place-card{min-width:0}.voyara-place-card-body>p{overflow-wrap:anywhere}
.voyara-photo-workspace{display:grid;gap:18px;margin:18px 0 24px}.voyara-photo-tabs{display:flex;gap:8px;border-bottom:1px solid var(--border);padding-bottom:10px}.voyara-photo-tabs button{border:1px solid transparent;background:transparent;color:var(--muted);border-radius:10px;padding:10px 14px;font-weight:800}.voyara-photo-tabs button.active{background:var(--teal-light);color:var(--teal-dark);border-color:#cfe0d8}
.voyara-photo-panel{display:grid;gap:18px}.voyara-photo-panel-heading,.voyara-album-detail-heading,.voyara-collage-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.voyara-photo-panel-heading h3,.voyara-album-detail-heading h4,.voyara-collage-editor-heading h4{font-family:"Playfair Display",serif;font-size:23px;color:var(--teal-dark)}.voyara-photo-panel-heading p,.voyara-album-detail-heading p{font-size:13px;color:var(--muted);margin-top:4px}
.voyara-create-album-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}.voyara-create-album-form label{font-size:12px;font-weight:800;color:var(--text)}.voyara-create-album-form input,.voyara-create-album-form select{width:100%;min-width:0;border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--white);color:var(--text)}.voyara-create-album-form .voyara-photo-actions{grid-column:1/-1}
.voyara-album-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.voyara-album-card{display:flex;align-items:center;gap:10px;text-align:left;min-width:0;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text)}.voyara-album-card.active{border-color:var(--teal);box-shadow:0 0 0 2px rgba(13,98,91,.1)}.voyara-album-cover{width:54px;height:54px;flex:0 0 54px;border-radius:10px;background:var(--teal-light);display:grid;place-items:center;overflow:hidden;color:var(--teal);font-size:22px}.voyara-album-cover img{width:100%;height:100%;object-fit:cover}.voyara-album-card strong,.voyara-album-card small{display:block;overflow-wrap:anywhere}.voyara-album-card strong{font-size:13px}.voyara-album-card small{font-size:11px;color:var(--muted);margin-top:3px}
.voyara-album-detail{border:1px solid var(--border);border-radius:18px;padding:16px;background:var(--surface)}.voyara-album-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:16px}.voyara-album-photo{min-width:0;border:1px solid var(--border);border-radius:13px;background:var(--white);padding:9px}.voyara-album-photo>img{width:100%;height:190px;object-fit:cover;border-radius:9px;display:block}.voyara-album-photo>input{width:100%;min-width:0;margin:8px 0 4px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.voyara-photo-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.voyara-photo-actions button{font-size:12px}.voyara-legacy-hidden{display:none!important}.voyara-legacy-memories{margin-top:12px;border-top:1px solid var(--border);padding-top:12px}.voyara-legacy-memories>summary{cursor:pointer;color:var(--muted);font-size:12px;font-weight:700}.voyara-legacy-memories .scrapbook-banner{display:none}
.voyara-collage-editor{border:1px solid var(--border);border-radius:18px;padding:16px;background:var(--surface);display:grid;gap:14px}.voyara-collage-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.voyara-collage-fields label,.voyara-collage-caption-label{display:grid;gap:6px;font-size:12px;font-weight:800}.voyara-collage-fields input,.voyara-collage-fields select,.voyara-collage-caption-label input{width:100%;min-width:0;border:1px solid var(--border);border-radius:9px;padding:10px;background:var(--white);color:var(--text)}.voyara-collage-photo-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.voyara-collage-pick{position:relative;display:grid;grid-template-columns:auto 1fr;gap:7px;align-items:center;border:1px solid var(--border);border-radius:10px;padding:7px;background:var(--white);font-size:11px;cursor:grab;min-width:0}.voyara-collage-pick img{width:100%;height:68px;object-fit:cover;border-radius:6px;grid-column:1/-1}.voyara-collage-pick span{overflow-wrap:anywhere}.voyara-collage-pick input{width:auto}.voyara-drag-hint{color:var(--muted)}
.voyara-collage-preview{border-radius:12px;padding:24px;max-width:760px;margin:0 auto;width:100%;background:#f8f5ee;color:#153844}.voyara-collage-preview[data-theme="sage"]{background:#e2f0eb}.voyara-collage-preview[data-theme="coastal"]{background:#e8f1f5}.voyara-collage-preview[data-theme="night"]{background:#172b26;color:#f4f5ed}.voyara-collage-preview[data-theme="terracotta"]{background:#f4e6da;color:#533a2f}.voyara-collage-preview-title{font:700 24px "Playfair Display",serif;margin-bottom:14px}.voyara-collage-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.voyara-collage-preview figure{margin:0;background:#fff;padding:7px;border-radius:7px;min-width:0}.voyara-collage-preview[data-layout="polaroid"] figure{padding:10px 10px 20px;box-shadow:0 3px 9px #00000012;transform:rotate(-1deg)}.voyara-collage-preview[data-layout="film"] .voyara-collage-preview-grid{grid-template-columns:1fr}.voyara-collage-preview figure img{width:100%;height:160px;object-fit:cover;display:block}.voyara-collage-preview figure figcaption{font-size:10px;color:#53625a;padding-top:4px}.voyara-collage-preview-caption{font:italic 15px "Playfair Display",serif;margin-top:14px}.voyara-scrapbook-pages{display:grid;gap:12px}.voyara-scrapbook-pages>h4{font-family:"Playfair Display",serif;font-size:20px;color:var(--teal-dark)}.voyara-saved-pages-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.voyara-saved-page{border:1px solid var(--border);border-radius:14px;padding:10px;background:var(--surface);min-width:0}.voyara-saved-page>img{width:100%;height:190px;object-fit:cover;border-radius:9px}.voyara-saved-page strong,.voyara-saved-page small{display:block;overflow-wrap:anywhere}.voyara-saved-page strong{margin:8px 0 3px}.voyara-saved-page small{font-size:11px;color:var(--muted);margin-bottom:8px}
.voyara-settings-overlay{position:fixed;inset:0;z-index:9999;background:rgba(15,28,30,.48);display:none;align-items:center;justify-content:center;padding:18px}.voyara-settings-overlay.open{display:flex}.voyara-settings-dialog{width:min(620px,100%);max-height:90vh;overflow:auto;border-radius:22px;background:var(--cream);color:var(--text);padding:24px;box-shadow:0 24px 80px #0003}.voyara-settings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.voyara-settings-heading h2{font:700 28px "Playfair Display",serif;color:var(--teal-dark)}.voyara-settings-section{display:grid;gap:9px;border-top:1px solid var(--border);padding:16px 0}.voyara-settings-section h3{font-size:16px}.voyara-settings-section label{font-size:12px;font-weight:800}.voyara-settings-section input{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--white);color:var(--text)}.voyara-appearance-options{display:flex;gap:10px;flex-wrap:wrap}.voyara-appearance-options button{border:1px solid var(--border);border-radius:10px;padding:10px 14px;background:var(--surface);color:var(--text);font-weight:700}.voyara-appearance-options button.active{background:var(--teal);border-color:var(--teal);color:#fff}
body[data-theme="dark"]{--cream:#18231f;--cream-dark:#23332c;--white:#202d27;--surface:#202d27;--text:#e8efe9;--muted:#b1c0b6;--border:#3a4b41;--teal-light:#2d453a;--sage:#2d453a;--ivory:#18231f;background:var(--cream)!important;color:var(--text)!important;color-scheme:dark}
body[data-theme="dark"] .main-content,body[data-theme="dark"] .topbar,body[data-theme="dark"] .page-section{background:transparent;color:var(--text)}
body[data-theme="dark"] .home-stat-card,body[data-theme="dark"] .feature-card,body[data-theme="dark"] .trip-card,body[data-theme="dark"] .memory-card,body[data-theme="dark"] .destination-card,body[data-theme="dark"] .recommendation-card,body[data-theme="dark"] .voyara-tool-card,body[data-theme="dark"] .voyara-place-card,body[data-theme="dark"] .voyara-album-detail,body[data-theme="dark"] .voyara-album-card,body[data-theme="dark"] .voyara-album-photo,body[data-theme="dark"] .voyara-saved-page,body[data-theme="dark"] .voyara-collage-editor,body[data-theme="dark"] .voyara-create-album-form,body[data-theme="dark"] .voyara-settings-dialog{background:var(--surface)!important;color:var(--text)!important;border-color:var(--border)!important}
body[data-theme="dark"] .home-hero,body[data-theme="dark"] .voyara-community-intro,body[data-theme="dark"] .voyara-toolkit-accordion[open]>summary,body[data-theme="dark"] .voyara-map-fallback{background:#263a31!important;border-color:var(--border)!important}
body[data-theme="dark"] h1,body[data-theme="dark"] h2,body[data-theme="dark"] h3,body[data-theme="dark"] h4,body[data-theme="dark"] p,body[data-theme="dark"] label,body[data-theme="dark"] .eyebrow,body[data-theme="dark"] .voyara-place-card h4,body[data-theme="dark"] .voyara-photo-panel-heading h3,body[data-theme="dark"] .voyara-album-detail-heading h4,body[data-theme="dark"] .voyara-collage-editor-heading h4{color:var(--text)}
body[data-theme="dark"] input,body[data-theme="dark"] textarea,body[data-theme="dark"] select{background:#17221e!important;color:var(--text)!important;border-color:var(--border)!important}
body[data-theme="dark"] .secondary-button,body[data-theme="dark"] .voyara-place-actions a,body[data-theme="dark"] .voyara-place-actions button{background:#263a31!important;color:#e8efe9!important;border-color:var(--border)!important}
body[data-theme="dark"] .sidebar{background:#102c2a!important}body[data-theme="dark"] .sidebar-inspiration{background:#193531}
body[data-theme="dark"] .welcome-screen{background:radial-gradient(ellipse at 12% 15%,#2a473a,transparent 35%),radial-gradient(ellipse at 88% 84%,#3d3028,transparent 32%),#18231f!important}body[data-theme="dark"] .welcome-card{background:#202d27;color:var(--text);border-color:var(--border)}body[data-theme="dark"] .welcome-card h1,body[data-theme="dark"] .welcome-card h2,body[data-theme="dark"] .welcome-card p{color:var(--text)}body[data-theme="dark"] .voyara-auth-tabs{background:#17221e}body[data-theme="dark"] .voyara-auth-tab.active{background:#2d453a;color:#fff!important}
@media(max-width:900px){.explore-layout{grid-template-columns:1fr!important;gap:12px!important}.voyara-enhance-toolbar{grid-template-columns:1fr 1fr}.voyara-album-list{grid-template-columns:repeat(2,minmax(0,1fr))}.voyara-album-photo-grid,.voyara-saved-pages-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.destination-grid,.voyara-child-destination-grid,.voyara-place-grid,.voyara-album-list,.voyara-album-photo-grid,.voyara-saved-pages-grid,.voyara-collage-fields,.voyara-create-album-form{grid-template-columns:1fr!important}.voyara-collage-photo-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.voyara-photo-panel-heading,.voyara-album-detail-heading,.voyara-collage-editor-heading{align-items:flex-start;flex-direction:column}.voyara-settings-dialog{padding:18px}.voyara-collage-preview{padding:14px}.voyara-collage-preview figure img{height:120px}}

.voyara-route-option{border:1px solid var(--border);border-radius:12px;padding:12px;margin:10px 0;background:var(--surface)}.voyara-route-option>strong{display:block;font-size:13px;margin-bottom:3px}.voyara-file-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.voyara-import-label{display:inline-flex;align-items:center;cursor:pointer}.voyara-hidden-tool-action{display:none!important}.voyara-legacy-memories .voyara-scrapbook-themebar{display:none!important}

.voyara-collage-preview[data-layout="freeform"] .voyara-collage-preview-grid{display:block;position:relative;min-height:480px;overflow:hidden}.voyara-collage-preview[data-layout="freeform"] figure{position:absolute;margin:0;max-width:60%;box-shadow:0 7px 18px #0002;user-select:none}.voyara-collage-preview[data-layout="freeform"] figure img{height:clamp(90px,15vw,160px);pointer-events:none}.voyara-collage-preview[data-layout="freeform"] figure figcaption{pointer-events:none}.voyara-collage-preview[data-layout="freeform"]{touch-action:pan-y}

/* Strong, easy-to-scan itinerary day headings. */
.voyara-day-heading {
    display: block;
    margin: 28px 0 12px;
    padding: 10px 14px;
    border-left: 4px solid var(--gold);
    border-radius: 10px;
    background: var(--teal-light);
    color: var(--navy);
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.voyara-category-results {
    margin: 22px 0 28px;
}
.voyara-category-results-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}
.voyara-category-results-heading h3 { margin: 0; }
.voyara-category-results-heading span { color: var(--muted); font-size: .85rem; }
.voyara-category-results-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}
@media (max-width: 1100px) { .voyara-category-results-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .voyara-category-results-grid { grid-template-columns: 1fr; } .voyara-day-heading { font-size: 1.02rem; } }


/* ============================================================
   FINAL CLEANUP: ASK VOYARA + ITINERARY + SCRAPBOOK
============================================================ */
#voyaraThemeBtn,.floating-theme-button,[id*="themeBtn"]{display:none!important}
.voyara-chat-launcher{position:fixed!important;right:24px!important;bottom:24px!important;z-index:9998!important;background:var(--navy,#0c3440)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:14px 18px!important;box-shadow:0 12px 30px rgba(12,52,64,.24)!important;font:700 14px 'DM Sans',sans-serif!important;cursor:pointer!important}
.voyara-chat-launcher:hover{background:var(--teal-dark,#084d48)!important;transform:translateY(-1px)}
.voyara-chat-panel{position:fixed!important;right:24px!important;bottom:82px!important;z-index:9999!important;width:min(380px,calc(100vw - 32px));height:min(520px,calc(100vh - 110px));background:#fff!important;border:1px solid #dce5dc!important;border-radius:20px!important;box-shadow:0 20px 60px rgba(12,52,64,.24)!important;display:flex;flex-direction:column;overflow:hidden}
.voyara-chat-panel.hidden{display:none!important}.voyara-chat-head{background:var(--navy,#0c3440)!important;color:#fff!important;padding:15px 17px;display:flex;justify-content:space-between;align-items:center}.voyara-chat-head strong{display:block}.voyara-chat-head span{display:block;font-size:12px;opacity:.8;margin-top:2px}.voyara-chat-head button{background:transparent;color:#fff;border:0;font-size:22px;cursor:pointer}.voyara-chat-messages{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.voyara-chat-message{max-width:88%;padding:10px 12px;border-radius:14px;font-size:13px;line-height:1.5;white-space:pre-wrap}.voyara-chat-message.bot{background:#f0f5ef;align-self:flex-start}.voyara-chat-message.user{background:var(--navy,#0c3440);color:#fff;align-self:flex-end}.voyara-chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid #e6ece5}.voyara-chat-form input{flex:1;min-width:0;padding:11px;border:1px solid #dce5dc;border-radius:12px}.voyara-chat-form button{border:0;background:var(--navy,#0c3440);color:#fff;border-radius:12px;padding:0 14px;cursor:pointer}

#itineraryPreview,#itineraryText{white-space:normal;line-height:1.7}#itineraryPreview p,#itineraryText p{margin:8px 0}#itineraryPreview ul,#itineraryPreview ol,#itineraryText ul,#itineraryText ol{padding-left:24px;margin:8px 0 14px}#itineraryPreview li,#itineraryText li{margin:5px 0}.voyara-section-heading{margin:22px 0 9px;padding-bottom:7px;border-bottom:1px solid #dfe8df;color:var(--teal-dark,#084d48);font-size:1.05rem;font-weight:800}.voyara-day-heading{display:block;margin:28px 0 12px;padding:11px 14px;border-left:4px solid var(--teal,#0d625b);border-radius:10px;background:var(--teal-light,#e2f0eb);color:var(--navy,#0c3440);font-size:1.12rem;font-weight:800}.voyara-itinerary-content code,#itineraryPreview code{padding:2px 5px;border-radius:5px;background:#eef3ef}

.voyara-scrapbook-v2{display:grid;gap:22px}.voyara-scrapbook-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.voyara-scrapbook-header h2{margin:4px 0 6px}.voyara-scrapbook-header p{max-width:680px;margin:0;color:var(--muted)}.voyara-scrapbook-howto{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border:1px solid #dfe8df;border-radius:18px;background:#f7faf6}.voyara-scrapbook-howto-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--teal-light,#e2f0eb);color:var(--teal-dark,#084d48);font-size:22px;flex:0 0 auto}.voyara-scrapbook-howto h3{margin:0 0 5px}.voyara-scrapbook-howto p{margin:0;line-height:1.6;color:#526359}.voyara-create-album-form,.voyara-album-detail,.voyara-collage-editor{border:1px solid #dfe8df;border-radius:18px;background:var(--surface,#fffdf8);padding:20px}.voyara-scrapbook-form-grid,.voyara-collage-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.voyara-scrapbook-form-grid label,.voyara-collage-fields label,.voyara-note-form label,.voyara-collage-caption-label{display:grid;gap:6px;font-size:12px;font-weight:800}.voyara-scrapbook-form-grid input,.voyara-collage-fields input,.voyara-collage-fields select,.voyara-note-form input,.voyara-note-form textarea,.voyara-collage-caption-label input{width:100%;min-width:0;border:1px solid #dce5dc;border-radius:10px;padding:10px;background:#fff;color:#24352d}.voyara-scrapbook-block-heading,.voyara-album-detail-heading,.voyara-photo-panel-heading,.voyara-collage-editor-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.voyara-scrapbook-block-heading h3,.voyara-album-detail-heading h3{margin:3px 0}.voyara-album-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.voyara-album-card{border:1px solid #dfe8df;border-radius:16px;overflow:hidden;background:#fff}.voyara-album-card-cover{height:150px;background:#eef3ee;display:grid;place-items:center;color:var(--teal);font-size:34px}.voyara-album-card-cover img{width:100%;height:100%;object-fit:cover;display:block}.voyara-album-card-body{padding:14px;display:grid;gap:5px}.voyara-album-card-body h4{margin:0;font-size:17px}.voyara-album-card-body p,.voyara-album-card-body small{margin:0;color:var(--muted)}.voyara-album-card-body .secondary-button{margin-top:7px}.voyara-scrapbook-empty{padding:34px 20px;text-align:center;border:1px dashed #cfdcd0;border-radius:18px;background:#fbfcfa}.voyara-scrapbook-empty-icon{font-size:30px;color:var(--teal);margin-bottom:8px}.voyara-scrapbook-empty h3{margin:0 0 5px}.voyara-scrapbook-empty p{max-width:540px;margin:0 auto 15px;color:var(--muted);line-height:1.6}.voyara-photo-panel,.voyara-memory-notes,.voyara-scrapbook-pages{margin-top:20px}.voyara-album-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:12px}.voyara-album-photo{min-width:0;border:1px solid #dfe8df;border-radius:13px;background:#fff;padding:9px}.voyara-album-photo>img{width:100%;height:190px;object-fit:cover;border-radius:9px;display:block}.voyara-photo-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}.voyara-inline-empty{grid-column:1/-1;display:grid;gap:4px;padding:22px;border:1px dashed #cfdcd0;border-radius:14px;background:#fbfcfa;color:#526359}.voyara-inline-empty span{font-size:13px;color:var(--muted)}.voyara-note-form{display:grid;gap:10px;margin:14px 0;padding:14px;border-radius:14px;background:#f7faf6;border:1px solid #dfe8df}.voyara-note-card{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #e5ebe5}.voyara-note-card h5{margin:0 0 5px;font-size:14px}.voyara-note-card p{margin:0;color:#526359;line-height:1.55}.voyara-collage-editor{display:grid;gap:15px;margin-top:18px}.voyara-collage-photo-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:10px}.voyara-collage-pick{display:grid;grid-template-columns:auto 1fr;gap:7px;align-items:center;border:1px solid #dfe8df;border-radius:10px;padding:7px;background:#fff;font-size:11px;cursor:pointer;min-width:0}.voyara-collage-pick img{width:100%;height:75px;object-fit:cover;border-radius:6px;grid-column:1/-1}.voyara-collage-pick span{overflow-wrap:anywhere}.voyara-collage-pick input{width:auto}.voyara-collage-preview{border-radius:12px;padding:24px;max-width:760px;margin:0 auto;width:100%;background:#f8f5ee;color:#153844}.voyara-collage-preview[data-theme="sage"]{background:#e2f0eb}.voyara-collage-preview[data-theme="coastal"]{background:#e8f1f5}.voyara-collage-preview[data-theme="night"]{background:#172b26;color:#f4f5ed}.voyara-collage-preview[data-theme="terracotta"]{background:#f4e6da;color:#533a2f}.voyara-collage-preview-title{font:700 24px Georgia,serif;margin-bottom:14px}.voyara-collage-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.voyara-collage-preview figure{margin:0;background:#fff;padding:7px;border-radius:7px;min-width:0}.voyara-collage-preview[data-layout="polaroid"] figure{padding:10px 10px 20px;box-shadow:0 3px 9px #00000012}.voyara-collage-preview[data-layout="film"] .voyara-collage-preview-grid{grid-template-columns:1fr}.voyara-collage-preview figure img{width:100%;height:160px;object-fit:cover;display:block}.voyara-collage-preview figure figcaption{font-size:10px;color:#53625a;padding-top:4px}.voyara-collage-preview-caption{font:italic 15px Georgia,serif;margin-top:14px}.voyara-saved-pages-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:12px}.voyara-saved-page{border:1px solid #dfe8df;border-radius:14px;padding:10px;background:#fff;min-width:0}.voyara-saved-page>img{width:100%;height:190px;object-fit:cover;border-radius:9px}.voyara-saved-page strong,.voyara-saved-page small{display:block;overflow-wrap:anywhere}.voyara-saved-page strong{margin:8px 0 3px}.voyara-saved-page small{font-size:11px;color:var(--muted);margin-bottom:8px}.voyara-scrapbook-v2 .hidden{display:none!important}
@media(max-width:900px){.voyara-album-list{grid-template-columns:repeat(2,minmax(0,1fr))}.voyara-album-photo-grid,.voyara-saved-pages-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.voyara-collage-photo-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.voyara-chat-launcher{right:14px!important;bottom:14px!important}.voyara-chat-panel{right:12px!important;bottom:72px!important}.voyara-scrapbook-header,.voyara-album-detail-heading,.voyara-photo-panel-heading,.voyara-collage-editor-heading{align-items:flex-start;flex-direction:column}.voyara-scrapbook-form-grid,.voyara-collage-fields,.voyara-album-list,.voyara-album-photo-grid,.voyara-saved-pages-grid{grid-template-columns:1fr!important}.voyara-collage-photo-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.voyara-collage-preview{padding:14px}.voyara-collage-preview figure img{height:120px}}


/* ============================================================
   FINAL LOCKED UI FIXES
============================================================ */
.brand-mark{position:relative;font-size:0!important;color:transparent!important;}
.brand-mark::before{content:"\2726";display:block;font-size:28px;line-height:1;color:#f8f5ee;font-family:Georgia,"Times New Roman",serif;font-weight:700;}
.sidebar-brand .brand-mark::before{color:#f8f5ee;}

.explore-layout{grid-template-columns:minmax(0,1.45fr) minmax(300px,360px)!important;gap:18px!important;align-items:start!important;}
.explore-results-column{min-width:0;}
.explore-results-heading{margin:0 0 12px;}
.explore-results-heading h3{margin-top:5px;font-size:20px;}
.destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
.explore-map-panel{width:100%;max-width:360px;justify-self:end;position:sticky;top:24px;}
.travel-map{width:100%;aspect-ratio:1/1!important;min-height:0!important;height:auto!important;border-radius:18px;overflow:hidden;}
.map-places{margin-top:8px;font-size:11px;color:var(--muted);line-height:1.5;}
.destination-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.destination-card-actions .primary-button,.destination-card-actions .secondary-button{min-height:40px;padding:9px 12px;font-size:12px;}
.explore-search-state,.destination-guide-loading,.destination-search-error,.for-you-empty,.for-you-loading{grid-column:1/-1;padding:28px 22px;border:1px dashed #cbd8ce;border-radius:16px;background:#fbfcfa;display:grid;gap:6px;text-align:center;color:var(--text);}
.explore-search-state span,.destination-guide-loading span,.for-you-empty span,.for-you-loading span{color:var(--muted);font-size:13px;}

.voyara-for-you-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.7fr) auto;gap:12px;align-items:end;margin:20px 0 8px;padding:16px;border:1px solid var(--border);border-radius:18px;background:#fffdf8;}
.voyara-for-you-toolbar label{display:grid;gap:6px;font-size:11px;font-weight:800;color:#526359;}
.voyara-for-you-toolbar input,.voyara-for-you-toolbar select{width:100%;min-width:0;border:1px solid #dce5dc;border-radius:11px;padding:11px 12px;background:#fff;color:var(--text);font:inherit;font-size:13px;}
.voyara-for-you-toolbar .primary-button{min-height:43px;white-space:nowrap;}
.for-you-source-note{margin:7px 2px 14px;}
.recommendation-grid{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;}
.voyara-category-results{border:1px solid var(--border);border-radius:18px;background:#fffdf8;padding:18px;}
.voyara-category-results-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:13px;}
.voyara-category-results-heading h3{margin-top:3px;font-size:20px;}
.voyara-category-results-heading>span{font-size:11px;color:var(--muted);}
.voyara-category-results-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;}
.voyara-place-card{min-width:0;border:1px solid #dfe8df;border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(12,52,64,.04);overflow:hidden;}
.voyara-place-card-body{padding:15px;display:flex;flex-direction:column;height:100%;}
.voyara-place-type{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--teal);}
.voyara-place-card h4{margin:6px 0 5px;font-size:16px;line-height:1.25;}
.voyara-place-card p{margin:7px 0;color:#64736c;font-size:12px;line-height:1.45;}
.voyara-place-rating{font-size:13px;font-weight:800;color:#6f5b1d;}
.voyara-place-rating small{font-weight:500;color:#7a817c;}
.voyara-place-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:10px;}
.voyara-place-actions a,.voyara-place-actions button{font-size:11px;padding:8px 9px;border-radius:9px;text-decoration:none;border:1px solid #dce2d8;background:#f7faf5;color:#24483d;cursor:pointer;font:inherit;}
.voyara-place-actions a{display:inline-flex;align-items:center;}
.voyara-place-actions button:hover,.voyara-place-actions a:hover{border-color:var(--teal);}

.destination-modal-card{max-width:760px!important;}
.destination-modal-image{position:relative;height:220px;overflow:hidden;border-radius:16px;background:var(--teal);}
.destination-modal-image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85);}
.destination-modal-image>div{position:absolute;inset:auto 0 0;padding:50px 24px 20px;background:linear-gradient(transparent,rgba(12,52,64,.9));color:#fff;}
.destination-modal-image h2{margin:5px 0;font-size:32px;}
.destination-modal-image p{margin:0;font-size:12px;opacity:.9;}
.destination-modal-body{padding:18px 4px 2px;}
.destination-modal-body>p{line-height:1.65;}
.destination-guide-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;}
.destination-guide-facts>div{padding:13px;border:1px solid var(--border);border-radius:12px;background:#fbfcfa;}
.destination-guide-facts span{display:block;font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;}
.destination-guide-facts strong{display:block;font-size:12px;line-height:1.45;color:var(--text);}
.destination-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;}

.voyara-chat-launcher{right:24px!important;bottom:24px!important;background:var(--teal)!important;border-radius:14px!important;padding:13px 17px!important;box-shadow:0 12px 30px rgba(12,52,64,.22)!important;}
.voyara-chat-head{background:var(--teal)!important;}
.voyara-chat-form button,.voyara-chat-message.user{background:var(--teal)!important;}

/* Browser print / Save as PDF: print the generated itinerary, not the app shell. */
@media print{
  body.voyara-printing *{visibility:hidden!important;}
  body.voyara-printing #section-planner,
  body.voyara-printing #section-planner #itineraryContainer,
  body.voyara-printing #section-planner #itineraryContainer *{visibility:visible!important;}
  body.voyara-printing #section-planner{display:block!important;position:absolute!important;inset:0!important;width:100%!important;margin:0!important;padding:22mm 18mm!important;background:#fff!important;color:#111!important;}
  body.voyara-printing #section-planner>*:not(#itineraryContainer){display:none!important;}
  body.voyara-printing #itineraryContainer{display:block!important;position:static!important;max-width:none!important;background:#fff!important;box-shadow:none!important;border:0!important;}
  body.voyara-printing .itinerary-actions,body.voyara-printing #plannerActions,body.voyara-printing #voyaraItineraryEditor{display:none!important;}
  body.voyara-printing .voyara-day-heading{break-after:avoid;page-break-after:avoid;background:#eef4f0!important;border-left:4px solid #0d625b!important;color:#17313b!important;}
  body.voyara-printing .voyara-section-heading{break-after:avoid;page-break-after:avoid;}
  body.voyara-printing .voyara-itinerary-content,.voyara-printing #itineraryPreview{font-size:11pt!important;line-height:1.6!important;}
  body.voyara-printing .voyara-itinerary-content h3,body.voyara-printing #itineraryPreview h3{break-after:avoid;page-break-after:avoid;}
}

@media(max-width:1050px){.voyara-category-results-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.explore-map-panel{max-width:none;position:static;}.explore-layout{grid-template-columns:1fr!important;}}
@media(max-width:700px){.destination-grid{grid-template-columns:1fr!important;}.voyara-for-you-toolbar{grid-template-columns:1fr;}.voyara-category-results-grid{grid-template-columns:1fr;}.destination-guide-facts{grid-template-columns:1fr;}.destination-modal-image{height:190px;}}
