/* ===== Filtros tienda (archive-product) ===== */
#shop-filter-panel .filter-content--price {
    padding: 6px 4px 4px;
    margin-bottom: 8px;
}

#shop-filter-panel .filter-content--size {
    padding: 8px 6px 6px;
    margin-bottom: 8px;
}

.shop-header-bar {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
}

.shop-header-bar .shop-filter-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 10px;
    cursor: pointer;
    border: 1px solid;
}

.shop-header-bar .shop-filter-label {
    font-size: 0.95rem;
    font-weight: 600;
    color: #101010;
    line-height: 1;
}

.shop-header-bar .shop-products-count {
    flex: 1;
    font-size: 14px;
    font-weight: 500;
    color: #101010;
    text-align: center;
}

@media (max-width: 600px) {
    .shop-header-bar .shop-products-count {
        display: none;
    }
}

#shop-filter-panel .filter-content .filter-size-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 4px;
}

#shop-filter-panel .filter-content .filter-size-list li {
    margin: 0;
    padding: 0;
}

#shop-filter-panel .filter-content .filter-size-list label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 2px 0;
    line-height: 1.2;
    font-size: 0.98rem;
    font-weight: 500;
    cursor: pointer;
}

#shop-filter-panel .filter-content .filter-size-list input[type="checkbox"] {
    accent-color: #000;
    width: 16px;
    height: 16px;
    margin: 0;
    cursor: pointer;
}
/* ===== Filtro de tallas ===== */
#shop-filter-panel .filter-content label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    margin-bottom: 8px;
    margin-top: 0;
    font-weight: 500;
    cursor: pointer;
}
#shop-filter-panel .filter-content label:last-child {
    margin-bottom: 0;
}
#shop-filter-panel .filter-content input[type="checkbox"] {
    accent-color: #000;
    width: 18px;
    height: 18px;
    margin: 0 6px 0 0;
    cursor: pointer;
}
#shop-filter-panel .filter-content {
    display: none;
    padding-top: 8px;
    padding-bottom: 8px;
}
.noUi-horizontal {
    height: 4px !important;
}

/* ===== Slider de precio personalizado ===== */
#price-slider {
    margin-bottom: 6px;
}
#price-slider.noUi-target {
    border: 0;
    box-shadow: none;
    background: transparent;
}
#price-slider .noUi-base {
    background: #e5e5e5;
    border-radius: 999px;
    height: 4px;
    box-shadow: none;
}
#price-slider .noUi-connect {
    background: #000;
    border-radius: 999px;
}
#price-slider .noUi-handle {
    background: #000;
    border: none;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
    width: 14px;
    height: 14px;
    top: -5px;
    right: -7px;
    cursor: pointer;
    transition: box-shadow 0.2s;
}
#price-slider .noUi-handle:before,
#price-slider .noUi-handle:after {
    display: none;
}
#price-slider .noUi-handle:hover,
#price-slider .noUi-handle:focus {
    box-shadow: 0 0 0 2px rgba(0,0,0,0.12);
}
#price-slider .noUi-tooltip {
    display: none;
}
.price-slider-labels {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    margin-bottom: 15px;
    font-weight: bold;
    font-size: 12px;
    line-height: 1;
    gap: 10px;
}

.price-slider-labels span {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#minPriceLabel {
    text-align: left;
}

#maxPriceLabel {
    text-align: right;
}
/* Mostrar sidebar (filtro/menu) al abrir */
.side-nav.open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
    z-index: 99999;
}
/* (Reglas de filtro WooCommerce eliminadas por unificación de sidebar) */
/* Ocultar breadcrumb, título y mensaje de no productos en WooCommerce */
.woocommerce-breadcrumb,
.entry-title,
.woocommerce-no-products-found {
    display: none !important;
}
/* WhatsApp link en el footer: blanco y hover verde */
.lds-footer-text a {
    color: #101010;
    text-decoration: none;
    transition: color 0.2s;
}
.lds-footer-text a:hover {
    color: #25D366;
}
/* =========================
   NUEVO FOOTER REDISEÑADO
========================= */
.lds-footer-redesign {
    background: #fff;
    color: #101010;
    padding: 48px 0 0 0;
    font-family: inherit;
}
.lds-footer-content {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 48px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    border-top: 1px solid;
}
.lds-footer-logo-section,
.lds-footer-info-section,
.lds-footer-contact-section {
    flex: 1 1 260px;
    min-width: 220px;
    max-width: 340px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 32px;
    margin-top: 20px;
}
.lds-footer-logo {
    width: 110px;
    height: auto;
    margin-bottom: 16px;
    display: block;
}
.lds-footer-brand {
    color: #101010;
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 8px;
    letter-spacing: 1px;
}
.lds-footer-desc {
    font-size: 1rem;
    color: #101010;
    margin-bottom: 0;
}
.lds-footer-title {
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 12px;
    color: #101010;
    letter-spacing: 0.5px;
}
.lds-footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}
.lds-footer-links li {
    margin-bottom: 8px;
}
.lds-footer-links a {
    color: #101010;
    text-decoration: none;
    transition: color 0.2s;
}
.lds-footer-links a:hover {
    color: #009043;
}
.lds-footer-text {
    color: #101010;
    margin-bottom: 8px;
    font-size: 1rem;
}
.lds-footer-social {
    margin-top: 12px;
    display: flex;
    justify-content: center;
    gap: 12px;
}
.lds-footer-bottom {
    background: #fff;
    color: #101010;
    text-align: center;
    padding: 18px 0 12px 0;
    font-size: 0.95rem;
    margin-top: 0;
}

@media (max-width: 900px) {
    .lds-footer-content {
        flex-direction: column;
        align-items: center;
        gap: 32px;
        border: none;
    }
    .lds-footer-logo-section,
    .lds-footer-info-section,
    .lds-footer-contact-section {
        max-width: 100%;
        margin-bottom: 0;
    }
    .lds-footer-logo {
        width: 90px;
    }
}

@media (max-width: 600px) {
    .lds-footer-content {
        padding: 0 8px;
        gap: 24px;
        border: none;
    }
    .lds-footer-logo {
        width: 70px;
    }
    .lds-footer-brand {
        font-size: 1rem;
    }
    .lds-footer-title {
        font-size: 1rem;
    }
    .lds-footer-desc,
    .lds-footer-text {
        font-size: 0.97rem;
    }
}
/* =========================
     ALERTA PERSONALIZADA CARRITO
============================ */
.lds-cart-remove-alert {
    position: fixed;
    z-index: 99999;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.35);
    display: flex;
    align-items: center;
    justify-content: center;
}
.lds-cart-remove-alert__box {
    background: #fff;
    padding: 2em 1.5em;
    border-radius: 10px;
    box-shadow: 0 2px 16px rgba(0,0,0,0.15);
    max-width: 90vw;
    width: 320px;
    text-align: center;
}
.lds-cart-remove-alert__title {
    font-size: 1.2em;
    font-weight: 600;
    margin-bottom: 0.5em;
}
.lds-cart-remove-alert__desc {
    margin-bottom: 1.2em;
}
.lds-cart-remove-alert__btn {
    padding: 0.3em 1.2em;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1em;
    margin: 0 0.2em;
}
.lds-cart-remove-alert__btn--confirm {
    background: #101010;
    color: #fff !important;
    margin-right: 1em;
}
.lds-cart-remove-alert__btn--cancel {
    background: #eee;
    color: #333 !important;
}
.page .entry-content,
.page:not(.inspiro-front-page) .entry-footer {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 2.8125em;
    margin-bottom: 2.8125em;
    padding-left: 24px;
    padding-right: 24px;
}

@media (max-width: 600px) {

    .page .entry-content,
    .page:not(.inspiro-front-page) .entry-footer {
        padding-left: 12px;
        padding-right: 12px;
    }
}

.inner-wrap,
.wrap {
    max-width: 100% !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

@media (max-width: 600px) {

    .inner-wrap,
    .wrap {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* Iconos de la cabecera: color por defecto negro */

/* Iconos de la cabecera: color por defecto negro */
#site-navigation .header-hamburger-wrapper,
#site-navigation .header-logo-center,
#site-navigation .header-right-icons {
    box-sizing: border-box !important;
    max-width: 100% !important;
}

.header-right-icons .svg-icon {
    color: #101010;
    transition: fill 0.2s, color 0.2s;
    width: 28px;
    height: 28px;
    display: inline-block;
}

/* Cuando el navbar está arriba en el INICIO, iconos blancos */
body.home .headroom--top .header-right-icons .svg-icon,
body.inspiro-front-page .headroom--top .header-right-icons .svg-icon {
    color: #fff !important;
}

/* Páginas distintas al inicio: navbar siempre blanco con iconos y texto oscuros */
body:not(.home):not(.inspiro-front-page) .site-header .navbar {
    background: #fff !important;
    color: #101010 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    padding: 18px !important;
}
body:not(.home):not(.inspiro-front-page) .site-header .navbar a {
    color: #101010 !important;
}
body:not(.home):not(.inspiro-front-page) .site-header .header-right-icons .svg-icon {
    color: #101010 !important;
}
body:not(.home):not(.inspiro-front-page) .site-header .navbar-toggle .icon-bar {
    background: #101010 !important;
}

/* Estilos para el indicador de punto verde en el carrito */
.header-right-icons .cart-icon-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.cart-indicator-dot {
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 8px;
    height: 8px;
    background-color: #22c55e;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 0 4px rgba(34, 197, 94, 0.5);
}

/* Estilos para el dropdown de logout en el icono de login */
.header-login-icon-wrapper {
    position: relative;
    display: inline-block;
}

.header-login-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    min-width: 120px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-5px);
    transition: all 0.2s ease;
    z-index: 1000;
    margin-top: 8px;
}

.header-login-icon-wrapper:hover .header-login-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.logout-link {
    display: block;
    padding: 10px 16px;
    color: #101010;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
    transition: background-color 0.2s ease, color 0.2s ease;
    border-radius: 4px;
}

.logout-link:hover {
    background-color: #f2f4f6;
    color: #009043;
}

/* Estilos para el overlay de búsqueda de productos */
.product-search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100vh;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.95) 100%);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 999;
    overflow-y: auto;
    padding-top: 80px;
}

.product-search-overlay.active {
    opacity: 1;
    visibility: visible;
}

body.product-search-open {
    overflow: hidden;
}

.product-search-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.product-search-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-bottom: 1px solid #e0e0e0;
    padding: 16px 20px;
    z-index: 1001;
    display: flex;
    align-items: center;
    gap: 12px;
}

.product-search-input {
    flex: 1;
    padding: 12px 16px;
    font-size: 16px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    outline: none;
    transition: border-color 0.2s ease;
    font-family: inherit;
}

.product-search-input:focus {
    border-color: #009043;
}

.product-search-input::placeholder {
    color: #999;
}

.product-search-close {
    background: transparent;
    border: none;
    padding: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
    color: #666;
}

.product-search-close:hover {
    color: #101010;
}

.product-search-results {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 20px;
    padding: 40px 20px 80px;
    margin-top: 60px;
}

.product-search-item {
    text-align: center;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    padding: 12px;
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
}

.product-search-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.product-search-item-image {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 6px;
    margin-bottom: 12px;
    background: #f2f4f6;
}

