/*
Theme Name: Twenty Twenty Child
Theme URL: http://revyoos.com/
Description: Twenty Twenty Child Theme (Blog + Archive + Search )
Author: LiberGM
Author URL: http://revyoos.com/
Template: twentytwenty
Version: 1.2
Text Domain: twentytwenty-child
*/
/* Custom CSS goes after this line */
@import url('https://fonts.googleapis.com/css2?family=Dosis:wght@700&family=Roboto&family=Roboto+Condensed&display=swap');
/* ---- COLORS ---- */
/*
yellow-brand: #FBB12A
brown-brand: #4A3C40
bg-light: #f9f5f1
*/
.bg-dark {
    background-color: #4A3C40 !important;
}

.bg-light {
    background-color: #F9F5F1 !important;
}

/* YELLOW COLOR H1 HOMEPAGE */
.text-primary,
h1>span {
    color: #FBB12A !important;
}

/* --------------------
* 1. FONTS
* 2. SPACING
* 3. NAVBAR
* 4. BUTTONS
* 5. HOMEPAGE
*   5.1 Hero header
*   5.2 Awards
*   5.3 Designed for...
*   5.4 Management + Widgets
*   5.5 How does it work
*   5.6 Featured by
*   5.7 Experts
*   5.8 Testimonials (Carousel)
* 6. PRICING
* 7. ACCORDION
* 8. CUSTOM RADIO BUTTON
* 9. COOKIE BANNER
* 10. PARTNERS
* 11. FOOTER
* 12. SPECIAL PAGES
 ------------------- */

/* ---------------- 1. FONTS ---------------- */
h1 {
	font-family: "Source Sans Pro", "Open Sans", sans-serif !important;
    font-weight: 900 !important;
    font-size: 2.4em !important;
	line-height: 1.2em !important;
}

h2 {
	font-family: "Source Sans Pro", "Open Sans", sans-serif !important;
    font-weight: 700;
    font-size: 2.4em;
    color: #000000;
    margin-bottom: 50px !important;
	line-height: 1.2em !important;
}

h3 {
	font-family: "Roboto", "Source Sans Pro", "Open Sans", sans-serif !important;
    font-weight: 900;
    font-size: 1.34em;
    margin-top: 10px !important;
	line-height: 1.2em !important;
}

h4 {
	font-family: "Roboto", "Source Sans Pro", "Open Sans", sans-serif !important;
    font-size: 1.2em;
    margin-bottom: 0 !important;
	line-height: 1.2em !important;
}

p,
a,
li,
small {
    font-family: "Roboto", "Source Sans Pro", "Open Sans", sans-serif !important;
}

p {
    font-weight: 400 !important;
    font-size: 18px;
}

.small {
    font-size: 0.70em;
}

/* ^ 1. FONTS ^ */
/* ---------------- 2. SPACING ---------------- */
.my-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

header.entry-header {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
    background-color: #f9f5f1 !important;
    color: #4a3c40;
}

/* ^ 2. SPACING  ^ */
/* ---------------- 3. NAVBAR ---------------- */
li.lang-item-first {
    padding-left: 2.5rem;
    border-left: 2px solid rgba(255, 255, 255, 0.2);
}

/* Sign Up button format */
li.register-menu-link {
    background-color: #f9ae35;
    padding: 4px 12px;
    border-radius: 50px;
    margin-top: 4px;
    display: inline-block;
}

li.register-menu-link:hover {
    background-color: #3f9eb3 !important;
    color: #ffffff;
}

li.register-menu-link>a:hover {
    text-decoration: none !important;
}


/* Selected option for plans and prices > in white */
.primary-menu li.current-menu-item.menu-plans>a,
.primary-menu li.current-menu-item.menu-plans>.link-icon-wrapper>a,
.modal-menu li.current-menu-item.menu-plans>.ancestor-wrapper>a {
    color: #ffffff !important;
}

.lang-item img {
    margin-top: 4px;
}

.scroll-shadow {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
    transition: all ease .5s;
}

#site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
}

body.admin-bar #site-header {
    top: 32px;
}

/* Logo */
.header-titles-wrapper {
    width: 140px;
}

/* Menu text size */
#site-header li {
    font-size: 0.9em !important;
}

#site-header .header-inner {
    padding: 1em 0;
    transition: all ease .5s;
}

.toggle-text {
    display: none;
}

#s1ite-header li>a:hover {
    color: #FBB12A !important;
    text-decoration: none !important;
}

