/* FlyUp4You adaptive design system - loaded last */
:root {
    --text-main: var(--text-primary);
    --text-muted: var(--text-secondary);
    --flyup-page-max: 1180px;
    --flyup-dashboard-max: 1240px;
    --flyup-readable: 760px;
    --flyup-space-xs: clamp(0.45rem, 0.35vw, 0.65rem);
    --flyup-space-sm: clamp(0.7rem, 0.55vw, 0.95rem);
    --flyup-space-md: clamp(1rem, 0.9vw, 1.35rem);
    --flyup-space-lg: clamp(1.35rem, 1.5vw, 2rem);
    --flyup-space-xl: clamp(2rem, 2.4vw, 3.2rem);
    --flyup-h1: clamp(2rem, 2.15vw, 3.35rem);
    --flyup-h2: clamp(1.45rem, 1.45vw, 2.2rem);
    --flyup-h3: clamp(1.05rem, 1.05vw, 1.35rem);
    --flyup-body: clamp(0.92rem, 0.55vw, 1rem);
    --flyup-small: clamp(0.78rem, 0.48vw, 0.9rem);
}

html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    font-size: var(--flyup-body);
}

.container {
    width: min(calc(100% - clamp(1rem, 4vw, 4rem)), var(--flyup-page-max));
}

.flyup-dashboard-page > .container,
.ai-mode-page > .container,
.manual-planner-page > .container,
.flyup-pricing-page > .container {
    width: min(calc(100% - clamp(1rem, 4vw, 4rem)), var(--flyup-dashboard-max));
}

h1,
.section-title,
.homepage-hero__title,
.flyup-pricing-hero h1,
.ai-page-header h1,
.flyup-dashboard-welcome h1,
.manual-trip-title {
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.section-title,
.flyup-pricing-hero h1,
.ai-page-header h1,
.flyup-dashboard-welcome h1 {
    font-size: var(--flyup-h1) !important;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.homepage-hero__title {
    font-size: clamp(2.4rem, 3.2vw, 4.15rem) !important;
    line-height: 0.98;
    max-width: 11ch;
}

.section-subtitle,
.homepage-hero__description,
.flyup-pricing-hero p,
.ai-page-header p,
.flyup-dashboard-welcome p,
.manual-planner-header__intro {
    font-size: clamp(0.94rem, 0.62vw, 1.05rem) !important;
    line-height: 1.65;
}

.btn {
    min-height: clamp(42px, 2.8vw, 50px);
    padding: clamp(0.72rem, 0.7vw, 0.95rem) clamp(1rem, 1vw, 1.35rem);
    font-size: clamp(0.88rem, 0.56vw, 0.98rem);
}

.btn-sm {
    min-height: 40px;
    padding: 0.65rem 0.95rem;
}

.card {
    border-radius: clamp(16px, 1.1vw, 22px);
}

.site-header {
    padding-top: clamp(0.65rem, 1vw, 1rem);
}

.site-header__inner {
    max-width: min(100%, 1360px);
    margin-inline: auto;
    padding: 0.72rem 1rem;
    gap: 0.8rem;
}

.site-logo__text {
    font-size: clamp(0.95rem, 0.65vw, 1.1rem);
}

.site-logo__mark {
    width: clamp(2rem, 1.8vw, 2.35rem);
    height: clamp(2rem, 1.8vw, 2.35rem);
}

.site-nav__menu {
    gap: clamp(0.75rem, 1.1vw, 1.45rem);
    flex-wrap: nowrap;
}

.site-nav__menu a {
    font-size: clamp(0.84rem, 0.55vw, 0.95rem);
    white-space: nowrap;
}

.site-actions {
    gap: 0.55rem;
}

.site-lang-switcher__item {
    min-width: 34px;
    min-height: 30px;
    font-size: 0.72rem;
}

.site-menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4px;
    cursor: pointer;
    flex-shrink: 0;
}

.site-menu-toggle span {
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: var(--text-primary);
    transition: transform .2s ease, opacity .2s ease;
}

.site-header__inner.is-menu-open .site-menu-toggle span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}

.site-header__inner.is-menu-open .site-menu-toggle span:nth-child(2) {
    opacity: 0;
}

.site-header__inner.is-menu-open .site-menu-toggle span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}

.homepage-hero,
.flyup-pricing-page,
.ai-mode-page,
.manual-planner-page,
.flyup-dashboard-page {
    padding-block: clamp(1.6rem, 3vw, 3.5rem) clamp(2.5rem, 4vw, 5rem) !important;
}

.homepage-benefits,
.homepage-how-it-works,
.homepage-report-preview,
.homepage-pricing,
.homepage-faq,
.homepage-final-cta {
    padding-block: clamp(2.5rem, 4vw, 4.5rem) !important;
}

.hero-shell {
    grid-template-columns: minmax(0, 0.94fr) minmax(360px, 500px) !important;
    gap: clamp(1.5rem, 3vw, 3rem);
}

.homepage-hero__content {
    max-width: 560px;
}

.hero-media {
    max-width: 500px;
    min-height: clamp(470px, 39vw, 600px) !important;
}

.hero-media-tile--tall { min-height: clamp(230px, 19vw, 290px) !important; }
.hero-media-tile--medium { min-height: clamp(200px, 16vw, 240px) !important; }
.hero-media-tile--small { min-height: clamp(170px, 13vw, 205px) !important; }

.hero-stats,
.benefits-grid,
.steps-grid,
.pricing-grid,
.flyup-dashboard-stats,
.flyup-dashboard-services,
.flyup-pricing-grid,
.flyup-pricing-unlocks__grid {
    gap: clamp(0.85rem, 1.1vw, 1.4rem) !important;
}

.hero-stat,
.benefit-card,
.step-card,
.pricing-card,
.final-cta-card,
.report-preview__mockup,
.services-strip,
.metric-box,
.faq-item,
.flyup-dashboard-section,
.flyup-dashboard-service,
.flyup-dashboard-stat,
.flyup-pricing-card,
.flyup-pricing-unlocks,
.flyup-pricing-member,
.manual-planner-header,
.manual-trip-brief,
.manual-sidebar-card,
.manual-day-card,
.ai-progress-wrap,
.ai-form-shell {
    padding: clamp(1rem, 1.25vw, 1.55rem) !important;
}

.report-preview-luxury__top h3,
.flyup-dashboard-service h3,
.flyup-pricing-unlocks__grid h3,
.ai-step-title {
    font-size: var(--flyup-h3) !important;
}

.report-preview-luxury__subtitle,
.report-preview-luxury__weather span,
.report-preview-luxury__highlights span,
.flyup-dashboard-nav-item,
.flyup-dashboard-stat__label,
.flyup-dashboard-billing__row,
.ai-step-label,
.ai-chip,
.flyup-field label,
.manual-field > span {
    font-size: var(--flyup-small) !important;
}

.flyup-dashboard-layout {
    grid-template-columns: minmax(190px, 220px) minmax(0, 1fr) !important;
    gap: clamp(1rem, 1.6vw, 1.6rem) !important;
}

.flyup-dashboard-sidebar {
    top: 88px !important;
}

.flyup-dashboard-sidebar__inner {
    padding: 0.75rem !important;
}

.flyup-dashboard-nav-item {
    padding: 0.7rem 0.75rem !important;
    gap: 0.6rem;
}

.flyup-dashboard-main {
    gap: clamp(1rem, 1.1vw, 1.4rem) !important;
    min-width: 0;
}

.flyup-dashboard-welcome {
    align-items: center !important;
}

.flyup-dashboard-welcome h1,
.manual-trip-title {
    max-width: 720px;
    font-size: clamp(1.65rem, 1.85vw, 2.35rem) !important;
}

.manual-trip-title {
    min-height: 58px !important;
    max-width: 680px !important;
}

.manual-planner-header {
    align-items: center !important;
}

.manual-planner-top-grid {
    grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr) !important;
}

.manual-trip-brief__grid {
    grid-template-columns: repeat(4, minmax(140px, 1fr)) !important;
}

.manual-activity-item {
    grid-template-columns: minmax(84px, 100px) minmax(0, 1fr) minmax(95px, 120px) 34px !important;
    gap: 0.6rem !important;
}

input,
select,
textarea,
.form-control,
.manual-input {
    min-height: 42px !important;
    padding: 0.72rem 0.85rem !important;
    font-size: clamp(0.88rem, 0.55vw, 0.96rem) !important;
    border-radius: 12px !important;
}

textarea {
    min-height: 100px;
}

.flyup-profile-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
    max-width: 760px !important;
}

.flyup-profile-card strong {
    font-size: clamp(0.98rem, .7vw, 1.08rem) !important;
}

.ai-mode-container {
    max-width: 860px !important;
}

.ai-form-grid {
    gap: 0.9rem !important;
}

.flyup-pricing-page__container {
    max-width: 980px;
    margin-inline: auto;
}

.flyup-pricing-hero {
    padding: clamp(1.6rem, 2.6vw, 3rem) !important;
}

.flyup-pricing-card__price strong {
    font-size: clamp(1.7rem, 2.1vw, 2.35rem) !important;
}

