.mega-component,
.mega-appearance {
    box-sizing: border-box;
    color: var(--mega-text-color, var(--site-color-text, inherit));
    font-family: var(--site-font-body, inherit);
    line-height: var(--site-line-height, 1.6);
}

.mega-appearance--boxed {
    display: block;
    width: var(--mega-width, auto);
    max-width: 100%;
    margin-top: var(--mega-margin-top, 0);
    margin-right: var(--mega-margin-right, auto);
    margin-bottom: var(--mega-margin-bottom, 0);
    margin-left: var(--mega-margin-left, auto);
    margin-inline: var(--mega-box-margin-inline, var(--mega-margin-left, auto) var(--mega-margin-right, auto));
    padding-top: var(--mega-padding-top, 0);
    padding-right: var(--mega-padding-right, 0);
    padding-bottom: var(--mega-padding-bottom, 0);
    padding-left: var(--mega-padding-left, 0);
    background-color: var(--mega-background, transparent);
    background-image: var(--mega-background-image, none);
    background-repeat: var(--mega-background-repeat, repeat);
    background-size: var(--mega-background-size, auto);
    border-radius: var(--mega-radius, 0);
}

.mega-appearance--boxed.mega-appearance--box-left {
    margin-inline: 0 auto;
}

.mega-appearance--boxed.mega-appearance--box-right {
    margin-inline: auto 0;
}

.mega-appearance--boxed.mega-appearance--box-center {
    margin-inline: auto;
}

.mega-appearance--text-left { text-align: left; }
.mega-appearance--text-center { text-align: center; }
.mega-appearance--text-right { text-align: right; }

.mega-component :is(h1, h2, h3, h4, h5, h6),
.mega-appearance :is(h1, h2, h3, h4, h5, h6) {
    color: var(--mega-heading-color, var(--mega-text-color, var(--site-color-heading, var(--site-color-text, inherit))));
    font-family: var(--site-font-heading, inherit);
}

.mega-component p,
.mega-appearance p,
.mega-component .mega-paragraph {
    color: var(--site-color-accent);
}
.mega-component dd,
.mega-appearance dd
{
    color:var(--site-color-accent);
}

.mega-component [style*="color"],
.mega-appearance [style*="color"] {
    /* Inline rich-text color/highlight stays local; do not force token colors. */
}

.mega-component .mega-caption,
.mega-appearance figcaption,
.mega-appearance .mega-caption {
    color: var(--mega-caption-color, var(--site-color-muted-text, var(--site-color-muted, inherit)));
}

.mega-component label,
.mega-appearance label,
.mega-component .mega-label {
    color: var(--mega-label-color, inherit);
}

.mega-component svg,
.mega-component i,
.mega-component .mega-icon {
    color: var(--mega-icon-color, var(--site-color-icon, inherit));
}

