/*
 Theme Name:   CPS-Spain
 Description:  CPS-Spain
 Author:       delefant
 Author URI:   http://www.delefant.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/


/* =============================================================================
 *  CPS — Tipografía (sustituye Graphik por Inter, servida en local)
 * -----------------------------------------------------------------------------
 *  Por qué este cambio:
 *  Los @font-face originales apuntaban a https://cps-spain.net/fuentes/Graphik-*
 *  Esa ruta ya no existe → todas las peticiones daban net::ERR_CONNECTION y una
 *  tardaba ~8 s. Graphik además es de pago (sin licencia disponible aquí).
 *
 *  Solución: se mantienen los MISMOS nombres de familia (GraphikLight, etc.)
 *  para no tener que tocar las ~40 reglas que ya los usan en este archivo, pero
 *  ahora cada nombre carga el corte de Inter equivalente desde el propio tema:
 *      cps-spain/assets/fonts/Inter-*.woff2
 *  Inter es libre (SIL Open Font License) y visualmente muy próxima a Graphik.
 *
 *  Pesos: Thin→Inter 300 (Inter no trae 100 real), Light→300, Regular→400,
 *         Medium→500, Semibold→600, Bold→700, Black→800, Super→900.
 *  Solo woff2: lo soportan todos los navegadores desde 2017; eot/ttf/svg eran
 *  para IE y ya no aportan nada.
 *  Las rutas son RELATIVAS a la ubicación de style.css (raíz del tema hijo).
 * ========================================================================== */

