/* PVP styles scoped to Product Detail Page */

/* 0. Critical Resets for PDP */
*, *::before, *::after {
  box-sizing: border-box;
}

/* Ensure Divi's main content wrapper doesn't restrict us */
#main-content {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  background-color: var(--c-bg-deep) !important;
}

#main-content > .container {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

/* Ensure Fonts are available (fallback if not loaded by theme) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Trispace:wght@400;500;600;700&display=swap');

.hero--pdp { padding: var(--sp-16) 0; position: relative; width: 100%; }
.hero--pdp .hero-bg{position:absolute;inset:0;background-color:var(--c-bg-deep);background-image:radial-gradient(520px 320px at 22% 72%, rgba(206,0,255,.08), transparent 60%),radial-gradient(380px 280px at 78% 18%, rgba(0,127,255,.08), transparent 60%),linear-gradient(180deg, rgba(14,13,20,.55), rgba(14,13,20,.82));z-index:-1}
.pdp-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--sp-8);align-items:center}
@media (max-width:980px){.pdp-grid{grid-template-columns:1fr;gap:var(--sp-6)}}
.pdp-media{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4)}
.pdp-media__frame{margin:0;position:relative}
.pdp-product-image{width:100%;max-width:420px;height:auto;border-radius:var(--card-radius);box-shadow:0 24px 50px rgba(15,12,43,.45);background:rgba(255,255,255,.02);backdrop-filter:blur(6px)}
.pdp-media__caption{margin-top:var(--sp-3);text-transform:uppercase;letter-spacing:.16em;font-size:var(--fs-xs);color:var(--c-text-muted);text-align:center}
.pdp-media__trust{display:flex;gap:var(--sp-3);font-size:var(--fs-xs);text-transform:uppercase;color:var(--c-text-muted)}
.pdp-info{display:flex;flex-direction:column;gap:var(--sp-5)}
.pdp-social-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3)}
@media (max-width:680px){.pdp-social-proof{grid-template-columns:1fr 1fr}}
.pdp-social-proof__item{padding:var(--sp-4);border:1px solid rgba(255,255,255,.08);border-radius:var(--card-radius);background:rgba(255,255,255,.03);display:flex;flex-direction:column;gap:var(--sp-1);font-size:var(--fs-xs)}

.pdp-promise,.pdp-experience,.pdp-testimonials,.pdp-upsell{position:relative;background-color:var(--c-bg-deep);background-image:radial-gradient(520px 320px at 12% 86%, rgba(206,0,255,.06), transparent 60%),radial-gradient(380px 280px at 88% 6%, rgba(0,127,255,.06), transparent 60%),linear-gradient(180deg, rgba(14,13,20,.55), rgba(14,13,20,.82))}
.pdp-promise::before,.pdp-experience::before,.pdp-testimonials::before,.pdp-upsell::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg, rgba(0,0,0,0.0) 0%, rgba(0,0,0,.06) 14%, rgba(0,0,0,.06) 86%, rgba(0,0,0,0.0) 100%)}
.pdp-social-proof__item strong{font-size:var(--fs-lg);color:var(--c-heading)}
.pdp-offer{padding:var(--sp-3) var(--sp-4);border-radius:var(--card-radius);background:linear-gradient(120deg,rgba(255,94,58,.18),rgba(255,213,82,.08));border:1px solid rgba(255,255,255,.14);font-size:var(--fs-sm)}
.pdp-pricecard{margin-top:var(--sp-4);padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-4)}
.pdp-plan__header{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm)}
.pdp-plan__secure{color:var(--c-text-muted);font-size:var(--fs-xs);display:flex;gap:var(--sp-1);align-items:center}
.pdp-plan-pills{display:flex;gap:var(--sp-3);flex-wrap:wrap}
.pdp-plan-pill{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:var(--card-radius);padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-1);min-width:160px;cursor:pointer;transition:transform .32s cubic-bezier(.16,.84,.44,1),box-shadow .32s ease-in-out,border-color .32s ease-in-out,background .3s ease}
.pdp-plan-pill__title{font-weight:600}
.pdp-plan-pill__tag{font-size:var(--fs-xs);color:var(--c-text-muted)}
.pdp-plan-pill.is-active{border-color:#947FFF;box-shadow:0 0 0 1px rgba(148,127,255,0.4), 0 14px 30px rgba(148,127,255,0.15);transform:translateY(-3px) scale(1.01)}
.pdp-plan-pill:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.pdp-plan.cm-btn:focus-visible{ outline: none; box-shadow: var(--focus-ring); }

/* Multi-attribute Layout */
.pdp-attributes-container {
    display: flex;
    flex-direction: column;
    gap: var(--sp-6);
    margin-bottom: var(--sp-6);
}
.pdp-attribute-row {
    display: flex;
    flex-direction: column;
    gap: var(--sp-3);
}
.pdp-attribute-label {
    font-size: var(--fs-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--c-text-muted);
}
/* Reusing .pdp-plan-pill for items, but handling disabled state */
.pdp-plan-pill.is-disabled {
    opacity: 0.5;
    cursor: not-allowed;
    border-color: rgba(255,255,255,0.05);
    background: transparent;
    pointer-events: none; /* Prevent clicks on invalid options */
}
.pdp-plan-pill.is-disabled:hover {
    transform: none;
    box-shadow: none;
}
.cm-btn--glide { overflow: hidden; position: relative; }
.cm-btn--glide::after { content: ""; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); transition: 0.5s; }
.cm-btn--glide:hover::after { left: 100%; }

