/* Cohete CW frontend style contract. Loaded after the theme/Elementor CSS. */
#cwHeader,
.cw-site-footer,
#cw-contact-hub,
.cw-sd-pricing,
.cw-blog-editorial,
.cw-recent-posts,
.cw-single,
.cw-form-box,
.cw-schedule-premium-module,
.cw-professionals,
.cw-professionals-archive,
.cw-professional-single,
.cw-sd-rs-summary,
.cw-sd-rs-google,
.cw-gallery-wrapper,
.cw-lightbox {
    -webkit-tap-highlight-color: transparent;
}

/* Footer links own every interaction state; Elementor must not recolour them. */
.cw-site-footer .cw-footer-list-link,
.cw-site-footer .cw-footer-list-link:link,
.cw-site-footer .cw-footer-list-link:visited,
.cw-site-footer .cw-footer-bottom a,
.cw-site-footer .cw-footer-bottom a:link,
.cw-site-footer .cw-footer-bottom a:visited,
.cw-site-footer .cw-footer-social-link,
.cw-site-footer .cw-footer-social-link:link,
.cw-site-footer .cw-footer-social-link:visited {
    text-decoration: none !important;
    box-shadow: none !important;
}
.cw-site-footer .cw-footer-list-link,
.cw-site-footer .cw-footer-list-link:link,
.cw-site-footer .cw-footer-list-link:visited,
.cw-site-footer .cw-footer-bottom a,
.cw-site-footer .cw-footer-bottom a:link,
.cw-site-footer .cw-footer-bottom a:visited,
.cw-site-footer .cw-footer-social-link,
.cw-site-footer .cw-footer-social-link:link,
.cw-site-footer .cw-footer-social-link:visited {
    color: var(--cw-footer-text) !important;
}
.cw-site-footer .cw-footer-list-link:hover,
.cw-site-footer .cw-footer-list-link:focus,
.cw-site-footer .cw-footer-list-link:focus-visible,
.cw-site-footer .cw-footer-list-link:active,
.cw-site-footer .cw-footer-bottom a:hover,
.cw-site-footer .cw-footer-bottom a:focus,
.cw-site-footer .cw-footer-bottom a:focus-visible,
.cw-site-footer .cw-footer-bottom a:active {
    color: var(--cw-footer-accent) !important;
}
.cw-site-footer .cw-footer-social-link:hover,
.cw-site-footer .cw-footer-social-link:focus,
.cw-site-footer .cw-footer-social-link:focus-visible,
.cw-site-footer .cw-footer-social-link:active {
    border-color: var(--cw-footer-accent) !important;
    background: var(--cw-footer-accent) !important;
    color: #fff !important;
}
.cw-site-footer a:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--cw-footer-accent) 55%, transparent) !important;
    outline-offset: 3px !important;
}

/* Pricing CTA: los tokens respetan el botón inverso de la tarifa destacada
   y mantienen la protección contra los estilos globales de Elementor. */
.cw-sd-pricing .cw-sd-price-card__cta,
.cw-sd-pricing .cw-sd-price-card__cta:link,
.cw-sd-pricing .cw-sd-price-card__cta:visited {
    border-color: var(--cw-price-cta-border, var(--cw-p)) !important;
    background: var(--cw-price-cta-bg, var(--cw-p)) !important;
    color: var(--cw-price-cta-color, #fff) !important;
    text-decoration: none !important;
}
.cw-sd-pricing .cw-sd-price-card__cta:hover,
.cw-sd-pricing .cw-sd-price-card__cta:focus,
.cw-sd-pricing .cw-sd-price-card__cta:focus-visible,
.cw-sd-pricing .cw-sd-price-card__cta:active {
    color: var(--cw-price-cta-color, #fff) !important;
    text-decoration: none !important;
}
.cw-sd-pricing .cw-sd-price-card__cta:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--cw-a) 34%, transparent) !important;
    outline-offset: 3px !important;
}

