/*
Theme Name: Colproser Child
Description: Tema hijo Shopire para Colproser: remodelación y mantenimiento locativo + fabricación de lámparas, mesas, relojes y vajillas.
Author: Colproser
Template: shopire
Version: 2.4.0
Text Domain: colproser-child
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{--ink:#17211d;--green:#174b3f;--mint:#dcefe3;--cream:#f7f3ec;--paper:#fffdf9;--coral:#ef6c50;--yellow:#f7d978;--line:rgba(23,33,29,.14)}
.cp-home,.cp-home *{box-sizing:border-box}.cp-home{background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;overflow:hidden}.cp-shell{margin:auto;max-width:1440px;padding:0 5.4vw}.cp-nav{align-items:center;display:flex;justify-content:space-between;min-height:92px}.cp-brand{align-items:center;color:var(--ink);display:inline-flex;font:700 24px/1 "Space Grotesk",sans-serif;gap:9px;letter-spacing:-.06em;text-decoration:none}.cp-mark{align-items:center;background:var(--coral);border-radius:50%;color:#fff;display:flex;font-size:17px;height:31px;justify-content:center;transform:rotate(-10deg);width:31px}.cp-dot,.cp-home em{color:var(--coral);font-style:normal}.cp-links{display:flex;gap:34px}.cp-links a,.cp-login{color:var(--ink);font-size:13px;font-weight:600;text-decoration:none}.cp-actions{align-items:center;display:flex;gap:20px}.cp-sell,.cp-button{background:var(--green);color:#fff;font-size:12px;font-weight:700;padding:13px 17px;text-decoration:none}.cp-sell span,.cp-button span{color:var(--yellow);margin-left:12px}.cp-menu{background:none;border:0;display:none;font-size:20px}
.cp-hero{align-items:center;display:grid;gap:5vw;grid-template-columns:.92fr 1.08fr;min-height:595px;padding:58px 0 79px}.cp-kicker,.cp-eyebrow{color:var(--coral);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.cp-kicker{align-items:center;display:flex;gap:10px}.cp-kicker:before{background:var(--coral);border-radius:50%;content:"";height:7px;width:7px}.cp-hero h1,.cp-section h2,.cp-banner h2,.cp-city h2{font:600 clamp(47px,5.8vw,82px)/.94 "Space Grotesk",sans-serif;letter-spacing:-.075em;margin:21px 0 25px}.cp-copy{color:#59635e;font-size:16px;line-height:1.55;max-width:415px}.cp-search{align-items:center;background:var(--paper);border:1px solid var(--line);display:flex;margin-top:34px;max-width:468px;padding:5px}.cp-search input{background:transparent;border:0;flex:1;font:500 13px "DM Sans",sans-serif;outline:0;padding:13px;min-width:0}.cp-search button{background:var(--coral);border:0;color:#fff;cursor:pointer;font-weight:700;padding:14px 20px;white-space:nowrap}.cp-search .screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal}.cp-meta{color:#77807a;font-size:11px;margin-top:22px}.cp-visual{min-height:490px;position:relative}.cp-photo{background:linear-gradient(155deg,var(--mint),var(--paper) 62%);height:490px;margin-left:7%;overflow:hidden;width:78%}.cp-order,.cp-city-badge{background:var(--paper);box-shadow:0 14px 34px rgba(23,33,29,.13);font-size:11px;padding:14px 17px;position:absolute}.cp-order{bottom:58px;left:0}.cp-order strong,.cp-order small{display:block}.cp-order small{color:#7c837f;margin-top:3px}.cp-city-badge{background:var(--green);bottom:0;color:#fff;right:0}
.cp-categories{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;gap:25px;grid-template-columns:180px 1fr;padding:25px 0}.cp-categories h3{font:600 14px "Space Grotesk",sans-serif;margin:4px 0}.cp-categories small{color:#78817b;text-transform:uppercase}.cp-category-list{display:grid;gap:10px;grid-template-columns:repeat(6,1fr)}.cp-category{border-left:1px solid var(--line);color:var(--ink);font-size:12px;font-weight:700;padding:12px 15px;text-decoration:none}.cp-category b{background:var(--mint);border-radius:50%;display:inline-flex;font-size:17px;height:36px;justify-content:center;margin-right:8px;padding-top:7px;width:36px}.cp-section{padding:104px 0 112px}.cp-section-head{align-items:end;display:flex;justify-content:space-between;margin-bottom:42px}.cp-section h2,.cp-banner h2,.cp-city h2{font-size:clamp(35px,4.1vw,57px);margin:15px 0 0}.cp-see{border-bottom:1px solid var(--ink);color:var(--ink);font-size:12px;font-weight:700;padding-bottom:7px;text-decoration:none}.cp-products{display:grid;gap:18px;grid-template-columns:repeat(4,1fr)}.cp-product{color:var(--ink);text-decoration:none}.cp-product-image{background:var(--mint);height:280px;overflow:hidden}.cp-product-image img{height:100%;object-fit:cover;transition:transform .4s;width:100%}.cp-product:hover img{transform:scale(1.05)}.cp-product-info{padding-top:16px}.cp-product-info small{color:#7d8781;text-transform:uppercase}.cp-product-info h3{font:600 16px "Space Grotesk",sans-serif;margin:6px 0 8px}.cp-product-info strong{color:var(--coral);font-size:13px}.cp-banner{background:var(--yellow);display:grid;grid-template-columns:1fr 1fr;min-height:390px}.cp-banner-copy{padding:64px 7vw 55px}.cp-banner p,.cp-city p{color:#655b3c;line-height:1.6;max-width:390px}.cp-art{background:var(--coral);margin:45px auto;max-width:270px;transform:rotate(8deg);width:55%}.cp-art:after{background:var(--green);content:"vende\A mas";color:var(--yellow);display:block;font:700 31px/.8 "Space Grotesk",sans-serif;padding:80px 25px;transform:rotate(-8deg);white-space:pre}.cp-city{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:112px 0}.cp-city>div:last-child{border-left:1px solid var(--line);padding-left:40px}.cp-city-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:25px}.cp-city-list span{border:1px solid var(--line);font-size:11px;padding:10px 13px}.cp-footer{align-items:center;border-top:1px solid var(--line);display:flex;font-size:11px;justify-content:space-between;padding:28px 0}.cp-footer a{color:var(--ink);text-decoration:none}
@media(max-width:900px){.cp-hero{grid-template-columns:1fr}.cp-visual{margin:auto;max-width:650px;width:100%}.cp-category-list{grid-template-columns:repeat(3,1fr)}.cp-products{grid-template-columns:repeat(2,1fr)}.cp-categories{grid-template-columns:1fr}}@media(max-width:620px){.cp-shell{padding:0 20px}.cp-links{background:var(--paper);border:1px solid var(--line);display:none;flex-direction:column;gap:18px;left:20px;padding:20px;position:absolute;right:20px;top:67px;z-index:3}.cp-links.open{display:flex}.cp-actions{gap:10px}.cp-login{display:none}.cp-menu{display:block}.cp-sell{font-size:10px;padding:11px}.cp-hero{padding:42px 0 64px}.cp-hero h1{font-size:54px}.cp-visual,.cp-photo{height:330px;min-height:330px}.cp-photo{margin-left:5%;width:88%}.cp-category-list{grid-template-columns:repeat(2,1fr)}.cp-category:nth-child(odd){border-left:0;padding-left:0}.cp-section{padding:70px 0}.cp-section-head{align-items:flex-start;flex-direction:column;gap:25px}.cp-product-image{height:190px}.cp-banner{grid-template-columns:1fr}.cp-banner-copy{padding:56px 25px 30px}.cp-art{margin:30px auto 55px}.cp-city{gap:30px;grid-template-columns:1fr;padding:75px 0}.cp-city>div:last-child{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.cp-footer{align-items:flex-start;flex-direction:column;gap:17px}}

/* Shared Shopire surfaces use the Colproser visual language. */
body:not(.colproser-landing-page), body:not(.colproser-landing-page) .site { background: var(--cream); color: var(--ink); font-family: "DM Sans", sans-serif; }
body:not(.colproser-landing-page) h1, body:not(.colproser-landing-page) h2, body:not(.colproser-landing-page) h3, body:not(.colproser-landing-page) h4, body:not(.colproser-landing-page) .woocommerce-loop-product__title { color: var(--ink); font-family: "Space Grotesk", sans-serif; letter-spacing: -.045em; }
body:not(.colproser-landing-page) a { color: var(--green); }
body:not(.colproser-landing-page) a:hover { color: var(--coral); }