.primary-menu>li>a, .primary-menu>li>.icon, .modal-menu a, .footer-menu a, .footer-widgets a, #site-footer .wp-block-button.is-style-outline, .wp-block-pullquote:before, .entry-header a, .archive-header a, .header-footer-group .color-accent, .header-footer-group .color-accent-hover:hover {
    color: #FFFFFF !important;
}

.primary-menu li.current-menu-item>a, .primary-menu li.current-menu-item>.link-icon-wrapper>a {
    color: #FBB12A !important;
    text-decoration: none;
}

.modal-menu a:focus, .modal-menu a:hover, .modal-menu li.current-menu-item>.ancestor-wrapper>a, .modal-menu li.current_page_ancestor>.ancestor-wrapper>a {
    color: #FBB12A !important;
    text-decoration: none;
}

/* Mobile menu */

.modal-menu li.register-menu-link a {
	padding: 12px 30px;
	color:#212121 !important;
}
.modal-menu li.register-menu-link {
background-color: #fbb12a;
    border-radius: 50px;
	margin-left:24px;
}

.modal-menu li.register-menu-link a:hover {
	color:#ffffff !important;
}

/* ^ 3. NAVBAR ^ */
/* ---------------- 4. BUTTONS ---------------- */
.btn-primary>a,
.btn-secondary>a,
input.btn-primary {
    font-family: "Source Sans Pro", "Open Sans", sans-serif !important;
    padding-bottom: 12px !important;
    color: #212121 !important;
    font-weight: 700;
    padding: 12px 40px !important;
    border-radius: 50px;
    color: #212121;
}

.btn-primary > a,
input.btn-primary {
  font-size: 22px !important;
}
.btn-secondary > a,
input.btn-primary {
  font-size: 20px !important;
}

/* Contact form */
input.btn-primary, input.wpcf7-submit {
    background-color: #fbb12a;
}

.btn-secondary a {
    background-color: #ffffff;
    border: 3px solid #FBB12A !important;
    box-sizing: border-box;
}

.btn-primary a:hover,
input.btn-primary:hover {
    text-decoration: none !important;
    background-color: #3f9eb3 !important;
    color: #ffffff !important;
}

.btn-secondary a:hover {
    text-decoration: none !important;
    background-color: #3f9eb3 !important;
    color: #ffffff !important;
    border: 3px solid #3f9eb3 !important;
}

/* ^ 4. BUTTONS ^ */
/* ---------------- 5. HOMEPAGE ---------------- */
.site-description {
    display: none;
}

body.home #site-content .entry-header {
    display: none;
}

body.home .post-inner {
    padding-top: 0;
}

/* ---- 5.1 Homepage: Hero header ----- */
#hero .wp-block-column {
    max-width: 750px;
}

#hero {
    margin-top: 0;
    margin-bottom: 0;
    justify-content: center;
    padding-top: 60px;
    padding-bottom: 10px;
}

#hero h1, #hero h2 {
    margin: 0 auto !important;
}

/* Decrease header height */
#hero figure {
	margin-bottom:10px;
	margin-top:10px;
}

.slogan {
    font-size: 1.2em;
    padding-top: 36px;
    padding-bottom: 25px;
    max-width: 650px;
    margin: 0 auto;
    line-height: 1.2em !important;
}

#hero .sources {
    margin-top: 0;
    margin-bottom: 50px;
}

#hero .btn-primary {
    margin-bottom: 20px;
}

@media (max-width: 1024px) {
    #hero.wp-block-columns {
        flex-direction: column !important;
    }

    #hero .wp-block-column {
        margin: 0 auto;
    }
}

/* SENTICS TEASER */
#sentics-teaser{
	/*margin:0 auto;*/
	gap:50px;
}

#teaser-image {
	margin:0;
}

#sentics-teaser p, 
#sentcis-teaser li{
	/*margin:0 !important;*/
	/*padding:0 !important;*/
}

#teaser-title * {
	margin:0 !important;
	padding:0 !important;
}

#teaser-title {
	margin-top:0 !important;
	margin-bottom:16px !important;
}


/* ---- 5.2 Homepage: Awards ----- */
/* Disposición en columnas */
.wp-block-columns.award {
    flex-direction: column;
    gap: 10px;
}

/* Ajusta la imagen al centro exacto */
.award-image {
    align-self: center;
    margin: 0;
    flex-basis: 50px !important
}

/* Quita el margin en la imagen */
.awards figure {
    margin-bottom: 0 !important;
	margin-top:20px !important;
}

/* Alinea el texto en el centro */
.award-text {
    text-align: center;
}

/* Quita cursiva en EM tag */
.award-text em {
    font-style: normal;
}

