/* Cannabis Cycling — Favoritos 1.7.2. Layout and controls owned by the plugin. */
:root { --ccwl-red: #d62839; --ccwl-red-hover: #b51f30; }
.ccwl-page, .ccwl-toast { --ccwl-ink: #20262b; --ccwl-lime: #c6ff00; --ccwl-paper: #f4f7f9; font-family: var(--e-global-typography-text-font-family, 'Poppins'), sans-serif; }
.ccwl-page *, .ccwl-page *::before, .ccwl-page *::after { box-sizing: border-box; }
.ccwl-page { width: 100%; min-width: 0; max-width: 1440px; margin: 0 auto; padding: 0; color: var(--ccwl-ink); }
.ccwl-page .ccwl-hero { display: grid; grid-template-columns: minmax(140px,.7fr) minmax(0,1.3fr); align-items: center; gap: 28px; padding: 28px; margin: 0 0 28px; text-align: left; background: #101414; color: #fff; border-radius: 12px; border-bottom: 4px solid #c6ff00; }
.ccwl-hero-brand { display: flex; flex-direction: column; align-items: center; gap: 12px; padding-right: 24px; border-right: 1px solid #ffffff26; }
.ccwl-hero .ccwl-logo { display: block; width: min(100%,230px); height: auto; max-height: 112px; object-fit: contain; }
.ccwl-hero-tag { font: 500 12px/1.5 Poppins,sans-serif; color: #c4cccc; text-align: center; }
.ccwl-hero-copy { min-width: 0; }
.ccwl-page .ccwl-hero h1 { font: 500 clamp(36px,3.6vw,56px)/1 Teko,sans-serif; color: #fff; margin: 8px 0 12px; letter-spacing: -.02em; }
.ccwl-hero h1 span { color: #6ec1e4; }
.ccwl-page .ccwl-hero .ccwl-eyebrow { margin: 0; color: #c6ff00 !important; font: 600 12px/1.5 Poppins,sans-serif !important; }
.ccwl-page .ccwl-hero .ccwl-hero-description { color: #e0e7e7 !important; font: 400 14px/1.7 Poppins,sans-serif !important; margin: 0 0 16px; }
.ccwl-page .ccwl-hero .ccwl-count { display: inline-flex; align-items: center; gap: 10px; margin: 0; color: #fff !important; font: 500 13px/1.5 Poppins,sans-serif !important; }
.ccwl-count::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #c6ff00; }
.ccwl-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px 20px; align-items: start; }
.ccwl-catalog .ccwl-card.wpr-grid-item { position: relative; float: none; width: 100%; min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; }
.ccwl-catalog .wpr-grid-item-inner { opacity: 1; transform: none; top: auto; }
.ccwl-catalog .ccwl-media { display: block; position: relative; overflow: hidden; border-radius: 8px; }
.ccwl-catalog .wpr-grid-image-wrap img { display: block; width: 100%; height: auto; border-radius: 8px; }
.ccwl-catalog .wpr-grid-item-below-content { padding: 0; border: 0; text-align: center; }
.ccwl-page .wpr-grid-item-title { margin: 12px 0 8px !important; }
.ccwl-catalog .wpr-grid-item-title a { font: 400 25px/1.15 Teko,sans-serif; text-transform: uppercase; color: #20262b; text-decoration: none; overflow-wrap: anywhere; }
.ccwl-catalog .wpr-grid-item-price .inner-block > span { font: 500 16px/1.5 Poppins,sans-serif; color: #20262b; }
.ccwl-catalog .wpr-grid-item-price del { color: #56616b; font-size: 13px; }
.ccwl-catalog .wpr-grid-item-price ins { background: transparent; }
.ccwl-catalog .wpr-grid-item-add-to-cart .inner-block { margin: 14px 0; }
.ccwl-catalog .wpr-grid-item-add-to-cart a { display: inline-flex; align-items: center; justify-content: center; max-width: 100%; min-height: 44px; padding: 10px 18px; border-radius: 6px; background: #6ec1e4; color: #10212b; font: 500 14px/1.4 Poppins,sans-serif; text-decoration: none; }
.ccwl-catalog .wpr-grid-item-add-to-cart a:hover { background: #c6ff00; color: #20262b; }
.ccwl-catalog .ccwl-rating-star { position: relative; display: inline-block; font-style: normal; color: #56616b; font-size: 18px; line-height: 1; }
.ccwl-catalog .ccwl-rating-star::before { content: none !important; }
.ccwl-catalog .ccwl-rating-star > span { position: absolute; top: 0; left: 0; overflow: hidden; white-space: nowrap; color: #597700; }
.ccwl-unavailable { min-height: 200px; padding: 48px 20px; background: #f4f7f9; text-align: center; }
.ccwl-page .ccwl-action { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 22px; background: #20262b; color: #fff; border: 0; border-radius: 6px; font: 500 14px/1.5 Poppins,sans-serif; text-decoration: none; text-align: center; }
.ccwl-page .ccwl-action:hover { background: #c6ff00; color: #20262b; }
.ccwl-page .ccwl-empty { text-align: center; background: #f4f7f9; padding: 40px 24px; border-radius: 8px; }
.ccwl-page .ccwl-empty h2 { font: 500 clamp(28px,3vw,36px)/1.15 Teko,sans-serif !important; margin: 0 auto 14px !important; max-width: 580px; }
.ccwl-page .ccwl-empty p { font: 400 14px/1.7 Poppins,sans-serif !important; margin: 0; color: #43515c !important; }
.ccwl-empty .ccwl-action { margin-top: 24px; }

/* Same floating group as the account. White surface preserves the red heart's contrast. */
#ccwl-floating { position: relative; width: 48px; height: 46px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ccwl-red) !important; border-radius: 4px; color: var(--ccwl-red) !important; background: #fff !important; text-decoration: none; box-shadow: 0 2px 10px #0002; }
#ccwl-floating.ccwl-fallback { position: fixed; right: 10px; bottom: calc(178px + env(safe-area-inset-bottom,0px)); z-index: 9998; }
#ccwl-floating:hover { background: #fff1f2 !important; }
.ccwl-badge { position: absolute; top: -7px; right: -6px; min-width: 20px; height: 20px; border-radius: 50%; padding: 0 4px; color: #fff; background: var(--ccwl-red); font: 700 11px/20px sans-serif; text-align: center; }
.ccwl-anchor { position: relative; }
.ccwl-anchor > button.ccwl-heart { position: absolute; right: 0; top: 0; z-index: 9; width: 44px; height: 44px; padding: 5px !important; display: inline-flex; align-items: flex-start; justify-content: flex-end; background: transparent !important; color: var(--ccwl-red) !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; cursor: pointer; }
.ccwl-anchor > button.ccwl-heart-left { justify-content: flex-start; }
#ccwl-floating svg, #ccwl-floating svg path,
button.ccwl-heart svg, button.ccwl-heart svg path,
button.ccwl-product-favorite svg, button.ccwl-product-favorite svg path { fill: none !important; color: var(--ccwl-red) !important; stroke: var(--ccwl-red) !important; stroke-width: 1.8; pointer-events: none; }
button.ccwl-heart svg { width: 26px; height: 26px; }
#ccwl-floating svg { width: 22px; height: 22px; }
#ccwl-floating.has-favorites svg, #ccwl-floating.has-favorites svg path,
button.ccwl-heart[aria-pressed="true"] svg, button.ccwl-heart[aria-pressed="true"] svg path,
button.ccwl-product-favorite[aria-pressed="true"] svg, button.ccwl-product-favorite[aria-pressed="true"] svg path { fill: var(--ccwl-red) !important; }
.ccwl-heart:disabled, .ccwl-product-favorite:disabled { opacity: .65; cursor: wait; }
.ccwl-page :focus-visible, #ccwl-floating:focus-visible, button.ccwl-heart:focus-visible, button.ccwl-product-favorite:focus-visible { outline: 3px solid var(--ccwl-red) !important; outline-offset: 3px !important; }
.ccwl-toast { position: fixed; left: 50%; bottom: calc(24px + env(safe-area-inset-bottom,0px)); transform: translateX(-50%); width: max-content; max-width: calc(100vw - 100px); padding: 16px 24px; background: #20262b; color: #fff; border-radius: 6px; text-align: center; z-index: 10000; box-shadow: 0 8px 28px #0003; }
.ccwl-page [hidden], .ccwl-badge[hidden], .ccwl-toast[hidden] { display: none !important; }
form.cart.ccwl-cart-with-favorites { margin-bottom: 0 !important; }
.ccwl-purchase-favorites { display: block; width: 100%; clear: both; margin: 10px 0 18px; }
.ccwl-purchase-favorites > button.ccwl-product-favorite { display: flex !important; align-items: center; justify-content: center; gap: 8px; min-height: 44px; max-width: 100%; width: 100%; margin: 0; padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; cursor: pointer; text-decoration: none !important; }
.ccwl-product-favorite .ccwl-product-label { font: 400 clamp(19px,2.4vw,25px)/1.15 Teko,sans-serif !important; text-transform: uppercase; color: #54595f; text-align: center; }
.ccwl-product-favorite .ccwl-title-heart { display: inline-flex; flex: 0 0 44px; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 8px; }
.ccwl-product-favorite .ccwl-title-heart svg { width: 28px; height: 28px; }
.ccwl-page .ccwl-guest-note { margin: 0 0 24px; text-align: center; font: 400 14px/1.6 Poppins,sans-serif !important; color: #54595f !important; }
.ccwl-guest-note a { color: #256b8c; text-decoration: underline; }
@media (max-width:1100px) { .ccwl-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) {
    .ccwl-page .ccwl-hero { grid-template-columns: minmax(0,1fr); gap: 18px; padding: 24px 18px; text-align: center; margin-bottom: 24px; }
    .ccwl-hero-brand { padding: 0; border: 0; }
    .ccwl-hero .ccwl-logo { width: 160px; max-height: 84px; }
    .ccwl-page .ccwl-hero h1 { font-size: 40px; }
    .ccwl-grid { grid-template-columns: minmax(0,1fr); }
    .ccwl-toast { font-size: 13px; padding: 14px; }
}
/* Revisão 1.7.2: ação da lista vazia e aproveitamento de largura no celular. */
.ccwl-page .ccwl-empty a.ccwl-action{background:#6ec1e4!important;color:#fff!important;font:300 24px/1.2 Teko,sans-serif!important;text-transform:uppercase!important;padding:12px 24px!important;border:1px solid #6ec1e4!important;letter-spacing:.4px}
.ccwl-page .ccwl-empty a.ccwl-action:hover{background:#c6ff00!important;border-color:#c6ff00!important;color:#10171c!important}
@media(max-width:600px){.ccwl-page .ccwl-hero{padding:22px 12px;gap:16px}.ccwl-page .ccwl-empty{padding:28px 10px}.ccwl-page .ccwl-catalog{gap:20px 10px}.ccwl-page{padding:0!important}}

/* 1.7.2: botões independentes dos efeitos Royal Addons. */
body .ccwl-page .ccwl-catalog .wpr-grid-item-add-to-cart,
body .ccwl-page .ccwl-catalog .wpr-grid-item-add-to-cart .inner-block{display:block!important;visibility:visible!important;opacity:1!important;transform:none!important;height:auto!important;overflow:visible!important;position:static!important}
body .ccwl-page .ccwl-catalog .wpr-grid-item-add-to-cart a,
body .ccwl-page a.ccwl-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important;position:relative!important;transform:none!important;max-width:100%;min-height:46px;height:auto!important;padding:12px 22px!important;background:#6ec1e4!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid #6ec1e4!important;border-radius:6px;font:300 24px/1.2 Teko,sans-serif!important;text-transform:uppercase!important;text-decoration:none!important;text-indent:0!important;white-space:normal!important;overflow:visible!important}
body .ccwl-page .ccwl-catalog .wpr-grid-item-add-to-cart a span{display:inline!important;position:static!important;visibility:visible!important;opacity:1!important;transform:none!important;color:inherit!important;-webkit-text-fill-color:inherit!important;font:inherit!important;clip-path:none!important}
body .ccwl-page .ccwl-catalog .wpr-grid-item-add-to-cart a::before,
body .ccwl-page .ccwl-catalog .wpr-grid-item-add-to-cart a::after{content:none!important}
body .ccwl-page .ccwl-catalog .wpr-grid-item-add-to-cart a:is(:hover,:focus-visible),
body .ccwl-page a.ccwl-action:is(:hover,:focus-visible){background:#c6ff00!important;border-color:#c6ff00!important;color:#000!important;-webkit-text-fill-color:#000!important}