@media (min-width: 1600px) {
    :root {
        --flyup-page-max: 1200px;
        --flyup-dashboard-max: 1260px;
    }

    .homepage-hero__title {
        font-size: 4rem !important;
    }

    .section-title,
    .flyup-pricing-hero h1,
    .ai-page-header h1 {
        font-size: 3rem !important;
    }
}

@media (max-width: 1180px) {
    .site-header__inner {
        border-radius: 26px !important;
        flex-wrap: wrap;
    }

    .site-menu-toggle {
        display: inline-flex;
        order: 3;
        margin-left: auto;
    }

    .site-nav,
    .site-actions {
        display: none !important;
        width: 100%;
        order: 4;
    }

    .site-header__inner.is-menu-open .site-nav {
        display: flex !important;
        justify-content: stretch;
    }

    .site-header__inner.is-menu-open .site-actions {
        display: flex !important;
    }

    .site-nav__menu {
        width: 100%;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.55rem !important;
    }

    .site-nav__menu a {
        display: block;
        padding: 0.78rem 0.85rem;
        border-radius: 14px;
        background: rgba(14, 165, 233, 0.06);
    }

    .site-actions {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .site-actions .btn {
        flex: 1 1 160px;
    }

    .site-lang-switcher {
        flex: 0 0 auto;
        width: auto !important;
    }

    .hero-shell {
        grid-template-columns: 1fr !important;
    }

    .homepage-hero__content,
    .hero-media {
        max-width: none;
        justify-self: stretch;
    }

    .homepage-hero__title {
        max-width: 14ch;
    }

    .flyup-dashboard-layout {
        grid-template-columns: 1fr !important;
    }

    .flyup-dashboard-sidebar {
        position: static !important;
    }

    .flyup-dashboard-sidebar__inner {
        display: flex;
        gap: 0.55rem;
        overflow-x: auto;
        padding: 0.7rem !important;
        scrollbar-width: thin;
    }

    .flyup-dashboard-nav-item {
        flex: 0 0 auto;
        margin-bottom: 0 !important;
        white-space: nowrap;
    }

    .flyup-dashboard-nav-item--logout {
        margin-top: 0 !important;
        border-top: 0 !important;
        padding-top: 0.7rem !important;
    }

    .manual-planner-header,
    .flyup-dashboard-welcome {
        flex-direction: column;
        align-items: flex-start !important;
    }

    .manual-planner-header__actions,
    .flyup-dashboard-welcome__actions {
        width: 100%;
        justify-content: flex-start !important;
    }
}

@media (max-width: 900px) {
    .container,
    .flyup-dashboard-page > .container,
    .ai-mode-page > .container,
    .manual-planner-page > .container,
    .flyup-pricing-page > .container {
        width: min(calc(100% - 1.25rem), 100%);
    }

    .homepage-hero__title,
    .section-title,
    .flyup-pricing-hero h1,
    .ai-page-header h1 {
        font-size: clamp(2rem, 8vw, 3rem) !important;
    }

    .hero-stats,
    .benefits-grid,
    .steps-grid,
    .pricing-grid,
    .flyup-dashboard-stats,
    .flyup-dashboard-services,
    .flyup-pricing-grid,
    .flyup-pricing-unlocks__grid,
    .manual-planner-top-grid {
        grid-template-columns: 1fr !important;
    }

    .manual-trip-brief__grid,
    .ai-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .ai-progress-steps {
        overflow-x: auto;
        padding-bottom: 0.25rem;
    }

    .ai-step-indicator {
        min-width: 82px;
    }

    .report-modal__grid,
    .report-preview-luxury {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    :root {
        --flyup-h1: clamp(1.9rem, 9vw, 2.55rem);
    }

    .site-header__inner {
        padding: 0.7rem;
    }

    .site-logo__text {
        max-width: 130px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .site-nav__menu,
    .manual-trip-brief__grid,
    .ai-form-grid {
        grid-template-columns: 1fr !important;
    }

    .site-actions {
        gap: 0.5rem;
    }

    .site-actions .btn {
        flex: 1 1 100%;
    }

    .site-lang-switcher {
        width: 100% !important;
        justify-content: center;
    }

    .homepage-hero__actions,
    .final-cta-card__actions,
    .manual-planner-header__actions,
    .ai-form-nav {
        flex-direction: column;
    }

    .homepage-hero__actions .btn,
    .final-cta-card__actions .btn,
    .manual-planner-header__actions .btn,
    .ai-form-nav .btn {
        width: 100%;
    }

    .hero-stats {
        gap: 0.7rem !important;
    }

    .hero-media {
        min-height: auto !important;
        grid-template-columns: 1fr !important;
    }

    .hero-media-column--up,
    .hero-media-column--down {
        animation: none !important;
    }

    .hero-media-column:nth-child(2) {
        display: none;
    }

    .manual-activity-item {
        grid-template-columns: 1fr 34px !important;
    }

    .manual-time-input,
    .manual-title-input,
    .manual-cost-input {
        grid-column: 1 / 2;
    }

    .manual-activity-remove {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
    }

    .flyup-dashboard-sidebar__inner {
        margin-inline: -0.1rem;
    }

    .flyup-profile-grid {
        grid-template-columns: 1fr !important;
    }
}

@media print {
    .site-header,
    .site-footer,
    .flyup-dashboard-sidebar,
    .site-menu-toggle {
        display: none !important;
    }

    .container,
    .flyup-dashboard-page > .container,
    .manual-planner-page > .container {
        width: 100% !important;
        max-width: none !important;
    }
}

/* =========================
   Premium report card final tuning
   - Corrected desktop layout so the CTA stays visible
   - Larger card, wider text column, clean internal margins
========================= */
.homepage-report-preview .report-preview {
    grid-template-columns: minmax(330px, 0.78fr) minmax(680px, 1.22fr) !important;
    align-items: center !important;
    gap: clamp(1.75rem, 2.6vw, 3rem) !important;
}

.homepage-report-preview .report-preview-luxury {
    grid-template-columns: minmax(230px, 0.48fr) minmax(0, 1fr) !important;
    min-height: 390px !important;
    height: auto !important;
    max-height: none !important;
    width: 100% !important;
    overflow: hidden !important;
}

.homepage-report-preview .report-preview-luxury__media {
    min-height: 390px !important;
    height: 100% !important;
}

.homepage-report-preview .report-preview-luxury__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.homepage-report-preview .report-preview-luxury__badge {
    top: 0.9rem !important;
    left: 0.9rem !important;
    padding: 0.36rem 0.72rem !important;
    font-size: clamp(0.7rem, 0.48vw, 0.78rem) !important;
    line-height: 1 !important;
}

.homepage-report-preview .report-preview-luxury__body {
    padding: clamp(1.1rem, 1.25vw, 1.45rem) clamp(1.25rem, 1.55vw, 1.8rem) !important;
    gap: clamp(0.62rem, 0.7vw, 0.86rem) !important;
    overflow: visible !important;
}

.homepage-report-preview .report-preview-luxury__top {
    gap: 1rem !important;
}

.homepage-report-preview .report-preview-luxury__top > div:first-child {
    min-width: 0 !important;
    flex: 1 1 auto !important;
    padding-right: 0.25rem !important;
}

.homepage-report-preview .report-preview-luxury__eyebrow {
    margin-bottom: 0.28rem !important;
    font-size: clamp(0.7rem, 0.48vw, 0.78rem) !important;
    letter-spacing: 0.07em !important;
}

.homepage-report-preview .report-preview-luxury__top h3 {
    margin-bottom: 0.32rem !important;
    font-size: clamp(1.26rem, 1.15vw, 1.52rem) !important;
    line-height: 1.08 !important;
    max-width: 26ch !important;
}

.homepage-report-preview .report-preview-luxury__subtitle {
    font-size: clamp(0.84rem, 0.62vw, 0.94rem) !important;
    line-height: 1.45 !important;
    max-width: 46ch !important;
}

.homepage-report-preview .report-preview-luxury__score {
    min-width: 58px !important;
    height: 40px !important;
    padding-inline: 0.75rem !important;
    font-size: clamp(0.9rem, 0.62vw, 1rem) !important;
    flex-shrink: 0 !important;
}

.homepage-report-preview .report-preview-luxury__weather,
.homepage-report-preview .report-preview-luxury__highlights {
    gap: 0.48rem !important;
}

.homepage-report-preview .report-preview-luxury__weather span,
.homepage-report-preview .report-preview-luxury__highlights span {
    min-height: 30px !important;
    padding: 0.34rem 0.68rem !important;
    font-size: clamp(0.7rem, 0.5vw, 0.8rem) !important;
    line-height: 1.18 !important;
    white-space: normal !important;
    max-width: 100% !important;
}

.homepage-report-preview .report-preview-luxury__footer {
    padding-top: 0.75rem !important;
    margin-top: auto !important;
}

.homepage-report-preview .report-preview-luxury__cta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 52px !important;
    padding: 0.82rem 1rem !important;
    border-radius: 16px !important;
    font-size: clamp(0.82rem, 0.58vw, 0.94rem) !important;
}

.homepage-report-preview .report-preview-luxury__cta-icon {
    width: 30px !important;
    height: 30px !important;
    font-size: 0.9rem !important;
}

@media (max-width: 1180px) {
    .homepage-report-preview .report-preview {
        grid-template-columns: 1fr !important;
    }

    .homepage-report-preview .report-preview-luxury {
        max-width: 760px !important;
        margin-inline: auto !important;
    }
}

@media (max-width: 900px) {
    .homepage-report-preview .report-preview-luxury {
        grid-template-columns: 1fr !important;
        min-height: auto !important;
        max-height: none !important;
    }

    .homepage-report-preview .report-preview-luxury__media {
        height: clamp(210px, 42vw, 280px) !important;
        min-height: clamp(210px, 42vw, 280px) !important;
    }

    .homepage-report-preview .report-preview-luxury__top h3,
    .homepage-report-preview .report-preview-luxury__subtitle {
        max-width: none !important;
    }
}

/* =========================
   FlyUp4You mobile/tablet hamburger header final fix
   Closed state: logo + 3-line button only.
   Open state: language/login/register + navigation links.
========================= */
.site-menu-toggle {
    display: none;
}

@media (max-width: 1180px) {
    .site-header__inner {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: wrap !important;
        gap: 0.75rem !important;
        border-radius: 22px !important;
        padding: 0.8rem 0.95rem !important;
    }

    .site-logo {
        order: 1 !important;
    }

    .site-menu-toggle {
        order: 2 !important;
        display: inline-flex !important;
        width: 44px !important;
        height: 44px !important;
        border: 1px solid rgba(219, 231, 243, 0.95) !important;
        border-radius: 14px !important;
        background: rgba(255, 255, 255, 0.96) !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        gap: 5px !important;
        padding: 0 !important;
        cursor: pointer !important;
        box-shadow: 0 10px 26px rgba(15, 23, 42, 0.07) !important;
        margin-left: auto !important;
    }

    .site-menu-toggle span {
        display: block !important;
        width: 22px !important;
        height: 3px !important;
        border-radius: 999px !important;
        background: #0f172a !important;
        transition: transform 0.22s ease, opacity 0.22s ease !important;
    }

    .site-header__inner.is-menu-open .site-menu-toggle span:nth-child(1) {
        transform: translateY(8px) rotate(45deg) !important;
    }

    .site-header__inner.is-menu-open .site-menu-toggle span:nth-child(2) {
        opacity: 0 !important;
    }

    .site-header__inner.is-menu-open .site-menu-toggle span:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg) !important;
    }

    .site-nav,
    .site-actions {
        display: none !important;
        width: 100% !important;
    }

    .site-header__inner.is-menu-open .site-actions {
        order: 3 !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.65rem !important;
        align-items: stretch !important;
    }

    .site-header__inner.is-menu-open .site-actions .site-lang-switcher {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        justify-content: center !important;
    }

    .site-header__inner.is-menu-open .site-actions .btn {
        width: 100% !important;
        justify-content: center !important;
        min-height: 46px !important;
    }

    .site-header__inner.is-menu-open .site-nav {
        order: 4 !important;
        display: block !important;
    }

    .site-header__inner.is-menu-open .site-nav__menu {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.55rem !important;
        width: 100% !important;
        padding-top: 0.1rem !important;
    }

    .site-header__inner.is-menu-open .site-nav__menu a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 42px !important;
        padding: 0.72rem 0.75rem !important;
        border-radius: 14px !important;
        background: rgba(14, 165, 233, 0.06) !important;
        font-size: 0.92rem !important;
        line-height: 1.15 !important;
    }
}