@font-face {
    font-family: 'GraphikThin';
    src: url('assets/fonts/Inter-Light.woff2') format('woff2');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GraphikExtraLight';
    src: url('assets/fonts/Inter-Light.woff2') format('woff2');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GraphikLight';
    src: url('assets/fonts/Inter-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GraphikRegular';
    src: url('assets/fonts/Inter-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GraphikMedium';
    src: url('assets/fonts/Inter-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GraphikSemibold';
    src: url('assets/fonts/Inter-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GraphikBold';
    src: url('assets/fonts/Inter-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GraphikBlack';
    src: url('assets/fonts/Inter-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'GraphikSuper';
    src: url('assets/fonts/Inter-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* REGISTRO DISTRIBUIDORES */

.form-registro-distribuidores ::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    opacity: 1; /* Firefox */
}
.form-registro-distribuidores h3 { 
	margin:0px;
}
.form-registro-distribuidores a { 
	color: white;
}
.form-registro-distribuidores a { 
	color: #f3e663;
	text-decoration: underline;
}
/* REGISTRO DISTRIBUIDORES */


/* LOYAL CLUB */
.boton-contacto-loyal-club a:hover	
{
	text-decoration: underline;
}
.boton-contacto-loyal-club {
  top: 3px;
}
.textonormal-loyal strong {
    font-family: 'GraphikRegular';
}
.textonormal-loyal a
{
	color:white;
}
.textonormal-loyal a:hover
{
	color:white;
	text-decoration:underline;
}
.boton-loyal a:hover
{
	text-decoration:underline;
}
/* LOYAL CLUB */

.elementor-section.wd-section-stretch > .elementor-column-gap-wider {
    max-width: 1310px;
}

.site-content {
    margin-bottom: 0px;
}

.fix-mobile-bg-gradient {
    background-image: linear-gradient(270deg, #F4F4F4 0%, #FFFFFF 100%) !important;
}

.wd-add-btn-replace .add-to-cart-loop {
    font-family: "GraphikRegular";
    font-weight: 100;
}

.wd-entities-title a {
    font-family: "GraphikSemibold";
    color: black;
}

.wd-entities-title a:hover {
    color: black;
    text-decoration: underline;
}

.wd-product-cats.woodmart-product-cats a {
    font-family: "GraphikLight";
}

.shop-loop-head {
    margin-top: 30px;
    margin-bottom: 40px;
}

.wd-shop-tools.woodmart-woo-breadcrumbs {
    font-family: "GraphikRegular";
}

.breadcrumb-last {
    font-family: "GraphikRegular";
}

.wd-shop-tools.woodmart-shop-tools {
    font-family: "GraphikRegular";
}

.single-product-page.single-product-content {
    margin-top: 50px;
}

.single-product-page.single-product-content .woocommerce-breadcrumb {
    font-family: "GraphikRegular";
}

.single-product-page.single-product-content .product_title.wd-entities-title {
    font-family: "GraphikBold";
    font-size: 25px;
}

.single-product-page.single-product-content .woocommerce-product-details__short-description {
    font-family: "GraphikLight";
    font-size: 16px;
}

.single-product-page.single-product-content #tab-description {
    font-size: 16px;
    font-family: "GraphikLight";
}

.single-product-page.single-product-content #tab-description strong {
    font-family: "GraphikMedium";
    font-weight: 100;
}

/*.single-product-page.single-product-content .tabs.wc-tabs a {
  font-family: "GraphikBold";
}*/
.single-product-page.single-product-content .slider-title {
    position: relative;
    margin-bottom: 20px;
    padding-bottom: 10px;
    text-align: left;
    text-transform: capitalize;
    font-size: 22px;
    color: #1C1F2A;
    font-family: "GraphikThin", Sans-serif;
    font-size: 70px;
    font-weight: 100;
    border-bottom: 1px solid;
}

.single-product-page.single-product-content h3.slider-title::before {
    display: none;
}

.single-product-page.single-product-content .woocommerce-product-details__short-description a {
    font-family: "GraphikBold";
}

.single-product-page.single-product-content .woocommerce-product-details__short-description a:hover {
    font-family: "GraphikBold";
    text-decoration: underline;
}

.single-product-page.single-product-content .wd-compare-btn.product-compare-button.wd-action-btn.wd-style-text.wd-compare-icon {
    font-family: "GraphikBold";
}

.single-product-page.single-product-content .wd-wishlist-btn.wd-action-btn.wd-style-text.wd-wishlist-icon.woodmart-wishlist-btn a {
    font-family: "GraphikBold";
}

.single-product-page.single-product-content .posted_in,
.single-product-page.single-product-content .sku_wrapper,
.single-product-page.single-product-content .share-title {
    font-family: "GraphikRegular";
}

.single-product-page.single-product-content .posted_in a,
.single-product-page.single-product-content .sku_wrapper .sku {
    font-family: "GraphikLight";
}

.single-product-page.single-product-content .posted_in a:hover {
    font-family: "GraphikLight";
    text-decoration: underline;
}

.bloqueblog .elementor-post__read-more:hover {
    text-decoration: underline;
}

.wd-nav-main > li > a,
.wd-nav-secondary > li > a {
    color: white !important;
    text-transform: inherit !important;
    font-family: "GraphikLight" !important;
    font-weight: 100 !important;
    font-size: 20px !important;
    padding: 0px 30px !important;
}

.wd-nav-main > li > a:hover,
.wd-nav-secondary > li > a:hover {
    color: #F3E663 !important;
}

.wd-tools-element .wd-tools-icon {
    color: white;
}

.wd-header-cart .wd-cart-subtotal .amount {
    color: white !important;
}

/*#sliderppal .wd-slide-inner {
  max-width: 100% !important;
}
#sliderppal .flickity-page-dots {
  display: none;
}
#sliderppal .flickity-button.next {
  right: 0;
  padding-left: 2px;
  color: white;
}
#sliderppal .flickity-button.previous {
  right: 0;
  padding-left: 2px;
  color: white;
}
#sliderppal .slider-in-container .wd-slide-container {
  padding: 0%;
  width: 100%;
  margin: 0px;
  max-width: 100%;
}*/
.textocontacto strong {
    color: #f3e663;
    font-weight: 100;
}

.textonormal strong {
    font-family: 'GraphikRegular';
}

.titulonormal strong {
    font-family: 'GraphikRegular';
    color: #f3e663;
}

.portfolio_home .portfolio-enlarge {
    display: none;
}

.portfolio_home .proj-cats-list {
    display: none;
}

.portfolio_home .wd-entities-title a {
    font-family: 'GraphikLight';
    font-size: 16px;
    font-weight: 100;
}

.portfolio_home .wd-entities-title a:hover {
    text-decoration: underline;
    color: #F3E663 !important;
}

.portfolio_home .portfolio-entry .social-icons-wrapper {
    top: 15px;
    right: 5px;
}

.portfolio_home .owl-dots .owl-dot span {
    border: 2px solid #F3E663;
}

.portfolio_home .owl-dots .owl-dot.active span {
    background-color: #F3E663;
    border-color: #F3E663;
}

/*Menú desplegable home*/
.menu-desplegable-home .elementor-tab-content {
    z-index: 2;
    position: absolute;
    right: 0;
    text-align: right;
}

.menu-desplegable-home .elementor-toggle-icon {
    margin-top: 3px;
}

.menu-desplegable-home .elementor-toggle .elementor-tab-title .elementor-toggle-icon svg {
    width: 20px;
    height: 20px;
}

.menu-desplegable-home .elementor-tab-content {
    width: 200%;
}

/*reescribir estilos woodmart*/
.whb-header {
    margin-bottom: 0px !important;
}

.wd-slide-container {
    padding: 0 !important;
}

/*Reajustar altura video slide*/
@media (min-width: 768px) {
    #hero .elementor-section.elementor-section-height-full {
        height: calc(100vh - 80px);
    }
}

/*reajustar woodmart section stretch en slides*/
@media (min-width: 1025px) {
    .platform-Windows [class*="wd-section-stretch"] {
        width: calc(100vw - 10px);
        left: calc(50% - 50vw + 8.5px);
    }

    .flickity-button.next {
        right: 9px !important;
    }
}

/*hero*/
#hero .flickity-page-dots {
    display: none;
}

#hero .flickity-button {
    color: rgb(255 255 255 / 60%);
}

#hero .flickity-button:hover {
    color: #fff;
}

.wd-slide {
    min-height: auto !important;
}

/*boton*/
/*.elementor-button-content-wrapper .elementor-button-icon {
    transform: rotate(0deg);
    transition: all .3s;
}

.elementor-button-content-wrapper:hover .elementor-button-icon {
    transform: rotate(45deg);
    transition: all .3s;
}*/

.bloqueblog .elementor-post__read-more::after {
    content: url(https://cps-spain.net/wp-content/uploads/2022/01/flecha-01.svg);
    width: 15px;
    display: inline-block;
    transform: rotate(0deg);
    transition: all .3s;
}

.bloqueblog .elementor-post__read-more:hover::after {
    content: url(https://cps-spain.net/wp-content/uploads/2022/01/flecha-01.svg);
    width: 15px;
    display: inline-block;
    transform: rotate(45deg);
    transition: all .3s;
}

/*Woocommerce*/
input[type='email'],
input[type='date'],
input[type='search'],
input[type='number'],
input[type='text'],
input[type='tel'],
input[type='url'],
input[type='password'],
textarea,
select,
div.quantity input[type="button"],
.product-tabs-wrapper,
.meta-location-add_to_cart .product_meta,
.popup-quick-view .product_meta,
table tbody th,
table tfoot th,
table td {
    border-color: #0C0D10;
    color: #0C0D10;
}

.product-tabs-wrapper {
    border-bottom: none;
}

div.quantity input[type="number"],
div.quantity input[type="button"] {
    color: #0C0D10;
}

div.quantity input[type="button"]:hover {
    color: initial;
    background-color: var(--wd-primary-color);
    border-color: initial;
}

.single_add_to_cart_button {
    font-family: "GraphikRegular", sans-serif;
    font-size: 14px;
    text-transform: initial;
}

.product-image-summary .variations {
    font-family: "GraphikRegular", sans-serif;
}

/*Landings*/
.titulo-landing h1 strong {
    text-shadow: 2px 2px 0px #f3e663;
}

/*.page-id-10647 .elementor-section.wd-negative-gap>.elementor-column-gap-default {
	 margin-right: auto !important;
    margin-left: auto !important;
}
.page-id-10647 [class*="wd-section-stretch"] {
    position: relative;
    width: 100vw;
    left: 30px;
}*/
.page-id-10647 .whb-main-header,
.page-id-10647 .elementor-location-footer {
    display: none;
}

.page-id-10647 .site-content {
    margin-bottom: 0px;
}

/*Product page*/
.product-label.onsale {
    color: #0c0d10;
}

.woocommerce-variation-description li,
.woocommerce-variation-description ul,
.woocommerce-variation-description p {
    margin-bottom: 0;
    font-size: 15px;
}

.woocommerce-variation-description {
    background: #fff;
    padding: 10px;
}

.elementor.type-product .woocommerce-product-gallery img {
    width: 100%
}

.elementor.type-product .woocommerce-product-gallery .col-12 {
    padding: 0px;
}

.elementor.type-product .woocommerce-product-gallery.thumbs-position-bottom_combined .product-image-wrap {
    margin: 0;
    padding: 0;
}

.elementor.type-product .woocommerce-product-gallery.row {
    margin-right: 0;
    margin-left: 0;
}

.woocommerce-product-details__short-description img {
    display: block;
    margin: 0 auto;
    float: inherit;
}

.woocommerce div.product.elementor ul.tabs li a {
    position: relative;
    display: inline-block;
    padding-top: 30px;
    padding-bottom: 10px;
    color: inherit;
    text-transform: uppercase;
    font-weight: inherit;
    font-size: 16px;
    opacity: .7;
}

.woocommerce div.product.elementor ul.tabs li.active a {
    opacity: 1;
}

.woocommerce div.product.elementor ul.tabs li a:after {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 0;
    margin-bottom: -2px;
    width: 0;
    top: -2px;
    height: 3px;
    background-color: var(--wd-primary-color);
    transition: width 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.15);
}

.woocommerce div.product.elementor ul.tabs li.active a:after {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 0;
    margin-bottom: -2px;
    width: 100%;
    top: -2px;
    height: 3px;
    background-color: var(--wd-primary-color);
    transition: width 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.15);
}

.woocommerce div.product.elementor .woocommerce-tabs .panel {
    border: none;
}

.elementor-widget-woocommerce-product-meta .detail-label,
.elementor-text-editor elementor-clearfix {
    font-weight: 600 !important;
}

.tabs-producto h2 {
    font-size: 25px;
    font-weight: bold;
}

.tabs-producto h3 {
    font-size: 22px;
    font-weight: bold;
}

.tabs-producto .wd-nav-tabs > li > a {
    padding: 0;
}

.tabs-producto .wd-nav.wd-style-underline .nav-link-text {
    padding-top: 30px;
}

.tabs-producto .wd-nav.wd-style-underline .nav-link-text:after {
    top: -2px;
}

.tabs-producto #gallery-1 img {
    border: none;
}

.tabs-producto #gallery-1 {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    justify-content: space-around;
    align-items: flex-start;
}

.tabs-producto #gallery-1 .gallery-item {
    width: auto;
    max-width: 100%;
}

.descargas-producto i {
    margin-right: 5px;
    color: #0C0D10;
}

.descargas-producto a {
    color: #0C0D10;
}

.descargas-producto a {
    border-bottom: 1px solid transparent;
}

.descargas-producto a:hover {
    border-bottom: 1px solid #f3e663;
}

@media (min-width: 1025px) {
    .elementor.type-product .woocommerce-product-gallery .col-lg-9 {
        -ms-flex: 0 0 80%;
        flex: 0 0 80%;
        max-width: 80%;
    }

    .elementor.type-product .woocommerce-product-gallery .col-lg-3 {
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }
}