.product-search-item-name {
    font-size: 0.9rem;
    font-weight: 500;
    color: #101010;
    margin-bottom: 6px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-search-item-price {
    font-size: 0.85rem;
    color: #009043;
    font-weight: 600;
}

.product-search-no-results {
    grid-column: 1 / -1;
    text-align: center;
    padding: 40px 20px;
    color: #666;
    font-size: 1.1rem;
}

.product-search-loading {
    grid-column: 1 / -1;
    text-align: center;
    padding: 40px 20px;
    color: #999;
}

@media (max-width: 768px) {
    .product-search-results {
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
        gap: 16px;
        padding: 30px 12px 60px;
    }
    
    .product-search-header {
        padding: 12px 12px;
    }
    
    .product-search-input {
        padding: 10px 12px;
        font-size: 14px;
    }
}





/* Forzar limpieza de borde y fondo en el botón de búsqueda de la cabecera, sobrescribiendo cualquier estilo global de button */
.header-right-icons .header-search-icon,
.header-right-icons button.header-search-icon {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    font-size: inherit !important;
    width: auto !important;
    min-width: 0 !important;
    font-size: inherit !important;
    color: inherit !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    display: inline-flex !important;
}

/* SVG más grande y alineado */
.header-search-icon .svg-icon {
    width: 28px !important;
    height: 28px !important;
    display: inline-block;
}

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
1.0 Normalize
2.0 Accessibility
3.0 Alignments
4.0 Clearings
5.0 Typography
6.0 Forms
7.0 Formatting
8.0 Lists
9.0 Tables
10.0 Links
11.0 Featured Image Hover
12.0 Navigation
13.0 Layout
/*--------------------------------------------------------------
Sobrescribir ancho de .inner-wrap y .wrap para ocupar 100% */
/*--------------------------------------------------------------
## Layout Container Variables
--------------------------------------------------------------*/
:root {
    --container-width: 1200px;
    --container-width-narrow: 950px;
    --container-padding: 30px;
}

:root {
    --inspiro-primary-color: #009043;
    --inspiro-dark-color: #101010;
    --inspiro-light-grey-color: #f2f4f6;
    --inspiro-color-background-body: #fff;
    --inspiro-color-link-hover: #000;
}

/*--------------------------------------------------------------
1.0 Normalize
--------------------------------------------------------------*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
    line-height: 1.15;
    /* 1 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

/* Estilo limpio para el icono de búsqueda en el navbar */
.header-right-icons .header-search-icon {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0 8px;
    margin: 0 8px;
    box-shadow: none;
    transition: color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-right-icons .header-search-icon:focus,
.header-right-icons .header-search-icon:hover {
    background: transparent;
    border: none;
    color: var(--inspiro-primary-color);
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
    margin: 0;
    height: 100%;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
    display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
    background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
    border-bottom: none;
    /* 1 */
    text-decoration: underline;
    /* 2 */
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
    font-weight: bold;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
    border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    /* 1 */
    font-size: 100%;
    /* 1 */
    line-height: 1.15;
    /* 1 */
    margin: 0;
    /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
    /* 1 */
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
    /* 1 */
    text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button;
    appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
    padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
    box-sizing: border-box;
    /* 1 */
    color: inherit;
    /* 2 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */
    white-space: normal;
    /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
    vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
    overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
    -webkit-appearance: textfield;
    /* 1 */
    appearance: textfield;
    /* 1 */
    outline-offset: -2px;
    /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
    appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
    display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
    display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
    display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
    display: none;
}

/*--------------------------------------------------------------
2.0 Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
    /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #444444;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
    outline: 0;
}

/*--------------------------------------------------------------
3.0 Alignments
--------------------------------------------------------------*/
.wp-block-image .aligncenter>figcaption,
.wp-block-image .alignleft>figcaption,
.wp-block-image .alignright>figcaption,
.wp-block-image.is-resized>figcaption {
    display: block;
    margin-top: 0;
    font-size: 14px;
}

.entry-content .wp-block-image img,
.entry-content img.alignnone,
.entry-content img.aligncenter,
.entry-content img.alignleft,
.entry-content img.alignright,
.entry-content img.attachment-fullsize {
    max-width: 100%;
    height: auto;
}

figure {
    margin: 0;
}

.wp-block-image.alignfull,
.wp-block-image.alignwide {
    max-width: none;
}

.wp-block-image.alignfull img,
.wp-block-image.alignwide img {
    width: 100%;
}

/*--------------------------------------------------------------
4.0 Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-wrapper:before,
.entry-wrapper:after,
.entry-content:before,
.entry-content:after,
.entry-footer:before,
.entry-footer:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after,
.nav-links:before,
.nav-links:after,
.pagination:before,
.pagination:after,
.comment-author:before,
.comment-author:after,
.widget-area:before,
.widget-area:after,
.widget:before,
.widget:after,
.comment-meta:before,
.comment-meta:after {
    content: "";
    display: table;
    table-layout: fixed;
}

.clear:after,
.entry-wrapper:after,
.entry-content:after,
.entry-footer:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after,
.nav-links:after,
.pagination:after,
.comment-author:after,
.widget-area:after,
.widget:after,
.comment-meta:after {
    clear: both;
}

/* Fix compatibility with Visual Composer */
.nav:after,
.nav:before,
.navbar-collapse:after,
.navbar-collapse:before,
.navbar:after,
.navbar:before {
    content: "";
    display: inline !important;
}

/*--------------------------------------------------------------
5.0 Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea {
    margin: 0;
    padding: 0;
    font-family: "Inter", sans-serif;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    background-repeat: no-repeat;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.8;
    color: #444;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: #000;
    clear: both;
    line-height: 1.4;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
    padding-top: 0;
}

h1,
h2,
h3 {
    padding-top: 0.625em;
}

h1 {
    font-size: 36px;
    font-size: 2.25rem;
    font-weight: 600;
}

h2 {
    font-size: 30px;
    font-size: 1.875rem;
    font-weight: 600;
}

h3 {
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 400;
}

h4 {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;
}

h5 {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 600;
}

h6 {
    font-size: 13px;
    font-size: 0.8125rem;
    font-weight: 600;
}

p {
    margin: 0 0 1.5em;
    padding: 0;
}

dfn,
cite,
em,
i {
    font-style: italic;
}

blockquote {
    color: #666;
    font-size: 18px;
    font-size: 1.125rem;
    font-style: italic;
    line-height: 1.7;
    margin: 0;
    overflow: hidden;
    padding: 0;
}

blockquote cite {
    display: block;
    font-style: normal;
    font-weight: 600;
    margin-top: 0.5em;
}

address {
    margin: 0 0 1.5em;
}

pre {
    background: #eee;
    font-family: "Courier 10 Pitch", Courier, monospace;
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.6;
    margin-bottom: 1.6em;
    max-width: 100%;
    overflow: auto;
    padding: 1.6em;
}

code,
kbd,
tt,
var {
    font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
    font-size: 15px;
    font-size: 0.9375rem;
}

abbr,
acronym {
    border-bottom: 1px dotted #666;
    cursor: help;
}

mark,
ins {
    background: #fff9c0;
    text-decoration: none;
}

big {
    font-size: 125%;
}

blockquote {
    quotes: "" "";
}

q {
    quotes: "“" "”" "‘" "’";
}

blockquote:before,
blockquote:after {
    content: "";
}

/* Typography for Arabic Font */
html[lang=ar] body,
html[lang=ar] button,
html[lang=ar] input,
html[lang=ar] select,
html[lang=ar] textarea,
html[lang=ary] body,
html[lang=ary] button,
html[lang=ary] input,
html[lang=ary] select,
html[lang=ary] textarea,
html[lang=azb] body,
html[lang=azb] button,
html[lang=azb] input,
html[lang=azb] select,
html[lang=azb] textarea,
html[lang=fa-IR] body,
html[lang=fa-IR] button,
html[lang=fa-IR] input,
html[lang=fa-IR] select,
html[lang=fa-IR] textarea,
html[lang=haz] body,
html[lang=haz] button,
html[lang=haz] input,
html[lang=haz] select,
html[lang=haz] textarea,
html[lang=ps] body,
html[lang=ps] button,
html[lang=ps] input,
html[lang=ps] select,
html[lang=ps] textarea,
html[lang=ur] body,
html[lang=ur] button,
html[lang=ur] input,
html[lang=ur] select,
html[lang=ur] textarea {
    font-family: Tahoma, Arial, sans-serif;
}

html[lang=ar] h1,
html[lang=ar] h2,
html[lang=ar] h3,
html[lang=ar] h4,
html[lang=ar] h5,
html[lang=ar] h6,
html[lang=ary] h1,
html[lang=ary] h2,
html[lang=ary] h3,
html[lang=ary] h4,
html[lang=ary] h5,
html[lang=ary] h6,
html[lang=azb] h1,
html[lang=azb] h2,
html[lang=azb] h3,
html[lang=azb] h4,
html[lang=azb] h5,
html[lang=azb] h6,
html[lang=fa-IR] h1,
html[lang=fa-IR] h2,
html[lang=fa-IR] h3,
html[lang=fa-IR] h4,
html[lang=fa-IR] h5,
html[lang=fa-IR] h6,
html[lang=haz] h1,
html[lang=haz] h2,
html[lang=haz] h3,
html[lang=haz] h4,
html[lang=haz] h5,
html[lang=haz] h6,
html[lang=ps] h1,
html[lang=ps] h2,
html[lang=ps] h3,
html[lang=ps] h4,
html[lang=ps] h5,
html[lang=ps] h6,
html[lang=ur] h1,
html[lang=ur] h2,
html[lang=ur] h3,
html[lang=ur] h4,
html[lang=ur] h5,
html[lang=ur] h6 {
    font-weight: 700;
}

/* Typography for Chinese Font */
html[lang^=zh-] body,
html[lang^=zh-] button,
html[lang^=zh-] input,
html[lang^=zh-] select,
html[lang^=zh-] textarea {
    font-family: "PingFang TC", "Helvetica Neue", Helvetica, STHeitiTC-Light, Arial, sans-serif;
}

html[lang=zh-CN] body,
html[lang=zh-CN] button,
html[lang=zh-CN] input,
html[lang=zh-CN] select,
html[lang=zh-CN] textarea {
    font-family: "PingFang SC", "Helvetica Neue", Helvetica, STHeitiSC-Light, Arial, sans-serif;
}

html[lang^=zh-] h1,
html[lang^=zh-] h2,
html[lang^=zh-] h3,
html[lang^=zh-] h4,
html[lang^=zh-] h5,
html[lang^=zh-] h6 {
    font-weight: 700;
}

/* Typography for Cyrillic Font */
html[lang=bg-BG] body,
html[lang=bg-BG] button,
html[lang=bg-BG] input,
html[lang=bg-BG] select,
html[lang=bg-BG] textarea,
html[lang=ru-RU] body,
html[lang=ru-RU] button,
html[lang=ru-RU] input,
html[lang=ru-RU] select,
html[lang=ru-RU] textarea,
html[lang=uk] body,
html[lang=uk] button,
html[lang=uk] input,
html[lang=uk] select,
html[lang=uk] textarea {
    font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, sans-serif;
}

html[lang=bg-BG] h1,
html[lang=bg-BG] h2,
html[lang=bg-BG] h3,
html[lang=bg-BG] h4,
html[lang=bg-BG] h5,
html[lang=bg-BG] h6,
html[lang=ru-RU] h1,
html[lang=ru-RU] h2,
html[lang=ru-RU] h3,
html[lang=ru-RU] h4,
html[lang=ru-RU] h5,
html[lang=ru-RU] h6,
html[lang=uk] h1,
html[lang=uk] h2,
html[lang=uk] h3,
html[lang=uk] h4,
html[lang=uk] h5,
html[lang=uk] h6 {
    font-weight: 700;
    line-height: 1.2;
}

/* Typography for Devanagari Font */
html[lang=bn-BD] body,
html[lang=bn-BD] button,
html[lang=bn-BD] input,
html[lang=bn-BD] select,
html[lang=bn-BD] textarea,
html[lang=hi-IN] body,
html[lang=hi-IN] button,
html[lang=hi-IN] input,
html[lang=hi-IN] select,
html[lang=hi-IN] textarea,
html[lang=mr-IN] body,
html[lang=mr-IN] button,
html[lang=mr-IN] input,
html[lang=mr-IN] select,
html[lang=mr-IN] textarea {
    font-family: Arial, sans-serif;
}

html[lang=bn-BD] h1,
html[lang=bn-BD] h2,
html[lang=bn-BD] h3,
html[lang=bn-BD] h4,
html[lang=bn-BD] h5,
html[lang=bn-BD] h6,
html[lang=hi-IN] h1,
html[lang=hi-IN] h2,
html[lang=hi-IN] h3,
html[lang=hi-IN] h4,
html[lang=hi-IN] h5,
html[lang=hi-IN] h6,
html[lang=mr-IN] h1,
html[lang=mr-IN] h2,
html[lang=mr-IN] h3,
html[lang=mr-IN] h4,
html[lang=mr-IN] h5,
html[lang=mr-IN] h6 {
    font-weight: 700;
}

/* Typography for Greek Font */
html[lang=el] body,
html[lang=el] button,
html[lang=el] input,
html[lang=el] select,
html[lang=el] textarea {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

html[lang=el] h1,
html[lang=el] h2,
html[lang=el] h3,
html[lang=el] h4,
html[lang=el] h5,
html[lang=el] h6 {
    font-weight: 700;
    line-height: 1.3;
}

/* Typography for Gujarati Font */
html[lang=gu-IN] body,
html[lang=gu-IN] button,
html[lang=gu-IN] input,
html[lang=gu-IN] select,
html[lang=gu-IN] textarea {
    font-family: Arial, sans-serif;
}

html[lang=gu-IN] h1,
html[lang=gu-IN] h2,
html[lang=gu-IN] h3,
html[lang=gu-IN] h4,
html[lang=gu-IN] h5,
html[lang=gu-IN] h6 {
    font-weight: 700;
}

/* Typography for Hebrew Font */
html[lang=he-IL] body,
html[lang=he-IL] button,
html[lang=he-IL] input,
html[lang=he-IL] select,
html[lang=he-IL] textarea {
    font-family: "Arial Hebrew", Arial, sans-serif;
}

html[lang=he-IL] h1,
html[lang=he-IL] h2,
html[lang=he-IL] h3,
html[lang=he-IL] h4,
html[lang=he-IL] h5,
html[lang=he-IL] h6 {
    font-weight: 700;
}

/* Typography for Japanese Font */
html[lang=ja] body,
html[lang=ja] button,
html[lang=ja] input,
html[lang=ja] select,
html[lang=ja] textarea {
    font-family: "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
}

html[lang=ja] h1,
html[lang=ja] h2,
html[lang=ja] h3,
html[lang=ja] h4,
html[lang=ja] h5,
html[lang=ja] h6 {
    font-weight: 700;
}

/* Typography for Korean font */
html[lang=ko-KR] body,
html[lang=ko-KR] button,
html[lang=ko-KR] input,
html[lang=ko-KR] select,
html[lang=ko-KR] textarea {
    font-family: "Apple SD Gothic Neo", "Malgun Gothic", "Nanum Gothic", Dotum, sans-serif;
}

html[lang=ko-KR] h1,
html[lang=ko-KR] h2,
html[lang=ko-KR] h3,
html[lang=ko-KR] h4,
html[lang=ko-KR] h5,
html[lang=ko-KR] h6 {
    font-weight: 600;
}

/* Typography for Thai Font */
html[lang=th] h1,
html[lang=th] h2,
html[lang=th] h3,
html[lang=th] h4,
html[lang=th] h5,
html[lang=th] h6 {
    line-height: 1.65;
    font-family: "Sukhumvit Set", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

html[lang=th] body,
html[lang=th] button,
html[lang=th] input,
html[lang=th] select,
html[lang=th] textarea {
    line-height: 1.8;
    font-family: "Sukhumvit Set", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* Remove letter-spacing for all non-latin alphabets */
html[lang=ar] *,
html[lang=ary] *,
html[lang=azb] *,
html[lang=haz] *,
html[lang=ps] *,
html[lang^=zh-] *,
html[lang=bg-BG] *,
html[lang=ru-RU] *,
html[lang=uk] *,
html[lang=bn-BD] *,
html[lang=hi-IN] *,
html[lang=mr-IN] *,
html[lang=el] *,
html[lang=gu-IN] *,
html[lang=he-IL] *,
html[lang=ja] *,
html[lang=ko-KR] *,
html[lang=th] * {
    letter-spacing: 0 !important;
}

/*--------------------------------------------------------------
6.0 Forms
--------------------------------------------------------------*/
input,
textarea {
    font-family: "Inter", sans-serif;
    color: #444;
}

label {
    margin-bottom: 5px;
    display: block;
}

input,
textarea {
    padding: 11px 10px;
    font-size: 16px;
    font-size: 1rem;
    background: white;
    border: 2px solid rgba(68, 68, 68, 0.19);
    width: auto;
    border-radius: 0;
}

input[type=text],
input[type=phone],
textarea {
    box-sizing: border-box;
    display: block;
    margin-bottom: 10px;
    width: 100%;
}

input:focus,
textarea:focus {
    border-color: var(--inspiro-primary-color);
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
    display: none;
}

.wpzabb-post-grid-more,
.button,
.btn,
.more-link,
.more_link,
.side-nav .search-form .search-submit {
    font-family: "Onest", sans-serif;
    font-weight: bold;
    display: inline-block;
    padding: 10px 25px;
    text-align: center;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 12px;
    color: #444;
    border: 2px solid rgba(68, 68, 68, 0.19);
    background-image: none;
    -webkit-user-select: none;
    user-select: none;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.more-link,
.more_link {
    color: #444 !important;
}

.button:hover,
.btn:hover,
.side-nav .search-form .search-submit:hover,
.site-footer .search-form .search-submit:hover,
.infinite-scroll #infinite-handle span:hover {
    text-decoration: none;
    color: var(--inspiro-primary-color);
    border-color: var(--inspiro-primary-color);
}

.btn-primary,
.side-nav .search-form .search-submit,
.site-footer .search-form .search-submit {
    color: var(--inspiro-primary-color);
    border-color: var(--inspiro-primary-color);
}

div.wpforms-container-full .wpforms-form input[type=submit],
div.wpforms-container-full .wpforms-form button[type=submit],
div.wpforms-container-full .wpforms-form .wpforms-page-button,
button,
input[type=button],
input[type=reset],
input[type=submit] {
    font-family: "Onest", sans-serif;
    display: inline;
    width: auto;
    padding: 12px 25px;
    text-align: center;
    white-space: nowrap;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 1px;
    font-size: 12px;
    color: #444;
    border: 2px solid rgba(68, 68, 68, 0.19);
    background-image: none;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

div.wpforms-container-full .wpforms-form input[type=submit],
div.wpforms-container-full .wpforms-form button[type=submit],
div.wpforms-container-full .wpforms-form .wpforms-page-button {
    background: none;
}

div.wpforms-container-full .wpforms-form input[type=submit]:hover,
div.wpforms-container-full .wpforms-form button[type=submit]:hover,
div.wpforms-container-full .wpforms-form .wpforms-page-button:hover {
    background: none;
}

div.wpforms-container-full .wpforms-form input[type=submit]:hover,
div.wpforms-container-full .wpforms-form button[type=submit]:hover,
div.wpforms-container-full .wpforms-form .wpforms-page-button:hover,
.search-form button.search-submit:hover,
button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover {
    cursor: pointer;
    text-decoration: none;
    color: var(--inspiro-primary-color);
    border-color: var(--inspiro-primary-color);
}

/* Read More button */
.wp-block-read-more {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    text-decoration: none !important;
}

.wp-block-read-more:hover {
    color: #fff !important;
    border-color: var(--inspiro-dark-color);
    background-color: var(--inspiro-dark-color);
}

/*--------------------------------------------------------------
7.0 Formatting
--------------------------------------------------------------*/
hr {
    background-color: #eee;
    border: 0;
    height: 1px;
    margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
8.0 Lists
--------------------------------------------------------------*/
ul,
ol {
    margin: 0 0 1.5em 1em;
    padding: 0;
}

ul {
    list-style: disc;
}

ol {
    list-style: decimal;
}

li>ul,
li>ol {
    margin-bottom: 0;
    margin-left: 1.5em;
}

dt {
    font-weight: 700;
}

dd {
    margin: 0 1.5em 1.5em;
}

#add_payment_method #payment ul.payment_methods li,
.woocommerce-cart #payment ul.payment_methods li,
.woocommerce-checkout #payment ul.payment_methods li {
    list-style-type: none;
}

/*--------------------------------------------------------------
9.0 Tables
--------------------------------------------------------------*/
table {
    border-collapse: collapse;
    margin: 0 0 1.5em;
    width: 100%;
}

thead th {
    border-bottom: 2px solid #bbb;
    padding-bottom: 0.5em;
}

th {
    padding: 0.4em;
    text-align: left;
}

tr {
    border-bottom: 1px solid #eee;
}

td {
    padding: 0.4em;
}

th,
td,
th:first-child,
td:first-child {
    padding-left: 0;
}

th:last-child,
td:last-child {
    padding-right: 0;
}

/*--------------------------------------------------------------
10.0 Links
--------------------------------------------------------------*/
a {
    transition: all 0.1s ease-in;
    text-decoration: none;
    color: var(--inspiro-primary-color);
}

a:hover {
    text-decoration: none;
    color: #009043;
}

.entry-content a {
    text-decoration: underline;
    text-underline-offset: 0.125em;
}

.entry-content a:hover {
    text-decoration: none;
}

body.elementor-page .entry-content a,
body.fl-builder .entry-content a,
body.woocommerce-page .entry-content a {
    text-decoration: none;
}

/* Hover effects */
.entry-content a,
.entry-summary a,
.comment-content a,
.widget a,
.site-footer .widget-area a,
.posts-navigation a,
.widget_authors a strong {
    transition: color 0.1s ease-in;
}

a.wp-block-latest-posts__post-title,
.entry-meta a,
.page-links a,
.page-links a .page-number,
.entry-footer a,
.entry-footer .tags-links a,
.edit-link a,
.post-navigation a,
.logged-in-as a,
.comment-navigation a,
.comment-metadata a,
.comment-metadata a.comment-edit-link,
.comment-reply-link,
a .nav-title,
.pagination a,
.comments-pagination a,
.site-info a,
.widget .widget-title a,
.widget ul li a,
.site-footer .widget-area ul li a,
.site-footer .widget-area ul li a {
    text-decoration: none;
    transition: color 0.1s ease-in;
}

.entry-summary a:hover,
.comment-content a:hover,
.widget a:hover,
.site-footer .widget-area a:hover,
.posts-navigation a:hover,
.comment-metadata a:hover,
.comment-metadata a.comment-edit-link:hover,
.comment-reply-link:hover,
.widget_authors a:hover strong,
.entry-title a:hover,
.page-links a:hover .page-number,
.entry-footer a:hover,
a:hover .nav-title,
.entry-meta a:hover {
    color: var(--inspiro-color-link-hover);
}

.side-nav a:hover,
.site-footer .footer-widgets a:hover {
    color: #fff;
}

.components-button:hover {
    color: #fff;
    background: var(--inspiro-primary-color);
}

.entry-content .more-link,
.entry-content .more_link,
.entry-summary .more-link,
.entry-summary .more_link {
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.entry-content .more-link:hover,
.entry-content .more_link:hover,
.entry-summary .more-link:hover,
.entry-summary .more_link:hover {
    text-decoration: none;
    color: var(--inspiro-primary-color);
    border-color: var(--inspiro-primary-color);
}

.page-links {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 800;
    padding: 1.25em 0 1.875em;
    clear: left;
}

.page-links .page-number,
.page-links .post-page-numbers {
    color: #767676;
    display: inline-block;
    padding: 0.5em 1em;
}

.page-links .page-number.current,
.page-links .post-page-numbers.current {
    color: #222;
}

.page-links a {
    display: inline-block;
}

.page-links a .page-number {
    color: #222;
}

/* Fixes linked images */
.entry-content a img,
.comment-content a img,
.widget a img {
    box-shadow: none;
}

.post-navigation a:hover .icon {
    color: #000;
}

.wp-block-cover p a {
    text-decoration: none;
}

.wp-block-cover p a:hover {
    opacity: 0.8;
}

/*--------------------------------------------------------------
11.0 Featured Image Hover
--------------------------------------------------------------*/
.post-thumbnail {
    margin-bottom: 1.875em;
}

.post-thumbnail a {
    display: inline-block;
    font-size: 0;
}

.post-thumbnail a img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition: opacity 0.2s;
}

.post-thumbnail a:hover img,
.post-thumbnail a:focus img {
    opacity: 0.7;
}

/*--------------------------------------------------------------
12.0 Navigation
--------------------------------------------------------------*/
.sf-menu,
.sf-menu * {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sf-menu ul {
    position: absolute;
    display: none;
    top: 100%;
    left: 0;
    z-index: 99;
}

.sf-menu li {
    position: relative;
}

.sf-menu li:hover ul,
.sf-menu li.sfHover ul {
    display: block;
}

.sf-menu a {
    display: block;
    position: relative;
}

.sf-menu ul ul {
    top: 0;
    left: 100%;
}

.navbar {
    position: relative;
    z-index: 200;
    color: #fff;
    background: transparent;
    padding: 18px !important;
    transition: all 0.5s ease-in-out;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    max-width: 100% !important;
}

.navbar:before,
.navbar:after {
    content: "";
    display: table;
}

.navbar:after {
    clear: both;
}

.navbar a {
    color: inherit;
}

.navbar .header-inner {
    width: 100% !important;
    align-items: center;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box !important;
    min-width: 0 !important;
    overflow: hidden !important;
    max-width: 100% !important;
}

.navbar .header-inner:before,
.navbar .header-inner:after {
    display: none;
}

.navbar .header-inner .navbar-secondary {
    display: none;
}

.navbar .header-inner.wpz_layout_full {
    width: 100%;
    max-width: 100%;
    padding-left: 1.25em;
    padding-right: 1.25em;
}

.navbar .header-logo-wrapper {
    margin-right: 0.625em;
    max-width: 50%;
}

.navbar .header-logo-wrapper {
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 0;
    text-align: left;
}

.navbar .header-navigation-wrapper {
    flex: 1;
    justify-content: flex-end;
}

.navbar .header-navigation-wrapper,
.navbar .header-widgets-wrapper {
    align-items: center;
    display: flex;
}

.navbar .wpz_menu_left .header-navigation-wrapper {
    justify-content: flex-start;
}

.navbar .wpz_menu_center .header-navigation-wrapper {
    justify-content: center;
}

.navbar .wpz_menu_hamburger .header-navigation-wrapper {
    display: none;
}

.has-header-image .navbar,
.has-header-video .navbar {
    position: absolute;
    width: 100%;
    background: none;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 1%, rgba(0, 0, 0, 0) 100%);
    background-repeat: repeat-x;
}

.navbar-toggle {
    display: block !important;
    position: relative;
    margin: 0;
    margin-left: 0.9375em;
    padding-left: 0;
    padding-right: 0;
    width: 40px;
    border-color: transparent;
    background: transparent;
}

.inspiro--with-page-nav .navbar-toggle {
    display: block;
}

.navbar-toggle:hover {
    border-color: transparent;
    background-color: transparent;
}

.navbar-toggle .icon-bar {
    position: relative;
    display: block;
    width: 22px;
    height: 2px;
    background: #fff;
    transition: all 0.2s ease-in-out;
}

.navbar-toggle .icon-bar:nth-child(3) {
    width: 17px;
}

.navbar-toggle:hover .icon-bar {
    width: 17px;
}

.navbar-toggle:hover .icon-bar:nth-child(3) {
    width: 22px;
}

.navbar-toggle .icon-bar+.icon-bar {
    margin-top: 5px;
}

/* hamburger animation */
.navbar-toggle .icon-bar {
    transition: width 0.13s ease-out, transform 0.13s ease-out, opacity 0.13s ease-out;
}

.navbar-nav {
    display: flex;
    font-weight: 400;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.navbar-nav>li {
    margin: 0 0.9375em;
}

.navbar-nav>li>ul {
    position: absolute;
    top: 100%;
    left: auto;
    right: -50px;
    background: #f5f5f5;
    min-width: 250px;
    list-style: none;
    margin-bottom: 15px;
    padding: 10px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 999;
    border-radius: 4px;
}

.navbar-nav>li>ul>li>a {
    display: block;
    color: #101010;
    font-size: 14px;
    transition: all 0.2s ease;
}

.navbar-nav>li:hover>ul {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.navbar-nav>li.current-menu-item>a,
.navbar-nav>li.current_page_item>a,
.navbar-nav>li.current-menu-parent>a {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.navbar-nav a {
    padding: 0.3125em 0 0.1875em;
    font-family: "Onest", sans-serif;
    font-weight: 500;
    border-bottom: 1px solid transparent;
    transition: 0.2s ease border-color, 0.2s ease color;
}

.navbar-nav>li>a:hover {
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.8);
    color: inherit;
    opacity: 0.8;
}

.navbar-nav .menu-item-has-children .svg-icon {
    margin-left: 0.25em;
    width: 18px;
    height: 18px;
    display: inline-block;
    vertical-align: text-top;
    fill: #fff;
}

.navbar-nav ul .menu-item-has-children .svg-icon {
    position: absolute;
    width: 18px;
    height: 18px;
    right: 0.625em;
    top: 50%;
    fill: #fff;
    transform: rotate(-90deg) translateX(50%);
}

.inspiro--with-page-nav .navbar-nav>li:last-child {
    margin-right: 0;
}

/* Sidebar */
.site {
    position: relative;
    transition: transform 0.18s ease;
}

.side-nav {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    overflow: hidden;
    width: 380px;
    z-index: 800;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-380px);
    transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
    transform-style: preserve-3d;
    -webkit-overflow-scrolling: touch;
    backface-visibility: hidden;
}

@media (max-width: 768px) {
    .side-nav {
        width: 80vw;
        transform: translateX(-80vw);
    }
}

.side-nav .navbar-nav {
    display: flex;
    flex-direction: column;
    margin-bottom: 40px;
}

.side-nav .navbar-nav>li {
    position: relative;
    border-top: 1px solid rgba(47, 46, 46, 0.15);
    list-style: none;
}

.side-nav .navbar-nav>li>a {
    display: block;
    padding: 12px 1px;
    color: #101010;
    border-bottom: none;
    transition: 0.2s ease all;
}

.side-nav .navbar-nav>li>a:hover {
    color: #009043 !important;
}

.side-nav .navbar-nav ul {
    display: none;
    position: static;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ===== BLOQUEAR HOVER EN SIDEBAR ===== */
/* Desactivar completamente cualquier efecto hover en submenus de sidebar (excepto si están abiertos) */
.side-nav .navbar-nav>li:hover>ul:not(.open),
.side-nav .navbar-nav>li:hover .sub-menu:not(.open) {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: none !important;
}

/* Mostrar submenús cuando tengan clase open - SIEMPRE VISIBLE */
.side-nav .navbar-nav .sub-menu.open,
.side-nav .navbar-nav>li:hover .sub-menu.open,
.side-nav .navbar-nav>li .sub-menu.open {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    margin-bottom: 15px;
}

.side-nav .navbar-nav ul li {
    margin: 0;
    list-style: none;
}

.headroom--not-top .side-nav .navbar-nav ul {
    background: rgba(11, 180, 170, 0.08);
}

/* Hover deshabilitado en sidebar - usar clase .open en JS */
/* .side-nav .navbar-nav > li:hover > ul,
.side-nav .navbar-nav ul > li:hover > ul {
    display: flex;
    flex-direction: column;
} */
.side-nav .navbar-nav ul>li>a {
    display: block;
    color: #101010;
    font-size: 11px;
    border-bottom: none;
}

.side-nav .navbar-nav ul>li>a:hover {
    color: #101010;
}

.side-nav .widget_block,
.side-nav .widget {
    margin-bottom: 40px;
    max-width: 100%;
}

.side-nav .widget_block:last-child,
.side-nav .widget:last-child {
    margin-bottom: 0;
}

.side-nav .widget_block .wp-block-group__inner-container>h2,
.side-nav .widget_block .wp-block-search__label,
.side-nav .widget_block .title,
.side-nav .widget .wp-block-group__inner-container>h2,
.side-nav .widget .wp-block-search__label,
.side-nav .widget .title {
    font-size: 18px;
    font-size: 1.125rem;
    color: #101010;
    text-transform: uppercase;
    margin-bottom: 20px;
    font-family: "Onest", sans-serif;
}

.side-nav .wp-block-group>.wp-block-group__inner-container {
    padding: 0;
}

.side-nav-transitioning .side-nav {
    visibility: visible;
}

.side-nav-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 380px;
    right: 0;
    bottom: 0;
    background: rgba(230, 230, 230, 0.6);
    z-index: 750;
    opacity: 0;
    pointer-events: none;
}

@media (max-width: 768px) {
    .side-nav-overlay {
        left: 80vw;
    }
}

.side-nav-open .side-nav-overlay {
    display: block;
    opacity: 0;
    pointer-events: auto;
    animation: fadeInOverlay 0.4s ease-in 0.3s forwards;
}

@keyframes fadeInOverlay {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.side-nav__scrollable-container {
    position: relative;
    padding-bottom: 70px;
    /* .side-nav's bottom value */
    height: 100%;
    overflow: auto;
    background-color: #ffffff;
    color: #101010;
    -webkit-overflow-scrolling: touch;
    backface-visibility: hidden;
}

.side-nav__scrollable-container h2,
.side-nav__scrollable-container h3,
.side-nav__scrollable-container h1,
.side-nav__scrollable-container h4,
.side-nav__scrollable-container h5,
.side-nav__scrollable-container h6 {
    color: #fff;
}

.side-nav__scrollable-container::-webkit-scrollbar {
    display: none;
}

.side-nav__wrap {
    position: relative;
    padding: 60px 20px;
}

/* Header de la sidebar con logo y botón cerrar */
.sidebar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-bottom: 10px;
    height: 60px;
}

.sidebar-logo {
    flex: 1;
}

.sidebar-logo img {
    max-width: 40%;
    height: auto;
    display: block;
}

.sidebar-close-btn {
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.sidebar-close-btn:hover {
    color: rgba(11, 180, 170, 0.8);
    transform: scale(1.1);
}

.sidebar-close-btn .close-icon {
    width: 24px;
    height: 24px;
    color: #101010;
    stroke: currentColor;
}

/* Menú de la sidebar */
.sidebar-menu {
    display: flex;
    flex-direction: column;
    list-style: none;
    margin: 0;
    padding: 0;
}

.sidebar-menu>li {
    margin: 0;
    list-style: none;
}

.sidebar-menu>li:last-child {
    border-bottom: 1px solid rgba(47, 46, 46, 0.15);
    border-top: 1px solid rgba(47, 46, 46, 0.15);
}

.sidebar-menu>li:first-child {
    border-top: 1px solid rgba(47, 46, 46, 0.15);
}

.sidebar-menu .menu-item-inner {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 12px 0;
    width: 100%;
    opacity: 1 !important;
    visibility: visible !important;
}

#shop-filter-panel .sidebar-menu .arrow-icon svg {
    transition: transform 0.25s ease;
    transform-origin: center;
    transform: rotate(0deg);
}

#shop-filter-panel .sidebar-menu > li.is-open .arrow-icon svg {
    transform: rotate(180deg);
}

.sidebar-menu .menu-item-inner>button,
.sidebar-menu .menu-toggle {
    opacity: 1 !important;
    visibility: visible !important;
    display: flex !important;
    background: transparent !important;
    border: none !important;
    padding: 3px 3px 0px 0px !important;
    cursor: pointer !important;
    color: #101010 !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    transition: all 0.3s ease !important;
    flex-shrink: 0 !important;
}

.sidebar-menu .menu-toggle svg,
.sidebar-menu .menu-toggle .icon-chevron-down {
    opacity: 1 !important;
    visibility: visible !important;
    width: 15px !important;
    height: 15px !important;
    stroke: #101010 !important;
    stroke-width: 2 !important;
    fill: none !important;
    transition: transform 0.3s ease !important;
    transform-origin: center !important;
}

.menu-item-inner>a {
    flex: 1;
    color: #101010 !important;
    text-decoration: none !important;
    display: block;
    transition: color 0.2s ease;
    border-right: 1px solid rgba(47, 46, 46, 0.15);
}

.menu-item-inner>a:hover {
    color: #009043 !important;
}

.menu-link {
    flex: 1;
    color: #fff;
    text-decoration: none;
    font-family: "Onest", sans-serif;
    font-weight: 500;
    transition: all 0.2s ease;
    font-size: 15px;
}

.menu-link:hover {
    color: #009043 !important;
    padding-left: 5px;
}

.menu-toggle {
    background: transparent;
    border: none;
    padding: 3px 3px 0px 0px;
    cursor: pointer;
    color: #101010 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    transition: all 0.3s ease;
    flex-shrink: 0;
    opacity: 1 !important;
    visibility: visible !important;
}

.menu-toggle .icon-chevron-down {
    width: 15px;
    height: 15px;
    stroke: #101010 !important;
    stroke-width: 2;
    fill: none;
    transition: transform 0.3s ease;
    transform-origin: center;
    opacity: 1 !important;
    visibility: visible !important;
}

.menu-toggle:hover .icon-chevron-down {
    stroke: rgba(11, 180, 170, 1) !important;
}

.menu-toggle.open .icon-chevron-down {
    transform: rotate(180deg);
    stroke: #101010 !important;
    opacity: 1 !important;
}

/* Submenús */
.submenu,
.sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    background: transparent;
    border-left: none;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.submenu.open,
.sub-menu.open {
    display: block !important;
    max-height: 1000px;
    padding: 0;
    background: white;
    width: 100%;
    box-shadow: none;
}

.submenu>li,
.sub-menu>li {
    margin: 0;
    list-style: none;
}

.submenu>li>a,
.sub-menu>li>a {
    display: block;
    padding: 7.5px 2px 7.5px;
    color: #101010;
    text-decoration: none;
    font-family: "Onest", sans-serif;
    font-size: 14px;
    font-weight: 400;
    transition: none;
}

.submenu>li>a:hover,
.sub-menu>li>a:hover {
    background-color: transparent;
    color: #101010;
    padding-left: 0;
}

/* Grid de redes sociales */
.sidebar_social_grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 12px;
    margin-top: 50px;
    text-align: center;
}

.sidebar_social_grid a {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    padding: 10px;
    color: #fff;
    text-decoration: none;
    transition: all 0.2s ease;
}

.sidebar_social_grid a:hover {
    background: rgba(11, 180, 170, 0.3);
    color: rgba(11, 180, 170, 0.8);
}

.sidebar_social_grid a img,
.sidebar_social_grid a svg {
    width: 24px;
    height: 24px;
}

/* Estilos cuando navbar está en blanco */
.headroom--not-top .sidebar-close-btn,
.headroom--not-top .menu-toggle {
    color: #101010;
}

.headroom--not-top .menu-link {
    color: #101010;
}

.headroom--not-top .menu-link:hover {
    color: rgba(11, 180, 170, 0.8);
}

.headroom--not-top .sidebar-menu>li {
    border-bottom-color: rgba(0, 0, 0, 0.1);
}

.headroom--not-top .submenu {
    background: rgba(11, 180, 170, 0.05);
    border-left-color: rgba(11, 180, 170, 0.3);
}

.headroom--not-top .submenu>li>a {
    color: rgba(0, 0, 0, 0.6);
}

.headroom--not-top .submenu>li>a:hover {
    color: #101010;
}

.headroom--not-top .sidebar_social_grid a {
    background: rgba(0, 0, 0, 0.1);
    color: #101010;
}

.headroom--not-top .sidebar_social_grid a:hover {
    background: rgba(11, 180, 170, 0.3);
}

.side-nav__wrap .navbar-toggle {
    padding-left: 20px;
    padding-bottom: 35px;
}

/* Estilos para título del menú Principal en sidebar */
.sidebar-menu-title {
    font-size: 18px;
    font-size: 1.125rem;
    color: #101010;
    text-transform: uppercase;
    margin-top: 0;
    font-family: "Onest", sans-serif;
    font-weight: 700;
    letter-spacing: 1px;
}

/* Estilos de sidebar cuando navbar está en blanco (scrolleada) */
.headroom--not-top .side-nav__scrollable-container {
    background-color: #fff;
    color: #333;
}

.headroom--not-top .side-nav .navbar-nav>li>a {
    color: #101010;
    border-bottom: none;
}

.headroom--not-top .side-nav .navbar-nav>li>a:hover {
    background-color: rgba(11, 180, 170, 0.1);
    color: #009043 !important;
}

.headroom--not-top .sidebar-menu-title {
    color: #101010;
}

.headroom--not-top .side-nav__scrollable-container h1,
.headroom--not-top .side-nav__scrollable-container h2,
.headroom--not-top .side-nav__scrollable-container h3,
.headroom--not-top .side-nav__scrollable-container h4,
.headroom--not-top .side-nav__scrollable-container h5,
.headroom--not-top .side-nav__scrollable-container h6 {
    color: #101010;
}

.headroom--not-top .side-nav .widget_block,
.headroom--not-top .side-nav .widget {
    color: #333;
}

.headroom--not-top .side-nav .widget_block .title,
.headroom--not-top .side-nav .widget .title {
    color: #101010;
}

.side-nav__close-button {
    display: none;
}

.side-nav__close-button:before,
.side-nav__close-button:after {
    content: "";
    display: table;
}

.side-nav__close-button:after {
    clear: both;
}

.admin-bar .side-nav__wrap {
    padding-top: 20px;
}

body.side-nav-open {
    overflow: hidden;
}

body.side-nav-open .site {
    z-index: 300;
    transform: none !important;
}

body.side-nav-open .side-nav {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 9999999;
}

body.side-nav-open .navbar-toggle {
    display: none;
}

body.side-nav-open.has-header-image .custom-header-media img {
    position: absolute;
}

body.side-nav-open.has-header-video .custom-header-media video,
body.side-nav-open.has-header-video .custom-header-media iframe {
    position: absolute;
}

.sb-search {
    position: relative;
    margin: 0;
    margin-left: 0.625em;
    z-index: 200;
}

.sb-search #searchform>label {
    align-items: stretch;
    display: flex;
    font-size: inherit;
    margin: 0;
    width: 100%;
}

.sb-search .sb-search-input {
    position: relative;
    width: 20px;
    padding: 2% 2%;
    margin: 0;
    z-index: 10;
    font-family: inherit;
    font-size: 42px;
    font-weight: 200;
    color: #fff;
    display: none;
    border: none;
    border-radius: 0;
    background: #000;
    opacity: 0.9;
    width: 96%;
    transition: all 0.6s ease;
    animation: fade-in-almost 0.3s ease-out;
}

.sb-search::-webkit-input-placeholder {
    color: #828282;
}

.sb-search:-moz-placeholder {
    color: #828282;
}

.sb-search::-moz-placeholder {
    color: #828282;
}

.sb-search:-ms-input-placeholder {
    color: #828282;
}

.sb-search input[type=search].sb-search-input {
    -webkit-appearance: none;
    appearance: none;
}

.sb-search .sb-search-button-open,
.sb-search .sb-search-button-close {
    background-color: transparent;
    border: none;
    padding: 0.625em;
}

.sb-search .sb-search-button-open .sb-icon-search,
.sb-search .sb-search-button-close .sb-icon-search {
    display: flex;
    justify-content: center;
    z-index: 90;
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
}

.sb-search .sb-search-button-open .sb-icon-search:hover,
.sb-search .sb-search-button-close .sb-icon-search:hover {
    opacity: 1 !important;
    transition: none !important;
}

.headroom--not-top .navbar-nav .menu-item-has-children .svg-icon {
    fill: #101010;
}

body.wp-custom-logo .headroom--not-top .custom-logo-link img {
    transition: all 0.2s ease-in-out;
    max-height: 70px;
    width: auto;
}

.site-header.headroom {
    width: 100%;
    z-index: 1000;
    position: fixed;
}

.site-header.headroom--not-top {
    position: fixed;
    border: none;
}

.has-header-image.inspiro-front-page .headroom--not-top .navbar,
.has-header-image.home.blog .headroom--not-top .navbar,
.has-header-video.inspiro-front-page .headroom--not-top .navbar,
.has-header-video.home.blog .headroom--not-top .navbar {
    background: #fff;
    color: #101010;
    padding: 18px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.has-header-image.inspiro-front-page .headroom--not-top .navbar a,
.has-header-image.home.blog .headroom--not-top .navbar a,
.has-header-video.inspiro-front-page .headroom--not-top .navbar a,
.has-header-video.home.blog .headroom--not-top .navbar a {
    color: #101010;
}

/* Site branding */
.site-branding {
    padding: 1em 0;
    position: relative;
    z-index: 3;
    text-align: center;
}

.site-branding a {
    text-decoration: none;
    transition: opacity 0.2s;
}

.site-branding a:hover,
.site-branding a:focus {
    opacity: 0.7;
}

.site-title {
    clear: none;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.25;
    margin: 0;
    padding: 0;
    padding-bottom: 10px;
    position: relative;
}

.site-title,
.site-title a {
    color: #222;
    opacity: 1;
    /* Prevent opacity from changing during selective refreshes in the customize preview */
}

.site-branding-text .edit-link a {
    color: #fff;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.site-branding-text .edit-link a:hover {
    opacity: 0.7;
}

body.has-header-image .site-title,
body.has-header-image .site-title a,
body.has-header-video .site-title,
body.has-header-video .site-title a {
    color: #fff;
}

.site-description {
    color: #666;
    font-size: 20px;
    font-size: 1.25rem;
    margin: 0 auto;
    max-width: var(--container-width-narrow);
}

body.has-header-image .site-description,
body.has-header-video .site-description {
    color: #fff;
    opacity: 0.8;
}

.custom-header-button {
    margin-top: 3.125em;
    font-size: 16px;
    font-size: 1rem;
    color: #fff;
    border-color: inherit;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
    font-weight: normal;
}

.custom-header-button:hover {
    opacity: 1;
    color: #fff;
    background-color: var(--inspiro-primary-color);
    border-color: var(--inspiro-primary-color);
}

body.has-header-image .custom-header-button,
body.has-header-video .custom-header-button {
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out;
}

body.has-header-image .custom-header-button:hover,
body.has-header-video .custom-header-button:hover {
    opacity: 1;
}

.custom-logo-link {
    display: inline-block;
    padding: 0;
    max-width: 350px;
    transition: max-width 0.2s ease-in-out;
}

.custom-logo-link h1 {
    margin: 0;
    font-weight: bold;
    letter-spacing: 1px;
    font-family: "Onest", sans-serif;
}

.custom-logo-link img {
    display: inline-block;
    max-height: 80px;
    width: auto;
}

.custom-logo-link a:hover,
.custom-logo-link a:focus {
    text-decoration: none;
    opacity: 0.9;
    color: #fff;
}

.custom-logo-text {
    display: inline-block;
    padding: 0;
    vertical-align: middle;
    max-width: 350px;
}

body.wp-custom-logo .custom-logo-link a {
    font-size: 0;
}

body:not(.wp-custom-logo) a.custom-logo-text {
    margin: 0;
    font-weight: bold;
    font-family: "Onest", sans-serif;
    font-size: 26px;
    font-size: 1.625rem;
    text-transform: uppercase;
}

body.home.title-tagline-hidden.has-header-image .custom-logo-link img,
body.home.title-tagline-hidden.has-header-video .custom-logo-link img {
    max-height: 200px;
    max-width: 100%;
}

body:not(.title-tagline-hidden) .site-branding-text {
    display: inline-block;
    max-width: 100%;
    vertical-align: middle;
}

.custom-header {
    position: relative;
    background-color: #000;
}

.has-header-image.inspiro-front-page .site-branding,
.has-header-image.home.blog .site-branding,
.has-header-video.inspiro-front-page .site-branding,
.has-header-video.home.blog .site-branding {
    position: absolute;
    left: 50%;
    top: 45%;
    width: 100%;
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: top 0.3s linear, opacity 0.3s ease-in;
}

.has-header-image.inspiro-front-page.inspiro-page-ready .site-branding,
.has-header-image.home.blog.inspiro-page-ready .site-branding,
.has-header-video.inspiro-front-page.inspiro-page-ready .site-branding,
.has-header-video.home.blog.inspiro-page-ready .site-branding {
    opacity: 1;
    top: 50%;
}

.has-header-image.inspiro-front-page .custom-header,
.has-header-image.home.blog .custom-header,
.has-header-video.inspiro-front-page .custom-header,
.has-header-video.home.blog .custom-header {
    display: table;
    height: 100vh;
    max-height: 100vh;
    max-height: -webkit-fill-available;
    width: 100%;
    overflow: hidden;
}

.custom-header-media {
    bottom: 0;
    left: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    min-height: 100vh;
    /* fall-back */
    min-height: -webkit-fill-available;
    min-height: fill-available;
}

.custom-header-media:after {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 75%, rgba(0, 0, 0, 0.3) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    bottom: 0;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    z-index: 2;
}

.custom-header-media.hide_overlay:after {
    display: none;
}

.has-header-image .custom-header-media:before,
.has-header-video .custom-header-media:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.5) 100%);
    background-repeat: repeat-x;
    opacity: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
}

.has-header-image .custom-header-media.hide_overlay:before,
.has-header-video .custom-header-media.hide_overlay:before {
    display: none;
}

.has-header-image .custom-header-media img {
    height: auto;
    left: 50%;
    height: 100%;
    max-width: 1000%;
    min-height: 100%;
    min-width: 100%;
    min-width: 100vw;
    /* vw prevents 1px gap on left that 100% has */
    width: auto;
    top: 50%;
    padding-bottom: 1px;
    /* Prevent header from extending beyond the footer */
    transform: translateX(-50%) translateY(-50%);
}

.has-header-video .custom-header-media video,
.has-header-video .custom-header-media iframe {
    left: 50%;
    max-width: none;
    height: 100%;
    min-height: 100%;
    min-width: 100%;
    min-width: 100vw;
    /* vw prevents 1px gap on left that 100% has */
    top: 50%;
    padding-bottom: 1px;
    /* Prevent header from extending beyond the footer */
    transform: translateX(-50%) translateY(-50%);
    margin-bottom: 0;
}

.has-header-video .custom-header-media video {
    height: 100%;
}

.has-header-video .custom-header-media iframe {
    width: 100vw;
    height: 56.25vw;
    min-height: 100vh;
    min-width: 177.77vh;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.wp-custom-header {
    height: 100%;
}

.wp-custom-header .wp-custom-header-video-button {
    /* Specificity prevents .color-dark button overrides */
    background-color: rgba(34, 34, 34, 0.5);
    color: rgba(255, 255, 255, 0.6);
    width: 45px;
    height: 45px;
    overflow: hidden;
    padding: 0;
    border: none;
    position: absolute;
    right: 1.875em;
    bottom: 3.75em;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.3s ease-in-out;
    z-index: 3;
}

.wp-custom-header .wp-custom-header-video-button:hover,
.wp-custom-header .wp-custom-header-video-button:focus {
    border: none;
    background-color: rgba(34, 34, 34, 0.8);
    color: #fff;
}

.wp-custom-header .wp-custom-header-video-button .svg-icon {
    margin-top: 6px;
    max-height: 1.375em;
    fill: #fff;
}

.has-header-image:not(.inspiro-front-page):not(.home) .custom-header-media img {
    bottom: 0;
    position: absolute;
    top: auto;
    transform: translateX(-50%) translateY(0);
}

/* For browsers that support 'object-fit' */
@supports (object-fit: cover) {

    .has-header-image .custom-header-media img,
    .has-header-video .custom-header-media video,
    .has-header-image:not(.inspiro-front-page):not(.home) .custom-header-media img {
        height: 100%;
        left: 0;
        object-fit: cover;
        top: 0;
        transform: none;
        width: 100%;
    }
}

/* Scroll to content */
/* Effect used for #scroll-to-content */
@keyframes pulsate {
    0% {
        opacity: 0.5;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0.3;
    }
}

#scroll-to-content {
    display: block;
    position: absolute;
    left: 50%;
    bottom: 20px;
    z-index: 5;
    cursor: pointer;
    height: 1.5em;
    width: 3.5em;
    font-size: 16px;
    font-size: 1rem;
    overflow: hidden;
    opacity: 0.5;
    transform: translateX(-50%);
    animation: pulsate 1.5s ease-out infinite;
}

#scroll-to-content:before {
    content: "";
    display: block;
    position: absolute;
    left: 15px;
    bottom: 10px;
    height: 30px;
    width: 30px;
    border: 2px solid #fff;
    transform: rotate(45deg);
}

#scroll-to-content:hover {
    opacity: 1;
}