@media (max-width: 640px) {
    .site-header__inner.is-menu-open .site-nav__menu,
    .site-header__inner.is-menu-open .site-actions {
        grid-template-columns: 1fr !important;
    }

    .site-menu-toggle {
        width: 42px !important;
        height: 42px !important;
    }
}

/* ========================================================================== 
   FINAL RESPONSIVE - Dashboard client + hero cloud gallery
   ========================================================================== */

.flyup-dashboard-page > .container {
    width: min(calc(100% - clamp(1rem, 4vw, 3rem)), 1240px) !important;
}

.flyup-dashboard-layout {
    grid-template-columns: minmax(188px, 220px) minmax(0, 1fr) !important;
    gap: clamp(1rem, 1.5vw, 1.6rem) !important;
}

.flyup-dashboard-sidebar__inner {
    overflow: hidden;
}

.flyup-dashboard-main,
.flyup-dashboard-section,
.flyup-dashboard-welcome,
.flyup-dashboard-stat,
.flyup-dashboard-service,
.flyup-dashboard-history-item {
    min-width: 0 !important;
}

.flyup-dashboard-welcome h1 {
    font-size: clamp(1.55rem, 1.9vw, 2.25rem) !important;
}

.flyup-dashboard-welcome p,
.flyup-dashboard-service p,
.flyup-dashboard-history-item__meta,
.flyup-dashboard-billing__row,
.flyup-dashboard-profile__info p,
.flyup-dashboard-profile__info small {
    font-size: clamp(0.82rem, 0.52vw, 0.94rem) !important;
}

.flyup-dashboard-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.flyup-dashboard-stat {
    min-height: 126px !important;
}

.homepage-hero .hero-media.card,
.homepage-hero .hero-media {
    position: relative !important;
    isolation: isolate !important;
    height: 460px !important;
    min-height: 460px !important;
    max-height: 460px !important;
    overflow: hidden !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 44% 56% 47% 53% / 42% 48% 52% 58% !important;
}

.homepage-hero .hero-media::before {
    content: "";
    position: absolute;
    inset: -20px;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 22%, rgba(255,255,255,0.98) 0%, rgba(255,255,255,0.68) 34%, rgba(255,255,255,0) 66%),
        radial-gradient(circle at 82% 18%, rgba(224,242,254,0.86) 0%, rgba(224,242,254,0.44) 38%, rgba(224,242,254,0) 70%),
        radial-gradient(circle at 72% 84%, rgba(204,251,241,0.76) 0%, rgba(204,251,241,0.40) 38%, rgba(204,251,241,0) 72%),
        radial-gradient(circle at 20% 76%, rgba(255,255,255,0.92) 0%, rgba(255,255,255,0.52) 40%, rgba(255,255,255,0) 74%),
        linear-gradient(135deg, rgba(255,255,255,0.72), rgba(224,242,254,0.38), rgba(204,251,241,0.32));
    filter: blur(18px);
    transform: scale(1.04);
}

.homepage-hero .hero-media-column {
    position: relative !important;
    z-index: 1 !important;
}

.homepage-hero .hero-media-column--up {
    animation: heroColumnUp 28s linear infinite !important;
}

.homepage-hero .hero-media-column--down {
    animation: heroColumnDown 28s linear infinite !important;
}

@keyframes heroColumnUp {
    from { transform: translateY(0); }
    to { transform: translateY(-50%); }
}

@keyframes heroColumnDown {
    from { transform: translateY(-50%); }
    to { transform: translateY(0); }
}