@media (max-width: 767px) {
    .elementor.type-product .elementor-top-section {
        background-image: linear-gradient(90deg, #FFFFFF 100%, #F4F4F4 0%) !important;
    }

    .tabs-producto .wd-nav-wrapper {
        white-space: nowrap;
        overflow-x: auto;
    }

    .tabs-producto .wd-nav-wrapper ul {
        flex-wrap: nowrap !important;
    }
}

.elementor.type-product .woocommerce-product-gallery .slick-list img {
    border: 1px solid #dbdbdb;
}

.elementor.type-product .slick-list {
    height: auto !important;
}

.elementor.type-product .woocommerce-product-gallery .col-lg-3 button {
    display: none !important;
}

.elementor-field-type-html .elementor-toggle .elementor-tab-title .elementor-toggle-icon svg {
    width: 20px;
}

.elementor-field-type-html .elementor-toggle .elementor-tab-title .elementor-toggle-icon.elementor-toggle-icon-left {
    float: inherit;
}

#renting_form .elementor-field-type-html a {
    color: #0C0D10 !important;
}

#landing_form .elementor-field-type-html a,
#landing_form .elementor-widget-toggle .elementor-tab-content {
    color: #fff !important;
}

#landing_form .elementor-widget-toggle .elementor-toggle-icon svg {
    fill: #fff;
}

.elementor-message {
    color: #fff;
}

.elementor-field-type-acceptance {
    margin-bottom: 0 !important;
}

/*Video embed aspect fix*/
p.has-iframe {
    position: relative;
    padding-bottom: 56.25%;
}

p.has-iframe iframe {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    right: 0;
    left: 0;
}

/*Categoria listing*/
.category-listing-box:hover h2 {
    color: #F3E663 !important;
    transition: .3s;
}

.category-listing-box h2 {
    transition: .3s;
}

/*Calculadora*/
#calculadora_renting {
    font-family: var(--e-global-typography-text-font-family), Sans-serif;
    font-weight: var(--e-global-typography-text-font-weight);
}

#calculadora_renting select#plazo {
    width: 50%;
    display: block;
    float: left;
    background: #fff;
}

#calculadora_renting input[type="submit"] {
    background: #000;
    color: #fff;
    margin-left: 10px;
    width: calc(50% - 10px);
    display: inline-block;
}

.resultado {
    margin-top: var(--wd-tags-mb);
    background: #f3e663;
    padding: 10px;
    color: #000;
    display: inline-block;
    text-align: center;
}

.resultado {
    font-size: 100;
}

.resultado a {
    font-family: "GraphikLight", Sans-serif;
    font-size: 25px;
    font-weight: 500;
    text-decoration: underline;
    background-color: #61CE7000;
    display: block;
}

.resultado a {
    color: #000;
}

.info-financiacion .elementor-accordion-title {
    display: flex;
    justify-content: space-between;
}

/*Otros*/
#elementor-tab-content-3431 {
    width: 100% !important;
}

.aplicaciones-lista img {
    height: 150px;
    min-height: 150px;
    max-height: 150px;
}

/*menu*/
.wd-design-default.wd-dropdown-menu,
.wd-design-default.wd-dropdown-menu .sub-sub-menu {
    background: #0c0d10;
}

.wd-design-default.wd-dropdown-menu a {
    color: #fff;
    font-size: 15px;
}

.wd-design-default.wd-dropdown-menu a:hover {
    color: #f3e663;
}

.wd-design-default.wd-dropdown-menu a::after,
.menu-item-has-children a::after {
    color: #fff !important;
}
.widget_shopping_cart_content .elementor-button--checkout {
	background-color: #000 !important;
}
/*woo*/
.woocommerce-shipping-totals.shipping th {
	vertical-align: baseline;
    font-size: 15px;
    font-weight: 600;
}
.mensaje-transferencia {
    background: #f3e663;
    padding: 10px 15px;
    color: #0c0d10;
    font-weight: 600;
}

.woocommerce-bacs-bank-details .wc-bacs-bank-details-heading {
    display: none;
    font-size: 30px;
}

.woocommerce-bacs-bank-details .wc-bacs-bank-details-account-name {
    font-size: 28px;
    margin-top: 0;
    text-align: center;
    opacity: 1;
}

.woocommerce-bacs-bank-details {
    border: 1px solid;
    padding: 10px;
    background: #f9f9f9;
}

.cart-widget-side {
    padding: 10px;
}

.amount {
    color: #0C0D10;
}

.woocommerce-Tabs-panel--description i.fa-file-pdf-o {
    margin-right: 5px;
    color: var(--wd-link-color);
}

.woocommerce-Tabs-panel--description a {
    border-bottom: 1px solid transparent;
}

.woocommerce-Tabs-panel--description a:hover {
    border-bottom: 1px solid #f3e663;
}

.checkout-order-review:before,
.woocommerce-order-pay .entry-content > .woocommerce:before,
.checkout-order-review:after,
.woocommerce-order-pay .entry-content > .woocommerce:after {
    display: none;
}

#ship-to-different-address {
    background: #f6e971;
    padding: 10px;
}

.woocommerce-checkout-review-order-table th {
    vertical-align: top;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    max-width: 30%;
    width: 30%;
    font-size: 15px;
}

.woocommerce-checkout-review-order-table th {
    font-weight: 600;
}

.checkout-order-review,
.woocommerce-order-pay .entry-content > .woocommerce {
    background-color: #F4F4F4;
}

.upsells-carousel .title,
.upsells-carousel .product-grid-item .product-element-top:hover .hover-img,
.wd-hover-button:hover .product-element-top:before,
.wd-hover-button:hover .wd-add-btn {
    display: none;
}

.oc_filter,
#wpv_table_data_filter {
    display: none;
}

.wppvv_datatable_main {
    display: block;
    float: initial;
}

.woocommerce-price-suffix {
    color: #777;
    font-size: 14px;
    font-family: 'GraphikLight', sans-serif;
}

.product_meta > span:not(:last-child) {
    margin-bottom: 0;
}

.woocommerce-shipping-totals td {
	font-size: 80%;
}

/*GLS*/
#parcelinfo h3 {
    font-size: 18px;
    font-weight: 600;
}

#parcelinfo .panel {
    background: var(--wd-primary-color);
    padding: 10px;
}

/*VARIATIONS TABLE*/
.vartable {
    font-size: 85%;
}

.vartable small.woocommerce-price-suffix {
    font-size: 12px;
}

.vartable .btn,
.vartable .button {
    padding: 10px;
}

.vartable_selectall.button.btn {
    padding: 0;
}

.vartable th {
    font-size: 14px;
}

.variations-table-row {
    background-color: transparent !important;
}

.woocommerce-variations-table {
    background: #f4f4f4;
    border: 1px solid;
    font-size: 17px;
}

.variations-table-header {
    font-weight: 600;
    color: #fff;
}

.woocommerce-variations-table thead tr {
    background: #0c0d10;
}

.variations-table-multiple-add-to-cart button {
    width: 50%;
    background: #0c0d10;
    opacity: 1 !important;
    color: #fff;
    font-size: 18px;
    float: right;
}

/* CSS FORMULARIOS */
.cf-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -5px;
    margin-left: -5px;
}

.cf-col-1,
.cf-col-2,
.cf-col-3,
.cf-col-4,
.cf-col-5,
.cf-col-6,
.cf-col-7,
.cf-col-8,
.cf-col-9,
.cf-col-10,
.cf-col-11,
.cf-col-12 {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 5px;
    padding-left: 5px;
}

.checksform {
    font-size: 13px;
    margin-bottom: 0;
}

.checksform a {
    color: #fff;
}

.textoaceptoform {
    margin-bottom: 0;
}