/* Hides div in Customizer preview when header images or videos change. */
body:not(.has-header-image):not(.has-header-video) .custom-header-media,
body:not(.has-header-image):not(.has-header-video) #scroll-to-content {
    display: none;
}

/*--------------------------------------------------------------
13.1 Header
--------------------------------------------------------------*/
.site-header {
    width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    max-width: 100% !important;
}

/* Compatibility with WP admin bar */
.admin-bar:not(.side-nav-open) .headroom {
    top: 32px;
}

.headroom--not-top {
    box-shadow: 0px 0px 18px 1px rgba(0, 0, 0, 0.1);
}

.headroom--not-top .navbar {
    background-color: #ffffff !important;
    color: #101010;
    padding: 18px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    box-sizing: border-box !important;
}

.headroom--not-top .navbar .header-inner {
    box-sizing: border-box !important;
    width: 100% !important;
    overflow: hidden !important;
}

.headroom--not-top .navbar a {
    color: #101010;
}

.headroom--not-top .navbar-toggle .icon-bar {
    background: #101010;
}

.headroom--not-top .navbar-nav .menu-item-has-children .svg-icon {
    fill: #101010;
}

body.wp-custom-logo .headroom--not-top .custom-logo-link img {
    transition: all 0.2s ease-in-out;
    max-height: 70px;
    width: auto;
}

.site-header.headroom {
    width: 100%;
    z-index: 1000;
    position: fixed;
}

.site-header.headroom--not-top {
    position: fixed;
    border: none;
}

.has-header-image.inspiro-front-page .headroom--not-top .navbar,
.has-header-image.home.blog .headroom--not-top .navbar,
.has-header-video.inspiro-front-page .headroom--not-top .navbar,
.has-header-video.home.blog .headroom--not-top .navbar {
    background: #fff;
    color: #101010;
    padding: 18px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.has-header-image.inspiro-front-page .headroom--not-top .navbar a,
.has-header-image.home.blog .headroom--not-top .navbar a,
.has-header-video.inspiro-front-page .headroom--not-top .navbar a,
.has-header-video.home.blog .headroom--not-top .navbar a {
    color: #101010;
}

/* Site branding */
.site-branding {
    padding: 1em 0;
    position: relative;
    z-index: 3;
    text-align: center;
}

.site-branding a {
    text-decoration: none;
    transition: opacity 0.2s;
}

.site-branding a:hover,
.site-branding a:focus {
    opacity: 0.7;
}

.site-title {
    clear: none;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.25;
    margin: 0;
    padding: 0;
    padding-bottom: 10px;
    position: relative;
}

.site-title,
.site-title a {
    color: #222;
    opacity: 1;
    /* Prevent opacity from changing during selective refreshes in the customize preview */
}

.site-branding-text .edit-link a {
    color: #fff;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.site-branding-text .edit-link a:hover {
    opacity: 0.7;
}

body.has-header-image .site-title,
body.has-header-image .site-title a,
body.has-header-video .site-title,
body.has-header-video .site-title a {
    color: #fff;
}

.site-description {
    color: #666;
    font-size: 20px;
    font-size: 1.25rem;
    margin: 0 auto;
    max-width: var(--container-width-narrow);
}

body.has-header-image .site-description,
body.has-header-video .site-description {
    color: #fff;
    opacity: 0.8;
}

.custom-header-button {
    margin-top: 3.125em;
    font-size: 16px;
    font-size: 1rem;
    color: #fff;
    border-color: inherit;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
    font-weight: normal;
}

.custom-header-button:hover {
    opacity: 1;
    color: #fff;
    background-color: var(--inspiro-primary-color);
    border-color: var(--inspiro-primary-color);
}

body.has-header-image .custom-header-button,
body.has-header-video .custom-header-button {
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.2s ease-in-out;
}

body.has-header-image .custom-header-button:hover,
body.has-header-video .custom-header-button:hover {
    opacity: 1;
}

.custom-logo-link {
    display: inline-block;
    padding: 0;
    max-width: 350px;
    transition: max-width 0.2s ease-in-out;
}

.custom-logo-link h1 {
    margin: 0;
    font-weight: bold;
    letter-spacing: 1px;
    font-family: "Onest", sans-serif;
}

.custom-logo-link img {
    display: inline-block;
    max-height: 80px;
    width: auto;
}

.custom-logo-link a:hover,
.custom-logo-link a:focus {
    text-decoration: none;
    opacity: 0.9;
    color: #fff;
}

.custom-logo-text {
    display: inline-block;
    padding: 0;
    vertical-align: middle;
    max-width: 350px;
}

body.wp-custom-logo .custom-logo-link a {
    font-size: 0;
}

body:not(.wp-custom-logo) a.custom-logo-text {
    margin: 0;
    font-weight: bold;
    font-family: "Onest", sans-serif;
    font-size: 26px;
    font-size: 1.625rem;
    text-transform: uppercase;
}

body.home.title-tagline-hidden.has-header-image .custom-logo-link img,
body.home.title-tagline-hidden.has-header-video .custom-logo-link img {
    max-height: 200px;
    max-width: 100%;
}

body:not(.title-tagline-hidden) .site-branding-text {
    display: inline-block;
    max-width: 100%;
    vertical-align: middle;
}

.custom-header {
    position: relative;
    background-color: #000;
}

.has-header-image.inspiro-front-page .site-branding,
.has-header-image.home.blog .site-branding,
.has-header-video.inspiro-front-page .site-branding,
.has-header-video.home.blog .site-branding {
    position: absolute;
    left: 50%;
    top: 45%;
    width: 100%;
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: top 0.3s linear, opacity 0.3s ease-in;
}

.has-header-image.inspiro-front-page.inspiro-page-ready .site-branding,
.has-header-image.home.blog.inspiro-page-ready .site-branding,
.has-header-video.inspiro-front-page.inspiro-page-ready .site-branding,
.has-header-video.home.blog.inspiro-page-ready .site-branding {
    opacity: 1;
    top: 50%;
}

.has-header-image.inspiro-front-page .custom-header,
.has-header-image.home.blog .custom-header,
.has-header-video.inspiro-front-page .custom-header,
.has-header-video.home.blog .custom-header {
    display: table;
    height: 100vh;
    max-height: 100vh;
    max-height: -webkit-fill-available;
    width: 100%;
    overflow: hidden;
}

.custom-header-media {
    bottom: 0;
    left: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    min-height: 100vh;
    /* fall-back */
    min-height: -webkit-fill-available;
    min-height: fill-available;
}

.custom-header-media:after {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 75%, rgba(0, 0, 0, 0.3) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    bottom: 0;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    z-index: 2;
}

.custom-header-media.hide_overlay:after {
    display: none;
}

.has-header-image .custom-header-media:before,
.has-header-video .custom-header-media:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.5) 100%);
    background-repeat: repeat-x;
    opacity: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
}

.has-header-image .custom-header-media.hide_overlay:before,
.has-header-video .custom-header-media.hide_overlay:before {
    display: none;
}

.has-header-image .custom-header-media img {
    height: auto;
    left: 50%;
    height: 100%;
    max-width: 1000%;
    min-height: 100%;
    min-width: 100%;
    min-width: 100vw;
    /* vw prevents 1px gap on left that 100% has */
    width: auto;
    top: 50%;
    padding-bottom: 1px;
    /* Prevent header from extending beyond the footer */
    transform: translateX(-50%) translateY(-50%);
}

.has-header-video .custom-header-media video,
.has-header-video .custom-header-media iframe {
    left: 50%;
    max-width: none;
    height: 100%;
    min-height: 100%;
    min-width: 100%;
    min-width: 100vw;
    /* vw prevents 1px gap on left that 100% has */
    top: 50%;
    padding-bottom: 1px;
    /* Prevent header from extending beyond the footer */
    transform: translateX(-50%) translateY(-50%);
    margin-bottom: 0;
}

.has-header-video .custom-header-media video {
    height: 100%;
}

.has-header-video .custom-header-media iframe {
    width: 100vw;
    height: 56.25vw;
    min-height: 100vh;
    min-width: 177.77vh;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.wp-custom-header {
    height: 100%;
}

.wp-custom-header .wp-custom-header-video-button {
    /* Specificity prevents .color-dark button overrides */
    background-color: rgba(34, 34, 34, 0.5);
    color: rgba(255, 255, 255, 0.6);
    width: 45px;
    height: 45px;
    overflow: hidden;
    padding: 0;
    border: none;
    position: absolute;
    right: 1.875em;
    bottom: 3.75em;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.3s ease-in-out;
    z-index: 3;
}

.wp-custom-header .wp-custom-header-video-button:hover,
.wp-custom-header .wp-custom-header-video-button:focus {
    border: none;
    background-color: rgba(34, 34, 34, 0.8);
    color: #fff;
}

.wp-custom-header .wp-custom-header-video-button .svg-icon {
    margin-top: 6px;
    max-height: 1.375em;
    fill: #fff;
}

.has-header-image:not(.inspiro-front-page):not(.home) .custom-header-media img {
    bottom: 0;
    position: absolute;
    top: auto;
    transform: translateX(-50%) translateY(0);
}

/* For browsers that support 'object-fit' */
@supports (object-fit: cover) {

    .has-header-image .custom-header-media img,
    .has-header-video .custom-header-media video,
    .has-header-image:not(.inspiro-front-page):not(.home) .custom-header-media img {
        height: 100%;
        left: 0;
        object-fit: cover;
        top: 0;
        transform: none;
        width: 100%;
    }
}

/* Scroll to content */
/* Effect used for #scroll-to-content */
@keyframes pulsate {
    0% {
        opacity: 0.5;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0.3;
    }
}

#scroll-to-content {
    display: block;
    position: absolute;
    left: 50%;
    bottom: 20px;
    z-index: 5;
    cursor: pointer;
    height: 1.5em;
    width: 3.5em;
    font-size: 16px;
    font-size: 1rem;
    overflow: hidden;
    opacity: 0.5;
    transform: translateX(-50%);
    animation: pulsate 1.5s ease-out infinite;
}

#scroll-to-content:before {
    content: "";
    display: block;
    position: absolute;
    left: 15px;
    bottom: 10px;
    height: 30px;
    width: 30px;
    border: 2px solid #fff;
    transform: rotate(45deg);
}

#scroll-to-content:hover {
    opacity: 1;
}

/* Hides div in Customizer preview when header images or videos change. */
body:not(.has-header-image):not(.has-header-video) .custom-header-media,
body:not(.has-header-image):not(.has-header-video) #scroll-to-content {
    display: none;
}

/*--------------------------------------------------------------
13.1.1 Demo Layouts
--------------------------------------------------------------*/
/**
 * Demo-specific layout styles
 * Each demo can have its own custom styles by using the layout-{demo-name} class on the body
 */
/* Remix Demo Layout */
.layout-remix.has-header-image .site-header.headroom--top .navbar-brand,
.layout-remix.has-header-image .site-header.headroom--top .navbar-brand a,
.layout-remix.has-header-image .site-header.headroom--top a.custom-logo-text,
.layout-remix.has-header-video .site-header.headroom--top .navbar-brand,
.layout-remix.has-header-video .site-header.headroom--top .navbar-brand a,
.layout-remix.has-header-video .site-header.headroom--top a.custom-logo-text,
.layout-remix.page-template-template-page-builder .site-header.headroom--top .navbar-brand,
.layout-remix.page-template-template-page-builder .site-header.headroom--top .navbar-brand a,
.layout-remix.page-template-template-page-builder .site-header.headroom--top a.custom-logo-text {
    color: #ffffff !important;
}

.layout-remix.has-header-image .site-header.headroom--top .navbar-nav>li>a,
.layout-remix.has-header-image .site-header.headroom--top .nav-link,
.layout-remix.has-header-video .site-header.headroom--top .navbar-nav>li>a,
.layout-remix.has-header-video .site-header.headroom--top .nav-link,
.layout-remix.page-template-template-page-builder .site-header.headroom--top .navbar-nav>li>a,
.layout-remix.page-template-template-page-builder .site-header.headroom--top .nav-link {
    color: #ffffff !important;
}

.layout-remix.has-header-image .site-header.headroom--top .navbar-nav .menu-item-has-children .svg-icon,
.layout-remix.has-header-video .site-header.headroom--top .navbar-nav .menu-item-has-children .svg-icon,
.layout-remix.page-template-template-page-builder .site-header.headroom--top .navbar-nav .menu-item-has-children .svg-icon {
    fill: #ffffff !important;
}

.layout-remix.has-header-image .site-header.headroom--top .btn-open-menu,
.layout-remix.has-header-video .site-header.headroom--top .btn-open-menu,
.layout-remix.page-template-template-page-builder .site-header.headroom--top .btn-open-menu {
    color: #ffffff !important;
}

.layout-remix.has-header-image .site-header.headroom--top .navbar-toggle .icon-bar,
.layout-remix.has-header-video .site-header.headroom--top .navbar-toggle .icon-bar,
.layout-remix.page-template-template-page-builder .site-header.headroom--top .navbar-toggle .icon-bar {
    background-color: #ffffff !important;
}

.layout-remix.has-header-image .site-header.headroom--top .search-form__toggle,
.layout-remix.has-header-video .site-header.headroom--top .search-form__toggle,
.layout-remix.page-template-template-page-builder .site-header.headroom--top .search-form__toggle {
    color: #ffffff !important;
}

.layout-remix.has-header-image .site-header.headroom--top .sb-search-button-open .sb-icon-search .svg-icon,
.layout-remix.has-header-video .site-header.headroom--top .sb-search-button-open .sb-icon-search .svg-icon,
.layout-remix.page-template-template-page-builder .site-header.headroom--top .sb-search-button-open .sb-icon-search .svg-icon {
    fill: #ffffff;
    transition: fill 0.2s;
}

/*--------------------------------------------------------------
13.2 Front Page
--------------------------------------------------------------*/
/* Front Page - Recent Posts */
/*--------------------------------------------------------------
13.3 Regular Content
--------------------------------------------------------------*/
.site-content-contain {
    position: relative;
}

.page-template-homepage-builder-bb .site-content,
.page-template-full-width-no-title .site-content,
.page-template-full-width-transparent .site-content {
    padding-top: 0 !important;
}

/*--------------------------------------------------------------
13.4 Posts
--------------------------------------------------------------*/
/* Post Landing Page */
.sticky {
    position: relative;
    padding: 2em 1.25em;
    border: 2px rgba(68, 68, 68, 0.19) dashed;
    margin-bottom: 3.75em;
}

.post:not(.sticky) .svg-icon-thumb-tack {
    display: none;
}

.sticky .svg-icon-thumb-tack {
    position: absolute;
    display: block;
    width: 32px;
    height: 32px;
    left: 50%;
    top: -16px;
    padding: 5px;
    transform: translateX(-50%);
    fill: var(--inspiro-primary-color);
    background-color: #fff;
}

.blog .page-title,
.archive .page-title,
.home.blog .page-title {
    text-align: center;
    font-size: 26px;
    margin-bottom: 50px;
}

.entry-header .entry-title {
    margin-bottom: 20px;
    margin-top: 0;
}

.entry-title {
    color: #222;
    font-size: 42px;
    font-size: 2.625rem;
    font-weight: 600;
}

.entry-title:not(:first-child) {
    padding-top: 0;
}

.entry-title a {
    color: #000;
    text-decoration: none;
    margin-left: -2px;
}

.entry-title a:hover {
    color: var(--inspiro-primary-color);
    text-decoration: none;
}

.entry-summary>p:not(.link-more) {
    text-align: left;
}

.entry-meta {
    color: #999;
    font-size: 16px;
    font-size: 1rem;
    margin: 0 0 20px;
}

.entry-meta span {
    display: inline;
}

.entry-meta span+span:before {
    content: " /  ";
    color: #b6babb;
    margin: 0 5px;
    font-style: normal;
    opacity: 0.5;
}

.entry-meta a {
    color: #222;
}

.post-display-content-none .entry-meta {
    margin-bottom: 0;
}

.entry-content {
    line-height: 1.9;
}

.entry-content p {
    margin-bottom: 20px;
    word-wrap: break-word;
}

.entry-content>p:last-child {
    margin-bottom: 50px;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    margin-bottom: 20px;
    line-height: 1.3;
    font-weight: 600;
}

.entry-content .wp-block-image img,
.entry-content img.alignnone,
.entry-content img.aligncenter,
.entry-content img.alignleft,
.entry-content img.alignright,
.entry-content img.attachment-fullsize {
    max-width: 100%;
    height: auto;
}

.entry-content ul,
.entry-content ol {
    margin-bottom: 25px;
}

.entry-content li ul:not(.wp-block-gallery),
.entry-content li ol {
    margin-bottom: 0;
    margin-left: 30px;
}

.entry-content .wp-block-gallery {
    margin-left: 0;
}

.entry-content li {
    list-style-position: inside;
}

.entry-content ul li {
    list-style-type: square;
}

.entry-content ol li {
    list-style-type: decimal;
}

.entry-content .shortcode-unorderedlist ul li,
.entry-content .shortcode-unorderedlist ul li ul {
    list-style-type: none;
}

.entry-content blockquote {
    font-size: 20px;
    margin-top: 15px;
    margin-bottom: 40px;
    text-align: center;
    position: relative;
    max-width: 100%;
    font-style: italic;
}

.entry-content blockquote:before,
.entry-content blockquote:after {
    content: "";
    display: block;
    width: 60px;
    height: 2px;
    margin: 50px auto;
    background: rgba(0, 0, 0, 0.1);
}

.byline,
.updated:not(.published) {
    display: none;
}

.single .byline,
.group-blog .byline {
    display: inline;
}

.post-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    padding-bottom: 3.75em;
}

.post-grid .entry-title {
    font-size: 26px;
    font-size: 1.625rem;
}

@media (max-width: 710px) {
    .post-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}

.pagination,
.comments-pagination {
    padding: 3.125em 0;
    text-align: center;
}

.pagination:empty,
.comments-pagination:empty {
    display: none;
}

.pagination .page-numbers,
.comments-pagination .page-numbers {
    font-size: 20px;
    font-size: 1.25rem;
    font-family: "Onest", sans-serif;
    line-height: 40px;
    padding: 0.625em 0.9375em;
    color: #444;
    transition: 0.2s ease all;
}

.pagination .page-numbers:not(.dots):hover,
.pagination .page-numbers.current,
.comments-pagination .page-numbers:not(.dots):hover,
.comments-pagination .page-numbers.current {
    text-decoration: none;
    color: var(--inspiro-primary-color);
}

/* Aligned blockquotes */
.entry-content blockquote.alignleft,
.entry-content blockquote.alignright {
    color: #666;
    font-size: 14px;
    font-size: 0.875rem;
    width: 48%;
}

/* Blog landing, search, archives */
.blog .page-title,
.search .page-title,
.archive .page-title {
    margin-top: 2em;
}

.blog .page-title span,
.search .page-title span,
.archive .page-title span {
    text-transform: none;
}

.blog .site-main>article:not(.sticky),
.archive .site-main>article:not(.sticky),
.search .site-main>article:not(.sticky) {
    padding-bottom: 3.75em;
}

.blog .site-main>article:not(.sticky):after,
.archive .site-main>article:not(.sticky):after,
.search .site-main>article:not(.sticky):after {
    content: "";
    display: block;
    width: 130px;
    height: 1px;
    background: rgba(68, 68, 68, 0.19);
    margin: 50px auto 0;
}

body:not(.inspiro-front-page) .entry-header,
body:not(.inspiro-front-page) .entry-content,
body:not(.inspiro-front-page) #comments {
    margin-left: auto;
    margin-right: auto;
}

body:not(.inspiro-front-page) .entry-header {
    padding-top: 0;
}

body.inspiro-hide-page-title .entry-header {
    display: none;
}

body:not(.page-layout-sidebar-right) #primary {
    max-width: calc(var(--container-width) + 20px);
    margin: 0 auto;
}

body:not(.page-layout-sidebar-right) #primary .entry-header .inner-wrap,
body:not(.page-layout-sidebar-right) #primary .entry-content {
    padding-left: 0;
    padding-right: 0;
}

body:not(.page-layout-sidebar-right).blog #primary,
body:not(.page-layout-sidebar-right).archive #primary,
body:not(.page-layout-sidebar-right).search #primary {
    max-width: calc(var(--container-width-narrow) + 20px);
}

body:not(.page-layout-sidebar-right).blog .site-main article,
body:not(.page-layout-sidebar-right).archive .site-main article,
body:not(.page-layout-sidebar-right).search .site-main article {
    text-align: center;
}

body:not(.page-layout-sidebar-right).blog .site-main article .entry-title,
body:not(.page-layout-sidebar-right).archive .site-main article .entry-title,
body:not(.page-layout-sidebar-right).search .site-main article .entry-title {
    text-align: center;
}

.blog .entry-meta a,
.archive .entry-meta a,
.search .entry-meta a {
    border-bottom: 1px solid rgba(68, 68, 68, 0.19);
    padding-bottom: 2px;
}

.blog .entry-meta a:hover,
.archive .entry-meta a:hover,
.search .entry-meta a:hover {
    color: var(--inspiro-primary-color);
}

.taxonomy-description {
    color: #666;
    font-size: 14px;
    font-size: 0.875rem;
    text-align: center;
}

.taxonomy-description p {
    margin: 0;
}

body.has-archive-description:not(.has-header-image) .taxonomy-description:after {
    content: "";
    display: block;
    width: 130px;
    height: 1px;
    background: rgba(68, 68, 68, 0.19);
    margin: 40px auto 48px;
}

/*
 * Alignment Styles - Originally from TT2.
 * These rules are temporary, and should not
 * be relied on or modified too heavily by
 * themes or plugins that build on foodie-blocks.
 * These are meant to be a precursor to a
 * global solution provided by the Block Editor.
 *
 * Relevant issues:
 * https://github.com/WordPress/gutenberg/issues/35607
 * https://github.com/WordPress/gutenberg/issues/35884
---------------------------------------------*/
body {
    --wp--custom--spacing--outer: 30px;
}

body>.is-root-container,
.edit-post-visual-editor__post-title-wrapper,
.wp-block-cover.alignfull,
.wp-block-group.alignfull,
.wp-block-group.has-background,
.wp-site-blocks {
    padding-left: var(--wp--custom--spacing--outer);
    padding-right: var(--wp--custom--spacing--outer);
}

.block-editor-block-list__layout.is-root-container>.alignfull,
.is-root-container>.wp-block-cover,
.is-root-container>.wp-block-group.has-background,
.is-root-container>.wp-block-template-part>.wp-block-cover,
.is-root-container>.wp-block-template-part>.wp-block-group.has-background,
.wp-site-blocks .alignfull,
.wp-site-blocks>.wp-block-cover,
.wp-site-blocks>.wp-block-group.has-background,
.wp-site-blocks>.wp-block-template-part>.wp-block-cover,
.wp-site-blocks>.wp-block-template-part>.wp-block-group.has-background {
    margin-left: calc(-1 * var(--wp--custom--spacing--outer)) !important;
    margin-right: calc(-1 * var(--wp--custom--spacing--outer)) !important;
    width: unset;
}

/* More tag */
.entry-content .more-link,
.entry-content .more_link {
    font-weight: bold;
    display: table;
    text-align: center;
    margin: 10px auto 0;
}

.entry-summary .link-more {
    margin-bottom: 0;
}

/* Single Post */
.single.has-sidebar.page-layout-sidebar-right .entry-header .inner-wrap,
.single .entry-wrapper {
    max-width: var(--container-width);
    margin: 3.75em auto;
}

@media (max-width: var(--container-width-breakpoint)) {

    .single.has-sidebar.page-layout-sidebar-right .entry-header .inner-wrap,
    .single .entry-wrapper {
        padding-left: var(--container-padding);
        padding-right: var(--container-padding);
    }
}

.single.has-sidebar.page-layout-sidebar-right .entry-header .inner-wrap {
    margin-top: 2.8125em;
    margin-bottom: 0;
}

.page .entry-content,
.page:not(.inspiro-front-page) .entry-footer {
    margin-top: 2.8125em;
    margin-bottom: 2.8125em;
    max-width: 100% !important;
}

@media (max-width: var(--container-width-breakpoint)) {

    .page .entry-content,
    .page:not(.inspiro-front-page) .entry-footer {
        padding-left: var(--container-padding);
        padding-right: var(--container-padding);
    }
}

.page.inspiro-front-page .entry-content {
    margin-top: 0;
    margin-bottom: 0;
}

.single .entry-header .inner-wrap,
.single .entry-content,
.single .entry-footer {
    margin: 2.8125em auto;
    max-width: var(--container-width-narrow);
}

@media (max-width: calc(var(--container-width-narrow) + 60px)) {

    .single .entry-header .inner-wrap,
    .single .entry-content,
    .single .entry-footer {
        padding-left: var(--container-padding);
        padding-right: var(--container-padding);
    }
}

.page .entry-content,
.single .entry-content {
    margin-bottom: 0;
}

.page-template-no-title .entry-content {
    margin: 0 auto;
}

.page .full-width .entry-content,
.single .full-width .entry-content {
    max-width: 100%;
    margin: 0;
    padding: 0;
}

.page .entry-cover-image,
.single .entry-cover-image {
    position: relative;
    height: 450px;
    overflow: hidden;
}

.page .entry-cover-image.cover_fullscreen,
.single .entry-cover-image.cover_fullscreen {
    height: 100vh;
    max-height: 100vh;
    max-height: -webkit-fill-available;
}

.page .entry-cover-image:after,
.single .entry-cover-image:after {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.5) 100%);
    background-repeat: repeat-x;
}

.page .entry-cover-image .entry-header,
.single .entry-cover-image .entry-header {
    position: absolute;
    bottom: 5%;
    width: 100%;
    z-index: 5;
}

.page .entry-cover-image .entry-header .inner-wrap,
.single .entry-cover-image .entry-header .inner-wrap {
    margin-bottom: 0;
}

.page .entry-cover-image .entry-header .entry-title,
.single .entry-cover-image .entry-header .entry-title {
    color: #fff;
    font-size: 45px;
    font-size: 2.8125rem;
    text-transform: none;
    font-weight: 600;
    text-align: left;
    margin-top: 10px;
    margin-bottom: 10px;
    padding: 0;
}

.page .entry-cover-image .entry-header .entry-meta,
.single .entry-cover-image .entry-header .entry-meta {
    color: #fff;
    opacity: 0.8;
    font-size: 16px;
    font-size: 1rem;
}

.page .entry-cover-image .entry-header .entry-meta a,
.single .entry-cover-image .entry-header .entry-meta a {
    color: inherit;
    font-weight: 600;
}

.page .entry-cover-image .entry-header .entry-meta a:hover,
.single .entry-cover-image .entry-header .entry-meta a:hover {
    color: var(--inspiro-primary-color);
}

.page .entry-cover-image .single-featured-image-header,
.single .entry-cover-image .single-featured-image-header {
    position: relative;
    height: 100%;
}

.page .entry-cover-image .single-featured-image-header img,
.single .entry-cover-image .single-featured-image-header img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.single.page-layout-full-width article:not(.has-post-thumbnail) .inner-wrap {
    max-width: var(--container-width-narrow);
}

.single .entry-meta {
    margin-bottom: 0;
}

/* Gutenberg */
.entry-content>.alignfull {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    width: 100vw;
    max-width: 100vw;
}

