/* Component styles for Aldersbrook buttons, cards, and conversion-focused form UI. */

#top #main .ae-card,
#top #main .flex_column.ae-card,
#top #main .av-boxed-style.ae-card {
    background: var(--aldersbrook-color-white);
    border: 1px solid var(--aldersbrook-color-border);
    border-radius: var(--aldersbrook-radius-md);
    box-shadow: var(--aldersbrook-shadow-soft);
    height: 100%;
    overflow: hidden;
    padding: clamp(1.5rem, 3vw, 2.25rem);
    position: relative;
}

#top #main .ae-card > :last-child {
    margin-bottom: 0;
}

#top #main .ae-card--mint {
    background: var(--aldersbrook-color-mint);
}

#top #main .ae-card--ivory {
    background: var(--aldersbrook-color-ivory);
}

#top #main .ae-card--accent {
    border-top: 4px solid var(--aldersbrook-color-terracotta);
}

#top #main .ae-home-hero {
    background:
        radial-gradient(circle at top right, rgba(19, 160, 144, 0.18), transparent 36%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(246, 241, 232, 0.96));
    overflow: hidden;
}

#top #main .ae-home-hero::after {
    background: linear-gradient(180deg, rgba(19, 160, 144, 0.16), rgba(201, 116, 86, 0));
    border-radius: 999px;
    content: "";
    height: 16rem;
    pointer-events: none;
    position: absolute;
    right: -3rem;
    top: -8rem;
    width: 16rem;
}

#top #main .ae-home-hero > * {
    position: relative;
    z-index: 1;
}

#top #main .ae-feature-card,
#top #main .ae-space-panel {
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}

#top #main .ae-feature-card:hover,
#top #main .ae-space-panel:hover {
    box-shadow: 0 24px 54px rgba(13, 60, 69, 0.12);
    transform: translateY(-4px);
}

#top #main .flex_column.ae-space-panel {
    display: flex;
    flex-direction: column;
    gap: var(--aldersbrook-space-md);
}

#top #main .flex_column.ae-space-panel .avia-image-container {
    margin: 0;
}

#top #main .ae-final-cta {
    background:
        radial-gradient(circle at top center, rgba(19, 160, 144, 0.2), transparent 42%),
        linear-gradient(180deg, rgba(221, 244, 241, 0.86), rgba(255, 255, 255, 0.96));
    text-align: center;
}

#top #main .ae-final-cta .ae-lead,
#top #main .ae-final-cta .av-subheading p {
    margin-left: auto;
    margin-right: auto;
}

#top #main .ae-actions.avia-buttonrow-wrap {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
}

#top #main .ae-actions.avia-buttonrow-wrap.avia-buttonrow-center {
    justify-content: center;
}

#top #main .ae-actions.avia-buttonrow-wrap .avia-button {
    margin: 0 !important;
}

#top #main .avia-button,
#top #main .button,
#top #main button,
#top #main input[type="submit"],
#top #main input[type="reset"],
#top #main input[type="button"],
#top #main .gform_wrapper .gform_button,
#top #main .gform_wrapper .gform_next_button,
#top #main .gform_wrapper .gform_previous_button,
#top #main .wpcf7-submit {
    border: 1px solid transparent;
    border-radius: 999px;
    box-shadow: none;
    font-family: var(--aldersbrook-font-body);
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.2;
    padding: 0.95rem 1.7rem;
    text-decoration: none;
    transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

#top #main .avia-button:hover,
#top #main .button:hover,
#top #main button:hover,
#top #main input[type="submit"]:hover,
#top #main input[type="reset"]:hover,
#top #main input[type="button"]:hover,
#top #main .gform_wrapper .gform_button:hover,
#top #main .gform_wrapper .gform_next_button:hover,
#top #main .gform_wrapper .gform_previous_button:hover,
#top #main .wpcf7-submit:hover {
    opacity: 1;
    text-decoration: none;
    transform: translateY(-2px);
}

#top #main .ae-button-primary .avia-button,
#top #main .avia-button.ae-button-primary,
#top #main .button.ae-button-primary,
#top #main button.ae-button-primary,
#top #main input[type="submit"],
#top #main input[type="button"].ae-button-primary,
#top #main .gform_wrapper .gform_button,
#top #main .gform_wrapper .gform_next_button,
#top #main .wpcf7-submit {
    background-color: var(--aldersbrook-color-action);
    border-color: var(--aldersbrook-color-action);
    box-shadow: var(--aldersbrook-shadow-button);
    color: var(--aldersbrook-color-white);
}

#top #main .ae-button-primary .avia-button:hover,
#top #main .avia-button.ae-button-primary:hover,
#top #main .button.ae-button-primary:hover,
#top #main button.ae-button-primary:hover,
#top #main input[type="submit"]:hover,
#top #main input[type="button"].ae-button-primary:hover,
#top #main .gform_wrapper .gform_button:hover,
#top #main .gform_wrapper .gform_next_button:hover,
#top #main .wpcf7-submit:hover {
    background-color: var(--aldersbrook-color-primary);
    border-color: var(--aldersbrook-color-primary);
    box-shadow: 0 18px 34px rgba(12, 126, 114, 0.24);
    color: var(--aldersbrook-color-white);
}

