/* ================================
   REGISTRATION FORM STYLING
   juffroubydiehuis.co.za
================================ */

/* Page Background */
body {
    background: #f5f5f5 !important;
}

/* Form Container */
.wpcf7 {
    max-width: 750px;
    margin: 0 auto 50px auto;
    padding: 40px;
    background: #ffffff;
    border-radius: 15px;
    box-shadow: 0 5px 30px rgba(0,0,0,0.10);
}

/* Page Title */
.entry-title {
    text-align: center;
    color: #3eb48e;
    font-size: 32px;
    margin-bottom: 10px;
}

/* ================================
   SECTION HEADINGS
================================ */
.wpcf7 h3 {
    background: linear-gradient(135deg, #3eb48e, #3eb48e);
    color: #ffffff;
    padding: 12px 20px;
    border-radius: 8px;
    margin-top: 30px;
    margin-bottom: 20px;
    font-size: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* ================================
   LABELS
================================ */
.wpcf7 label {
    display: block;
    margin-bottom: 18px;
    font-weight: 600;
    color: #444444;
    font-size: 14px;
    line-height: 1.5;
}

/* ================================
   ALL INPUT FIELDS
================================ */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    font-size: 14px;
    margin-top: 6px;
    box-sizing: border-box;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    background: #fafafa;
    color: #333;
}

/* Focus State */
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="number"]:focus,
.wpcf7 select:focus {
    border-color: #3eb48e;
    box-shadow: 0 0 0 3px rgba(192,57,43,0.15);
    outline: none;
    background: #ffffff;
}

/* ================================
   DROPDOWN SELECT
================================ */
.wpcf7 select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23c0392b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 15px center;
    padding-right: 40px;
    cursor: pointer;
}

/* ================================
   RADIO BUTTONS — PAYMENT OPTIONS
================================ */
.wpcf7 .wpcf7-radio {
    display: block;
    margin-top: 10px;
}

.wpcf7 .wpcf7-radio .wpcf7-list-item {
    display: block;
    margin-bottom: 12px;
}

.wpcf7 .wpcf7-radio .wpcf7-list-item label {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    background: #f8f8f8;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    transition: all 0.3s ease;
}

.wpcf7 .wpcf7-radio .wpcf7-list-item label:hover {
    border-color: #3eb48e;
    background: #fff5f5;
}

.wpcf7 .wpcf7-radio input[type="radio"] {
    width: 18px;
    height: 18px;
    margin-right: 12px;
    accent-color: #3eb48e;
}

/* ================================
   CHILDREN NUMBER INPUT
================================ */
input[name="num_children"] {
    width: 120px !important;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    color: #3eb48e;
    border-color: #3eb48e !important;
}

/* ================================
   CHILD BLOCKS (Dynamic)
================================ */
.child-block {
    background: #fff9f9;
    border: 2px solid #f5c6c6;
    border-radius: 10px;
    padding: 20px 25px;
    margin-bottom: 20px;
    animation: fadeIn 0.3s ease;
}