.entry-content .alignfull .wp-block-cover__inner-container,
.entry-content .alignfull .wp-block-group__inner-container {
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: 2em;
    padding-right: 2em;
}

.entry-content>.wp-block-group,
.entry-content>.wp-block-cover,
.entry-content>.wp-block-columns {
    padding-top: 30px;
    padding-bottom: 30px;
    padding-right: 30px;
    padding-left: 30px;
}

.entry-content>.wp-block-group.alignfull.is-layout-flow,
.entry-content>.wp-block-cover.alignfull.is-layout-flow,
.entry-content>.wp-block-columns.alignfull.is-layout-flow {
    padding-right: 0;
    padding-left: 0;
}

.single-featured-image-header img {
    display: block;
    margin: auto;
}

.wp-block-button a {
    transition: background-color 0.3s ease;
    text-decoration: none;
    font-family: "Onest", sans-serif;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.wp-block-button a:hover {
    color: #fff;
    background-color: #333;
    border-color: #333;
}

.wp-element-button,
.wp-block-button__link {
    padding: calc(0.667em + 2px) calc(1.333em + 2px);
}

.wp-block-button .wp-block-button__link.is-style-outline,
.wp-block-button.is-style-outline>.wp-block-button__link {
    padding: 0.667em 1.333em;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link:focus,
.wp-block-buttons .wp-block-button.is-style-outline>.wp-block-button__link:not(.has-text-color):hover,
.wp-block-buttons .wp-block-button.wp-block-button__link.is-style-outline:not(.has-text-color):hover {
    color: #ffffff;
    background-color: #101010;
    border-color: #101010;
}

.builder-wrap>.wp-block-gallery,
.builder-wrap>p,
.builder-wrap>p.has-text-align-center {
    margin: 2.8125em auto;
    max-width: var(--container-width-narrow);
    padding-left: 2em;
    padding-right: 2em;
}

.wp-block-group>.wp-block-group__inner-container {
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: var(--container-width-breakpoint)) {
    .wp-block-group>.wp-block-group__inner-container {
        padding-left: var(--container-padding);
        padding-right: var(--container-padding);
    }
}

.wp-block-post {
    list-style-type: none !important;
}

.wp-block-post .wp-block-post-title {
    font-size: 1.3em;
}

.wp-block-post .wp-block-post-title a {
    text-decoration: none !important;
    color: #000;
}

.wp-block-post .wp-block-post-title a:hover {
    color: var(--inspiro-primary-color);
}

.wp-block-post .more-link {
    font-weight: 700;
    display: table;
    text-align: left;
    margin: 10px 0;
    text-decoration: none;
}

@media screen and (max-width: 500px) {

    .page .entry-cover-image,
    .single .entry-cover-image,
    .single-featured-image-header {
        height: 400px;
    }
}

.wp-block-latest-posts li,
.wc-block-grid__product.wc-block-grid__product {
    list-style-type: none !important;
}

.wp-block-post-template {
    margin-left: 0;
}

/* Entry footer */
.entry-footer {
    text-align: center;
    font-family: "Onest", sans-serif;
    color: #666;
}

.entry-footer .tags-links {
    font-size: 14px;
    font-size: 0.875rem;
}

.entry-footer .tags-links .separator {
    margin: 0 5px 0 0;
    color: #aaa;
}

.entry-footer .post-author .section-title {
    clip: rect(1px, 1px, 1px, 1px);
    overflow: hidden;
    height: 1px;
    margin-bottom: 3em;
}

.entry-footer .post-author img {
    margin: 0 0 20px;
    border-radius: 50%;
}

.entry-footer .post-author img+span {
    margin: 0 0 5px;
    display: block;
    text-transform: uppercase;
}

.entry-footer .post-author a {
    font-size: 18px;
    font-size: 1.125rem;
    color: #222;
    line-height: 1.8;
}

.entry-footer .post-author a:hover {
    text-decoration: none;
    color: var(--inspiro-primary-color);
}

.entry-footer .tags-links,
.entry-footer .post-author {
    margin: 0 0 1.875em 0;
}

.entry-footer .section-title {
    display: block;
    margin-top: 3.125em;
    margin-bottom: 1.25em;
    color: #666;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
}

.entry-footer .section-title:before {
    content: "";
    display: block;
    width: 200px;
    height: 1px;
    background: rgba(68, 68, 68, 0.19);
    margin: 0 auto 3em;
}

.entry-footer>*:first-child .section-title {
    margin-top: 0;
}

/* Post Formats */
.blog .format-status .entry-title,
.archive .format-status .entry-title,
.blog .format-aside .entry-title,
.archive .format-aside .entry-title {
    display: none;
}

.format-quote blockquote {
    color: #333;
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 300;
    overflow: visible;
    position: relative;
}

.format-quote blockquote .icon {
    display: block;
    height: 20px;
    left: -1.25em;
    position: absolute;
    top: 0.4em;
    transform: scale(-1, 1);
    width: 20px;
}

/* Post Navigation */
.previous-post-cover {
    margin: 60px auto 0;
    background: #0f1010;
    color: #fff;
    text-align: center;
}

.previous-post-cover a {
    display: block;
}

.previous-post-cover a:hover {
    text-decoration: none;
}

.previous-post-cover .previous-info {
    margin: 0;
    z-index: 1;
    padding: 10% 5%;
    min-height: 250px;
    position: relative;
}

.previous-post-cover .previous-cover {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0.6;
    background-size: cover;
    background-position: center center;
    background-color: #000;
    transition: 0.2s ease all;
}

.previous-post-cover:hover .previous-cover {
    opacity: 0.4;
}

.previous-post-cover .previous-content {
    position: relative;
    z-index: 50;
    max-width: var(--container-width);
    margin: 0 auto;
}

.previous-post-cover .previous-content .nav-subtitle {
    font-weight: 700;
    margin: 0 0 15px;
    color: #fff;
    opacity: 0.7;
    display: block;
    font-size: 16px;
    font-size: 1rem;
}

.previous-post-cover .previous-content .nav-title {
    color: #fff;
    font-size: 48px;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.4;
    border-bottom: 1px solid transparent;
    transition: border-bottom 0.2s ease;
}

.previous-post-cover .previous-content .nav-title:hover {
    border-bottom: 1px solid #fff;
}

/* Jetpack Related Posts */
h4.jp-relatedposts-post-title {
    margin: 10px 0 5px !important;
    font-weight: bold;
    position: relative;
}

.single #jp-relatedposts {
    margin-bottom: 0;
}

.single #jp-relatedposts .jp-relatedposts-items-visual h4.jp-relatedposts-post-title {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.3;
}

.single #jp-relatedposts .jp-relatedposts-items-visual h4.jp-relatedposts-post-title a {
    color: #171615;
    font-weight: bold;
}

.single #jp-relatedposts .jp-relatedposts-items-visual h4.jp-relatedposts-post-title a:hover {
    text-decoration: none;
    color: var(--inspiro-primary-color);
}

.single #jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:hover .jp-relatedposts-post-title a {
    text-decoration: none;
}

.single #jp-relatedposts h3.jp-relatedposts-headline {
    display: block;
    text-align: center;
    margin-top: 50px;
    margin-bottom: 20px;
    float: none;
    color: #666;
    font-size: 16px;
    font-weight: normal;
    font-family: "Onest", sans-serif;
    text-transform: uppercase;
}

.single #jp-relatedposts h3.jp-relatedposts-headline em {
    font-weight: normal;
}

.single #jp-relatedposts h3.jp-relatedposts-headline em:before {
    display: none;
}

.single #jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post {
    opacity: 1;
    margin-bottom: 0;
}

/*--------------------------------------------------------------
13.5 Pages
--------------------------------------------------------------*/
/* Pages */
.page-title,
.page .entry-title {
    margin-top: 2em;
    color: #222;
    font-size: 42px;
    font-size: 2.625rem;
    font-weight: 500;
    font-family: "Onest", sans-serif;
}

.page #comments {
    padding-left: 0;
    padding-right: 0;
}

/* 404 page */
.error404 .content-area,
.search .content-area {
    padding-top: 3em;
    padding-bottom: 3em;
}

.error404 .page-content .search-form,
.search .page-content .search-form {
    margin-bottom: 3em;
}

.wpzoom-blocks_portfolio-block .wpz-portfolio-button__link {
    border-radius: 0;
    font-family: "Onest", sans-serif;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-size: 14px;
    transition: 0.2s ease all;
}

.portfolio-dark.wpzoom-blocks_portfolio-block .wpz-portfolio-button__link {
    background: none;
    border: 2px solid #fff !important;
}

.portfolio-dark.wpzoom-blocks_portfolio-block .wpz-portfolio-button__link:focus,
.portfolio-dark.wpzoom-blocks_portfolio-block .wpz-portfolio-button__link:hover {
    background: #fff;
    color: #000 !important;
    border-color: #fff;
}

/*--------------------------------------------------------------
13.6 Footer
--------------------------------------------------------------*/
.site-footer {
    background: #101010;
    color: #78787f;
}

.site-footer.has-footer-widgets .inner-wrap {
    padding-bottom: 0;
}

.site-footer .footer-widgets {
    padding-top: 30px;
}

.home .site-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.site-footer-separator {
    background: rgba(255, 255, 255, 0.1);
    height: 1px;
    width: 100%;
    border: none;
    margin-bottom: 0;
}

/* Site info */
.site-info {
    font-size: 14px;
    font-size: 0.875rem;
    padding: 1.875em 0;
    margin: 0;
}

.site-info a {
    color: #fff;
}

.site-info a:hover {
    color: var(--inspiro-primary-color);
}

.site-info p {
    margin: 0;
}

.site-info .copyright {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
}

.site-info .copyright span:nth-child(1) {
    flex: 0 0 50%;
    text-align: left;
}

.site-info .copyright span:nth-child(2) {
    flex: 0 0 50%;
    text-align: right;
}

/* Social navigation */
.social-navigation {
    font-size: 16px;
    font-size: 1rem;
    margin-bottom: 1em;
}

.social-navigation ul {
    list-style: none;
    margin-bottom: 0;
    margin-left: 0;
}

.social-navigation li {
    display: inline;
}

.social-navigation a {
    background-color: #767676;
    border-radius: 40px;
    color: #fff;
    display: inline-block;
    height: 40px;
    margin: 0 1em 0.5em 0;
    text-align: center;
    width: 40px;
}

.social-navigation a:hover,
.social-navigation a:focus {
    background-color: #333;
}

.social-navigation .icon {
    height: 16px;
    top: 12px;
    width: 16px;
    vertical-align: top;
}

/* Footer widgets */
.site-footer .footer-widgets .title {
    color: #fff;
}

.site-footer .footer-widgets .widget_block>h2 {
    margin: 0;
    font-size: 20px;
    text-transform: uppercase;
    font-family: "Onest", sans-serif;
    font-weight: 700;
    color: #fff;
}

.site-footer .footer-widgets .widget_block>.title {
    margin-bottom: 20px;
}

/*--------------------------------------------------------------
14.0 Comments
--------------------------------------------------------------*/
#comments {
    clear: both;
    max-width: var(--container-width-narrow);
    margin: 0 auto;
}

@media (max-width: calc(var(--container-width-narrow) + 60px)) {
    #comments {
        padding-left: var(--container-padding);
        padding-right: var(--container-padding);
    }
}

#comments>h3,
#respond>h3 {
    font-weight: bold;
    text-transform: uppercase;
    position: relative;
    margin-top: 40px;
    margin-bottom: 80px;
    font-family: "Onest", sans-serif;
}

#comments>h3:after,
#respond>h3:after {
    width: 130px;
    content: " ";
    border-bottom: 1px solid rgba(68, 68, 68, 0.19);
    bottom: -40px;
    left: 0;
    position: absolute;
}

#respond {
    margin-bottom: 5.3125em;
}

#respond h3 {
    margin-top: 100px;
}

#respond .form_fields p {
    margin-bottom: 15px;
}

#respond textarea {
    width: 100%;
}

#respond label {
    display: block;
}

#respond #submit {
    width: auto;
}

#respond #submit:hover {
    color: var(--inspiro-primary-color);
    border-color: var(--inspiro-primary-color);
}

#respond code {
    white-space: pre-wrap;
}

.comment-notes {
    margin-bottom: 20px;
    font-style: italic;
}

.commentlist {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.commentlist li {
    list-style-type: none;
}

.commentlist .children {
    margin-left: 50px;
}

.commentlist .comment {
    margin-bottom: 80px;
    position: relative;
}

.commentlist .comment:after {
    width: 130px;
    content: " ";
    border-bottom: 1px solid rgba(68, 68, 68, 0.19);
    bottom: -40px;
    left: 0;
    position: absolute;
}

.comment-author:before,
.comment-author:after {
    content: "";
    display: table;
}

.comment-author:after {
    clear: both;
}

.comment-author .avatar {
    float: left;
    border-radius: 50%;
    margin-right: 22px;
    margin-bottom: 27px;
}

.comment-author .fn,
.comment-author .fn a {
    color: #222;
    font-size: 20px;
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 600;
}

.comment-author .fn a:hover {
    text-decoration: none;
    color: var(--inspiro-primary-color);
}

.comment-author .comment-meta,
.comment-author .comment-meta a {
    color: #78787f;
    font-size: 16px;
    font-size: 1rem;
}

.comment-author .comment-meta a:hover {
    color: var(--inspiro-primary-color);
}

.comment-body {
    margin-bottom: 40px;
}

.form-allowed-tags {
    display: none;
}

#respond .comment-form-cookies-consent label {
    display: inline;
    margin-left: 10px;
    text-transform: none;
    font-family: inherit;
    font-size: 14px;
    font-size: 0.875rem;
}

.bypostauthor {
    padding: 2em;
    margin-bottom: 1em;
}

.bypostauthor .bypostauthor {
    background: transparent;
    margin-bottom: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-top: 0;
}

.bypostauthor li {
    background: transparent;
    margin-bottom: 0;
    padding: 0 0 0 2em;
}

/*--------------------------------------------------------------
15.0 Widgets
--------------------------------------------------------------*/
#secondary {
    padding: 1em 0 2em;
}

.widget_block,
.widget {
    margin-bottom: 40px;
}

.widget_block .wp-block-group__inner-container>h2,
.widget_block .wp-block-search__label,
.widget_block .title,
.widget .wp-block-group__inner-container>h2,
.widget .wp-block-search__label,
.widget .title {
    margin: 0 0 20px;
    font-size: 20px;
    text-transform: uppercase;
    font-family: "Onest", sans-serif;
    font-weight: bold;
}

.widget_block ul,
.widget ul {
    clear: both;
    margin: 0;
    padding: 0;
}

.widget_block ul li,
.widget ul li {
    list-style-type: none;
}

.widget_block ul ul,
.widget ul ul {
    margin: 0;
    padding: 0;
    border-top: none;
}

.widget_block ul ul li,
.widget ul ul li {
    border: none;
}

.widget_block .wp-block-group>.wp-block-group__inner-container,
.widget .wp-block-group>.wp-block-group__inner-container {
    padding: 0;
}

.textwidget img {
    max-width: 100%;
    height: auto;
}

/* widget forms */
.widget select {
    width: 100%;
}

/* widget lists */
.widget ul {
    list-style: none;
    margin: 0;
}

.widget ul li,
.widget ol li {
    padding: 0.0625em 0;
}

.widget:not(.widget_tag_cloud) ul li+li {
    margin-top: -1px;
}

.widget ul li ul {
    margin: 0 0 -1px;
    padding: 0;
    position: relative;
}

.widget ul li li {
    border: 0;
    padding-left: 24px;
    padding-left: 1.5rem;
}

/* Widget lists of links */
.widget_top-posts ul li ul,
.widget_rss_links ul li ul,
.widget-grofile ul.grofile-links li ul,
.widget_pages ul li ul,
.widget_meta ul li ul {
    bottom: 0;
}

.widget_nav_menu ul li li,
.widget_top-posts ul li,
.widget_top-posts ul li li,
.widget_rss_links ul li,
.widget_rss_links ul li li,
.widget-grofile ul.grofile-links li,
.widget-grofile ul.grofile-links li li {
    padding-bottom: 0.25em;
    padding-top: 0.25em;
}

.widget_rss ul li {
    padding-bottom: 1em;
    padding-top: 1em;
}

/* Gravatar */
.widget-grofile h4 {
    font-size: 16px;
    font-size: 1rem;
    margin-bottom: 0;
}

/* Gallery widget */
.gallery-columns-5 .gallery-caption,
.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
    display: none;
}

/* Search */
.wp-block-search,
.search-form {
    position: relative;
}

.wp-block-search input,
.wp-block-search button,
.search-form input,
.search-form button {
    height: 40px;
    background: transparent;
    border: 2px solid #565555;
    box-sizing: border-box;
    border-radius: 0;
    transition: 0.2s ease all;
}

.wp-block-search input:focus,
.wp-block-search button:focus,
.search-form input:focus,
.search-form button:focus {
    border-color: var(--inspiro-primary-color);
}

.wp-block-search .wp-block-search__input,
.wp-block-search .search-field,
.search-form .wp-block-search__input,
.search-form .search-field {
    width: 100%;
    padding: 0px 100px 0 10px;
}

.wp-block-search .wp-block-search__button,
.wp-block-search .search-submit,
.search-form .wp-block-search__button,
.search-form .search-submit {
    padding: 0 12px;
    position: absolute;
    bottom: 0;
    right: 0;
}

.wp-block-search .wp-block-search__button .svg-icon,
.wp-block-search .search-submit .svg-icon,
.search-form .wp-block-search__button .svg-icon,
.search-form .search-submit .svg-icon {
    display: none;
}

.wp-block-search .wp-block-search__label,
.search-form .wp-block-search__label {
    display: block;
}

.site-footer .wp-block-search__input,
.site-footer .search-form .search-field,
.side-nav .wp-block-search__input,
.side-nav .search-form .search-field {
    color: #eee;
}

.site-footer .wp-block-search__button,
.site-footer .search-form .search-submit,
.side-nav .wp-block-search__button,
.side-nav .search-form .search-submit {
    font-family: "Onest", sans-serif;
    font-weight: bold;
    display: inline-block;
    padding: 0.625em 1.5625em;
    text-align: center;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 12px;
    font-size: 0.75rem;
    color: var(--inspiro-primary-color);
    border: 2px solid var(--inspiro-primary-color);
    background-image: none;
    -webkit-user-select: none;
    user-select: none;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.site-footer .wp-block-search__button:hover,
.site-footer .search-form .search-submit:hover,
.side-nav .wp-block-search__button:hover,
.side-nav .search-form .search-submit:hover {
    text-decoration: none;
    color: var(--inspiro-primary-color);
    border-color: var(--inspiro-primary-color);
}

.site-footer .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper,
.side-nav .wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper {
    border: 2px solid #565555;
}

.site-footer .wp-block-search.wp-block-search__button-inside .wp-block-search__button,
.side-nav .wp-block-search.wp-block-search__button-inside .wp-block-search__button {
    bottom: 6px;
    right: 5px;
}

/* Tag cloud widget */
.tagcloud ul li {
    float: left;
    border-top: 0;
    border-bottom: 0;
    padding: 0;
    margin: 4px 4px 0 0;
}

.tagcloud,
.widget_tag_cloud,
.wp_widget_tag_cloud {
    line-height: 1.5;
}

.widget .tagcloud a,
.widget.widget_tag_cloud a,
.wp_widget_tag_cloud a {
    box-shadow: none;
    display: block;
    padding: 4px 10px 5px;
    position: relative;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.3s ease-in-out;
    width: auto;
    word-wrap: break-word;
    z-index: 0;
}

.widget .tagcloud a:hover,
.widget .tagcloud a:focus,
.widget.widget_tag_cloud a:hover,
.widget.widget_tag_cloud a:focus,
.wp_widget_tag_cloud a:hover,
.wp_widget_tag_cloud a:focus {
    border-color: #bbb;
    box-shadow: none;
    text-decoration: none;
}

/* Text widget */
.widget_text {
    word-wrap: break-word;
}

.widget_text ul {
    list-style: disc;
    margin: 0 0 1.5em 1.5em;
}

.widget_text ol {
    list-style: decimal;
}

.widget_text ul li,
.widget_text ol li {
    border: none;
}

.widget_text ul li:last-child,
.widget_text ol li:last-child {
    padding-bottom: 0;
}

.widget_text ul li ul {
    margin: 0 0 0 1.5em;
}

.widget_text ul li li {
    padding-left: 0;
    padding-right: 0;
}

.widget_text ol li {
    list-style-position: inside;
}

.widget_text ol li+li {
    margin-top: -1px;
}

/* RSS Widget */
.widget_rss .widget-title .rsswidget:first-child {
    float: right;
}

.widget_rss .widget-title .rsswidget:first-child:hover {
    background-color: transparent;
}

.widget_rss .widget-title .rsswidget:first-child img {
    display: block;
}

.widget_rss ul li {
    padding: 2.125em 0;
}

.widget_rss ul li:first-child {
    border-top: none;
    padding-top: 0;
}

.widget_rss li .rsswidget {
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: 300;
    line-height: 1.4;
}

.widget_rss .rss-date,
.widget_rss li cite {
    color: #767676;
    display: block;
    font-size: 10px;
    font-size: 0.625rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0.18em;
    line-height: 1.5;
    text-transform: uppercase;
}

.widget_rss .rss-date {
    margin: 0.5em 0 1.5em;
    padding: 0;
}

.widget_rss .rssSummary {
    margin-bottom: 0.5em;
}

/* Contact Info Widget */
.widget_contact_info .contact-map {
    margin-bottom: 0.5em;
}

/* Recent Comments */
.widget_recent_comments table,
.widget_recent_comments th,
.widget_recent_comments td {
    border: 0;
}

/* Recent Posts widget */
.widget_recent_entries .post-date {
    display: block;
}

/* Calendar widget */
.widget_calendar .wp-calendar-table {
    margin-bottom: 0;
}

.widget_calendar .wp-calendar-nav {
    display: table;
    width: 100%;
    margin: 0 0 1.5em;
    padding: 0.4em 0;
}

.widget_calendar .wp-calendar-nav span {
    display: table-cell;
}

.widget_calendar .wp-calendar-nav-prev,
.widget_calendar .wp-calendar-nav-next {
    width: 40%;
}

.widget_calendar th,
.widget_calendar td,
.widget_calendar .wp-calendar-nav span {
    text-align: center;
}

.widget_calendar tfoot td {
    border: 0;
}

/* Instagram Widget */
.zoom-instagram-widget li img {
    transition: opacity 0.2s ease;
}

.zoom-instagram-widget li img:hover {
    opacity: 0.6;
}

.site-widgetized-section .widgets .widget {
    font-size: 16px;
    font-size: 1rem;
    width: 100%;
    margin-right: 0;
}

.section-footer .zoom-instagram-widget {
    overflow: hidden;
    margin: 0;
    position: relative;
}

.section-footer .zoom-instagram-widget .title {
    display: none;
}

.section-footer .zoom-instagram-widget .zoom-instagram-widget__items {
    width: 5000px;
    overflow: hidden;
}

.section-footer .zoom-instagram-widget .zoom-instagram-widget__item {
    margin: 0 !important;
    padding: 0 !important;
}

.section-footer .zoom-instagram-widget li img:hover {
    opacity: 0.9;
}

.section-footer .zoom-instagram-widget .zoom-instagram-widget__follow-me {
    margin-top: 1px;
    text-align: center;
    position: absolute;
    z-index: 10;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.section-footer .zoom-instagram-widget a.ig-b-v-24 {
    color: #fff !important;
    border: none;
    font-weight: 600 !important;
    border-radius: 0;
    font-family: "Onest", sans-serif;
    line-height: 1.5em;
    padding: 10px 18px;
    font-size: 12px;
    text-transform: uppercase;
    background: #101010;
    display: inline-block;
    margin: 0;
    letter-spacing: 2px !important;
}

.section-footer .zoom-instagram-widget a.ig-b-v-24:hover {
    color: var(--inspiro-primary-color) !important;
}

/*--------------------------------------------------------------
16.0 Media
--------------------------------------------------------------*/
img,
video {
    height: auto;
    /* Make sure images are scaled correctly. */
    max-width: 100%;
    /* Adhere to container width. */
}

img.alignleft,
img.alignright {
    float: none;
    margin: 0;
}

.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}

audio:focus,
video:focus {
    outline: thin dotted;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
    margin-bottom: 1.5em;
    max-width: 100%;
}

/* Remove bottom on embeds that wrapped in paragraphs via wpautop. */
p>embed:only-child,
p>iframe:only-child,
p>object:only-child {
    margin-bottom: 0;
}

.entry-content .aligncenter:not(.wp-block-gallery),
div.aligncenter:not(.wp-block-gallery),
figure.aligncenter:not(.wp-block-gallery) {
    clear: both;
    margin-left: auto;
    margin-right: auto;
}

.alignleft,
.entry-content .alignleft {
    float: left;
    margin-right: 20px;
}

.alignright,
.entry-content .alignright {
    float: right;
    margin-left: 20px;
}

.fullimg,
.fullimg figure {
    position: relative;
    overflow: hidden;
    margin-bottom: 10px;
    max-width: none;
}

.fullimg img,
.fullimg figure img {
    width: 100% !important;
    height: auto;
    margin-bottom: 20px;
}

/* Caption */
.wp-caption,
.gallery-caption {
    color: #666;
    font-size: 13px;
    font-size: 0.8125rem;
    font-style: italic;
    margin-bottom: 1.5em;
    max-width: 100%;
}

.wp-caption img[class*=wp-image-] {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption .wp-caption-text {
    color: #8c888c;
    font-size: 16px;
    font-size: 1rem;
    margin: 0.9375em 0;
    font-style: italic;
}

.wp-caption.aligncenter {
    margin: 0 auto 15px;
}

.entry-content .wp-caption {
    width: auto;
    text-align: center;
}

.entry-content .wp-caption img {
    background: none;
    border: 0 none;
}

.entry-content .fullimg .wp-caption.aligncenter {
    margin-bottom: 0;
}

.entry-content .fullimg .aligncenter {
    margin-bottom: 0;
}

.entry-content .fullimg p {
    margin-bottom: 0;
}

/* Media Elements */
.mejs-container {
    margin-bottom: 1.5em;
}

/* Audio Player */
.mejs-controls a.mejs-horizontal-volume-slider,
.mejs-controls a.mejs-horizontal-volume-slider:focus,
.mejs-controls a.mejs-horizontal-volume-slider:hover {
    background: transparent;
    border: 0;
}

/* Playlist Color Overrides: Light */
.site-content .wp-playlist-light {
    border-color: #eee;
    color: #222;
}

.site-content .wp-playlist-light .wp-playlist-current-item .wp-playlist-item-album {
    color: #333;
}

.site-content .wp-playlist-light .wp-playlist-current-item .wp-playlist-item-artist {
    color: #767676;
}

.site-content .wp-playlist-light .wp-playlist-item {
    border-bottom: 1px dotted #eee;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.3s ease-in-out;
}

.site-content .wp-playlist-light .wp-playlist-item:hover,
.site-content .wp-playlist-light .wp-playlist-item:focus {
    border-bottom-color: rgba(0, 0, 0, 0);
    background-color: #767676;
    color: #fff;
}

.site-content .wp-playlist-light a.wp-playlist-caption:hover,
.site-content .wp-playlist-light .wp-playlist-item:hover a,
.site-content .wp-playlist-light .wp-playlist-item:focus a {
    color: #fff;
}

/* Playlist Color Overrides: Dark */
.site-content .wp-playlist-dark {
    background: #222;
    border-color: #333;
}

.site-content .wp-playlist-dark .mejs-container .mejs-controls {
    background-color: #333;
}

.site-content .wp-playlist-dark .wp-playlist-caption {
    color: #fff;
}

.site-content .wp-playlist-dark .wp-playlist-current-item .wp-playlist-item-album {
    color: #eee;
}

.site-content .wp-playlist-dark .wp-playlist-current-item .wp-playlist-item-artist {
    color: #aaa;
}

.site-content .wp-playlist-dark .wp-playlist-playing {
    background-color: #333;
}

.site-content .wp-playlist-dark .wp-playlist-item {
    border-bottom: 1px dotted #555;
    transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, color 0.3s ease-in-out;
}

.site-content .wp-playlist-dark .wp-playlist-item:hover,
.site-content .wp-playlist-dark .wp-playlist-item:focus {
    border-bottom-color: rgba(0, 0, 0, 0);
    background-color: #aaa;
    color: #222;
}

.site-content .wp-playlist-dark a.wp-playlist-caption:hover,
.site-content .wp-playlist-dark .wp-playlist-item:hover a,
.site-content .wp-playlist-dark .wp-playlist-item:focus a {
    color: #222;
}

/* Playlist Style Overrides */
.site-content .wp-playlist {
    padding: 0.625em 0.625em 0.3125em;
}

.site-content .wp-playlist-current-item .wp-playlist-item-title {
    font-weight: 700;
}

.site-content .wp-playlist-current-item .wp-playlist-item-album {
    font-style: normal;
}

.site-content .wp-playlist-current-item .wp-playlist-item-artist {
    font-size: 10px;
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.1818em;
    text-transform: uppercase;
}

.site-content .wp-playlist-item {
    padding: 0 0.3125em;
    cursor: pointer;
}

.site-content .wp-playlist-item:last-of-type {
    border-bottom: none;
}

.site-content .wp-playlist-item a {
    padding: 0.3125em 0;
    border-bottom: none;
}

.site-content .wp-playlist-item a,
.site-content .wp-playlist-item a:focus,
.site-content .wp-playlist-item a:hover {
    box-shadow: none;
    background: transparent;
}

.site-content .wp-playlist-item-length {
    top: 5px;
}

/* SVG Icons base styles */
.icon {
    display: inline-block;
    fill: currentColor;
    height: 1em;
    position: relative;
    /* Align more nicely with capital letters */
    top: -0.0625em;
    vertical-align: middle;
    width: 1em;
}

/*--------------------------------------------------------------
16.1 Galleries
--------------------------------------------------------------*/
/* Galleries */
.entry-content .tiled-gallery {
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
}

.entry-content .tiled-gallery .gallery {
    clear: both;
    text-align: center;
    max-width: 100%;
}

.entry-content .tiled-gallery .gallery a:hover {
    opacity: 0.6;
    transition: opacity 0.25s ease-in-out;
}

.gallery-item {
    display: inline-block;
    text-align: left;
    vertical-align: top;
    margin: 0 0 1.5em;
    padding: 0 1em 0 0;
    width: 50%;
}

.gallery-columns-1 .gallery-item {
    width: calc(100% / 1);
    max-width: calc(100% / 1);
}

.gallery-columns-2 .gallery-item {
    width: calc(100% / 2);
    max-width: calc(100% / 2);
}

.gallery-columns-3 .gallery-item {
    width: calc(100% / 3);
    max-width: calc(100% / 3);
}

.gallery-columns-4 .gallery-item {
    width: calc(100% / 4);
    max-width: calc(100% / 4);
}

.gallery-columns-5 .gallery-item {
    width: calc(100% / 5);
    max-width: calc(100% / 5);
}

.gallery-columns-6 .gallery-item {
    width: calc(100% / 6);
    max-width: calc(100% / 6);
}

.gallery-columns-7 .gallery-item {
    width: calc(100% / 7);
    max-width: calc(100% / 7);
}

.gallery-columns-8 .gallery-item {
    width: calc(100% / 8);
    max-width: calc(100% / 8);
}

.gallery-columns-9 .gallery-item {
    width: calc(100% / 9);
    max-width: calc(100% / 9);
}

.gallery-item a,
.gallery-item a:hover,
.gallery-item a:focus,
.widget-area .gallery-item a,
.widget-area .gallery-item a:hover,
.widget-area .gallery-item a:focus {
    box-shadow: none;
    background: none;
    display: inline-block;
    max-width: 100%;
}

.gallery-item a img {
    display: block;
    transition: filter 0.2s ease-in;
    backface-visibility: hidden;
}

.gallery-item a:hover img,
.gallery-item a:focus img {
    filter: opacity(60%);
}

.gallery-icon img {
    margin: 0 auto;
}

.gallery-caption {
    color: #8c888c;
    margin: 15px 0;
    display: block;
    font-size: 12px;
    font-style: italic;
    line-height: 1.4;
}

.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
    display: none;
}

.entry-content ul.blocks-gallery-grid {
    margin-bottom: 0;
}

/*--------------------------------------------------------------
17.0 Customizer
--------------------------------------------------------------*/
.inspiro-customizer.has-header-image .custom-header,
.inspiro-customizer.has-header-video .custom-header {
    padding-top: 0 !important;
}

/*--------------------------------------------------------------
18.0 WooCommerce
--------------------------------------------------------------*/
.woocommerce-tabs h2,
.product .related h2 {
    font-weight: bold;
    text-transform: uppercase;
    position: relative;
    font-size: 20px;
    font-family: "Onest", sans-serif;
}

.product .related h2 {
    text-align: center;
    margin-bottom: 30px;
}

.product .related>h2:before {
    display: block;
    content: " ";
    width: 130px;
    height: 1px;
    background: #E6E6E6;
    margin: 40px auto 48px;
}

.woocommerce #comments {
    max-width: 100%;
    padding: 0;
}