#top #main .ae-button-primary .avia-button .avia-svg-icon svg:first-child,
#top #main .avia-button.ae-button-primary .avia-svg-icon svg:first-child,
#top #main .gform_wrapper .gform_button .avia-svg-icon svg:first-child {
    fill: var(--aldersbrook-color-white);
    stroke: var(--aldersbrook-color-white);
}

#top #main .ae-button-secondary .avia-button,
#top #main .avia-button.ae-button-secondary,
#top #main .button.ae-button-secondary,
#top #main button.ae-button-secondary,
#top #main input[type="reset"],
#top #main .gform_wrapper .gform_previous_button {
    background-color: transparent;
    border-color: var(--aldersbrook-color-border-strong);
    color: var(--aldersbrook-color-ink);
}

#top #main .ae-button-secondary .avia-button:hover,
#top #main .avia-button.ae-button-secondary:hover,
#top #main .button.ae-button-secondary:hover,
#top #main button.ae-button-secondary:hover,
#top #main input[type="reset"]:hover,
#top #main .gform_wrapper .gform_previous_button:hover {
    background-color: var(--aldersbrook-color-mint);
    border-color: var(--aldersbrook-color-primary);
    box-shadow: 0 10px 24px rgba(13, 60, 69, 0.08);
    color: var(--aldersbrook-color-ink);
}

#top #main .avia-button:focus,
#top #main .button:focus,
#top #main button:focus,
#top #main input[type="submit"]:focus,
#top #main input[type="reset"]:focus,
#top #main input[type="button"]:focus {
    box-shadow: var(--aldersbrook-shadow-focus);
    outline: none;
}

#top #main button:disabled,
#top #main input[type="submit"]:disabled,
#top #main input[type="reset"]:disabled,
#top #main input[type="button"]:disabled {
    box-shadow: none;
    cursor: not-allowed;
    opacity: 0.65;
    transform: none;
}

#top #main label,
#top #main legend,
#top #main .gfield_label,
#top #main .wpcf7-form label {
    color: var(--aldersbrook-color-ink);
    font-family: var(--aldersbrook-font-body);
    font-size: 0.92rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

#top #main .input-text,
#top #main input[type="text"],
#top #main input[type="input"],
#top #main input[type="password"],
#top #main input[type="email"],
#top #main input[type="number"],
#top #main input[type="url"],
#top #main input[type="tel"],
#top #main input[type="search"],
#top #main textarea,
#top #main select {
    background-color: var(--aldersbrook-color-white);
    border: 1px solid var(--aldersbrook-color-border);
    border-radius: var(--aldersbrook-radius-sm);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
    color: var(--aldersbrook-color-ink);
    font-family: var(--aldersbrook-font-body);
    min-height: 3.25rem;
    padding: 0.85rem 1rem;
    transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, color 0.25s ease;
}

#top #main textarea {
    min-height: 9rem;
    resize: vertical;
}

#top #main select {
    background-position: right 1rem center;
    padding-right: 2.75rem;
}

#top #main .input-text::placeholder,
#top #main input[type="text"]::placeholder,
#top #main input[type="input"]::placeholder,
#top #main input[type="password"]::placeholder,
#top #main input[type="email"]::placeholder,
#top #main input[type="number"]::placeholder,
#top #main input[type="url"]::placeholder,
#top #main input[type="tel"]::placeholder,
#top #main input[type="search"]::placeholder,
#top #main textarea::placeholder {
    color: var(--aldersbrook-color-text-soft);
    opacity: 1;
}

#top #main .input-text:focus,
#top #main input[type="text"]:focus,
#top #main input[type="input"]:focus,
#top #main input[type="password"]:focus,
#top #main input[type="email"]:focus,
#top #main input[type="number"]:focus,
#top #main input[type="url"]:focus,
#top #main input[type="tel"]:focus,
#top #main input[type="search"]:focus,
#top #main textarea:focus,
#top #main select:focus {
    background-color: var(--aldersbrook-color-white);
    border-color: var(--aldersbrook-color-primary);
    box-shadow: var(--aldersbrook-shadow-focus);
    color: var(--aldersbrook-color-ink);
    outline: none;
}

#top #main .ae-shell-contact-form {
    background: var(--aldersbrook-color-white);
    border: 1px solid rgba(13, 60, 69, 0.12);
}

#top #main .ae-shell-contact-form label {
    color: var(--aldersbrook-color-ink);
    font-weight: 600;
}

#top #main .ae-shell-contact-form input[type="text"],
#top #main .ae-shell-contact-form input[type="email"],
#top #main .ae-shell-contact-form input[type="tel"],
#top #main .ae-shell-contact-form input[type="date"],
#top #main .ae-shell-contact-form input[type="time"],
#top #main .ae-shell-contact-form textarea,
#top #main .ae-shell-contact-form select {
    background: var(--aldersbrook-color-white);
    border-color: rgba(13, 60, 69, 0.18);
    color: var(--aldersbrook-color-ink);
}

#top #main .ae-shell-contact-form input::placeholder,
#top #main .ae-shell-contact-form textarea::placeholder {
    color: var(--aldersbrook-color-text-muted);
}

