.cfp-wpa-shell{width:100%;max-width:var(--cfp-wpa-max-width,1180px)}
.cfp-wpa-shell.is-align-left{margin-left:0;margin-right:auto}
.cfp-wpa-shell.is-align-center{margin-left:auto;margin-right:auto}
.cfp-wpa-shell.is-align-right{margin-left:auto;margin-right:0}
.cfp-wpa-shell.is-width-full{max-width:none}
.cfp-wpa-module{position:relative;width:100%;height:var(--cfp-wpa-height,560px);overflow:hidden;border-radius:var(--cfp-wpa-radius,0)}




.cfp-wpa-track{display:flex;width:100%;height:100%;gap:0}
.cfp-wpa-card{position:relative;display:flex;flex:1 1 0;min-width:0;align-items:flex-end;overflow:hidden;cursor:pointer;transition:flex-grow var(--cfp-wpa-transition,550ms) cubic-bezier(.2,.7,.2,1),filter var(--cfp-wpa-transition,550ms) ease;isolation:isolate;background:#222}
.cfp-wpa-card::before{content:"";position:absolute;inset:0;z-index:0;background-image:var(--cfp-wpa-image);background-position:center;background-repeat:no-repeat;background-size:cover;transform:scale(var(--cfp-wpa-image-scale,1.08));transform-origin:center;will-change:transform;transition:transform var(--cfp-wpa-transition,550ms) ease}
.cfp-wpa-module.is-fit-contain .cfp-wpa-card::before{background-size:contain}
.cfp-wpa-module.is-fit-natural .cfp-wpa-card::before{background-size:auto}
.cfp-wpa-module.is-position-top .cfp-wpa-card::before{background-position:center top}
.cfp-wpa-module.is-position-bottom .cfp-wpa-card::before{background-position:center bottom}
.cfp-wpa-module.is-position-left .cfp-wpa-card::before{background-position:left center}
.cfp-wpa-module.is-position-right .cfp-wpa-card::before{background-position:right center}
.cfp-wpa-card.is-active{flex-grow:var(--cfp-wpa-active-ratio,4)}

.cfp-wpa-module.is-accordion .cfp-wpa-card:not(.is-active){filter:brightness(calc(1 - var(--cfp-wpa-inactive-dim,.12)))}
.cfp-wpa-module.is-accordion .cfp-wpa-card.is-active::before{transform:scale(calc(var(--cfp-wpa-image-scale,1.08) * var(--cfp-wpa-active-extra-zoom,1.03)))}
.cfp-wpa-module.is-motion-none .cfp-wpa-content,
.cfp-wpa-module.is-motion-none .cfp-wpa-cta{transform:none}
.cfp-wpa-module.is-motion-fade .cfp-wpa-content,
.cfp-wpa-module.is-motion-fade .cfp-wpa-cta{transform:none}

.cfp-wpa-module.is-equal .cfp-wpa-card{flex:1 1 0}
.cfp-wpa-module.is-equal .cfp-wpa-content{opacity:1;transform:none}
.cfp-wpa-module.is-equal .cfp-wpa-cta{opacity:1;pointer-events:auto;transform:none}
.cfp-wpa-card[hidden]{display:none!important}
.cfp-wpa-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.08) 70%);background:linear-gradient(to top,color-mix(in srgb,var(--cfp-wpa-overlay-colour,#000) calc(var(--cfp-wpa-overlay-strength,.82)*100%),transparent),color-mix(in srgb,var(--cfp-wpa-overlay-colour,#000) 8%,transparent) var(--cfp-wpa-overlay-fade,70%));transition:background-color .3s ease}
.cfp-wpa-content{position:relative;z-index:2;width:100%;padding:28px;color:#fff;text-shadow:0 2px 7px rgba(0,0,0,.7);opacity:.82;transform:translateY(8px);transition:opacity var(--cfp-wpa-transition,550ms) ease,transform var(--cfp-wpa-transition,550ms) ease}
.cfp-wpa-card.is-active .cfp-wpa-content{opacity:1;transform:none}

.cfp-wpa-badges{position:absolute;top:16px;left:16px;right:16px;z-index:3;display:flex;flex-wrap:wrap;gap:7px}
.cfp-wpa-badge{display:inline-flex;align-items:center;padding:5px 8px;border:1px solid rgba(255,255,255,.7);background:rgba(0,0,0,.58);color:#fff;font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.1em}
.cfp-wpa-rating{margin:0 0 10px}
.cfp-wpa-rating .star-rating{float:none;color:#fff}
.cfp-wpa-description{max-width:620px;margin:0 0 14px;color:var(--cfp-wpa-description-colour,#fff);font-size:var(--cfp-wpa-description-size,14px);line-height:1.55}

.cfp-wpa-category{margin-bottom:8px;color:var(--cfp-wpa-category-colour,#fff);font-size:var(--cfp-wpa-category-size,12px);letter-spacing:var(--cfp-wpa-category-spacing,.12em);text-transform:uppercase}
.cfp-wpa-content h3{margin:0 0 10px;color:var(--cfp-wpa-title-colour,#fff);font-size:var(--cfp-wpa-title-size,34px);font-weight:var(--cfp-wpa-title-weight,400);line-height:1.15}
.cfp-wpa-price{margin-bottom:18px;color:var(--cfp-wpa-price-colour,#fff);font-size:var(--cfp-wpa-price-size,18px)}
.cfp-wpa-cta{display:inline-flex;align-items:center;gap:9px;padding:10px 15px;border:1px solid var(--cfp-wpa-cta-border,#fff);border-radius:var(--cfp-wpa-cta-radius,2px);background:var(--cfp-wpa-cta-bg,#333);color:var(--cfp-wpa-cta-colour,#fff)!important;text-decoration:none;text-shadow:none;font-weight:300;opacity:0;pointer-events:none;transform:translateY(5px);transition:opacity var(--cfp-wpa-transition,550ms) ease,transform var(--cfp-wpa-transition,550ms) ease}
.cfp-wpa-card.is-active .cfp-wpa-cta{opacity:1;pointer-events:auto;transform:none}
.cfp-wpa-cta-icon{font-family:ETmodules!important;font-size:16px}

.cfp-wpa-cta.is-icon-right{flex-direction:row}
.cfp-wpa-cta.is-icon-only{width:42px;height:42px;padding:0;justify-content:center}
.cfp-wpa-cta.is-width-full{display:flex;width:100%;justify-content:center}
.cfp-wpa-cta.has-icon-animation:not(.is-icon-icon_only) .cfp-wpa-cta-icon{opacity:0;transform:translateX(-4px);transition:opacity .2s ease,transform .2s ease}
.cfp-wpa-cta.has-icon-animation:not(.is-icon-icon_only):hover .cfp-wpa-cta-icon,.cfp-wpa-cta.has-icon-animation:not(.is-icon-icon_only):focus-visible .cfp-wpa-cta-icon{opacity:1;transform:translateX(0)}
.cfp-wpa-cta.is-icon-icon_only .cfp-wpa-cta-icon{opacity:1;transform:none}


.cfp-wpa-shell.is-shadow-small{box-shadow:0 4px 14px rgba(0,0,0,.12)}
.cfp-wpa-shell.is-shadow-medium{box-shadow:0 10px 28px rgba(0,0,0,.18)}
.cfp-wpa-shell.is-shadow-large{box-shadow:0 18px 48px rgba(0,0,0,.24)}

.cfp-wpa-card:focus-visible{outline:2px solid #fff;outline-offset:-3px}

.cfp-wpa-module.is-indicator-gold-line .cfp-wpa-card.is-active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;z-index:6;background:#c9a84c;pointer-events:none}
.cfp-wpa-module.is-indicator-gold-border .cfp-wpa-card.is-active{box-shadow:inset 0 0 0 3px #c9a84c}
.cfp-wpa-module.is-indicator-gold-glow .cfp-wpa-card.is-active{box-shadow:inset 0 0 34px rgba(201,168,76,.72)}

.cfp-wpa-empty{padding:22px;border:1px dashed #c3c4c7;background:#fff}
@media(max-width:980px){
  .cfp-wpa-content{padding:24px}
  .cfp-wpa-content h3{font-size:clamp(19px,3vw,30px)}
}
@media(max-width:767px){
  .cfp-wpa-module{height:var(--cfp-wpa-height,560px)}
  .cfp-wpa-content{padding:18px}
  .cfp-wpa-content h3{font-size:22px}
  
.cfp-wpa-badges{position:absolute;top:16px;left:16px;right:16px;z-index:3;display:flex;flex-wrap:wrap;gap:7px}
.cfp-wpa-badge{display:inline-flex;align-items:center;padding:5px 8px;border:1px solid rgba(255,255,255,.7);background:rgba(0,0,0,.58);color:#fff;font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.1em}
.cfp-wpa-rating{margin:0 0 10px}
.cfp-wpa-rating .star-rating{float:none;color:#fff}
.cfp-wpa-description{max-width:620px;margin:0 0 14px;color:var(--cfp-wpa-description-colour,#fff);font-size:var(--cfp-wpa-description-size,14px);line-height:1.55}

.cfp-wpa-category{font-size:10px}
  .cfp-wpa-price{font-size:16px}
  .cfp-wpa-cta{padding:9px 12px}
}
@media(prefers-reduced-motion:reduce){
  .cfp-wpa-card,.cfp-wpa-content,.cfp-wpa-cta,.cfp-wpa-card::before,.cfp-wpa-cta-icon{transition:none!important}.cfp-wpa-cta.has-icon-animation .cfp-wpa-cta-icon{transform:none}
  .cfp-wpa-card::before{will-change:auto}
}


/* =========================================================
   RC2 — PRODUCT / THEME BUILDER TYPOGRAPHY ENFORCEMENT
   Keeps CFP module typography authoritative inside WooCommerce
   product templates without affecting text outside this module.
========================================================= */

body.single-product .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-content h3,
body.single-product .et_pb_module .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-content h3,
.et-db #et-boc .et-l .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-content h3,
.et-db #et-boc .et-l .et_pb_module .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-content h3,
.et-fb .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-content h3 {
    color: var(--cfp-wpa-title-colour,#fff) !important;
    font-size: var(--cfp-wpa-title-size,34px) !important;
    font-weight: var(--cfp-wpa-title-weight,400) !important;
    line-height: 1.15 !important;
}

body.single-product .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-category,
body.single-product .et_pb_module .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-category,
.et-db #et-boc .et-l .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-category,
.et-db #et-boc .et-l .et_pb_module .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-category,
.et-fb .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-category {
    color: var(--cfp-wpa-category-colour,#fff) !important;
    font-size: var(--cfp-wpa-category-size,12px) !important;
    letter-spacing: var(--cfp-wpa-category-spacing,.12em) !important;
    line-height: 1.35 !important;
}

body.single-product .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-price,
body.single-product .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-price *,
body.single-product .et_pb_module .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-price,
body.single-product .et_pb_module .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-price *,
.et-db #et-boc .et-l .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-price,
.et-db #et-boc .et-l .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-price *,
.et-db #et-boc .et-l .et_pb_module .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-price,
.et-db #et-boc .et-l .et_pb_module .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-price *,
.et-fb .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-price,
.et-fb .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-price * {
    color: var(--cfp-wpa-price-colour,#fff) !important;
    font-size: var(--cfp-wpa-price-size,18px) !important;
    line-height: 1.35 !important;
}

body.single-product .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-description,
body.single-product .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-description *,
body.single-product .et_pb_module .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-description,
body.single-product .et_pb_module .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-description *,
.et-db #et-boc .et-l .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-description,
.et-db #et-boc .et-l .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-description *,
.et-db #et-boc .et-l .et_pb_module .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-description,
.et-db #et-boc .et-l .et_pb_module .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-description *,
.et-fb .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-description,
.et-fb .cfp-wpa-shell .cfp-wpa-module .cfp-wpa-description * {
    color: var(--cfp-wpa-description-colour,#fff) !important;
    font-size: var(--cfp-wpa-description-size,14px) !important;
    line-height: 1.55 !important;
}

/* WooCommerce sale-price fragments inherit the chosen CFP price colour. */
.cfp-wpa-shell .cfp-wpa-module .cfp-wpa-price del,
.cfp-wpa-shell .cfp-wpa-module .cfp-wpa-price ins,
.cfp-wpa-shell .cfp-wpa-module .cfp-wpa-price .amount,
.cfp-wpa-shell .cfp-wpa-module .cfp-wpa-price bdi,
.cfp-wpa-shell .cfp-wpa-module .cfp-wpa-price .woocommerce-Price-currencySymbol {
    color: inherit !important;
    font-size: inherit !important;
}