.woocommerce #comments>h2 {
    font-size: 24px;
    margin: 40px 0 80px;
}

.woocommerce .commentlist li {
    list-style-type: none;
}

.woocommerce #reviews #comments ol.commentlist li::after {
    display: none;
}

#main .woocommerce #respond h3 {
    text-transform: none;
    margin: 40px 0 80px;
    text-transform: uppercase;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #content input.button:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover,
.woocommerce-page #respond input#submit:hover,
.woocommerce-page #main input.button:hover,
.woocommerce button.button.alt:hover {
    border-color: var(--inspiro-primary-color);
    background-color: transparent;
    color: var(--inspiro-primary-color);
}

#main .payment_methods li {
    list-style-type: none;
}

.payment_methods label {
    display: inline-block;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
    font-family: "Onest", sans-serif;
    color: var(--inspiro-primary-color);
}

.woocommerce #content div.product p.price,
.woocommerce #content div.product span.price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce-page #content div.product p.price,
.woocommerce-page #content div.product span.price,
.woocommerce-page div.product p.price,
.woocommerce-page div.product span.price {
    font-family: "Onest", sans-serif;
    color: var(--inspiro-primary-color);
}

.woocommerce #content div.product form.cart,
.woocommerce div.product form.cart,
.woocommerce-page #content div.product form.cart,
.woocommerce-page div.product form.cart {
    margin-top: 15px;
}

.woocommerce div.product form.cart .button,
.woocommerce-page div.product form.cart .button,
.woocommerce #content div.product form.cart .button,
.woocommerce-page #content div.product form.cart .button,
.woocommerce a.button.alt,
.woocommerce-page a.button.alt,
.woocommerce button.button.alt,
.woocommerce-page button.button.alt,
.woocommerce input.button.alt,
.woocommerce-page input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce-page #respond input#submit.alt,
.woocommerce #content input.button.alt,
#main .woocommerce-page #content input.button.alt {
    color: #000;
    border-color: #000;
    background: none;
    padding: 11px 25px;
}

.woocommerce button.button.alt.disabled:hover {
    background: #000;
    color: #fff;
}

.woocommerce div.product form.cart .button:hover,
.woocommerce-page div.product form.cart .button:hover,
.woocommerce-page #main a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #content input.button:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover,
.woocommerce-page #respond input#submit:hover,
.woocommerce-page #main input.button:hover,
.woocommerce button.button.alt:hover {
    border-color: var(--inspiro-primary-color);
    background-color: transparent;
    color: var(--inspiro-primary-color);
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    text-align: center !important;
}

.woocommerce .related li.first,
.woocommerce-page .related li.first {
    clear: none !important;
}

.woocommerce .products .star-rating,
.woocommerce-page .products .star-rating {
    display: inline-block !important;
}

.woocommerce .related ul.products li.product:last-child,
.woocommerce .related ul li.product:last-child,
.woocommerce .upsells.products ul.products li.product:last-child,
.woocommerce .upsells.products ul li.product:last-child,
.woocommerce-page .related ul.products li.product:last-child,
.woocommerce-page .related ul li.product:last-child,
.woocommerce-page .upsells.products ul.products li.product:last-child,
.woocommerce-page .upsells.products ul li.product:last-child {
    margin-right: 0 !important;
}

.woocommerce .quantity .plus,
#main .woocommerce .quantity .minus {
    text-shadow: none;
    background: #C4C4C9;
    box-shadow: none;
    color: #222;
    border: none;
    outline: none;
    height: 18px !important;
}

.woocommerce .quantity input qty,
.woocommerce #content .quantity input qty,
.woocommerce-page .quantity input qty,
.woocommerce-page #content .quantity input qty {
    padding: 0 !important;
    border: 2px solid #E2E2E2 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    height: 38px !important;
}

.woocommerce .quantity .plus:hover,
.woocommerce .quantity .minus:hover {
    background: var(--inspiro-primary-color) !important;
    color: #fff !important;
}

.woocommerce .quantity .plus {
    border-radius: 0 !important;
}

.woocommerce .quantity .minus {
    border-radius: 0 !important;
}

.woocommerce .woocommerce-breadcrumb a:hover,
.woocommerce-page .woocommerce-breadcrumb a:hover {
    color: #222;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li,
.woocommerce #content div.product .woocommerce-tabs ul.tabs li,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li {
    background: #F2F3F3 !important;
    box-shadow: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce #content div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li.active,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li.active {
    background: #fff !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce #content div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li:before,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li:before {
    display: none !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:after,
.woocommerce #content div.product .woocommerce-tabs ul.tabs li:after,
.woocommerce-page div.product .woocommerce-tabs ul.tabs li:after,
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li:after {
    display: none !important;
}

.woocommerce a.button.added:before,
.woocommerce button.button.added:before,
.woocommerce input.button.added:before,
.woocommerce-page a.button.added:before,
.woocommerce-page button.button.added:before,
.woocommerce-pagination {
    margin-bottom: 25px;
}

.woocommerce-pagination .page-numbers,
.woocommerce-pagination .page-numbers li {
    border: none !important;
    background: none !important;
}

.woocommerce-pagination .current,
.woocommerce-pagination .page-numbers:hover {
    color: var(--inspiro-primary-color) !important;
}

.single-product .summary table.variations .label {
    padding: 0 0 10px;
}

.woocommerce-page h1.entry-title {
    border-bottom: none !important;
}

.woocommerce ul.cart_list li a,
.woocommerce ul.product_list_widget li a,
.woocommerce-page ul.cart_list li a,
.woocommerce-page ul.product_list_widget li a {
    font-weight: normal !important;
}

.woocommerce .woocommerce-error::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-message::before,
.woocommerce-page .woocommerce-error::before,
.woocommerce-page .woocommerce-info::before,
.woocommerce-page .woocommerce-message::before {
    height: auto !important;
}

.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
    background-color: #a3a3a3;
}

.woocommerce .widget_price_filter .ui-slider .ui-slider-handle,
.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
    background-color: var(--inspiro-primary-color);
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
    padding-top: 4px;
    padding-bottom: 4px;
    width: auto;
    font-size: 14px;
}

.woocommerce-cart table.cart td.actions .coupon .input-text:focus {
    border-color: var(--inspiro-primary-color);
}

.woocommerce-cart .cart-collaterals .cart_totals table {
    width: 100%;
}

.woocommerce form .shipping-calculator-form p {
    padding: 3px;
}

.woocommerce a.remove {
    line-height: 1.2;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-weight: normal;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border-radius: 0;
    margin: 0 5px;
    border-color: #DEE3E7;
    background: #F7F8FA;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 1px;
    font-family: "Onest", sans-serif;
    font-size: 14px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs:before {
    border-color: #DEE3E7;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active:before {
    display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active:after {
    display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:before {
    display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:after {
    display: none;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    border-top-color: #eee;
}

.woocommerce-message::before {
    color: var(--inspiro-primary-color);
}

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
    background: #f7f6f7;
    border-radius: 0;
    border: 2px solid #eee;
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
    background-color: #e8e8e8;
}

#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
    border: 1em solid #e8e8e8;
    border-right-color: transparent;
    border-left-color: transparent;
    border-top-color: transparent;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    padding: 32px 30px 10px;
    margin-bottom: 50px;
    border-radius: 5px;
    background: #f2f4f6;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    list-style-type: none;
    border-bottom: 1px solid #eee;
    padding: 0 0 10px;
    margin: 0 0 10px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    color: #000;
    font-weight: 600;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    color: var(--inspiro-primary-color);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    color: var(--inspiro-primary-color);
}

/*--------------------------------------------------------------
19.0 Media Queries
--------------------------------------------------------------*/
@media (min-width: 75em) {

    .wp-block-query.alignwide,
    .single .entry-content .alignwide {
        margin-left: -125px;
        margin-right: -125px;
        max-width: calc(var(--container-width-narrow) + 250px);
        width: calc(var(--container-width-narrow) + 250px);
    }

    .page .entry-content .alignwide {
        margin-left: -125px;
        margin-right: -125px;
        max-width: calc(var(--container-width) + 250px);
        width: calc(var(--container-width) + 250px);
    }
}

@media (min-width: 64.0625em) {
    .navbar-nav ul {
        left: 50%;
        width: 220px;
        margin-top: 15px;
        background: #101010;
        transform: translate(-50%, 0);
    }

    .navbar-nav ul li {
        border-top: 1px solid rgba(255, 255, 255, 0.07);
    }

    .navbar-nav ul li.current-menu-item a,
    .navbar-nav ul li.current_page_item a,
    .navbar-nav ul li.current-menu-parent a {
        border-bottom: none;
        color: #009043;
    }

    .navbar-nav ul a {
        color: #b0b0b0;
        border-bottom: none;
    }

    .navbar-nav ul a:hover {
        border-bottom: none;
        color: #fff;
    }

    .navbar-nav ul ul {
        right: 100%;
        margin-top: -3px;
        transform: translate(0, 0);
    }

    .navbar-nav>li>a.sf-with-ul:hover {
        border-bottom: 1px solid rgba(255, 255, 255, 0);
    }
}

@media screen and (min-width: 48em) {

    /* Layout */
    .inner-wrap {
        max-width: var(--container-width);
    }

    .page-layout-sidebar-right.has-sidebar:not(.error404) #primary,
    .page-layout-sidebar-right.has-sidebar:not(.search) #primary,
    .page-layout-sidebar-right.has-sidebar:not(.archive) #primary {
        float: left;
        width: 75%;
        padding-right: 4%;
    }

    .page-layout-sidebar-right.has-sidebar #secondary {
        float: right;
        padding: 0 0 1.25em 4%;
        width: 25%;
        margin-bottom: 2em;
        border-left: 1px solid rgba(68, 68, 68, 0.19);
    }

    .page-layout-sidebar-right.has-sidebar.page .entry-wrapper .entry-content,
    .page-layout-sidebar-right.has-sidebar.single .entry-wrapper .entry-content {
        float: left;
        width: 75%;
        max-width: 100%;
        padding-right: 4%;
        padding-left: 0;
        margin: 0;
    }

    .error404 #primary,
    .search #primary,
    .archive #primary {
        float: none;
    }

    /* Site Branding */
    .site-branding {
        margin-bottom: 0;
    }

    .has-header-image.inspiro-front-page .custom-header,
    .has-header-video.inspiro-front-page .custom-header,
    .has-header-image.home.blog .custom-header,
    .has-header-video.home.blog .custom-header {
        display: block;
        height: auto;
    }

    .custom-header-media {
        height: 165px;
        position: relative;
    }

    .inspiro-front-page.has-header-image .custom-header-media,
    .inspiro-front-page.has-header-video .custom-header-media {
        height: 0;
        position: relative;
    }

    .home.blog.has-header-image .custom-header-media,
    .home.blog.has-header-video .custom-header-media {
        height: 0;
        position: relative;
    }

    .has-header-image:not(.inspiro-front-page):not(.home) .custom-header,
    .has-header-video:not(.inspiro-front-page):not(.home) .custom-header {
        height: 450px;
    }

    .has-header-image:not(.inspiro-front-page):not(.home) .site-branding,
    .has-header-video:not(.inspiro-front-page):not(.home) .site-branding {
        position: absolute;
        text-align: left;
        bottom: 30px;
        left: 0;
        width: 100%;
    }

    .has-header-image:not(.inspiro-front-page):not(.home) .custom-header-media,
    .has-header-video:not(.inspiro-front-page):not(.home) .custom-header-media {
        bottom: 0;
        height: auto;
        left: 0;
        position: absolute;
        right: 0;
        top: 0;
    }

    /* Front Page */
    .inspiro-front-page.has-header-image .site-branding,
    .inspiro-front-page.has-header-video .site-branding {
        margin-bottom: 70px;
    }

    .page-template-default.home .entry-title {
        margin-top: 40px;
    }

    .home.blog.has-header-image .site-branding,
    .home.blog.has-header-video .site-branding {
        margin-bottom: 70px;
    }

    .inspiro-front-page.has-header-image .custom-header-media,
    .inspiro-front-page.has-header-video .custom-header-media {
        height: 1200px;
        height: 100vh;
        max-height: 100%;
        overflow: hidden;
    }

    .home.blog.has-header-image .custom-header-media,
    .home.blog.has-header-video .custom-header-media {
        height: 1200px;
        height: 100vh;
        max-height: 100%;
        overflow: hidden;
    }

    .inspiro-front-page.has-header-image .custom-header-media:after,
    .inspiro-front-page.has-header-video .custom-header-media:after {
        height: 33%;
    }

    .home.blog.has-header-image .custom-header-media:after,
    .home.blog.has-header-video .custom-header-media:after {
        height: 33%;
    }

    .admin-bar.inspiro-front-page.has-header-image .custom-header-media,
    .admin-bar.inspiro-front-page.has-header-video .custom-header-media {
        height: calc(100vh - 32px);
    }

    .admin-bar.home.blog.has-header-image .custom-header-media,
    .admin-bar.home.blog.has-header-video .custom-header-media {
        height: calc(100vh - 32px);
    }

    /* Secondary */
    #secondary {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.6;
    }

    /* Footer */
    .site-footer {
        font-size: 16px;
        font-size: 1rem;
        line-height: 1.6;
    }

    .site-footer .footer-widgets {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
    }

    .site-footer .widget-columns-1 .widget-column {
        flex: 0 0 calc(100% / 1);
    }

    .site-footer .widget-columns-2 .widget-column {
        flex: 0 0 calc(100% / 2);
    }

    .site-footer .widget-columns-3 .widget-column {
        flex: 0 0 calc(100% / 3);
    }

    .site-footer .widget-columns-4 .widget-column {
        flex: 0 0 calc(100% / 4);
    }

    .site-footer .widget-column {
        padding-right: 2.5em;
    }

    .site-footer .widget-column:last-child {
        padding-right: 0;
    }

    #respond input[type=text] {
        width: 40%;
    }
}

@media screen and (max-width: 30em) {

    /* Compatibility with WP admin bar */
    .admin-bar:not(.side-nav-open) .headroom {
        top: 32px;
    }

    /* Footer */
    .site-footer {
        font-size: 14px;
        font-size: 0.875rem;
        line-height: 1.6;
    }

    .site-footer .widget-columns-1 .widget-column {
        flex: 0 0 50%;
    }

    .site-footer .widget-columns-2 .widget-column {
        flex: 0 0 50%;
    }

    .site-footer .widget-columns-3 .widget-column {
        flex: 0 0 50%;
    }

    .site-footer .widget-columns-4 .widget-column {
        flex: 0 0 50%;
    }

    /* Sidebar styles for mobile */
    .sidebar-header {
        height: auto;
        gap: 0.625rem;
        margin-bottom: 1.25rem;
    }

    .sidebar-close-btn {
        width: 3rem;
        height: 3rem;
    }

    .site-title {
        font-size: 56px;
        font-size: 1.2rem;
    }

    .sidebar-close-btn .close-icon {
        width: 1.875rem;
        height: 1.875rem;
    }

    .menu-item-inner {
        padding: 0.5rem 0;
    }

    .menu-link {
        font-size: 1em;
    }

    .sidebar-menu-title {
        font-size: 1em;
        margin-bottom: 0.9375rem;
    }

    .sidebar_social_grid {
        grid-template-columns: repeat(1, 1fr);
        gap: 0.5rem;
        margin-top: 1.25rem;
        text-align: center;
    }

    .sidebar_social_grid a img,
    .sidebar_social_grid a svg {
        width: 1.25rem;
        height: 1.25rem;
    }
}

@media screen and (max-width: 64em) {
    .side-nav .navbar-nav {
        display: block;
        margin-left: 0;
        position: relative;
    }

    .side-nav .navbar-nav ul {
        display: none;
        margin-left: 20px;
    }

    .side-nav .navbar-nav li a:hover,
    .side-nav .navbar-nav li a:active {
        color: #fff;
    }

    .side-nav .navbar-nav li.menu-item-has-children>a .svg-icon {
        float: right;
        fill: #999;
        height: 26px;
        width: 26px;
        margin: 4px 0 0 10px;
        transition: 0.1s ease color, 0.5s ease transform;
    }

    .side-nav .navbar-nav li.menu-item-has-children>a .svg-icon:hover,
    .side-nav .navbar-nav li.menu-item-has-children>a .svg-icon:active {
        fill: #fff;
    }

    .side-nav .navbar-nav li.menu-item-has-children.open>a .svg-icon {
        transform: rotate(180deg);
    }

    .navbar-toggle {
        display: block;
    }

    .navbar-collapse {
        display: none;
    }

    .navbar-nav {
        float: none;
    }

    .navbar-nav a:hover,
    .navbar-nav>li>a:hover {
        border: none;
    }

    .navbar-nav>li>a.sf-with-ul:hover {
        border-bottom: none;
    }

    .navbar-nav>li.current-menu-item>a,
    .navbar-nav>li.current_page_item>a,
    .navbar-nav>li.current-menu-parent>a {
        color: var(--inspiro-primary-color);
    }

    .navbar-nav li {
        display: block;
        position: relative;
        float: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .navbar-nav li a {
        padding: 4px 0;
        margin: 7px 0;
        color: #fff;
        font-weight: 600;
        text-transform: uppercase;
    }

    .menu-item-inner>a {
        flex: 1;
        color: #101010 !important;
        text-decoration: none !important;
        display: block;
        transition: color 0.2s ease;
        border-right: 1px solid rgba(47, 46, 46, 0.15);
    }

    .navbar-nav li li a {
        color: #ccc;
    }

    .navbar-nav ul:before {
        display: none;
    }

    .navbar-nav ul li {
        border: none;
        padding: 0;
        margin: 7px 0;
    }

    .navbar-nav ul li a {
        text-transform: none;
        font-weight: normal;
        font-size: 14px;
    }

    .navbar-nav ul ul {
        left: 0;
    }

    .current-menu-item a,
    .current_page_item a,
    .current-menu-parent a {
        border-bottom: none;
    }

    body.header-search-hidden .navbar .header-logo-wrapper {
        max-width: 70%;
    }

    .site-title {
        font-size: 56px;
        font-size: 1.2rem;
    }

    .site-description {
        font-size: 18px;
        font-size: 1.125rem;
    }

    .previous-post-cover .previous-content .nav-title {
        font-size: 30px;
        font-size: 1.875rem;
    }

    #comments,
    .page #comments,
    .page .entry-header .inner-wrap,
    .page .entry-content,
    .page:not(.inspiro-front-page) .entry-footer,
    .single .entry-header .inner-wrap,
    .single .entry-content,
    .single .entry-footer {
        padding: 0 30px;
    }

    .single .entry-wrapper .entry-content {
        padding-left: 0;
        padding-right: 0;
        margin-top: 0;
    }

    .navbar .header-inner.wpz_layout_full,
    .wrap,
    .inner-wrap {
        padding-right: 4%;
        padding-left: 4%;
    }

    body:not(.page-layout-sidebar-right) #primary {
        padding-left: 0;
        padding-right: 0;
    }

    /* Sidebar styles for tablet */
    .sidebar-header {
        height: 3.125rem;
        gap: 0.75rem;
        margin-bottom: 1.5625rem;
    }

    .sidebar-close-btn {
        width: 3.5rem;
        height: 3.5rem;
    }

    .sidebar-close-btn .close-icon {
        width: 2rem;
        height: 2rem;
    }

    .menu-item-inner {
        padding: 0.625rem 0;
    }

    .menu-link {
        font-size: 0.875rem;
    }

    .sidebar-menu-title {
        font-size: 1.2em;
    }

    .sidebar_social_grid {
        gap: 0.625rem;
        margin-top: 1.5625rem;
    }
}

@media screen and (max-width: 48.875em) {

    /* Compatibility with WP admin bar */
    .admin-bar:not(.side-nav-open) .headroom {
        top: 46px;
    }

    .admin-bar #header {
        margin-top: 46px;
    }

    .admin-bar .side-nav__wrap {
        padding-top: 20px;
    }

    .site-title {
        font-size: 42px;
        font-size: 1.2rem;
    }

    .custom-header-button {
        font-size: 14px;
        font-size: 0.875rem;
    }

    .side-nav .widget .title {
        font-size: 20px;
        font-size: 1.25rem;
    }

    .page .entry-cover-image .entry-header .entry-title,
    .single .entry-cover-image .entry-header .entry-title {
        font-size: 32px;
        font-size: 2rem;
    }

    .previous-post-cover .previous-content .nav-title {
        font-size: 24px;
        font-size: 1.5rem;
    }

    /* Make sure play/pause button can be clicked on smaller screens */
    .wp-custom-header .wp-custom-header-video-button {
        z-index: 10;
    }

    .side-nav__wrap .navbar-toggle {
        padding-left: 20px;
        padding-bottom: 0px;
        margin: 0;
    }
}

@media screen and (max-width: 40em) {
    .clean_skin_wrap_post h3 {
        font-size: 16px;
    }

    .wpz-hero-home {
        flex-direction: column;
    }

    .site-title {
        font-size: 24px;
        font-size: 1.2rem;
        padding-bottom: 0;
        margin-bottom: 10px;
    }

    .site-description {
        font-size: 16px;
        font-size: 1rem;
        text-shadow: none;
    }

    .custom-header-button {
        font-size: 12px;
        font-size: 0.75rem;
    }

    .page .entry-content,
    .single .entry-content {
        margin-top: 20px;
    }

    .page .entry-cover-image .entry-header .entry-title,
    .single .entry-cover-image .entry-header .entry-title {
        font-size: 24px;
        font-size: 1.5rem;
    }

    .entry-title {
        font-size: 24px;
        line-height: 1.5;
    }

    .widget_wpzoom-instagram li:nth-child(3n+3) {
        margin-right: 15px;
    }

    .side-nav__close-button {
        display: block;
    }

    .side-nav-open .site .navbar-toggle .icon-bar:nth-child(2) {
        transform: rotateZ(-40deg) translate3d(4px, 17px, 0);
        width: 12px;
    }

    .side-nav-open .site .navbar-toggle .icon-bar:nth-child(3) {
        transform: translateX(3px);
        opacity: 1;
    }

    .side-nav-open .site .navbar-toggle .icon-bar:nth-child(4) {
        transform: rotateZ(40deg) translate3d(4px, -17px, 0);
        width: 12px;
    }

    .side-nav__wrap {
        padding-top: 20px;
    }

    .site-info {
        font-size: 14px;
        font-size: 0.875rem;
    }

    .site-info .copyright span:nth-child(1) {
        margin-bottom: 10px;
    }

    .site-info .copyright span:nth-child(1),
    .site-info .copyright span:nth-child(2) {
        flex: 100%;
        text-align: center;
    }

    .previous-post-cover .previous-info {
        min-height: 200px;
    }

    .header_social {
        display: none;
    }

    .sb-search .sb-icon-search .svg-icon {
        height: 14px;
        margin: 14px 0;
    }
}

@media screen and (max-width: 37.5em) {
    .admin-bar #header.headroom--not-top {
        margin-top: 0;
    }
}

@media screen and (max-width: 600px) {

    /* Compatibility with WP admin bar */
    .admin-bar:not(.side-nav-open) .headroom {
        top: 46px;
    }

    .admin-bar:not(.side-nav-open) .site-header.headroom--not-top {
        top: 0;
    }
}

@media screen and (max-width: 30em) {
    .site-header.headroom--not-top {
        top: 0;
    }

    .side-nav {
        width: 80vw;
        transform: translateX(-80vw);
    }

    .side-nav-overlay {
        left: 80vw;
    }

    .side-nav-open .side-nav-overlay,
    .side-nav-transitioning {
        display: block;
        z-index: 999998;
        cursor: auto;
    }
}

/* CONTENEDOR */
.lds-footer {
    background: #0b0b0b;
    color: #ccc;
    padding: 60px 20px;
    font-family: Arial, sans-serif;
}

.lds-container {
    max-width: 1200px;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 40px;
}

/* TEXTO */
.lds-logo {
    color: #fff;
    font-size: 22px;
}

.lds-desc {
    font-size: 14px;
    color: #aaa;
}

.lds-title {
    color: #fff;
    margin-bottom: 10px;
    margin-top: 0;
    padding: 0;
}

.lds-text {
    font-size: 14px;
    margin-bottom: 8px;
}

/* LINKS */
.lds-links {
    list-style: none;
    padding: 0;
}

.lds-links li {
    margin-bottom: 8px;
}

.lds-links a {
    color: #aaa;
    text-decoration: none;
}

.lds-links a:hover {
    color: #009043;
}

/* REDES */
.lds-social {
    display: flex;
    gap: 10px;
    margin: 10px 10px 10px 10px;
}

.lds-social a {
    width: 38px;
    height: 38px;
    background: #111;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.lds-social svg {
    width: 18px;
    fill: #aaa;
}

.lds-social a:hover {
    background: #009043;
    color: #fff;
}

.lds-social a:hover svg {
    fill: #000;
}

/* MAPA */
.lds-footer iframe {
    width: 100%;
    height: 120px;
    border: 0;
    border-radius: 8px;
}

/* FOOTER */
.lds-bottom {
    text-align: center;
    margin-top: 30px;
    font-size: 13px;
    color: #666;
}

/* PAGOS */
.lds-payments {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

.lds-payment-item {
    background: #111;
    border: 1px solid #222;
    padding: 8px 14px;
    border-radius: 6px;
    font-size: 13px;
    color: #ccc;
    transition: all 0.3s ease;
}

.lds-payment-item:hover {
    border-color: #009043;
    color: #fff;
}

/* WOMPI DESTACADO */
.lds-wompi {
    border: 1px solid #009043;
    color: #009043;
    font-weight: 600;
}

/* NOTA */
.lds-note {
    font-size: 12px;
    color: #777;
    margin-top: 10px;
    line-height: 1.4;
}

/* MENU FOOTER WP */
.lds-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.lds-links li {
    margin-bottom: 8px;
}

.lds-links a {
    color: #aaa;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s ease;
    display: inline-block;
}

.lds-links a:hover {
    color: #009043;
    transform: translateX(3px);
}

/* submenus (por si los usas luego) */
.lds-links .sub-menu {
    margin-top: 5px;
    padding-left: 10px;
}

/* BRAND */
.lds-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

/* LOGO IMG */
.lds-logo-img {
    width: 80px;
    height: 80px;
    margin: 10px auto;
    display: block;
}

/* TEXTO */
.lds-logo-text {
    color: #ffffff !important;
    font-size: 18px;
    margin: 0;
}

.lds-title {
    color: #ffffff !important;
    font-size: 18px;
    margin: 0;
}

/* RESPONSIVE */
@media (max-width: 600px) {
    .lds-brand {
        flex-direction: column;
        align-items: flex-start;
    }

    .lds-logo-img {
        width: 3cqw;
    }
}

/**
 * ============================================================================
 * ESTILOS DEL CARRITO LATERAL (SIDE CART) - VERSIÓN BLOWUP STYLE CORREGIDA
 * ============================================================================
 */

/* 1. Overlay y Panel Base */
.side-cart-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 999998;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    backdrop-filter: blur(4px);
}

.side-cart-overlay.is-active {
    display: block;
    opacity: 1;
}

.side-cart-panel {
    position: fixed;
    top: 0;
    right: -500px;
    width: 480px;
    max-width: 100%;
    height: 100vh;
    background: #ffffff;
    z-index: 999999;
    box-shadow: -8px 0 30px rgba(0, 0, 0, 0.08);
    transition: right 0.4s cubic-bezier(0.2, 0.9, 0.4, 1.1);
    display: flex;
    flex-direction: column;
}

.side-cart-panel.is-active {
    right: 0;
}

body.side-cart-open {
    overflow: hidden;
}

