/* 
Theme Name: Child theme 
Theme URL: https://www.ztudio.es
Description: Child theme from hello-elementor 
Theme Author: Ztudio
Author URL: https://www.ztudio.es
Template: hello-elementor
Version: 1.0.0 
Text Domain: child-theme 
*/

.acf-hidden {
	display: none !important;
}

a, i {
	transition: all ease 0.25s;
}

/********** Color **********/
:root {
  /* primary site color */
  --primary-color: #F23849; 
  --hover-color: #C62E3C; 
  
  /* background color */
  --secondary-color: #f7f7f7; 

  /* input select etc border color */    
  --border-color: #ccc;    

  /* text, checkbox, radio border color */
  --input-border-color: #8C8C8C;  

  /* woocommerce-MyAccount-content */
    /* button view color */
    --button-view-color: #56727f;  
    --button-view-hover-color: #41555f;
    
    /* button change color */
    --button-change-color: #334190;  
    --button-change-hover-color: #263067;
    
    /* button renew color */
    --button-renew-color: #076f20;  
    --button-renew-hover-color: #075a1b;

    /* buttons text color in */
    --white-color: white;  
}
/********** popup menu **********/
.popup-menu ul.sub-menu {
	background-color:#1f1f1f !important;
}
.popup-menu ul.sub-menu a {
	font-size: 18px !important;
}
/********** Underline **********/
.underline {
	position: relative;
	padding-bottom: 20px;
}
.underline:after {
	content: "";
    position: absolute;
    border-bottom: 4px solid;
    width: 70px;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
}

/********** Hover effect **********/
.hover-effect{
  position: relative;
  cursor: pointer;
}
.hover-effect::before, .hover-effect::after{
  content:"";
  width: 0;
  height: 0;
  position: absolute;
  transition: all 0.4s linear;
  background: transparent;
  opacity: 0;
  z-index: 1;
}
.hover-effect:hover::before, .hover-effect:hover::after{
  height: calc(100% - 30px);
  width: calc(100% - 30px);
  opacity: 1;
}
.hover-effect:before{
  border-top: 7px solid white;
  border-right: 7px solid white;
  right: 15px;
  top: 15px;
}
.hover-effect:after{
  border-bottom: 7px solid white;
  border-left: 7px solid white;
  left: 15px;
  bottom: 15px;
}
.hover-effect .content{
  opacity: 0;
  transition: all ease .4s;
  min-height: 160px;
}
.hover-effect:hover .content {
  opacity: 1;
}
.hover-effect .content .content-show {
  height: 0;
  overflow: hidden;
  transition: all ease .4s;
}
.hover-effect:hover .content .content-show {
  height: 100%;
}

/********** Border color **********/
.border-red:after, .border-red:before {
	border-color: var(--primary-color);
}
.border-black:after, .border-black:before {
	border-color: black;
}

/********** Home slider **********/
.home-slider .swiper-pagination-bullet {
	opacity: 1;
	background: white;
}

/********** Post Loop **********/
.post-loop .title-height{
  min-height: 50px;
}
.post-content-height {
  min-height: 63px;
}