/* Quita línea separadora y margen en textos, deja color */
.award p {
    color: #8C847F;

}

/* OK */
.award strong {
    color: #000000;
    white-space: nowrap;
}

#awards, .wp-block-columns.award {
    margin-top: 0 !important;
    /*margin-bottom: 0 !important;*/
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

@media (max-width: 781px) {

    /* Quita márgenes extras a la imagen */
    .awards figure {
        padding: 0 !important;
        margin-bottom: 0 !important;
        margin-top: 5px !important;
    }

    /* Ajusta el ancho de casa columna a automático */
    #awards>div.wp-block-column {
        flex-basis: auto !important;
    }

    /* Separa todo el bloque de #awards de la cabecera */
    #awards {
        margin-top: 20px !important;
    }
}

@media (max-width: 1220px) {

    /* Contrae la separación entre columnas flex */
    #awards {
        gap: 10px !important;
    }

    /* Esconde texto sobrante dentro de EM tag */
    .award-text em {
        display: none;
    }

}


/* ---- 5.3 Homepage: Designed for... ----- */
#improve {
    margin-top: 20px !important;
}

.subtitle {
    max-width: 700px !important;
    margin: 0 auto;
    font-size: 1.2em;
    line-height: 1.2em !important;
}

.improve-tag {
    display: inline-block;
    padding: 2px 8px;
    background-color: #ffa400;
    font-size: 1.15em;
    margin-bottom: 16px;
}

/* ---- 5.4 Homepage: Management + Widgets ----- */
.widget-group {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ---- 5.5 Homepage: How does it work ----- */
#how-does-it-work {
    padding-bottom: 80px;
}

#how-does-it-work .wp-block-columns {
    margin-top: 0;
}

.video-hero {
    max-width: 600px;
    margin-bottom: 0;
    margin: 0 auto;
}

/* ---- 5.6 Homepage: Featured by ----- */
.logos {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 48px !important;
}

.logos figure {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
}

/* ---- 5.7 Homepage: Experts ----- */
.expert {
    margin-bottom: 32px !important;
}

.expert-position {
    font-size: 22px;
    margin-bottom: 0.5em;
}

.expert .wp-block-media-text__content {
    border-left: 3px solid #FBB12A !important;
    padding: 0 24px;
}

.expert h3 {
  font-size: 1.2em;
  margin-bottom: 0 !important;
}
@media (max-width: 720px) {
    .expert {
        display: block;
    }

    .expert>figure {
        display: none;
    }
}

/* ---- 5.8 Homepage: Testimonials (Carousel)----- */
/* Author */
#testimonials p>span {
    font-weight: bold;
    padding-right: 10px;
    margin-right: 10px;
    margin-left: 6px;
    border-right: 3px solid #FBB12A;
}

/* User icon */
.bi {
    display: inline-block;
    vertical-align: -.125em;
    width: 1em;
    height: 1em;
}

/* Icon */
#testimonials .carousel-item>svg {
    width: 2.8em;
    height: 2.8em;
    margin-right: 16px;
    fill: #FBB12A;
}

#testimonials h3 {
    margin-bottom: 16px;
    margin-top: 0;
    color: #fbb12a;
    font-size: 1.7em;
}

#testimonials p.testimonial-comment {
    color: #6c757d;
    line-height:1.2;
}

/* Carousel */
.carousel {
    width: 90vw;
    max-width: 940px;
    overflow-x: hidden;
    position: relative;
    display: flex;
    justify-content: flex-start;
    border-radius: 13px;
}

.carousel-inner {
    height: 100%;
    display: flex;
    transition: all ease .5s;
}

.carousel-item {
    flex: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.carousel-indicators {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
}

.carousel-indicators span {
    display: inline-block;
    background-color: #007bff;
    width: 30px;
    height: 4px;
    border-radius: 2px;
    opacity: .5;
    cursor: pointer;
    margin: 3px;
}

.carousel-indicators span.active {
    opacity: 1;
}

.carousel {
    margin: 40px auto;
    padding: 0 0 40px 0;
}

/* HOME BADGES */

.wp-block-group.badges {
	margin-top:2rem!important;
	margin-bottom:2rem !important;
}

/* ^ 5. HOMEPAGE ^ */
/* ---------------- 6. PRICING ---------------- */
#pricing {
    max-width: 900px;
}

/* Properties form */
form.propertiesform,
form,
label {
    font-family: "Source Sans Pro", "Open Sans", sans-serif;
    font-size: 1em;
}

span.propertiesNumber {
    font-size: 1.7em;
    line-height: 1.2em;
    font-weight: bold;
}