/* Blog / editorial links */
.cw-blog-editorial .cw-blog-lead__title a,
.cw-blog-editorial .cw-blog-lead__title a:link,
.cw-blog-editorial .cw-blog-lead__title a:visited,
.cw-blog-editorial .cw-blog-card h3 a,
.cw-blog-editorial .cw-blog-card h3 a:link,
.cw-blog-editorial .cw-blog-card h3 a:visited,
.cw-recent-posts .cw-recent-card h3 a,
.cw-recent-posts .cw-recent-card h3 a:link,
.cw-recent-posts .cw-recent-card h3 a:visited,
.cw-blog-editorial .cw-blog-read,
.cw-blog-editorial .cw-blog-read:link,
.cw-blog-editorial .cw-blog-read:visited,
.cw-recent-posts .cw-blog-read,
.cw-recent-posts .cw-blog-read:link,
.cw-recent-posts .cw-blog-read:visited {
    color: var(--cw-blog-primary) !important;
    text-decoration: none !important;
}
.cw-recent-posts .cw-recent-posts__all,
.cw-recent-posts .cw-recent-posts__all:link,
.cw-recent-posts .cw-recent-posts__all:visited,
.cw-blog-editorial .cw-blog-pagination a.page-numbers,
.cw-blog-editorial .cw-blog-pagination a.page-numbers:link,
.cw-blog-editorial .cw-blog-pagination a.page-numbers:visited {
    color: var(--cw-blog-primary) !important;
    text-decoration: none !important;
}
.cw-recent-posts .cw-recent-posts__all:hover,
.cw-recent-posts .cw-recent-posts__all:focus,
.cw-recent-posts .cw-recent-posts__all:focus-visible,
.cw-recent-posts .cw-recent-posts__all:active,
.cw-blog-editorial .cw-blog-pagination a.page-numbers:hover,
.cw-blog-editorial .cw-blog-pagination a.page-numbers:focus,
.cw-blog-editorial .cw-blog-pagination a.page-numbers:focus-visible,
.cw-blog-editorial .cw-blog-pagination a.page-numbers:active {
    border-color: var(--cw-blog-primary) !important;
    background: var(--cw-blog-primary) !important;
    color: var(--cw-blog-white) !important;
    text-decoration: none !important;
}

/* Single post actions */
.cw-single .cw-single-share__btn,
.cw-single .cw-single-share__btn:link,
.cw-single .cw-single-share__btn:visited,
.cw-single .cw-single-related-card h3 a,
.cw-single .cw-single-related-card h3 a:link,
.cw-single .cw-single-related-card h3 a:visited,
.cw-single .cw-single-related-card__link,
.cw-single .cw-single-related-card__link:link,
.cw-single .cw-single-related-card__link:visited {
    color: var(--cw-single-primary) !important;
    text-decoration: none !important;
}
.cw-single .cw-single-share__btn:hover,
.cw-single .cw-single-share__btn:focus,
.cw-single .cw-single-share__btn:focus-visible,
.cw-single .cw-single-share__btn:active {
    border-color: var(--cw-single-accent) !important;
    background: var(--cw-single-primary) !important;
    color: var(--cw-single-white) !important;
}
.cw-single .cw-single-help__button,
.cw-single .cw-single-help__button:link,
.cw-single .cw-single-help__button:visited {
    border-color: var(--cw-single-primary) !important;
    background: var(--cw-single-primary) !important;
    color: var(--cw-single-white) !important;
    text-decoration: none !important;
}
.cw-single .cw-single-help__button:hover,
.cw-single .cw-single-help__button:focus,
.cw-single .cw-single-help__button:focus-visible,
.cw-single .cw-single-help__button:active {
    border-color: var(--cw-single-secondary) !important;
    background: var(--cw-single-secondary) !important;
    color: var(--cw-single-white) !important;
}

/* Professionals */
.cw-professionals .cw-professional-card__link,
.cw-professionals .cw-professional-card__link:link,
.cw-professionals .cw-professional-card__link:visited {
    color: #fff !important;
    text-decoration: none !important;
}
.cw-professional-single .cw-professional-profile__footer a,
.cw-professional-single .cw-professional-profile__footer a:link,
.cw-professional-single .cw-professional-profile__footer a:visited {
    color: #fff !important;
    text-decoration: none !important;
}
.cw-professional-single .cw-professional-profile__footer a:hover,
.cw-professional-single .cw-professional-profile__footer a:focus,
.cw-professional-single .cw-professional-profile__footer a:focus-visible,
.cw-professional-single .cw-professional-profile__footer a:active {
    background: #fff !important;
    color: var(--cw-pro-accent) !important;
}

/* Reviews */
.cw-sd-rs-summary a,
.cw-sd-rs-summary a:link,
.cw-sd-rs-summary a:visited,
.cw-sd-rs-google a,
.cw-sd-rs-google a:link,
.cw-sd-rs-google a:visited {
    text-decoration: none !important;
}
.cw-sd-rs-google .cw-sd-rs-review-card__source,
.cw-sd-rs-google .cw-sd-rs-review-card__source:link,
.cw-sd-rs-google .cw-sd-rs-review-card__source:visited {
    color: var(--cw-sd-rs-muted) !important;
}
.cw-sd-rs-google .cw-sd-rs-review-card__source:hover,
.cw-sd-rs-google .cw-sd-rs-review-card__source:focus,
.cw-sd-rs-google .cw-sd-rs-review-card__source:focus-visible,
.cw-sd-rs-google .cw-sd-rs-review-card__source:active {
    color: var(--cw-sd-rs-accent) !important;
}