#top #main .ae-shell-contact-form input:focus,
#top #main .ae-shell-contact-form textarea:focus,
#top #main .ae-shell-contact-form select:focus {
    border-color: var(--aldersbrook-color-action);
    box-shadow: 0 0 0 3px rgba(19, 160, 144, 0.2);
}

#top #main input[type="checkbox"],
#top #main input[type="radio"] {
    accent-color: var(--aldersbrook-color-action);
}

#top #main .gfield_required,
#top #main .required {
    color: var(--aldersbrook-color-terracotta);
}

#top #wrap_all .valid .text_input,
#top #wrap_all .valid .text_area,
#top #wrap_all .valid .select {
    border-color: var(--aldersbrook-color-action);
    box-shadow: 0 0 0 3px rgba(12, 126, 114, 0.08);
}

#top #wrap_all .error .text_input,
#top #wrap_all .error .text_area,
#top #wrap_all .error .select {
    border-color: var(--aldersbrook-color-terracotta);
    box-shadow: 0 0 0 3px rgba(201, 116, 86, 0.1);
}

/* Styling bridge for CaterFlow venue and booking forms inside the child theme. */
#top #main .cbp-vm-wrap,
#top #main .cbp-booking-wrap {
    color: var(--aldersbrook-color-ink);
    font-family: var(--aldersbrook-font-body);
}

#top #main .cbp-vm-wrap {
    --vm-surface: var(--aldersbrook-color-ivory);
    --vm-surface2: rgba(19, 160, 144, 0.08);
    --vm-border: var(--aldersbrook-color-border);
    --vm-border2: var(--aldersbrook-color-border-strong);
    --vm-gold: var(--aldersbrook-color-action);
    --vm-gold-lt: var(--aldersbrook-color-primary);
    --vm-gold-dim: rgba(19, 160, 144, 0.08);
    --vm-text: var(--aldersbrook-color-ink);
    --vm-muted: var(--aldersbrook-color-text-muted);
    background: var(--aldersbrook-color-white);
    border: 1px solid var(--aldersbrook-color-border);
    border-radius: var(--aldersbrook-radius-lg);
    box-shadow: var(--aldersbrook-shadow-soft);
}

#top #main .cbp-vm-wrap,
#top #main .cbp-booking-wrap {
    --cbp-primary: var(--aldersbrook-color-primary);
    --cbp-primary-mid: var(--aldersbrook-color-action);
    --cbp-accent: var(--aldersbrook-color-action);
    --cbp-accent-light: rgba(12, 126, 114, 0.18);
    --cbp-accent-dark: #0b6a60;
    --cbp-accent-rgba: rgba(12, 126, 114, 0.16);
    --cbp-bg: var(--aldersbrook-color-ivory);
    --cbp-surface: var(--aldersbrook-color-white);
    --cbp-text: var(--aldersbrook-color-ink);
    --cbp-muted: var(--aldersbrook-color-text-muted);
    --cbp-border: rgba(13, 60, 69, 0.16);
    --cbp-radius: 14px;
    --cbp-radius-sm: 8px;
    --cbp-radius-lg: 20px;
}

#top #main .cbp-form-hero,
#top #main .cbp-progress-bar {
    background: var(--aldersbrook-color-ink);
}

#top #main .cbp-vm-panel-title,
#top #main .cbp-vm-sub-title,
#top #main .cbp-form-title,
#top #main .cbp-step-header h3,
#top #main .cbp-success-ref {
    color: var(--aldersbrook-color-ink);
    font-family: var(--aldersbrook-font-heading);
}

#top #main .cbp-vm-step-label,
#top #main .cbp-vm-room-card-desc,
#top #main .cbp-vm-room-capacity,
#top #main .cbp-vm-cal-legend,
#top #main .cbp-form-subtitle,
#top #main .cbp-step-header p,
#top #main .cbp-field label,
#top #main .cbp-vm-field label {
    color: var(--aldersbrook-color-text-muted);
}

#top #main .cbp-vm-room-card,
#top #main .cbp-vm-calendar-wrap,
#top #main .cbp-vm-duration-btn,
#top #main .cbp-vm-recap,
#top #main .cbp-address-block,
#top #main .cbp-menu-card {
    background: var(--aldersbrook-color-ivory);
    border-color: var(--aldersbrook-color-border);
    box-shadow: none;
}

#top #main .cbp-vm-room-card.selected,
#top #main .cbp-vm-duration-btn.selected,
#top #main .cbp-menu-card.selected,
#top #main .cbp-same-address-row {
    background: rgba(19, 160, 144, 0.08);
    border-color: rgba(19, 160, 144, 0.34);
}

#top #main .cbp-vm-field input,
#top #main .cbp-vm-field textarea,
#top #main .cbp-vm-field .cbp-vm-select,
#top #main .cbp-field input[type="text"],
#top #main .cbp-field input[type="email"],
#top #main .cbp-field input[type="tel"],
#top #main .cbp-field input[type="date"],
#top #main .cbp-field input[type="time"],
#top #main .cbp-field input[type="number"],
#top #main .cbp-field select,
#top #main .cbp-field textarea {
    background: var(--aldersbrook-color-white);
    border-color: var(--aldersbrook-color-border);
    border-radius: var(--aldersbrook-radius-sm);
    color: var(--aldersbrook-color-ink);
    font-family: var(--aldersbrook-font-body);
}