/* Slider*/
.custom-slider {
    -webkit-appearance: none;
    -moz-appearance:none;
    appearance: none;
    width: 100%;
    height: 8px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px;
    background: #d3d3d3;
    outline: none;
    opacity: 0.7;
    -webkit-transition: .2s;
    transition: opacity .2s;
}

.custom-slider:hover {
    opacity: 1;
}

.slidervalues span {
    width: 25px;
    text-align: center;
}

.slidervalues {
    font-size: 14px;
    color: #000000;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}

.properties-range {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

/* Bill frequency */
form.paymentform {
    width: 100% !important;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

form.paymentform .custom-control-inline {
    margin-left: 24px;
    margin-right: 24px;
}

.paymentform .discount-tag {
    margin-left: 14px;
}

/* Price cards */
#price-cards {
    margin-top: 40px;
    font-family: "Source Sans Pro", "Open Sans", sans-serif;
    justify-content: center;
}

.price-card {
    position: relative;
    max-width: 450px;
    padding: 40px;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
}

.price-card h4 {
    margin-top: 10px !important;
    padding-bottom: 20px !important;
}

.price-card .wp-block-image {
    margin: 0 !important;
    padding: 0 !important;
}

.main-price {
    display: flex;
    justify-content: center;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    align-items: center;
}

.main-price .price-month, .main-price .currency-symbol {
    font-size: 42px;
    line-height: 44px;
    font-weight: bold;
    margin-bottom: 5px;
    color: #387EBF;
}

.main-price .price-per {
    font-size: 16px;
    margin-left: 12px;
    color: #387EBF;
    line-height: 16px;
    text-align: left;
}

.property-price {
    font-size: 16px;
}

.property-price,
.one-time-payment {
    text-align: center;
}

.property-price span {
    font-weight: bold;
}

p.change-property-num-link {
    margin-bottom: 0;
}

.one-time-payment {
    margin-top: 12px;
    font-size: 16px;
}

/* Discount Tag */
label .discount-tag {
    font-family: "Source Sans Pro", "Open Sans", sans-serif;
    display: inline-block;
    padding: 4px 8px 3px 8px;
    font-size: 16px;
    border-radius: 6px;
    background-color: #dc3545;
    color: #ffffff;
}

.price-card .discount-tag {
    font-family: "Source Sans Pro", "Open Sans", sans-serif;
    padding: 4px 8px 3px 8px;
    font-size: 16px;
    border-radius: 6px;
    background-color: #dc3545;
    font-weight: bold;
    color: #ffffff;
    margin-top: 10px;
}

.discount-tag-group {
    display: flex;
    padding: 0 !important;
    margin: 0 !important;
}

/* Buy button */
.price-card .btn-primary a {
    font-size: 16px !important;
    margin-bottom: 30px;
}

/* Small screens wrapping adjustments */
.properties-range {
	flex-wrap:wrap;
}

.properties-range > label.propertyNum, 
.properties-range > .more-properties {
	white-space:nowrap;
}

.price-month, 
.price-per {
	white-space:nowrap;
}

/* No price */
.price-not-available {
	display:none;
	width:unset;
	white-space:normal;
	font-size:18px;
	line-height:18px;
	font-weight:700;
	color:#387ebf;
	text-align:center;
}

.no-price .price-not-available {
	display:block;
}
.no-price .price-month {
	width:unset;
	white-space:normal;
	font-size:18px;
	line-height:18px;
}

.no-price .main-price,
.no-price .property-price,
.no-price .one-time-payment,
.no-price .discount-tag-group {
	display:none !important;
}


@media (max-width:320px) {
	h1 {
    font-size: 2em !important;
}
		h2 {
    font-size: 2em !important;
}
	.main-price  {
		flex-wrap:wrap;
	}
}

/* CURRENCY FIELD*/
.price-card select#currency_select_1,
.price-card select#currency_select_2 {
    background: #ffffff;
    /*border: 0;*/
	padding:2px;
	margin-top:1rem;
	margin-bottom:1.5rem;
    border: 1px solid #cccccc !important;
	border-radius:2px;
    color: #387ebf;
	cursor:pointer;
}

.old-price-number {
white-space:nowrap;
font-size: 24px !important;
font-weight:bold;
text-decoration: line-through;
color:#808080;
}
.old-price > .currency-symbol {
font-size: 24px !important;
font-weight:bold;
color:#808080;
}
.main-price {
    display: flex;
    justify-content: center;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
}

.price-container {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    position: relative;
}

.old-price {
    font-size: 20px;
    margin-bottom: -5px; 
    position: absolute;
    top: -26px; 
    right: 0;
}

.price-card .discount-tag {
    font-family: inherit;
    padding: 0;
    font-size: 16px;
    border-radius: 0;
    background-color: transparent;
    font-weight: normal;
    color: black;
    margin-top: 0;
}

.limited-time-offer {
	padding:12px !important;
	margin:10px auto !important;
}
.limited-time-offer p {
	font-size:16px !important;
	line-height:auto !important;
}


/* ^ 6. PRICING ^ */
/* ---------------- 7. ACCORDION ---------------- */
.wp-block-group.accordion {
    margin-top: 0 !important;
}

.accordion__answer {
    font-size: 0.8em;
    display: none;
    margin-top: 10px;
    margin-bottom: 10px;
    padding-left: 28px;
}

.accordion__item {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
    padding-top: 0 !important;
    padding-bottom: 10px !important;
}

.accordion__question {
    cursor: pointer;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.accordion__question:hover {
    text-decoration: underline;
    text-decoration-style: dashed;
    text-decoration-color: #2b77ba;
    text-underline-offset: 4px;
}

.bullet-star {
    background-image: url('https://revyoos.com/w/wp-content/uploads/bullet-star.svg');
    background-size: 20px 20px;
    background-repeat: no-repeat;
    background-position: 0 4px;
    position: relative;
    padding-left: 28px;
}

.bullet-tick {
    background-image: url('https://revyoos.com/w/wp-content/uploads/bullet-tick.svg');
    background-size: 18px 18px;
    background-repeat: no-repeat;
    background-position: 0 4px;
    position: relative;
    padding-left: 28px;
}

.bullet-x {
    background-image: url('https://revyoos.com/w/wp-content/uploads/bullet-x.svg');
    background-size: 18px 18px;
    background-repeat: no-repeat;
    background-position: 0 4px;
    position: relative;
    padding-left: 28px;
}

.bullet-alert {
    background-image: url('https://revyoos.com/w/wp-content/uploads/bullet-alert.svg');
    background-size: 20px 20px;
    background-repeat: no-repeat;
    background-position: 0 4px;
    position: relative;
    padding-left: 28px;
}

.accordion__question::after {
    background-image: url('https://revyoos.com/w/wp-content/uploads/chevron-down-list.svg');
    background-repeat: no-repeat;
    background-size: 12px 12px;
    background-position: 0;
    width: 14px;
    height: 22px;
    position: relative;
    content: "+";
    color: transparent;
    display: inline-block;
    margin-left: 12px;
    transition: transform 0.2s linear;
}

.expanded.accordion__question::after {
    background-image: url('https://revyoos.com/w/wp-content/uploads/chevron-down-list.svg');
    background-repeat: no-repeat;
    background-size: 12px 12px;
    background-position: 0;
    width: 14px;
    height: 22px;
    position: relative;
    content: "+";
    color: transparent;
    display: inline-block;
    margin-left: 12px;
    transform: rotate(180deg);
    transition: transform 0.2s linear;
}

/* ^ 7. ACCORDION ^ */
/* ---------------- 8. CUSTOM RADIO BUTTON ---------------- */
@supports (-webkit-appearance: none) or (-moz-appearance: none) {

    input[type=checkbox],
    input[type=radio] {
        --active: #275EFE;
        --active-inner: #fff;
        --focus: 2px rgba(39, 94, 254, .3);
        --border: #BBC1E1;
        --border-hover: #275EFE;
        --background: #fff;
        --disabled: #F6F8FF;
        --disabled-inner: #E1E6F9;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        height: 21px;
        outline: none;
        display: inline-block;
        vertical-align: top;
        position: relative;
        margin: 0;
        cursor: pointer;
        border: 1px solid var(--bc, var(--border));
        background: var(--b, var(--background));
        transition: background 0.3s, border-color 0.3s, box-shadow 0.2s;
    }

    input[type=checkbox]:after,
    input[type=radio]:after {
        content: "";
        display: block;
        left: 0;
        top: 0;
        position: absolute;
        transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s);
    }

    input[type=checkbox]:checked,
    input[type=radio]:checked {
        --b: var(--active);
        --bc: var(--active);
        --d-o: .3s;
        --d-t: .6s;
        --d-t-e: cubic-bezier(.2, .85, .32, 1.2);
    }

    input[type=checkbox]:disabled,
    input[type=radio]:disabled {
        --b: var(--disabled);
        cursor: not-allowed;
        opacity: 0.9;
    }

    input[type=checkbox]:disabled:checked,
    input[type=radio]:disabled:checked {
        --b: var(--disabled-inner);
        --bc: var(--border);
    }

    input[type=checkbox]:disabled+label,
    input[type=radio]:disabled+label {
        cursor: not-allowed;
    }

    input[type=checkbox]:hover:not(:checked):not(:disabled),
    input[type=radio]:hover:not(:checked):not(:disabled) {
        --bc: var(--border-hover);
    }

    input[type=checkbox]:focus,
    input[type=radio]:focus {
        box-shadow: 0 0 0 var(--focus);
    }

    input[type=checkbox]:not(.switch),
    input[type=radio]:not(.switch) {
        width: 21px;
    }

    input[type=checkbox]:not(.switch):after,
    input[type=radio]:not(.switch):after {
        opacity: var(--o, 0);
    }

    input[type=checkbox]:not(.switch):checked,
    input[type=radio]:not(.switch):checked {
        --o: 1;
    }

    input[type=checkbox]+label,
    input[type=radio]+label {
        /*font-size: 14px;*/
        line-height: 21px;
        display: inline-block;
        vertical-align: top;
        cursor: pointer;
        margin-left: 4px;
    }

    input[type=checkbox]:not(.switch) {
        border-radius: 7px;
    }

    input[type=checkbox]:not(.switch):after {
        width: 5px;
        height: 9px;
        border: 2px solid var(--active-inner);
        border-top: 0;
        border-left: 0;
        left: 7px;
        top: 4px;
        transform: rotate(var(--r, 20deg));
    }

    input[type=checkbox]:not(.switch):checked {
        --r: 43deg;
    }

    input[type=checkbox].switch {
        width: 38px;
        border-radius: 11px;
    }

    input[type=checkbox].switch:after {
        left: 2px;
        top: 2px;
        border-radius: 50%;
        width: 15px;
        height: 15px;
        background: var(--ab, var(--border));
        transform: translateX(var(--x, 0));
    }

    input[type=checkbox].switch:checked {
        --ab: var(--active-inner);
        --x: 17px;
    }

    input[type=checkbox].switch:disabled:not(:checked):after {
        opacity: 0.6;
    }

    input[type=radio] {
        border-radius: 50%;
    }

    input[type=radio]:after {
        width: 19px;
        height: 19px;
        border-radius: 50%;
        background: var(--active-inner);
        opacity: 0;
        transform: scale(var(--s, 0.7));
    }

    input[type=radio]:checked {
        --s: .5;
    }
}

/* ^ 8. CUSTOM RADIO BUTTON ^ */
/* ---------------- 9. COOKIE BANNER ---------------- */
body.home #cookie-law-info-bar span {
    white-space: normal;
}