/* Form and gallery buttons: Elementor must not inject typography, border or brand colours. */
.cw-form-box button,
.cw-form-box button:hover,
.cw-form-box button:focus,
.cw-form-box button:focus-visible,
.cw-form-box button:active,
.cw-lightbox button,
.cw-lightbox button:hover,
.cw-lightbox button:focus,
.cw-lightbox button:focus-visible,
.cw-lightbox button:active {
    font-family: inherit !important;
    text-decoration: none !important;
}
.cw-form-box .cw-form-btn-next,
.cw-form-box .cw-form-btn-next:hover,
.cw-form-box .cw-form-btn-next:focus,
.cw-form-box .cw-form-btn-next:focus-visible,
.cw-form-box .cw-form-btn-next:active {
    background: var(--cw-form-primary) !important;
    color: #fff !important;
}
.cw-lightbox .cw-lightbox-btn,
.cw-lightbox .cw-lightbox-nav {
    border: 0 !important;
    color: #fff !important;
}
.cw-lightbox[data-theme="light"] .cw-lightbox-btn,
.cw-lightbox[data-theme="light"] .cw-lightbox-nav {
    color: #111 !important;
}

/* Cohete CW button widget: keep link semantics from changing the configured Elementor design. */
.cw-el-btn,
.cw-el-btn:link,
.cw-el-btn:visited,
.cw-el-btn:hover,
.cw-el-btn:focus,
.cw-el-btn:focus-visible,
.cw-el-btn:active {
    text-decoration: none !important;
}
.cw-el-btn:focus-visible {
    outline: 3px solid color-mix(in srgb, currentColor 30%, transparent) !important;
    outline-offset: 3px !important;
}

/* Reviews: cards and CTA retain their design in visited/focus/active states. */
.cw-sd-rs-summary a.cw-sd-rs-platform,
.cw-sd-rs-summary a.cw-sd-rs-platform:link,
.cw-sd-rs-summary a.cw-sd-rs-platform:visited {
    color: var(--cw-sd-rs-text) !important;
    background: var(--cw-sd-rs-bg) !important;
    text-decoration: none !important;
}
.cw-sd-rs-summary a.cw-sd-rs-platform:hover,
.cw-sd-rs-summary a.cw-sd-rs-platform:focus,
.cw-sd-rs-summary a.cw-sd-rs-platform:focus-visible,
.cw-sd-rs-summary a.cw-sd-rs-platform:active {
    color: var(--cw-sd-rs-text) !important;
    text-decoration: none !important;
}
.cw-sd-rs-google .cw-reviews-cta-button,
.cw-sd-rs-google .cw-reviews-cta-button:link,
.cw-sd-rs-google .cw-reviews-cta-button:visited {
    border-color: var(--cw-sd-rs-border) !important;
    background: var(--cw-sd-rs-bg) !important;
    color: var(--cw-sd-rs-text) !important;
    text-decoration: none !important;
}
.cw-sd-rs-google .cw-reviews-cta-button:hover,
.cw-sd-rs-google .cw-reviews-cta-button:focus,
.cw-sd-rs-google .cw-reviews-cta-button:focus-visible,
.cw-sd-rs-google .cw-reviews-cta-button:active {
    border-color: var(--cw-sd-rs-accent) !important;
    background: var(--cw-sd-rs-accent) !important;
    color: #fff !important;
    text-decoration: none !important;
}
.cw-sd-rs-google .cw-reviews-cta-button:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--cw-sd-rs-accent) 32%, transparent) !important;
    outline-offset: 3px !important;
}

/* Legal template link states. */
body.cw-legal-page .cw-legal a,
body.cw-legal-page .cw-legal a:link,
body.cw-legal-page .cw-legal a:visited {
    color: var(--cw-legal-accent) !important;
    text-decoration-color: color-mix(in srgb, var(--cw-legal-accent) 35%, transparent) !important;
}
body.cw-legal-page .cw-legal a:hover,
body.cw-legal-page .cw-legal a:focus,
body.cw-legal-page .cw-legal a:focus-visible,
body.cw-legal-page .cw-legal a:active {
    color: var(--cw-legal-accent) !important;
}
body.cw-legal-page .cw-legal a:focus-visible {
    outline: 2px solid color-mix(in srgb, var(--cw-legal-accent) 45%, transparent) !important;
    outline-offset: 3px !important;
}

/* -------------------------------------------------------------------------
 * Cohete CW media widgets — hard isolation from Elementor global link/button
 * states. The actual colours still come from semantic Cohete variables so
 * dark/light mode remains automatic.
 * ---------------------------------------------------------------------- */