#top #main .cbp-vm-field input:focus,
#top #main .cbp-vm-field textarea:focus,
#top #main .cbp-vm-field .cbp-vm-select:focus,
#top #main .cbp-field input:focus,
#top #main .cbp-field select:focus,
#top #main .cbp-field textarea:focus {
    border-color: var(--aldersbrook-color-primary);
    box-shadow: var(--aldersbrook-shadow-focus);
}

#top #main .cbp-vm-btn-primary,
#top #main .cbp-btn-next,
#top #main .cbp-btn-submit,
#top #main .cbp-postcode-lookup-btn,
#top #main .cbp-vm-select-room-btn {
    background: var(--aldersbrook-color-action);
    border: 1px solid var(--aldersbrook-color-action);
    border-radius: 999px;
    color: var(--aldersbrook-color-white);
}

#top #main .cbp-vm-btn-primary:hover,
#top #main .cbp-btn-next:hover,
#top #main .cbp-btn-submit:hover,
#top #main .cbp-postcode-lookup-btn:hover,
#top #main .cbp-vm-select-room-btn:hover,
#top #main .cbp-vm-room-card.selected .cbp-vm-select-room-btn {
    background: var(--aldersbrook-color-primary);
    border-color: var(--aldersbrook-color-primary);
    box-shadow: var(--aldersbrook-shadow-button);
    color: var(--aldersbrook-color-white);
}

#top #main .cbp-vm-btn-secondary,
#top #main .cbp-btn-back {
    background: transparent;
    border: 1px solid var(--aldersbrook-color-border-strong);
    border-radius: 999px;
    color: var(--aldersbrook-color-ink);
}

#top #main .cbp-vm-btn-secondary:hover,
#top #main .cbp-btn-back:hover {
    background: var(--aldersbrook-color-mint);
    border-color: var(--aldersbrook-color-primary);
    color: var(--aldersbrook-color-ink);
}

#top #main .cbp-vm-selected-room-banner,
#top #main .cbp-errors,
#top #main .cbp-vm-alert-error {
    border-radius: var(--aldersbrook-radius-sm);
}

#top #main .cbp-vm-cal-title,
#top #main .cbp-vm-sub-title,
#top #main .cbp-vm-duration-btn,
#top #main .cbp-vm-duration-btn .cbp-vm-dur-name,
#top #main .cbp-vm-recap strong {
    color: var(--aldersbrook-color-ink);
}

#top #main .cbp-vm-cal-dow,
#top #main .cbp-vm-cal-loading,
#top #main .cbp-vm-cal-nav-btn,
#top #main .cbp-vm-duration-btn .cbp-vm-dur-time,
#top #main .cbp-vm-recap,
#top #main .cbp-vm-btn-secondary,
#top #main .cbp-vm-btn-secondary:visited {
    color: var(--aldersbrook-color-text-muted);
}

#top #main .cbp-vm-duration-btn .cbp-vm-dur-price {
    color: var(--aldersbrook-color-action);
}

#top #main .cbp-vm-cal-nav-btn:hover {
    background: var(--aldersbrook-color-mint);
}

#top #main .cbp-vm-cal-day-btn.unavailable,
#top #main .cbp-vm-cal-day-btn.past {
    color: var(--aldersbrook-color-text-soft);
    opacity: 0.65;
}

#top #main .cbp-vm-step.active .cbp-vm-step-num,
#top #main .cbp-progress-step.active .cbp-ps-num,
#top #main .cbp-progress-step.done .cbp-ps-num,
#top #main .cbp-vm-cal-day-btn.selected {
    background: var(--aldersbrook-color-action) !important;
    border-color: var(--aldersbrook-color-action);
    color: var(--aldersbrook-color-white) !important;
}

#top #main .cbp-vm-step.active .cbp-vm-step-label,
#top #main .cbp-vm-price-line,
#top #main .cbp-vm-success-ref strong,
#top #main .cbp-eyebrow {
    color: var(--aldersbrook-color-primary);
}

/* Opt-in Enfold builder polish for style-test sections and future landing pages. */
#top #main .ae-image-frame img {
    border-radius: var(--aldersbrook-radius-lg);
    box-shadow: var(--aldersbrook-shadow-soft);
}

#top #main .ae-venue-gallery.avia-gallery {
    overflow: visible;
}

#top #main .ae-venue-gallery .avia-gallery-big {
    background: var(--aldersbrook-color-white);
    border-color: var(--aldersbrook-color-border);
    border-radius: var(--aldersbrook-radius-lg);
    box-shadow: var(--aldersbrook-shadow-soft);
    margin-bottom: 1rem;
    padding: 0.55rem;
}

#top #main .ae-venue-gallery .avia-gallery-big img {
    border-radius: calc(var(--aldersbrook-radius-lg) - 6px);
}

#top #main .ae-venue-gallery .avia-gallery-thumb a {
    background: var(--aldersbrook-color-white);
    border-radius: var(--aldersbrook-radius-md);
    box-shadow: var(--aldersbrook-shadow-soft);
    padding: 0.4rem;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

