@charset "UTF-8";
/* Existing Skole form, in one complete row after the homepage hero. */
body.cmsj-home-booking-layout .elementor .elementor-element-1e2d0f5 {
    margin-bottom: 0 !important;
}
.cmsj-home-booking-section {
    box-sizing: border-box;
    width: 100%;
    max-width: 1248px;
    margin: 0 auto;
    padding: 40px 24px 0;
}
body .elementor .cmsj-home-booking-section form.cmsj-booking-context,
body .elementor .cmsj-home-booking-section form.cmsj-booking-context :is(legend, label, input, select, button, p, h3, h4, a, li) {
    font-family: CMSJCatamaran, Catamaran, sans-serif;
}
body .elementor .cmsj-home-booking-section .cmsj-booking-context-home {
    max-width: none;
    margin: 0;
    padding: 28px 32px;
}
body .elementor .cmsj-home-booking-section .cmsj-booking-context-home fieldset {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 240px;
    column-gap: 32px;
}
body .elementor .cmsj-home-booking-section .cmsj-booking-context-home legend {
    margin-bottom: 24px;
}
body .elementor .cmsj-home-booking-section .cmsj-booking-context-fields {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr 1.35fr;
    gap: 24px;
}
body .elementor .cmsj-home-booking-section .cmsj-booking-context-help {
    grid-column: 1;
    grid-row: 2;
    align-self: center;
    margin: 24px 0 0;
    max-width: 68ch;
    font-size: 1rem;
    line-height: 1.6;
}
body .elementor .cmsj-home-booking-section .cmsj-booking-context-submit {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    width: 100%;
    margin: 24px 0 0;
}
body .elementor .cmsj-home-booking-section .cmsj-booking-context-status {
    grid-column: 1 / -1;
    grid-row: 3;
    margin: 24px 0 0;
}
body .elementor .cmsj-home-booking-section .cmsj-booking-results,
body .elementor .cmsj-home-booking-section .cmsj-booking-context-continue {
    grid-column: 1 / -1;
}
@media (min-width: 1024px) {
    body .elementor .cmsj-home-booking-section + .elementor-element-7473be5 {
        margin-top: 64px !important;
    }
}
@media (max-width: 1023px) {
    body .elementor .cmsj-home-booking-section .cmsj-booking-context-home fieldset { display: block; }
    body .elementor .cmsj-home-booking-section .cmsj-booking-context-fields { grid-template-columns: 1fr 1fr; }
    body .elementor .cmsj-home-booking-section .cmsj-booking-context-field:last-child { grid-column: 1 / -1; }
    body .elementor .cmsj-home-booking-section .cmsj-booking-context-submit { width: auto; min-width: 240px; }
}
@media (max-width: 600px) {
    .cmsj-home-booking-section { padding: 24px 16px 0; }
    body .elementor .cmsj-home-booking-section .cmsj-booking-context-home { padding: 24px 20px; }
    body .elementor .cmsj-home-booking-section .cmsj-booking-context-fields { grid-template-columns: 1fr; gap: 16px; }
    body .elementor .cmsj-home-booking-section .cmsj-booking-context-home legend { margin-bottom: 20px; }
    body .elementor .cmsj-home-booking-section .cmsj-booking-context-submit { width: 100%; min-width: 0; }
    body .elementor .cmsj-home-booking-section .cmsj-booking-context-help { margin-top: 24px; }
}

/* Reviewed component corrections only. The shared palette and vendor CSS stay intact. */
body #main [data-id="e481d2c"] p.cmsj-aaa-contact-subtitle {
    color: var(--vamtam-h2-color);
    font-family: Catamaran, sans-serif;
    font-weight: 800;
    line-height: 1.1;
    margin-top: .6em;
    margin-bottom: .6em;
}
@media (max-width: 1024px) {
    body #main [data-id="e481d2c"] p.cmsj-aaa-contact-subtitle {
        line-height: 1.2;
    }
}
body.cmsj-aaa-kids #main .cmsj-aaa-club-heading > span {
    display: block;
}
@media (min-width: 1025px) {
    body.cmsj-aaa-kids #main [data-id="e5beef2"] > .elementor-container > [data-id="9059425"] {
        grid-column: 2;
        grid-row: 1;
    }
    body.cmsj-aaa-kids #main [data-id="e5beef2"] > .elementor-container > [data-id="57c7338"] {
        grid-column: 1;
        grid-row: 1;
    }
}
body.cmsj-aaa-privacy #main [data-id="f8c2c9e"] a.cmsj-aaa-privacy-link {
    color: #7d0000 !important;
}
/* Native legal texts in six languages: retain the coral hue at AAA contrast on white.
   This binding also covers newly edited links without changing the legacy HTML guard. */
body:is(.page-id-992563, .page-id-988947, .page-id-992545, .page-id-992569, .page-id-992559, .page-id-992577,
        .page-id-992481, .page-id-988952, .page-id-992587, .page-id-992487, .page-id-992477, .page-id-992495)
    #main [data-id="f8c2c9e"].elementor-widget-text-editor a[href]:not(.elementor-button) {
    color: #9b3016 !important;
}
/* Preserve the existing petrol card hover and read-more keyboard focus. */
body.cmsj-aaa-contrast #main .cmsj-aaa-card-button:not(:hover):not(:disabled):not([aria-disabled="true"]),
body.cmsj-aaa-contrast #main a.cmsj-aaa-action-button:not(:hover):not(:focus-visible):not(:disabled):not([aria-disabled="true"]),
body.cmsj-aaa-contrast #main button.cmsj-aaa-action-button:not(:disabled):not([aria-disabled="true"]) {
    background-color: #7d0000 !important;
    color: #fff !important;
}
body.cmsj-aaa-contrast #main a.cmsj-aaa-text-link {
    color: #7d0000 !important;
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    max-width: 100%;
}
body .elementor-location-footer.cmsj-aaa-footer #menu-1-744eb46 a,
body .elementor-location-footer.cmsj-aaa-footer .elementor-element-24026b6 a {
    color: #7d0000 !important;
}
body .elementor-location-footer.cmsj-aaa-footer #menu-2-744eb46 .elementor-item:not(.elementor-item-active):not(.highlighted):not(:hover):not(:focus) {
    color: #7d0000 !important;
}
/* The reviewed footer action keeps its petrol hover and existing focus geometry. */
body .elementor-location-footer.cmsj-aaa-footer [data-id="47278a2"] a.elementor-button:not(:hover) {
    background-color: #7d0000 !important;
    color: #fff !important;
}
body .elementor-location-footer.cmsj-aaa-footer [data-id="47278a2"] a.elementor-button,
body .elementor-location-footer.cmsj-aaa-footer [data-id="47278a2"] .elementor-button-text {
    text-shadow: none !important;
}

/* Keep the existing mobile footer menu usable with enlarged text. */
@media (max-width: 1024px) {
    body .elementor-location-footer.cmsj-aaa-footer #menu-2-744eb46 .elementor-item {
        min-height: 44px;
        overflow-wrap: anywhere;
        scroll-margin-bottom: 80px;
    }
}

/* Keep focused form controls clear of the existing fixed consent control. */
@media (max-width: 1024px) {
    body #main form.cmsj-booking-context :is(input[type="date"], select, button, a),
    body #main form.elementor-form :is(.elementor-field-textual, button[type="submit"]) {
        scroll-margin-block: 16px 80px;
    }
    html:has(#main form.elementor-form:focus-within) {
        scroll-padding-block: 16px 80px;
    }
}