@media (max-width: 1180px) {
    .flyup-dashboard-page > .container {
        width: min(calc(100% - 1.5rem), 100%) !important;
    }

    .flyup-dashboard-layout {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

    .flyup-dashboard-sidebar {
        position: sticky !important;
        top: 78px !important;
        z-index: 25 !important;
    }

    .flyup-dashboard-sidebar__inner {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 0.55rem !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 0.65rem !important;
        border-radius: 18px !important;
        background: rgba(255,255,255,0.92) !important;
        backdrop-filter: blur(14px) !important;
        scrollbar-width: thin !important;
    }

    .flyup-dashboard-nav-item {
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0.62rem 0.78rem !important;
        border-radius: 999px !important;
        white-space: nowrap !important;
        font-size: 0.84rem !important;
    }

    .flyup-dashboard-nav-item--logout {
        margin-top: 0 !important;
        border-top: none !important;
        padding-top: 0.62rem !important;
    }

    .flyup-dashboard-welcome {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 1.15rem !important;
    }

    .flyup-dashboard-welcome__actions {
        width: 100% !important;
    }

    .flyup-dashboard-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .flyup-dashboard-grid-secondary,
    .flyup-dashboard-services {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    .flyup-dashboard-page {
        padding-block: 1.25rem 2.5rem !important;
    }

    .flyup-dashboard-page > .container {
        width: min(calc(100% - 1rem), 100%) !important;
    }

    .flyup-dashboard-sidebar {
        top: 68px !important;
    }

    .flyup-dashboard-sidebar__inner {
        margin-inline: 0 !important;
        padding: 0.55rem !important;
        gap: 0.45rem !important;
        border-radius: 16px !important;
    }

    .flyup-dashboard-nav-item {
        padding: 0.56rem 0.68rem !important;
        font-size: 0.78rem !important;
    }

    .flyup-dashboard-welcome h1 {
        font-size: clamp(1.35rem, 7vw, 1.85rem) !important;
    }

    .flyup-dashboard-welcome__actions,
    .flyup-dashboard-history-item,
    .flyup-dashboard-billing__row,
    .flyup-dashboard-profile {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .flyup-dashboard-welcome__actions .btn,
    .flyup-dashboard-inline-btn {
        width: 100% !important;
        justify-content: center !important;
    }

    .flyup-dashboard-stats,
    .flyup-dashboard-services,
    .flyup-profile-grid {
        grid-template-columns: 1fr !important;
    }

    .flyup-dashboard-stat,
    .flyup-dashboard-section,
    .flyup-dashboard-service {
        padding: 0.95rem !important;
    }

    .flyup-dashboard-history-item__actions {
        width: 100% !important;
        justify-content: flex-start !important;
    }
}

@media (max-width: 1024px) {
    .homepage-hero .hero-media.card,
    .homepage-hero .hero-media {
        display: none !important;
    }
}


/* =========================================
   STEP33 — stronger tablet / GSM adaptation
========================================= */
@media (max-width: 900px) {
    .site-header {
        padding-top: 0.65rem;
    }

    .site-header__inner {
        position: relative;
        border-radius: 24px !important;
        padding: 0.75rem 0.85rem !important;
        gap: 0.75rem !important;
    }

    .site-logo__mark {
        width: 2.05rem;
        height: 2.05rem;
    }

    .site-logo__text {
        font-size: 0.98rem !important;
    }

    .site-menu-toggle {
        width: 42px;
        height: 42px;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
    }

    .site-header__inner.is-menu-open .site-nav,
    .site-header__inner.is-menu-open .site-actions {
        padding: 0.25rem;
        border-radius: 18px;
        border: 1px solid rgba(219, 231, 243, 0.95);
        background: rgba(255, 255, 255, 0.94);
        box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
    }

    .site-nav__menu {
        grid-template-columns: 1fr !important;
    }

    .site-nav__menu a {
        padding: 0.88rem 0.95rem !important;
        font-weight: 700;
    }

    .site-actions {
        padding-top: 0.2rem;
    }

    .site-lang-switcher {
        width: 100% !important;
        justify-content: center;
    }

    .homepage-hero {
        padding-top: 1.15rem !important;
    }

    .homepage-hero__content {
        padding-top: 0 !important;
        max-width: 100% !important;
    }

    .homepage-hero__eyebrow {
        display: inline-flex;
        justify-content: center;
        margin: 0 auto 0.8rem;
        width: auto;
    }

    .homepage-hero__title {
        font-size: clamp(1.95rem, 7vw, 2.7rem) !important;
        line-height: 1.02 !important;
        max-width: 11ch !important;
        margin-inline: auto;
        text-align: center;
    }

    .homepage-hero__description {
        max-width: 34ch !important;
        margin-inline: auto !important;
        text-align: center !important;
        font-size: 0.98rem !important;
    }

    .homepage-hero__actions {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 0.8rem;
        width: 100%;
        max-width: 420px;
        margin: 0 auto;
    }

    .homepage-hero__actions .btn {
        width: 100%;
    }

    .hero-trustbar {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.65rem !important;
        margin-top: 1.15rem !important;
    }

    .hero-trustbar span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        text-align: center;
        min-height: 42px;
        padding: 0.7rem 0.8rem !important;
        font-size: 0.84rem !important;
        line-height: 1.3;
    }

    .hero-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0.7rem !important;
        margin-top: 1.1rem !important;
    }

    .hero-stat {
        padding: 0.95rem 0.75rem !important;
        text-align: center;
        min-height: 0;
    }

    .hero-stat strong {
        font-size: 1.2rem !important;
        margin-bottom: 0.25rem !important;
    }

    .hero-stat span {
        font-size: 0.8rem !important;
        line-height: 1.35;
    }

    .homepage-modes,
    .homepage-benefits,
    .homepage-how-it-works,
    .homepage-report-preview,
    .homepage-pricing,
    .homepage-faq,
    .homepage-final-cta {
        padding-block: 2.6rem !important;
    }

    .section-title {
        max-width: 12ch;
        margin-inline: auto;
    }
}

@media (max-width: 640px) {
    .site-header__inner {
        border-radius: 20px !important;
        padding: 0.7rem !important;
    }

    .site-logo__text {
        max-width: 118px !important;
    }

    .homepage-hero__title {
        font-size: clamp(1.8rem, 9vw, 2.25rem) !important;
        max-width: 10ch !important;
    }

    .homepage-hero__description {
        font-size: 0.94rem !important;
        max-width: 28ch !important;
    }

    .hero-trustbar {
        grid-template-columns: 1fr !important;
    }

    .hero-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .hero-stat:nth-child(3) {
        grid-column: 1 / -1;
    }

    .hero-stat {
        padding: 0.85rem 0.75rem !important;
    }

    .hero-stat strong {
        font-size: 1.08rem !important;
    }

    .hero-stat span {
        font-size: 0.78rem !important;
    }

    .section-title,
    .homepage-modes .section-title {
        font-size: clamp(1.75rem, 8vw, 2.2rem) !important;
    }
}


/* =========================================
   STEP39 — dashboard/account mobile header aligned logo + lang + logout
========================================= */
@media (max-width: 1180px) {
    .site-header__inner--mobile-langs-only {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 0.7rem !important;
        flex-wrap: nowrap !important;
    }

    .site-header__inner--mobile-langs-only .site-menu-toggle,
    .site-header__inner--mobile-langs-only .site-nav {
        display: none !important;
    }

    .site-header__inner--mobile-langs-only .site-logo {
        min-width: 0 !important;
        margin-right: auto !important;
        display: inline-flex !important;
        align-items: center !important;
        flex: 1 1 auto !important;
    }

    .site-header__inner--mobile-langs-only .site-actions {
        display: inline-flex !important;
        width: auto !important;
        margin-left: auto !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 0.55rem !important;
        flex: 0 0 auto !important;
        flex-wrap: nowrap !important;
    }

    .site-header__inner--mobile-langs-only .site-actions .site-lang-switcher {
        width: auto !important;
        display: inline-flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 0.18rem !important;
        border-radius: 999px !important;
        background: rgba(255, 255, 255, 0.96) !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06) !important;
        align-self: center !important;
    }

    .site-header__inner--mobile-langs-only .site-actions .site-lang-switcher__item {
        min-width: 34px !important;
        width: 34px !important;
        min-height: 34px !important;
        height: 34px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 0.72rem !important;
    }

    .site-header__inner--mobile-langs-only .site-actions .site-actions__logout {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 !important;
        border-radius: 999px !important;
        font-size: 0.95rem !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08) !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        align-self: center !important;
        flex: 0 0 auto !important;
    }

    .site-header__inner--mobile-langs-only .site-actions .site-actions__logout--icon span {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
        transform: none !important;
    }
}

@media (max-width: 640px) {
    .site-header__inner--mobile-langs-only {
        gap: 0.45rem !important;
        padding-right: 0.7rem !important;
    }

    .site-header__inner--mobile-langs-only .site-logo__text {
        font-size: 0.92rem !important;
    }

    .site-header__inner--mobile-langs-only .site-actions {
        gap: 0.45rem !important;
    }

    .site-header__inner--mobile-langs-only .site-actions .site-lang-switcher__item {
        min-width: 32px !important;
        width: 32px !important;
        min-height: 32px !important;
        height: 32px !important;
        font-size: 0.7rem !important;
    }

    .site-header__inner--mobile-langs-only .site-actions .site-actions__logout {
        min-width: 36px !important;
        width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        font-size: 0.9rem !important;
    }
}

/* =========================================
   STEP53 PHASE14 — RESPONSIVE FINAL CHECK FROM PHASE13
   Base: Step53-phase13-admin-complete-check
========================================= */

*, *::before, *::after {
    box-sizing: border-box;
}

html,
body {
    max-width: 100%;
    overflow-x: clip;
}

img,
svg,
video,
canvas,
iframe {
    max-width: 100%;
}

input,
select,
textarea,
button {
    max-width: 100%;
}

.site-main,
.flyup-dashboard,
.flyup-ai-mode,
.flyup-my-trips,
.flyup-billing,
.flyup-report,
.flyup-travel-budget,
.flyup-admin-page,
.dashboard-page,
.ai-mode-page,
.my-trips-page,
.billing-page {
    max-width: 100%;
    overflow-x: clip;
}