#top #main .ae-venue-gallery .avia-gallery-thumb a:hover {
    opacity: 1;
    transform: translateY(-2px);
}

#top #main .ae-venue-gallery img {
    border-color: transparent;
    border-radius: calc(var(--aldersbrook-radius-md) - 4px);
    padding: 0;
}

#top #main .avia_ajax_form.ae-native-form {
    background: var(--aldersbrook-color-white);
    border: 1px solid var(--aldersbrook-color-border);
    border-radius: var(--aldersbrook-radius-lg);
    box-shadow: var(--aldersbrook-shadow-soft);
    padding: clamp(1.5rem, 3vw, 2.25rem);
}

#top #main .avia_ajax_form.ae-native-form p {
    margin: 0 0 var(--aldersbrook-space-sm);
}

#top #main .avia_ajax_form.ae-native-form p:last-child {
    margin-bottom: 0;
}

#top #main .avia_ajax_form.ae-native-form .avia-form-success {
    color: var(--aldersbrook-color-action);
    font-family: var(--aldersbrook-font-heading);
}

#top #main .avia_ajax_form.ae-native-form #ajaxresponse {
    margin-top: var(--aldersbrook-space-md);
}

#top #main .ae-testimonials.avia-testimonial-wrapper {
    margin: 0;
}

#top #main .ae-testimonials:not(.avia-slider-testimonials) {
    border-collapse: separate;
    border-spacing: 1rem;
    margin: 0 -0.5rem;
    width: calc(100% + 1rem);
}

#top #main .ae-testimonials:not(.avia-slider-testimonials) .avia-testimonial {
    background: transparent;
    border: none;
    padding: 0;
}

#top #main .ae-testimonials:not(.avia-slider-testimonials) .avia-testimonial_inner {
    background: var(--aldersbrook-color-white);
    border: 1px solid var(--aldersbrook-color-border);
    border-radius: var(--aldersbrook-radius-md);
    box-shadow: var(--aldersbrook-shadow-soft);
    height: 100%;
    padding: clamp(1.5rem, 3vw, 2rem);
}

#top #main .ae-testimonials .avia-testimonial-image {
    margin-right: var(--aldersbrook-space-sm);
}

#top #main .ae-testimonials .avia-testimonial-image img {
    border: 3px solid var(--aldersbrook-color-mint);
}

#top #main .ae-testimonials .avia-testimonial-name {
    color: var(--aldersbrook-color-ink);
    font-family: var(--aldersbrook-font-heading);
    font-size: 1.2rem;
}

#top #main .ae-testimonials .avia-testimonial-meta-mini,
#top #main .ae-testimonials .avia-testimonial-subtitle,
#top #main .ae-testimonials .avia-testimonial-link,
#top #main .ae-testimonials .avia-testimonial-subtitle-sep {
    color: var(--aldersbrook-color-text-soft);
}

#top #main .ae-testimonials .avia-testimonial-markup-entry-content {
    color: var(--aldersbrook-color-text-muted);
    font-size: 1.02rem;
    line-height: 1.75;
}

#top #main .ae-pricing.avia-pricing-table-container {
    margin: 0;
}

#top #main .ae-pricing .pricing-table-wrap {
    vertical-align: top;
}

#top #main .ae-pricing .pricing-table {
    border-radius: var(--aldersbrook-radius-lg);
    box-shadow: var(--aldersbrook-shadow-soft);
    margin: 0.75rem;
    overflow: hidden;
}

#top #main .ae-pricing .pricing-table > li {
    background: var(--aldersbrook-color-white);
    border-color: var(--aldersbrook-color-border);
    color: var(--aldersbrook-color-text-muted);
    padding: 0.95rem 1.15rem;
}

#top #main .ae-pricing .pricing-table > li:first-child {
    background: var(--aldersbrook-color-ink);
    border-color: var(--aldersbrook-color-ink);
    color: var(--aldersbrook-color-white);
}

#top #main .ae-pricing .pricing-table li.avia-pricing-row {
    background: var(--aldersbrook-color-ivory);
    color: var(--aldersbrook-color-ink);
    font-family: var(--aldersbrook-font-heading);
    font-size: clamp(2.35rem, 4vw, 3.55rem);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1;
    padding: 1.8rem 1rem;
}

#top #main .ae-pricing .pricing-table li.avia-pricing-row small,
#top #main .ae-pricing .pricing-table li.avia-pricing-row .currency-symbol {
    color: var(--aldersbrook-color-text-soft);
    font-weight: 600;
    opacity: 1;
    text-shadow: none;
}

#top #main .ae-pricing .pricing-table li.avia-button-row {
    padding: 1.35rem 1rem 1.6rem;
}

#top #main .ae-pricing .pricing-table.avia-highlight-col {
    box-shadow: 0 26px 56px rgba(13, 60, 69, 0.14);
    transform: translateY(-0.35rem);
}

#top #main .ae-pricing .pricing-table.avia-highlight-col .pricing-extra {
    background: var(--aldersbrook-color-primary);
    border: none;
    display: block;
    height: 6px;
    left: 0;
    right: 0;
    top: 0;
}

#top #main .ae-pricing .pricing-table.avia-highlight-col .first-table-item {
    top: 0;
}

/* Approved EKN plugin bridges: cookie consent + reusable service cards. */

