/* =====================================================================
 * The old Elementor kit's site-wide custom CSS (post 4, custom_css),
 * the parts the converted pages still depend on, scoped to .lr-pages.
 * Global colours resolved to hex. Copied 02/09/2026.
 * =================================================================== */

.lr-pages .link-white a { color: #fff; text-decoration: underline; }
.lr-pages .word-break { word-break: break-word; }
:is(.lr-pages, .lr-main--clean) .gform_heading { display: none !important; }

/* Forms: the old theme's field and button defaults (hello-elementor fields,
   the kit's pill button), which the Gravity Forms markup relied on. */
:is(.lr-pages, .lr-main--clean) .gform_wrapper { color: #333; }
:is(.lr-pages, .lr-main--clean) .gform_wrapper label, :is(.lr-pages, .lr-main--clean) .gform_wrapper legend { color: #333; font-size: 16px; font-weight: 700; }
:is(.lr-pages, .lr-main--clean) .gform_wrapper input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
:is(.lr-pages, .lr-main--clean) .gform_wrapper select,
:is(.lr-pages, .lr-main--clean) .gform_wrapper textarea { background: #fff; border: 1px solid #666; border-radius: 3px; color: #333; font: inherit; font-size: 16px; padding: 8px; width: 100%; }
:is(.lr-pages, .lr-main--clean) .gform_wrapper .gform_button,
:is(.lr-pages, .lr-main--clean) .gform_wrapper input[type="submit"],
:is(.lr-pages, .lr-main--clean) .gform_wrapper button[type="submit"] { background: #BF2428; border: 2px solid #BF2428; border-radius: 40px; color: #fff; cursor: pointer; font-family: inherit; font-size: 17.6px; font-weight: 500; line-height: 1; padding: 18px 28px; transition: background .2s, border-color .2s; }
:is(.lr-pages, .lr-main--clean) .gform_wrapper .gform_button:hover,
:is(.lr-pages, .lr-main--clean) .gform_wrapper input[type="submit"]:hover,
:is(.lr-pages, .lr-main--clean) .gform_wrapper button[type="submit"]:hover { background: #A3191D; border-color: #A3191D; }
:is(.lr-pages, .lr-main--clean) .gform_wrapper.gravity-theme .ginput_container_date input { width: 100%; }
/* Validation: make the failing field itself obvious, not just its label and message. */
:is(.lr-pages, .lr-main--clean) .gform_wrapper .gfield_error input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),
:is(.lr-pages, .lr-main--clean) .gform_wrapper .gfield_error select,
:is(.lr-pages, .lr-main--clean) .gform_wrapper .gfield_error textarea { border: 2px solid #c02b0a; background: #fff8f7; }
:is(.lr-pages, .lr-main--clean) .gform_wrapper .gfield_error .gfield_validation_message { margin-top: 6px; padding: 8px 12px; font-size: 15px; }
:is(.lr-pages, .lr-main--clean) .gform_wrapper .gform_validation_errors { scroll-margin-top: 120px; }

/* Patch 6 (Jeremy, 15/10/2026) ------------------------------------------ */

/* 3. A heading sat hard on the text under it inside plain groups, where
   nothing but the heading's own margin separates the two (the flex
   containers in pages.css space their children with the 20px gap, and
   keep margin 0 so the two never stack). */
#lr-main.lr-pages :is(h2, h3, h4, h5, h6):not(:last-child) { margin-bottom: 0.45em; }
#lr-main.lr-pages .lr-el-section > .wp-block-group__inner-container > :is(h2, h3, h4, h5, h6),
#lr-main.lr-pages .lr-el-box > .wp-block-group__inner-container > :is(h2, h3, h4, h5, h6),
#lr-main.lr-pages .lr-el-lane > .wp-block-group__inner-container > :is(h2, h3, h4, h5, h6),
#lr-main.lr-pages .lr-el-cover > .wp-block-cover__inner-container > :is(h2, h3, h4, h5, h6),
#lr-main.lr-pages .wp-block-column.lr-el-col > :is(h2, h3, h4, h5, h6) { margin-bottom: 0; }

/* 1. The hero phone pill: on hover the pill fills red and the circle goes
   white, so the handset inside the circle has to go red or it vanishes. */
.lr-pages a.lr-page-hero__phone:hover .lr-page-hero__phone-glyph,
#lr-main a.lr-page-hero__phone:hover .lr-page-hero__phone-glyph { fill: var(--lr-red, #bf2428); }

/* 6. The "Funded courses" jump lands with the sticky header clear of the grid. */
html { scroll-behavior: smooth; }
.lrc-programme[id] { scroll-margin-top: 110px; }

/* TablePress */
.lr-pages .tablepress>:not(caption)>*>* {
    font-size: 1rem;
    padding: 1rem;
}
.lr-pages .tablepress>:where(thead,tfoot)>tr>* {
    background-color: #BF2428;
	color: #fff;
}
.lr-pages .tablepress thead .dt-orderable-asc:hover,
.lr-pages .tablepress thead .dt-orderable-desc:hover,
.lr-pages .tablepress thead .dt-ordering-asc,
.lr-pages .tablepress thead .dt-ordering-desc {
    background-color: #BF2428;
	color: #fff;
}
.lr-pages .tablepress thead .dt-orderable-asc .dt-column-order,
.lr-pages .tablepress thead .dt-orderable-desc .dt-column-order,
.lr-pages .tablepress thead .dt-ordering-asc .dt-column-order,
.lr-pages .tablepress thead .dt-ordering-desc .dt-column-order,
.lr-pages .tablepress thead .dt-orderable-asc:hover,
.lr-pages .tablepress thead .dt-orderable-desc:hover,
.lr-pages .tablepress thead .dt-ordering-asc,
.lr-pages .tablepress thead .dt-ordering-desc {
    background-color: #A3191D;
    color: #fff;
}
.lr-pages .tablepress thead .dt-orderable-asc .dt-column-order:after,
.lr-pages .tablepress thead .dt-orderable-asc .dt-column-order:before,
.lr-pages .tablepress thead .dt-orderable-desc .dt-column-order:after,
.lr-pages .tablepress thead .dt-orderable-desc .dt-column-order:before,
.lr-pages .tablepress thead .dt-ordering-asc .dt-column-order:after,
.lr-pages .tablepress thead .dt-ordering-asc .dt-column-order:before,
.lr-pages .tablepress thead .dt-ordering-desc .dt-column-order:after,
.lr-pages .tablepress thead .dt-ordering-desc .dt-column-order:before {
    opacity: 1;
}
.lr-pages .tablepress td p {
    margin-bottom: 0;
    margin-top: 0;
}
@media screen and (max-width: 767px) {
    .lr-pages .tablepress, .tablepress thead, .tablepress tbody, .tablepress th, .tablepress td, .tablepress tr { 
        display: block !important; 
    }
    .lr-pages .tablepress thead { 
        display: none !important; 
    }
    .lr-pages .tablepress tr { 
        margin-bottom: 15px;
		border-left: 1px solid #ddd;
		border-right: 1px solid #ddd;
		border-top: 1px solid #ddd;
    }
    .lr-pages .tablepress td {
        border: none !important;
        border-bottom: 1px solid #eee !important;
		display: flex !important;
        position: relative;
        padding: 0 !important;
        text-align: left !important;
        min-height: 30px;
    }
    .lr-pages .tablepress td:before {
		align-items: center;
		background-color: #A3191D;
		color: #fff;
        content: attr(data-label);
		display: flex;
		flex: 0 0 40%;
		font-size: 0.875rem;
		font-weight: bold;
		left: 0;
		line-height: 1.2em;
		padding: 10px;
    }
	.tablepress td span {
		padding: 10px;
	}
}
/* Form - Price field */
:is(.lr-pages, .lr-main--clean) .gform_wrapper.gravity-theme .price-one-line .ginput_product_price_wrapper {
    display: block;
    margin-bottom: 10px;
}
:is(.lr-pages, .lr-main--clean) .gform_wrapper.gravity-theme .price-one-line .ginput_product_price {
    width: auto;
}
:is(.lr-pages, .lr-main--clean) .gform_wrapper.gravity-theme .gf_readonly .ginput_quantity_label::after {
    content: ":";
    display: inline;
}
:is(.lr-pages, .lr-main--clean) .gform_wrapper.gravity-theme .gf_readonly .ginput_quantity {
    border: none;
    color: #900;
    padding: 0 0 0 5px;
    position: relative;
    top: 1px;
}


/* Gravity Forms confirmation as a clear thank-you panel, not a line of text
   lost in the page copy (tester feedback 19/09/2026, Join the waitlist). */
:is(.lr-pages, .lr-main--clean) .gform_confirmation_wrapper .gform_confirmation_message {
    background: #fff; border: 1px solid #2e7d32; border-left: 6px solid #2e7d32; border-radius: 14px;
    color: #333; font-size: 17px; line-height: 1.55; margin: 8px 0 26px; padding: 26px 28px;
}
:is(.lr-pages, .lr-main--clean) .gform_confirmation_message h2 { color: #0c0b0b; font-size: 28px; font-weight: 800; margin: 0 0 10px; }
:is(.lr-pages, .lr-main--clean) .gform_confirmation_message p { margin: 0 0 10px; }
:is(.lr-pages, .lr-main--clean) .gform_confirmation_message p:last-child { margin-bottom: 0; }