/* Header / navigation */
@media (max-width: 980px) {
    .site-header,
    .site-header__inner {
        max-width: 100%;
    }

    .site-header__inner:not(.site-header__inner--mobile-langs-only) {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        flex-wrap: wrap;
    }

    .site-logo {
        min-width: 0;
        flex: 1 1 auto;
    }

    .site-logo__text {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .site-nav {
        width: 100%;
        order: 10;
    }

    .site-nav__list,
    .site-menu,
    .main-menu {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.55rem;
    }

    .site-nav a,
    .site-menu a,
    .main-menu a {
        width: 100%;
        display: flex;
        justify-content: center;
        text-align: center;
        white-space: normal;
    }
}

/* Shared grids */
@media (max-width: 1180px) {
    .dashboard-grid,
    .dashboard-cards,
    .stats-grid,
    .billing-grid,
    .pricing-grid,
    .reports-grid,
    .trips-grid,
    .ai-form-grid,
    .admin-grid,
    .report-manager-grid,
    .flyup-admin-grid,
    .homepage-grid,
    .travel-budget-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .dashboard-grid,
    .dashboard-cards,
    .stats-grid,
    .billing-grid,
    .pricing-grid,
    .reports-grid,
    .trips-grid,
    .ai-form-grid,
    .admin-grid,
    .report-manager-grid,
    .flyup-admin-grid,
    .homepage-grid,
    .travel-budget-grid,
    .home-modes-grid,
    .pricing-grid--two,
    .benefits-grid,
    .steps-grid,
    .report-preview,
    .services-strip,
    .report-modal__grid {
        grid-template-columns: 1fr !important;
    }
}

/* Cards / panels */
@media (max-width: 760px) {
    .card,
    .dashboard-card,
    .pricing-card,
    .billing-card,
    .trip-card,
    .report-card,
    .admin-card,
    .ai-card,
    .travel-budget-card,
    .report-block,
    .faq-item,
    .benefit-card,
    .step-card {
        width: 100%;
        min-width: 0;
        padding: 1rem !important;
        border-radius: 18px;
    }

    .btn,
    .button,
    .button-primary,
    .button-secondary,
    .dashboard-actions a,
    .dashboard-actions button,
    .trip-card__actions a,
    .trip-card__actions button,
    .billing-actions a,
    .billing-actions button,
    .ai-form-actions button,
    .ai-form-actions a {
        width: 100%;
        justify-content: center;
        text-align: center;
        white-space: normal;
    }
}

/* Homepage + Travel Budget */
@media (max-width: 900px) {
    .hero-shell,
    .travel-budget-hero,
    .travel-budget-layout,
    .homepage-report-preview,
    .report-preview {
        grid-template-columns: 1fr !important;
        text-align: center;
    }

    .homepage-hero__content,
    .travel-budget-hero__content,
    .homepage-hero__description,
    .section-subtitle--left,
    .section-title--left {
        text-align: center !important;
        margin-left: auto;
        margin-right: auto;
    }

    .homepage-hero__actions,
    .hero-trustbar,
    .travel-budget-actions {
        justify-content: center;
    }
}

@media (max-width: 640px) {
    .homepage-hero__title,
    .section-title,
    .travel-budget-title,
    .page-title {
        font-size: clamp(1.8rem, 9vw, 2.35rem) !important;
        line-height: 1.08 !important;
    }

    .homepage-hero,
    .homepage-benefits,
    .homepage-how-it-works,
    .homepage-report-preview,
    .homepage-pricing,
    .homepage-faq,
    .homepage-final-cta,
    .homepage-modes,
    .travel-budget-section {
        padding-top: 2.5rem !important;
        padding-bottom: 2.5rem !important;
    }
}

/* Mode IA */
@media (max-width: 820px) {
    .ai-service-options,
    .ai-mode-options,
    .ai-choice-grid,
    .mode-choice-grid {
        grid-template-columns: 1fr !important;
    }

    .ai-form-row,
    .ai-form-two-cols,
    .ai-form-three-cols,
    .form-grid,
    .form-row {
        grid-template-columns: 1fr !important;
    }

    .ai-generation-modal,
    .ai-progress-box,
    .ai-progress-card {
        width: min(100% - 1.25rem, 560px) !important;
        padding: 1rem !important;
    }

    .ai-progress-steps {
        grid-template-columns: 1fr !important;
    }
}

/* Dashboard / My Trips */
@media (max-width: 820px) {
    .dashboard-header,
    .dashboard-summary,
    .dashboard-toolbar,
    .my-trips-toolbar,
    .billing-toolbar,
    .profile-layout {
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
        text-align: center;
    }

    .dashboard-actions,
    .trip-card__actions,
    .report-actions,
    .billing-actions,
    .profile-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0.65rem !important;
    }

    .dashboard-table-wrap,
    .payments-table-wrap,
    .credits-table-wrap,
    .admin-table-wrap,
    .table-responsive {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    table {
        min-width: 680px;
    }
}

/* Report rendering + PDF preview */
@media (max-width: 820px) {
    .report-header,
    .report-summary-grid,
    .report-day-grid,
    .report-section-grid,
    .report-layout,
    .report-preview-luxury {
        grid-template-columns: 1fr !important;
    }

    .report-preview-luxury {
        min-height: auto !important;
        max-height: none !important;
    }

    .report-preview-luxury__media {
        min-height: 220px !important;
    }

    .flyup-report,
    .report-document,
    .report-page {
        padding: 1rem !important;
        border-radius: 18px !important;
    }
}

/* Billing / Stripe */
@media (max-width: 820px) {
    .billing-pack-grid,
    .credit-pack-grid,
    .stripe-settings-grid,
    .payment-grid {
        grid-template-columns: 1fr !important;
    }

    .credit-pack-card,
    .billing-card,
    .stripe-card {
        min-width: 0;
    }
}

/* Admin WordPress pages */
@media (max-width: 1200px) {
    .flyup-report-manager-layout,
    .report-manager-layout,
    .flyup-settings-layout,
    .admin-settings-layout {
        grid-template-columns: 1fr !important;
    }

    .report-preview-pane,
    .report-manager-preview,
    .flyup-admin-preview {
        position: static !important;
        top: auto !important;
        max-height: none !important;
    }
}

@media (max-width: 782px) {
    .wrap.flyup-admin-page,
    .flyup-admin-page {
        margin-left: 0 !important;
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    .flyup-admin-page input,
    .flyup-admin-page select,
    .flyup-admin-page textarea {
        width: 100% !important;
    }
}

/* Print must stay clean */
@media print {
    html,
    body {
        overflow: visible !important;
    }

    .site-header,
    .site-footer,
    .dashboard-actions,
    .report-actions,
    .no-print {
        display: none !important;
    }

    .flyup-report,
    .report-document,
    .report-page {
        box-shadow: none !important;
        border: none !important;
        padding: 0 !important;
    }
}

/* Report preview modal action */
.report-modal__actions {
    display: flex;
    justify-content: center;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(14,165,233,0.12);
}

.report-modal__actions .btn {
    min-width: min(100%, 320px);
}

/* =====================================================================
   STEP53 PHASE17BQ — Export page header spacing / no-overlap fix
   Problem observed on Hostinger: on the export page, the logo, navigation,
   language switcher, dashboard and logout buttons can overlap when the
   available width is not enough. This block is loaded last and only targets
   body.flyup-export-screen.
===================================================================== */
@media screen {
    .flyup-export-screen .site-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 1000 !important;
        padding: 0.9rem 0 0 !important;
    }

    .flyup-export-screen .site-header > .container,
    .flyup-export-screen .site-header__inner.container {
        width: min(calc(100% - 1.25rem), 1440px) !important;
        max-width: 1440px !important;
        margin-inline: auto !important;
    }

    .flyup-export-screen .site-header__inner {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        min-height: 72px !important;
        padding: 0.78rem 1.15rem !important;
        gap: clamp(0.7rem, 1vw, 1.25rem) !important;
        border-radius: 999px !important;
        overflow: visible !important;
    }

    .flyup-export-screen .site-logo,
    .flyup-export-screen .site-logo--image {
        position: relative !important;
        z-index: 2 !important;
        flex: 0 0 auto !important;
        min-width: 0 !important;
    }

    .flyup-export-screen .site-logo--image .site-logo__image {
        width: clamp(150px, 13vw, 198px) !important;
        max-width: clamp(150px, 13vw, 198px) !important;
        height: auto !important;
        object-fit: contain !important;
        display: block !important;
    }

    .flyup-export-screen .site-nav {
        min-width: 0 !important;
        width: auto !important;
        justify-content: center !important;
        overflow: visible !important;
    }

    .flyup-export-screen .site-nav__menu {
        justify-content: center !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: clamp(0.25rem, 0.55vw, 0.75rem) !important;
    }

    .flyup-export-screen .site-nav__link,
    .flyup-export-screen .site-nav__menu a {
        white-space: nowrap !important;
        font-size: clamp(0.76rem, 0.72vw, 0.9rem) !important;
        line-height: 1.1 !important;
        padding: 0.42rem 0.48rem !important;
    }

    .flyup-export-screen .site-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        min-width: max-content !important;
        width: auto !important;
        gap: 0.45rem !important;
    }

    .flyup-export-screen .site-actions .btn {
        white-space: nowrap !important;
        min-height: 42px !important;
        padding: 0.66rem 0.95rem !important;
        font-size: 0.84rem !important;
        line-height: 1.1 !important;
    }

    .flyup-export-screen .site-lang-switcher {
        flex: 0 0 auto !important;
        width: auto !important;
    }

    .flyup-export-screen .site-lang-switcher__item {
        min-width: 34px !important;
        min-height: 32px !important;
        font-size: 0.72rem !important;
    }

    .flyup-export-screen .flyup-export-page {
        padding-top: clamp(3.4rem, 5vw, 5.2rem) !important;
        padding-bottom: 4.5rem !important;
    }

    .flyup-export-screen .flyup-export-page > .container {
        width: min(calc(100% - 1.5rem), 1120px) !important;
        max-width: 1120px !important;
        margin-inline: auto !important;
    }

    .flyup-export-screen .flyup-export-page .flyup-print-view--report,
    .flyup-export-screen .flyup-export-page .flyup-editorial-report {
        width: 100% !important;
        max-width: 1120px !important;
        margin-inline: auto !important;
    }
}