.cli-bar-container.cli-style-v2 {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    max-width: 1400px;
}

@media (max-width: 768px) {
    .cli-bar-container.cli-style-v2 {
        flex-wrap: wrap;
    }

    #hero {
        flex-wrap: wrap;
    }
}

/* ^ 9. COOKIE BANNER ^ */
/* ---------------- 10. PARTNERS ---------------- */
#group-partners>.wp-block-group__inner-container {
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
}

#group-partners .partner {
    flex-basis: 90%;
    margin-top: 0;
    margin-bottom: 0;
}

.partner-logo {
    margin-bottom: 20px !important;
    padding-top: 40px !important;
}

/* ^ 10. PARTNERS ^ */
/* ---------------- 11. FOOTER ---------------- */

.footer-nav-widgets-wrapper, footer {
    background-color: #222323 !important;
}

.footer-nav-widgets-wrapper a {
    color: #FBB12A !important;
}

.footer-widgets p, .footer-widgets a {
    font-size: 0.8em !important;
}

.footer-widgets h2 {
    font-size: 1em !important;
    color: #ffffff !important;
    padding: 0 !important;
    margin: 0 !important;
    margin-bottom: 10px !important;
	margin-top: 20px !important;
}

.widget_nav_menu {
    padding: 0 !important;
    margin: 0 !important;
}