/* Header and footer from the Shopire parent. */
body:not(.colproser-landing-page) .site-header, body:not(.colproser-landing-page) #wf_header { background: var(--cream); border-bottom: 1px solid var(--line); }
body:not(.colproser-landing-page) .site-header, body:not(.colproser-landing-page) #wf_header { position: relative; z-index: 50; }
body:not(.colproser-landing-page) .site-header > *:not(.patterns-layer), body:not(.colproser-landing-page) #wf_header > *:not(.patterns-layer) { position: relative; }
body:not(.colproser-landing-page) .site-header .patterns-layer, body:not(.colproser-landing-page) #wf_header .patterns-layer { display: block; z-index: 0; }
/* Header decor: triangulo a la derecha, circulo a la izquierda, a la altura del topbar. */
body:not(.colproser-landing-page) .site-header .patterns-layer.pattern_1, body:not(.colproser-landing-page) #wf_header .patterns-layer.pattern_1 { top: 20px; right: 2.5rem; bottom: auto; left: auto; width: 26px; height: 24px; background: var(--coral); clip-path: polygon(50% 0, 0 100%, 100% 100%); opacity: .55; }
body:not(.colproser-landing-page) .site-header .patterns-layer.pattern_1::before, body:not(.colproser-landing-page) .site-header .patterns-layer.pattern_1::after, body:not(.colproser-landing-page) #wf_header .patterns-layer.pattern_1::before, body:not(.colproser-landing-page) #wf_header .patterns-layer.pattern_1::after { content: none !important; display: none !important; }
body:not(.colproser-landing-page) .site-header .patterns-layer.pattern_2, body:not(.colproser-landing-page) #wf_header .patterns-layer.pattern_2 { top: 22px; left: 3%; bottom: auto; right: auto; opacity: .55; }

/* Mobile header: the phone and the search box are always visible, the arrow is no longer needed. */
body:not(.colproser-landing-page) #wf_header .wf_mobilenav-topbar { flex-direction: column; }
body:not(.colproser-landing-page) #wf_header .wf_mobilenav-topbar-toggle { display: none !important; }
body:not(.colproser-landing-page) #wf_header .wf_mobilenav-topbar-content { display: block !important; padding: .8rem 0 .9rem; }
body:not(.colproser-landing-page) #wf_header .wf_mobilenav-topbar-content .wf_header-widget .wf-row { align-items: center; display: flex; flex-wrap: wrap; gap: 9px 16px; justify-content: center; }
body:not(.colproser-landing-page) #wf_header .wf_mobilenav-topbar-content .wf_header-widget > .wf-container > .wf-row > .wf-col-lg-5,
body:not(.colproser-landing-page) #wf_header .wf_mobilenav-topbar-content .wf_header-widget > .wf-container > .wf-row > .wf-col-lg-7 { flex: 1 1 240px; max-width: 100%; padding: 0; width: auto; }
body:not(.colproser-landing-page) #wf_header .wf_mobilenav-topbar-content .widget--left,
body:not(.colproser-landing-page) #wf_header .wf_mobilenav-topbar-content .widget--right { justify-content: center; text-align: center; }
body:not(.colproser-landing-page) #wf_header .wf_mobilenav-topbar-content .wf_header-widget .widget { margin-bottom: 0; }
body:not(.colproser-landing-page) #wf_header .wf_mobilenav-topbar-content .widget_contact .contact__list { justify-content: center; padding-left: 0; }
body:not(.colproser-landing-page) #wf_header .wf_mobilenav-topbar-content .widget_contact h6 { font-size: 12px; margin: 0; }
body:not(.colproser-landing-page) #wf_header .wf_mobilenav-topbar-content .widget_contact a { color: var(--green); font-weight: 700; text-decoration: none; }
body:not(.colproser-landing-page) #wf_header .wf_mobilenav-topbar-content .widget_contact a:hover { color: var(--coral); }
body:not(.colproser-landing-page) #wf_header .wf_mobilenav-topbar-content .widget_search .wp-block-search { margin: 0 auto; max-width: 360px; width: 100%; }
body:not(.colproser-landing-page) #wf_header .wf_mobilenav-topbar-content .widget_search .wp-block-search__inside-wrapper { max-width: none; width: 100%; }

/* The global button color turned the mobile menu icon and the close icon into solid coral blocks. */
body:not(.colproser-landing-page) button.hamburger,
body:not(.colproser-landing-page) button.wf_mobilenav-mainmenu-toggle,
body:not(.colproser-landing-page) .wf_header-closemenu.site--close { background-color: transparent !important; border: 0; padding: 0 !important; }
body:not(.colproser-landing-page) button.hamburger,
body:not(.colproser-landing-page) button.wf_mobilenav-mainmenu-toggle { height: 2.6rem !important; width: 2.8rem !important; }
body:not(.colproser-landing-page) .wf_header-closemenu.site--close { height: 5rem !important; line-height: 5rem !important; width: 5rem !important; }
body:not(.colproser-landing-page) .hamburger span { background-color: var(--ink) !important; }
body:not(.colproser-landing-page) .hamburger.active span,
body:not(.colproser-landing-page) .hamburger:hover span,
body:not(.colproser-landing-page) .hamburger:focus span { background-color: var(--coral) !important; }
body:not(.colproser-landing-page) .site--close:before,
body:not(.colproser-landing-page) .site--close:after { background-color: var(--ink) !important; }