@media (min-width: 767px) {
    .cf-col-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%;
    }

    .cf-push-1 {
        margin-left: 8.333333%;
    }

    .cf-col-2 {
        -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
        max-width: 16.66667%;
    }

    .cf-push-2 {
        margin-left: 16.66667%;
    }

    .cf-col-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }

    .cf-push-3 {
        margin-left: 25%;
    }

    .cf-col-4 {
        -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
        max-width: 33.33333%;
    }

    .cf-push-4 {
        margin-left: 33.33333%;
    }

    .cf-col-5 {
        -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
        max-width: 41.66667%;
    }

    .cf-push-5 {
        margin-left: 41.66667%;
    }

    .cf-col-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
    }

    .cf-push-6 {
        margin-left: 50%;
    }

    .cf-col-7 {
        -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
        max-width: 58.33333%;
    }

    .cf-push-7 {
        margin-left: 58.33333%;
    }

    .cf-col-8 {
        -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
        max-width: 66.66667%;
    }

    .cf-push-8 {
        margin-left: 66.66667%;
    }

    .cf-col-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }

    .cf-push-9 {
        margin-left: 75%;
    }

    .cf-col-10 {
        -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
        max-width: 83.33333%;
    }

    .cf-push-10 {
        margin-left: 83.33333%;
    }

    .cf-col-11 {
        -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
        max-width: 91.66667%;
    }

    .cf-push-11 {
        margin-left: 91.66667%;
    }

    .cf-col-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/*Product bundles*/
/*.type_product_variable table.variations label[for=configuraciones]::before {
	content: "1.";
	display: block;
	position: relative;
	margin-right: 5px;
}
.type_product_variable .woobt-before-text::before {
	content: "2.";
	display: block;
	position: relative;
	margin-right: 5px;
}*/
table.variations label[for=configuraciones],
.woobt-before-text {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
}

.woobt-products {
    background: white;
    padding: 10px;
}

.woobt-before-text {
    margin-bottom: 10px;
    font-weight: 600;
    color: #242424;
}

.woobt-products {
    border: none;
}

.woobt-products .woobt-product {
    border-bottom: 1px solid #e5e5e5;
}

.woobt-title,
.woobt-price-ori {
    font-size: 14px;
}

.woobt-price .woocommerce-price-suffix {
    display: none;
}

.woobt-products .woobt-product {
    flex-wrap: wrap;
    justify-content: flex-start;
}

.woobt-products .woobt-product .woobt-quantity {
    text-align: left;
    width: auto;
    flex: auto;
}

.woobt-products .woobt-product.woobt-hide .woobt-quantity * {
    opacity: 1;
}

.woobt-quantity div.quantity input[type="number"] {
    width: 30px;
    height: 20px !important;
}

.woobt-products .woobt-product .woobt-price {
    width: auto;
    flex: 0 0 auto;
    max-width: 100%;
}

.product_parent_cat_maquinaria .e-atc-qty-button-holder,
.product_parent_cat_maquinaria .woobt-alert.woobt-text,
.product_parent_cat_ofertas:not(.postid-21340) .e-atc-qty-button-holder,
.product_parent_cat_ofertas:not(.postid-21340) .woobt-alert.woobt-text {
    display: none !important;
}


/*YITH Order Tracking*/
.ywot-track-your-order-link {
    color: #f3e663 !important;
    display: block;
}


/*Points and rewards*/
.yith-par-message-product,
.yith-par-message-variation {
	border: 1px dashed;
    border-radius: 0 !important;
    padding: 10px !important;
    background: #fff !important;
}
.yith-par-message-product strong,
.yith-par-message-product bdi,
.yith-par-message-variation strong,
.yith-par-message-variation bdi,
#yith-par-message-cart strong {
	color: #368f12;
}
#yith-par-message-cart {
	background: #368f12;
}
#yith-par-message-cart .woocommerce-cart-notice-minimum-amount {
	border: 2px dashed #368f12;
    background: none;
    color: inherit;
}
.yith-par-message-product, .yith-par-message-variation, #yith-par-message-cart {
	border: none !important;
}
/*Mensajes stock*/
.woocommerce-variation-price:not(:empty)+.woocommerce-variation-availability {
    margin-left: 0px !important;
}
p.stock.wd-style-default.available-on-backorder {
    color: #d12323;
}
p.stock.wd-style-default.in-stock:before {
	color: green;
}
.woocommerce-cart-form__cart-item p.backorder_notification {
	color: #d12323;
	font-size: 12px;
}
/*My account*/
.wd-my-account-links a {
	border: 1px solid;
	color: var(--e-global-color-primary)
}
.wd-my-account-links a:before {
	color: var(--e-global-color-primary)
}
#share_points input#ywpar-share-points__submit {
	color: #fff;
}
.ywpar_tabs_header ul {
	border: none;
}
.ywpar_myaccount_entry_info > div {
	background-color: #f3e663;
	color: var(--wd-title-color);
	border-radius: 0;
}
.ywpar_rank_badges {
	display: none;
}
.wd-my-account-sidebar {
    border-inline-end: 1px solid #000;
}
.woocommerce-MyAccount-title {
	border: none
}
table.woocommerce-orders-table th,
table.shop_table th {
	border: none !important;
}
.woocommerce-my-account-wrapper .woocommerce-info {
    background-color: #f3e663;
    color: #0c0d10;
}
.woocommerce-my-account-wrapper .woocommerce-info a,
.ywpar_myaccount_entry_info span.ywpar_to_redeem_title,
.wd-search-full-screen .searchform {
    color: #0c0d10;
	border-color: #0c0d10 !important;
}
.wd-heading {
	border: none;
}
.elementor-menu-cart__subtotal {
    border: none !important;
    text-align: left !important;
}
.yith-par-message-product, .yith-par-message-variation, #yith-par-message-cart {
	border: 1px solid;
	background: #ffffff !important;
	color: var(--e-global-color-primary);
}
.yith-par-message-product p, .yith-par-message-variation p {
	margin-bottom: 0;
}
.cart-content-wrapper .cart-totals-inner {
	border: 1px solid;
}





/* ==========================================================================
   CPS — (1) Refuerzo despliegue lengüetas laterales + (2) Estilos carrito WCK
   AÑADIR al final de single-product-machine.css (o cargar tras él).
   ========================================================================== */

/* =============================================================================
   1) LENGÜETAS: forzar el despliegue del texto frente a CSS de terceros.
      Si solo se ven iconos, suele ser porque otra hoja pisa el ancho/overflow.
      Reforzamos con especificidad alta y !important en lo crítico.
   ========================================================================== */
.cps-tpl-machine nav.cps-sidenav .cps-sidenav__tab {
	width: 46px !important;
	max-width: 46px !important;
	overflow: hidden !important;
	transition: max-width .34s cubic-bezier(.22,1,.36,1), width .34s cubic-bezier(.22,1,.36,1), background .2s ease, box-shadow .2s ease !important;
}
.cps-tpl-machine nav.cps-sidenav .cps-sidenav__tab:hover,
.cps-tpl-machine nav.cps-sidenav .cps-sidenav__tab:focus-visible,
.cps-tpl-machine nav.cps-sidenav .cps-sidenav__tab.is-active {
	width: auto !important;
	max-width: 280px !important;
}
.cps-tpl-machine nav.cps-sidenav .cps-sidenav__label {
	opacity: 0;
	transition: opacity .2s ease .06s;
}
.cps-tpl-machine nav.cps-sidenav .cps-sidenav__tab:hover .cps-sidenav__label,
.cps-tpl-machine nav.cps-sidenav .cps-sidenav__tab:focus-visible .cps-sidenav__label,
.cps-tpl-machine nav.cps-sidenav .cps-sidenav__tab.is-active .cps-sidenav__label {
	opacity: 1 !important;
}
/* Que el <a> no herede un max-width global del tema. */
.cps-tpl-machine nav.cps-sidenav a.cps-sidenav__tab { box-sizing: content-box; }








/* =============================================================================
   2) CARRITO LATERAL (módulo WCK · clases wck-sc__*)
      No tocamos su HTML, solo lo vestimos. Botones corporativos, eliminar como
      cruz roja pequeña arriba, y +/- grises con símbolo visible y hover de marca.
   ========================================================================== */