#ekn-scc-root {
    --ekn-scc-primary: var(--aldersbrook-color-primary);
    --ekn-scc-secondary: var(--aldersbrook-color-action);
    --ekn-scc-background: rgba(246, 241, 232, 0.92);
    --ekn-scc-surface: rgba(255, 255, 255, 0.96);
    --ekn-scc-text: var(--aldersbrook-color-ink);
    --ekn-scc-muted: var(--aldersbrook-color-text-soft);
    --ekn-scc-radius: var(--aldersbrook-radius-md);
    font-family: var(--aldersbrook-font-body);
}

#ekn-scc-root .ekn-scc__banner,
#ekn-scc-root .ekn-scc__modal-card {
    border-color: rgba(13, 60, 69, 0.1);
    box-shadow: 0 26px 58px rgba(13, 60, 69, 0.12);
}

#ekn-scc-root .ekn-scc__banner h2,
#ekn-scc-root .ekn-scc__modal h3 {
    color: var(--aldersbrook-color-ink);
    font-family: var(--aldersbrook-font-heading);
    font-weight: 600;
    letter-spacing: -0.03em;
}

#ekn-scc-root .ekn-scc__eyebrow,
#ekn-scc-root .ekn-scc__policy,
#ekn-scc-root .ekn-scc__category strong,
#ekn-scc-root .ekn-scc__button--text {
    color: var(--aldersbrook-color-action);
}

#ekn-scc-root .ekn-scc__button--primary,
#ekn-scc-root .ekn-scc__button--secondary {
    background: linear-gradient(135deg, var(--aldersbrook-color-action), var(--aldersbrook-color-primary));
    box-shadow: var(--aldersbrook-shadow-button);
}

#ekn-scc-root .ekn-scc__button--outline,
#ekn-scc-root .ekn-scc-manage-link,
#ekn-scc-root .ekn-scc-shortcode-button {
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid var(--aldersbrook-color-border-strong);
    color: var(--aldersbrook-color-ink);
}

#ekn-scc-root .ekn-scc__button--outline:hover,
#ekn-scc-root .ekn-scc-manage-link:hover,
#ekn-scc-root .ekn-scc-shortcode-button:hover {
    background: var(--aldersbrook-color-mint);
    border-color: var(--aldersbrook-color-primary);
}

#ekn-scc-root .ekn-scc__switch input:checked + .ekn-scc__switch-track,
#ekn-scc-root .ekn-scc__badge {
    background: linear-gradient(135deg, var(--aldersbrook-color-action), var(--aldersbrook-color-primary));
}

#top #main .ekn-service-card {
    --ekn-accent: var(--aldersbrook-color-primary);
    --ekn-gradient: linear-gradient(135deg, var(--aldersbrook-color-primary), var(--aldersbrook-color-action));
    --ekn-icon-bg: rgba(19, 160, 144, 0.12);
    --ekn-glow: rgba(19, 160, 144, 0.22);
    --ekn-shadow: rgba(12, 126, 114, 0.2);
    background: var(--aldersbrook-color-white);
    border: 1px solid var(--aldersbrook-color-border);
    border-radius: var(--aldersbrook-radius-md);
    box-shadow: var(--aldersbrook-shadow-soft);
    font-family: var(--aldersbrook-font-body);
}

#top #main .ekn-service-card.ekn-theme-teal {
    --ekn-accent: var(--aldersbrook-color-primary);
    --ekn-gradient: linear-gradient(135deg, var(--aldersbrook-color-primary), var(--aldersbrook-color-action));
    --ekn-icon-bg: rgba(19, 160, 144, 0.12);
    --ekn-glow: rgba(19, 160, 144, 0.22);
    --ekn-shadow: rgba(12, 126, 114, 0.2);
}

#top #main .ekn-service-card.ekn-theme-ocean {
    --ekn-accent: var(--aldersbrook-color-ink);
    --ekn-gradient: linear-gradient(135deg, var(--aldersbrook-color-ink), var(--aldersbrook-color-primary));
    --ekn-icon-bg: rgba(13, 60, 69, 0.1);
    --ekn-glow: rgba(13, 60, 69, 0.2);
    --ekn-shadow: rgba(13, 60, 69, 0.16);
}

#top #main .ekn-service-card.ekn-theme-amber,
#top #main .ekn-service-card.ekn-theme-crimson {
    --ekn-accent: var(--aldersbrook-color-terracotta);
    --ekn-gradient: linear-gradient(135deg, var(--aldersbrook-color-terracotta), var(--aldersbrook-color-primary));
    --ekn-icon-bg: rgba(201, 116, 86, 0.12);
    --ekn-glow: rgba(201, 116, 86, 0.22);
    --ekn-shadow: rgba(201, 116, 86, 0.2);
}

#top #main .ekn-service-card:hover {
    box-shadow: 0 24px 54px rgba(13, 60, 69, 0.12);
}

#top #main .ekn-sc-heading {
    color: var(--aldersbrook-color-ink);
    font-family: var(--aldersbrook-font-heading);
    font-weight: 600;
    letter-spacing: -0.02em;
}

#top #main .ekn-sc-description {
    color: var(--aldersbrook-color-text-muted);
    font-family: var(--aldersbrook-font-body);
}