/* Ensure Add to Cart matches Mockup (Uppercased, Bold) */
.single_add_to_cart_button.cm-btn { text-transform: uppercase; font-weight: 700; letter-spacing: 0.08em; }
.pdp-plan-summary{display:flex;flex-direction:column;gap:var(--sp-1)}
.pdp-plan-summary__price{font-family:var(--ff-display);font-size:clamp(2rem,3vw,2.8rem);font-weight:600;letter-spacing:-0.02em}
.pdp-plan-summary__copy{color:var(--c-text-muted);font-size:var(--fs-sm)}
.pdp-plan-benefits{margin:0;padding-left:var(--sp-5);display:grid;gap:var(--sp-2);font-size:var(--fs-sm)}
.pdp-plan-benefits li::marker{color:var(--c-primary)}
/* Actions Container */
.pdp-actions {
    display: flex;
    flex-direction: column;
    gap: var(--sp-4);
    margin-top: var(--sp-2);
}

/* Main Add To Cart Button */
.single_add_to_cart_button.cm-btn { 
    width: 100%;
    justify-content: center;
    text-transform: uppercase; 
    font-weight: 800; 
    letter-spacing: 0.08em; 
    padding: var(--sp-4) var(--sp-6);
    background: #543BF5; /* Fallback */
    background: linear-gradient(90deg, #543BF5 0%, #7C3AED 100%);
    border: none;
    box-shadow: 0 10px 20px -5px rgba(84, 59, 245, 0.4);
    transition: all 0.3s ease;
    overflow: hidden !important; /* Fix hover overlay spill */
    position: relative;
    z-index: 1; /* Ensure distinct stacking context */
}

/* Ensure sticky button matches Uppercase */
#sticky-cta-btn {
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.single_add_to_cart_button.cm-btn:hover:not(.disabled) {
    transform: translateY(-2px);
    box-shadow: 0 15px 30px -5px rgba(84, 59, 245, 0.5);
}

/* Disabled State (Matches "SELECCIONA OPCIONES" screenshot) */
.single_add_to_cart_button.cm-btn.disabled,
.single_add_to_cart_button.cm-btn:disabled,
#sticky-cta-btn.disabled {
    background: #4C1D38 !important; /* Specific Dark Plum/Red */
    color: rgba(255, 255, 255, 0.6) !important;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
    opacity: 1 !important; /* Force opacity to show color */
    padding: 14px 24px !important;
}
.single_add_to_cart_button.cm-btn {
    padding: 14px 24px !important;
}

/* Secondary Text Link */
.pdp-text-link {
    text-align: center;
    font-size: var(--fs-xs);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: white;
    text-decoration: none;
    padding: var(--sp-2);
    opacity: 0.9;
    transition: opacity 0.2s ease;
}

.pdp-text-link:hover {
    opacity: 1;
    text-decoration: underline;
    text-underline-offset: 4px;
}