/* Variables locales con fallback (por si el panel se renderiza fuera de .cps-tpl-machine). */
.wck-sc__panel {
	--cps-green: #f4d300;
	--cps-green-hover: #e3d44a;
	--cps-ink: #181715;
	--cps-line: #e8e6e1;
	--cps-muted: #73706a;
	--cps-red: #c0392b;
}

/* --- Botones de acción (footer) --- */
.wck-sc__panel .wck-sc__btn {
	border-radius: 999px;
	font-weight: 700;
	transition: background .15s ease, color .15s ease, border-color .15s ease, transform .12s ease;
	border: 1px solid transparent;
}
/* Primario = Finalizar compra → amarillo corporativo, texto oscuro */
.wck-sc__panel .wck-sc__btn--primary {
	background: var(--cps-green) !important;
	color: var(--cps-ink) !important;
	border-color: var(--cps-green) !important;
}
.wck-sc__panel .wck-sc__btn--primary:hover {
	background: var(--cps-green-hover) !important;
	transform: translateY(-1px);
}
/* Secundario = Ver carrito → oscuro, texto claro */
.wck-sc__panel .wck-sc__btn--secondary {
	background: var(--cps-ink) !important;
	color: #fff !important;
	border-color: var(--cps-ink) !important;
}
.wck-sc__panel .wck-sc__btn--secondary:hover {
	background: #000 !important;
	transform: translateY(-1px);
}

/* --- Botón ELIMINAR: cruz pequeña, arriba a la derecha del item, en rojo --- */
.wck-sc__panel .wck-sc__item { position: relative; }
.wck-sc__panel .wck-sc__remove {
	position: absolute;
	top: 0;
	right: 0;
	width: 22px;
	height: 22px;
	padding: 0;
	display: grid;
	place-items: center;
	background: transparent;
	border: none;
	color: var(--cps-red);
	opacity: .65;
	cursor: pointer;
	transition: opacity .15s ease, transform .12s ease, color .15s ease;
}
.wck-sc__panel .wck-sc__remove:hover {
	opacity: 1;
	transform: scale(1.15);
	color: #e74c3c;
}
.wck-sc__panel .wck-sc__remove svg { width: 14px; height: 14px; }
/* La cruz de eliminar ya no ocupa sitio en la fila inferior. */
.wck-sc__panel .wck-sc__row .wck-sc__remove { position: absolute; }

/* --- Selector de cantidad: gris, con +/- visibles y hover corporativo --- */
.wck-sc__panel .wck-sc__qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--cps-line);
	border-radius: 999px;
	overflow: hidden;
	background: #f3f2ef;
}
.wck-sc__panel .wck-sc__qty-btn {
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	background: transparent;
	border: none;
	color: var(--cps-ink);          /* símbolo +/- bien visible (oscuro) */
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.wck-sc__panel .wck-sc__qty-btn svg { width: 15px; height: 15px; }
.wck-sc__panel .wck-sc__qty-btn:hover {
	background: var(--cps-green);    /* hover: fondo de marca */
	color: var(--cps-ink);
}
.wck-sc__panel .wck-sc__qty-input {
	width: 38px;
	height: 30px;
	border: none;
	background: transparent;
	text-align: center;
	font-weight: 700;
	color: var(--cps-ink);
	-moz-appearance: textfield;
}
.wck-sc__panel .wck-sc__qty-input::-webkit-outer-spin-button,
.wck-sc__panel .wck-sc__qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Pequeños refuerzos de legibilidad/coherencia */
.wck-sc__panel .wck-sc__line-subtotal { font-weight: 800; color: var(--cps-ink); }
.wck-sc__panel .wck-sc__count { background: var(--cps-green); color: var(--cps-ink); }

@media (prefers-reduced-motion: reduce) {
	.wck-sc__panel .wck-sc__btn,
	.wck-sc__panel .wck-sc__remove,
	.wck-sc__panel .wck-sc__qty-btn { transition: none; }
}






/* =============================================================================
   3) LISTA DE DESEOS (módulo WCK · clases wck-wl-*)
      Mismo criterio que el carrito lateral: no tocamos el HTML del plugin,
      solo lo vestimos con la identidad CPS (blanco/tinta + amarillo de marca).
      Los selectores van prefijados con `body` para ganar al CSS propio del
      plugin (se imprime después en el footer) SIN usar !important.
      Cubre: botón (ficha máquina/repuesto), corazón flotante en tarjetas
      (silo y upsells), badge del header y página /mis-favoritos/.
   ========================================================================== */

/* El acento interno del plugin (rosa por defecto) pasa al dorado corporativo:
   colorea restos como hovers de enlaces dentro de la lista. */
body { --wck-wl-accent: #c9ad00; }

/* Tokens locales con fallback (mismo patrón que .wck-sc__panel, arriba). */
.wck-wl-btn,
.cps-tpl-wishlist,
.cps-rcard__wishlist,
.cps-util-btn--wishlist {
	--cps-green: #f4d300;
	--cps-green-hover: #e3d44a;
	--cps-green-deep: #c9ad00;
	--cps-ink: #181715;
	--cps-ink-2: #2e2c29;
	--cps-ink-3: #4d4a46;
	--cps-muted: #73706a;
	--cps-line: #e8e6e1;
	--cps-tint: #f7f6f2;
	--cps-red: #c0392b;
	--cps-ease: cubic-bezier(.22, 1, .36, 1);
}

/* --------------------------------------------------------------------------
   3.1 · Botón base .wck-wl-btn (pill corporativa con corazón)
   -------------------------------------------------------------------------- */
body .wck-wl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 11px 20px;
	background: #fff;
	color: var(--cps-ink);
	border: 1px solid var(--cps-line);
	border-radius: 999px;
	font: inherit;
	font-size: .85rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease,
	            transform .12s ease, box-shadow .25s var(--cps-ease);
}
body .wck-wl-btn::before {
	content: "\2661";                 /* ♡ */
	content: "\2661" / "";
	font-size: 1.15em;
	line-height: 1;
	color: var(--cps-red);
	transition: transform .15s ease;
}
body .wck-wl-btn:hover,
body .wck-wl-btn:focus-visible {
	border-color: var(--cps-ink);
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(24, 23, 21, .08);
}
body .wck-wl-btn:focus-visible {
	outline: 2px solid var(--cps-green-deep);
	outline-offset: 2px;
}
/* Guardado: tinta + corazón dorado (eco del CTA del sitio). */
body .wck-wl-btn.is-in {
	background: var(--cps-ink);
	border-color: var(--cps-ink);
	color: #fff;
}
body .wck-wl-btn.is-in::before {
	content: "\2665";                 /* ♥ */
	content: "\2665" / "";
	color: var(--cps-green);
	transform: scale(1.12);
}
body .wck-wl-btn.is-busy,
body .wck-wl-btn[disabled] {
	opacity: .55;
	cursor: progress;
}

/* --------------------------------------------------------------------------
   3.2 · Corazón flotante en tarjetas (silo y upsells de las fichas)
   -------------------------------------------------------------------------- */
body .cps-rcard { position: relative; }

body .cps-rcard__wishlist {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 10;
	line-height: 0;
}
/* Icon-only: se oculta la etiqueta de texto (sigue legible para lectores
   de pantalla vía aria-pressed + texto del botón). */
body .cps-rcard__wishlist .wck-wl-btn {
	width: 42px;
	height: 42px;
	padding: 0;
	font-size: 0;
	gap: 0;
	border-radius: 50%;
	box-shadow: 0 2px 10px rgba(24, 23, 21, .12);
}
body .cps-rcard__wishlist .wck-wl-btn::before { font-size: 19px; }
body .cps-rcard__wishlist .wck-wl-btn:hover,
body .cps-rcard__wishlist .wck-wl-btn:focus-visible {
	transform: scale(1.08);
	box-shadow: 0 6px 16px rgba(24, 23, 21, .16);
}

/* Silo: el corazón va en línea con «Ver producto» (fila de acciones). */
.cps-tpl-silo .cps-rcard__actions {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;            /* la fila se ancla abajo, como hacía el CTA */
}
.cps-tpl-silo .cps-rcard__actions .cps-rcard__cta {
	flex: 1;                     /* el CTA ocupa el ancho restante */
	justify-content: center;
	margin-top: 0;
}
body .cps-tpl-silo .cps-rcard__wishlist--inline {
	position: static;            /* anula el absolute del corazón flotante */
	top: auto;
	right: auto;
	flex: 0 0 auto;
}


/* --------------------------------------------------------------------------
   3.3 · Ficha de producto (zona de compra y configurador de kit)
   -------------------------------------------------------------------------- */
body .cps-pinfo__wishlist { margin-top: 14px; }
body .cps-pinfo__wishlist--kit .wck-wl-btn {
	width: 100%;
	justify-content: center;
}

/* --------------------------------------------------------------------------
   3.4 · Badge del header (icono corazón de .cps-utils)
   -------------------------------------------------------------------------- */
body .cps-util-btn--wishlist .wck-wl-count {
	position: absolute;
	top: -5px;
	right: -8px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 17px;
	height: 17px;
	padding: 0 3px;
	border-radius: 50%;
	background: var(--cps-green);
	color: var(--cps-ink);
	font-size: .65rem;
	font-weight: 800;
	line-height: 1;
	border: 2px solid var(--cps-bg-header, #fff);
	box-shadow: 0 1px 3px rgba(17, 24, 39, .25);
	transition: transform .2s cubic-bezier(.175, .885, .32, 1.275);
}
/* A cero, oculto: mismo comportamiento que .cps-cart-count[data-empty]. */
body .cps-util-btn--wishlist .wck-wl-count.is-empty { display: none; }

/* --------------------------------------------------------------------------
   3.5 · Página /mis-favoritos/ (template page-wishlist.php)
   -------------------------------------------------------------------------- */
.cps-tpl-wishlist .cps-wl-wrap {
	width: 100%;
	max-width: 1222px;
	margin-inline: auto;
	padding-inline: 15px;
}

/* Hero ligero */
.cps-tpl-wishlist .cps-wl-hero {
	padding: 56px 0 40px;
	background: var(--cps-tint);
	border-bottom: 1px solid var(--cps-line);
}
.cps-tpl-wishlist .cps-wl-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	border: 1px solid rgba(244, 211, 0, .45);
	border-radius: 999px;
	background: #fff;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--cps-ink-2);
}
.cps-tpl-wishlist .cps-wl-eyebrow .dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--cps-green);
}
.cps-tpl-wishlist .cps-wl-title {
	margin: 16px 0 10px;
	font-size: clamp(1.7rem, 1.2rem + 2vw, 2.6rem);
	font-weight: 800;
	line-height: 1.06;
	letter-spacing: -.02em;
	color: var(--cps-ink);
}
.cps-tpl-wishlist .cps-wl-sub {
	margin: 0;
	max-width: 56ch;
	font-size: .95rem;
	line-height: 1.55;
	color: var(--cps-muted);
}
.cps-tpl-wishlist .cps-wl-body { padding: 36px 0 64px; }