/* Hide the page title section (title + breadcrumb). */
body:not(.colproser-landing-page) #wf_pagetitle { display: none !important; }
body:not(.colproser-landing-page) #wf_pagetitle .title { display: none !important; }
/* Patterns only in the header: remove them from the breadcrumb/page-title section. */
body:not(.colproser-landing-page) #wf_pagetitle .patterns-layer { display: none !important; }

body:not(.colproser-landing-page) .site-header .site-branding a, body:not(.colproser-landing-page) .site-title a, body:not(.colproser-landing-page) .site-description { color: var(--ink); font-family: "Space Grotesk", sans-serif; }
body:not(.colproser-landing-page) .main-navigation a, body:not(.colproser-landing-page) .site-header a { font-size: 13px; font-weight: 600; }
body:not(.colproser-landing-page) .main-navigation ul li a:hover, body:not(.colproser-landing-page) .current-menu-item > a { color: var(--coral); }
body:not(.colproser-landing-page) .site-footer { background: var(--green); border-top: 0; color: var(--mint); padding: 54px 0 25px; }
body:not(.colproser-landing-page) .site-footer a, body:not(.colproser-landing-page) .site-footer h3, body:not(.colproser-landing-page) .site-footer h4 { color: #fff; }

/* Footer middle: light band, four blocks with the same rhythm, centered and evenly distributed. */
body:not(.colproser-landing-page) .wf_footer_middle { background: var(--cream); border-bottom: 1px solid var(--line); color: var(--ink); padding: 36px 0 40px; }
body:not(.colproser-landing-page) .wf_footer_middle .wf-row { row-gap: 18px; }
body:not(.colproser-landing-page) .wf_footer_middle .wf-col-lg-3 { display: flex; flex-direction: column; align-items: center; }
body:not(.colproser-landing-page) .wf_footer_middle .widget { text-align: center; width: 100%; }
body:not(.colproser-landing-page) .wf_footer_middle .widget:last-child { margin-bottom: 0; }
body:not(.colproser-landing-page) .wf_footer_middle a:not(.wf-btn):not(.wp-block-search__button),
body:not(.colproser-landing-page) .wf_footer_middle h5 { color: var(--ink); }
body:not(.colproser-landing-page) .wf_footer_middle a:not(.wf-btn):not(.wp-block-search__button):hover { color: var(--coral); }
body:not(.colproser-landing-page) .wf_footer_middle .wf_business_hour:empty,
body:not(.colproser-landing-page) .wf_footer_middle p:empty,
body:not(.colproser-landing-page) .wf_footer_middle .wp-block-image:empty { display: none; }
body:not(.colproser-landing-page) .wf_footer_middle .widget p strong,
body:not(.colproser-landing-page) .wf_footer_middle .wp-block-search__label strong,
body:not(.colproser-landing-page) .wf_footer_middle .widget > div b { color: var(--ink); display: block; font: 600 14px/1.35 "Space Grotesk", sans-serif; letter-spacing: .04em; margin: 0 0 18px; text-transform: uppercase; }
body:not(.colproser-landing-page) .wf_footer_middle .widget h5 { font: 500 14px/1.75 "DM Sans", sans-serif; margin: 0; }
body:not(.colproser-landing-page) .wf_footer_middle .widget h5 a { display: inline-block; }
body:not(.colproser-landing-page) .wf_footer_middle .wp-block-image { margin: 0 auto; max-width: 290px; }
body:not(.colproser-landing-page) .wf_footer_middle .wp-block-image img.wp-duotone-grayscale { filter: none !important; }
body:not(.colproser-landing-page) .wf_footer_middle .wp-block-search__label { margin-bottom: 4px; }
body:not(.colproser-landing-page) .wf_footer_middle .wp-block-search__inside-wrapper { background: var(--paper); border: 1px solid var(--line); margin: 0 auto; max-width: 310px; width: 100%; }
body:not(.colproser-landing-page) .wf_footer_middle .wp-block-search__input { color: var(--ink); }
body:not(.colproser-landing-page) .wf_footer_middle .wf-btn { display: inline-block; min-width: 150px; text-align: center; }
@media (max-width: 991px) {
    body:not(.colproser-landing-page) .wf_footer_middle .wf-col-sm-6 .widget + .widget { margin-top: 24px; }
}

/* Shop page: full width, no sidebar. */
body.woocommerce-shop #wf-main,
body.archive #wf-main,
body.post-type-archive-product #wf-main,
body[class*="tax-"] #wf-main,
body.woocommerce #wf-main {
    max-width: 100% !important;
    flex-basis: 100% !important;
    width: 100% !important;
}
body.woocommerce-shop #wf-sidebar,
body.archive #wf-sidebar,
body.post-type-archive-product #wf-sidebar,
body[class*="tax-"] #wf-sidebar,
body.woocommerce #wf-sidebar {
    display: none !important;
    width: 0 !important;
    max-width: 0 !important;
    flex-basis: 0 !important;
    overflow: hidden !important;
}

