/*
Theme Name: WondershareSpain
Theme URI: https://wondersharespain.es/
Author: WondershareSpain.es
Description: Tema ligero para la tienda WondershareSpain.es.
Version: 0.3.9
Requires at least: 6.8
Requires PHP: 8.0
Text Domain: wondersharespain
*/

:root {
  --ws-ink: #101828;
  --ws-muted: #667085;
  --ws-line: #e4e7ec;
  --ws-surface: #f7f8fc;
  --ws-primary: #5b35f5;
  --ws-primary-dark: #4520d8;
  --ws-white: #ffffff;
  --ws-radius: 18px;
  --ws-shadow: 0 18px 50px rgba(16, 24, 40, 0.08);
  --ws-content: 1180px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ws-ink); background: var(--ws-white); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
.ws-container { width: min(calc(100% - 40px), var(--ws-content)); margin-inline: auto; }
.ws-skip-link { position: absolute; left: -9999px; }
.ws-skip-link:focus { left: 16px; top: 16px; z-index: 1000; background: #fff; padding: 12px; }
.ws-contact-bar { padding:7px 0; background:#111525; color:#d0d5dd; font-size:.78rem; }
.ws-contact-bar .ws-container,.ws-contact-bar div { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.ws-contact-bar a { color:#fff; font-weight:700; text-decoration:none; }
.ws-contact-bar__hours { padding-left:15px; color:#98a2b3; }
.ws-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.94); border-bottom: 1px solid var(--ws-line); backdrop-filter: blur(12px); }
.ws-header__inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.ws-brand { display:inline-flex; align-items:center; gap:11px; font-size: 1.12rem; font-weight: 800; text-decoration: none; letter-spacing: -.02em; }
.ws-brand img { width:34px; height:34px; object-fit:contain; }
.ws-nav ul { display: flex; align-items: center; gap: 26px; padding: 0; margin: 0; list-style: none; }
.ws-nav a { color: var(--ws-muted); font-weight: 650; text-decoration: none; }
.ws-nav a:hover, .ws-nav a:focus-visible { color: var(--ws-ink); }
.ws-menu-toggle { display:none; padding:8px; border:0; background:transparent; cursor:pointer; }
.ws-menu-toggle > span:not(.screen-reader-text) { display:block; width:23px; height:2px; margin:4px 0; background:var(--ws-ink); }
.ws-header__actions { display:flex; align-items:center; gap:17px; }
.ws-account,.ws-cart { text-decoration: none; font-weight: 750; white-space:nowrap; }
.ws-account { color:var(--ws-muted); }
.ws-cart { display:flex; align-items:center; gap:8px; }
.ws-cart b { display:grid; min-width:25px; height:25px; place-items:center; border-radius:50%; background:var(--ws-primary); color:#fff; font-size:.75rem; }
.ws-hero { padding: 92px 0 72px; background: radial-gradient(circle at 85% 20%, #e8e2ff 0, transparent 30%), linear-gradient(180deg, #fbfaff 0%, #fff 100%); }
.ws-hero__grid { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 72px; }
.ws-eyebrow { margin: 0 0 16px; color: var(--ws-primary); font-size: .82rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ws-hero h1 { max-width: 760px; margin: 0; font-size: clamp(2.6rem, 6vw, 5rem); line-height: 1.02; letter-spacing: -.055em; }
.ws-hero__lead { max-width: 650px; margin: 24px 0 0; color: var(--ws-muted); font-size: clamp(1.05rem, 2vw, 1.25rem); }
.ws-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.ws-button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 12px 22px; border: 1px solid transparent; border-radius: 999px; background: var(--ws-primary); color: #fff; font-weight: 800; text-decoration: none; transition: .2s ease; }
.ws-button:hover { transform: translateY(-1px); background: var(--ws-primary-dark); }
.ws-button--secondary { border-color: var(--ws-line); background: #fff; color: var(--ws-ink); }
.ws-button--secondary:hover { background: var(--ws-surface); }
.ws-hero__showcase { position: relative; min-height: 480px; overflow: hidden; border: 1px solid rgba(91,53,245,.12); border-radius: 32px; background: radial-gradient(circle at 70% 30%, #8a6bff, transparent 34%), linear-gradient(145deg, #17132d, #4a27df); box-shadow: var(--ws-shadow); }
.ws-hero__showcase::before { position: absolute; inset: 12% 8%; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; content: ""; }
.ws-hero__showcase span { position: absolute; right: 0; bottom: 20px; left: 0; color: #eeeaff; text-align: center; font-weight: 700; }
.ws-hero__product { position: absolute; width: 42%; filter: drop-shadow(0 22px 28px rgba(0,0,0,.32)); animation: ws-float 7s ease-in-out infinite; }
.ws-hero__product--filmora { left: 4%; top: 18%; transform: rotate(-7deg); }
.ws-hero__product--pdf { left: 31%; top: 7%; z-index: 2; width: 45%; animation-delay: -2s; }
.ws-hero__product--edraw { right: 1%; top: 20%; width: 40%; transform: rotate(7deg); animation-delay: -4s; }
@keyframes ws-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -9px; } }
.ws-section { padding: 88px 0; }
.ws-section--soft { background: var(--ws-surface); }
.ws-section__heading { max-width: 700px; margin-bottom: 40px; }
.ws-section h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.1; letter-spacing: -.04em; }
.ws-section__heading p { margin: 16px 0 0; color: var(--ws-muted); font-size: 1.08rem; }
.ws-products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.ws-product { display: flex; min-height: 520px; flex-direction: column; padding: 30px; border: 1px solid var(--ws-line); border-radius: var(--ws-radius); background: #fff; box-shadow: 0 8px 30px rgba(16,24,40,.04); }
.ws-product > img { width:100%; height:220px; margin-bottom:24px; padding:18px; object-fit:contain; border-radius:14px; background:var(--ws-surface); }
.ws-product__tag { align-self: flex-start; padding: 6px 10px; border-radius: 999px; background: #f0edff; color: var(--ws-primary); font-size: .78rem; font-weight: 800; }
.ws-product h3 { margin: 26px 0 8px; font-size: 1.65rem; letter-spacing: -.03em; }
.ws-product p { margin: 0; color: var(--ws-muted); }
.ws-product__link { margin-top: auto; padding-top: 28px; color: var(--ws-primary); font-weight: 800; text-decoration: none; }
.ws-feature-showcase { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:54px; }
.ws-feature-showcase--reverse img { order:2; }
.ws-feature-showcase > img { width:100%; border:1px solid var(--ws-line); border-radius:22px; background:#f7f8fc; box-shadow:0 20px 45px rgba(16,24,40,.08); }
.ws-feature-list { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:22px; }
.ws-feature-list span { padding:12px 14px; border-radius:10px; background:#f4f2ff; color:#33256f; font-weight:700; }
.ws-reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.ws-reveal.is-visible { opacity: 1; transform: none; }
.ws-product-hero { padding: 74px 0; overflow: hidden; background: linear-gradient(180deg, #faf9ff, #fff); }
.ws-product-hero__grid { display: grid; grid-template-columns: 1fr .82fr; align-items: center; gap: 70px; }
.ws-product-hero h1 { margin: 0; font-size: clamp(2.7rem, 6vw, 4.8rem); line-height: 1.02; letter-spacing: -.055em; }
.ws-product-hero__lead { margin: 22px 0 0; color: var(--ws-muted); font-size: 1.2rem; }
.ws-product-hero__image { max-height: 480px; margin-inline: auto; filter: drop-shadow(0 28px 32px rgba(16,24,40,.18)); }
.ws-benefits { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.ws-benefit { padding: 28px; border: 1px solid var(--ws-line); border-radius: var(--ws-radius); background: #fff; }
.ws-benefit h3 { margin-top: 0; }
.ws-benefit p { margin-bottom: 0; color: var(--ws-muted); }
.ws-plans { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; }
.ws-plan { position: relative; padding: 32px; border: 1px solid var(--ws-line); border-radius: 22px; background: #fff; }
.ws-plan--featured { border-color: var(--ws-primary); box-shadow: 0 18px 45px rgba(91,53,245,.12); }
.ws-plan__price { display: block; margin: 18px 0 4px; font-size: 2.2rem; font-weight: 850; letter-spacing: -.04em; }
.ws-plan ul { padding-left: 20px; color: var(--ws-muted); }
.ws-note { padding: 22px 24px; border-radius: 14px; background: #f1efff; color: #33218e; }
.ws-faq { max-width: 820px; }
.ws-faq details { padding: 20px 0; border-bottom: 1px solid var(--ws-line); }
.ws-faq summary { cursor: pointer; font-weight: 800; }
.ws-faq p { color: var(--ws-muted); }
.ws-trust { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ws-trust article { padding: 26px; border-left: 3px solid var(--ws-primary); }
.ws-trust h3 { margin: 0 0 8px; }
.ws-trust p { margin: 0; color: var(--ws-muted); }
.ws-authorized { background:linear-gradient(135deg,#151329,#2f1c86); color:#fff; }
.ws-authorized__grid,.ws-copy-grid,.ws-service-paths { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:68px; }
.ws-authorized p { color:#cec9e2; }
.ws-authorized .ws-button--secondary { border-color:rgba(255,255,255,.24); background:rgba(255,255,255,.08); color:#fff; }
.ws-authorized__card { padding:36px; border:1px solid rgba(255,255,255,.15); border-radius:24px; background:rgba(255,255,255,.08); }
.ws-authorized__card img { width:230px; margin-bottom:30px; filter:invert(1); }
.ws-authorized__card strong { font-size:1.3rem; }
.ws-authorized__card ul,.ws-check-list { display:grid; gap:11px; padding-left:22px; }
.ws-service-paths { align-items:stretch; }
.ws-service-paths article { display:flex; flex-direction:column; padding:38px; border:1px solid var(--ws-line); border-radius:24px; background:#fff; box-shadow:var(--ws-shadow); }
.ws-service-paths article p:not(.ws-eyebrow) { color:var(--ws-muted); }
.ws-main { min-height: 60vh; }
.ws-content { padding: 64px 0; }
.ws-archive-heading { max-width:760px; margin-bottom:38px; }
.ws-archive-heading p { margin:0 0 8px; color:var(--ws-primary); font-size:.8rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.ws-archive-heading h1 { margin:0; font-size:clamp(2.4rem,6vw,4.8rem); letter-spacing:-.055em; line-height:1; }
.ws-archive-heading span { display:block; margin-top:16px; color:var(--ws-muted); font-size:1.08rem; }
.ws-blog-search { max-width:760px; margin:-12px 0 38px; padding:22px; border:1px solid var(--ws-line); border-radius:18px; background:#fff; box-shadow:var(--ws-shadow-soft); }
.ws-blog-search label { display:block; margin-bottom:9px; font-weight:800; }
.ws-blog-search div { display:flex; gap:10px; }
.ws-blog-search input[type="search"] { min-width:0; flex:1; padding:13px 15px; border:1px solid var(--ws-line); border-radius:12px; font:inherit; }
.ws-blog-search button { padding:13px 20px; border:0; border-radius:12px; background:var(--ws-primary); color:#fff; font:inherit; font-weight:800; cursor:pointer; }
.ws-post-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.ws-post-card { padding:30px; border:1px solid var(--ws-line); border-radius:22px; background:#fff; box-shadow:var(--ws-shadow-soft); }
.ws-post-card h2 { margin:0 0 14px; font-size:clamp(1.35rem,3vw,1.85rem); line-height:1.2; }
.ws-post-card h2 a { color:var(--ws-ink); text-decoration:none; }
.ws-post-card p { color:var(--ws-muted); }
.ws-post-back { margin-bottom:24px; }
.ws-post-back--footer { margin:42px 0 0; padding-top:24px; border-top:1px solid var(--ws-line); }
.ws-post-back a { display:inline-flex; align-items:center; min-height:44px; padding:10px 18px; border:1px solid var(--ws-primary); border-radius:999px; color:#fff; background:var(--ws-primary); box-shadow:0 10px 24px rgba(92,51,255,.2); font-weight:800; text-decoration:none; }
.ws-post-back a:hover { border-color:var(--ws-primary-dark); color:#fff; background:var(--ws-primary-dark); transform:translateY(-1px); }
.ws-text-link { color:var(--ws-primary); font-weight:800; text-decoration:none; }
.ws-assurance { padding:25px 0; border-top:1px solid var(--ws-line); background:#fff; }
.ws-assurance__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.ws-assurance__grid > div { display:flex; align-items:center; gap:12px; }
.ws-assurance__grid > div > span { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; border-radius:50%; background:#f0edff; color:var(--ws-primary); font-size:.75rem; font-weight:900; }
.ws-assurance p { display:grid; margin:0; line-height:1.35; }
.ws-assurance small { color:var(--ws-muted); }
.ws-footer { padding: 52px 0; border-top: 1px solid var(--ws-line); background: #0f1220; color: #d0d5dd; }
.ws-footer__grid { display: grid; grid-template-columns: 1.6fr repeat(3,1fr); gap: 48px; }
.ws-footer strong { color: #fff; }
.ws-footer a { color: #d0d5dd; }
.ws-footer ul { display:grid; gap:10px; margin:18px 0 0; padding:0; list-style:none; }
.ws-footer a { text-decoration:none; }
.ws-cookie-settings { padding:0; border:0; background:transparent; color:#d0d5dd; font:inherit; cursor:pointer; }
.ws-cookie-settings:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.ws-footer a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.ws-footer__brand img { width:190px; margin-bottom:22px; filter:invert(1); }
.ws-footer__brand strong { display:block; font-size:1.15rem; }
.ws-footer__brand p { max-width:340px; color:#98a2b3; }
.ws-social { display:flex; gap:9px; margin-top:20px; }
.ws-social a { display:grid; width:36px; height:36px; place-items:center; border:1px solid #34394c; border-radius:50%; color:#fff; font-size:.75rem; font-weight:850; text-decoration:none; text-transform:uppercase; }
.ws-footer__bottom { display:flex; justify-content:space-between; gap:24px; margin-top:44px; padding-top:24px; border-top:1px solid #2b3042; color:#98a2b3; font-size:.86rem; }
.ws-cookie { position:fixed; right:22px; bottom:22px; left:22px; z-index:300; display:flex; max-width:1040px; align-items:center; justify-content:space-between; gap:28px; margin:auto; padding:20px 22px; border:1px solid var(--ws-line); border-radius:16px; background:#fff; box-shadow:0 22px 70px rgba(16,24,40,.2); }
.ws-cookie[hidden] { display:none; }
.ws-cookie p { margin:4px 0 0; color:var(--ws-muted); font-size:.9rem; }
.ws-cookie__actions { display:flex; flex-shrink:0; gap:10px; }
.ws-cookie button { min-height:42px; padding:8px 15px; border:1px solid var(--ws-line); border-radius:999px; background:#fff; font-weight:750; cursor:pointer; }
.ws-cookie .ws-cookie__accept { border-color:var(--ws-primary); background:var(--ws-primary); color:#fff; }
.ws-filmora-demo { background:linear-gradient(145deg,#0c0b16,#28127d); color:#fff; }
.ws-filmora-demo .ws-section__heading p:not(.ws-eyebrow) { color:#c7c3da; }
.ws-video { position:relative; display:grid; grid-template-columns:.9fr 1.1fr; min-height:430px; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:28px; background:linear-gradient(135deg,#181528,#0d0b16); box-shadow:0 28px 80px rgba(0,0,0,.28); }
.ws-video__art { position:relative; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 45%,#8d4cff 0,transparent 42%); }
.ws-video__art img { position:relative; z-index:2; width:64%; max-height:350px; object-fit:contain; filter:drop-shadow(0 26px 35px rgba(0,0,0,.38)); transform:rotate(-4deg); }
.ws-video__glow { position:absolute; width:330px; height:330px; border:1px solid rgba(255,255,255,.18); border-radius:50%; box-shadow:0 0 0 45px rgba(255,255,255,.03),0 0 0 90px rgba(255,255,255,.02); }
.ws-video__content { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:54px; }
.ws-video__label { color:#bbaeff; font-size:.78rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.ws-video h3 { margin:13px 0; font-size:clamp(2rem,4vw,3.4rem); line-height:1; letter-spacing:-.04em; }
.ws-video p { max-width:530px; margin:0 0 26px; color:#c7c3da; }
.ws-video__play { display:inline-flex; min-height:52px; align-items:center; gap:11px; padding:12px 20px; border:0; border-radius:999px; background:#fff; color:#151126; font-weight:850; cursor:pointer; }
.ws-video__play span { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; background:var(--ws-primary); color:#fff; font-size:.72rem; }
.ws-video small { margin-top:13px; color:#8f8a9f; }
.ws-video iframe { position:absolute; inset:0; z-index:5; width:100%; height:100%; border:0; }
.ws-commerce { padding: 64px 0 88px; background: #fbfbfe; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 30px; color: var(--ws-muted); }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { width:auto!important; margin:0!important; padding:24px; border:1px solid var(--ws-line); border-radius:var(--ws-radius); background:#fff; box-shadow:0 10px 32px rgba(16,24,40,.05); }
.woocommerce ul.products li.product img { aspect-ratio:1/1; object-fit:contain; padding:16px; border-radius:14px; background:#f7f8fc; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:1.25rem; }
.woocommerce div.product { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; padding:36px; border:1px solid var(--ws-line); border-radius:24px; background:#fff; }
.woocommerce div.product div.images,.woocommerce div.product div.summary { width:auto; float:none; margin:0; }
.woocommerce div.product div.images img { max-height:520px; object-fit:contain; padding:24px; border-radius:18px; background:#f7f8fc; }
.woocommerce div.product .product_title { font-size:clamp(2rem,4vw,3.4rem); line-height:1.05; letter-spacing:-.04em; }
.woocommerce div.product p.price,.woocommerce div.product span.price { color:var(--ws-primary); font-size:1.5rem; font-weight:800; }
.woocommerce table.variations select,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.wsc-quote-form input,.wsc-quote-form select,.wsc-quote-form textarea { width:100%; min-height:48px; padding:10px 13px; border:1px solid #cfd4dc; border-radius:10px; background:#fff; font:inherit; }
.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt,.wsc-quote-form .button.alt { min-height:50px; padding:12px 22px; border-radius:999px; background:var(--ws-primary); color:#fff; font-weight:800; }
.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover,.wsc-quote-form .button.alt:hover { background:var(--ws-primary-dark); }
.woocommerce-cart-form,.cart_totals,.woocommerce-checkout-review-order,.woocommerce form.checkout .col2-set,.woocommerce-order { padding:28px; border:1px solid var(--ws-line); border-radius:18px; background:#fff; }
.wsc-commerce-heading { max-width:760px; margin:0 0 36px; }
.wsc-commerce-heading p { margin:0 0 8px; color:var(--ws-primary); font-size:.8rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.wsc-commerce-heading h2 { margin:0; font-size:clamp(2.2rem,5vw,4rem); letter-spacing:-.05em; line-height:1.05; }
.wsc-commerce-heading span { display:block; margin-top:13px; color:var(--ws-muted); font-size:1.05rem; }
.woocommerce-cart-form .product-thumbnail { width:165px; }
.woocommerce-cart-form .product-thumbnail img { width:140px!important; max-width:140px; padding:8px; border-radius:14px; background:var(--ws-surface); }
.woocommerce-cart-form .product-name a { font-size:1.08rem; font-weight:800; text-decoration:none; }
.woocommerce-cart-form .variation { display:grid; grid-template-columns:auto 1fr; gap:3px 9px; color:var(--ws-muted); }
.woocommerce-cart-form .variation dt,.woocommerce-cart-form .variation dd { margin:0; }
.wsc-cart-assurance { margin-top:22px; padding:22px; border-radius:14px; background:#f4f2ff; }
.wsc-cart-assurance ul { display:grid; gap:7px; margin:10px 0 0; padding-left:20px; color:#49426a; }
.woocommerce form.checkout { display:grid; grid-template-columns:1.15fr .85fr; gap:30px; }
.woocommerce form.checkout #customer_details { grid-row:1 / span 2; width:auto; float:none; }
.woocommerce form.checkout #order_review_heading,.woocommerce form.checkout #order_review { grid-column:2; width:auto; float:none; }
.woocommerce form.checkout #order_review_heading { align-self:end; margin:0; }
.ws-live-total { margin:10px 0 18px; padding:12px 15px; border-radius:10px; background:#f0edff; color:var(--ws-primary-dark); font-weight:800; }
.wsc-quote-form { max-width:760px; padding:30px; border:1px solid var(--ws-line); border-radius:18px; background:#fff; }
.wsc-quote-form label { display:grid; gap:7px; font-weight:700; }
.wsc-form-note { color:var(--ws-muted); font-size:.92rem; }
.wsc-checkout-assurance { display:flex; gap:12px; margin:20px 0 0; padding:17px; border-radius:12px; background:#eefaf4; color:#185b3b; }
.wsc-checkout-assurance span { font-size:1.25rem; }
.wsc-checkout-assurance p { display:grid; margin:0; }
.wsc-thankyou { margin:36px 0; padding:34px; border:1px solid var(--ws-line); border-radius:22px; background:#fff; }
.wsc-thankyou__heading { display:flex; align-items:center; gap:18px; }
.wsc-thankyou__heading > span { display:grid; width:52px; height:52px; place-items:center; border-radius:50%; background:#e8f8ef; color:#177245; font-size:1.5rem; font-weight:900; }
.wsc-thankyou__heading p,.wsc-thankyou__heading h2 { margin:0; }
.wsc-thankyou__heading p { color:#177245; font-weight:800; }
.wsc-order-timeline { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:34px 0; padding:0; list-style:none; counter-reset:steps; }
.wsc-order-timeline li { position:relative; display:grid; gap:5px; padding:45px 22px 0 0; color:var(--ws-muted); }
.wsc-order-timeline li::before { position:absolute; top:0; left:0; display:grid; width:30px; height:30px; place-items:center; border:2px solid #cfd4dc; border-radius:50%; background:#fff; content:counter(steps); counter-increment:steps; font-weight:850; }
.wsc-order-timeline li::after { position:absolute; top:14px; right:12px; left:38px; height:2px; background:#e4e7ec; content:""; }
.wsc-order-timeline li:last-child::after { display:none; }
.wsc-order-timeline li.is-active::before { border-color:var(--ws-primary); background:var(--ws-primary); color:#fff; }
.wsc-order-timeline strong { color:var(--ws-ink); }
.wsc-thankyou__actions { display:flex; flex-wrap:wrap; gap:12px; }
.wsc-thankyou__contact { margin:24px 0 0; color:var(--ws-muted); }

/* Zona privada */
.woocommerce-account .woocommerce { display:block; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper:empty { display:none; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content { width:100%; min-width:0; float:none; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation { width:100%; margin-top:34px; float:none; clear:both; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation::before { display:block; margin-bottom:16px; color:var(--ws-ink); content:"Gestiona tu cuenta"; font-size:1.35rem; font-weight:850; letter-spacing:-.02em; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0; padding:0; border:0; background:transparent; list-style:none; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li { margin:0; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a { display:flex; min-height:86px; align-items:center; padding:20px 22px; border:1px solid var(--ws-line); border-radius:16px; background:#fff; color:var(--ws-ink); font-weight:800; text-decoration:none; box-shadow:0 8px 24px rgba(16,24,40,.04); transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a:hover { border-color:#a998ff; box-shadow:0 12px 28px rgba(54,35,140,.1); transform:translateY(-2px); }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { border-color:var(--ws-primary); background:#f0edff; color:var(--ws-primary-dark); }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--licencias a { position:relative; border:2px solid var(--ws-primary); background:linear-gradient(135deg,#2c176f,#5b35f5); color:#fff; box-shadow:0 16px 34px rgba(67,39,185,.22); }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--licencias a::after { margin-left:auto; padding:5px 8px; border-radius:999px; background:#fff; color:var(--ws-primary-dark); content:"Prioritario"; font-size:.68rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--licencias a:hover,
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation-link--licencias.is-active a { border-color:#8068f8; background:linear-gradient(135deg,#211050,#6844f5); color:#fff; }
.wsc-account-welcome,.wsc-license-card,.wsc-download-grid article,.wsc-invoice-list article,.wsc-empty-state { padding:28px; border:1px solid var(--ws-line); border-radius:18px; background:#fff; }
.wsc-account-welcome { width:100%; max-width:none; margin:0; text-align:center; }
.wsc-account-welcome > p { max-width:720px; margin-inline:auto; }
.wsc-account-kicker,.wsc-account-heading p { color:var(--ws-muted); }
.wsc-account-welcome h2,.wsc-account-heading h2 { margin:0; font-size:clamp(1.8rem,4vw,2.6rem); line-height:1.1; letter-spacing:-.035em; }
.wsc-account-shortcuts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:25px; }
.wsc-account-shortcuts a { display:grid; min-height:120px; place-content:center; gap:7px; padding:22px; border:1px solid var(--ws-line); border-radius:16px; background:var(--ws-surface); text-align:center; text-decoration:none; }
.wsc-account-shortcuts a:hover { border-color:var(--ws-primary); }
.wsc-account-shortcuts span { color:var(--ws-muted); font-size:.88rem; }
.wsc-account-heading { margin-bottom:25px; }
.wsc-account-heading--redemption { width:100%; padding:36px 40px; border-radius:22px; background:linear-gradient(115deg,#17113f 0%,#3f24b8 58%,#6844f5 100%); color:#fff; box-shadow:0 20px 45px rgba(45,27,124,.18); }
.wsc-account-heading--redemption > span { display:inline-block; margin-bottom:10px; color:#d9d1ff; font-size:.78rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.wsc-account-heading--redemption p { max-width:720px; margin-bottom:0; color:#eeeaff; }
.wsc-admin-shortcuts { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-bottom:24px; padding:20px 22px; border:1px solid #cfc5ff; border-radius:16px; background:#f5f2ff; }
.wsc-admin-shortcuts > div { display:grid; gap:3px; }
.wsc-admin-shortcuts > div span { color:var(--ws-primary); font-size:.72rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.wsc-admin-shortcuts > div strong { font-size:1.12rem; }
.wsc-admin-shortcuts nav { display:flex; flex-wrap:wrap; gap:9px; }
.wsc-admin-shortcuts a { padding:9px 13px; border:1px solid #b9aaff; border-radius:999px; background:#fff; color:var(--ws-primary-dark); font-weight:800; text-decoration:none; }
.wsc-admin-shortcuts a:hover { border-color:var(--ws-primary); background:var(--ws-primary); color:#fff; }
.wsc-license-card { margin-bottom:18px; }
.wsc-license-card header,.wsc-invoice-list article { display:flex; align-items:center; justify-content:space-between; gap:22px; }
.wsc-license-card header span { color:var(--ws-muted); }
.wsc-license-card h3 { margin:3px 0 0; }
.wsc-status { padding:6px 10px; border-radius:999px; background:#fff4dc; color:#835d04!important; font-size:.78rem; font-weight:850; }
.wsc-status--delivered { background:#e8f8ef; color:#177245!important; }
.wsc-status--ready { background:#f0edff; color:var(--ws-primary)!important; }
.wsc-license-details { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:24px 0; padding:17px 0; border-top:1px solid var(--ws-line); border-bottom:1px solid var(--ws-line); }
.wsc-license-details p { display:grid; margin:0; }
.wsc-license-details span { color:var(--ws-muted); }
.wsc-code { display:grid; gap:10px; margin:24px 0; padding:26px; border:2px solid #8068f8; border-radius:16px; background:#f4f1ff; }
.wsc-code span { color:#4520d8!important; font-size:.82rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.wsc-code code { padding:14px; border-radius:10px; background:#fff; color:#20165e; font-size:clamp(1.15rem,3vw,1.55rem); font-weight:900; letter-spacing:.04em; word-break:break-all; }
.wsc-code small { color:var(--ws-muted); }
.wsc-redemption-guide { margin-top:22px; padding:24px; border-radius:16px; background:var(--ws-surface); }
.wsc-redemption-guide h3 { margin-top:0; font-size:1.35rem; }
.wsc-redemption-guide li { margin-bottom:10px; }
.wsc-license-note,.wsc-security-note { color:var(--ws-muted); }
.wsc-download-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.wsc-download-grid article > span { color:var(--ws-primary); font-size:.78rem; font-weight:850; text-transform:uppercase; }
.wsc-download-grid article p { color:var(--ws-muted); }
.wsc-invoice-list { display:grid; gap:12px; }
.wsc-invoice-list article span { display:block; color:var(--ws-muted); }
.wsc-invoice-pending { padding:7px 10px; border-radius:999px; background:#f4f4f5; font-size:.82rem; }
.wsc-login-intro { margin-bottom:30px; text-align:center; }
.wsc-login-intro h2 { margin-bottom:8px; font-size:clamp(2rem,5vw,3.5rem); letter-spacing:-.045em; }
.wsc-login-intro p { color:var(--ws-muted); }
.woocommerce-account:not(.logged-in) .ws-content > h1 { display:none; }
.woocommerce-account:not(.logged-in) .wsc-login-intro { margin:0 auto 42px; padding-top:4px; }
.ws-auth-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; max-width:980px; margin:0 auto; align-items:stretch; }
.ws-auth-card { display:flex; min-width:0; flex-direction:column; padding:32px; border:1px solid var(--ws-line); border-radius:20px; background:#fff; box-shadow:0 12px 34px rgba(16,24,40,.06); }
.ws-auth-card h2 { margin:0 0 8px; font-size:1.65rem; letter-spacing:-.025em; }
.ws-auth-card__lead { min-height:48px; margin:0 0 24px; color:var(--ws-muted); }
.ws-auth-card form { display:flex; height:100%; flex-direction:column; margin:0!important; padding:0!important; border:0!important; }
.ws-auth-card .form-row { width:100%; float:none; }
.ws-auth-card label { display:block; margin-bottom:7px; font-weight:750; }
.ws-auth-card input.input-text { width:100%; min-height:50px; padding:10px 13px; border:1px solid #cfd4dc; border-radius:11px; font:inherit; }
.ws-auth-card .woocommerce-form-login__rememberme { display:flex; align-items:center; gap:8px; margin:12px 0; font-weight:500; }
.ws-auth-card .woocommerce-form-login__rememberme input { width:auto; }
.ws-auth-card button { min-height:48px; padding-inline:24px; }
.ws-auth-card .lost_password { margin-top:16px; }
.ws-auth-card .woocommerce-privacy-policy-text { margin-top:auto; color:var(--ws-muted); font-size:.9rem; }
.woocommerce-account:not(.logged-in) .u-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:980px; margin:42px auto 0; }
.woocommerce-account:not(.logged-in) .u-column1,
.woocommerce-account:not(.logged-in) .u-column2 { width:auto; min-width:0; float:none; }
.woocommerce-account:not(.logged-in) form.login,
.woocommerce-account:not(.logged-in) form.register { height:calc(100% - 48px); margin:0; padding:28px; border:1px solid var(--ws-line); border-radius:18px; background:#fff; }
.woocommerce-account:not(.logged-in) form.login input.input-text,
.woocommerce-account:not(.logged-in) form.register input.input-text { width:100%; min-height:48px; }
.ws-password-flow { max-width:680px; margin:28px auto; padding:34px; border:1px solid var(--ws-line); border-radius:22px; background:#fff; box-shadow:var(--ws-shadow); }
.ws-password-flow__intro { margin-bottom:25px; }
.ws-password-flow__intro span { display:inline-block; margin-bottom:8px; color:var(--ws-primary); font-size:.78rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.ws-password-flow__intro h2 { margin:0 0 10px; font-size:clamp(1.8rem,4vw,2.6rem); line-height:1.08; letter-spacing:-.035em; }
.ws-password-flow__intro p,.ws-password-flow__help { color:var(--ws-muted); }
.ws-password-flow .form-row { width:100%; float:none; }
.ws-password-flow label { display:block; margin-bottom:8px; font-weight:800; }
.ws-password-flow input.input-text { width:100%; min-height:50px; padding:10px 13px; border:1px solid #cfd4dc; border-radius:11px; font:inherit; }
.ws-password-flow button { width:100%; min-height:50px; margin-top:8px; }
.wsc-support-form { max-width:760px; padding:28px; border:1px solid var(--ws-line); border-radius:18px; background:#fff; }
.wsc-support-form label { display:grid; gap:8px; font-weight:750; }
.wsc-support-form select,.wsc-support-form textarea,.wsc-support-form input[type=file] { width:100%; padding:12px; border:1px solid #cfd4dc; border-radius:10px; background:#fff; font:inherit; }
.ws-support-page { max-width:850px; }
.ws-support-selector { display:grid; gap:9px; margin:30px 0; font-weight:800; }
.ws-support-selector select { min-height:54px; padding:10px 14px; border:1px solid #cfd4dc; border-radius:11px; background:#fff; font:inherit; }
.ws-support-result { margin-top:24px; padding:28px; border:1px solid var(--ws-line); border-radius:18px; background:#fff; }
.ws-support-result[hidden] { display:none; }

@media (max-width: 900px) {
  .ws-hero__grid, .ws-products, .ws-trust, .ws-footer__grid, .ws-product-hero__grid, .ws-benefits, .ws-plans, .ws-video, .ws-authorized__grid, .ws-copy-grid, .ws-service-paths, .ws-assurance__grid, .ws-post-grid, .ws-feature-showcase, .woocommerce ul.products, .woocommerce div.product, .woocommerce form.checkout, .wsc-account-shortcuts, .wsc-download-grid { grid-template-columns: 1fr; }
  .ws-blog-search div { flex-direction:column; }
	.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.ws-feature-showcase--reverse img { order:0; }
  .ws-hero { padding-top: 64px; }
  .ws-hero__showcase { min-height: 380px; }
  .ws-contact-bar > .ws-container > span,.ws-contact-bar__hours,.ws-account { display:none; }
  .ws-contact-bar .ws-container { justify-content:center; }
  .ws-menu-toggle { display:block; margin-left:auto; }
  .ws-nav { position:absolute; top:100%; right:0; left:0; display:none; padding:20px; border-top:1px solid var(--ws-line); background:#fff; box-shadow:0 18px 35px rgba(16,24,40,.12); }
  .ws-nav.is-open { display:block; }
  .ws-nav ul { align-items:stretch; flex-direction:column; gap:4px; }
  .ws-nav a { display:block; padding:9px; }
  .ws-header__inner { position:relative; gap:14px; }
  .ws-footer__bottom,.ws-cookie { align-items:flex-start; flex-direction:column; }
  .ws-cookie__actions { width:100%; }
  .ws-cookie button { flex:1; }
  .wsc-order-timeline { grid-template-columns:1fr; gap:18px; }
	.woocommerce form.checkout #customer_details,.woocommerce form.checkout #order_review_heading,.woocommerce form.checkout #order_review { grid-column:1; grid-row:auto; }
  .wsc-order-timeline li { padding:0 0 0 46px; }
  .wsc-order-timeline li::after { top:38px; right:auto; bottom:-14px; left:14px; width:2px; height:auto; }
  .wsc-license-details { grid-template-columns:1fr; }
	.woocommerce-account:not(.logged-in) .u-columns { grid-template-columns:1fr; }
	.ws-auth-grid { grid-template-columns:1fr; }
}

@media (max-width: 560px) {
	.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns:1fr; }
	.logged-in.woocommerce-account .woocommerce-MyAccount-navigation a { min-height:68px; }
	.wsc-account-heading--redemption { padding:28px 24px; }
	.wsc-admin-shortcuts { align-items:flex-start; flex-direction:column; }
	.wsc-admin-shortcuts nav { width:100%; }
	.wsc-admin-shortcuts a { flex:1 1 calc(50% - 9px); text-align:center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .ws-reveal { opacity: 1; transform: none; }
}

@media (max-width: 560px) {
  .ws-container { width: min(calc(100% - 28px), var(--ws-content)); }
  .ws-header__inner { min-height: 66px; }
  .ws-cart { font-size: .9rem; }
  .ws-cart > span { display:none; }
  .ws-section { padding: 64px 0; }
  .ws-actions { display: grid; }
  .ws-brand span { font-size:.96rem; }
  .ws-video__content { padding:32px 24px; }
  .ws-video__art { min-height:280px; }
  .woocommerce-cart-form { padding:16px; }
  .woocommerce table.shop_table_responsive tr td.product-thumbnail { display:block; padding:14px 12px 0; text-align:left!important; }
  .woocommerce table.shop_table_responsive tr td.product-thumbnail::before { display:none; }
  .woocommerce-cart-form .product-thumbnail img { width:120px!important; max-width:120px; }
  .wsc-thankyou { padding:22px 18px; }
  .wsc-license-card header,.wsc-invoice-list article { align-items:flex-start; flex-direction:column; }
}