.child-block h4 {
    background: linear-gradient(135deg, #3eb48e, #3eb48e);
    color: white;
    padding: 8px 15px;
    border-radius: 6px;
    margin-bottom: 15px;
    font-size: 14px;
    letter-spacing: 1px;
}

.child-block label {
    display: block;
    margin-bottom: 12px;
    font-weight: 600;
    font-size: 14px;
    color: #444;
}

.child-input {
    width: 100%;
    padding: 12px 15px;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    font-size: 14px;
    margin-top: 6px;
    box-sizing: border-box;
    background: #fafafa;
    transition: border-color 0.3s ease;
}

.child-input:focus {
    border-color: #3eb48e;
    outline: none;
    background: #ffffff;
}

/* Fade in animation for child blocks */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ================================
   MONTH DROPDOWNS SIDE BY SIDE
================================ */
.month-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

/* ================================
   SUBMIT BUTTON
================================ */
.wpcf7 input[type="submit"] {
    background: linear-gradient(135deg, #3eb48e, #3eb48e);
    color: #ffffff;
    padding: 16px 40px;
    border: none;
    border-radius: 8px;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    width: 100%;
    margin-top: 30px;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(192,57,43,0.3);
}

.wpcf7 input[type="submit"]:hover {
    background: linear-gradient(135deg, #a93226, #c0392b);
    box-shadow: 0 6px 20px rgba(192,57,43,0.4);
    transform: translateY(-2px);
}

/* ================================
   VALIDATION ERRORS
================================ */
.wpcf7 .wpcf7-not-valid-tip {
    color: #c0392b;
    font-size: 12px;
    margin-top: 5px;
    display: block;
}

.wpcf7 .wpcf7-not-valid {
    border-color: #c0392b !important;
    background: #fff5f5 !important;
}

/* ================================
   SUCCESS MESSAGE
================================ */
.wpcf7 .wpcf7-response-output {
    border-radius: 8px;
    padding: 15px 20px;
    margin-top: 20px;
    font-weight: 600;
    text-align: center;
}



/* ================================
   Homepage CSS
================================ */
.page-id-238 header#site-header {
    display: none;
}
.home-faq summary.e-n-accordion-item-title[aria-expanded="true"] {
    border-radius: 16px 16px 0px 0px !important;
}
#site-footer {
    position: relative !important;
    z-index: 1 !important;
}

.woocommerce div.product {
    position: relative;
    z-index: 10;
}
header img.wpml-ls-flag {
    border-radius: 100px;
    height: 24px;
    width: 24px;
    object-fit: cover;
}
header a.js-wpml-ls-item-toggle.wpml-ls-item-toggle, .wpml-ls-legacy-dropdown .wpml-ls-sub-menu a {
    padding: 0px !important;
    border: unset !important;
    padding: 0px !important;
	background:unset!important;
}
ul#wpml-ls-submenu-default {
    border: unset !important;
    padding-top: 10px;
}
.home-icon-box:hover {
	background:#28a99e!important;
}
.home-icon-box:hover * {
    color: #fff !important;
	background:#28a99e!important;
}
.home-icon-box .elementor-position-top.elementor-widget.elementor-widget-image-box{
	height: 100%;
}

.home-icon-box:hover .elementor-position-top.elementor-widget.elementor-widget-image-box {
    box-shadow: unset !important;
}
.home-icon-box img.attachment-full {
    background: #28A99E !important;
    padding: 5px;
    border-radius: 5px;
	width:30%;
}
.home-icon-box:hover img.attachment-full {
    background: #ffffff3b !important;
}
.heading-sub sub {
    font-size: 18px;
}
.hover-col:hover * {
    color: #fff !important;
}
.hover-col:hover svg path {
    fill: #fff;
}
.ldcc-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}
.ldcc-card img {
    border-radius: 30px !important;
}