.to-the-top {
    display: none;
}

.footer-logo {
    padding-top: 20px;
}

.powered-by-wordpress {
    display: none;
}

p.footer-copyright {
    font-size: 12px;
}

.privacy-policy {
  margin: 0;
}

.footer-credits p,
.footer-credits a {
  font-size: 1.4rem;
  margin-right: 12px;
  color: #ffffff;
}

/* ^ 11. FOOTER ^ */
/* ---------------- 12. SPECIAL PAGES ---------------- */

/* ---------------------------- 
 *  LANDING BLOG 
 *  --------------------------- */

.blog-group  {
	margin:0 !important;
	padding:0 !important;
}
.blog-group h2.wp-block-heading  {
	margin-bottom:1rem !important;
	font-size:4rem !important;
}
.blog-group p  {
	width:100% !important;
	max-width:100% !important;
}

.custom-blog-card ul {
	padding:0;
	margin:0;
}

.custom-blog-card .wp-block-columns {
	padding:0 !important;
	margin:0;
}

.custom-blog-card figure  {
	margin:0;
	width: 100%;
}
.custom-blog-card h3.wp-block-post-title  {
	font-size:2.2rem !important;
	padding-top:1rem;
	margin-bottom:1rem !important;
}
.custom-blog-card .wp-block-post-excerpt p  {
	font-size:1.8rem !important;
}