#top #main .ekn-service-card .ekn-cta-button {
    box-shadow: var(--aldersbrook-shadow-button);
}

#top #main .ekn-service-card .ekn-cta-outline {
    border-color: var(--aldersbrook-color-primary);
    color: var(--aldersbrook-color-ink);
}

#top #main .ekn-service-card .ekn-cta-outline:hover {
    background: var(--aldersbrook-color-mint);
}

#top #main .ae-pricing-grid .ekn-cards-grid {
    align-items: stretch;
    gap: clamp(1rem, 2vw, 1.5rem);
    margin: 0;
}

#top #main .ae-pricing-grid .ekn-service-card {
    height: 100%;
    padding: clamp(1.35rem, 2.2vw, 1.8rem);
}

#top #main .ae-pricing-grid .ekn-sc-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* EKN Marketing Suite PDF lead capture — Aldersbrook theme override. */

#top #main .ekn-lc-wrapper {
    font-family: var(--aldersbrook-font-body);
}

#top #main .ekn-lc-card {
    border-color: rgba(13, 60, 69, 0.12);
    box-shadow: 0 22px 50px rgba(13, 60, 69, 0.18);
}

#top #main .ekn-lc-preview {
    background: linear-gradient(135deg, #13a090, #0c7e72);
}

#top #main .ekn-lc-type-badge {
    color: var(--aldersbrook-color-ink);
    background: rgba(246, 241, 232, 0.9);
}

#top #main .ekn-lc-brand {
    background: linear-gradient(135deg, var(--aldersbrook-color-primary), var(--aldersbrook-color-action));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

#top #main .ekn-lc-title {
    color: var(--aldersbrook-color-ink);
    font-family: var(--aldersbrook-font-heading);
}

#top #main .ekn-lc-desc,
#top #main .ekn-lc-subtext {
    color: var(--aldersbrook-color-text-muted);
}

#top #main .ekn-lc-field label {
    color: var(--aldersbrook-color-ink);
}

#top #main .ekn-lc-field input {
    border-color: rgba(13, 60, 69, 0.18);
    color: var(--aldersbrook-color-ink);
}

#top #main .ekn-lc-field input::placeholder {
    color: rgba(13, 60, 69, 0.4);
}

#top #main .ekn-lc-field input:focus {
    border-color: var(--aldersbrook-color-primary);
    box-shadow: 0 0 0 3px rgba(19, 160, 144, 0.18);
}

#top #main .ekn-lc-gdpr {
    background: rgba(221, 244, 241, 0.6);
    border-color: rgba(13, 60, 69, 0.12);
}

#top #main .ekn-gdpr-label input[type="checkbox"] {
    accent-color: var(--aldersbrook-color-primary);
}

#top #main .ekn-gdpr-text,
#top #main .ekn-gdpr-text a {
    color: var(--aldersbrook-color-ink);
}

#top #main .ekn-lc-btn {
    background: linear-gradient(135deg, var(--aldersbrook-color-primary), var(--aldersbrook-color-action));
    box-shadow: 0 18px 35px rgba(12, 126, 114, 0.22);
}

#top #main .ekn-lc-secure {
    color: var(--aldersbrook-color-text-soft);
}

#top #main .ekn-ty-heading {
    color: var(--aldersbrook-color-ink);
    font-family: var(--aldersbrook-font-heading);
}

#top #main .ekn-ty-msg,
#top #main .ekn-ty-timer-label,
#top #main .ekn-ty-brand {
    color: var(--aldersbrook-color-text-muted);
}

#top #main .ekn-ty-countdown {
    background: linear-gradient(135deg, var(--aldersbrook-color-primary), var(--aldersbrook-color-action));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

#top #main .ekn-ty-progress-wrap {
    background: rgba(221, 244, 241, 0.8);
}

#top #main .ekn-ty-progress-bar {
    background: linear-gradient(135deg, var(--aldersbrook-color-primary), var(--aldersbrook-color-action));
}

#top #main .ekn-ty-now-link {
    color: var(--aldersbrook-color-action);
    border-bottom-color: rgba(13, 60, 69, 0.2);
}

#top #main .ekn-ty-now-link:hover {
    border-bottom-color: var(--aldersbrook-color-action);
}


#top #main .ae-pricing-grid .ekn-sc-icon-wrap {
    margin-bottom: 1rem;
}

#top #main .ae-pricing-grid .ekn-sc-icon {
    border-radius: 12px;
    height: 2.75rem;
    width: 2.75rem;
}

#top #main .ae-pricing-grid .ekn-sc-icon svg {
    height: 1.05rem;
    width: 1.05rem;
}

#top #main .ae-pricing-grid .ekn-sc-heading {
    font-size: clamp(1.28rem, 2.2vw, 1.6rem);
    line-height: 1.2;
    margin-bottom: 0.75rem;
}

#top #main .ae-pricing-grid .ekn-sc-description {
    font-size: 0.97rem;
    line-height: 1.65;
    margin-bottom: 1.15rem;
}

#top #main .ae-pricing-grid .ekn-sc-cta {
    margin-top: auto;
}