/* Collapse export navigation earlier than the global header. This avoids any
   collision on laptop screens, browser zoom, Hostinger preview frames, and
   screens where the report page is displayed inside a narrower viewport. */
@media screen and (max-width: 1420px) {
    .flyup-export-screen .site-header > .container,
    .flyup-export-screen .site-header__inner.container {
        width: min(calc(100% - 1.1rem), 1180px) !important;
        max-width: 1180px !important;
    }

    .flyup-export-screen .site-header__inner {
        grid-template-columns: auto auto !important;
        justify-content: space-between !important;
        border-radius: 28px !important;
        min-height: 72px !important;
        flex-wrap: wrap !important;
    }

    .flyup-export-screen .site-menu-toggle {
        display: inline-flex !important;
        position: relative !important;
        z-index: 3 !important;
        order: 2 !important;
        margin-left: auto !important;
        flex: 0 0 auto !important;
    }

    .flyup-export-screen .site-nav,
    .flyup-export-screen .site-actions {
        display: none !important;
        width: 100% !important;
        grid-column: 1 / -1 !important;
        min-width: 0 !important;
    }

    .flyup-export-screen .site-header__inner.is-menu-open .site-nav {
        display: block !important;
        order: 3 !important;
        margin-top: 0.7rem !important;
    }

    .flyup-export-screen .site-header__inner.is-menu-open .site-nav__menu {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.55rem !important;
        width: 100% !important;
    }

    .flyup-export-screen .site-header__inner.is-menu-open .site-nav__link,
    .flyup-export-screen .site-header__inner.is-menu-open .site-nav__menu a {
        width: 100% !important;
        justify-content: center !important;
        white-space: normal !important;
        text-align: center !important;
        background: rgba(255, 255, 255, 0.74) !important;
    }

    .flyup-export-screen .site-header__inner.is-menu-open .site-actions {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        order: 4 !important;
        gap: 0.55rem !important;
        margin-top: 0.65rem !important;
    }

    .flyup-export-screen .site-header__inner.is-menu-open .site-actions .btn,
    .flyup-export-screen .site-header__inner.is-menu-open .site-lang-switcher {
        width: 100% !important;
        justify-content: center !important;
    }

    .flyup-export-screen .flyup-export-page {
        padding-top: clamp(3.9rem, 6vw, 5.7rem) !important;
    }
}

@media screen and (min-width: 1421px) {
    .flyup-export-screen .site-menu-toggle {
        display: none !important;
    }
}

@media screen and (max-width: 760px) {
    .flyup-export-screen .site-header > .container,
    .flyup-export-screen .site-header__inner.container {
        width: min(calc(100% - 0.75rem), 100%) !important;
    }

    .flyup-export-screen .site-logo--image .site-logo__image {
        width: 145px !important;
        max-width: 145px !important;
    }

    .flyup-export-screen .site-header__inner.is-menu-open .site-nav__menu,
    .flyup-export-screen .site-header__inner.is-menu-open .site-actions {
        grid-template-columns: 1fr !important;
    }

    .flyup-export-screen .flyup-export-page > .container {
        width: min(calc(100% - 0.9rem), 1120px) !important;
    }
}

/* =====================================================================
   STEP53 PHASE17BR — Export page PC screen support
   Goal: the export page must feel like a real desktop page on PC screens,
   not like a tablet-sized support. This block is screen-only and loaded last.
===================================================================== */
@media screen {
    body.flyup-export-screen {
        min-width: 0 !important;
        overflow-x: hidden !important;
    }

    .flyup-export-screen .site-header > .container,
    .flyup-export-screen .site-header__inner.container {
        width: min(calc(100% - 2rem), 1540px) !important;
        max-width: 1540px !important;
        margin-inline: auto !important;
    }

    .flyup-export-screen .site-header__inner {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        justify-content: normal !important;
        min-height: 74px !important;
        padding: 0.78rem 1.2rem !important;
        gap: clamp(0.65rem, 0.9vw, 1.25rem) !important;
        border-radius: 999px !important;
        flex-wrap: nowrap !important;
        overflow: visible !important;
    }

    .flyup-export-screen .site-logo,
    .flyup-export-screen .site-logo--image {
        min-width: 0 !important;
        flex: 0 0 auto !important;
        z-index: 2 !important;
    }

    .flyup-export-screen .site-logo--image .site-logo__image {
        width: clamp(160px, 12vw, 210px) !important;
        max-width: clamp(160px, 12vw, 210px) !important;
        height: auto !important;
        object-fit: contain !important;
    }

    .flyup-export-screen .site-nav {
        display: flex !important;
        justify-content: center !important;
        min-width: 0 !important;
        width: auto !important;
        overflow: visible !important;
    }

    .flyup-export-screen .site-nav__menu {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: clamp(0.28rem, 0.55vw, 0.75rem) !important;
        min-width: 0 !important;
    }

    .flyup-export-screen .site-nav__link,
    .flyup-export-screen .site-nav__menu a {
        white-space: nowrap !important;
        font-size: clamp(0.78rem, 0.72vw, 0.9rem) !important;
        line-height: 1.1 !important;
        padding: 0.42rem 0.48rem !important;
    }

    .flyup-export-screen .site-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        min-width: max-content !important;
        width: auto !important;
        gap: 0.48rem !important;
    }

    .flyup-export-screen .site-actions .btn {
        white-space: nowrap !important;
        min-height: 42px !important;
        padding: 0.66rem 0.95rem !important;
        font-size: 0.84rem !important;
        line-height: 1.1 !important;
    }

    .flyup-export-screen .site-lang-switcher {
        flex: 0 0 auto !important;
        width: auto !important;
    }

    .flyup-export-screen .site-lang-switcher__item {
        min-width: 34px !important;
        min-height: 32px !important;
        font-size: 0.72rem !important;
    }

    .flyup-export-screen .site-menu-toggle {
        display: none !important;
    }

    .flyup-export-screen .flyup-export-page {
        padding-top: clamp(4.4rem, 5vw, 5.8rem) !important;
        padding-bottom: 5rem !important;
    }

    .flyup-export-screen .flyup-export-page > .container {
        width: min(calc(100% - 2.5rem), 1360px) !important;
        max-width: 1360px !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
    }

    .flyup-export-screen .flyup-export-page .flyup-print-view--report,
    .flyup-export-screen .flyup-export-page .flyup-editorial-report {
        width: 100% !important;
        max-width: 1220px !important;
        margin-inline: auto !important;
    }
}

/* Tablet and narrow laptop: switch to compact menu only when the PC header
   no longer has enough real space. */
@media screen and (max-width: 1180px) {
    .flyup-export-screen .site-header > .container,
    .flyup-export-screen .site-header__inner.container {
        width: min(calc(100% - 1rem), 100%) !important;
        max-width: 100% !important;
    }

    .flyup-export-screen .site-header__inner {
        display: grid !important;
        grid-template-columns: auto auto !important;
        justify-content: space-between !important;
        border-radius: 28px !important;
        min-height: 72px !important;
        flex-wrap: wrap !important;
    }

    .flyup-export-screen .site-menu-toggle {
        display: inline-flex !important;
        position: relative !important;
        z-index: 3 !important;
        order: 2 !important;
        margin-left: auto !important;
        flex: 0 0 auto !important;
    }

    .flyup-export-screen .site-nav,
    .flyup-export-screen .site-actions {
        display: none !important;
        width: 100% !important;
        grid-column: 1 / -1 !important;
        min-width: 0 !important;
    }

    .flyup-export-screen .site-header__inner.is-menu-open .site-nav {
        display: block !important;
        order: 3 !important;
        margin-top: 0.7rem !important;
    }

    .flyup-export-screen .site-header__inner.is-menu-open .site-nav__menu {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.55rem !important;
        width: 100% !important;
    }

    .flyup-export-screen .site-header__inner.is-menu-open .site-actions {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        order: 4 !important;
        gap: 0.55rem !important;
        margin-top: 0.65rem !important;
    }

    .flyup-export-screen .site-header__inner.is-menu-open .site-actions .btn,
    .flyup-export-screen .site-header__inner.is-menu-open .site-lang-switcher {
        width: 100% !important;
        justify-content: center !important;
    }

    .flyup-export-screen .flyup-export-page {
        padding-top: clamp(3.7rem, 6vw, 5.2rem) !important;
    }

    .flyup-export-screen .flyup-export-page > .container {
        width: min(calc(100% - 1.1rem), 100%) !important;
        max-width: 100% !important;
    }

    .flyup-export-screen .flyup-export-page .flyup-print-view--report,
    .flyup-export-screen .flyup-export-page .flyup-editorial-report {
        max-width: 980px !important;
    }
}