/* Aviso de lista compartida */
body .cps-tpl-wishlist .wck-wl-shared-note {
	margin: 0 0 20px;
	padding: 12px 16px;
	border-left: 3px solid var(--cps-green);
	border-radius: 0 8px 8px 0;
	background: rgba(244, 211, 0, .10);
	color: var(--cps-ink-2);
	font-size: .92rem;
}

/* Barra de acciones: añadir todo (CTA dorado) + compartir (soft) */
body .cps-tpl-wishlist .wck-wl-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0 0 26px;
}
body .cps-tpl-wishlist .wck-wl-toolbar .button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 22px;
	border-radius: 999px;
	border: 1px solid transparent;
	font: inherit;
	font-size: .88rem;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease, transform .12s ease;
}
body .cps-tpl-wishlist .wck-wl-add-all {
	background: var(--cps-green);
	color: var(--cps-ink);
}
body .cps-tpl-wishlist .wck-wl-add-all:hover {
	background: var(--cps-green-hover);
	transform: translateY(-1px);
}
body .cps-tpl-wishlist .wck-wl-share {
	background: #fff;
	color: var(--cps-ink);
	border-color: var(--cps-line);
}
body .cps-tpl-wishlist .wck-wl-share:hover {
	background: var(--cps-tint);
	border-color: var(--cps-ink);
	transform: translateY(-1px);
}
body .cps-tpl-wishlist .wck-wl-msg {
	font-size: .88rem;
	color: var(--cps-muted);
}
body .cps-tpl-wishlist .wck-wl-msg.is-error { color: var(--cps-red); }

/* Rejilla de productos guardados (tarjetas blancas estilo cps-rcard) */
body .cps-tpl-wishlist .wck-wl-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
body .cps-tpl-wishlist .wck-wl-item {
	display: flex;
	flex-direction: column;
	padding: 18px;
	background: #fff;
	border: 1px solid var(--cps-line);
	border-radius: 16px;
	overflow: hidden;
	transition: transform .3s var(--cps-ease), box-shadow .3s var(--cps-ease), border-color .2s ease;
}
body .cps-tpl-wishlist .wck-wl-item:hover {
	transform: translateY(-3px);
	border-color: #dedbd4;
	box-shadow: 0 10px 30px rgba(24, 23, 21, .10);
}
body .cps-tpl-wishlist .wck-wl-thumb {
	display: grid;
	place-items: center;
	min-height: 160px;
	margin-bottom: 14px;
	line-height: 0;
}
body .cps-tpl-wishlist .wck-wl-thumb img {
	max-width: 85%;
	max-height: 170px;
	width: auto;
	height: auto;
	object-fit: contain;
}
body .cps-tpl-wishlist .wck-wl-info {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 8px;
}
body .cps-tpl-wishlist .wck-wl-name {
	color: var(--cps-ink);
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: -.01em;
	line-height: 1.25;
	text-decoration: none;
}
body .cps-tpl-wishlist .wck-wl-name:hover { color: var(--cps-green-deep); }
body .cps-tpl-wishlist .wck-wl-price {
	font-size: .9rem;
	color: var(--cps-ink-3);
}
body .cps-tpl-wishlist .wck-wl-price .amount {
	color: var(--cps-ink);
	font-weight: 800;
}
body .cps-tpl-wishlist .wck-wl-stock-out {
	align-self: flex-start;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(192, 57, 43, .10);
	color: var(--cps-red);
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}
body .cps-tpl-wishlist .wck-wl-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: auto;
	padding-top: 14px;
}
/* «Añadir al carrito» por producto (clases nativas Woo) → CTA dorado compacto */
body .cps-tpl-wishlist .wck-wl-actions .button {
	display: inline-flex;
	align-items: center;
	padding: 10px 18px;
	border-radius: 999px;
	border: none;
	background: var(--cps-green);
	color: var(--cps-ink);
	font: inherit;
	font-size: .82rem;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	transition: background .15s ease, transform .12s ease;
}
body .cps-tpl-wishlist .wck-wl-actions .button:hover {
	background: var(--cps-green-hover);
	transform: translateY(-1px);
}
/* Quitar: enlace discreto en rojo (mismo lenguaje que el side-cart) */
body .cps-tpl-wishlist .wck-wl-remove {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	color: var(--cps-red);
	font: inherit;
	font-size: .82rem;
	font-weight: 600;
	text-decoration: underline;
	opacity: .75;
	cursor: pointer;
	transition: opacity .15s ease;
}
body .cps-tpl-wishlist .wck-wl-remove:hover { opacity: 1; }