.mega-form {
    --mega-form-accent: #3aa0ff;
    color: var(--mega-text-color, var(--site-color-text, inherit));
    max-width: 36rem;
    width: 100%;
    margin-inline: auto;
    padding: clamp(1.25rem, 3vw, 1.9rem);
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 1.45rem;
    background: linear-gradient(180deg, #f7f9fc 0%, #eef2f7 100%);
    box-shadow:
        0 18px 40px rgba(28, 39, 58, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.mega-form__field {
    position: relative;
    margin-bottom: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.mega-form__label-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.mega-form__field input::placeholder,
.mega-form__field textarea::placeholder {
    color: var(--site-color-muted-text, #7a8799);
    opacity: 1;
}

.mega-form__choices {
    margin: 0;
    padding: 0;
    border: 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.mega-form__choices legend {
    padding: 0;
    margin-bottom: 0.15rem;
    color: var(--site-color-muted-text, #5d6b80);
    font-size: 0.82rem;
    font-weight: 600;
}

.mega-form__choices label,
.mega-form__field--choices > label {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    padding: 0.7rem 0.9rem;
    border-radius: 1rem;
    background: #f4f7fb;
    box-shadow: inset 0 1px 4px rgba(28, 39, 58, 0.05);
    cursor: pointer;
    font-size: 0.95rem;
}

.mega-form__choices input,
.mega-form__field--choices > label input {
    width: 1.05rem;
    height: 1.05rem;
    min-height: 0;
    margin: 0;
    flex: 0 0 auto;
    accent-color: var(--mega-form-accent, #3aa0ff);
}

.mega-form__field input[type="date"],
.mega-form__field input[type="time"],
.mega-form__field input[type="datetime-local"] {
    color-scheme: light;
}

.mega-slot-picker {
    display: grid;
    gap: 0.75rem;
}

.mega-slot-picker__nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.mega-slot-picker__nav button {
    width: auto;
    min-width: 2.4rem;
    min-height: 2.4rem;
    padding: 0.35rem 0.7rem;
    border: 0;
    border-radius: 999px;
    background: #eef3f9;
    color: inherit;
    box-shadow: none;
}

.mega-slot-picker__weekdays,
.mega-slot-picker__grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.35rem;
}

.mega-slot-picker__weekday,
.mega-slot-picker__cell {
    min-height: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.8rem;
    font-size: 0.82rem;
}

.mega-slot-picker__weekday {
    color: var(--site-color-muted-text, #7a8799);
    font-weight: 600;
}

.mega-slot-picker__cell {
    border: 1px solid transparent;
    background: #f4f7fb;
    color: inherit;
    cursor: pointer;
}

.mega-slot-picker__cell.is-empty,
.mega-slot-picker__cell.is-closed,
.mega-slot-picker__cell.is-past {
    background: transparent;
    color: #9aa7b8;
    cursor: default;
}

.mega-slot-picker__cell.is-full {
    background: #eceff4;
    color: #8b96a8;
    text-decoration: line-through;
    cursor: not-allowed;
}

.mega-slot-picker__cell.is-open {
    background: #e7f6ff;
    border-color: rgba(58, 160, 255, 0.25);
}

.mega-slot-picker__cell.is-selected {
    background: #2f8fff;
    color: #fff;
}

.mega-slot-picker__times {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.mega-slot-picker__chip {
    width: auto;
    min-height: 2.2rem;
    padding: 0.35rem 0.8rem;
    border: 0;
    border-radius: 999px;
    background: #e7f6ff;
    color: inherit;
    box-shadow: none;
    cursor: pointer;
}

.mega-slot-picker__chip.is-full,
.mega-slot-picker__chip:disabled {
    background: #eceff4;
    color: #8b96a8;
    text-decoration: line-through;
    cursor: not-allowed;
}

.mega-slot-picker__chip.is-selected {
    background: #2f8fff;
    color: #fff;
}

.mega-slot-picker__status {
    margin: 0;
    font-size: 0.82rem;
    color: var(--site-color-muted-text, #7a8799);
}

.mega-slot-picker.is-time-only .mega-slot-picker__nav,
.mega-slot-picker.is-time-only .mega-slot-picker__weekdays,
.mega-slot-picker.is-time-only .mega-slot-picker__grid {
    display: none;
}

.mega-slot-picker__times-label {
    width: 100%;
    margin: 0 0 0.15rem;
    font-size: 0.82rem;
    font-weight: 600;
}

.mega-form__field input:not([type=radio]):not([type=checkbox]),
.mega-form__field textarea,
.mega-form__field select {
    box-sizing: border-box;
    width: 100%;
    min-height: 2.95rem;
    padding: 0.75rem 1rem;
    border: 1px solid rgba(28, 39, 58, 0.08);
    border-radius: 1.15rem;
    background: #f4f7fb;
    color: var(--site-color-text, inherit);
    font: inherit;
    box-shadow:
        inset 0 2px 6px rgba(28, 39, 58, 0.06),
        0 1px 0 rgba(255, 255, 255, 0.8);
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.mega-form__field textarea {
    min-height: 7.5rem;
    resize: vertical;
    border-radius: 1.15rem;
}

.mega-form__field input:focus,
.mega-form__field textarea:focus,
.mega-form__field select:focus {
    outline: none;
    border-color: color-mix(in srgb, var(--mega-form-accent) 70%, white);
    box-shadow:
        0 0 0 3px rgba(58, 160, 255, 0.18),
        0 0 18px rgba(58, 160, 255, 0.16);
}

.mega-component__button,
.mega-form button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.95rem;
    background-color: var(--site-color-button-background, var(--mega-form-accent, #3aa0ff));
    background-image: var(--site-button-background-image, linear-gradient(180deg, #6ec8ff, #2f8fff));
    color: var(--site-color-button-text, #062033);
    border: 0;
    border-radius: 999px;
    padding: 0.8rem 1.5rem;
    cursor: pointer;
    font: inherit;
    font-weight: 600;
    box-shadow: 0 8px 20px rgba(47, 143, 255, 0.28);
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.mega-form button[type="submit"]:hover,
.mega-component__button:hover {
    filter: brightness(1.05);
    box-shadow: 0 10px 24px rgba(47, 143, 255, 0.35);
}

.mega-component--missing {
    display: block;
    padding: 0.75rem 1rem;
    border: 1px dashed var(--site-color-border, #ccc);
    border-radius: 0.35rem;
    background: var(--site-color-surface, #fff);
    color: var(--site-color-text, inherit);
}

.mega-slider {
    position: relative;
}

.mega-slider [data-mega-slider],
.mega-slider [data-mytravel-slider] {
    width: 100%;
}

@media (prefers-reduced-motion: reduce) {
    .mega-component,
    .mega-slider,
    .mega-slider .swiper-wrapper {
        transition: none !important;
        animation: none !important;
        scroll-behavior: auto;
    }

    .mega-form button[type="submit"],
    .mega-form__field input {
        transition: none;
        transform: none;
    }
}

.mega-nav-actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.mega-nav-actions__item {
    margin: 0;
}

.mega-nav-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0.4rem;
    color: inherit;
    background: transparent;
    border: 0;
    border-radius: 999px;
    text-decoration: none;
    cursor: pointer;
    appearance: none;
}

.mega-nav-action:focus-visible {
    outline: 2px solid var(--site-color-accent, var(--site-color-primary, currentColor));
    outline-offset: 2px;
}

.mega-nav-action svg {
    width: 1.25rem;
    height: 1.25rem;
    fill: none;
    stroke: var(--site-color-header-text);
    stroke-width: 1.8;
    color: var(--site-color-header-text);
}

html[data-theme="dark"] .mega-color-mode-toggle [data-icon="moon"],
html:not([data-theme="dark"]) .mega-color-mode-toggle [data-icon="sun"] {
    display: none;
}

body.mytravel-theme-body,
body.mytravel-theme,
body.preload-wrapper {
    background-color: var(--site-color-background, inherit);
    background-image: var(--site-background-image, none);
    color: var(--site-color-button-text);
}

.mega-editor-flow {
    display: flow-root;
    min-width: 0;
}

.mega-editor-flow > .mega-editor-block,
.mega-editor-flow > .mega-editor-columns {
    display: block;
    min-width: 0;
    max-width: 100%;
}

.mega-editor-block + .mega-editor-block,
.mega-editor-block + .mega-editor-columns,
.mega-editor-columns + .mega-editor-block {
    margin-top: 1.25rem;
}

.mega-editor-block--narrow {
    margin-inline: 5%;
    max-width: 90%;
}

.mega-editor-block--align-left { text-align: left; }
.mega-editor-block--align-center { text-align: center; }
.mega-editor-block--align-right { text-align: right; }
.mega-editor-block--align-justify { text-align: justify; }

.mega-editor-columns {
    display: grid;
    grid-template-columns: var(--mega-editor-column-template, repeat(var(--mega-editor-columns, 2), minmax(0, 1fr)));
    gap: 1.25rem;
    align-items: start;
    width: 100%;
    min-width: 0;
}

.mega-editor-columns__col {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.mega-editor-columns__col .mega-component,
.mega-editor-columns__col .mytravel-widget,
.mega-editor-flow .mytravel-widget {
    width: 100%;
    max-width: 100%;
    text-align: right;
    direction: rtl;
}

.mega-editor-columns__col .mega-form,
.mega-editor-flow .mega-form,
.mega-editor-flow .mytravel-widget--form-embed {
    max-width: 36rem;
    margin-inline: auto;
}

.mega-editor-columns__col .mytravel-widget .mytravel-container,
.mega-editor-flow > .mega-editor-block .mytravel-container {
    width: 100%;
    max-width: 100%;
    padding-inline: 0;
}

.mega-editor-block img,
.mega-editor-columns__col img {
    max-width: 100%;
    height: auto;
}

.mega-editor-block table {
    width: 100%;
    max-width: 100%;
}

@media (max-width: 767px) {
    .mega-editor-columns {
        grid-template-columns: minmax(0, 1fr);
    }

    .mega-editor-block--narrow {
        margin-inline: 0;
        max-width: 100%;
    }
}

.mega-appearance[data-mega-pattern="none"] {
    --mega-background-image: none;
}

.mega-appearance[data-mega-pattern="dots"] {
    --mega-background-image:
        radial-gradient(rgba(255, 255, 255, 0.22) 1.15px, transparent 1.35px),
        linear-gradient(135deg, var(--mega-background, var(--site-color-primary, #574df5)), var(--mega-background-secondary, var(--site-color-secondary, #29265e)));
    --mega-background-size: 16px 16px, auto;
    --mega-background-repeat: repeat, no-repeat;
}

.mega-appearance[data-mega-pattern="grid"] {
    --mega-background-image:
        linear-gradient(rgba(255, 255, 255, 0.16) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.16) 1px, transparent 1px),
        linear-gradient(135deg, var(--mega-background, var(--site-color-primary, #574df5)), var(--mega-background-secondary, var(--site-color-secondary, #29265e)));
    --mega-background-size: 22px 22px, 22px 22px, auto;
    --mega-background-repeat: repeat, repeat, no-repeat;
}

.mega-appearance[data-mega-pattern="diagonal"] {
    --mega-background-image:
        repeating-linear-gradient(-32deg, rgba(255, 255, 255, 0.12) 0 12px, transparent 12px 24px),
        linear-gradient(135deg, var(--mega-background, var(--site-color-primary, #574df5)), var(--mega-background-secondary, var(--site-color-secondary, #29265e)));
}

.mega-appearance[data-mega-pattern="waves"] {
    --mega-background-image:
        radial-gradient(circle at 0 50%, transparent 18px, rgba(255, 255, 255, 0.12) 19px, transparent 20px),
        linear-gradient(135deg, var(--mega-background, var(--site-color-primary, #574df5)), var(--mega-background-secondary, var(--site-color-secondary, #29265e)));
    --mega-background-size: 42px 42px, auto;
    --mega-background-repeat: repeat, no-repeat;
}

.mega-appearance[data-mega-pattern]:not([data-mega-pattern="orbs"]) .mytravel-contact-cta__shape {
    display: none;
}

.mega-icon {
    width: 1.15em;
    height: 1.15em;
    display: block;
}

/* Appearance colors beat widget hard-coded palettes when the editor sets a role. */
.mega-appearance[data-mega-color-text] {
    color: var(--mega-text-color);
}

.mega-appearance[data-mega-color-heading] :is(h1, h2, h3, h4, h5, h6),
.mega-appearance[data-mega-color-heading] [data-mega-role="heading"] {
    color: var(--mega-heading-color);
}

.mega-appearance[data-mega-color-highlight] :is(h1, h2, h3, h4, h5, h6) > span,
.mega-appearance[data-mega-color-highlight] [data-mega-role="highlight"] {
    color: var(--mega-highlight-color);
}

.mega-appearance[data-mega-color-paragraph] p,
.mega-appearance[data-mega-color-paragraph] [data-mega-role="paragraph"] {
    color: var(--mega-paragraph-color);
}

.mega-appearance[data-mega-color-caption] .mega-caption,
.mega-appearance[data-mega-color-caption] .mytravel-eyebrow,
.mega-appearance[data-mega-color-caption] [class*="__eyebrow"],
.mega-appearance[data-mega-color-caption] [data-mega-role="caption"],
.mega-appearance[data-mega-color-caption] figcaption,
.mega-appearance[data-mega-color-caption] small {
    color: var(--mega-caption-color);
}

.mega-appearance[data-mega-color-label] label,
.mega-appearance[data-mega-color-label] .mega-label,
.mega-appearance[data-mega-color-label] [data-mega-role="label"],
.mega-appearance[data-mega-color-label] [class*="__assurances"],
.mega-appearance[data-mega-color-label] [class*="__details"] {
    color: var(--mega-label-color);
}

.mega-appearance[data-mega-color-icon] svg,
.mega-appearance[data-mega-color-icon] .mega-icon,
.mega-appearance[data-mega-color-icon] [class*="__icon"],
.mega-appearance[data-mega-color-icon] [data-mega-role="icon"] {
    color: var(--mega-icon-color);
}

.mega-appearance[data-mega-color-button] a[class*="button"],
.mega-appearance[data-mega-color-button] .btn,
.mega-appearance[data-mega-color-button] [data-mega-role="button"] {
    color: var(--mega-button-color);
    border-color: var(--mega-button-color);
}

[data-mega-role].is-preview-selected,
[data-mega-role].is-preview-hover {
    outline: 2px solid #4da3ff;
    outline-offset: 3px;
}
