@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

:root {
    /* Holiday & Corporate Theme: Vibrant Blue, Soft Red, Sun Yellow, Black */
    --primary-color: #0EA5E9;
    /* Sky 500 */
    --primary-hover: #0284C7;
    /* Sky 600 */

    --accent-red: #FF8BA7;
    --accent-yellow: #FFDE59;

    --text-dark: #0F172A;
    /* Slate 900 - more corporate than pure black */
    --text-medium: #334155;
    /* Slate 700 */
    --text-light: #64748B;
    /* Slate 500 */

    --bg-body: #F8FAFC;
    /* Slate 50 */
    --bg-surface: rgba(255, 255, 255, 0.85);
    /* Glass base */

    --border-color: rgba(14, 165, 233, 0.15);
    /* Subtle blue border */

    /* Dreamy Ocean Shadows */
    --shadow-sm: 0 4px 12px rgba(14, 165, 233, 0.08);
    --shadow-md: 0 8px 24px rgba(14, 165, 233, 0.12);
    --shadow-lg: 0 16px 48px rgba(14, 165, 233, 0.18);

    /* Softer, Modern Radii */
    --radius-sm: 12px;
    --radius-md: 20px;
    --radius-lg: 32px;
    --radius-full: 9999px;
}

html,
body {
    font-family: 'Inter', sans-serif !important;
    color: var(--text-dark);
    /* Subtle azure gradient for holiday feel */
    background: linear-gradient(135deg, #F0F9FF 0%, #E0F2FE 100%);
    background-attachment: fixed;
    -webkit-font-smoothing: antialiased;
    position: relative;
    letter-spacing: -0.01em;
    /* Modern, tight typesetting */
}

/* Global Button Style: Pill Shape & Professional */
button,
.btn {
    border-radius: var(--radius-full);
    font-weight: 600;
    letter-spacing: -0.01em;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Ocean-themed background overlay */
body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        radial-gradient(circle at 20% 50%, rgba(14, 165, 233, 0.08) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(56, 189, 248, 0.06) 0%, transparent 50%),
        radial-gradient(circle at 40% 20%, rgba(125, 211, 252, 0.05) 0%, transparent 50%);
    pointer-events: none;
    z-index: 0;
}

/* Ensure content is above background */
body>* {
    position: relative;
    z-index: 1;
}


h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 0.5em;
}

a {
    color: var(--primary-color);
    text-decoration: none;
    transition: color 0.2s;
}

a:hover {
    color: var(--primary-hover);
}

.btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff;
    font-weight: 500;
    padding: 0.75rem 1.5rem;
    border-radius: var(--radius-sm);
    box-shadow: 0 4px 6px rgba(74, 179, 163, 0.2);
    /* Soft green shadow */
    transition: all 0.2s ease;
}

.btn-primary:hover {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 6px 12px rgba(74, 179, 163, 0.3);
}

/* Scrollbar styling */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #bbb;
}

.lp-shell {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.container-xxl {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 40px;
}

@media(max-width: 768px) {
    .container-xxl {
        padding: 0 20px;
    }
}

/*
 * GLOBAL PATCH: Remove decorative border/frame/line effects
 */

/* Remove pseudo-element overlays and decorative gradients */
.rb-hero-overlay,
.cp-hero::before,
.cp-hero::after,
.bd-image-hero::before,
.bd-hero-main::before,
.bd-hero-main::after,
.cp-stat-item::before {
    display: none !important;
    content: none !important;
    background: none !important;
}

/* Remove borders creating "lines" around content rows */
.bd-specs-row {
    border-top: none !important;
    border-bottom: none !important;
}

.bd-divider {
    display: none !important;
}

/* Remove borders/shadows from text badges/labels/buttons to make them "clean" text or simple blocks */
.cp-hero-label,
.bd-hero-cta,
.rb-boat-tag,
.rb-chip,
.rb-chip-toggle,
.lp-filter-toggle,
.app-logo,
.lp-lang,
.lp-profile {
    border: none !important;
    box-shadow: none !important;
}

/* Remove "framed box" look from text sections, making them blend into page */
.bd-section {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    backdrop-filter: none !important;
}

/* Accessibility: Simplify focus rings */
:focus-visible {
    outline: 2px solid var(--primary-color) !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
}

/* Override input focus glow */
input:focus,
select:focus,
textarea:focus,
button:focus {
    box-shadow: none !important;
    outline: none !important;
    /* Let focus-visible handle it or custom border color */
}

/* Remove focus outline from content headings (like h1 targeted by FocusOnNavigate) */
h1:focus,
h1:focus-visible,
h2:focus,
h2:focus-visible,
h3:focus,
h3:focus-visible,
.rb-page-header h2:focus,
.rb-page-header h2:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}