@media screen and (max-width: 760px) {
    .flyup-export-screen .site-logo--image .site-logo__image {
        width: 145px !important;
        max-width: 145px !important;
    }

    .flyup-export-screen .site-header__inner.is-menu-open .site-nav__menu,
    .flyup-export-screen .site-header__inner.is-menu-open .site-actions {
        grid-template-columns: 1fr !important;
    }

    .flyup-export-screen .flyup-export-page > .container {
        width: min(calc(100% - 0.9rem), 100%) !important;
    }
}


/* =====================================================================
   STEP53 PHASE17BS — Export page full-width desktop expansion
   Goal: widen the visible export page on PC screens following user feedback.
   The blue export workspace and the report container must use much more
   horizontal space, instead of looking like a centered tablet canvas.
===================================================================== */
@media screen and (min-width: 1181px) {
    body.flyup-export-screen,
    .flyup-export-screen .site-main,
    .flyup-export-screen .flyup-page,
    .flyup-export-screen .flyup-export-page {
        width: 100% !important;
        max-width: none !important;
    }

    .flyup-export-screen .site-header > .container,
    .flyup-export-screen .site-header__inner.container {
        width: min(calc(100% - 2.5rem), 1760px) !important;
        max-width: 1760px !important;
    }

    .flyup-export-screen .flyup-export-page {
        padding-top: clamp(4.6rem, 5vw, 6rem) !important;
        padding-bottom: 5rem !important;
        padding-inline: 0 !important;
    }

    .flyup-export-screen .flyup-export-page > .container {
        width: min(calc(100% - 5rem), 1780px) !important;
        max-width: 1780px !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
    }

    .flyup-export-screen .flyup-export-page .flyup-print-view--report,
    .flyup-export-screen .flyup-export-page .flyup-editorial-report,
    .flyup-export-screen .flyup-export-page .flyup-print-content--ai {
        width: 100% !important;
        max-width: 1560px !important;
        margin-inline: auto !important;
    }

    .flyup-export-screen .flyup-export-page > .container > h1,
    .flyup-export-screen .flyup-export-page .flyup-report-view__header,
    .flyup-export-screen .flyup-export-page .ai-report-toolbar {
        max-width: 1560px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* =====================================================================
   STEP53 PHASE17BT — Export header alignment + new logo integration
   Goal: align logo, navigation and actions on one clean desktop row and use
   the new FlyUp4You logo asset supplied by the user.
===================================================================== */
@media screen and (min-width: 1181px) {
    .flyup-export-screen .site-header > .container,
    .flyup-export-screen .site-header__inner.container {
        width: min(calc(100% - 2.5rem), 1760px) !important;
        max-width: 1760px !important;
    }

    .flyup-export-screen .site-header__inner {
        display: grid !important;
        grid-template-columns: minmax(250px, 310px) minmax(520px, 1fr) auto !important;
        align-items: center !important;
        justify-items: stretch !important;
        min-height: 104px !important;
        padding: 1rem 1.55rem !important;
        gap: clamp(1.1rem, 1.35vw, 1.8rem) !important;
        border-radius: 999px !important;
    }

    .flyup-export-screen .site-logo,
    .flyup-export-screen .site-logo--image {
        grid-column: 1 !important;
        grid-row: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .flyup-export-screen .site-logo--image .site-logo__image {
        width: clamp(230px, 15vw, 290px) !important;
        max-width: 290px !important;
        max-height: 76px !important;
        height: auto !important;
        object-fit: contain !important;
        object-position: left center !important;
        display: block !important;
    }

    .flyup-export-screen .site-menu-toggle {
        display: none !important;
    }

    .flyup-export-screen .site-nav {
        grid-column: 2 !important;
        grid-row: 1 !important;
        align-self: center !important;
        justify-self: center !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    .flyup-export-screen .site-nav__menu {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-wrap: nowrap !important;
        gap: clamp(0.75rem, 0.95vw, 1.25rem) !important;
        width: 100% !important;
    }

    .flyup-export-screen .site-nav__item,
    .flyup-export-screen .site-nav__link,
    .flyup-export-screen .site-nav__menu a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
        line-height: 1.15 !important;
    }

    .flyup-export-screen .site-actions {
        grid-column: 3 !important;
        grid-row: 1 !important;
        align-self: center !important;
        justify-self: end !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        gap: 0.65rem !important;
        min-width: max-content !important;
        width: auto !important;
    }

    .flyup-export-screen .site-actions .btn,
    .flyup-export-screen .site-lang-switcher {
        align-self: center !important;
        margin: 0 !important;
    }

    .flyup-export-screen .site-actions .btn {
        min-height: 48px !important;
        padding: 0.76rem 1.15rem !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .flyup-export-screen .flyup-export-page {
        padding-top: clamp(3.2rem, 3.8vw, 4.7rem) !important;
    }
}

@media screen and (min-width: 1181px) and (max-width: 1380px) {
    .flyup-export-screen .site-header__inner {
        grid-template-columns: minmax(210px, 250px) minmax(430px, 1fr) auto !important;
        gap: 0.8rem !important;
    }

    .flyup-export-screen .site-logo--image .site-logo__image {
        width: 220px !important;
        max-width: 220px !important;
    }

    .flyup-export-screen .site-nav__menu {
        gap: 0.45rem !important;
    }

    .flyup-export-screen .site-nav__link,
    .flyup-export-screen .site-nav__menu a {
        font-size: 0.82rem !important;
        padding-inline: 0.36rem !important;
    }

    .flyup-export-screen .site-actions .btn {
        padding-inline: 0.82rem !important;
        font-size: 0.82rem !important;
    }
}

/* =====================================================================
   STEP53 PHASE17BT — Export header alignment + uploaded logo integration
   Goal: use the user-provided wide FlyUp4You logo and align the export
   header elements on one clean PC row: logo / navigation / actions.
   No generated image is used; the asset comes from the supplied image.
===================================================================== */
@media screen and (min-width: 1181px) {
    .flyup-export-screen .site-header {
        padding-top: 2rem !important;
    }

    .flyup-export-screen .site-header > .container,
    .flyup-export-screen .site-header__inner.container {
        width: min(calc(100% - 3rem), 1780px) !important;
        max-width: 1780px !important;
        margin-inline: auto !important;
    }

    .flyup-export-screen .site-header__inner {
        display: grid !important;
        grid-template-columns: minmax(250px, 340px) minmax(0, 1fr) auto !important;
        grid-auto-rows: auto !important;
        align-items: center !important;
        justify-content: stretch !important;
        min-height: 92px !important;
        padding: 0.8rem 1.35rem !important;
        gap: clamp(0.9rem, 1.2vw, 1.8rem) !important;
        border-radius: 999px !important;
        flex-wrap: nowrap !important;
        overflow: visible !important;
    }

    .flyup-export-screen .site-logo,
    .flyup-export-screen .site-logo--image {
        grid-column: 1 !important;
        grid-row: 1 !important;
        justify-self: start !important;
        align-self: center !important;
        display: inline-flex !important;
        align-items: center !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .flyup-export-screen .site-logo--image .site-logo__image {
        display: block !important;
        width: clamp(245px, 18vw, 330px) !important;
        max-width: clamp(245px, 18vw, 330px) !important;
        max-height: 66px !important;
        height: auto !important;
        object-fit: contain !important;
        object-position: left center !important;
        margin: 0 !important;
    }

    .flyup-export-screen .site-nav {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: center !important;
        align-self: center !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        min-width: 0 !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .flyup-export-screen .site-nav__menu {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-wrap: nowrap !important;
        gap: clamp(0.55rem, 0.9vw, 1.25rem) !important;
        margin: 0 !important;
        padding: 0 !important;
        min-width: 0 !important;
    }

    .flyup-export-screen .site-nav__link,
    .flyup-export-screen .site-nav__menu a {
        white-space: nowrap !important;
        font-size: clamp(0.86rem, 0.72vw, 0.98rem) !important;
        line-height: 1.1 !important;
        padding: 0.42rem 0.5rem !important;
    }

    .flyup-export-screen .site-actions {
        grid-column: 3 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        align-self: center !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        min-width: max-content !important;
        width: auto !important;
        margin: 0 !important;
        gap: 0.65rem !important;
    }

    .flyup-export-screen .site-actions .btn {
        min-height: 46px !important;
        padding: 0.72rem 1.05rem !important;
        font-size: 0.88rem !important;
        line-height: 1.1 !important;
        white-space: nowrap !important;
    }

    .flyup-export-screen .site-lang-switcher {
        margin: 0 !important;
        flex: 0 0 auto !important;
    }

    .flyup-export-screen .site-lang-switcher__item {
        min-width: 36px !important;
        min-height: 34px !important;
        font-size: 0.74rem !important;
    }

    .flyup-export-screen .site-menu-toggle {
        display: none !important;
    }
}

@media screen and (min-width: 1181px) and (max-width: 1360px) {
    .flyup-export-screen .site-header__inner {
        grid-template-columns: minmax(220px, 285px) minmax(0, 1fr) auto !important;
        gap: 0.75rem !important;
    }

    .flyup-export-screen .site-logo--image .site-logo__image {
        width: clamp(220px, 17vw, 285px) !important;
        max-width: clamp(220px, 17vw, 285px) !important;
    }

    .flyup-export-screen .site-actions .btn {
        padding-inline: 0.85rem !important;
        font-size: 0.82rem !important;
    }

    .flyup-export-screen .site-nav__menu {
        gap: 0.42rem !important;
    }

    .flyup-export-screen .site-nav__link,
    .flyup-export-screen .site-nav__menu a {
        font-size: 0.8rem !important;
        padding-inline: 0.38rem !important;
    }
}

/* PHASE18AK — Manual planner GSM activity card layout aligned with requested mockup */
@media (max-width: 767px) {
    .manual-planner-page .manual-day-card__body {
        padding: 0.72rem 0.75rem 0.9rem !important;
    }

    .manual-planner-page .manual-activity-list {
        gap: 0.55rem !important;
    }

    .manual-planner-page .manual-day-card__actions .icon-btn[data-action="remove"] {
        width: 34px !important;
        height: 34px !important;
        border-color: #dc2626 !important;
        background: #dc2626 !important;
        color: #ffffff !important;
        box-shadow: 0 10px 18px rgba(220, 38, 38, 0.22) !important;
    }

    .manual-planner-page .manual-day-card__actions .icon-btn[data-action="remove"]:hover {
        border-color: #b91c1c !important;
        background: #b91c1c !important;
        color: #ffffff !important;
    }

    .manual-planner-page .manual-activity-item {
        display: grid !important;
        grid-template-columns: minmax(54px, 0.86fr) minmax(54px, 0.86fr) 34px !important;
        grid-template-areas:
            "time cost remove"
            "title title title" !important;
        align-items: start !important;
        column-gap: 0.38rem !important;
        row-gap: 0.45rem !important;
        padding: 0.52rem !important;
        border-radius: 16px !important;
        background: #ffffff !important;
        border: 1px solid rgba(14, 165, 233, 0.16) !important;
        box-shadow: 0 8px 20px rgba(15, 23, 42, 0.035) !important;
        overflow: hidden !important;
    }

    .manual-planner-page .manual-activity-item .manual-input {
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 12px !important;
        border-color: rgba(14, 165, 233, 0.18) !important;
        background: #ffffff !important;
        box-sizing: border-box !important;
    }

    .manual-planner-page .manual-time-input,
    .manual-planner-page .manual-cost-input {
        min-width: 0 !important;
        min-height: 34px !important;
        height: 34px !important;
        padding: 0.42rem 0.5rem !important;
        font-size: 0.76rem !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .manual-planner-page .manual-time-input {
        grid-area: time !important;
        grid-column: auto !important;
        grid-row: auto !important;
    }

    .manual-planner-page .manual-cost-input {
        grid-area: cost !important;
        grid-column: auto !important;
        grid-row: auto !important;
    }

    .manual-planner-page .manual-title-input {
        grid-area: title !important;
        grid-column: auto !important;
        grid-row: auto !important;
        display: block !important;
        min-height: 62px !important;
        max-height: 130px !important;
        padding: 0.58rem 0.62rem !important;
        font-size: 0.82rem !important;
        line-height: 1.25 !important;
        resize: none !important;
        overflow: hidden !important;
    }

    .manual-planner-page .manual-activity-item .manual-activity-remove {
        grid-area: remove !important;
        grid-column: auto !important;
        grid-row: auto !important;
        align-self: start !important;
        justify-self: end !important;
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
        margin: 0 !important;
        border-radius: 999px !important;
        border-color: #dc2626 !important;
        background: #dc2626 !important;
        color: #ffffff !important;
        font-size: 0.9rem !important;
        font-weight: 800 !important;
        box-shadow: 0 10px 18px rgba(220, 38, 38, 0.22) !important;
    }

    .manual-planner-page .manual-activity-item .manual-activity-remove:hover {
        border-color: #b91c1c !important;
        background: #b91c1c !important;
        color: #ffffff !important;
        transform: translateY(-1px) !important;
    }
}

@media (max-width: 380px) {
    .manual-planner-page .manual-activity-item {
        grid-template-columns: minmax(50px, 0.86fr) minmax(50px, 0.86fr) 32px !important;
        grid-template-areas:
            "time cost remove"
            "title title title" !important;
        column-gap: 0.32rem !important;
        padding: 0.48rem !important;
    }

    .manual-planner-page .manual-time-input,
    .manual-planner-page .manual-cost-input {
        height: 32px !important;
        min-height: 32px !important;
        padding-inline: 0.42rem !important;
        font-size: 0.72rem !important;
    }

    .manual-planner-page .manual-activity-item .manual-activity-remove {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;
    }
}

/* PHASE18AL — GSM manual planner activity card hard fix loaded in responsive layer */
@media (max-width: 767px) {
    .manual-planner-page .manual-day-card__header {
        align-items: center !important;
        gap: 0.6rem !important;
    }

    .manual-planner-page .manual-day-card.is-open .manual-day-card__meta {
        display: none !important;
    }

    .manual-planner-page .manual-day-card__toggle {
        min-width: 0 !important;
        flex: 1 1 auto !important;
        display: flex !important;
        align-items: center !important;
        gap: 0.5rem !important;
    }

    .manual-planner-page .manual-day-card__actions {
        display: flex !important;
        align-items: center !important;
        gap: 0.35rem !important;
        margin-left: auto !important;
        flex-shrink: 0 !important;
    }

    .manual-planner-page .manual-activity-item {
        display: grid !important;
        grid-template-columns: minmax(92px, 1fr) minmax(78px, 92px) 38px !important;
        grid-template-rows: auto auto !important;
        grid-template-areas:
            "time cost remove"
            "title title title" !important;
        column-gap: 0.5rem !important;
        row-gap: 0.5rem !important;
        align-items: start !important;
        padding: 0.62rem !important;
        border-radius: 18px !important;
        overflow: visible !important;
    }

    .manual-planner-page .manual-activity-item .manual-time-input { grid-area: time !important; }
    .manual-planner-page .manual-activity-item .manual-cost-input { grid-area: cost !important; }
    .manual-planner-page .manual-activity-item .manual-title-input { grid-area: title !important; }
    .manual-planner-page .manual-activity-item .manual-activity-remove { grid-area: remove !important; }

    .manual-planner-page .manual-activity-item .manual-input {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin: 0 !important;
    }

    .manual-planner-page .manual-time-input,
    .manual-planner-page .manual-cost-input {
        min-width: 0 !important;
        min-height: 40px !important;
        height: 40px !important;
        padding: 0.55rem 0.62rem !important;
        font-size: 0.84rem !important;
        line-height: 1.1 !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .manual-planner-page .manual-title-input {
        display: block !important;
        min-height: 58px !important;
        max-height: 96px !important;
        padding: 0.62rem 0.72rem !important;
        font-size: 0.86rem !important;
        line-height: 1.32 !important;
        border-radius: 16px !important;
        resize: none !important;
        overflow-y: auto !important;
    }

    .manual-planner-page .manual-activity-item .manual-activity-remove,
    .manual-planner-page .manual-day-card__actions .icon-btn[data-action="remove"] {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        align-self: start !important;
        justify-self: end !important;
        margin: 0 !important;
        border-radius: 999px !important;
        border: 1px solid #dc2626 !important;
        background: #dc2626 !important;
        color: #ffffff !important;
        font-size: 1rem !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        box-shadow: 0 12px 22px rgba(220, 38, 38, 0.24) !important;
        transform: none !important;
    }
}

@media (max-width: 380px) {
    .manual-planner-page .manual-activity-item {
        grid-template-columns: minmax(82px, 1fr) minmax(66px, 80px) 36px !important;
        column-gap: 0.42rem !important;
        padding: 0.56rem !important;
    }

    .manual-planner-page .manual-time-input,
    .manual-planner-page .manual-cost-input {
        height: 38px !important;
        min-height: 38px !important;
        padding-inline: 0.5rem !important;
        font-size: 0.8rem !important;
    }

    .manual-planner-page .manual-activity-item .manual-activity-remove,
    .manual-planner-page .manual-day-card__actions .icon-btn[data-action="remove"] {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        min-height: 36px !important;
    }
}

/* PHASE18AM — GSM day label no-wrap alignment
   Keeps labels such as "Day 1" / "Jour 1" on one line in collapsed and open day cards. */
@media (max-width: 767px) {
    .manual-planner-page .manual-day-card__number {
        flex: 0 0 auto !important;
        min-width: max-content !important;
        white-space: nowrap !important;
        line-height: 1.1 !important;
    }

    .manual-planner-page .manual-day-card__toggle {
        overflow: hidden !important;
    }

    .manual-planner-page .manual-day-card__meta {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
}