.ldcc-card {
    box-shadow: 0px 0px 37px 0px rgba(0, 0, 0, 0.14);
    border-radius: 30px;
	position:relative;
}
.ldcc-body {
    padding: 30px;
}
span.ldcc-tag {
    color: #fff;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 500;
    padding: 6px 16px;
    background: linear-gradient(90deg, #00BC96 0%, #00AEB8 100%);
    box-shadow: 0px 10px 8px 0px rgba(0, 0, 0, 0.34);
    position: absolute;
    left: 15px;
    top: 15px;
}
h3.ldcc-title {
    color: #1F2937;
    font-family: Dm Sans !important;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px !important;
    margin-top: 0px !important;
}
p.ldcc-excerpt {
    font-size: 20px;
	margin-bottom:20px;
}
a.ldcc-btn, button.ldcc-btn.ldcc-btn--disabled {
    border: 1px solid #00000033 !important;
    border-radius: 10px;
    width: 100% !important;
    display: block;
    text-align: center;
    padding: 10px 0px;
    color: #28A99E !important;
    font-size: 18px;
    font-weight: 500;
}
a.ldcc-btn:hover{
	background:#28A99E !important;
	color:#fff!important;
}
button.ldcc-btn.ldcc-btn--disabled, button.ldcc-btn.ldcc-btn--disabled:hover {
    background: #ddd !important;
    border: unset !important;
}


/* ================================
   Course Page CSS
================================ */

button.ldcc-loadmore {
    width: 30%;
    margin: 0px auto;
    background: #28A99E !important;
    color: #fff;
    border: unset !important;
    border-radius: 7px;
    font-size: 18px;
    font-weight: 600;
}
.ldcc-loadmore-wrap {
    text-align: center;
	margin-top:50px;
}


/* ================================
   Contact Page CSS
================================ */
.contact-form label {
    color: #1F2937;
    font-weight: 600 !important;
    font-size: 16px !important;
    margin-bottom: 7px !important;
}
.contact-form input, .contact-form textarea {
    background: #f5f5f5 !important;
    border: 1px solid #4b4b4b1a !important;
    border-radius: 8px !important;
    padding: 15px 47px !important;
    font-size: 16px !important;
    color: #000 !important;
}
.contact-form span.forminator-description {
    display: none !important;
}
.contact-form .forminator-name--field {
    background-image: url(https://juffroubydiehuis.co.za/wp-content/uploads/2026/05/material-symbols_person-rounded-bcd25d.svg) !important;
}
.contact-form .forminator-email--field {
    background-image: url(https://juffroubydiehuis.co.za/wp-content/uploads/2026/05/material-symbols-light_mail-rounded-62ea54.svg) !important;
}
.contact-form .forminator-field--phone {
    background-image: url(https://juffroubydiehuis.co.za/wp-content/uploads/2026/05/ic_sharp-phone-43465c.svg) !important;
}
.contact-form .forminator-textarea {
    background-image: url(https://juffroubydiehuis.co.za/wp-content/uploads/2026/05/mingcute_message-4-fill-8ccc74.svg) !important;
}
.contact-form input.forminator-input, .contact-form textarea{
	background-size: contain;
    background-repeat: no-repeat !important;
    background-position: 21px 14px !important;
}
.contact-form .forminator-row:has(.forminator-field--phone), .contact-form .forminator-row:has(.forminator-email--field) {
    width: 50%;
}
.contact-form form {
    display: flex;
    flex-wrap: wrap;
	justify-content:space-between;
}
.contact-form .forminator-row{
	margin:0px 0px 15px 0px!important;
}
.contact-form .forminator-row:has(.forminator-name--field), .contact-form .forminator-row:has(.forminator-textarea) {
    width: 100%;
}
.contact-form form {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between !important;
}
.contact-form .submit-btn {
    background: #28A99E !important;
    color: #fff !important;
    border-radius: 10px !important;
    padding: 10px 30px !important;
    font-size: 18px !important;
    margin-top: 20px !important;
}


/* ================================
   Legal Pages CSS
================================ */
.legal-page ul li::marker {
    color: #28A99E !important;
}
.legal-page ul li {
    margin-bottom: 10px;
}
.legal-page strong{
	color:#000!important;
}
.legal-page a{
	color:#28A99E !important;
}


/* ================================
   Course Detail Page CSS
================================ */
.ld-section-heading h2 {
    font-size: 32px !important;
    color: #1F2937 !important;
    font-weight: bold !important;
}
.learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) #btn-join, .learndash-wrapper:not(.ld-registration__outer-wrapper):not(.learndash-wrapper--modern) .btn-join {
    background-color: var(--e-global-color-accent)!important;
    font-size: 18px!important;
    font-weight: 600!important;
    fill: #FFFFFF!important;
    color: #FFFFFF!important;
    border-style: none!important;
    border-radius: 10px 10px 10px 10px!important;
    padding: 10px 20px 10px 20px!important;
}



#user-registration, .user-registration.ur-frontend-form, .user-registration.ur-frontend-form .ur-button-container {
    max-width: 100% !important;
	width:100%!important;
}
div#user-registration div#ur-frontend-form, .user-registration.ur-frontend-form {
    box-shadow: unset !important;
    padding: 0px !important;
	margin-top: 20px;
}
div#ur-frontend-form input#username, .user-registration.ur-frontend-form input, div#ur-frontend-form input#password, form.user-registration-ResetPassword.ur_lost_reset_password input#user_login {
    padding-left: 40px!important;
    border-radius: 8px !important;
    background: #0000000d;
    border: 1px solid #4b4b4b1f;
    min-height: 46px!important;
	font-size: 16px !important;
}
div.user-registration input#user_login {
	background-image: url(https://juffroubydiehuis.co.za/wp-content/uploads/2026/05/material-symbols_person-rounded-bcd25d.svg) !important;
    background-repeat: no-repeat !important;
    background-position: 14px 12px !important;
}
div#ur-frontend-form input#username, form.user-registration-ResetPassword.ur_lost_reset_password input#user_login ,
.user-registration.ur-frontend-form input#user_email{
    background-image: url(https://juffroubydiehuis.co.za/wp-content/uploads/2026/05/material-symbols-light_mail-rounded-62ea54.svg) !important;
    background-repeat: no-repeat !important;
    background-position: 14px 12px !important;
}
input#number_box_1776936791{
	background-image: url(https://juffroubydiehuis.co.za/wp-content/uploads/2026/05/ic_sharp-phone-43465c.svg) !important;
    background-repeat: no-repeat !important;
    background-position: 14px 12px !important;
}
div#ur-frontend-form input#password, .user-registration.ur-frontend-form input#user_pass,
.user-registration.ur-frontend-form input#user_confirm_password {
    background-image: url(https://juffroubydiehuis.co.za/wp-content/uploads/2026/05/mingcute_lock-fill-d3aad4.svg) !important;
    background-repeat: no-repeat !important;
    background-position: 14px 12px !important;
}
div#ur-frontend-form label {
    color: #1F2937;
    font-size: 16px !important;
    font-weight: 600 !important;
    margin-bottom: 13px;
}
div#ur-frontend-form span.required{
	display:none!important;
}
div#ur-frontend-form input#username::placeholder, div#ur-frontend-form input#password::placeholder {
    color: #4b4b4b61;
    font-size: 16px !important;
}
button.user-registration-Button.button.ur-submit-button,
input.user-registration-Button.button.ur-reset-password-btn,
div.user-registration button.btn.button.ur-submit-button.submit{
    width: 100%;
    background: #28A99E !important;
    font-size: 18px !important;
    padding: 16px !important;
    border-radius: 10px !important;
	border:unset!important;
}
label.user-registration-form__label.user-registration-form__label-for-checkbox.inline a{
	color:#28A99E !important;
}
.user-registration-register.register a {
    font-size: 16px;
	color:#28A99E !important;
}
form.user-registration-ResetPassword.ur_lost_reset_password .ur-lost-password-content-container {
    display: none;
}
div.user-registration .ur-form-grid.ur-grid-1 {
    display: flex;
    flex-wrap: wrap;
	column-gap:20px;
}
div.user-registration .ur-form-grid.ur-grid-1 .ur-field-item {
    width: 100%;
}
.login-btn a.elementor-button {
    color: #444444;
    font-size: 18px;
    font-family: 'DM Sans';
    font-weight: bold;
    text-transform: uppercase;
    padding: 10px 20px;
    border: 1px solid #00000030;
    background: unset !important;
    border-radius: 10px;
}



@media screen and (min-width:767px){
	div.user-registration .ur-field-item.field-user_email, div.user-registration .ur-field-item.field-number {
		width: 48.3% !important;
	}
}

/* ================================
   MOBILE RESPONSIVE
================================ */
@media (max-width: 600px) {
	.contact-form form{
		flex-direction:column!important;
	}
	.contact-form .forminator-row{
		width:100%!important;
	}
	h3.ldcc-title {
		font-size: 20px;
	}
	p.ldcc-excerpt {
		font-size: 16px;
	}
    .wpcf7 {
        padding: 20px 15px;
        margin: 0 10px 30px 10px;
    }

    .month-row {
        grid-template-columns: 1fr;
    }

    .wpcf7 input[type="submit"] {
        font-size: 16px;
        padding: 14px 20px;
    }
	.ldcc-grid {
		grid-template-columns: 1fr !important;
	}
}