/* 2. Cabecera */
.side-cart-header {
    padding: 24px 28px;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
}

.side-cart-title {
    margin: 0;
    font-size: 20px;
    font-weight: 500;
    color: #1a1a1a;
}

.close-side-cart {
    background: none;
    border: none;
    cursor: pointer;
    color: #666;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-size: 24px;
}

.close-side-cart:hover {
    color: #000;
    transform: scale(1.1);
}

/* 3. Cuerpo del carrito */
.side-cart-body {
    flex-grow: 1;
    overflow-y: auto;
    padding: 20px 28px;
    display: flex;
    flex-direction: column;
}

.widget_shopping_cart_content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.woocommerce-mini-cart {
    list-style: none;
    margin: 0;
    padding: 0;
    flex-grow: 1;
}

/* 4. Ítems del producto - Estilo Blowup */
.woocommerce-mini-cart-item {
    margin-bottom: 28px;
    padding-bottom: 28px;
    border-bottom: 1px solid #f5f5f5;
    position: relative;
}

.woocommerce-mini-cart-item:last-child {
    border-bottom: none;
}

.custom-cart-item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.custom-cart-image {
    width: 70px;
    flex-shrink: 0;
    background: #fafafa;
    border-radius: 8px;
    overflow: hidden;
}

/* Neutralizar estilos WooCommerce en imágenes del mini-carrito */
.woocommerce ul.cart_list li .custom-cart-image img,
.woocommerce ul.product_list_widget li .custom-cart-image img,
.custom-cart-image img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    display: block !important;
    float: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

.custom-cart-details {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Título - SIN EL BOTÓN DE ELIMINAR */
.custom-cart-title-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.custom-cart-title {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    color: #1a1a1a;
}

.custom-cart-title a {
    color: #1a1a1a;
    text-decoration: none;
}

/* OCULTAR COMPLETAMENTE EL BOTÓN DE ELIMINAR (X) DE CADA PRODUCTO */
.remove_from_cart_button {
    display: none !important;
}

/* Meta información */
.custom-cart-meta {
    font-size: 12px;
    color: #888;
    line-height: 1.4;
}

.custom-cart-meta p {
    margin: 0;
}

/* Controles de cantidad y precio */
.custom-cart-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 4px;
}

.custom-qty-selector {
    display: flex;
    align-items: center;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}

.qty-btn {
    background: none;
    border: none;
    width: 32px;
    height: 32px;
    font-size: 18px;
    font-weight: 500;
    color: #666;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.2s ease;
}

.qty-btn:hover {
    background: #f5f5f5;
    color: #000;
}

.qty-input {
    width: 36px;
    border: none;
    text-align: center;
    font-size: 13px;
    font-weight: 500;
    padding: 0;
    -moz-appearance: textfield;
    pointer-events: none;
    background: #fff;
}

.custom-cart-price {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
}

/* 5. Footer del Carrito - SOLO UN SUBTOTAL */
.custom-cart-footer {
    padding: 20px 28px 2px;
    border-top: 1px solid #f0f0f0;
    background: #fff;
    margin-top: auto;
}

.custom-cart-subtotal {
    display: flex;
    justify-content: space-between;

}

/* Ocultar el subtotal duplicado que genera WooCommerce */
.woocommerce-mini-cart__total.total {
    margin-bottom: 15px;
}

.woocommerce-mini-cart__total.total strong {
    font-weight: 500;
    color: #1a1a1a;
    font-size: 16px;
}

/* Nota de envío */
.side-cart-footer-note {
    padding: 0 0 30px 0;
    text-align: center;
    font-size: 11px;
    color: #999;
    border-top: none;
    margin-top: 10px;
}

/* Botón checkout - AL FINAL */
.custom-checkout-btn {
    display: block;
    width: 100%;
    background-color: #1a1a1a !important;
    color: #fff !important;
    text-align: center;
    padding: 16px 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 1px;
    text-transform: uppercase;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    box-shadow: none !important;
    line-height: normal !important;
}

/* Neutralizar estilos WooCommerce en el botón de finalizar pedido */
.woocommerce #respond input#submit.custom-checkout-btn,
.woocommerce a.button.custom-checkout-btn,
.woocommerce button.button.custom-checkout-btn,
.woocommerce input.button.custom-checkout-btn {
    background-color: #1a1a1a !important;
    color: #fff !important;
    padding: 16px 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    line-height: normal !important;
    width: 100% !important;
    display: block !important;
}

.custom-checkout-btn:hover {
    background-color: #000 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* Estado vacío */
.custom-cart-empty {
    text-align: center;
    padding: 60px 20px;
}

/* Scrollbar */
.side-cart-body::-webkit-scrollbar {
    width: 4px;
}

.side-cart-body::-webkit-scrollbar-track {
    background: #f5f5f5;
}

.side-cart-body::-webkit-scrollbar-thumb {
    background: #ddd;
    border-radius: 4px;
}

/* Estado de actualización del carrito - SIN HACERSE TRANSPARENTE */
.side-cart-panel.side-cart-updating {
    opacity: 1 !important;
    pointer-events: none;
}

.side-cart-panel.side-cart-updating .side-cart-body {
    position: relative;
}

.side-cart-panel.side-cart-updating .side-cart-body::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.7);
    z-index: 10;
    pointer-events: none;
}

/* Indicador de carga en el item específico */
.woocommerce-mini-cart-item.updating-item {
    opacity: 0.6;
    transition: opacity 0.2s ease;
}

.woocommerce-mini-cart-item.updating-item .qty-btn {
    pointer-events: none;
}

/* Error en actualización */
.woocommerce-mini-cart-item.update-error {
    animation: shake 0.3s ease;
    background: #fff5f5;
}

@keyframes shake {

    0%,
    100% {
        transform: translateX(0);
    }

    25% {
        transform: translateX(-5px);
    }

    75% {
        transform: translateX(5px);
    }
}


/**
 * ============================================================================
 * ESTILOS DEL CHECKOUT ESTILO BLOWUP
 * ============================================================================
 */

/* 1. NAVBAR PERSONALIZADO */
.checkout-nav {
    background-color: #ffffff;
    border-bottom: 1px solid #eaeaea;
    padding: 20px 0;
    position: sticky;
    top: 0;
    z-index: 1000;
    background: white;
}

.checkout-nav-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.checkout-logo {
    display: inline-block;
    text-decoration: none;
}

.checkout-nav .custom-logo-link {
    display: inline-block;
    margin: 0 auto;
    line-height: 0;
}

.checkout-logo img {
    max-height: 45px;
    width: auto;
}

.checkout-nav .custom-logo-link img {
    max-height: 45px;
    width: auto;
}

.site-name {
    font-size: 24px;
    font-weight: 700;
    color: #111111;
    letter-spacing: -0.5px;
}

.checkout-cart-icon {
    position: relative;
    display: inline-block;
    color: #111111;
    transition: color 0.3s ease;
}

.checkout-cart-icon:hover {
    color: #666666;
}

.checkout-cart-icon svg {
    stroke: currentColor;
}

.cart-count {
    position: absolute;
    top: -8px;
    right: -12px;
    background-color: #111111;
    color: white;
    font-size: 11px;
    font-weight: 700;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 2. CONTENEDOR PRINCIPAL DEL CHECKOUT */
.custom-blowup-checkout {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
}

.custom-blowup-checkout .blowup-checkout-wrapper {
    display: flex;
    gap: 60px;
    align-items: flex-start;
    margin: 40px 0 80px;
}

/* 3. COLUMNA IZQUIERDA (CON SCROLL) */
.blowup-checkout-left {
    flex: 1;
    min-width: 0;
    /* Permite que el contenido se reduzca correctamente */
    max-height: calc(100vh - 140px);
    overflow-y: auto;
    padding-right: 15px;
}

/* Personalización del scroll en la columna izquierda */
.blowup-checkout-left::-webkit-scrollbar {
    width: 6px;
}

.blowup-checkout-left::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.blowup-checkout-left::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 10px;
}

.blowup-checkout-left::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

/* 4. COLUMNA DERECHA (STICKY) */
.blowup-checkout-right {
    flex: 0.8;
    min-width: 360px;
}

.blowup-order-review-container {
    background-color: #f8f9fa;
    border-radius: 12px;
    padding: 30px;
    position: sticky;
    top: 100px;
    border: 1px solid #e9ecef;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}

/* 5. ESTILOS DEL FORMULARIO DE CUPÓN */
.checkout-coupon-wrapper {
    margin-bottom: 25px;
}


/* 6. ESTILOS DE LA TABLA DE RESUMEN */
.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 15px 0;
    border-bottom: 1px solid #e9ecef;
    text-align: left;
}

.woocommerce-checkout-review-order-table td:last-child,
.woocommerce-checkout-review-order-table th:last-child {
    text-align: right;
}

.woocommerce-checkout-review-order-table .product-name {
    font-weight: 500;
    color: #333333;
}

.woocommerce-checkout-review-order-table tfoot tr:last-child td,
.woocommerce-checkout-review-order-table tfoot tr:last-child th {
    border-bottom: none;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    font-size: 20px;
    font-weight: 700;
    color: #111111;
    padding-top: 20px;
}

/* 7. ESTILOS DE LOS CAMPOS DEL FORMULARIO */
.woocommerce form .form-row {
    margin-bottom: 20px;
}

.woocommerce form .form-row label {
    font-size: 13px;
    font-weight: 600;
    color: #333333;
    margin-bottom: 8px;
    display: block;
}

.woocommerce form .form-row .required {
    display: none;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    font-size: 14px;
    background-color: #ffffff;
    transition: all 0.3s ease;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
    border-color: #111111;
    outline: none;
    box-shadow: 0 0 0 2px rgba(17, 17, 17, 0.1);
}

/* Estilos para Select2 */
.select2-container .select2-selection--single {
    height: auto !important;
    padding: 8px 0;
    border: 1px solid #dee2e6 !important;
    border-radius: 6px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1.5 !important;
    padding: 0 15px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    right: 10px !important;
}

/* Títulos de secciones */
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3 {
    font-size: 18px;
    font-weight: 700;
    color: #111111;
    margin: 0 0 20px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #e9ecef;
}

/* 8. ESTILOS DE LOS MÉTODOS DE PAGO */
#payment {
    background: transparent;
    border-radius: 0;
    margin-top: 30px;
}

#payment ul.payment_methods {
    padding: 0;
    border: none;
    margin-bottom: 20px;
}

#payment ul.payment_methods li {
    margin-bottom: 15px;
}

#payment div.payment_box {
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 15px;
    margin-top: 10px;
    font-size: 13px;
    color: #666666;
}

#payment div.payment_box::before {
    border-bottom-color: #f8f9fa;
}

#payment .place-order {
    padding: 20px 0 0 0;
    background: transparent;
}

#payment #place_order {
    width: 100%;
    background-color: #111111;
    color: white;
    padding: 16px;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
}

#payment #place_order:hover {
    background-color: #333333;
    transform: translateY(-2px);
}

#payment #place_order:active {
    transform: translateY(0);
}

/* Términos y condiciones */
.woocommerce-terms-and-conditions-wrapper {
    margin-bottom: 20px;
}

.woocommerce-terms-and-conditions-wrapper label {
    font-size: 13px;
    font-weight: normal;
    color: #666666;
}

/* 9. RESPONSIVE DESIGN */
@media (max-width: 1024px) {

    .checkout-nav-inner,
    .custom-blowup-checkout {
        padding: 0 25px;
    }

    .custom-blowup-checkout .blowup-checkout-wrapper {
        gap: 40px;
    }

    .blowup-checkout-right {
        flex: 0.9;
    }
}

@media (max-width: 768px) {

    .checkout-nav-inner,
    .custom-blowup-checkout {
        padding: 0 20px;
    }

    .custom-blowup-checkout .blowup-checkout-wrapper {
        flex-direction: column-reverse;
        gap: 30px;
    }

    .blowup-checkout-left {
        max-height: none;
        overflow-y: visible;
        padding-right: 0;
    }

    .blowup-checkout-right {
        width: 100%;
        min-width: auto;
    }

    .blowup-order-review-container {
        position: relative;
        top: 0;
        padding: 20px;
    }

    .checkout-coupon-form {
        flex-direction: column;
    }

    .btn-apply-coupon {
        width: 100%;
    }
}

@media (max-width: 480px) {

    .checkout-nav-inner,
    .custom-blowup-checkout {
        padding: 0 15px;
    }

    .custom-blowup-checkout .blowup-checkout-wrapper {
        flex-direction: column-reverse;
    }

    .blowup-order-review-container {
        padding: 15px;
    }

    .woocommerce-checkout-review-order-table th,
    .woocommerce-checkout-review-order-table td {
        padding: 12px 0;
        font-size: 14px;
    }

    #payment #place_order {
        padding: 14px;
        font-size: 14px;
    }
}

/* ============================================
   CHECKOUT BLOWUP - ESTRUCTURA FINAL CORREGIDA
   ============================================ */

/* Contenedor principal - IMPORTANTE para el scroll blowup */
.custom-blowup-checkout .blowup-checkout-wrapper {
    display: flex;
    gap: 32px;
    align-items: flex-start;
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 100px;
}

/* Columna izquierda - con scroll normal */
.custom-blowup-checkout .blowup-checkout-left {
    flex: 1.2;
    background: #ffffff;
    border: 1px solid #ececec;
    border-radius: 12px;
    padding: 28px;
    position: relative;
}

/* Columna derecha - se vuelve sticky al hacer scroll */
.custom-blowup-checkout .blowup-checkout-right {
    flex: 0.8;
    position: sticky;
    top: 24px;
    align-self: flex-start;
    max-height: calc(100vh - 48px);
}

.custom-blowup-checkout .blowup-order-review-container {
    background-color: #f6f6f6;
    border-radius: 12px;
    padding: 24px;
    overflow-y: auto;
    max-height: 100%;
}

/* Scroll personalizado para el resumen */
.custom-blowup-checkout .blowup-order-review-container::-webkit-scrollbar {
    width: 6px;
}

.custom-blowup-checkout .blowup-order-review-container::-webkit-scrollbar-track {
    background: #e5e5e5;
    border-radius: 8px;
}

.custom-blowup-checkout .blowup-order-review-container::-webkit-scrollbar-thumb {
    background: #b9b9b9;
    border-radius: 8px;
}

.custom-blowup-checkout .blowup-order-review-container::-webkit-scrollbar-thumb:hover {
    background: #999;
}

.checkout-nav {
    position: relative;
    top: auto;
    padding: 16px 0;
    border-bottom: 1px solid #ececec;
}

.checkout-nav-inner {
    justify-content: center;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
}

.checkout-logo {
    margin: 0 auto;
}

/* Estilos de formularios - INPUTS MEJORADOS */
.custom-blowup-checkout .woocommerce-billing-fields .form-row,
.custom-blowup-checkout .woocommerce-shipping-fields .form-row,
.custom-blowup-checkout .woocommerce-account-fields .form-row {
    margin-bottom: 18px;
}

.custom-blowup-checkout input[type="text"],
.custom-blowup-checkout input[type="email"],
.custom-blowup-checkout input[type="tel"],
.custom-blowup-checkout input[type="number"],
.custom-blowup-checkout select,
.custom-blowup-checkout textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 15px;
    transition: all 0.2s ease;
    background-color: #fff;
}

.custom-blowup-checkout input:focus,
.custom-blowup-checkout select:focus,
.custom-blowup-checkout textarea:focus {
    border-color: #111;
    outline: none;
    box-shadow: 0 0 0 2px rgba(17, 17, 17, 0.1);
}

/* Botones mejorados */
.custom-blowup-checkout .btn-apply-coupon,
.custom-blowup-checkout #place_order {
    background-color: #111;
    color: #fff;
    border: none;
    padding: 14px 24px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease;
    width: 100%;
    margin-bottom: 20px;
}

.custom-blowup-checkout button:hover,
.custom-blowup-checkout .btn-apply-coupon:hover,
.custom-blowup-checkout #place_order:hover {
    background-color: #333;
}

/* Botón de cupón en grid */
.checkout-coupon-form {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Input wrapper con botón integrado */
.checkout-coupon-input-wrapper {
    display: flex !important;
    gap: 0 !important;
    align-items: stretch !important;
    padding: 0 !important;
    margin: 0 !important;
}

.checkout-coupon-input-wrapper .input-coupon {
    flex: 1;
    min-width: 0;
    border-radius: 0 !important;
    border: 1.5px solid #111 !important;
    border-right: none !important;
    margin: 0 !important;
    padding: 12px 14px !important;
    min-height: 46px !important;
    height: 46px !important;
    box-sizing: border-box !important;
    font-size: 14px;
    font-weight: 400;
    display: flex;
    align-items: center;
}

.checkout-coupon-form .btn-apply-coupon {
    width: auto;
    padding: 0 16px !important;
    min-height: 37px !important;
    height: 46px !important;
    white-space: nowrap;
    border-radius: 0 !important;
    border: 1.5px solid #111 !important;
    background: #111 !important;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    cursor: pointer;
    transition: all 0.2s ease;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.checkout-coupon-form .btn-apply-coupon:hover:not(:disabled),
.checkout-coupon-form .btn-apply-coupon:focus:not(:disabled) {
    background: #333 !important;
    border-color: #333 !important;
}

.checkout-coupon-form .btn-apply-coupon:disabled {
    background: #d3d3d3 !important;
    border-color: #d3d3d3 !important;
    color: #999 !important;
    cursor: not-allowed;
    opacity: 0.6;
}

.checkout-coupon-input-wrapper .input-coupon:focus {
    outline: none !important;
    border-color: #111 !important;
    box-shadow: 0 0 0 2px rgba(17, 17, 17, 0.1) !important;
}

/* Input de cupón */
.checkout-coupon-form input[type="text"] {
    margin: 0 !important;
}

/* Estilos de secciones */
.custom-single-column-checkout {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.checkout-section-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    margin-top: 30px;
}

.checkout-section-header h2,
.checkout-section-title {
    font-size: 22px;
    line-height: 1.2;
    font-weight: 700;
    color: #111111;
    margin: 2px 0 10px;
}

.checkout-section-header h2 {
    margin: 0;
}

.checkout-section-subtitle {
    margin: -4px 0 14px;
    color: #5f5f5f;
    font-size: 14px;
}

.checkout-login-link {
    font-size: 14px;
    color: #111111;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.checkout-login-link:hover {
    color: #444444;
}

/* Ocultar títulos originales de WooCommerce */
.custom-blowup-checkout .woocommerce-billing-fields>h3,
.custom-blowup-checkout .woocommerce-shipping-fields>h3,
.custom-blowup-checkout .woocommerce-additional-fields>h3 {
    display: none;
}

/* Checkboxes mejorados */
.checkout-optin-field {
    margin: 8px 0 0;
}

.checkout-optin-field label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    line-height: 1.4;
    color: #2f2f2f;
    font-weight: 500;
    cursor: pointer;
}

.checkout-optin-field input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    cursor: pointer;
    accent-color: #111;
}

/* Métodos de envío */
.checkout-shipping-methods-custom {
    margin-top: 8px;
    border-top: 1px solid #efefef;
    padding-top: 14px;
}

.checkout-shipping-package {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.checkout-shipping-rate {
    display: grid;
    grid-template-columns: 20px 1fr auto;
    align-items: center;
    gap: 10px;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    padding: 12px 14px;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.checkout-shipping-rate:hover {
    border-color: #111;
    background-color: #fafafa;
}

.checkout-shipping-rate input[type="radio"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: #111;
}

.checkout-shipping-rate-label {
    color: #202020;
    font-size: 14px;
}

.checkout-shipping-rate-price {
    font-weight: 700;
    color: #111111;
    font-size: 14px;
}

.checkout-hidden-review {
    display: none;
}

/* Métodos de pago */
.custom-payment-methods {
    margin-top: 14px;
    border-top: 1px solid #efefef;
    padding-top: 16px;
}

.custom-payment-methods #payment ul.payment_methods {
    padding: 0;
    list-style: none;
}

.custom-payment-methods #payment ul.payment_methods li {
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    padding: 12px;
    margin-bottom: 10px;
}

.custom-payment-methods #payment ul.payment_methods li input[type="radio"] {
    accent-color: #111;
    width: 18px;
    height: 18px;
    margin-right: 10px;
}

/* Resumen de items */
.checkout-summary-items {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 12px;
}

.checkout-summary-item {
    display: grid;
    grid-template-columns: 64px 1fr auto;
    gap: 10px;
    align-items: start;
}

.checkout-summary-thumb-wrap {
    width: 64px;
    height: 64px;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #dddddd;
    background: #ffffff;
}

.checkout-summary-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.checkout-summary-qty-badge {
    position: absolute;
    top: 4px;
    right: 4px;
    min-width: 16px;
    height: 16px;
    border-radius: 999px;
    padding: 0 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
    color: #fff;
    background: #111;
}

.checkout-summary-name {
    margin: 2px 0 2px;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 600;
    color: #222;
}

.checkout-summary-variation,
.checkout-summary-variation p,
.checkout-summary-variation dl,
.checkout-summary-variation dt,
.checkout-summary-variation dd {
    margin: 0;
    font-size: 13px;
    color: #8a8a8a;
    line-height: 1.25;
}

.checkout-summary-line-total {
    font-size: 14px;
    font-weight: 700;
    color: #111;
    white-space: nowrap;
    margin-top: 3px;
}

/* Cupón */
.checkout-coupon-wrapper {
    margin: 10px 0 8px;
}

.checkout-coupon-label {
    display: none;
}

/* Totales */
.checkout-totals-block {
    margin-top: 10px;
    border-top: 0;
    padding-top: 4px;
}

.checkout-subtotal-row,
.checkout-envio-row,
.checkout-total-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 5px 0;
    color: #202020;
}

.checkout-total-row {
    border-top: 0;
    margin-top: 4px;
    padding-top: 6px;
    font-size: 20px;
    font-weight: 700;
}

.checkout-impuestos-row {
    margin-top: 2px;
    font-size: 13px;
    color: #626262;
}

/* Modal de envío */
.envio-modal-open {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    margin-left: 5px;
    border-radius: 50%;
    border: 1px solid #303030;
    background: transparent;
    color: #111;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: all 0.2s ease;
}

.envio-modal-open:hover {
    background: #111;
    color: #fff;
    border-color: #111;
}

.checkout-envio-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.checkout-envio-modal.is-open {
    opacity: 1;
    visibility: visible;
}

.checkout-envio-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
}

.checkout-envio-modal-dialog {
    position: relative;
    width: min(640px, calc(100% - 32px));
    max-height: calc(100vh - 40px);
    overflow: auto;
    margin: 20px auto;
    background: #fff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 12px 50px rgba(0, 0, 0, 0.24);
}

.checkout-envio-modal-close {
    position: absolute;
    top: 10px;
    right: 12px;
    border: 0;
    background: transparent;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    color: #222;
    padding: 8px;
}

.checkout-envio-modal-close:hover {
    color: #009043;
    transform: scale(1.1);
}

.checkout-envio-modal-dialog h4 {
    margin: 0 0 12px;
    font-size: 24px;
    font-weight: 700;
    color: #111;
}

.checkout-envio-modal-dialog p {
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 10px;
    color: #2f2f2f;
}

.checkout-modal-open {
    overflow: hidden;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
    .custom-blowup-checkout .blowup-checkout-wrapper {
        gap: 24px;
        padding: 0 20px;
    }

    .custom-blowup-checkout .blowup-checkout-left {
        padding: 22px;
    }
}

@media (max-width: 768px) {
    .custom-blowup-checkout .blowup-checkout-wrapper {
        flex-direction: column;
        gap: 24px;
    }

    .custom-blowup-checkout .blowup-checkout-left {
        order: unset;
    }

    .custom-blowup-checkout .blowup-checkout-right {
        order: unset;
        position: static;
        top: auto;
        max-height: none;
    }

    .custom-blowup-checkout .blowup-order-review-container {
        max-height: none;
        overflow: visible;
    }

    .checkout-section-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .checkout-coupon-form {
        grid-template-columns: 1fr;
    }

    .checkout-coupon-form .btn-apply-coupon {
        width: 100%;
    }

    .checkout-summary-item {
        grid-template-columns: 56px 1fr;
    }

}

/* ============================================================================
   OCULTAR TÍTULO DE ENTRADA EN LA PÁGINA DE INICIO
   ============================================================================ */
.home .entry-header .entry-title,
.front-page .entry-header .entry-title,
.inspiro-front-page .entry-header .entry-title {
    display: none;
}

/* ============================================================================
   DIVIDER POS-VIDEO
   ============================================================================ */
.lds-video-divider {
    display: block;
    height: 0 !important;
    background: none !important;
    border: none !important;
    border-top: 1px solid #ddd !important;
    margin: 100px 10px 1px !important;
    padding: 0 !important;
}

/* ============================================================================
   GRID ÚLTIMA COLECCIÓN (INICIO)
   ============================================================================ */
.lds-ultima-coleccion {
    padding: 56px 20px 72px;
    margin: 0 auto;
}

.post-type-archive-product .shop-wrapper > .lds-shop-archive {
    padding: 56px 20px 72px;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}

.post-type-archive-product .shop-wrapper > .lds-shop-archive .lds-coleccion-grid {
    margin: 0;
}

.post-type-archive-product .lds-shop-grid,
body.tax-product_cat .lds-shop-grid,
body.tax-product_tag .lds-shop-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.post-type-archive-product .lds-shop-item,
body.tax-product_cat .lds-shop-item,
body.tax-product_tag .lds-shop-item {
    width: 100%;
}

.post-type-archive-product .lds-shop-item .lds-coleccion-img-wrap,
body.tax-product_cat .lds-shop-item .lds-coleccion-img-wrap,
body.tax-product_tag .lds-shop-item .lds-coleccion-img-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    background: #f5f5f5;
}

.post-type-archive-product .lds-shop-item .lds-coleccion-img-link,
.post-type-archive-product .lds-shop-item .lds-coleccion-img-wrap,
body.tax-product_cat .lds-shop-item .lds-coleccion-img-link,
body.tax-product_cat .lds-shop-item .lds-coleccion-img-wrap,
body.tax-product_tag .lds-shop-item .lds-coleccion-img-link,
body.tax-product_tag .lds-shop-item .lds-coleccion-img-wrap {
    width: 100%;
}

.post-type-archive-product .lds-shop-item .lds-coleccion-img-link,
body.tax-product_cat .lds-shop-item .lds-coleccion-img-link,
body.tax-product_tag .lds-shop-item .lds-coleccion-img-link {
    position: absolute;
    inset: 0;
    display: block;
    overflow: hidden;
}

.post-type-archive-product .lds-shop-item .lds-coleccion-img-wrap img,
body.tax-product_cat .lds-shop-item .lds-coleccion-img-wrap img,
body.tax-product_tag .lds-shop-item .lds-coleccion-img-wrap img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.post-type-archive-product .lds-shop-item .lds-vista-rapida,
body.tax-product_cat .lds-shop-item .lds-vista-rapida,
body.tax-product_tag .lds-shop-item .lds-vista-rapida {
    left: 12px;
    right: 12px;
    bottom: 12px;
    min-height: 32px;
    line-height: 1.1;
    font-size: 0.66rem;
    letter-spacing: 0.12em;
    border: 0;
    background: #111;
    color: #fff;
    box-shadow: none;
}

.post-type-archive-product .lds-shop-item:hover .lds-vista-rapida,
body.tax-product_cat .lds-shop-item:hover .lds-vista-rapida,
body.tax-product_tag .lds-shop-item:hover .lds-vista-rapida {
    opacity: 1;
    transform: translateY(0);
}

.post-type-archive-product .lds-shop-archive .lds-coleccion-info,
body.tax-product_cat .lds-shop-archive .lds-coleccion-info,
body.tax-product_tag .lds-shop-archive .lds-coleccion-info {
    padding: 14px 2px 0;
}

.lds-quick-view-modal .lds-qv-cart-form-wrap .single_add_to_cart_button,
body.post-type-archive-product .lds-quick-view-modal .lds-qv-cart-form-wrap .single_add_to_cart_button,
body.tax-product_cat .lds-quick-view-modal .lds-qv-cart-form-wrap .single_add_to_cart_button,
body.tax-product_tag .lds-quick-view-modal .lds-qv-cart-form-wrap .single_add_to_cart_button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    min-height: 46px;
    border: 1.5px solid #111;
    background: #fff;
    color: #111;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.63rem;
    font-weight: 700;
    padding: 0 16px;
    line-height: 1;
    border-radius: 0;
    cursor: pointer;
}

.lds-quick-view-modal .lds-qv-btn-buy-now,
body.post-type-archive-product .lds-quick-view-modal .lds-qv-btn-buy-now,
body.tax-product_cat .lds-quick-view-modal .lds-qv-btn-buy-now,
body.tax-product_tag .lds-quick-view-modal .lds-qv-btn-buy-now {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    min-height: 46px;
    padding: 0 16px;
    font-size: 0.63rem;
    letter-spacing: 0.14em;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 0;
    background: #111 !important;
    color: #fff !important;
    border: 1.5px solid #111;
    line-height: 1;
}

.lds-coleccion-header {
    text-align: left;
    margin-bottom: 32px;
}

.lds-coleccion-titulo {
    font-size: 30px;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin: 0 0 8px;
}

.lds-coleccion-subtitulo {
    font-size: 1rem;
    color: #666;
    margin: 0;
}

/* Grid: 4 columnas en desktop */
.lds-coleccion-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

/* Tarjeta de producto */
.lds-coleccion-item {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    transition: transform 0.22s ease;
}

.lds-coleccion-img-link,
.lds-coleccion-info-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.lds-coleccion-item:hover {
    transform: translateY(-4px);
    color: inherit;
    text-decoration: none;
}

.lds-coleccion-img-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    background: #f5f5f5;
}

.lds-coleccion-img-link {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.lds-coleccion-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease, opacity 0.3s ease;
}

.lds-coleccion-item:hover .lds-coleccion-img-wrap img {
    transform: scale(1.04);
}

.lds-img-main {
    position: absolute;
    inset: 0;
    opacity: 1;
}

.lds-img-hover {
    position: absolute;
    inset: 0;
    opacity: 0;
}

.lds-coleccion-item:hover .lds-coleccion-img-wrap.has-hover-image .lds-img-main {
    opacity: 0;
}

.lds-coleccion-item:hover .lds-coleccion-img-wrap.has-hover-image .lds-img-hover {
    opacity: 1;
}