.pdp-scarcity{font-size:var(--fs-sm);color:var(--c-warning); margin-top: var(--sp-2);}
.pdp-trustbar{padding:var(--sp-6) 0;background:rgba(255,255,255,.03);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.pdp-trustbar__list{margin:0;display:flex;gap:var(--sp-6);flex-wrap:wrap;justify-content:center;align-items:center;font-size:var(--fs-sm);color:var(--c-text-muted)}
.pdp-promise__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-6)}
@media (max-width:980px){.pdp-promise__grid{grid-template-columns:1fr}}
.pdp-promise__card{padding:var(--sp-6);border-radius:var(--card-radius);background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:var(--sp-3)}
.pdp-promise__icon{font-size:2rem}
.pdp-promise__card ul{margin:0;padding-left:var(--sp-5);color:var(--c-text-muted);display:grid;gap:var(--sp-1)}
.pdp-experience__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--sp-8);align-items:stretch}
@media (max-width:980px){.pdp-experience__grid{grid-template-columns:1fr;gap:var(--sp-6)}}
.pdp-experience__copy{display:flex;flex-direction:column;gap:var(--sp-4)}
.pdp-experience__copy ol{margin:0;padding-left:var(--sp-5);display:grid;gap:var(--sp-2)}
.pdp-experience__reassurance{padding:var(--sp-3) var(--sp-4);border-radius:var(--card-radius);background:rgba(84,59,245,.12);color:var(--c-heading);font-weight:600}
.pdp-experience__card{display:flex;flex-direction:column;gap:var(--sp-4);justify-content:space-between}
.pdp-experience__card ul{margin:0;padding-left:var(--sp-5);display:grid;gap:var(--sp-2)}
.pdp-experience__badge{padding:var(--sp-4);border-radius:var(--card-radius);background:rgba(255,255,255,.04);display:flex;flex-direction:column;gap:var(--sp-1);text-align:center;font-size:var(--fs-sm)}
.pdp-testimonials{background:rgba(255,255,255,.02)}
.pdp-testimonials__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-6)}
@media (max-width:980px){.pdp-testimonials__grid{grid-template-columns:1fr}}
.pdp-testimonial{margin:0;padding:var(--sp-6);border-radius:var(--card-radius);background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:var(--sp-4);font-size:var(--fs-sm)}
.pdp-testimonial footer{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--c-text-muted)}
.pdp-upsell__header{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-6)}
.pdp-upsell__header h2 {
    font-family: var(--ff-display);
    font-size: var(--fs-lg);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
    margin: 0;
    color: var(--c-heading);
}
.pdp-upsell__header p {
    color: var(--c-text-muted);
    font-size: var(--fs-sm);
    max-width: 60ch;
}
.pdp-upsell__cards{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:var(--sp-6);
}
@media (max-width:980px){
    .pdp-upsell__cards{ grid-template-columns: repeat(2, 1fr); gap:var(--sp-4); }
}
@media (max-width:600px){
    .pdp-upsell__cards{ grid-template-columns: 1fr; }
}
.pdp-upsell__card{
    display:flex;
    flex-direction:column;
    gap:var(--sp-4);
    padding:var(--sp-6);
    background:rgba(255,255,255,.03);
    border:1px solid rgba(255,255,255,.08);
    border-radius:var(--card-radius);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color 0.3s ease, background-color 0.3s ease;
}
.pdp-upsell__card:hover {
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.2);
    transform: translateY(-4px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
}
.pdp-upsell__card h3 { 
    font-size: var(--fs-lg); 
    font-weight: 700; 
    margin: 0; 
    line-height: 1.3;
}
.pdp-upsell__card p { 
    font-size: var(--fs-sm); 
    color: var(--c-text-muted); 
    line-height: 1.6; 
    margin:0; 
}
.pdp-upsell__card .cm-btn{
    margin-top:auto; 
    width: 100%; 
    text-align: center; 
    justify-content: center;
    font-size: var(--fs-xs);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-weight: 700;
}
.pdp-faq{padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-2)}
.cm-acc{border-bottom:1px solid var(--c-bg-deep);padding:var(--sp-3) 0}
.cm-acc:last-of-type{border-bottom:0}
.cm-acc>summary{cursor:pointer;list-style:none;font-weight:600;color:var(--c-heading)}
.cm-acc[open]>summary{color:var(--c-primary)}
.cm-acc__panel{margin-top:var(--sp-2);color:var(--c-text)}
.pdp-faq details.cm-acc summary::after{content:none}
.pdp-faq details.cm-acc summary .cm-icon{width:20px;height:20px;color:#543BF5 !important;transition:transform .3s ease;stroke:#543BF5}
.pdp-faq details.cm-acc[open] summary .cm-icon{transform:rotate(180deg)}
/* Conversion Strip Polish - Mockup Matched V2 */
.cm-conversion-strip--pdp {
    margin-top: var(--sp-10);
    padding: var(--sp-10) 0;
    position: relative;
    /* Base color fallback */
    background-color: rgb(14, 13, 20) !important;
    /* Exact multi-layer gradient from inspection */
    background-image: 
        linear-gradient(rgba(14, 13, 20, 0.64), rgba(14, 13, 20, 0.78)),
        linear-gradient(90deg, rgb(99, 102, 241), rgb(139, 92, 246)) !important;
    border-top: 1px solid rgba(255,255,255,.06);
    border-bottom: 1px solid rgba(255,255,255,.06);
    /* Ensure no other background interferes */
    background-blend-mode: normal !important;
}

.cm-conversion-strip__wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--sp-8);
}