#top #main .ae-pricing-note {
    background: linear-gradient(135deg, rgba(221, 244, 241, 0.88), rgba(255, 255, 255, 0.96));
    border: 1px solid rgba(19, 160, 144, 0.16);
}

#top #main .ae-pricing-note strong {
    color: var(--aldersbrook-color-action);
}

#top #main .ae-pricing-cta {
    background:
        radial-gradient(circle at top center, rgba(19, 160, 144, 0.16), transparent 44%),
        linear-gradient(180deg, rgba(246, 241, 232, 0.98), rgba(255, 255, 255, 0.96));
    text-align: center;
}

#top #main .ae-pricing-cta .ae-lead,
#top #main .ae-pricing-cta .av-subheading p {
    margin-left: auto;
    margin-right: auto;
}

/* Global Enfold frame cleanup for Aldersbrook shell pages. */
body.aldersbrook-shell-page #top .title_container {
    display: none;
}

body.aldersbrook-shell-page #top #header {
    background: transparent;
}

body.aldersbrook-shell-page #top #header .header_bg {
    background: rgba(246, 241, 232, 0.92);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(13, 60, 69, 0.08);
    box-shadow: 0 14px 36px rgba(13, 60, 69, 0.08);
    opacity: 1;
}

body.aldersbrook-shell-page #top #header_main {
    border-bottom: 1px solid rgba(13, 60, 69, 0.08);
}

body.aldersbrook-shell-page #top #header_main .container,
body.aldersbrook-shell-page #top #header_main .main_menu ul:first-child > li > a {
    height: 84px;
    line-height: 84px;
}

body.aldersbrook-shell-page #top #header_main .logo {
    min-width: 17rem;
}

body.aldersbrook-shell-page #top #header_main .logo a {
    color: var(--aldersbrook-color-ink);
    font-family: var(--aldersbrook-font-heading);
    font-size: clamp(1.2rem, 2vw, 1.55rem);
    font-weight: 600;
    letter-spacing: -0.03em;
    text-decoration: none;
}

body.aldersbrook-shell-page #top #header_main .logo img {
    height: auto;
    max-height: 3.25rem;
    width: auto;
}

body.aldersbrook-shell-page #top #header_main .main_menu .menu > li > a {
    color: var(--aldersbrook-color-ink);
    font-family: var(--aldersbrook-font-body);
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    transition: color 0.25s ease, transform 0.25s ease;
}

body.aldersbrook-shell-page #top #header_main .main_menu .menu > li > a:hover,
body.aldersbrook-shell-page #top #header_main .main_menu .menu > li.current-menu-item > a,
body.aldersbrook-shell-page #top #header_main .main_menu .menu > li.current_page_item > a {
    color: var(--aldersbrook-color-action);
}

body.aldersbrook-shell-page #top #header_main .main_menu .menu > li > a .avia-menu-fx {
    display: none;
}

body.aldersbrook-shell-page #top #header_main .main_menu .menu > li.ald-menu-cta > a {
    background: linear-gradient(135deg, var(--aldersbrook-color-action), var(--aldersbrook-color-primary));
    border-radius: 999px;
    box-shadow: var(--aldersbrook-shadow-button);
    color: var(--aldersbrook-color-white);
    display: inline-flex;
    align-items: center;
    height: auto;
    line-height: 1.2;
    margin-left: 0.6rem;
    margin-top: 1rem;
    padding: 0.95rem 1.35rem;
}

body.aldersbrook-shell-page #top #header_main .main_menu .menu > li.ald-menu-cta > a:hover,
body.aldersbrook-shell-page #top #header_main .main_menu .menu > li.ald-menu-cta.current-menu-item > a,
body.aldersbrook-shell-page #top #header_main .main_menu .menu > li.ald-menu-cta.current_page_item > a {
    color: var(--aldersbrook-color-white);
    transform: translateY(-2px);
}

body.aldersbrook-shell-page #top #menu-item-search {
    display: none;
}

body.aldersbrook-shell-page #top #socket {
    background: var(--aldersbrook-color-ink);
    color: rgba(255, 255, 255, 0.8);
}

body.aldersbrook-shell-page #top #socket .copyright,
body.aldersbrook-shell-page #top #socket .copyright a {
    color: rgba(255, 255, 255, 0.9);
}

body.aldersbrook-shell-page #top #socket .copyright a:hover {
    color: var(--aldersbrook-color-mint);
}

@media only screen and (max-width: 767px) {
    body.aldersbrook-shell-page #top #header_main .container,
    body.aldersbrook-shell-page #top #header_main .main_menu ul:first-child > li > a {
        height: 78px;
        line-height: 78px;
    }

    body.aldersbrook-shell-page #top #header_main .logo {
        min-width: 0;
    }

    #top #main .ae-home-hero::after {
        height: 11rem;
        right: -2rem;
        top: -6rem;
        width: 11rem;
    }

    #top #main .ae-testimonials:not(.avia-slider-testimonials) {
        border-spacing: 0;
        margin: 0;
        width: 100%;
    }

    #top #main .ae-testimonials:not(.avia-slider-testimonials) .avia-testimonial {
        margin-bottom: var(--aldersbrook-space-md);
    }

    #top #main .ae-pricing .pricing-table {
        margin: 0 0 var(--aldersbrook-space-md);
    }
}
