/* WCR Seasonal Specials — Frontend */
.wcr-special-section {
    position: relative;
    background: var(--sp-bg, #1e293b);
    border-radius: 12px;
    overflow: hidden;
    margin: 0 0 28px;
    box-sizing: border-box;
}
/* Shop / archive: respetar márgenes del contenedor del tema */
.woocommerce-page .wcr-special-section,
.woocommerce .wcr-special-section {
    margin-left: 0;
    margin-right: 0;
}
.wcr-sp-canvas { position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none; }
.wcr-sp-inner { position:relative;z-index:2;padding:22px 24px 18px; }
.wcr-sp-header { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:16px; }
.wcr-sp-title { font-size:20px;font-weight:700;color:#fff;letter-spacing:-.3px;line-height:1.2; }
.wcr-sp-sub { font-size:12px;color:rgba(255,255,255,.7);margin-top:3px; }
.wcr-sp-badge { padding:5px 14px;border-radius:20px;background:rgba(0,0,0,.3);color:var(--sp-badge,#fde68a);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex-shrink:0; }

.wcr-sp-products { display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:14px; }
.wcr-sp-product { background:#fff;border-radius:10px;overflow:hidden;text-decoration:none;transition:transform .12s;display:block;min-width:0; }
.wcr-sp-product:hover { transform:translateY(-2px); }
.wcr-sp-product-img { height:100px;overflow:hidden;background:#f8f7f3; }
.wcr-sp-product-img img { width:100%;height:100%;object-fit:cover;display:block; }
.wcr-sp-product-info { padding:8px 10px; }
.wcr-sp-product-name { font-size:12px;font-weight:700;color:#1c1c1e;line-height:1.3;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.wcr-sp-product-price { font-size:11px;line-height:1.7; }
.wcr-sp-product-price s,
.wcr-sp-product-price del { color:#94a3b8;font-style:normal; }
.wcr-sp-product-price strong { color:#166534;display:block; }

.wcr-sp-footer { text-align:right;padding-top:4px; }
.wcr-sp-cta { display:inline-block;color:rgba(255,255,255,.9);font-size:12px;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:1px;transition:color .12s; }
.wcr-sp-cta:hover { color:#fff;border-bottom-color:#fff; }

/* Single product banner — inside summary after title */
.wcr-sp-single { margin:10px 0 14px;border-radius:10px; }
.wcr-sp-single .wcr-sp-inner  { padding:11px 16px; }
.wcr-sp-single .wcr-sp-header { margin-bottom:0; }
.wcr-sp-single .wcr-sp-title  { font-size:14px; }
.wcr-sp-single .wcr-sp-sub    { font-size:11px; }
.wcr-sp-single .wcr-sp-badge  { font-size:10px;padding:3px 10px; }

/* Popup */
.wcr-sp-popup-overlay { display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:99998; }
.wcr-sp-popup-overlay.is-open { display:block; }
.wcr-sp-popup { display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.92);z-index:99999;background:var(--sp-bg,#1e293b);border-radius:20px;width:min(420px,92vw);overflow:hidden;transition:transform .25s,opacity .25s;opacity:0; }
.wcr-sp-popup.is-open { display:block;transform:translate(-50%,-50%) scale(1);opacity:1; }
.wcr-sp-popup-inner { position:relative;padding:36px 28px 28px; }
.wcr-sp-popup-close { position:absolute;top:12px;right:14px;background:rgba(255,255,255,.15);border:none;color:#fff;font-size:18px;width:30px;height:30px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:background .12s;z-index:2; }
.wcr-sp-popup-close:hover { background:rgba(255,255,255,.3); }
.wcr-sp-popup-content { position:relative;z-index:2;text-align:center; }
.wcr-sp-popup-icon { font-size:52px;margin-bottom:10px; }
.wcr-sp-popup-title { font-size:22px;font-weight:700;color:#fff;margin-bottom:4px; }
.wcr-sp-popup-sub { font-size:13px;color:rgba(255,255,255,.65);margin-bottom:16px; }
.wcr-sp-popup-discount { display:inline-block;background:rgba(0,0,0,.3);color:var(--sp-badge,#fde68a);padding:7px 20px;border-radius:30px;font-size:15px;font-weight:700;margin-bottom:20px;letter-spacing:.3px; }
.wcr-sp-popup-cta { display:block;background:#fff;color:var(--sp-bg,#1e293b);font-weight:700;font-size:14px;padding:13px 24px;border-radius:10px;text-decoration:none;margin-bottom:12px;transition:opacity .12s; }
.wcr-sp-popup-cta:hover { opacity:.9; }
.wcr-sp-popup-dismiss { background:none;border:none;color:rgba(255,255,255,.5);font-size:12px;cursor:pointer;padding:4px;transition:color .12s; }
.wcr-sp-popup-dismiss:hover { color:rgba(255,255,255,.8); }

@media (max-width:900px) {
    .wcr-sp-products { grid-template-columns:repeat(2,1fr); }
    .wcr-sp-title    { font-size:17px; }
    .wcr-sp-inner    { padding:16px 18px 14px; }
}
@media (max-width:480px) {
    .wcr-sp-products    { gap:7px; }
    .wcr-sp-product-img { height:80px; }
    .wcr-sp-inner       { padding:14px; }
}

/* Fix: Elementor/themes hiding product title via --page-title-display CSS variable */
.single-product h1.product_title,
.single-product h1.entry-title,
.woocommerce.single-product h1.product_title {
    display: block !important;
}