.cm-conversion-strip__copy {
    flex: 1;
    max-width: 650px;
    display: flex;
    flex-direction: column;
    gap: var(--sp-2);
}

.cm-conversion-strip__eyebrow {
    color: rgb(190, 185, 188);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 2.34px;
    font-weight: 600;
    margin: 0;
}

.cm-conversion-strip__copy h2 {
    font-family: var(--ff-display);
    font-size: var(--fs-lg); /* Kept large as expected for H2, despite subagent 16px reading which was likely wrong context */
    font-weight: 700;
    color: white;
    margin: 0;
    line-height: 1.2;
    text-transform: none; /* User requested "capitalizado en vez de uppercase" */
    /* Exact shadow from mockup */
    text-shadow: 0px 4px 0px rgb(84, 59, 245);
}

.cm-conversion-strip__copy p {
    color: var(--c-text-muted);
    font-size: var(--fs-md);
    margin: 0;
    line-height: 1.6;
}

.cm-conversion-strip__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: var(--sp-3);
    min-width: 280px;
    text-align: right;
}

.cm-conversion-strip__actions .cm-btn {
    width: 100%;
    justify-content: center;
    padding: 14px 24px; /* Exact padding */
    border-radius: 8px; /* Exact radius */
}

/* Primary Button Styling Override for this section */
.cm-conversion-strip__actions .cm-btn--primary {
    background-color: rgb(84, 59, 245);
    font-weight: 700;
    border: none;
}

.cm-conversion-strip__actions .cm-btn--ghost {
    font-size: var(--fs-xs);
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.32); /* Exact border */
    color: white;
    font-weight: 700;
}

.cm-conversion-strip__actions small {
    color: rgba(255,255,255,0.4);
    font-size: var(--fs-xs);
}

@media (max-width: 980px) {
    .cm-conversion-strip__wrap {
        flex-direction: column;
        text-align: center;
        gap: var(--sp-6);
    }
    
    .cm-conversion-strip__copy {
        align-items: center;
    }
    
    .cm-conversion-strip__actions {
        width: 100%;
        max-width: 400px;
        align-items: center;
        text-align: center;
    }
}

.sticky-checkout{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(1200px,92vw);padding:var(--sp-4);background:rgba(0,0,0,0.70);backdrop-filter:blur(10px);display:flex;align-items:center;gap:var(--sp-4);justify-content:space-between;z-index:999;border-top:1px solid rgba(255,255,255,.08);transition:transform .28s cubic-bezier(.16,.84,.44,1),opacity .18s ease-out;border-radius:var(--card-radius) var(--card-radius) 0 0}
.sticky-checkout__info{display:flex;flex-direction:column;gap:var(--sp-1)}
.sticky-checkout__price{font-size:var(--fs-lg);font-weight:700}
@media (max-width:768px){.sticky-checkout{flex-wrap:wrap;text-align:center}.sticky-checkout__info{width:100%;align-items:center}}
/* Ensure title text shadow is applied if inline style is overridden */
#pdp-title { text-transform: capitalize; text-shadow: 0 0 40px rgba(84,59,245,0.4); }
