/*
Theme Name: Elementra Child Theme
Template: elementra
Theme URI: https://elementra.themerex.net/
Description: Elementra Child Theme
Author: ThemeREX
Author URI: https://themerex.net/
Version: 1.0
Tested up to: 6.7
Requires at least: 5.0
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: blog, e-commerce, portfolio, grid-layout, one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-logo, custom-menu, editor-style, featured-image-header, featured-images, flexible-header, footer-widgets, full-width-template, microformats, post-formats, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks
Text Domain: elementra
*/


/* =Child-Theme customization starts here
------------------------------------------------------------ */
.grecaptcha-badge { width: 70px !important; overflow: hidden !important; transition: all 0.3s ease !important; left: 4px !important; }
.grecaptcha-badge:hover { width: 256px !important; }
.grecaptcha-badge {display: none !important;}

@media screen and (max-width: 768px) {div#ea11y-root {display: none;}}

.square-embed-container {
    max-width: 700px;
}
div#appointment {
    max-width: 700px;
}
@media screen and (min-width:768px) {
    div.mfp-content {
        max-width: 700px !important;
        width: fit-content !important;
        min-width: 700px !important;
    }
}
@media screen and (max-width:767px) {
    div.mfp-content {
        width: fit-content !important;
        min-width: 98% !important;
    }
}
button.mfp-close .mfp-close-icon:before {border-top: 2px solid #ffffff !important;}
button.mfp-close .mfp-close-icon:after {border-top: 2px solid #ffffff !important;}
button.mfp-close {background-color: #000000 !important;top: -10px !important;}
button.mfp-close:hover {background-color: #85A1AF !important;}

.left-text-block-max-width-fix {max-width: 689px;}

span.wc-block-product-filter-checkbox-list__input-wrapper {width: 16px;height: 16px;}
.wc-block-product-filters h2 { font-size:18px }
.wc-block-product-filters h3 { font-size:24px }
.wc-instore-only{padding: 14px 16px; border: 1px solid #e6e6e6; border-radius: 10px; margin: 16px 0;}
.wc-instore-only .button{ margin-right: 8px; margin-top: 10px; }
.wc-instore-badge{display:inline-block; margin-top:6px; font-size:.9rem; padding:4px 8px; border-radius:999px; border:1px solid #ddd;}
.wc-instore-actions {display: flex;gap: 30px;margin-top: 30px;}

section.related.products {clear: both;}

#cookie-notice .cn-button:not(.cn-button-custom) {color: #fff;}

/***************************/
/* CONTACT FORM 7 CSS ******/
/***************************/
:root{
  --ff-sans: 'Poppins', sans-serif;
  --fs-400: 16px;
  --color-accent: #85A1AF;
  --trans: all 250ms ease-in-out;
  --hover-accent: #B3C6CD;
}
::placeholder{color: var(--color-placeholder, #000000); opacity: 1;}
:-ms-input-placeholder {color: var(--color-placeholder, #000000);}
::-ms-input-placeholder {color: var(--color-placeholder, #000000);}


/******************/
/* Form Header ****/
/******************/
.form-header{width: 100%;max-width: var(--col-4, 500px);margin-inline: auto;margin-bottom: var(--gap-700, 48px);display: flex;flex-direction: column;gap: var(--gap-300, 12px);}


/************************************************************************************************/
/* Form *****************************************************************************************/
/************************************************************************************************/
textarea{resize: none;}

.form-group,
form input,
form textarea,
.wpcf7 form .form-row p,
.wpcf7 form input.wpcf7-form-control,
.wpcf7 form textarea.wpcf7-form-control{width: 100%;}


/******************/
/* Form Part ******/
/******************/
form .form__part:not(:last-of-type){margin-bottom: var(--gap-form, 20px);}

/* Form Part - Heading & Helper */
form .form__part .form-part__heading,
form .form__part .form-part__helper,
form .form__part .form-part__heading p,
form .form__part .form-part__helper p{font-family: var(--ff-sans-700);font-size: var(--fs-600, 18px);color: var(--color-primary, #000000);}

form .form__part .form-part__heading:not(:empty){margin-bottom: var(--gap-500, 24px);}
form .form__part .form-part__helper:not(:empty){margin-top: var(--gap-500, 24px);}

/* Form Part - Row */
form .form__part .form-row,
.wpcf7 form .form-row{margin-bottom: var(--gap-500, 24px);}
form .form__part .form-row:last-child,
.wpcf7 form .form-row:last-child{margin-bottom: 0;}
form .form__part .form-row.flex,
.wpcf7 form .form-row.flex{display: flex;gap: var(--gap-form, 20px);}

form .form__part .form-row.form-row--acceptance{margin-bottom: 0;}

/* Inline Submit & Add To Cart */
form .form-row.form-row--inline-submit button[type="submit"],
form .form-row.form-row--inline-add-to-cart button[type="submit"]{flex-shrink: 0;margin-top: 0;}

/* Inline Submit */
form .form-row.form-row--inline-submit{display: grid; grid-template-columns: 1fr 200px; gap: var(--gap-300, 12px);}
@media(max-width:767px){form .form-row.form-row--inline-submit{grid-template-columns: 1fr;}}


/******************/
/* Form Elements **/
/******************/
/* General Label & Input */
form label,
form label > span.input-label,
.wpcf7 form label,
.wpcf7 form label > span.input-label{
	font-family: var(--ff-sans-700);
	font-size: var(--fs-300, 14px);
}

/* Input's Label */
form label > span.input-label,
.wpcf7 form label > span.input-label{
	margin-bottom: var(--gap-100, 4px);
	padding: var(--padding-input);
	padding-block: 0;
}

/* Input's Wrapper */
form label span,
.wpcf7 form label span.wpcf7-form-control-wrap{
	width: 100%;
	position: relative;
	display: block;}

/* Input */
form input,
form textarea,
.wpcf7 form input.wpcf7-form-control,
.wpcf7 form textarea.wpcf7-form-control{
	padding: var(--padding-input, 15px 30px);
	font-family: var(--ff-sans);
	font-size: var(--fs-400, 18px);
	color: var(--color-text, black);
	background-color: white;
  border-radius: 10px;
	border: 1px solid var(--color-border, #C0C0C0FF);
	transition: var(--trans);
}


/******************/
/* Submit *********/
/******************/
form button[type="submit"],
.wpcf7 form input.wpcf7-submit{width: auto;font-family: var(--ff-serif);font-family: var(--ff-sans-700);font-size: var(--fs-400, 18px);background-color: transparent;background-color: var(--color-accent, #000000);border-color: var(--color-accent, #000000);color: var(--color-white, #FFFFFF);cursor: pointer;}

form button[type="submit"]:hover,
form button[type="submit"]:focus,
.wpcf7 form input.wpcf7-submit:hover,
.wpcf7 form input.wpcf7-submit:focus{background-color: var(--hover-accent, #000000);border-color: var(--hover-accent, #000000);}

.wpcf7 .form-row.form-row--submit{margin-bottom: 0px;}
.wpcf7 .form-row.form-row--submit p{display: flex;justify-content: flex-end;}
.wpcf7 .form-row.form-row--submit .wpcf7-spinner{display: none;}
@media(max-width:767px){.wpcf7 form input.wpcf7-submit{margin-top: var(--gap-400, 16px);}}


/******************/
/* Checkboxes *****/
/******************/
.wpcf7 .form-row.form-row--checkbox p{max-width: var(--col-8, 1020px);margin-inline: auto;}
.wpcf7 .form-row.form-row--checkbox p > label{display: block;width: 100%;margin-top: var(--gap-300, 32px);margin-bottom: var(--gap-200, 8px);font-family: var(--ff-sans);font-size: var(--fs-400, 18px);text-transform: uppercase;}
.wpcf7 .form-row.form-row--checkbox span.wpcf7-checkbox{display: flex;flex-wrap: wrap;gap: var(--gap-300, 12px);}
.wpcf7 .form-row.form-row--checkbox span.wpcf7-checkbox .wpcf7-list-item{margin:0;}
.wpcf7 .form-row.form-row--checkbox span.wpcf7-checkbox .wpcf7-list-item label{cursor: pointer;}
.wpcf7 .form-row.form-row--checkbox span.wpcf7-checkbox .wpcf7-list-item input{width: 1px;height: 1px;opacity: 0;visibility: hidden;position: absolute;}
.wpcf7 .form-row.form-row--checkbox span.wpcf7-checkbox .wpcf7-list-item span{display: block;padding: 12px 20px;background-color: white;border: 1px solid white;border-radius: var(--br-300, 30px);font-family: var(--ff-sans);font-size: var(--fs-400, 18px);line-height:var(--lh-200, 1.20);color: var(--color-grey, red);transition: var(--trans);}
.wpcf7 .form-row.form-row--checkbox span.wpcf7-checkbox .wpcf7-list-item input:checked + span{background-color: var(--color-accent, #FDB52B);border-color: var(--color-accent, #FDB52B);color: var(--color-text, #000000);}


/******************/
/* Radio **********/
/******************/
.wpcf7 .form-row.form-row--radio p{max-width: var(--col-8, 1020px);margin-inline: auto;}
.wpcf7 .form-row.form-row--radio .wpcf7-form-control.wpcf7-radio{display: flex;align-items: center;justify-content: flex-start;column-gap: var(--gap-600, 32px);row-gap: var(--gap-400, 16px);flex-wrap: wrap;color: var(--color-primary, #000000);}
.wpcf7 .form-row.form-row--radio .wpcf7-list-item input[type="radio"]{width: auto;}

/* Radio - Vertical */
.wpcf7 .form-row.form-row--radio.form-row--radio-vertical .wpcf7-form-control.wpcf7-radio{flex-direction: column;align-items: flex-start;gap: var(--gap-200, 8px);}

/* Radio - Input Radio */
.wpcf7 form span.wpcf7-radio{--size: 18px;--size-inner: 10px;position: relative;min-height: var(--size, 18px);}
.wpcf7 form span.wpcf7-radio input[type="radio"]{width: initial;height: initial;padding: 0;margin: 0;cursor: pointer;opacity: 0;position: absolute;}
.wpcf7 form span.wpcf7-radio input[type="radio"] + span{--top: 4px;position: relative;display: block;padding-left: calc(var(--size, 18px) + var(--gap-300, 12px));line-height: calc(var(--size, 18px) + var(--top, 4px));cursor: pointer;}
.wpcf7 form span.wpcf7-radio input[type="radio"] + span:before{content:'';-webkit-appearance: none;width: var(--size, 18px);height: var(--size, 18px);position: absolute;top:0;left: 0;margin-right: var(--gap-300, 12px);display: inline-block;background-color: white;border: 1px solid var(--color-border, #C0C0C0FF);border-radius: 50%;vertical-align: middle;flex-shrink: 0;cursor: pointer;transition: var(--trans);}
.wpcf7 form span.wpcf7-radio input[type="radio"] + span:after{content: '';position: absolute;width: var(--size-inner, 10px);height: var(--size-inner, 10px);top: calc((var(--size, 18px) - var(--size-inner, 10px)) / 2);left: calc((var(--size, 18px) - var(--size-inner, 10px)) / 2);background-color: var(--color-accent, #000000);border-color: var(--color-accent, #000000);border-radius: 50%;opacity: 0;transition: var(--trans);}
.wpcf7 form span.wpcf7-radio input[type="radio"]:checked + span:after{opacity: 1;}


/******************/
/* Acceptance *****/
/******************/
.wpcf7 form .wpcf7-acceptance .wpcf7-list-item{margin:0;}
.wpcf7 form .wpcf7-acceptance label{margin-left: 0px;font-family: var(--ff-sans);}
.wpcf7 form .wpcf7-acceptance label a{text-decoration: underline;transition: var(--trans);}
.wpcf7 form .wpcf7-acceptance label a:hover,
.wpcf7 form .wpcf7-acceptance label a:focus{color: var(--color-accent);}

/* Acceptance - Checkbox */
.wpcf7 form span.wpcf7-acceptance{--size: 16px;position: relative;min-height: var(--size, 18px);}
.wpcf7 form span.wpcf7-acceptance input[type="checkbox"]{width: initial;height: initial;padding: 0;margin: 0;cursor: pointer;opacity: 0;position: absolute;}
.wpcf7 form span.wpcf7-acceptance input[type="checkbox"] + span{--top: 4px;position: relative;display: block;padding-left: calc(var(--size, 18px) + var(--gap-200, 8px));line-height: calc(var(--size, 18px) + var(--top, 4px));cursor: pointer;}
.wpcf7 form span.wpcf7-acceptance input[type="checkbox"] + span:before{content:'';-webkit-appearance: none;width: var(--size, 18px);height: var(--size, 18px);position: absolute;top:0;left: 0;margin-right: var(--gap-300, 12px);display: inline-block;background-color: white;border: 1px solid var(--color-border, #C0C0C0FF);border-radius: 5px;vertical-align: middle;flex-shrink: 0;cursor: pointer;transition: var(--trans);}
.wpcf7 form span.wpcf7-acceptance input[type="checkbox"]:checked + span:before{background-color: var(--color-accent, #000000);border-color: var(--color-accent, #000000);background-color: var(--color-accent-alt, #000000);border-color: var(--color-accent-alt, #000000);}
.wpcf7 form span.wpcf7-acceptance input[type="checkbox"]:checked + span:after{opacity: 1;}
.wpcf7 form span.wpcf7-acceptance input[type="checkbox"] + span:after{content: '';position: absolute;width: var(--size, 18px);height: var(--size, 18px);top: 0;left: 0;
  
  background-image: url('../images/icon-checkbox--check.svg');
  background-image: url('data:image/svg+xml,<svg width="12" height="9" viewBox="0 0 12 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.4558 8.26443C4.9692 8.75408 4.17455 8.75408 3.68795 8.26443L0.830804 5.38943C0.342857 4.89978 0.342857 4.10017 0.830804 3.61052C1.31741 3.12087 2.11205 3.12087 2.59866 3.61052L4.57187 5.59607L9.40223 0.735522C9.88884 0.245874 10.6835 0.245874 11.1701 0.735522C11.6567 1.22517 11.6567 2.02478 11.1701 2.51443L5.4558 8.26443Z" fill="white"/></svg>');
  
  background-repeat: no-repeat;background-position: center;background-size: 50%;opacity: 0;transition: var(--trans);transition-delay: var(--trans-duration-300, 100ms);}
.wpcf7 form span.wpcf7-acceptance input[type="checkbox"] + span:before,
.wpcf7 form span.wpcf7-acceptance input[type="checkbox"] + span:after{top: calc(var(--top, 4px) * 0.5);}


/******************/
/* Error Messages */
/******************/
form,
.wpcf7 form{--color-error: var(--color-primary, #000000);}

.form-extras:empty{display: none;}
.form-extras{margin-top: var(--gap-500, 24px);}

.form-extras .form-responce,
.wpcf7 span.wpcf7-not-valid-tip{display: block;color: var(--color-error, #FF0000);font-family: var(--ff-sans);font-size: var(--fs-300);font-weight: normal;margin-top: var(--gap-200, 8px);}

.form-extras .form-responce{color: var(--color-text, #000000);}

/* Response Message */
.wpcf7 form .wpcf7-response-output{margin: 0;padding: 0;border: 0;margin-top: var(--gap-500, 24px);font-family: var(--ff-sans);font-size: var(--fs-300, 14px);text-align: center;}
.wpcf7 form .wpcf7-response-output:empty{display: none;}

.wpcf7 form.sent .wpcf7-response-output{color: var(--color-primary, #000000);}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output{color: var(--color-error, #FF0000);}

@media(max-width:1024px){.wpcf7 form .form-row{flex-direction: column;}}

.hidden { display: none; }