/********** Cart and Checkout page **********/
.coupon-button, .coupon-button .coupon {
  display: flex;
}
.coupon-button .coupon button {
  margin: auto 10px;
}
.coupon-button button{ 
  margin: auto 0px auto auto;
}
.coupon-button label[for="coupon_code"] {
  padding: 0px 18px 0px 0px;
  display: flex;
  margin: auto;
}
table tbody>tr:nth-child(odd)>td, table tbody>tr:nth-child(odd)>th {
  background-color: var(--secondary-color);
}
table tbody tr:hover>td, table tbody tr:hover>th {
  background-color: #e8e8e8;
}
table tbody tr:last-child:hover>td, table tbody tr:last-child:hover>th {
  background-color: inherit;
}
.my-account-section h5, .cart-section h5, .checkout-section h5 {
  margin: 0px;
}
.my-account-section table td, .my-account-section table th {
  vertical-align: middle;
}
.cart-section .product-remove{
  text-align: center;
}
#payment label:not([for="wc-stripe-new-payment-method"]){
  display: flex !important;
  align-items: center;
  padding: 5px 0px 5px 10px;
  width: calc(100% - 23px);
}
.checkout-section #payment p,
.woocommerce-MyAccount-content #payment p{
  margin: 0px;
}
.checkout-section #payment label img,
.woocommerce-MyAccount-content #payment label img {
  padding: 0px 5px;
}
.checkout-section #payment ul,
.woocommerce-MyAccount-content #payment ul {
  list-style: none;
  padding: 0px;
} 
.checkout-section #payment li,
.checkout-section #payment .payment_method_stripe p.woocommerce-SavedPaymentMethods-saveNew,
.woocommerce-MyAccount-content #payment li,
.woocommerce-MyAccount-content #payment .payment_method_stripe p.woocommerce-SavedPaymentMethods-saveNew {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  padding: 10px 0;
}
.checkout-section #payment [type=radio],
.woocommerce-MyAccount-content #payment [type=radio] {
  position: relative;
}
fieldset {
  margin: 10px 0;
  padding: 15px 30px;
  border: 0px;
  background: var(--secondary-color) !important;
}
.checkout-section .select2-container--default .select2-selection--single {
  display: flex;
  border: 2px solid var(--border-color);
  border-radius: 0px;
  align-items: center;
  height: inherit;
}
.checkout-section .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: inherit;
  padding: .5rem 1rem;
}
.checkout-section .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100%;
}
.checkout-section .place-order .woocommerce-terms-and-conditions-wrapper {
  padding-bottom: 20px;
}
.my-account-section table {
  table-layout: fixed;
}
.woocommerce-MyAccount-content .button.view,
.woocommerce-MyAccount-content .button.cancel,
.woocommerce-MyAccount-content .button.view-subscription,
.woocommerce-MyAccount-content .button.change_payment_method,
.woocommerce-MyAccount-content .button.subscription_renewal_early {
  color: var(--white-color);
  padding: 5px 20px;
  font-size: 14px;
  display: inline-block;
  text-align: center;
}
.woocommerce-MyAccount-content .button.view,
.woocommerce-MyAccount-content .button.view-subscription {
  border: 1px solid var(--button-view-color);
  background-color: var(--button-view-color);
}
.woocommerce-MyAccount-content .button.cancel {
  border: 1px solid var(--primary-color);
  background-color: var(--primary-color);
}
.woocommerce-MyAccount-content .button.change_payment_method {
  border: 1px solid var(--button-change-color);
  background-color: var(--button-change-color);
}
.woocommerce-MyAccount-content .button.subscription_renewal_early {
  border: 1px solid var(--button-renew-color);
  background-color: var(--button-renew-color);
}
.woocommerce-MyAccount-content a.button.view:hover,
.woocommerce-MyAccount-content a.button.view-subscription:hover {
  background-color: var(--button-view-hover-color);
}
.woocommerce-MyAccount-content a.button.cancel:hover {
  background-color: var(--hover-color);
}
.woocommerce-MyAccount-content a.button.change_payment_method:hover {
  background-color: var(--button-change-hover-color);
}
.woocommerce-MyAccount-content a.button.subscription_renewal_early:hover {
  background-color: var(--button-renew-hover-color);
}
.woocommerce-orders-table__cell-order-number a{
  color: var(--primary-color) !important;
}
.woocommerce-orders-table__cell-order-number a:hover{
  color: var(--hover-color) !important;
}

@media (max-width: 420px){
  .my-account-section button[type="submit"],
  .my-account-section input[type="submit"] {
    width: 100%;
  }
  .coupon-button, .coupon-button .coupon {
    display: block;
  }
  .coupon-button .coupon button {
    margin: auto;
  }
  .coupon-button .coupon input {
    width: 200px;
    margin: 10px 0px;
  }
  #payment  li.payment_method_stripe label[for="payment_method_stripe"]{
    margin-bottom: 10px;
    line-height: 1.3;
  }
}