.lds-badge-nuevo {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #111;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 2px;
    z-index: 3;
}

.lds-badge-oferta {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #009043;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 2px;
    z-index: 3;
}

.lds-vista-rapida {
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 10px;
    display: block;
    border: 0;
    height: 30px;
    line-height: 28px;
    text-align: center;
    background: #111;
    color: #fff;
    font-family: inherit;
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0;
    cursor: pointer;
    transform: translateY(8px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    z-index: 10;
}

.lds-coleccion-item:hover .lds-vista-rapida {
    opacity: 1;
    transform: translateY(0);
}

/* ==========================================================================
   VISTA RAPIDA PRODUCTO
========================================================================== */
.lds-qv-open {
    overflow: hidden;
}

.lds-quick-view-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
}

.lds-quick-view-modal.is-open {
    display: flex;
    align-items: center;
    justify-content: center;
}

.lds-quick-view-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.48);
}

.lds-quick-view-dialog {
    position: relative;
    z-index: 2;
    width: calc(100% - 32px);
    max-width: 1100px;
    height: 80vh;
    max-height: 80vh;
    padding: 45px;
    background: #f8f8f8;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.lds-quick-view-dialog .lds-qv-layout {
    flex: 1;
    min-height: 0;
}

.lds-quick-view-dialog .lds-qv-media {
    height: 100%;
}

.lds-quick-view-dialog .lds-qv-main-image-wrap {
    height: 100%;
    aspect-ratio: unset;
}

.lds-quick-view-close {
    position: absolute;
    top: 10px;
    right: 1px;
    border: 0;
    background: transparent;
    color: #111;
    font-size: 32px;
    font-weight: 200;
    line-height: 1;
    cursor: pointer;
}

.lds-quick-view-close:hover {
    color: #009043;
}

.lds-qv-loading {
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lds-qv-spinner {
    display: block;
    width: 28px;
    height: 28px;
    border: 2px solid #d0d0d0;
    border-top-color: #111;
    border-radius: 50%;
    animation: lds-qv-spin 0.7s linear infinite;
}

@keyframes lds-qv-spin {
    to { transform: rotate(360deg); }
}

.lds-qv-layout {
    display: grid;
    grid-template-columns: minmax(0, 46%) minmax(0, 54%);
    gap: 26px;
    align-items: start;
    /* --- AJUSTE: Lado izquierdo 90vh, scroll derecho invisible --- */
    max-height: none;
}

.lds-qv-media {
    max-height: 90vh !important;
}
.lds-qv-main-image-wrap {
    max-height: 90vh !important;
}
.lds-qv-main-image {
    max-height: 90vh !important;
}
.lds-qv-summary {
    overflow-y: scroll !important;
    max-height: 90vh !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}
.lds-qv-summary::-webkit-scrollbar {
    display: none !important; /* Chrome, Safari, Opera */
}


/* --- AJUSTE: Lado izquierdo 90vh, scroll derecho invisible --- */
.lds-qv-media {
    max-height: 90vh !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.lds-qv-main-image-wrap {
    max-height: 90vh !important;
}
.lds-qv-main-image {
    max-height: 90vh !important;
}
.lds-qv-summary {
    overflow-y: scroll !important;
    max-height: 90vh !important;
    scrollbar-width: none !important; /* Firefox */
    -ms-overflow-style: none !important; /* IE 10+ */
}
.lds-qv-summary::-webkit-scrollbar {
    display: none !important; /* Chrome, Safari, Opera */
}

.lds-qv-main-image-wrap {
    max-height: 60vh;
}

.lds-qv-main-image {
    max-height: 60vh;
}

.lds-qv-summary {
    overflow-y: auto;
    max-height: 90vh;
}

.lds-qv-media {
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 16px;
}

.lds-qv-media.lds-qv-media--single {
    grid-template-columns: minmax(0, 1fr);
}

.lds-qv-thumbs {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: min(90vh, 620px);
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.lds-qv-thumbs::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

.single-product .lds-sp-thumbs {
    max-height: min(90vh, 620px);
}

.lds-qv-thumb {
    display: block;
    line-height: 0;
    border: 1px solid #d9d9d9;
    background: #fff;
    padding: 0;
    cursor: pointer;
}

.lds-qv-thumb.is-active {
    border-color: #111;
}

.lds-qv-thumb img {
    display: block;
    width: 82px;
    height: 112px;
    object-fit: cover;
}

.lds-qv-main-image-wrap {
    background: #f5f5f5;
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    position: relative;
}

.lds-qv-main-image {
    display: block;
    visibility: visible;
    opacity: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.lds-qv-summary {
    min-width: 0;
}

.lds-qv-title {
    margin: 0 0 6px;
    font-size: clamp(1.25rem, 1.9vw, 1.65rem);
    line-height: 1.18;
    color: #111;
    font-weight: 600;
}

.lds-qv-price {
    color: #111;
    font-size: 0.92rem;
}

.lds-qv-price .amount {
    font-size: 14px;
    font-weight: 400;
}

.lds-qv-description {
    margin: 0 0 22px;
    color: #222;
    font-size: 0.92rem;
    line-height: 1.55;
}

.lds-qv-btn {
    width: auto;
    min-width: 190px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #111;
    color: #fff;
    border: 1px solid #111;
    text-align: center;
    padding: 8px 14px;
    letter-spacing: 0.14em;
    font-size: 0.6rem;
    font-weight: 600;
    line-height: 1.1;
    border-radius: 0;
    margin: 0;
}

.lds-qv-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: flex-start;
}

.lds-qv-actions .button,
.lds-qv-actions button {
    margin: 0;
}

.lds-qv-cart-form-wrap {
    width: 100%;
}

.lds-qv-cart-form-wrap form.cart {
    margin: 0;
    width: 100%;
}

.woocommerce-notices-wrapper {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
}

.lds-qv-cart-form-wrap .quantity {
    display: none !important;
}

.lds-qv-cart-form-wrap .single_variation_wrap,
.lds-qv-cart-form-wrap .woocommerce-variation-add-to-cart,
.lds-qv-cart-form-wrap .woocommerce-variation {
    width: 100%;
}

.lds-qv-cart-form-wrap table.variations {
    margin: 0 0 10px;
    width: 100%;
}

.lds-qv-cart-form-wrap table.variations th,
.lds-qv-cart-form-wrap table.variations td {
    padding: 0 0 8px;
}

.lds-qv-cart-form-wrap table.variations th.label label {
    margin: 0;
    color: #111;
    font-size: 0.63rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.lds-qv-cart-form-wrap table.variations select {
    width: 100%;
    min-height: 40px;
    border: 1px solid #d2d2d2;
    background: #fff;
    font-size: 0.76rem;
    color: #111;
    padding: 8px 10px;
}

.lds-qv-cart-form-wrap .reset_variations {
    font-size: 0.66rem;
    letter-spacing: 0.06em;
}

.lds-qv-cart-form-wrap .single_add_to_cart_button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    min-height: 46px;
    border: 1.5px solid #111;
    background: #fff;
    color: #111;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-size: 0.63rem;
    font-weight: 700;
    padding: 0 16px;
    line-height: 1;
    border-radius: 0;
    cursor: pointer;
}

.lds-qv-btn-buy-now {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    min-height: 46px;
    padding: 0 16px;
    font-size: 0.63rem;
    letter-spacing: 0.14em;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 0;
    background: #111 !important;
    color: #fff !important;
    border: 1.5px solid #111;
    line-height: 1;
}

.lds-qv-btn-buy-now:hover,
.lds-qv-btn-buy-now:focus {
    background: #333 !important;
    color: #fff !important;
    text-decoration: none;
    border: none !important;
}

.lds-qv-accordions {
    margin-top: 14px;
    border: 1px solid #d8d8d8;
}

.lds-qv-accordion {
    border-bottom: 1px solid #d8d8d8;
}

.lds-qv-accordion:last-child {
    border-bottom: none;
}

.lds-qv-accordion summary {
    list-style: none;
    cursor: pointer;
    padding: 12px 14px;
    position: relative;
    font-size: 0.63rem;
    font-weight: 600;
    letter-spacing: 0.24em;
    color: #111;
    text-transform: uppercase;
}

.lds-qv-accordion summary::-webkit-details-marker {
    display: none;
}

.lds-qv-accordion summary::after {
    content: '+';
    position: absolute;
    right: 2px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.95rem;
    line-height: 1;
}

.lds-qv-accordion[open] summary::after {
    content: '-';
}

.lds-qv-accordion-content {
    padding: 0 14px 12px;
    color: #333;
    font-size: 0.74rem;
    line-height: 1.55;
}

.lds-qv-btn:hover,
.lds-qv-btn:focus {
    background: #fff;
    color: #111;
}

/* ==========================================================================
   PRODUCTO INDIVIDUAL (ESTILO QUICK VIEW FULL WIDTH)
========================================================================== */
.single-product .woocommerce-breadcrumb {
    margin-bottom: 20px;
}

.lds-product-full {
    padding: 18px 0 8px;
}

.lds-product-full__inner.lds-sp-layout {
    grid-template-columns: minmax(0, 48%) minmax(0, 52%);
    gap: 28px;
    align-items: start;
}

.lds-sp-media {
    align-items: start;
}

.lds-sp-main-image-wrap {
    aspect-ratio: 3 / 4;
    max-height: none;
}

.lds-sp-media-carousel {
    display: none;
}

.lds-sp-summary {
    max-height: none;
    overflow: visible;
    padding-right: 6px;
}

.lds-sp-actions {
    margin-bottom: 16px;
}

.lds-sp-actions .lds-qv-cart-form-wrap .quantity {
    display: none !important;
}

/* BOTÓN AÑADIR AL CARRITO - Blanco con borde/texto negro */
.single-product .lds-sp-actions .lds-qv-cart-form-wrap .single_add_to_cart_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 46px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    margin-bottom: 8px !important;
    font-size: 0.63rem !important;
    letter-spacing: 0.14em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #111 !important;
    border: 1.5px solid #111 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.single-product .lds-sp-actions .lds-qv-cart-form-wrap .single_add_to_cart_button:hover,
.single-product .lds-sp-actions .lds-qv-cart-form-wrap .single_add_to_cart_button:focus {
    background: #f0f0f0 !important;
    color: #111 !important;
    border-color: #111 !important;
    text-decoration: none !important;
}

/* BOTÓN COMPRAR AHORA - Negro con texto blanco */
.single-product .lds-sp-actions .lds-qv-btn-buy-now {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 46px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    font-size: 0.63rem !important;
    letter-spacing: 0.14em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border-radius: 0 !important;
    background: #111 !important;
    color: #fff !important;
    border: 1.5px solid #111 !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.single-product .lds-sp-actions .lds-qv-btn-buy-now:hover,
.single-product .lds-sp-actions .lds-qv-btn-buy-now:focus {
    background: #333 !important;
    color: #fff !important;
    border-color: #333 !important;
    text-decoration: none !important;
}

.lds-product-strip {
    padding: 26px 0 8px;
}

.lds-product-strip__title {
    margin: 0 0 16px;
    font-size: clamp(1.1rem, 1.7vw, 1.45rem);
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.lds-product-row-slider {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
    cursor: grab;
}

.lds-product-row-slider:active {
    cursor: grabbing;
}

.lds-product-row-slider::-webkit-scrollbar {
    height: 5px;
}

.lds-product-row-slider::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.25);
    border-radius: 6px;
}

.lds-product-row-slider .lds-coleccion-item {
    flex: 0 0 calc((100% - 80px) / 6);
    min-width: 180px;
    scroll-snap-align: start;
}

.lds-product-row-slider .lds-coleccion-img-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3 / 4;
}

.lds-product-row-slider .lds-coleccion-img-link {
    position: absolute;
    inset: 0;
    display: block;
}

.lds-product-row-slider .lds-coleccion-img-wrap img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 1100px) {
    .lds-product-full__inner.lds-sp-layout {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .lds-sp-media {
        display: block;
    }

    .lds-sp-thumbs,
    .lds-sp-main-image-wrap {
        display: none;
    }

    .lds-sp-media-carousel {
        display: flex;
        gap: 0;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;
        border: 1px solid #ececec;
        background: #f7f7f7;
    }

    .lds-sp-media-slide {
        flex: 0 0 100%;
        margin: 0;
        scroll-snap-align: center;
    }

    .lds-sp-media-slide img {
        width: 100%;
        height: auto;
        aspect-ratio: 3 / 4;
        object-fit: cover;
        display: block;
    }

    .lds-sp-summary {
        text-align: center;
        padding-right: 0;
        margin: 0 auto;
        width: min(100%, 640px);
    }

    .lds-sp-summary .lds-qv-actions,
    .lds-sp-summary .lds-qv-accordions {
        text-align: left;
    }

    .lds-product-row-slider .lds-coleccion-item {
        flex-basis: calc((100% - 48px) / 4);
        min-width: 170px;
    }
}

@media (max-width: 700px) {
    .lds-product-full {
        padding-top: 10px;
    }

    .lds-product-strip {
        padding-top: 22px;
    }

    .lds-product-row-slider {
        gap: 12px;
    }

    .lds-product-row-slider .lds-coleccion-item {
        flex-basis: calc((100% - 12px) / 2);
        min-width: 150px;
    }
}

@media (max-width: 980px) {
    .lds-quick-view-dialog {
        padding: 30px 18px;
    }

    .lds-qv-layout {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .lds-qv-main-image-wrap {
        aspect-ratio: 3 / 4;
    }

    .lds-qv-media {
        grid-template-columns: 72px minmax(0, 1fr);
    }

    .lds-qv-thumb img {
        width: 70px;
        height: 96px;
    }
}

/* ==========================================================================
   MEJORAS VISTA RAPIDA (TALLAS + TEXTO LEGAL)
========================================================================== */

/* Texto de impuesto (estilo pequeño y gris) */
.lds-qv-tax-info {
    font-size: 0.60rem;
    font-weight: 600;
    color: #101010;
    margin-bottom: 16px;
    line-height: 1.4;
}

/* Selector de tallas estilo "M L XL" */
.lds-qv-size-selector {
    margin-bottom: 22px;
}

.lds-qv-size-label {
    display: block;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    color: #111;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.lds-qv-size-options {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.single-product .lds-sp-summary .lds-qv-size-selector {
    text-align: center;
}

.single-product .lds-sp-summary .lds-qv-size-options {
    justify-content: center;
}

.lds-qv-size-btn {
    min-width: 42px;
    padding: 2px 10px;
    background: #fff;
    border: 1px solid #d9d9d9;
    color: #111;
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
}

.lds-qv-size-btn:hover,
.lds-qv-size-btn:focus {
    border-color: #111;
    color: #009043;
    background: #f0f0f0;
}

.lds-qv-size-btn.active {
    border-color: #111;
    background: #111;
    color: #fff;
}

/* Texto legal (compra recurrente) */
.lds-qv-legal-text {
    font-size: 0.60rem;
    font-weight: 600;
    color: #101010;
    line-height: 1.45;
    margin: 0px 0 30px;
    padding-top: 8px;
    letter-spacing: 0.01em;
}

/* Ajuste responsive para móvil */
@media (max-width: 780px) {
    .lds-qv-size-btn {
        min-width: 44px;
        padding: 6px 10px;
        font-size: 0.8rem;
    }
    
    .lds-qv-legal-text {
        font-size: 0.6rem;
    }
}

.lds-coleccion-info {
    padding: 14px 2px 0;
}

.lds-coleccion-nombre {
    font-size: 12px;
    font-weight: 400;
    margin: 0 0 6px;
    letter-spacing: 0.04em;
}

.lds-coleccion-precio {
    font-size: 11px;
    font-weight: 300;
    color: #111;
}

.lds-coleccion-precio del {
    color: #999;
    margin-right: 6px;
}

.lds-coleccion-precio ins {
    text-decoration: none;
    color: #009043;
    font-weight: 600;
    background-color: rgba(128, 128, 128, 0.15);
    padding: 2px 4px;
    border-radius: 2px;
}

/* Botón CTA */
.lds-coleccion-cta {
    text-align: center;
    margin-top: 4px;
}

.lds-btn-ver-coleccion {
    display: inline-block;
    padding: 14px 48px;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border: none;
    border-radius: 8px;
    background: #111;
    color: #fff;
    text-decoration: none;
    transition: all 0.3s ease;
}

.lds-btn-ver-coleccion:hover {
    background: #000;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    text-decoration: none;
}

/* Bloque visual debajo de "Nuevo" */
.lds-genero-split {
    margin: 0 auto 42px;
    padding: 0 20px;
}

.lds-genero-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    justify-items: center;
}

.lds-genero-card {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 625.5 / 780;
    overflow: hidden;
    background: #ececec;
    text-decoration: none;
}

.lds-genero-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform 0.35s ease;
}

.lds-genero-card:hover img {
    transform: scale(1.035);
}

.lds-genero-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    color: #fff;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.42) 12%, rgba(0, 0, 0, 0.16) 56%, rgba(0, 0, 0, 0.06) 100%);
}

.lds-genero-overlay h3 {
    margin: 0 0 10px;
    font-size: 1.95rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #fff;
}

.lds-genero-overlay span {
    display: inline-block;
    min-width: 144px;
    border: 1px solid rgba(255, 255, 255, 0.95);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    padding: 8px 14px;
    line-height: 1;
}

/* Sección outlet */
.lds-outlet-section {
    padding-top: 28px;
}

.lds-outlet-empty {
    display: flex;
    justify-content: center;
    margin: 32px 0 16px;
}

.lds-outlet-empty span {
    display: inline-block;
    background: #111;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    padding: 14px 36px;
    line-height: 1;
}

/* ============================================================================
   QUIENES SOMOS + CARRUSEL
   ============================================================================ */
.lds-quienes-somos {
    max-width: none;
    width: 100%;
    margin: 0 auto;
}

.lds-quienes-stage {
    position: relative;
    margin-left: calc(50% - 50vw);
    height: 100vh;
    min-height: 100vh;
    overflow: hidden;
}

.lds-quienes-carousel {
    position: relative;
    display: flex;
    width: 100%;
    height: 100%;
    min-height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    border-radius: 0;
    background: #111;
    user-select: none;
    -webkit-user-select: none;
}

.lds-quienes-carousel * {
    user-select: none;
    -webkit-user-select: none;
}

.lds-quienes-carousel::-webkit-scrollbar {
    display: none;
}

.lds-quienes-carousel {
    scrollbar-width: none;
}

.lds-quienes-carousel.is-dragging {
    scroll-behavior: auto;
}

.lds-quienes-slide {
    position: relative;
    flex: 0 0 100%;
    min-width: 100%;
    height: 100%;
    scroll-snap-align: start;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 1;
}

.lds-quienes-slide,
.lds-quienes-overlay,
.lds-quienes-content {
    pointer-events: none;
}

.lds-quienes-slide-1 {
    background-image: url('../../images/video-1.jpeg');
}

.lds-quienes-slide-2 {
    background-image: url('../../images/video-2.jpeg');
}

.lds-quienes-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.58) 15%, rgba(0, 0, 0, 0.18) 55%, rgba(0, 0, 0, 0) 100%);
}

.lds-quienes-content {
    position: absolute;
    left: 34px;
    right: 34px;
    bottom: 28px;
    color: #fff;
    z-index: 2;
}

.lds-quienes-titulo-slide {
    margin: 0 0 10px;
    font-size: 3rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: none;
    color: #fff;
}

.lds-quienes-intro-slide {
    margin: 0 0 18px;
    max-width: 760px;
    font-size: 1rem;
    line-height: 1.45;
    color: #fff;
}

.lds-quienes-ubicacion {
    margin: 0 0 8px;
    font-size: 3rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #fff;
}

.lds-quienes-descripcion {
    margin-bottom: 14px;
    max-width: 760px;
    font-size: 1rem;
    line-height: 1.45;
}

.lds-quienes-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2px;
    transform: none;
    z-index: 20;
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 0;
    width: max-content;
    margin-left: auto;
    margin-right: auto;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.32);
}

/* =========================================================
   LOGIN PAGE
   ========================================================= */
.lds-login-page {
    background: linear-gradient(180deg, #f3f4f5 0%, #eceff1 100%);
}

.lds-login-page .site-header,
.lds-login-page .site-footer,
.lds-login-page #masthead,
.lds-login-page #colophon {
    display: none !important;
}

.lds-login-back {
    position: fixed;
    top: 18px;
    left: 18px;
    z-index: 30;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid #d4dade;
    background: #ffffff;
    color: #101010;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
    transition: transform 0.15s ease, background-color 0.2s ease, color 0.2s ease;
}

.lds-login-back:hover {
    background: #101010;
    color: #ffffff;
    transform: translateY(-1px);
}

.lds-login-wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 100% 0%, rgba(11, 180, 170, 0.08) 0%, rgba(11, 180, 170, 0) 40%),
        radial-gradient(circle at 0% 100%, rgba(16, 16, 16, 0.08) 0%, rgba(16, 16, 16, 0) 45%);
}

.lds-login-card {
    background: #ffffff;
    border-radius: 18px;
    padding: 42px 34px 30px;
    width: 100%;
    max-width: 430px;
    border: 1px solid #e7ebed;
    box-shadow: 0 14px 42px rgba(0, 0, 0, 0.1);
}

.lds-login-logo {
    text-align: center;
    margin-bottom: 14px;
}

.lds-login-logo img {
    max-height: 56px;
    width: auto;
}

.lds-login-logo--text a {
    font-size: 1.4rem;
    font-weight: 700;
    color: #101010;
    text-decoration: none;
}

.lds-login-title {
    font-size: 1.5rem;
    font-weight: 800;
    color: #101010;
    margin: 0 0 22px;
    text-align: center;
    letter-spacing: 0.01em;
}

.lds-login-error {
    background: #fff4f4;
    border: 1px solid #efb1b1;
    color: #9b2226;
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 0.9rem;
    margin-bottom: 16px;
}

.lds-login-success {
    background: #eefaf3;
    border: 1px solid #9ed9b4;
    color: #1f6f3a;
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 0.9rem;
    margin-bottom: 16px;
}

.lds-login-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.lds-register-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.lds-login-field {
    position: relative;
}

.lds-login-field label {
    position: absolute;
    left: 14px;
    top: 30px;
    transform: translateY(-50%);
    font-size: 0.9rem;
    font-weight: 600;
    color: #4b5563;
    letter-spacing: 0.01em;
    pointer-events: none;
    transition: top 0.2s ease, transform 0.2s ease, font-size 0.2s ease, color 0.2s ease;
    z-index: 2;
}

.lds-login-field input {
    border: 1px solid #d4dade;
    border-radius: 10px;
    padding: 20px 14px 9px;
    font-size: 0.95rem;
    color: #101010;
    background: #f8fafb;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s;
    width: 100%;
    box-sizing: border-box;
}

.lds-login-field input:focus {
    border-color: #009043;
    box-shadow: 0 0 0 3px rgba(11, 180, 170, 0.15);
    background: #fff;
}

.lds-login-field input::placeholder {
    color: transparent;
}

.lds-login-field input:focus + label,
.lds-login-field input:not(:placeholder-shown) + label,
.lds-login-field input:-webkit-autofill + label {
    top: 8px;
    transform: none;
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #009043;
}

.lds-login-help {
    margin: -8px 0 10px;
    font-size: 0.9rem;
    line-height: 1.45;
    color: #4b5563;
}

.lds-login-field--password input {
    padding-right: 46px;
}

.lds-login-toggle-pass {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: #6b7280;
    display: flex;
    align-items: center;
}

.lds-login-toggle-pass:hover {
    color: #009043;
}

.lds-login-remember label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.86rem;
    color: #374151;
    cursor: pointer;
}

.lds-login-remember input[type="checkbox"] {
    accent-color: #101010;
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.lds-login-btn {
    background: #101010;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 13px;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    margin-top: 8px;
    box-shadow: 0 8px 18px rgba(16, 16, 16, 0.22);
}

.lds-login-btn:hover {
    background: #101010;
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(16, 16, 16, 0.32);
    color: #fff !important;
}

.lds-login-links {
    display: flex;
    justify-content: space-between;
    margin-top: 18px;
    flex-wrap: wrap;
    gap: 10px;
}

.lds-login-links a {
    font-size: 0.82rem;
    color: #4b5563;
    text-decoration: none;
    font-weight: 600;
}

.lds-login-links a:hover {
    color: #009043;
}

@media (max-width: 480px) {
    .lds-login-wrap {
        padding: 0 20px;
    }

    .lds-login-card {
        padding: 28px 18px 24px;
        border-radius: 14px;
    }

    .lds-login-title {
        font-size: 1.32rem;
    }
}

/* Mobile navbar fix for headroom */
@media (max-width: 1024px) {
    #site-navigation.navbar {
        padding: 6px !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
        max-width: 100vw !important;
        width: 100vw !important;
    }

    #site-navigation.navbar .header-inner {
        width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        max-width: 100% !important;
        gap: 4px !important;
    }

    #site-navigation .header-hamburger-wrapper,
    #site-navigation .header-logo-center,
    #site-navigation .header-right-icons {
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #site-navigation .header-hamburger-wrapper {
        flex: 0 0 auto !important;
    }

    #site-navigation .header-logo-center {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    #site-navigation .header-right-icons {
        flex: 0 0 auto !important;
        gap: 4px !important;
    }

    .headroom--not-top .navbar {
        padding: 6px !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    .headroom--not-top .navbar .header-inner {
        width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }
}
   
.lds-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.62);
    opacity: 1;
    border: 1px solid rgba(255, 255, 255, 0.95);
    padding: 0;
    cursor: pointer;
    transition: transform 0.2s ease, opacity 0.2s ease, background-color 0.2s ease;
}

.lds-dot.is-active {
    background: #fff;
    opacity: 1;
    transform: scale(1.22);
}

/* ── Tablet: 4 columnas hasta 900px ── */
@media (max-width: 900px) {
    .lds-coleccion-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 16px;
    }

    .post-type-archive-product .lds-shop-grid,
    body.tax-product_cat .lds-shop-grid,
    body.tax-product_tag .lds-shop-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 16px;
    }

    .lds-ultima-coleccion {
        padding: 52px 16px 60px;
    }

    .lds-quienes-stage {
        height: 100vh;
        min-height: 100vh;
    }

    .lds-quienes-ubicacion {
        font-size: 2.2rem;
    }

    .lds-genero-split {
        padding: 0 16px;
        margin-bottom: 30px;
    }

    .lds-genero-overlay h3 {
        font-size: 1.45rem;
    }

    .lds-genero-overlay span {
        font-size: 0.65rem;
        min-width: 124px;
        letter-spacing: 0.16em;
        padding: 8px 11px;
    }
}

/* ── Móvil: 2 columnas hasta 600px ── */
@media (max-width: 600px) {
    .lds-coleccion-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .post-type-archive-product .lds-shop-grid,
    body.tax-product_cat .lds-shop-grid,
    body.tax-product_tag .lds-shop-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .lds-ultima-coleccion {
        padding: 40px 12px 48px;
    }

    .lds-coleccion-titulo {
        font-size: 1.4rem;
    }

    .lds-genero-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .lds-genero-card {
        max-width: min(100%, 460px);
    }

    .lds-genero-overlay h3 {
        font-size: 1.25rem;
        margin-bottom: 8px;
    }

    .lds-genero-overlay span {
        font-size: 0.62rem;
        min-width: 116px;
        padding: 7px 10px;
    }

    .lds-quienes-stage {
        height: 100vh;
        min-height: 100vh;
    }

    .lds-quienes-content {
        left: 16px;
        right: 16px;
        bottom: 16px;
    }

    .lds-quienes-ubicacion {
        font-size: 1.7rem;
        margin-bottom: 5px;
    }

    .lds-quienes-titulo-slide {
        font-size: 1.45rem;
        margin-bottom: 8px;
    }

    .lds-quienes-intro-slide {
        font-size: 0.9rem;
        line-height: 1.35;
        margin-bottom: 21px;
    }

    .lds-quienes-descripcion {
        font-size: 0.88rem;
        line-height: 1.35;
    }

    .checkout-summary-line-total {
        grid-column: 2;
        justify-self: end;
        margin-top: -30px;
    }
}

@media (max-width: 480px) {
    .custom-blowup-checkout .blowup-checkout-wrapper {
        padding: 0 16px;
    }

    .custom-blowup-checkout .blowup-checkout-left {
        padding: 18px;
    }

    .custom-blowup-checkout .blowup-order-review-container {
        padding: 18px;
    }

    .checkout-section-header h2,
    .checkout-section-title {
        font-size: 20px;
    }
}

/* ============================================
   MODAL 15% OFF - ESTILOS NEGRO, GRIS Y BLANCO
   ============================================ */

/* ============================================
   CHECKOUT BLOWUP - OVERRIDES VISUALES LIMPIOS
   ============================================ */

.custom-blowup-checkout .blowup-checkout-wrapper {
    gap: 0;
    align-items: flex-start;
}

.custom-blowup-checkout .blowup-checkout-left,
.custom-blowup-checkout .blowup-checkout-right {
    flex: 1 1 0;
    width: 50%;
    min-width: 0;
    background: #ffffff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.custom-blowup-checkout .blowup-checkout-left {
    padding: 0 40px 0 0;
    position: relative;
}

.custom-blowup-checkout .blowup-checkout-left::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background: #d9d9d9;
}

.custom-blowup-checkout .blowup-checkout-right {
    padding: 0 0 0 40px;
    position: sticky;
    top: 24px;
    max-height: calc(100vh - 48px);
}

.custom-blowup-checkout .blowup-order-review-container {
    background: #ffffff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
}

@media (max-width: 768px) {

    .custom-blowup-checkout .blowup-checkout-left,
    .custom-blowup-checkout .blowup-checkout-right {

    .lds-register-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .lds-login-back {
        top: 12px;
        left: 12px;
        padding: 7px 10px;
        font-size: 0.78rem;
    }
        width: 100%;
        padding: 0;
        position: relative;
        max-height: none;
    }

    .custom-blowup-checkout .blowup-checkout-left::after {
        display: none;
    }
}

/* Overlay de fondo */
.lds-modal {
    display: none;
    position: fixed;
    z-index: 99999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.lds-modal.show,
.lds-modal[style*="display: flex"] {
    display: flex !important;
    opacity: 1;
}

.modal-title {
    margin: 0px 0px 5px;
    font-size: 22px;
}

/* Contenedor de la modal */
.lds-modal-content {
    background: #ffffff;
    padding: 40px 32px 32px;
    border-radius: 20px;
    max-width: 370px;
    width: 50%;
    text-align: center;
    position: relative;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35);
    animation: modalFadeIn 0.3s ease;
}