/* Estado vacío */
body .cps-tpl-wishlist .wck-wl-empty {
	margin: 0;
	padding: 48px 24px;
	border: 1px dashed var(--cps-line);
	border-radius: 16px;
	background: var(--cps-tint);
	text-align: center;
	font-size: 1rem;
	color: var(--cps-muted);
}
body .cps-tpl-wishlist .wck-wl-empty a {
	color: var(--cps-ink);
	font-weight: 800;
	text-decoration: underline;
	text-decoration-color: var(--cps-green);
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

/* --------------------------------------------------------------------------
   3.6 · Accesibilidad y movimiento
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	body .wck-wl-btn,
	body .wck-wl-btn::before,
	body .cps-util-btn--wishlist .wck-wl-count,
	body .cps-tpl-wishlist .wck-wl-item,
	body .cps-tpl-wishlist .wck-wl-toolbar .button,
	body .cps-tpl-wishlist .wck-wl-actions .button {
		transition: none;
	}
	body .wck-wl-btn:hover,
	body .cps-tpl-wishlist .wck-wl-item:hover { transform: none; }
}












/* =============================================================================
 *  points.css — Programa de puntos · CPS Spain
 *  -----------------------------------------------------------------------------
 *  Estila TODAS las superficies donde aparece el bloque de fidelización:
 *    1. Página independiente (template-puntos.php → .cps-tpl-points)
 *    2. Topbar del header (chip de saldo)
 *    3. Fichas de producto (aviso «ganarás N puntos», tpl machine y spare)
 *    4. Checkout (aviso + campo de canje parcial)
 *    5. Side-cart / drawer (aviso compacto)
 *    6. Mi cuenta (dashboard + endpoint /puntos/)
 *
 *  Aditivo y scopeado. Sin !important. Misma paleta que machine/spare:
 *  amarillo de marca #f4d300 bajo el token histórico --green.
 *  Carga global recomendada (la topbar y el drawer existen en todo el sitio).
 * ========================================================================== */

/* =============================================================================
 *  1 · PÁGINA INDEPENDIENTE — .cps-tpl-points
 * ========================================================================== */

.cps-tpl-points {
	/* Tokens (idénticos a .cps-tpl-machine / .cps-tpl-spare) */
	--green:       #f4d300;
	--green-hover: #e3d44a;
	--green-deep:  #c9ad00;
	--green-soft:  #fdfce9;
	--green-dark:  #3f3c13;
	--green-25:    rgba(244, 211, 0, .25);
	--green-18:    rgba(244, 211, 0, .18);
	--green-08:    rgba(244, 211, 0, .08);

	--ink:    #181715;
	--ink-2:  #2e2c29;
	--ink-3:  #4d4a46;
	--muted:  #73706a;
	--line:   #e8e6e1;
	--tint:   #f7f6f2;
	--tint-2: #fcfcfa;
	--white:  #fff;

	--sh-1: 0 1px 2px rgba(24, 23, 21, .04);
	--sh-2: 0 4px 16px rgba(24, 23, 21, .06);

	--r-md:   12px;
	--r-xl:   18px;
	--r-pill: 999px;

	--text-2xs: clamp(.625rem, .6rem + .15vw, .75rem);
	--text-xs:  clamp(.75rem, .71rem + .18vw, .875rem);
	--text-sm:  clamp(.875rem, .84rem + .18vw, 1rem);
	--text-md:  clamp(1rem, .95rem + .25vw, 1.125rem);

	background: var(--tint-2);
	color: var(--ink);
}

.cps-tpl-points .cps-points-wrap {
	width: 100%;
	max-width: 980px;            /* lectura cómoda: tabla + cards, no full-bleed */
	margin-inline: auto;
	padding: 56px 15px 72px;
}

/* --- Cabecera editorial (patrón eyebrow + título, como machine) --- */
.cps-tpl-points .cps-points-head {
	max-width: 640px;
	margin-bottom: 36px;
}
.cps-tpl-points .cps-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 16px;
	padding: 6px 14px;
	border: 1px solid var(--green-25);
	border-radius: var(--r-pill);
	background: var(--green-08);
	color: var(--green-deep);
	font-size: var(--text-2xs);
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.cps-tpl-points .cps-eyebrow .dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--green);
	box-shadow: 0 0 0 4px var(--green-18);
}
.cps-tpl-points .cps-points-head__title {
	margin: 0 0 14px;
	font-size: clamp(1.7rem, 1.2rem + 2.2vw, 2.6rem);
	font-weight: 800;
	line-height: 1.06;
	letter-spacing: -.025em;
	color: var(--ink);
}
.cps-tpl-points .cps-points-head__lead {
	margin: 0;
	font-size: var(--text-md);
	line-height: 1.6;
	color: var(--ink-3);
}

/* Contenido opcional del editor */
.cps-tpl-points .cps-points-content {
	max-width: 640px;
	margin-bottom: 32px;
	color: var(--ink-3);
	line-height: 1.6;
}

/* --- Panel principal (saldo + tabla del módulo) --- */
.cps-tpl-points .cps-points-panel {
	margin-bottom: 56px;
	padding: 28px;
	border: 1px solid var(--line);
	border-radius: var(--r-xl);
	background: var(--white);
	box-shadow: var(--sh-2);
}
@media (max-width: 520px) {
	.cps-tpl-points .cps-points-panel { padding: 18px 14px; }
}

/* Resumen de saldo del módulo, elevado a "hero" del panel */
.cps-tpl-points .wck-points-account__summary {
	display: block;
	margin: 0 0 22px;
	padding: 18px 20px;
	border: 1px solid var(--green-25);
	border-radius: var(--r-md);
	background: linear-gradient(120deg, var(--green-soft) 0%, var(--white) 70%);
	font-size: var(--text-md);
	font-weight: 600;
	color: var(--ink);
}
.cps-tpl-points .wck-points-account__summary strong {
	display: inline-block;
	margin-top: 6px;
	color: var(--green-dark);
	font-weight: 700;
}

/* --- Tabla de movimientos --- */
.cps-tpl-points .wck-points-table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	font-size: var(--text-xs);
}
.cps-tpl-points .wck-points-table thead th {
	padding: 10px 12px;
	border-bottom: 2px solid var(--ink);
	background: transparent;
	color: var(--muted);
	font-size: var(--text-2xs);
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-align: left;
}
.cps-tpl-points .wck-points-table tbody td {
	padding: 12px;
	border-bottom: 1px solid var(--line);
	color: var(--ink-2);
	vertical-align: middle;
}
.cps-tpl-points .wck-points-table tbody tr:hover td {
	background: var(--tint);
}
.cps-tpl-points .wck-points-table a {
	color: var(--green-deep);
	font-weight: 600;
	text-decoration: none;
}
.cps-tpl-points .wck-points-table a:hover { text-decoration: underline; }

/* Columna de puntos: + en verde de marca, − en tinta */
.cps-tpl-points .wck-points-table td:nth-child(3) {
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

/* --- Paginación (mismo lenguaje que cps-btn--soft) --- */
.cps-tpl-points .wck-points-pagination {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin-top: 20px;
}
.cps-tpl-points .wck-points-pagination .button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 18px;
	border: 1px solid var(--line);
	border-radius: var(--r-pill);
	background: var(--white);
	color: var(--ink);
	font-size: var(--text-xs);
	font-weight: 700;
	text-decoration: none;
	transition: border-color .15s ease, background-color .15s ease;
}
.cps-tpl-points .wck-points-pagination .button:hover {
	border-color: var(--green);
	background: var(--green-soft);
}

/* --- Card de login (usuarios sin sesión) --- */
.cps-tpl-points .cps-points-login-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 56px;
	padding: 28px;
	border: 1px solid var(--line);
	border-radius: var(--r-xl);
	background: var(--white);
	box-shadow: var(--sh-2);
}
.cps-tpl-points .cps-points-login-card h2 {
	margin: 0 0 8px;
	font-size: var(--text-md);
	font-weight: 800;
	color: var(--ink);
}
.cps-tpl-points .cps-points-login-card p {
	margin: 0;
	max-width: 52ch;
	font-size: var(--text-xs);
	line-height: 1.55;
	color: var(--ink-3);
}