/* WooCommerce catalog, product detail and account screens. */
body:not(.colproser-landing-page) .woocommerce-products-header, body:not(.colproser-landing-page) .page-header { border-bottom: 1px solid var(--line); margin-bottom: 28px; padding: 18px 0; }
body:not(.colproser-landing-page) .woocommerce-products-header__title, body:not(.colproser-landing-page) .page-header .page-title, body:not(.colproser-landing-page):not(.single-product) .entry-title, body:not(.colproser-landing-page) .wp-block-post-title { display: none !important; }
body:not(.colproser-landing-page) .woocommerce-result-count { display: none !important; }
body:not(.colproser-landing-page) .woocommerce-products-header__title, body:not(.colproser-landing-page) .page-title { font-size: clamp(36px, 5vw, 64px); }
body:not(.colproser-landing-page) ul.products { display: grid; gap: 28px 18px; grid-template-columns: repeat(4, 1fr); }
body:not(.colproser-landing-page) ul.products li.product { background: var(--paper); border: 1px solid var(--line); margin: 0; padding: 0 0 19px; transition: box-shadow .25s ease, transform .25s ease; }
body:not(.colproser-landing-page) ul.products li.product:hover { box-shadow: 0 14px 32px rgba(23,33,29,.1); transform: translateY(-4px); }
body:not(.colproser-landing-page) ul.products li.product a img { margin: 0 0 18px; width: 100%; }
body:not(.colproser-landing-page) ul.products li.product .woocommerce-loop-product__title, body:not(.colproser-landing-page) ul.products li.product .price, body:not(.colproser-landing-page) ul.products li.product .star-rating { margin-left: 18px; margin-right: 18px; }
body:not(.colproser-landing-page) ul.products li.product .woocommerce-loop-product__title { font-size: 17px; }
body:not(.colproser-landing-page) ul.products li.product .price { color: var(--coral); font-weight: 700; }
body:not(.colproser-landing-page) ul.products li.product .button { margin-left: 18px; }
body:not(.colproser-landing-page) .related.products, body:not(.colproser-landing-page) .upsells.products, body:not(.colproser-landing-page) .cross-sells { clear: both; width: 100%; }
body:not(.colproser-landing-page) ul.products.columns-3, body:not(.colproser-landing-page) ul.products.columns-4, body:not(.colproser-landing-page) .related.products ul.products, body:not(.colproser-landing-page) .upsells.products ul.products, body:not(.colproser-landing-page) .cross-sells ul.products { display: grid !important; float: none !important; gap: 28px 18px; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; margin-left: 0 !important; margin-right: 0 !important; padding: 0 !important; width: 100% !important; }
body:not(.colproser-landing-page) ul.products.columns-3 > li.product, body:not(.colproser-landing-page) ul.products.columns-4 > li.product, body:not(.colproser-landing-page) .related.products ul.products > li.product, body:not(.colproser-landing-page) .upsells.products ul.products > li.product, body:not(.colproser-landing-page) .cross-sells ul.products > li.product { clear: none !important; float: none !important; margin: 0 !important; width: auto !important; }
body:not(.colproser-landing-page) ul.products li.product > .product, body:not(.colproser-landing-page) ul.products li.product .product-single, body:not(.colproser-landing-page) ul.products li.product .product-img, body:not(.colproser-landing-page) ul.products li.product .product-content-outer { max-width: 100%; width: 100%; }
body:not(.colproser-landing-page) .woocommerce ul.products, body:not(.colproser-landing-page) .archive ul.products, body:not(.colproser-landing-page)[class*="tax-"] ul.products { display: grid !important; float: none !important; gap: 28px 18px; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; margin: 0 !important; padding: 0 !important; width: 100% !important; }
body:not(.colproser-landing-page) .woocommerce ul.products > li.product, body:not(.colproser-landing-page) .archive ul.products > li.product, body:not(.colproser-landing-page)[class*="tax-"] ul.products > li.product { float: none !important; margin: 0 !important; width: auto !important; }
body:not(.colproser-landing-page) .widget_brand_thumbnails ul.brand-thumbnails { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
body:not(.colproser-landing-page) .widget_brand_thumbnails ul.brand-thumbnails li { flex: 0 0 64px; height: 64px; margin: 0; padding: 0; width: 64px; }
body:not(.colproser-landing-page) .widget_brand_thumbnails ul.brand-thumbnails li a, body:not(.colproser-landing-page) .widget_brand_thumbnails img.brand-thumbnail { display: block; height: 64px; max-height: 64px; max-width: 64px; width: 64px; }
body:not(.colproser-landing-page) .widget_brand_thumbnails img.brand-thumbnail { object-fit: contain; }
body:not(.colproser-landing-page) .woocommerce span.onsale { background: var(--coral); border-radius: 0; color: #fff; font-size: 11px; min-height: auto; padding: 8px 11px; }
body:not(.colproser-landing-page) .single-product div.product .product_title { font-size: clamp(34px, 5vw, 62px); }
body:not(.colproser-landing-page) .single-product div.product p.price, body:not(.colproser-landing-page) .single-product div.product span.price { color: var(--coral); font-size: 24px; font-weight: 700; }
body:not(.colproser-landing-page) .woocommerce div.product div.images img { background: var(--mint); }

body:not(.colproser-landing-page) button, body:not(.colproser-landing-page) input[type="submit"], body:not(.colproser-landing-page) .button, body:not(.colproser-landing-page) .added_to_cart, body:not(.colproser-landing-page) .woocommerce a.button, body:not(.colproser-landing-page) .woocommerce button.button, body:not(.colproser-landing-page) .woocommerce input.button { background: var(--green); border: 0; border-radius: 0; color: #fff; font-family: "DM Sans", sans-serif; font-size: 12px; font-weight: 700; padding: 13px 19px; }
body:not(.colproser-landing-page) button:hover, body:not(.colproser-landing-page) input[type="submit"]:hover, body:not(.colproser-landing-page) .button:hover { background: var(--coral); color: #fff; }
body:not(.colproser-landing-page) input[type="text"], body:not(.colproser-landing-page) input[type="email"], body:not(.colproser-landing-page) input[type="search"], body:not(.colproser-landing-page) input[type="tel"], body:not(.colproser-landing-page) input[type="number"], body:not(.colproser-landing-page) input[type="password"], body:not(.colproser-landing-page) select, body:not(.colproser-landing-page) textarea { background: var(--paper); border: 1px solid var(--line); border-radius: 0; color: var(--ink); font-family: "DM Sans", sans-serif; padding: 13px; }
body:not(.colproser-landing-page) .woocommerce-message, body:not(.colproser-landing-page) .woocommerce-info, body:not(.colproser-landing-page) .woocommerce-error { background: var(--mint); border-top-color: var(--green); color: var(--ink); }
body:not(.colproser-landing-page) table.shop_table { background: var(--paper); border: 1px solid var(--line); border-radius: 0; }

@media (max-width: 900px) { body:not(.colproser-landing-page) ul.products, body:not(.colproser-landing-page) ul.products.columns-3, body:not(.colproser-landing-page) ul.products.columns-4, body:not(.colproser-landing-page) .related.products ul.products, body:not(.colproser-landing-page) .woocommerce ul.products, body:not(.colproser-landing-page) .archive ul.products, body:not(.colproser-landing-page)[class*="tax-"] ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 620px) { body:not(.colproser-landing-page) .site-header { padding: 12px 0; } body:not(.colproser-landing-page) ul.products, body:not(.colproser-landing-page) ul.products.columns-3, body:not(.colproser-landing-page) ul.products.columns-4, body:not(.colproser-landing-page) .related.products ul.products, body:not(.colproser-landing-page) .woocommerce ul.products, body:not(.colproser-landing-page) .archive ul.products, body:not(.colproser-landing-page)[class*="tax-"] ul.products { gap: 18px 12px; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } body:not(.colproser-landing-page) ul.products li.product .woocommerce-loop-product__title, body:not(.colproser-landing-page) ul.products li.product .price { margin-left: 11px; margin-right: 11px; } body:not(.colproser-landing-page) ul.products li.product .button { margin-left: 11px; padding: 10px 11px; } }

/* The custom front page already owns its navigation and footer. */
body.home .site-footer { display: none; }

.cp-all-products-link { color: var(--coral); display: inline-block; font-size: 11px; font-weight: 700; margin-top: 10px; text-decoration: none; }
.cp-all-products-link span { font-size: 16px; margin-left: 5px; }
.cp-all-products-link:hover { color: var(--green); }
.colproser-city-selector { align-items: center; background: var(--mint); border: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 10px 16px; margin: 0 0 28px; padding: 16px 18px; }
.colproser-city-selector strong { color: var(--green); font-family: "Space Grotesk", sans-serif; }
.colproser-city-selector span { color: #59635e; font-size: 12px; }
.colproser-city-selector form { align-items: center; display: flex; gap: 8px; margin-left: auto; }
.colproser-city-selector select { background: var(--paper); border: 1px solid var(--line); border-radius: 0; color: var(--ink); padding: 9px 12px; }
.colproser-city-selector button { background: var(--green); border: 0; color: #fff; cursor: pointer; font-size: 12px; font-weight: 700; padding: 10px 14px; }
.colproser-city-selector button:hover { background: var(--coral); }

/* Keep Shopire's sidebar toggle visible on the light header. */
.wf_navbar-sidebar-toggle { align-items: center; background: var(--green) !important; border: 0; border-radius: 0; color: #fff !important; display: inline-flex; height: 42px; justify-content: center; min-width: 42px; padding: 0 !important; }
.wf_navbar-sidebar-toggle .lines { display: block; height: 14px; position: relative; width: 20px; }
.wf_navbar-sidebar-toggle .lines-1, .wf_navbar-sidebar-toggle .lines-2 { background: #fff !important; display: block; height: 2px; left: 0; position: absolute; width: 20px; }
.wf_navbar-sidebar-toggle .lines-1 { top: 3px; }
.wf_navbar-sidebar-toggle .lines-2 { bottom: 3px; }
.wf_navbar-sidebar-toggle:hover { background: var(--coral) !important; }
.site-header .wf_navbar-sidebar-toggle, .wf_navbar-sidebar-toggle.wf_navbar-sidebar-toggle { background-color: var(--green) !important; border: 2px solid var(--green) !important; box-shadow: none !important; opacity: 1 !important; }
.site-header .wf_navbar-sidebar-toggle .lines, .wf_navbar-sidebar-toggle.wf_navbar-sidebar-toggle .lines { opacity: 1 !important; visibility: visible !important; }

/* Unified Colproser button colors; existing motion and shadows remain intact. */
.cp-sell, .cp-button, .cp-search button, .colproser-city-selector button, .wf-btn, .wf_navbar-sidebar-toggle, .wc-block-components-button, .wp-element-button, .wp-block-button__link, .add_to_cart_button, .ajax_add_to_cart, body:not(.colproser-landing-page) button, body:not(.colproser-landing-page) input[type="submit"], body:not(.colproser-landing-page) .button, body:not(.colproser-landing-page) .added_to_cart, body:not(.colproser-landing-page) .woocommerce a.button, body:not(.colproser-landing-page) .woocommerce button.button, body:not(.colproser-landing-page) .woocommerce input.button { background-color: #ef6c50 !important; border-color: #ef6c50 !important; color: #fff !important; }
.cp-sell *, .cp-button *, .cp-search button *, .colproser-city-selector button *, .wf-btn *, .wc-block-components-button *, .wp-element-button *, .wp-block-button__link *, .add_to_cart_button *, .ajax_add_to_cart *, body:not(.colproser-landing-page) button *, body:not(.colproser-landing-page) input[type="submit"] *, body:not(.colproser-landing-page) .button *, body:not(.colproser-landing-page) .added_to_cart *, body:not(.colproser-landing-page) .woocommerce a.button *, body:not(.colproser-landing-page) .woocommerce button.button *, body:not(.colproser-landing-page) .woocommerce input.button * { color: #fff !important; }
.cp-sell:hover, .cp-button:hover, .cp-search button:hover, .colproser-city-selector button:hover, .wf-btn:hover, .wf_navbar-sidebar-toggle:hover, .wf_navbar-button-item .wf-btn:hover, .wc-block-components-button:hover, .wp-element-button:hover, body:not(.colproser-landing-page) button:hover, body:not(.colproser-landing-page) input[type="submit"]:hover, body:not(.colproser-landing-page) .button:hover, body:not(.colproser-landing-page) .added_to_cart:hover, body:not(.colproser-landing-page) .woocommerce a.button:hover, body:not(.colproser-landing-page) .woocommerce button.button:hover, body:not(.colproser-landing-page) .woocommerce input.button:hover { background-color: #d9573f !important; border-color: #d9573f !important; color: #fff !important; }
.site-header .wf_navbar-sidebar-toggle .lines span, .wf_navbar-sidebar-toggle.wf_navbar-sidebar-toggle .lines span, .wf_navbar-sidebar-toggle .lines-1, .wf_navbar-sidebar-toggle .lines-2 { background-color: #fff !important; border: 0 !important; box-shadow: 0 0 0 1px #fff !important; opacity: 1 !important; visibility: visible !important; }
.site-header .wf_navbar-sidebar-toggle:hover, .wf_navbar-sidebar-toggle.wf_navbar-sidebar-toggle:hover { background-color: var(--coral) !important; border-color: var(--coral) !important; }
.cp-seller-header-button { background: var(--coral) !important; margin-left: 8px; }
.cp-seller-header-button:hover { background: var(--green) !important; color: #fff !important; }
.site-header .wf-btn.wf-btn-primary, .site-header .wf-btn.wf-btn-primary:visited, .site-header .wf-btn.wf-btn-primary:hover, .site-header .wf-btn.wf-btn-primary:focus { color: #fff !important; }
.site-header .wf-btn.wf-btn-primary i { color: #fff !important; }
.site-header .wf_navbar-sidebar-toggle:hover, .wf_navbar-sidebar-toggle.wf_navbar-sidebar-toggle:hover, .wf_navbar-button-item .wf-btn:hover, .cp-seller-header-button:hover { background-color: #d9573f !important; border-color: #d9573f !important; color: #fff !important; }
.cp-seller-page { margin: 0 auto; max-width: 820px; padding: 80px 20px 100px; }
.cp-seller-page h1 { color: var(--ink); font: 600 clamp(42px, 6vw, 76px)/.95 "Space Grotesk", sans-serif; letter-spacing: -.07em; margin: 18px 0 22px; }
.cp-seller-perks { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 8px 0 30px; }
.cp-perk { background: var(--paper); border: 1px solid var(--line); padding: 20px 22px 22px; position: relative; }
.cp-perk:before { background: var(--coral); border-radius: 50%; content: ""; height: 9px; left: -5px; position: absolute; top: 24px; width: 9px; }
.cp-perk b, .cp-perk h3.cp-perk-title { color: var(--green); display: block; font: 600 15px/1.1 "Space Grotesk", sans-serif; letter-spacing: -.02em; margin: 0; }
.cp-perk span { color: #59635e; display: block; font-size: 13px; line-height: 1.55; margin-top: 7px; }
@media (max-width: 620px) { .cp-seller-perks { grid-template-columns: 1fr; } }
.cp-seller-page h1 em { color: var(--coral); font-style: normal; }
.cp-seller-intro { color: #59635e; font-size: 16px; line-height: 1.65; max-width: 540px; }
.cp-seller-form { background: var(--paper); border: 1px solid var(--line); display: grid; gap: 20px; margin-top: 38px; padding: clamp(22px, 5vw, 48px); }
.cp-seller-form label { color: var(--ink); display: grid; font-size: 12px; font-weight: 700; gap: 8px; }
.cp-seller-form input, .cp-seller-form textarea, .cp-seller-form select { background: var(--cream); border: 1px solid var(--line); border-radius: 0; color: var(--ink); font: 400 14px "DM Sans", sans-serif; padding: 13px; width: 100%; }
.cp-seller-form textarea { resize: vertical; }
.cp-form-grid { display: grid; gap: 20px; grid-template-columns: 1fr 1fr; }
.cp-form-success, .cp-form-error { margin-top: 25px; padding: 14px 16px; }
.cp-form-success { background: var(--mint); color: var(--green); }
.cp-form-error { background: #f9dfd8; color: #8a2e1e; }
@media (max-width: 620px) { .cp-seller-header-button { font-size: 10px; margin-left: 4px; padding: 10px 9px !important; } .cp-form-grid { grid-template-columns: 1fr; } }

/* Product catalog as landing-page cards. */
body:not(.colproser-landing-page) ul.products li.product.cp-card { background: var(--paper); border: 1px solid var(--line); display: flex; flex-direction: column; overflow: hidden; padding: 0; }
body:not(.colproser-landing-page) ul.products li.product.cp-card:hover { box-shadow: 0 18px 44px rgba(23,33,29,.13); transform: translateY(-5px); }
.cp-card-link { display: flex; flex-direction: column; flex: 1; }
.cp-card-img { aspect-ratio: 1 / 1; background: var(--mint); overflow: hidden; position: relative; }
.cp-card-img a { display: block; height: 100%; }
.cp-card-img img { height: 100%; object-fit: cover; transition: transform .45s ease; width: 100%; }
.cp-card:hover .cp-card-img img { transform: scale(1.06); }
.cp-card .onsale { display: none !important; }
.cp-card-badge { background: var(--coral); color: #fff; font-size: 10px; font-weight: 700; left: 12px; padding: 6px 10px; position: absolute; text-transform: uppercase; top: 12px; }
.cp-card-body { padding: 17px 18px 4px; }
.cp-card-brand { color: var(--green); display: block; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.cp-card-title { font-size: 17px !important; letter-spacing: -.03em; line-height: 1.25 !important; margin: 7px 0 9px !important; padding: 0 !important; }
.cp-card a.cp-card-link, .cp-card a.cp-card-link:hover { color: var(--ink); text-decoration: none; }
.cp-card-price { color: var(--coral) !important; font-size: 16px !important; font-weight: 700 !important; margin: 0 0 14px !important; }
.cp-card-price del { color: #9aa39e; margin-right: 7px; }
.cp-card-price ins { background: transparent; text-decoration: none; }
.cp-card-actions { align-items: stretch; display: flex; gap: 0; padding: 0 18px 18px; }
.cp-card-actions::before { display: none !important; }
.cp-card-actions .button, .cp-card-actions .add_to_cart_button, .cp-card-actions .product_type_simple, .cp-card-actions a.button { flex: 1; margin: 0 !important; padding: 11px 12px !important; text-align: center !important; }
.cp-single-contact { color: #59635e; font-size: 13px; line-height: 1.6; margin-top: 18px; max-width: 460px; }

/* Single product as a landing page. */
.cp-single-breadcrumb { margin: 0 0 22px; }
.cp-single-breadcrumb .woocommerce-breadcrumb { font-size: 12px; }
.cp-single-grid { display: grid; gap: clamp(28px, 5vw, 64px); grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
.cp-single-gallery .woocommerce-product-gallery { background: var(--paper); border: 1px solid var(--line); opacity: 1 !important; overflow: hidden; position: relative; }
.cp-single-gallery .woocommerce-product-gallery figure { margin: 0; max-width: 100%; }
.cp-single-gallery .woocommerce-product-gallery__wrapper, .cp-single-gallery .woocommerce-product-gallery img { background: var(--paper); }
.cp-single-gallery .woocommerce-product-gallery__image a { display: block; }
.cp-single-gallery .woocommerce-product-gallery__image img { aspect-ratio: 4/3; display: block; height: auto; object-fit: cover; width: 100%; }
/* Miniaturas al lado: fila horizontal, no apiladas. */
.cp-single-gallery ol.flex-control-thumbs, .cp-single-gallery ul.flex-control-thumbs { display: grid; gap: 10px; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 12px 0 0; padding: 0; }
.cp-single-gallery .flex-control-thumbs li { float: none !important; margin: 0 !important; width: auto !important; }
.cp-single-gallery .flex-control-thumbs li img { aspect-ratio: 1/1; border: 1px solid var(--line); cursor: pointer; height: 100%; object-fit: cover; opacity: .65; width: 100%; }
.cp-single-gallery .flex-control-thumbs li img.flex-active, .cp-single-gallery .flex-control-thumbs li img:hover { border-color: var(--coral); opacity: 1; }
.cp-single-gallery .woocommerce-product-gallery__trigger { z-index: 3; }
.cp-single-summary { align-self: center; padding: 20px 0; }
.cp-single-brand { color: var(--green); display: inline-flex; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.cp-single-brand:before { background: var(--coral); border-radius: 50%; content: ""; height: 7px; margin: 2px 8px 0 0; width: 7px; }
.cp-single-title { font-size: clamp(36px, 4.6vw, 60px) !important; letter-spacing: -.06em !important; line-height: 1.02 !important; margin: 14px 0 10px !important; }
.cp-single-city { background: var(--mint); color: var(--green); display: inline-block; font-size: 11px; font-weight: 700; margin-bottom: 18px; padding: 7px 12px; }
.cp-single-city i { background: var(--green); border-radius: 50%; display: inline-block; height: 7px; margin-right: 6px; width: 7px; }
.cp-single-price p.price, .cp-single-price span.price { color: var(--coral) !important; font-size: 27px !important; font-weight: 700 !important; margin: 0 0 20px !important; }
.cp-single-price del { color: #9aa39e; margin-right: 9px; }
.cp-single-price ins { background: transparent; text-decoration: none; }
.cp-single-excerpt { color: #59635e; font-size: 15px; line-height: 1.65; max-width: 460px; }
.cp-single-actions { align-items: stretch; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.cp-single-cart { flex: 1 1 200px; }
.cp-single-cart .cart { display: flex; flex-wrap: wrap; gap: 10px; }
.cp-single-cart .quantity { align-items: center; background: var(--paper); border: 1px solid var(--line); display: inline-flex; }
.cp-single-cart .quantity input { border: 0; padding: 11px; text-align: center; width: 58px; }
.cp-single-cart .quantity .qty { font-size: 14px; font-weight: 700; }
.cp-single-cart .single_add_to_cart_button { border-radius: 0 !important; flex: 1 1 auto; margin: 0 !important; padding: 14px 22px !important; }
.cp-single-meta { margin-top: 26px; }
.cp-single-meta .product_meta { border-top: 1px solid var(--line); color: #77807a; font-size: 11px; padding-top: 12px; }
.cp-single-meta .product_meta a { color: var(--ink); text-decoration: none; }
.cp-single-tabs { margin: 0; }
.cp-single-tabs .woocommerce-tabs { background: var(--paper); border: 1px solid var(--line); min-height: 100%; padding: clamp(20px, 3vw, 34px); }
.cp-single-below { align-items: start; display: grid; gap: clamp(20px, 3vw, 40px); grid-template-columns: minmax(0, 1fr); margin-top: clamp(40px, 6vw, 70px); }
.cp-single-citybox { position: sticky; top: 24px; }
.cp-single-citybox .colproser-city-selector { align-items: stretch; flex-direction: column; margin: 0; padding: clamp(20px, 3vw, 28px); position: relative; z-index: 1; }
.cp-single-citybox .colproser-city-selector::before { border: 1px solid var(--line); content: ""; inset: 6px; pointer-events: none; position: absolute; z-index: -1; }
.cp-single-citybox .colproser-city-selector form { align-items: stretch; margin: 0; margin-top: 14px; width: 100%; }
.cp-single-citybox .colproser-city-selector select { flex: 1; width: 100%; }
.cp-single-citybox .colproser-city-selector button { width: 100%; }
.cp-single-citybox .colproser-city-selector span { line-height: 1.5; }
.cp-single-tabs .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--line); margin: 0 0 24px; padding: 0; }
.cp-single-tabs .woocommerce-tabs ul.tabs li { border: 0; border-radius: 0; margin: 0; padding: 0; }
.cp-single-tabs .woocommerce-tabs ul.tabs li a { font-size: 13px; font-weight: 600; padding: 12px 18px; }
.cp-single-tabs .woocommerce-tabs ul.tabs li.active a { color: var(--coral) !important; }
.cp-single-tabs .panel { margin: 0; }
body:not(.colproser-landing-page) .related.products, body:not(.colproser-landing-page) .upsells.products { margin: 64px 0 0; }
body:not(.colproser-landing-page) .related.products > h2, body:not(.colproser-landing-page) .upsells.products > h2 { font-size: clamp(26px, 3vw, 36px) !important; margin-bottom: 26px !important; }

@media (max-width: 900px) {
    .cp-single-grid { grid-template-columns: 1fr; }
    .cp-single-summary { padding: 0; }
    .cp-single-below { grid-template-columns: 1fr; }
    .cp-single-citybox { position: static; }
}
@media (max-width: 620px) {
    .cp-card-actions { flex-wrap: wrap; }
    .cp-single-gallery .woocommerce-product-gallery__image img { aspect-ratio: 1/1; }
    .cp-single-gallery ol.flex-control-thumbs, .cp-single-gallery ul.flex-control-thumbs { gap: 8px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .cp-single-actions { flex-direction: column; }
    .cp-single-cart { flex: 1 1 auto; }
}

/* Hide the stale free-shipping notice (legacy cached markup). */
.colproser-shipping-info { display: none !important; }

/* City selector relocated into the header navigation (before the cart icon). */
#wf_header .wf_navbar-list-right .wf_navbar-city-item { display: inline-block; margin: 0; }
#wf_header .wf_navbar-list-right .wf_navbar-cart-item { margin: 0 6px 0 0; }
#wf_header .wf_navbar-cart-item, #wf_header .wf_navbar-shopcart { z-index: 60; }
#wf_header .widget--left { align-items: center; display: flex; gap: 12px; }
#wf_header .widget--left .colproser-city-selector { align-items: center; background: transparent; border: 0; display: inline-flex; gap: 6px 10px; margin: 0; padding: 0; }
#wf_header .widget--left .colproser-city-selector span { display: none; }
#wf_header .widget--left .colproser-city-selector strong { font-size: 11px; white-space: nowrap; }
#wf_header .widget--left .colproser-city-selector form { margin: 0; }
#wf_header .widget--left .colproser-city-selector select, #wf_header .wf_mobilenav-topbar .colproser-city-selector select { border-radius: 0; font-size: 12px; max-width: 170px; padding: 6px 8px; }
#wf_header .widget--left .colproser-city-selector button, #wf_header .wf_mobilenav-topbar .colproser-city-selector button { font-size: 11px; padding: 6px 10px; }
#wf_header .wf_navbar-list-right .wf_navbar-city-item .colproser-city-selector,
#wf_header .wf_mobilenav-topbar .colproser-city-selector { background: transparent; border: 0; gap: 6px 10px; margin: 0; padding: 0; }
#wf_header .wf_navbar-list-right .wf_navbar-city-item .colproser-city-selector strong { font-size: 11px; white-space: nowrap; }
#wf_header .wf_navbar-list-right .wf_navbar-city-item .colproser-city-selector span { display: none; }
#wf_header .wf_navbar-list-right .wf_navbar-city-item .colproser-city-selector form { margin: 0; }
#wf_header .wf_navbar-list-right .wf_navbar-city-item .colproser-city-selector select,
#wf_header .wf_mobilenav-topbar .colproser-city-selector select { border-radius: 0; font-size: 12px; max-width: 170px; padding: 6px 8px; }
#wf_header .wf_navbar-list-right .wf_navbar-city-item .colproser-city-selector button,
#wf_header .wf_mobilenav-topbar .colproser-city-selector button { font-size: 11px; padding: 7px 11px; }
@media (max-width: 620px) { #wf_header .wf_mobilenav-topbar .colproser-city-selector { flex-wrap: wrap; } #wf_header .wf_mobilenav-topbar .colproser-city-selector form { margin: 0; } }

/* Hide the floating back-to-top button. */
#wf_uptop, .wf_uptop { display: none !important; }

/* WooCommerce categories on the front page render their thumbnail inside the icon circle. */
.cp-category b:has(img) { padding: 0; }
.cp-category b img { border-radius: 50%; display: block; height: 36px; object-fit: cover; width: 36px; }

/* Remove the clearfix pseudo-elements that occupy empty grid cells at the start and end of the product list. */
body:not(.colproser-landing-page) ul.products::before,
body:not(.colproser-landing-page) ul.products::after {
    content: none !important;
    display: none !important;
}

/* Front page: discount badge on product images and the "how it works" block. */
.cp-home .cp-photo-art { display: block; height: 100%; width: 100%; }
.cp-home .cp-product-image { position: relative; }
.cp-home .cp-how { padding-top: 0; }
.cp-home .cp-how .cp-seller-perks { margin-bottom: 0; }
.cp-home .cp-how .cp-perk b { color: var(--coral); }
.cp-home .cp-perk > b { letter-spacing: -.02em; }
.cp-home .cp-city .cp-meta { color: #77807a; font-style: italic; max-width: 620px; }

/* Front page: WooCommerce product categories. */
.cp-home .cp-category-list { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.cp-home .cp-category small { color: #7d8781; font-size: 11px; font-weight: 500; margin-left: 5px; text-transform: none; }
.cp-home .cp-category b:has(img) { padding: 0; }

/* Pagination with a clear "Siguiente" arrow at the end of the product list. */
body:not(.colproser-landing-page) .cp-pagination {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin: 40px 0 0;
}
body:not(.colproser-landing-page) .cp-pagination a {
    background-color: #ef6c50 !important;
    border-color: #ef6c50 !important;
    color: #fff !important;
    font-family: "DM Sans", sans-serif;
    font-size: 12px;
    font-weight: 700;
    padding: 14px 20px;
    text-decoration: none;
    transition: background-color .2s ease;
}
body:not(.colproser-landing-page) .cp-pagination a:hover {
    background-color: #d9573f !important;
    border-color: #d9573f !important;
    color: #fff !important;
}
@media (max-width: 620px) {
    body:not(.colproser-landing-page) .cp-pagination { justify-content: center; }
}

/* Hero slider: 3 beneficios, mismo lenguaje visual. */
.cp-photo.cp-slider { position: relative; }
.cp-photo.cp-slider .cp-slides { height: 100%; position: relative; }
.cp-photo.cp-slider .cp-slide { inset: 0; opacity: 0; pointer-events: none; position: absolute; transition: opacity .6s ease; }
.cp-photo.cp-slider .cp-slide.is-active { opacity: 1; pointer-events: auto; position: absolute; }
.cp-photo.cp-slider .cp-dots { bottom: 12px; display: flex; gap: 8px; left: 50%; position: absolute; transform: translateX(-50%); z-index: 2; }
.cp-photo.cp-slider .cp-dot-btn { background: rgba(23,33,29,.22); border: 0; border-radius: 50%; cursor: pointer; height: 9px; padding: 0; width: 9px; }
.cp-photo.cp-slider .cp-dot-btn.is-active { background: var(--coral); }

/* Paginas legales. */
.cp-legal-page { margin: 0 auto; max-width: 820px; padding: 60px 20px 80px; }
.cp-legal-page h1 { font: 600 clamp(34px,5vw,58px)/1 "Space Grotesk",sans-serif; letter-spacing: -.05em; margin: 14px 0 8px; }
.cp-legal-page h2 { font: 600 20px/1.3 "Space Grotesk",sans-serif; margin: 30px 0 10px; }
.cp-legal-page p, .cp-legal-page li { color: #4a5450; font-size: 15px; line-height: 1.65; }
.cp-legal-page ul, .cp-legal-page ol { padding-left: 20px; }
.cp-legal-meta { color: #77807a; font-size: 12px; }

/* Footer copyright: links legales antes del texto. */
.wf_footer_copyright-text { font-size: 12px; }
.cp-footer-legal { align-items: center; display: flex; flex-wrap: wrap; gap: 8px 10px; font-size: 12px; justify-content: center; margin-bottom: 6px; }
.cp-footer-legal a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.cp-footer-legal a:hover { color: var(--coral); }
.cp-footer-legal span { opacity: .5; }

/* Boton flotante de WhatsApp. */
.cp-whatsapp-float { align-items: center; background: #25d366; border-radius: 50%; bottom: 22px; box-shadow: 0 12px 30px rgba(0,0,0,.28); color: #fff !important; display: flex; height: 60px; justify-content: center; position: fixed; right: 22px; text-decoration: none; transition: transform .2s ease, background .2s ease; width: 60px; z-index: 9999; }
.cp-whatsapp-float:hover { background: #1eb856 !important; color: #fff !important; transform: scale(1.06); }
.cp-whatsapp-float svg { display: block; }
.cp-whatsapp-float::after { animation: cp-wa-pulse 2.2s ease-out infinite; border: 2px solid rgba(37,211,102,.55); border-radius: 50%; content: ""; inset: -4px; pointer-events: none; position: absolute; }
@keyframes cp-wa-pulse { 0% { opacity: .9; transform: scale(.95); } 70% { opacity: 0; transform: scale(1.15); } 100% { opacity: 0; } }
@media (max-width: 620px) { .cp-whatsapp-float { bottom: 16px; height: 54px; right: 16px; width: 54px; } }

/* Boton Cotizar Proyecto (productos variables -> WhatsApp). */
.cp-cotizar-wrap { flex: 1 1 220px; }
a.button.cp-cotizar-btn, button.cp-cotizar-btn, .cp-card-actions a.button.cp-cotizar-btn { background-color: #25d366 !important; border-color: #25d366 !important; color: #fff !important; display: inline-block; flex: 1; text-align: center; }
a.button.cp-cotizar-btn:hover, button.cp-cotizar-btn:hover { background-color: #1eb856 !important; border-color: #1eb856 !important; color: #fff !important; }
.cp-cotizar-note { color: #59635e; font-size: 12px; line-height: 1.5; margin: 8px 0 0; }

/* Mini-slider en tarjetas (inicio + tienda): principal + galería, solo autoplay. */
.cp-mini-slider { height: 100%; position: relative; width: 100%; }
.cp-mini-track { height: 100%; overflow: hidden; position: relative; width: 100%; }
.cp-mini-track img.cp-mini-img { height: 100% !important; inset: 0; margin: 0 !important; object-fit: cover; opacity: 0; position: absolute; transition: opacity .5s ease; width: 100% !important; }
.cp-mini-track img.cp-mini-img.is-active { opacity: 1; z-index: 1; }
.cp-product-image .cp-mini-slider, .cp-card-img .cp-mini-slider { display: block; height: 100%; }
/* Por si queda markup viejo en caché, ocultar controles. */
.cp-mini-nav, .cp-mini-dots { display: none !important; }