/********** Default forms **********/
.default-form .elementor-field-type-acceptance span{
  position: relative;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

/********** ACF fields **********/
.my-acf-style input[type="text"], 
.my-acf-style input[type="password"], 
.my-acf-style input[type="date"], 
.my-acf-style input[type="datetime"], 
.my-acf-style input[type="datetime-local"], 
.my-acf-style input[type="email"], 
.my-acf-style input[type="month"], 
.my-acf-style input[type="number"], 
.my-acf-style input[type="search"], 
.my-acf-style input[type="tel"], 
.my-acf-style input[type="time"], 
.my-acf-style input[type="url"], 
.my-acf-style input[type="week"], 
.my-acf-style textarea, 
.my-acf-style select,
.my-acf-style span.select2-selection {
  font-size: 16px !important;
  border-radius: 0px !important;
  border: 2px solid var(--border-color) !important;
}
.my-acf-style  .acf-form-submit input[type="submit"]{
  margin-top: 20px;
}
.my-acf-style label {
  display: inline-flex;
}
.my-acf-style input[type="checkbox"],
.my-acf-style input[type="radio"]{
  margin-right: 5px;
}
.my-acf-style  ul {
  list-style: none;
  padding-left: 20px;
}
.my-acf-style  .acf-row-handle span {
  margin-left: 5px;
}
.my-acf-style table td {
  vertical-align: top;
}
.my-acf-style .acf-actions a {
  font-weight: 600;
}
.my-acf-style span.select2-selection li input {
  border: 0px solid white !important;
  padding-left: 15px !important;
}
.acf-fields {
  display: flex;
  flex-flow: row wrap;
}
.acf-fields .acf-field {
  padding: 0px 5px;
  margin-bottom: 15px;
}
.my-acf-style li.select2-selection__choice {
  background-color: var(--primary-color) !important;
  color: white;
  border: 0px solid var(--border-color) !important;
  border-radius: 0px !important;
  padding: 3px 10px !important;
}
.my-acf-style span.select2-selection__choice__remove {
  font-weight: 500 !important;
  margin-right: 5px !important;
}
.acf-label {
  margin-bottom: 5px;
}

/********** INPUT (Checkbox)  **********/
input[type="checkbox"],
input[type="radio"] {
 display: none !important;
}
input[type="checkbox"] + label,
input[type="checkbox"] + span,
input[type="radio"] + label {
  padding-left: 20px !important;
  position: relative;
}
input[type="checkbox"] + label::before,
input[type="checkbox"] + span::before {
  content: "";
  background-color: white;
  border: 1px solid var(--input-border-color);
  padding: 6px;
  position: absolute;
  left: 0;
}
input[type="checkbox"]:checked + label::after,
input[type="checkbox"]:checked + span::after {
  content: "";
  font-size: 16px;
  position: absolute;
  left: 4px;
  color: var(--primary-color);
  border: solid var(--primary-color);
  border-width: 0 2px 2px 0;
  width: 6px;
  height: 12px;
  transform: rotate(45deg);
}
input[type="radio"] + label,
input[type="radio"] + span {
  position: relative;
}
input[type="radio"] + label::before,
input[type="radio"] + span::before {
  content: "";
  background-color: white;
  border: 1px solid var(--input-border-color);
  padding: 6px;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
input[type="radio"]:checked + label::after,
input[type="radio"]:checked + span::after {
  content: "";
  width: 8px;
  height: 8px;
  background-color: var(--primary-color);
  border-radius: 50%;
	position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 3px;
  color: var(--primary-color);
}
@media (max-width: 500px) {
  input[type="checkbox"]:checked + label::after {
    top: 0;
  }
}
/********** INPUT (Checkbox and Radio) .my-acf-style **********/
.acf-field-checkbox.my-acf-style .acf-input label,
.acf-field-radio.my-acf-style .acf-input label{
  position: relative;
  padding-left: 20px;
}
.acf-field-checkbox.my-acf-style .acf-input label::before{
  content: "";
  background-color:white;
  border: 1px solid var(--input-border-color);
  padding: 6px;
  position: absolute;
  left: 0;
}
.acf-field-checkbox.my-acf-style .acf-input label.selected::after {
  content: "";
  font-size: 16px;
  position: absolute;
  left: 4px;
  color: var(--primary-color);
  border: solid var(--primary-color);
  border-width: 0 2px 2px 0;
  width: 6px;
  height: 12px;
  transform: rotate(45deg);
}
.acf-field-radio.my-acf-style .acf-input label::before {
  content: "";
  background-color:white;
  border: 1px solid var(--input-border-color);
  border-radius: 50%;
  padding: 6px;
  position: absolute;
  left: 0;
}
.acf-field-radio.my-acf-style .acf-input label.selected::after {
  content: "";
  width: 8px;
  height: 8px;
  background-color: var(--primary-color);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 3px;
  color: var(--primary-color);
}

/********** Single Post - Sidebar section - Categorias **********/
.elementor-pagination {
  margin-top: 60px;
}
.categorias-section span.term-list-text{
	transition: all ease 0.3s;
}
.categorias-section .ae-term-list-item:hover span.term-list-text{
	padding-left: 15px !important;
	font-weight: 600;
	color: var(--primary-color) !important;
	transition: all ease 0.3s;
}
.categorias-section .ae-term-list-item:hover span.term-list-icon i{
	color: var(--primary-color)!important;
  transition: all ease 0.3s;
}
 .categorias-section .term-list-text {
  padding-left: 10px;
}
.single-post .ae-element-post-content a{
  color: var(--primary-color);
}
.single-post .ae-element-post-content a:hover{
  color: var(--input-border-color);
}
.single-post .ae-element-post-content blockquote {
  font-style: italic;
  background: var(--secondary-color);
  padding: 15px 20px;
  border-left: 3px solid  var(--primary-color);
}
.single-post .ae-element-post-content blockquote p {
  margin: 0px;
}
.single-post .ae-element-post-content ol, .single-post .ae-element-post-content ul {
  margin-bottom: 20px;
  background: var(--secondary-color);
  padding-bottom: 15px;
  padding-top: 15px;
}
@media (max-width: 1024px) {
  .elementor-pagination {
    margin-top: 30px;
  }
}
@media (max-width: 768px) {
  .single-post .ae-element-post-content blockquote {
    margin: 1em;
  }
	.acf-fields .acf-field {
		width: 100% !important;
	}
}
@media (max-width: 420px) {
  .elementor-pagination {
    margin-top: 15px;
  }
}

/********** Login Page **********/
button[type="submit"].woocommerce-form-login__submit {
  display: block;
  margin-top: 10px;
}
label.woocommerce-form-login__rememberme span {
  padding-left: 20px;
}

/********** Table **********/
.woocommerce table {
  table-layout: auto !important;
}
.woocommerce-MyAccount-content {
  overflow-x: auto;
}
.wrapper {
  overflow-x: auto;
}
.woocommerce-MyAccount-content table tbody * {
  font-size: 14px;
}

.collapseomatic_excerpt, .collapseomatic_content {
	margin-left: 0px !important;
}

span.ae-element-custom-field {
	width: 100%;
	overflow-x: auto;
}
span.ae-element-custom-field table {
	width: 100% !important;
    height: 100% !important;
    min-width: 500px;
    margin: 0px 0px 30px !important;
}

span.ae-element-custom-field table tr {
	height: 60px !important;
}

span.ae-element-custom-field table tr td {
	vertical-align:center;
	font-weight: 500;
	color: var(--e-global-color-4d36e4ae);
}

span.ae-element-custom-field table tr td:not(:first-child) {
	text-align:center;
}

span.ae-element-custom-field table tr td p {
	margin: 0 !important;
}

span.ae-element-custom-field table tr.cabeceras {
    height: 50px !important;
}

span.ae-element-custom-field table tr.cabeceras * {
	font-size: 16px !important;
	font-weight: 500;
}

span.ae-element-custom-field table tr.cabeceras > td {
	background: var(--e-global-color-4d36e4ae) !important;
	color: var(--e-global-color-55a26a38) !important;
}

[data-video^="http"] {
	cursor: pointer;
	color: var(--e-global-color-78226dd2) !important;
}

h1, h2, h3, h4, h5, h6 {
	margin-top: 30px;
	margin-bottom: 10px;
}