/* Animación de entrada */
@keyframes modalFadeIn {
    from {
        transform: translateY(-20px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Botón de cerrar */
.lds-modal-close {
    position: absolute;
    top: 16px;
    right: 20px;
    font-size: 28px;
    font-weight: 300;
    cursor: pointer;
    color: #000000;
    transition: all 0.2s ease;
    line-height: 1;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.lds-modal-close:hover {
    color: #333;
}

/* Título */
.lds-modal-content h2 {
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 8px 0;
    color: #000000;
    letter-spacing: -0.5px;
}

/* Subtítulo */
.lds-modal-content .modal-subtitle {
    font-size: 15px;
    color: rgb(0, 0, 0);
    margin-bottom: 20px;
    font-weight: 400;
}

/* Texto descriptivo */
.modal-description {
    font-size: 14px;
    color: #000000;
    margin-bottom: 24px;
}

/* Formulario */
.lds-modal-form {
    display: flex;
    flex-direction: column;
    margin: 0 0 20px;
}

/* Wrapper de cada campo para labels flotantes */
.lds-modal-form .form-row {
    position: relative;
    margin: 0 0 14px;
}

.lds-modal-form .form-row label {
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translateY(-50%);
    transform-origin: left center;
    font-size: 14px;
    font-weight: 400;
    color: #9ca3af;
    pointer-events: none;
    transition: top 0.2s ease, transform 0.2s ease, color 0.2s ease;
    z-index: 2;
    background: #ffffff;
    padding: 4px 4px 10px 4px;
    line-height: 1;
    margin: 0;
}

.lds-modal-form .form-row.has-value label,
.lds-modal-form .form-row.is-active label {
    top: 0;
    transform: translateY(-50%) scale(0.82);
    color: #111111;
    font-weight: 500;
}

.lds-modal-form .form-row label abbr {
    display: none;
}

.lds-modal-form input[type="text"],
.lds-modal-form input[type="email"] {
    width: 100%;
    padding: 6px 16px 8px;
    border: 1.5px solid #e0e0e0;
    border-radius: 8px;
    font-size: 14px;
    transition: all 0.2s ease;
    background: #ffffff;
    outline: none;
    font-family: inherit;
    color: #000000;
    box-sizing: border-box;
}

.lds-modal-form input[type="text"]:focus,
.lds-modal-form input[type="email"]:focus {
    border-color: #888888;
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.05);
}

/* Botón de suscripción */
.lds-modal-form button[type="submit"] {
    display: block;
    width: 100%;
    background-color: #000000;
    color: #ffffff !important;
    text-align: center;
    padding: 8px 14px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.25s ease;
    margin-top: 8px;
}

/* Hover del botón - GRIS */
.lds-modal-form button[type="submit"]:hover {
    background-color: #555555;
}

.lds-modal-form button[type="submit"]:active {
    transform: scale(0.98);
}

/* Texto legal */
.lds-modal-legal {
    font-size: 11px;
    color: #010101;
    margin-top: 20px;
    line-height: 1.5;
    text-align: center;
}

.lds-modal-legal a {
    color: #000000;
    text-decoration: none;
    font-weight: 500;
}

.lds-modal-legal a:hover {
    color: #000000;
    text-decoration: underline;
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 640px) {
    .lds-modal-content {
        padding: 32px 24px 24px;
        max-width: 380px;
    }

    .lds-modal-content h2 {
        font-size: 24px;
    }

    .lds-modal-content .modal-subtitle {
        font-size: 14px;
    }

    .modal-description {
        font-size: 13px;
    }

    .lds-modal-form input[type="text"],
    .lds-modal-form input[type="email"] {
        padding: 12px 14px;
        font-size: 13px;
    }

    .lds-modal-form button[type="submit"] {
        padding: 12px 20px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .lds-modal-content {
        padding: 28px 20px 20px;
        border-radius: 16px;
    }

    .lds-modal-content h2 {
        font-size: 22px;
    }

    .lds-modal-close {
        top: 12px;
        right: 16px;
        font-size: 24px;
    }
}

/* --- SOLUCIÓN: Hacer que el video de hero ocupe el 100% --- */
.lds-hero-video {
    width: 100vw !important;
    /* Ancho total de la ventana */
    max-width: 100% !important;
    /* Evita desbordes */
    position: relative !important;
    left: 0 !important;
    right: 0 !important;
}

#lds-hero-video {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover !important;
}

.lds-hero-video {
    height: 100vh !important;
}

#lds-hero-video {
    height: 100% !important;
    object-fit: cover !important;
}

/* Contenedor del video con cursor pointer */
.lds-hero-video {
    position: relative;
}

/* Overlay semitransparente que aparece al hacer hover (opcional) */
.video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0);
    transition: background 0.3s ease;
    pointer-events: none;
    /* Permite que los clics pasen al video */
}

.lds-hero-video:hover .video-overlay {
    background: rgba(0, 0, 0, 0.1);
}

/* Indicador visual de pausa/reproducción (opcional) */
.lds-hero-video.playing::after,
.lds-hero-video.paused::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 48px;
    color: white;
    background: rgba(0, 0, 0, 0.6);
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 10;
}

.lds-hero-video.paused::after {
    content: "▶";
}

.lds-hero-video:hover::after {
    opacity: 1;
}

/* ============================================================================
 * ESTILOS PARA EL INDICADOR DEL CARRITO (BADGE)
 * ============================================================================ */

.cart-icon-wrapper {
    position: relative;
    display: inline-block;
}

.cart-svg-wrapper {
    display: inline-block;
    line-height: 0;
}

/* SVG personalizado o por defecto */
.header-cart-icon svg {
    width: 24px;
    height: 24px;
    display: block;
}

/* Badge contador */
.cart-count-badge {
    position: absolute;
    top: -8px;
    right: -5px;
    background-color: #009043;
    /* Color rojo llamativo */
    color: white;
    font-size: 11px;
    font-weight: bold;
    min-width: 12px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    transition: transform 0.2s ease;
}

/* Animación cuando se actualiza */
.cart-count-badge.update-animation {
    animation: cartBump 0.3s ease;
}

@keyframes cartBump {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.3);
    }

    100% {
        transform: scale(1);
    }
}

/* Si el contador es 0, ocultarlo (opcional) */
.cart-count-badge.count-zero {
    display: none;
}

/* ============================================
   CHECKOUT FINAL - DIVISOR + SCROLL GLOBAL
   ============================================ */

body.woocommerce-checkout .custom-blowup-checkout .blowup-checkout-wrapper {
    display: flex !important;
    gap: 0 !important;
}

body.woocommerce-checkout .custom-blowup-checkout .blowup-checkout-left,
body.woocommerce-checkout .custom-blowup-checkout .blowup-checkout-right {
    flex: 1 1 0 !important;
    width: 50% !important;
    min-width: 0 !important;
}

body.woocommerce-checkout .custom-blowup-checkout .blowup-checkout-left {
    position: relative !important;
    padding-right: 38px !important;
    overflow: visible !important;
    overflow-y: visible !important;
    max-height: none !important;
    height: auto !important;
}

body.woocommerce-checkout .custom-blowup-checkout .blowup-checkout-left::after {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 1px !important;
    height: 100% !important;
    background: #d0d0d0 !important;
}

body.woocommerce-checkout .custom-blowup-checkout .blowup-checkout-left::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}

body.woocommerce-checkout .custom-blowup-checkout .blowup-checkout-right {
    padding-left: 38px !important;
    position: sticky !important;
    top: 60px !important;
    max-height: none !important;
    margin-top: 30px !important;
}

body.woocommerce-checkout .custom-blowup-checkout .blowup-order-review-container {
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
    -ms-overflow-style: auto !important;
    scrollbar-width: auto !important;
}

body.woocommerce-checkout .custom-blowup-checkout .blowup-order-review-container::-webkit-scrollbar {
    width: auto !important;
    height: auto !important;
    display: initial !important;
}

@media (max-width: 768px) {

    body.woocommerce-checkout .custom-blowup-checkout .blowup-checkout-wrapper {
        flex-direction: column-reverse !important;
    }

    body.woocommerce-checkout .custom-blowup-checkout .blowup-checkout-left,
    body.woocommerce-checkout .custom-blowup-checkout .blowup-checkout-right {
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        position: relative !important;
        top: auto !important;
        max-height: none !important;
    }

    body.woocommerce-checkout .custom-blowup-checkout .blowup-checkout-left::after {
        display: none !important;
    }
}

/* Estilo alternativo para cuando hay productos */
.cart-count-badge.has-items {
    background-color: #e10600;
}

/* Responsive para móviles */
@media (max-width: 768px) {
    .cart-count-badge {
        top: -6px;
        right: -10px;
        min-width: 16px;
        height: 16px;
        font-size: 10px;
    }
}

/* ============================================
   CHECKOUT BLOWUP - FLOATING LABELS & INPUTS
   ============================================ */

/* Grid de dos columnas para form-row-first / form-row-last */
.custom-blowup-checkout .woocommerce-billing-fields__field-wrapper,
.custom-blowup-checkout .woocommerce-shipping-fields__field-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
}

.custom-blowup-checkout .form-row-first,
.custom-blowup-checkout .form-row-last {
    flex: 1 1 calc(50% - 7px) !important;
    min-width: 180px !important;
}

.custom-blowup-checkout .form-row-wide {
    flex: 1 1 100% !important;
    width: 100% !important;
}

/* Wrapper de cada campo - contenedor del floating label */
.custom-blowup-checkout .form-row {
    position: relative !important;
    margin-bottom: 15px !important;
}

/* Reset etiqueta WooCommerce */
.custom-blowup-checkout .form-row>label,
.custom-blowup-checkout .woocommerce form .form-row>label {
    position: absolute !important;
    top: 50% !important;
    left: 16px !important;
    transform: translateY(-50%) !important;
    transform-origin: left center !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #9ca3af !important;
    pointer-events: none !important;
    transition: top 0.2s ease, font-size 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
    z-index: 2 !important;
    background: #ffffff !important;
    padding: 3px 3px !important;
    max-width: calc(100% - 32px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    display: block !important;
    margin: 0 !important;
}

/* Label flotando hacia arriba */
.custom-blowup-checkout .form-row.is-active>label,
.custom-blowup-checkout .form-row.has-value>label {
    top: 0 !important;
    transform: translateY(-50%) scale(0.82) !important;
    font-weight: 500 !important;
    color: #6b7280 !important;
}

.custom-blowup-checkout .form-row.is-active>label {
    color: #111111 !important;
}

/* Asterisco requerido */
.custom-blowup-checkout .form-row>label abbr {
    text-decoration: none !important;
    margin-left: 2px !important;
    color: #ef4444 !important;
}

/* Inputs de texto */
.custom-blowup-checkout .form-row input.input-text,
.custom-blowup-checkout .form-row input[type="text"],
.custom-blowup-checkout .form-row input[type="email"],
.custom-blowup-checkout .form-row input[type="tel"],
.custom-blowup-checkout .form-row input[type="number"],
.custom-blowup-checkout .form-row input[type="password"],
.custom-blowup-checkout .form-row textarea {
    width: 100% !important;
    height: 40px !important;
    padding: 6px 16px 8px !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    font-family: inherit !important;
    color: #111111 !important;
    background: #ffffff !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    display: block !important;
    margin: 0 !important;
}

.custom-blowup-checkout .form-row textarea {
    height: 120px !important;
    padding-top: 28px !important;
    resize: vertical !important;
}

.custom-blowup-checkout .form-row input.input-text:focus,
.custom-blowup-checkout .form-row input[type="text"]:focus,
.custom-blowup-checkout .form-row input[type="email"]:focus,
.custom-blowup-checkout .form-row input[type="tel"]:focus,
.custom-blowup-checkout .form-row input[type="number"]:focus,
.custom-blowup-checkout .form-row input[type="password"]:focus,
.custom-blowup-checkout .form-row textarea:focus {
    border-color: #111111 !important;
    box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.08) !important;
    outline: none !important;
}

/* Select nativo (oculto cuando Select2 está activo) */
.custom-blowup-checkout .form-row select {
    width: 100% !important;
    height: 40px !important;
    padding: 6px 16px 8px !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    font-family: inherit !important;
    color: #111111 !important;
    background-color: #ffffff !important;
    outline: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    transition: border-color 0.2s ease !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

.custom-blowup-checkout .form-row select:focus {
    border-color: #111111 !important;
    box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.08) !important;
}

/* Select2 */
.custom-blowup-checkout .select2-container {
    width: 100% !important;
}

.custom-blowup-checkout .select2-container--default .select2-selection--single {
    height: 40px !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    display: flex !important;
    align-items: flex-end !important;
    padding-bottom: 2px !important;
}

.custom-blowup-checkout .select2-container--open .select2-selection--single,
.custom-blowup-checkout .select2-container--focus .select2-selection--single {
    border-color: #111111 !important;
    box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.08) !important;
}

.custom-blowup-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 0 40px 8px 16px !important;
    padding-top: 0 !important;
    font-size: 15px !important;
    color: #111111 !important;
    line-height: 1 !important;
}

.custom-blowup-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    width: 36px !important;
    right: 4px !important;
    top: 0 !important;
}

.custom-blowup-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #6b7280 transparent transparent transparent !important;
}

.custom-blowup-checkout .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #111 transparent !important;
}

.custom-blowup-checkout .select2-dropdown {
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1) !important;
    overflow: hidden !important;
}

/* Quitar buscador de Select2 */
.custom-blowup-checkout .select2-search--dropdown,
.custom-blowup-checkout .select2-search.select2-search--dropdown {
    display: none !important;
}

body.woocommerce-checkout .custom-blowup-checkout .select2-container .select2-search,
body.woocommerce-checkout .custom-blowup-checkout .select2-container .select2-search--inline,
body.woocommerce-checkout .custom-blowup-checkout .select2-container .select2-search__field {
    display: none !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

.custom-blowup-checkout .select2-results__option {
    padding: 10px 16px !important;
    font-size: 14px !important;
    color: #374151 !important;
}

.custom-blowup-checkout .select2-results__option--highlighted {
    background: #111111 !important;
    color: #ffffff !important;
}

/* Estados de validación */
.custom-blowup-checkout .form-row.woocommerce-invalid input.input-text,
.custom-blowup-checkout .form-row.woocommerce-invalid input[type="text"],
.custom-blowup-checkout .form-row.woocommerce-invalid input[type="email"],
.custom-blowup-checkout .form-row.woocommerce-invalid input[type="tel"],
.custom-blowup-checkout .form-row.woocommerce-invalid .select2-selection--single {
    border-color: #e5e7eb !important;
}

.custom-blowup-checkout .form-row.woocommerce-invalid>label {
    color: #9ca3af !important;
}

.custom-blowup-checkout .form-row.woocommerce-validated input.input-text,
.custom-blowup-checkout .form-row.woocommerce-validated .select2-selection--single {
    border-color: #e5e7eb !important;
}

/* Mostrar rojo solo si el usuario escribió y luego dejó vacío */
.custom-blowup-checkout .form-row.show-clear-error.woocommerce-invalid input.input-text,
.custom-blowup-checkout .form-row.show-clear-error.woocommerce-invalid input[type="text"],
.custom-blowup-checkout .form-row.show-clear-error.woocommerce-invalid input[type="email"],
.custom-blowup-checkout .form-row.show-clear-error.woocommerce-invalid input[type="tel"],
.custom-blowup-checkout .form-row.show-clear-error.woocommerce-invalid .select2-selection--single {
    border-color: #ef4444 !important;
}

.custom-blowup-checkout .form-row.show-clear-error.woocommerce-invalid>label {
    color: #ef4444 !important;
}

/* Mensajes inline de error: ocultos por defecto */
.custom-blowup-checkout .form-row .woocommerce-error {
    display: none !important;
}

.custom-blowup-checkout .form-row.show-clear-error .woocommerce-error {
    display: block !important;
}

/* Ocultar marcas de validación de WooCommerce */
.custom-blowup-checkout .form-row .woocommerce-input-wrapper::after {
    display: none !important;
}

/* Wrapper de WooCommerce - sin estilos propios */
.custom-blowup-checkout .woocommerce-input-wrapper {
    display: block !important;
    width: 100% !important;
}

/* Descripción inline de campos */
.custom-blowup-checkout .form-row .description {
    font-size: 12px !important;
    color: #6b7280 !important;
    margin-top: 4px !important;
    padding: 0 4px !important;
    display: block !important;
}

/* Ocultar placeholders - se usan floating labels */
.custom-blowup-checkout .form-row input::placeholder,
.custom-blowup-checkout .form-row input::-webkit-input-placeholder,
.custom-blowup-checkout .form-row input::-moz-placeholder,
.custom-blowup-checkout .form-row input:-ms-input-placeholder,
.custom-blowup-checkout .form-row textarea::placeholder {
    color: transparent !important;
    opacity: 0 !important;
}

/* Ocultar placeholder de Select2 */
.custom-blowup-checkout .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: transparent !important;
    opacity: 0 !important;
}

/* Autofill - evitar fondo amarillo */
.custom-blowup-checkout .form-row input:-webkit-autofill,
.custom-blowup-checkout .form-row input:-webkit-autofill:hover,
.custom-blowup-checkout .form-row input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
    -webkit-text-fill-color: #111111 !important;
    transition: background-color 5000s ease-in-out 0s !important;
}

@media (max-width: 600px) {

    .custom-blowup-checkout .form-row-first,
    .custom-blowup-checkout .form-row-last {
        flex: 1 1 100% !important;
    }
}

/* ============================================
   CHECKOUT ACORDEONES Y CAMPOS PERSONALIZADOS
   ============================================ */

/* Acordeones */
.custom-blowup-checkout .checkout-accordion-group {
    display: flex !important;
    flex-direction: column !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    margin-bottom: 20px !important;
}

.custom-blowup-checkout .checkout-accordion-item {
    border: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
}

.custom-blowup-checkout .checkout-accordion-item+.checkout-accordion-item {
    border-top: 1px solid #e5e7eb !important;
}

.custom-blowup-checkout .checkout-accordion-trigger {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 16px !important;
    text-align: left !important;
    background: #ffffff !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    transition: background 0.2s ease !important;
    outline: none !important;
}

.custom-blowup-checkout .checkout-accordion-trigger:hover {
    background: #f9fafb !important;
}

.custom-blowup-checkout .checkout-accordion-item.is-active {
    background: #fafafa !important;
}

.custom-blowup-checkout .checkout-accordion-item.is-active .checkout-accordion-trigger {
    background: transparent !important;
}

.custom-blowup-checkout .checkout-accordion-trigger input[type="radio"] {
    margin: 0 !important;
    width: 18px !important;
    height: 18px !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
}

.custom-blowup-checkout .checkout-accordion-trigger span {
    flex: 1 !important;
}

.custom-blowup-checkout .checkout-accordion-content {
    padding: 16px !important;
    background: transparent !important;
    border-top: 1px solid #e5e7eb !important;
}

/* Shipping info row */
.custom-blowup-checkout .checkout-shipping-info-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 10 !important;
    margin-bottom: 16px !important;
    font-size: 14px !important;
    color: #6b7280 !important;
    background: rgb(240 237 237);
    border: 1px solid #101010;
    border-radius: 10px;
}

.custom-blowup-checkout .checkout-shipping-info-country {
    font-weight: 500 !important;
    color: #111111 !important;
}

.custom-blowup-checkout .checkout-shipping-info-price {
    font-weight: 600 !important;
    color: #111111 !important;
}

/* SMS Notice */
.custom-blowup-checkout .checkout-sms-notice {
    font-size: 12px !important;
    color: #6b7280 !important;
    line-height: 1.6 !important;
    margin-top: 8px !important;
    padding: 12px !important;
    background: #f9fafb !important;
    border-radius: 8px !important;
}

.custom-blowup-checkout .checkout-sms-notice a {
    color: #111111 !important;
    text-decoration: underline !important;
}

/* Optional text */
.custom-blowup-checkout .form-row .optional {
    font-size: 12px !important;
    color: #9ca3af !important;
    font-weight: 400 !important;
}

/* Flex row para campos lado a lado (state + postcode, billing alt) */
.custom-blowup-checkout .checkout-row-flex {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    width: 100% !important;
    margin-bottom: 15px !important;
}

.custom-blowup-checkout .checkout-row-flex>.form-row,
.custom-blowup-checkout .checkout-row-flex>p.form-row {
    flex: 1 1 calc(50% - 7px) !important;
    min-width: 140px !important;
    margin: 0 !important;
    width: auto !important;
}

/* Grid de 3 columnas: Ciudad / Departamento / CP */
.custom-blowup-checkout .checkout-row-3col {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 10px !important;
    width: 100% !important;
}

.custom-blowup-checkout .checkout-row-3col>.form-row,
.custom-blowup-checkout .checkout-row-3col>p.form-row {
    margin-bottom: 15px !important;
    min-width: 0 !important;
}

/* Inputs más compactos dentro del grupo de 3 */
.custom-blowup-checkout .checkout-row-3col .form-row input.input-text,
.custom-blowup-checkout .checkout-row-3col .form-row input[type="text"] {
    height: 40px !important;
    padding: 6px 16px 8px !important;
    font-size: 13px !important;
}

.custom-blowup-checkout .checkout-row-3col .form-row>label {
    font-size: 14px !important;
    left: 10px !important;
    max-width: calc(100% - 20px) !important;
}

/* Select2 dentro del grupo de 3 */
.custom-blowup-checkout .checkout-row-3col .select2-container--default .select2-selection--single {
    height: 40px !important;
}

.custom-blowup-checkout .checkout-row-3col .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 6px 16px 8px !important;
    font-size: 13px !important;
}

.custom-blowup-checkout .checkout-row-3col .select2-container--default .select2-selection--single .select2-selection__arrow {
    right: 6px !important;
}

/* ============================================
   CHECKBOXES OPT-IN — reset floating label
   ============================================ */
.custom-blowup-checkout .form-row.checkout-optin-field {
    margin: 3px 12px 12px 12px;
}

.custom-blowup-checkout .form-row.checkout-optin-field>label {
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    background: transparent !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #374151 !important;
    pointer-events: auto !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    cursor: pointer !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    z-index: auto !important;
    line-height: 1.5 !important;
}

.custom-blowup-checkout .form-row.checkout-optin-field input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    flex-shrink: 0 !important;
    margin-top: 1px !important;
    padding: 0 !important;
    cursor: pointer !important;
    accent-color: #111111 !important;
    border: 1.5px solid #d1d5db !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    -webkit-appearance: auto !important;
    appearance: auto !important;
}

.custom-blowup-checkout .form-row.checkout-optin-field span {
    flex: 1 !important;
    line-height: 1.4 !important;
}

/* Hidden review — oculto visualmente, existe en DOM para AJAX */
.custom-blowup-checkout .checkout-hidden-review {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
    pointer-events: none !important;
}

/* Payment wrapper */
.custom-blowup-checkout .checkout-payment-wrapper {
    margin-top: 8px !important;
}

.custom-blowup-checkout .checkout-payment-wrapper #payment {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
}

.custom-blowup-checkout .checkout-payment-wrapper #payment ul.payment_methods {
    border: none !important;
    padding: 0 !important;
}

.custom-blowup-checkout .checkout-payment-wrapper #payment li.payment_method {
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    margin-bottom: 10px !important;
    padding: 14px 16px !important;
}

.custom-blowup-checkout .checkout-payment-wrapper #payment li.payment_method label {
    position: static !important;
    transform: none !important;
    top: auto !important;
    left: auto !important;
    background: transparent !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

/* Mensaje "no hay métodos de pago" */
.custom-blowup-checkout .checkout-payment-wrapper #payment>p {
    font-size: 14px !important;
    color: #6b7280 !important;
    padding: 16px !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    margin: 0 !important;
}

.custom-blowup-checkout .checkout-place-order-footer .place-order {
    margin: 0 !important;
    padding-top: 0 !important;
}

.custom-blowup-checkout .checkout-place-order-footer .woocommerce-terms-and-conditions-wrapper,
.custom-blowup-checkout .checkout-place-order-footer .validate-required:has(#terms),
.custom-blowup-checkout .checkout-place-order-footer #terms,
.custom-blowup-checkout .checkout-place-order-footer label[for="terms"] {
    display: none !important;
}

@media (max-width: 768px) {
    .custom-blowup-checkout .checkout-place-order-footer {
        margin-top: 20px !important;
    }

    .custom-blowup-checkout .checkout-place-order-footer #place_order {
        width: 100% !important;
        margin-bottom: 20px !important;
    }
}

@media (max-width: 768px) {

    .custom-blowup-checkout .checkout-row-flex>.form-row,
    .custom-blowup-checkout .checkout-row-flex>p.form-row {
        flex: 1 1 100% !important;
        min-width: 0 !important;
    }

    .custom-blowup-checkout .checkout-row-3col {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================
   CHECKOUT RIGHT PANEL - AJUSTES FINALES
   ============================================ */
body.woocommerce-checkout .custom-blowup-checkout .checkout-summary-items {
    gap: 8px !important;
    margin-bottom: 10px !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-summary-item {
    gap: 9px !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-summary-thumb-wrap {
    border: 0 !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-summary-name {
    font-weight: 400 !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-summary-variation,
body.woocommerce-checkout .custom-blowup-checkout .checkout-summary-variation p,
body.woocommerce-checkout .custom-blowup-checkout .checkout-summary-variation dl,
body.woocommerce-checkout .custom-blowup-checkout .checkout-summary-variation dt,
body.woocommerce-checkout .custom-blowup-checkout .checkout-summary-variation dd {
    color: #8c8c8c !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-coupon-wrapper {
    margin: 14px 0 14px !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-coupon-form {
    display: block !important;
    margin-top: 12px !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-coupon-field {
    margin: 6px 0 !important;
    display: block !important;
    position: relative !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-coupon-field .input-coupon {
    width: 100% !important;
    height: 44px !important;
    padding: 8px 120px 4px 16px !important;
    border: 1.5px solid #e5e7eb !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-coupon-field>label {
    position: absolute !important;
    top: 50% !important;
    left: 16px !important;
    transform: translateY(-50%) !important;
    transform-origin: left center !important;
    color: #9ca3af !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    pointer-events: none !important;
    background: #fff !important;
    padding: 3px 3px !important;
    margin: 0 !important;
    transition: top 0.2s ease, font-size 0.2s ease, color 0.2s ease, transform 0.2s ease !important;
    z-index: 2 !important;
    line-height: 1 !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-coupon-field.is-active>label,
body.woocommerce-checkout .custom-blowup-checkout .checkout-coupon-field.has-value>label {
    top: 2px !important;
    transform: translateY(-50%) scale(0.82) !important;
    color: #6b7280 !important;
}

body.woocommerce-checkout .custom-blowup-checkout .btn-apply-coupon {
    position: absolute !important;
    right: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    height: 18px !important;
    min-width: 63px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 12px !important;
    border-radius: 7px !important;
    border: none !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    z-index: 2 !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-coupon-input-wrapper {
    position: relative !important;
    display: block !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-coupon-field .input-coupon:focus {
    border-color: #111 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(17, 17, 17, 0.1) !important;
}

body.woocommerce-checkout .custom-blowup-checkout .btn-apply-coupon:disabled {
    background: #dadada !important;
    color: #95a0ab !important;
    cursor: not-allowed !important;
    opacity: 1 !important;
}

body.woocommerce-checkout .custom-blowup-checkout .btn-apply-coupon:not(:disabled) {
    background: #111 !important;
    color: #fff !important;
}

body.woocommerce-checkout .custom-blowup-checkout .btn-apply-coupon:not(:disabled):hover,
body.woocommerce-checkout .custom-blowup-checkout .btn-apply-coupon:not(:disabled):focus {
    background: #2a2a2a !important;
    color: #fff !important;
}

@media (max-width: 768px) {
    body.woocommerce-checkout .custom-blowup-checkout .checkout-coupon-field .input-coupon {
        padding: 8px 100px 4px 16px !important;
        font-size: 14px !important;
    }

    body.woocommerce-checkout .custom-blowup-checkout .btn-apply-coupon {
        height: 16px !important;
        min-width: 55px !important;
        padding: 0 10px !important;
        font-size: 10px !important;
    }
}

@media (max-width: 600px) {
    body.woocommerce-checkout .custom-blowup-checkout .checkout-coupon-wrapper {
        margin: 12px 0 12px !important;
    }

    body.woocommerce-checkout .custom-blowup-checkout .checkout-coupon-field .input-coupon {
        height: 40px !important;
        padding: 8px 85px 4px 16px !important;
        font-size: 13px !important;
    }

    body.woocommerce-checkout .custom-blowup-checkout .checkout-coupon-field>label {
        font-size: 11px !important;
    }

    body.woocommerce-checkout .custom-blowup-checkout .btn-apply-coupon {
        height: 14px !important;
        min-width: 50px !important;
        padding: 0 8px !important;
        font-size: 9px !important;
        right: 6px !important;
    }
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-totals-block {
    margin-top: 8px !important;
    border-top: 0 !important;
    padding-top: 2px !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-subtotal-row,
body.woocommerce-checkout .custom-blowup-checkout .checkout-envio-row {
    font-size: 13px !important;
    padding: 5px 0 !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-subtotal-row span,
body.woocommerce-checkout .custom-blowup-checkout .checkout-envio-row span {
    font-size: 13px !important;
    font-weight: 400 !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-total-row {
    border-top: 0 !important;
    margin-top: 4px !important;
    padding-top: 6px !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-total-currency {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #6b7280 !important;
    text-transform: uppercase !important;
    margin-right: 6px !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-total-amount {
    display: inline-flex !important;
    align-items: baseline !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-total-amount .woocommerce-Price-amount {
    font-weight: 700 !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-envio-row>span:first-child {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

body.woocommerce-checkout .custom-blowup-checkout .checkout-envio-row .envio-modal-open {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    border: 1px solid #7a7a7a !important;
    background: transparent !important;
    color: #5f5f5f !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    cursor: pointer !important;
    flex: 0 0 14px !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
    transform: translateY(-0.5px) !important;
    user-select: none !important;
}

body.woocommerce-checkout .checkout-envio-modal-dialog {
    position: fixed !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: min(420px, calc(100% - 32px)) !important;
    max-height: 78vh !important;
    margin: 0 !important;
    padding: 18px !important;
    border-radius: 12px !important;
}