/* Botón CTA (mismo lenguaje que cps-btn--cta) */
.cps-tpl-points .cps-points-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 22px;
	border-radius: var(--r-pill);
	background: var(--green);
	color: var(--ink);
	font-size: var(--text-xs);
	font-weight: 800;
	text-decoration: none;
	transition: background-color .15s ease, transform .15s ease;
}
.cps-tpl-points .cps-points-btn:hover {
	background: var(--green-hover);
	transform: translateY(-1px);
}

/* --- "Cómo funciona" --- */
.cps-tpl-points .cps-points-how__title {
	margin: 0 0 22px;
	font-size: clamp(1.2rem, 1rem + 1vw, 1.6rem);
	font-weight: 800;
	letter-spacing: -.015em;
	color: var(--ink);
}
.cps-tpl-points .cps-points-how__title::after {
	content: "";
	display: block;
	width: 44px;
	height: 4px;
	margin-top: 10px;
	border-radius: 2px;
	background: linear-gradient(120deg, var(--green-deep) 0%, var(--green) 100%);
}
.cps-tpl-points .cps-points-how__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}
@media (max-width: 900px) {
	.cps-tpl-points .cps-points-how__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
	.cps-tpl-points .cps-points-how__grid { grid-template-columns: 1fr; }
}
.cps-tpl-points .cps-points-how__card {
	position: relative;
	padding: 22px 18px;
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	background: var(--white);
	box-shadow: var(--sh-1);
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.cps-tpl-points .cps-points-how__card:hover {
	border-color: var(--green-25);
	box-shadow: var(--sh-2);
	transform: translateY(-2px);
}
.cps-tpl-points .cps-points-how__num {
	position: absolute;
	top: 14px;
	right: 16px;
	font-size: 1.6rem;
	font-weight: 800;
	letter-spacing: -.04em;
	color: var(--line);
}
.cps-tpl-points .cps-points-how__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-bottom: 14px;
	border-radius: var(--r-md);
	background: var(--green-soft);
	color: var(--green-deep);
}
.cps-tpl-points .cps-points-how__tit {
	margin: 0 0 8px;
	font-size: var(--text-sm);
	font-weight: 800;
	color: var(--ink);
}
.cps-tpl-points .cps-points-how__txt {
	margin: 0;
	font-size: var(--text-xs);
	line-height: 1.5;
	color: var(--ink-3);
}

/* --- Nota legal --- */
.cps-tpl-points .cps-points-legal {
	margin: 32px 0 0;
	font-size: var(--text-2xs);
	color: var(--muted);
}

/* =============================================================================
 *  2 · TOPBAR — chip de saldo (sobre fondo oscuro del header)
 *  Markup: ver snippet en puntos-INSTALACION.md
 * ========================================================================== */

.cps-topbar__item--points .wck-points--short {
	display: inline-flex;
	align-items: center;
	padding: 2px 9px;
	border-radius: var(--cps-pill-radius, 999px);
	background: var(--cps-accent-soft, rgba(244, 211, 0, .14));
	color: var(--cps-accent, #f4d300);
	font-weight: 800;
	letter-spacing: .02em;
	font-variant-numeric: tabular-nums;
}
a.cps-topbar__item--points:hover .wck-points--short {
	background: var(--cps-accent, #f4d300);
	color: var(--cps-accent-ink, #1c1f24);
}

/* =============================================================================
 *  3 · FICHAS DE PRODUCTO — aviso «ganarás N puntos»
 *  Vale para [wck_points_notice] en cualquier template. Las dos primeras
 *  reglas heredan los tokens del scope (machine/spare); la base trae
 *  fallbacks por si el aviso aparece fuera de un scope cps-tpl-*.
 * ========================================================================== */

.wck-points-msg {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-weight: 600;
}

.wck-points-msg--product {
	margin: 14px 0 0;
	padding: 11px 16px;
	border: 1px solid var(--green-25, rgba(244, 211, 0, .25));
	border-radius: var(--r-md, 12px);
	background: var(--green-soft, #fdfce9);
	color: var(--green-dark, #3f3c13);
	font-size: var(--text-xs, .85rem);
	line-height: 1.4;
}
.wck-points-msg--product::before {
	content: "";
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M14.5 9.2A3 3 0 0 0 9.6 11c0 2.2 4.8 1.5 4.8 3.8a3 3 0 0 1-4.9 1.7"/><path d="M12 6.8v1.4M12 15.8v1.4"/></svg>') center / contain no-repeat;
	mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M14.5 9.2A3 3 0 0 0 9.6 11c0 2.2 4.8 1.5 4.8 3.8a3 3 0 0 1-4.9 1.7"/><path d="M12 6.8v1.4M12 15.8v1.4"/></svg>') center / contain no-repeat;
}

/* Dentro de la card de precio del tpl máquina respira igual que price-note */
.cps-tpl-machine .cps-pinfo__price .wck-points-msg--product { margin-top: 16px; }
.cps-tpl-spare .wck-points-msg--product { margin-top: 16px; }

/* =============================================================================
 *  4 · CHECKOUT — aviso + canje parcial
 * ========================================================================== */

.wck-points-msg--checkout {
	margin: 0 0 10px;
	padding: 10px 14px;
	border-radius: var(--r-md, 12px);
	background: var(--green-soft, #fdfce9);
	border: 1px solid var(--green-25, rgba(244, 211, 0, .25));
	color: var(--green-dark, #3f3c13);
	font-size: .85rem;
}

.wck-points-redeem {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 12px;
	margin: 0 0 18px;
	padding: 16px 18px;
	border: 1px solid var(--line, #e8e6e1);
	border-left: 3px solid var(--green, #f4d300);
	border-radius: var(--r-md, 12px);
	background: var(--white, #fff);
	box-shadow: 0 1px 2px rgba(24, 23, 21, .04);
}
.wck-points-redeem label {
	margin: 0;
	font-size: .9rem;
	color: var(--ink, #181715);
}
.wck-points-redeem input[type="number"] {
	padding: 8px 10px;
	border: 1px solid var(--line, #e8e6e1);
	border-radius: 8px;
	background: var(--tint-2, #fcfcfa);
	color: var(--ink, #181715);
	font: inherit;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: center;
}
.wck-points-redeem input[type="number"]:focus-visible {
	outline: 2px solid var(--green, #f4d300);
	outline-offset: 1px;
}
.wck-points-redeem__hint {
	flex-basis: 100%;
	font-size: .76rem;
	color: var(--muted, #73706a);
}

/* =============================================================================
 *  5 · SIDE-CART / DRAWER — aviso compacto en el footer del panel
 * ========================================================================== */

.wck-sc__footer .wck-points-msg--drawer {
	justify-content: center;
	margin: 0 0 10px;
	padding: 7px 12px;
	border-radius: 999px;
	background: var(--green-soft, #fdfce9);
	color: var(--green-dark, #3f3c13);
	font-size: .78rem;
	text-align: center;
}

/* =============================================================================
 *  6 · MI CUENTA — dashboard y endpoint /puntos/
 * ========================================================================== */

.woocommerce-MyAccount-content .wck-points-balance {
	margin: 0 0 18px;
	padding: 12px 16px;
	border: 1px solid var(--green-25, rgba(244, 211, 0, .25));
	border-radius: 12px;
	background: var(--green-soft, #fdfce9);
	color: var(--green-dark, #3f3c13);
	font-weight: 600;
}
.woocommerce-MyAccount-content .wck-points-balance a {
	color: var(--green-deep, #c9ad00);
	font-weight: 700;
}

.woocommerce-MyAccount-content .wck-points-account__summary {
	font-weight: 600;
}
.woocommerce-MyAccount-content .wck-points-table td:nth-child(3) {
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

/* =============================================================================
 *  Reduce motion
 * ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	.cps-tpl-points .cps-points-how__card,
	.cps-tpl-points .cps-points-btn,
	.cps-tpl-points .wck-points-pagination .button { transition: none; }
	.cps-tpl-points .cps-points-how__card:hover,
	.cps-tpl-points .cps-points-btn:hover { transform: none; }
}