ul.blog-category-list {
	display: flex;
	flex-wrap:wrap;
	flex-direction:row; 
}


ul.blog-category-list a {
	text-decoration:underline;
}

ul.blog-category-list li:not(:last-child)::after
{
	padding-left:1rem;
	padding-right: 1rem;
	content:"|";
}


/* ---------------------------- 
 *  CUSTOM BLOG 
 *  --------------------------- */
body.blog .entry-header {
  background-color: inherit !important;
}
body.blog .entry-header a {
  color: #4a3c40 !important;
}
body.blog .featured-media {
  margin-top: 0;
}

article.post .entry-categories a {
  color: #4eb6e3 !important;
}

.entry-content > *:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright):not(.is-style-wide) {
	max-width:90rem !important;
}

/* Quitar margen superior del post title: alinear con imagen*/
.custom-blog {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.custom-blog h2 {
  margin-top: 0 !important;
  margin-bottom: 3rem !important;
}
.custom-blog > ul > li > div {
  margin-top: 0 !important;
}

/* Archivo por categorías */
/*body.archive.category article,
body.archive.tag article {
  padding-top: 0 !important;
}

body.archive.category main > header,
body.archive.tag main > header {
  padding-top: 12px;
  padding-bottom: 12px;
}

body.archive.category article > header,
body.archive.tag article > header {
  background-color: inherit !important;
}

body.archive.category article > header a,
body.archive.tag article > header a {
  color: #047eb3 !important;
}

body.archive.category article .post-inner,
body.archive.category article figure,
body.archive.tag article .post-inner,
body.archive.tag article figure {
  padding-top: 2rem;
  margin-top: 0;
}*/

/* Personalizar bullets del toc */
.custom-toc p {
  margin-bottom: 0;
}

.custom-toc li {
  margin-bottom: 0.7rem !important;
}

#toc_container {
  margin-left: 0;
}

/* EZ TOC*/
#ez-toc-container a {
    color: #047eb3 !important;
}

/* Tamaño de las imágenes side */
@media (min-width: 1330px) {
  .alignleft,
  .entry-content > .wp-block-image .alignleft {
    max-width: 20vw;
  }
}
/* Ajuste comentarios */
.comments-wrapper h2 {
  font-size: 4rem;
  display: block;
  padding: 24px;
  line-height: 4rem;
}
.comments-wrapper form {
  margin-top: 20px;
}
.comments-wrapper input#submit {
  border-radius: 50px;
  background-color: #f9ae35;
}
.comments-wrapper input#submit:hover {
  border-radius: 50px;
  background-color: #4eb6e3;
  text-decoration: none;
}

.comment-meta, .comment-footer-meta {
	background-color:#ffffff !important;
}

/* List styles */
li {
  font-size: 18px;
}

.negative-margin {
  margin-top: -20px !important;
}

.margin-bottom-0 {
  margin-bottom: 0 !important;
}

.mb-4 {
  margin-bottom: 40px !important;
}

/* ---------------------------- 
 *  SA LANDING
 *  ----------------------- */

.sa-landing-hero h2.sa-hero-title {
	margin-bottom:0.5em !important;
}
.sa-landing-hero p.sa-hero-paragraph {
	font-size:1.2em !important;
	margin-bottom:1.5em !important;
}

.gift-card {
	padding-top:1rem !important;
}

.gift-card li {
	font-size:2rem !important;
}


.sa-what figure {
	margin-top:0 !important;
	margin-bottom:0 !important;
padding-top: 0 !important;
}

.sa-what-gallery {
	gap: 20px;
}

.sa-results {
	margin-top:3em;
}
.sa-results figure,
.sa-results h6 {
	margin-top:6px !important;
	margin-bottom: 6px !important;
	padding:0;
}


/* ---------------------------- 
 *  FORMULARIOS contact form 7
 *  --------------------------- */