.elementor .cw-services .cw-service-card,
.elementor .cw-services .cw-service-card:link,
.elementor .cw-services .cw-service-card:visited,
.elementor .cw-services .cw-service-card:hover,
.elementor .cw-services .cw-service-card:focus,
.elementor .cw-services .cw-service-card:focus-visible,
.elementor .cw-services .cw-service-card:active {
    color: var(--cw-services-on-media, #fff) !important;
    background: transparent !important;
    text-decoration: none !important;
    font-family: inherit !important;
    box-shadow: none !important;
}
.elementor .cw-services .cw-service-title,
.elementor .cw-services .cw-service-description,
.elementor .cw-services .cw-service-meta,
.elementor .cw-services .cw-service-eyebrow,
.elementor .cw-services .cw-service-label,
.elementor .cw-services .cw-service-arrow {
    color: inherit !important;
    text-decoration: none !important;
}

.elementor .cw-gallery-wrapper .cw-gallery-item,
.elementor .cw-gallery-wrapper .cw-gallery-item:link,
.elementor .cw-gallery-wrapper .cw-gallery-item:visited,
.elementor .cw-gallery-wrapper .cw-gallery-item:hover,
.elementor .cw-gallery-wrapper .cw-gallery-item:focus,
.elementor .cw-gallery-wrapper .cw-gallery-item:focus-visible,
.elementor .cw-gallery-wrapper .cw-gallery-item:active {
    color: #fff !important;
    background: transparent !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

.elementor .cw-videos .cw-video-trigger,
.elementor .cw-videos .cw-video-trigger:hover,
.elementor .cw-videos .cw-video-trigger:focus,
.elementor .cw-videos .cw-video-trigger:focus-visible,
.elementor .cw-videos .cw-video-trigger:active {
    font-family: inherit !important;
    text-decoration: none !important;
}
.elementor .cw-videos--editorial .cw-video-trigger,
.elementor .cw-videos--editorial .cw-video-trigger:hover,
.elementor .cw-videos--editorial .cw-video-trigger:focus,
.elementor .cw-videos--editorial .cw-video-trigger:active {
    color: var(--cw-video-text) !important;
    background: var(--cw-video-surface) !important;
}
.elementor .cw-videos:not(.cw-videos--editorial) .cw-video-trigger,
.elementor .cw-videos:not(.cw-videos--editorial) .cw-video-trigger:hover,
.elementor .cw-videos:not(.cw-videos--editorial) .cw-video-trigger:focus,
.elementor .cw-videos:not(.cw-videos--editorial) .cw-video-trigger:active {
    color: var(--cw-video-on-media) !important;
}

/* Project-approved communication SVGs. The SVG itself is used as a mask so
   the exact artwork remains consistent while inheriting each component colour. */
.cw-brand-icon{
    display:inline-grid;
    place-items:center;
    width:1em;
    height:1em;
    flex:0 0 auto;
    background:none!important;
    -webkit-mask:none!important;
    mask:none!important;
    vertical-align:-.12em;
    color:inherit;
}
.cw-brand-icon::before{
    content:"";
    display:block;
    width:var(--cw-brand-optical-size,100%);
    height:var(--cw-brand-optical-size,100%);
    background:currentColor;
    -webkit-mask:var(--cw-brand-icon-url) center / contain no-repeat;
    mask:var(--cw-brand-icon-url) center / contain no-repeat;
}
.cw-brand-icon--whatsapp{--cw-brand-optical-size:100%}
.cw-brand-icon--phone{--cw-brand-optical-size:100%}


/* 1.1.144 — Readable corporate-accent text in light mode.
 * This darkens only accent-coloured lettering, not backgrounds, images,
 * custom Elementor button styles or the colour palette in dark mode. */
html[data-theme="light"] .cw-sd-title .cw-sd-title__highlight--accent,
body[data-theme="light"] .cw-sd-title .cw-sd-title__highlight--accent,
html[data-theme="light"] .cw-sd-title--highlight-accent .cw-sd-title__highlight,
body[data-theme="light"] .cw-sd-title--highlight-accent .cw-sd-title__highlight {
    color: color-mix(in srgb, var(--cw-title-accent, #4da49d) 45%, #07534e 55%) !important;
}
html[data-theme="light"] .cw-sd-rs-summary .cw-sd-rs-eyebrow,
html[data-theme="light"] .cw-sd-rs-google .cw-sd-rs-eyebrow,
body[data-theme="light"] .cw-sd-rs-summary .cw-sd-rs-eyebrow,
body[data-theme="light"] .cw-sd-rs-google .cw-sd-rs-eyebrow {
    color: color-mix(in srgb, var(--cw-sd-rs-accent, #4da49d) 45%, #07534e 55%);
}
html[data-theme="light"] .cw-services,
body[data-theme="light"] .cw-services {
    --cw-service-label-color: color-mix(in srgb, var(--cw-services-accent, #4da49d) 45%, #07534e 55%);
}