.wpcf7 form.sent .wpcf7-response-output {
	background:#DAF7A6;
	border-radius:4px;
	border-width:1px;
	padding:1rem;
	margin:0;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	background-color:#fff3ca;
	border-radius:4px;
	border-width:1px;
	padding:1rem;
	margin:0;
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #dc3232; /* Red */
	background-color:#ffe0e0;
	border-radius:4px;
	border-width:1px;
	padding:1rem;
	margin:0;
}

.wpcf7 form.spam .wpcf7-response-output {
	border-color: #f56e28; /* Orange */
	background-color:#ffede0;
	border-radius:4px;
	border-width:1px;
	padding:1rem;
	margin:0;
}


/* ---------------------------- 
 *  SEARCH RESULTS 
 *  --------------------------- */
body.search article header {
	background-color:unset !important;

}

body.search article header h2.entry-title > a,
body.search article header h2.entry-title {
	color:#4eb6e3 !important;
	margin-bottom:0 !important;
	font-size:3rem;
}

body.search article .post-inner {
	padding-top:1rem;
}
body.search article .post-inner p {
	font-size:1em !important;
}

body.search hr {
	margin:2rem auto;
}



/* ---------------------------- 
 *  CATEGORY PAGE 
 *  --------------------------- */

.posts-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  padding: 0 8vw;
  justify-content: start;
}

.mini-post {
  flex: 1 1 calc(25% - 1rem); /* 4 por fila */
  border: 1px solid #e4e4e4;
  padding: 1rem;
  box-sizing: border-box;
  border-radius:8px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: calc(25% - 2rem);
  background-color:#ffffff;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.mini-post img {
  width: 100%;
  height: auto;
  display: block;
  border-radius:8px;
}

.mini-post h3 {
  margin:0 !important;
}

.mini-post h3 a {
  text-decoration:none;
}
.mini-post h3 a:hover {
  text-decoration:underline;
}

.categories-list {
  padding: 2rem 2vw;
  margin-bottom: 2rem;
  border-bottom: 1px solid #ccc;
}

.categories-list h2 {
  margin-bottom: 0.5rem;
  font-size: 1.2rem;
}

.categories-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.categories-list li {
  background: #d1e6f0;
  padding: 0.4rem 1.1rem;
  border-radius: 20px;
}

.categories-list a {
  text-decoration: none;
  /*color: #333;*/
  font-weight: 500;
}

.categories-list a:hover {
  /*color: #0073aa;*/
color:#000;
}

/* Responsive: 3 por fila desde 1200px hacia abajo */
@media (max-width: 1199px) {
  .mini-post {
    flex: 1 1 calc(33.333% - 2rem);
    max-width: calc(33.333% - 2rem);
  }
  .posts-grid {
  padding: 4vw;
}
}

/* Responsive: 2 por fila desde 800px hacia abajo */
@media (max-width: 799px) {
  .mini-post {
    flex: 1 1 calc(50% - 2rem);
    max-width: calc(50% - 2rem);
  }
    .posts-grid {
  padding: 4vw;
}
}

/* Responsive: 1 por fila en móvil */
@media (max-width: 500px) {
  .mini-post {
    flex: 1 1 100%;
    max-width: 100%;
  }
    .posts-grid {
  padding: 2vw;
}
}

.archive-header {
		padding: 2rem;
  background-color:#f9f5f1 !important;

	}
h1.archive-title, .archive-subtitle {
  color:#000 !important;
}
.archive-header .color-accent {
  color:#000000 !important;
}
  
/*body.archive header.archive-header {
	padding-bottom:50px !important;
	margin-bottom:50px;
}
body.archive h2.entry-title {
	font-size:3rem;
	margin-bottom:0 !important;
}
body.archive article.post {
	display:flex !important;
	flex-wrap:wrap;
	justify-content:center !important;
	gap:1rem;
	padding:1rem;
}

body.archive article.post header.entry-header {
	width:100%;
	gap:1rem;
}

body.archive article.post figure.featured-media,
body.archive article.post .post-inner {
	display:flex !important;
	flex-direction:row;
	gap:1.5rem;
}

body.archive article.post .featured-media {
  flex: 1 1 20%;
  max-width: 20%;
}

body.archive article.post .post-inner p {
	font-size:2rem !important;
}

body.archive article>.section-inner {
	display:none;
}

@media (max-width: 768px) {
  body.archive article.post .entry-header-inner,
  .featured-media + .post-inner {
    flex-direction: column;
  }

body.archive article.post .featured-media,
  .post-inner {
    max-width: 100%;
  }
}*/

