/*
Theme Name: Viklu
Theme URI: https://viklu.cl/
Description: Tema liviano y personalizado para la tienda Viklu.
Author: Webnex.cl
Author URI: https://webnex.cl/
Version: 1.8.59
License: GNU General Public License v2 or later
Text Domain: viklu
Requires at least: 6.2
Requires PHP: 7.4
*/

:root { --ink:#2c3443; --ink-2:#4d586b; --brand:#c34c9b; --brand-deep:#9e347a; --blush:#fcecf6; --rose:#f4d7e8; --paper:#fffdfd; --sand:#faf3f7; --line:#e8dfe6; --muted:#68717f; --orange:#d86091; --radius:18px; --shadow:0 16px 44px rgba(44,52,67,.12); --blue:var(--brand); --blue-deep:var(--brand-deep); --sky:var(--blush); --mint:var(--rose); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; font-size:16px; line-height:1.55; }
img { display:block; height:auto; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
.screen-reader-text { clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }
.screen-reader-text:focus { clip:auto!important; clip-path:none; display:block; height:auto; left:5px; padding:12px; top:5px; width:auto; z-index:999999; background:#fff; }
.container { margin:0 auto; max-width:1240px; padding-left:24px; padding-right:24px; }
.site-main { min-height:45vh; padding:56px 0 80px; }
.button,.wp-element-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit { align-items:center; background:var(--blue); border:1px solid var(--blue); border-radius:999px; color:#fff; cursor:pointer; display:inline-flex; font-weight:750; gap:8px; justify-content:center; min-height:48px; padding:11px 21px; transition:.2s ease; }
.button:hover,.wp-element-button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover { background:var(--blue-deep); border-color:var(--blue-deep); color:#fff; transform:translateY(-1px); }
.button--ghost { background:transparent; border-color:rgba(18,35,60,.26); color:var(--ink); }
.button--ghost:hover { background:var(--ink); border-color:var(--ink); }
.eyebrow { color:var(--blue); display:block; font-size:.75rem; font-weight:800; letter-spacing:.14em; margin-bottom:12px; text-transform:uppercase; }
.section { padding:80px 0; }
.section--sand { background:var(--sand); }
.section-heading { align-items:end; display:flex; gap:22px; justify-content:space-between; margin-bottom:30px; }
.section-heading h1,.section-heading h2 { font-size:clamp(1.8rem,3.2vw,2.85rem); letter-spacing:-.045em; line-height:1.08; margin:0; }
.section-heading p { color:var(--muted); margin:9px 0 0; max-width:600px; }
.section-link { color:var(--blue); font-weight:750; white-space:nowrap; }

/* Header */
.site-header { background:rgba(255,253,249,.96); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:50; }
.topbar { background:var(--ink); color:#e8f3f5; font-size:.78rem; }
.topbar .container { align-items:center; display:flex; gap:18px; justify-content:space-between; min-height:34px; }
.topbar a { color:#fff; font-weight:700; }
.header-main { align-items:center; display:grid; gap:26px; grid-template-columns:auto 1fr auto; min-height:82px; }
.brand { display:inline-flex; max-width:150px; }
.brand img { max-height:45px; width:auto; }
.brand__text { color:var(--ink); font-size:1.55rem; font-weight:900; letter-spacing:-.07em; }
.primary-nav ul { align-items:center; display:flex; gap:25px; justify-content:center; list-style:none; margin:0; padding:0; }
.primary-nav a { font-size:.93rem; font-weight:750; padding:8px 0; }
.primary-nav .current-menu-item a,.primary-nav a:hover { color:var(--blue); }
.header-actions { align-items:center; display:flex; gap:14px; }
.header-action { color:var(--ink); font-size:.83rem; font-weight:750; white-space:nowrap; }
.header-search-toggle { align-items:center; background:transparent; border:0; color:var(--ink); cursor:pointer; display:inline-flex; font-size:.83rem; font-weight:750; gap:6px; padding:8px 2px; }
.header-search-toggle:hover { color:var(--blue); }
.header-search-toggle__icon { align-items:center; display:inline-flex; height:22px; justify-content:center; width:22px; }
.header-search-toggle__icon svg { fill:none; height:22px; stroke:currentColor; stroke-linecap:round; stroke-width:2.35; width:22px; }
.cart-link { align-items:center; background:var(--sky); border-radius:999px; display:flex; gap:7px; padding:9px 13px; }
.cart-count { background:var(--blue); border-radius:99px; color:#fff; font-size:.7rem; min-width:18px; padding:1px 5px; text-align:center; }
.nav-toggle { background:transparent; border:0; color:var(--ink); cursor:pointer; display:none; padding:8px; }
.viklu-search[hidden] { display:none; }
.viklu-search { inset:0; position:fixed; z-index:110; }
.viklu-search__backdrop { background:rgba(24,31,43,.54); inset:0; position:absolute; }
.viklu-search__panel { background:var(--paper); border:1px solid rgba(255,255,255,.55); border-radius:0 0 28px 28px; box-shadow:0 28px 80px rgba(25,31,43,.25); left:50%; max-height:min(720px,calc(100vh - 22px)); max-width:810px; overflow:auto; padding:34px; position:absolute; top:0; transform:translateX(-50%); width:calc(100% - 36px); }
.viklu-search__heading { align-items:flex-start; display:flex; gap:20px; justify-content:space-between; }
.viklu-search__heading .eyebrow { margin-bottom:7px; }
.viklu-search__heading h2 { font-size:clamp(1.8rem,4vw,2.5rem); letter-spacing:-.055em; line-height:1; margin:0; }
.viklu-search__close { align-items:center; background:var(--blush); border:0; border-radius:50%; color:var(--ink); cursor:pointer; display:grid; font-size:1.75rem; height:38px; line-height:1; place-items:center; width:38px; }
.viklu-search__close:hover { background:var(--brand); color:#fff; }
.viklu-search__form { display:grid; gap:10px; grid-template-columns:1fr auto; margin-top:25px; }
.viklu-search__form input { background:#fff; border:1px solid var(--line); border-radius:14px; min-height:54px; outline:0; padding:13px 16px; }
.viklu-search__form input:focus { border-color:var(--brand); box-shadow:0 0 0 3px rgba(195,76,155,.13); }
.viklu-search__form button { background:var(--brand); border:1px solid var(--brand); border-radius:14px; color:#fff; cursor:pointer; font-weight:800; padding:0 22px; }
.viklu-search__form button:hover { background:var(--brand-deep); }
.viklu-search__hint { color:var(--muted); font-size:.86rem; margin:10px 0 18px; }
.viklu-search__results { border-top:1px solid var(--line); min-height:38px; }
.viklu-search__empty { color:var(--muted); font-size:.92rem; margin:19px 0 0; }
.viklu-search__list { list-style:none; margin:0; padding:0; }
.viklu-search__item { border-bottom:1px solid var(--line); }
.viklu-search__item a { align-items:center; display:grid; gap:13px; grid-template-columns:58px 1fr auto; padding:13px 2px; }
.viklu-search__item a:hover { color:var(--brand); }
.viklu-search__image { align-items:center; background:var(--sand); border-radius:11px; display:flex; height:58px; justify-content:center; overflow:hidden; width:58px; }
.viklu-search__image img { height:100%; object-fit:cover; width:100%; }
.viklu-search__product-category { color:var(--muted); display:block; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.viklu-search__product-name { display:block; font-size:.94rem; font-weight:800; line-height:1.25; margin-top:3px; }
.viklu-search__product-meta { text-align:right; }
.viklu-search__price { display:block; font-size:.87rem; font-weight:800; }
.viklu-search__stock { display:inline-block; font-size:.72rem; font-weight:800; margin-top:4px; }
.viklu-search__stock--in { color:#187a44; }
.viklu-search__stock--out { color:#b43148; }
.viklu-search__view-all { color:var(--brand); display:inline-block; font-size:.9rem; font-weight:850; margin:18px 0 2px; text-decoration:underline; text-underline-offset:3px; }
.viklu-catalog-search { background:linear-gradient(112deg,#fff 0%,#fff8fc 100%); border:1px solid var(--line); border-radius:18px; box-shadow:0 10px 28px rgba(44,52,67,.05); display:grid; gap:16px; grid-template-columns:minmax(210px,.72fr) minmax(320px,1.28fr); margin:21px 0 18px; padding:17px 19px; position:relative; }
.viklu-catalog-search__intro { align-items:center; display:flex; gap:12px; }
.viklu-catalog-search__icon { align-items:center; background:var(--blush); border-radius:13px 13px 13px 4px; color:var(--brand); display:grid; flex:0 0 auto; height:46px; place-items:center; width:46px; }
.viklu-catalog-search__icon svg { fill:none; height:25px; stroke:currentColor; stroke-linecap:round; stroke-width:2.35; width:25px; }
.viklu-catalog-search__intro strong,.viklu-catalog-search__intro span { display:block; }
.viklu-catalog-search__intro strong { font-size:.92rem; line-height:1.25; }
.viklu-catalog-search__intro span { color:var(--muted); font-size:.77rem; line-height:1.35; margin-top:3px; }
.viklu-catalog-search__form { display:grid; gap:8px; grid-template-columns:1fr auto; }
.viklu-catalog-search__form input { background:#fff; border:1px solid var(--line); border-radius:12px; min-height:46px; outline:0; padding:10px 13px; }
.viklu-catalog-search__form input:focus { border-color:var(--brand); box-shadow:0 0 0 3px rgba(195,76,155,.12); }
.viklu-catalog-search__form button { background:var(--ink); border:1px solid var(--ink); border-radius:12px; color:#fff; cursor:pointer; font-size:.85rem; font-weight:800; padding:0 16px; }
.viklu-catalog-search__form button:hover { background:var(--brand); border-color:var(--brand); }
.viklu-catalog-search__results { background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 14px 30px rgba(44,52,67,.14); left:0; max-height:390px; overflow:auto; padding:4px 16px 14px; position:absolute; right:0; top:calc(100% - 7px); z-index:12; }
.viklu-catalog-search__results .viklu-search__item a { grid-template-columns:48px 1fr auto; }
.viklu-catalog-search__results .viklu-search__image { height:48px; width:48px; }
.viklu-catalog-search__results .viklu-search__empty { margin:14px 0 4px; }

/* Homepage */
.hero { background:linear-gradient(118deg,#fcecf6 0%,#fff9fc 58%,#f2d5e5 100%); overflow:hidden; padding:clamp(58px,8vw,110px) 0; position:relative; }
.hero:after { background:rgba(255,255,255,.35); border-radius:50%; content:""; height:440px; position:absolute; right:-180px; top:-170px; width:440px; }
.hero__grid { align-items:center; display:grid; gap:50px; grid-template-columns:1.1fr .9fr; position:relative; z-index:1; }
.hero h1 { font-size:clamp(2.65rem,5vw,4.7rem); letter-spacing:-.065em; line-height:.98; margin:0; max-width:750px; }
.hero h1 em { color:var(--blue); font-style:normal; }
.hero p { color:var(--ink-2); font-size:1.07rem; margin:24px 0 30px; max-width:570px; }
.hero__actions { display:flex; flex-wrap:wrap; gap:12px; }
.hero__visual { aspect-ratio:7/5; background:var(--ink); border-radius:28px 28px 72px 28px; box-shadow:0 26px 60px rgba(44,52,67,.18); color:#fff; min-height:0; overflow:hidden; padding:34px; position:relative; width:100%; }
.hero__visual--mobile { display:none; }
.hero__visual:before { background:var(--brand); border-radius:50%; content:""; height:390px; opacity:.8; position:absolute; right:-140px; top:-100px; width:390px; }
.hero__visual:after { border:1px solid rgba(255,255,255,.35); border-radius:50%; content:""; height:240px; position:absolute; right:32px; top:55px; width:240px; }
.hero__visual img { background:#f7edf3; height:100%; inset:0; object-fit:contain; object-position:center; position:absolute; width:100%; z-index:0; }
.hero__visual.has-image:before,.hero__visual.has-image:after { display:none; }
.hero-carousel__slides { inset:0; position:absolute; z-index:0; }
.hero-carousel__slide { opacity:0; transition:opacity .55s ease; }
.hero-carousel__slide.is-active { opacity:1; }
.hero-carousel.has-image:after { background:linear-gradient(180deg,rgba(17,24,35,.04) 25%,rgba(17,24,35,.72) 100%); border:0; border-radius:inherit; display:block; height:auto; inset:0; opacity:1; right:auto; top:auto; width:auto; z-index:1; }
.hero-carousel__header { align-items:center; background:rgba(255,255,255,.92); border-radius:999px; color:var(--ink); display:flex; font-size:.68rem; font-weight:900; justify-content:space-between; left:20px; letter-spacing:.11em; padding:9px 11px 9px 13px; position:absolute; right:auto; text-transform:uppercase; top:20px; z-index:3; }
.hero-carousel__counter { background:var(--brand); border-radius:999px; color:#fff; margin-left:11px; padding:5px 8px; }
.hero-carousel__controls { align-items:center; bottom:20px; display:flex; gap:8px; position:absolute; right:20px; z-index:3; }
.hero-carousel__arrow,.hero-carousel__dot { border:0; cursor:pointer; }
.hero-carousel__arrow { align-items:center; backdrop-filter:blur(8px); background:rgba(255,255,255,.88); border-radius:50%; color:var(--ink); display:grid; font-size:1.55rem; height:36px; line-height:1; padding:0 0 3px; place-items:center; transition:.2s ease; width:36px; }
.hero-carousel__arrow:hover { background:var(--brand); }
.hero-carousel__arrow:hover { color:#fff; transform:translateY(-2px); }
.hero-carousel__dots { align-items:center; background:rgba(19,28,42,.55); border:1px solid rgba(255,255,255,.26); border-radius:999px; display:flex; gap:6px; padding:9px 10px; }
.hero-carousel__dot { background:rgba(255,255,255,.48); border-radius:999px; height:4px; padding:0; transition:.25s ease; width:14px; }
.hero-carousel__dot.is-active { background:#fff; width:30px; }
.hero__card { bottom:26px; left:24px; max-width:255px; position:absolute; z-index:2; }
.hero__visual.has-image .hero__card { backdrop-filter:blur(12px); background:rgba(25,34,49,.78); border:1px solid rgba(255,255,255,.16); border-radius:16px 16px 16px 4px; padding:18px; }
.hero__card strong { display:block; font-size:1.55rem; letter-spacing:-.04em; line-height:1.08; }
.hero__card span { color:#d8e6ed; display:block; font-size:.9rem; margin-top:8px; }
.trust-bar { background:#fff; border-bottom:1px solid var(--line); }
.trust-bar .container { display:grid; grid-template-columns:repeat(3,1fr); }
.trust-item { align-items:center; border-right:1px solid var(--line); display:flex; gap:13px; min-height:87px; padding:13px 20px; }
.trust-item:last-child { border-right:0; }
.trust-icon { background:var(--mint); border-radius:50%; color:var(--blue-deep); display:grid; font-size:1.1rem; height:38px; place-items:center; width:38px; }
.trust-item .trust-icon { display:grid; flex:0 0 38px; }
.trust-icon svg { fill:none; height:20px; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; width:20px; }
.trust-icon--image { background:transparent; overflow:hidden; }
.trust-icon__image { height:100%; object-fit:contain; width:100%; }
.trust-item strong { display:block; font-size:.88rem; }
.trust-item span { color:var(--muted); display:block; font-size:.78rem; }
.category-grid { display:grid; gap:18px; grid-template-columns:repeat(4,1fr); }
.category-card { background:#fff; border:1px solid var(--line); border-radius:18px; box-shadow:0 8px 22px rgba(45,55,72,.035); overflow:hidden; transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease; }
.category-card:hover { border-color:#e7bbd7; box-shadow:0 18px 34px rgba(45,55,72,.12); transform:translateY(-5px); }
.category-card__image { aspect-ratio:6/5; background:#f9edf4; overflow:hidden; position:relative; }
.category-card__image:after { background:linear-gradient(135deg,rgba(255,255,255,.14),transparent 45%); content:""; inset:0; pointer-events:none; position:absolute; }
.category-card__image img { display:block; height:100%; object-fit:cover; object-position:center; transition:transform .45s cubic-bezier(.2,.75,.25,1); width:100%; }
.category-card:hover img { transform:scale(1.035); }
.category-card__body { align-items:center; display:flex; justify-content:space-between; padding:17px 18px; }
.category-card__body strong { font-size:1rem; letter-spacing:-.015em; }
.category-card__body span { color:var(--blue); font-size:1.25rem; transition:transform .25s ease; }
.category-card:hover .category-card__body span { transform:translateX(4px); }
.benefits { display:grid; gap:20px; grid-template-columns:repeat(3,1fr); }
.benefit { background:#fff; border-radius:var(--radius); padding:29px; }
.benefit__number { color:var(--blue); font-size:.78rem; font-weight:850; letter-spacing:.1em; }
.benefit h3 { font-size:1.2rem; letter-spacing:-.03em; margin:16px 0 8px; }
.size-finder-section { background:linear-gradient(116deg,#fff9fc 0%,#f8e6f0 54%,#f0e0eb 100%); border-bottom:1px solid #edcfdf; border-top:1px solid #edcfdf; overflow:hidden; position:relative; }
.size-finder-section:before { background:var(--brand); border-radius:50%; content:""; height:380px; opacity:.11; position:absolute; right:-165px; top:-190px; width:380px; }
.size-finder-layout { align-items:center; display:grid; gap:56px; grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr); position:relative; }
.size-finder-heading h2 { font-size:clamp(2.05rem,3.8vw,3.35rem); letter-spacing:-.06em; line-height:1; margin:0; max-width:520px; }
.size-finder-heading p { color:var(--ink-2); font-size:1.04rem; margin:20px 0 23px; max-width:530px; }
.size-finder-heading__tips { display:flex; flex-direction:column; gap:9px; }
.size-finder-heading__tips span { color:var(--ink); font-size:.88rem; font-weight:750; }
.size-finder { background:rgba(255,255,255,.92); border:1px solid #e9cfe0; border-radius:24px 24px 56px 24px; box-shadow:0 22px 50px rgba(46,34,53,.11); padding:31px; }
.size-finder__label { color:var(--ink); display:block; font-size:.87rem; font-weight:850; margin:0 0 8px; }
.size-finder__select,.size-finder__input { -webkit-appearance:none; appearance:none; background:#fff; border:1px solid #dfcfda; border-radius:12px; color:var(--ink); font:inherit; min-height:48px; outline-color:var(--brand); padding:11px 13px; width:100%; }
.size-finder__select { background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%); background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px; background-repeat:no-repeat; background-size:5px 5px,5px 5px; padding-right:42px; }
.size-finder__inputs { display:grid; gap:13px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:17px; }
.size-finder__field label { color:var(--muted); display:block; font-size:.76rem; font-weight:800; margin:0 0 6px; }
.size-finder__field label span { color:var(--brand); }
.size-finder__button { align-items:center; display:flex; justify-content:space-between; margin-top:20px; width:100%; }
.size-finder__button span { font-size:1.2rem; line-height:1; }
.size-finder__result { background:#ecf8f0; border:1px solid #9cd5b0; border-radius:16px; color:#164e2a; margin-top:20px; padding:17px 18px; }
.size-finder__result.is-contact { background:#fff4f5; border-color:#efbdc3; color:#7c2330; }
.size-finder__result strong { display:block; font-size:1.08rem; line-height:1.2; }
.size-finder__result p { font-size:.86rem; line-height:1.45; margin:6px 0 11px; }
.size-finder__result a { color:inherit; font-size:.84rem; font-weight:850; text-decoration:underline; }
.size-finder__notice { color:var(--muted); font-size:.72rem; line-height:1.45; margin:16px 1px 0; }
.benefit p { color:var(--muted); margin:0; }
.cta-band { background:var(--ink); color:#fff; overflow:hidden; position:relative; }
.cta-band:after { background:var(--brand); border-radius:50%; content:""; height:450px; position:absolute; right:-120px; top:-210px; width:450px; }
.cta-band--image { background-color:var(--ink); background-image:linear-gradient(90deg,rgba(44,52,67,.94) 0%,rgba(44,52,67,.81) 51%,rgba(44,52,67,.40) 100%),var(--campaign-image); background-position:center; background-size:cover; }
.cta-band--image:after { display:none; }
.cta-band .container { align-items:center; display:flex; gap:30px; justify-content:space-between; padding-bottom:67px; padding-top:67px; position:relative; z-index:1; }
.cta-band h2 { font-size:clamp(1.75rem,3vw,2.75rem); letter-spacing:-.045em; line-height:1.08; margin:0; max-width:700px; }
.cta-band p { color:#cadbe2; margin:12px 0 0; }
.cta-band .button { background:#fff; border-color:#fff; color:var(--ink); white-space:nowrap; }

/* WooCommerce */
.woocommerce .woocommerce-breadcrumb { color:var(--muted); font-size:.85rem; margin:0 0 24px; }
.woocommerce .woocommerce-breadcrumb a { color:var(--blue); }
.woocommerce .page-title { font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.055em; line-height:1; margin:34px auto 12px; max-width:1340px; width:calc(100% - 36px); }
.catalog-intro { background:linear-gradient(112deg,var(--blush),#fffafc 65%,#f3d8e7); border:1px solid #efdbe7; border-radius:var(--radius); margin-bottom:26px; overflow:hidden; padding:clamp(27px,4vw,48px); position:relative; }
.catalog-intro:after { border:1px solid rgba(195,76,155,.19); border-radius:50%; content:""; height:290px; position:absolute; right:-108px; top:-145px; width:290px; }
.catalog-intro > * { position:relative; z-index:1; }
.catalog-intro h1 { font-size:clamp(2rem,4.3vw,3.75rem); letter-spacing:-.065em; line-height:.98; margin:0; max-width:710px; }
.catalog-intro__description { color:var(--ink-2); margin-top:14px; max-width:650px; }
.catalog-intro__description p { margin:0; }
.catalog-categories { display:flex; flex-wrap:wrap; gap:9px; margin-top:26px; }
.catalog-category { background:rgba(255,255,255,.72); border:1px solid #e9cfe0; border-radius:999px; color:var(--ink); font-size:.82rem; font-weight:750; padding:9px 13px; transition:.2s ease; }
.catalog-category:hover,.catalog-category.is-current { background:var(--brand); border-color:var(--brand); color:#fff; }
.catalog-promise { color:var(--ink-2); font-size:1rem; margin:0 auto 19px; max-width:1340px; width:calc(100% - 36px); }
.catalog-promise strong { color:var(--blue-deep); font-weight:800; }
.catalog-toolbar { align-items:center; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; margin:0 auto 2px; max-width:1340px; padding:0 0 16px; width:calc(100% - 36px); }
.viklu-category-filter { align-items:center; display:flex; flex-wrap:wrap; gap:8px; margin:0 auto 17px; max-width:1340px; width:calc(100% - 36px); }
.viklu-category-filter > span { color:var(--muted); font-size:.78rem; font-weight:800; margin-right:3px; }
.viklu-category-filter a { background:#fff; border:1px solid var(--line); border-radius:999px; color:var(--ink); font-size:.78rem; font-weight:750; padding:8px 12px; transition:.18s ease; }
.catalog-size-filter { align-items:center; background:#ecf8f0; border:1px solid #9cd5b0; border-radius:12px; color:#1d6435; display:flex; font-size:.82rem; gap:13px; justify-content:center; margin:13px auto 0; max-width:360px; padding:8px 12px; }
.catalog-size-filter a { color:#1d6435; font-weight:850; text-decoration:underline; }
.viklu-category-filter a:hover,.viklu-category-filter a.is-current { background:var(--brand); border-color:var(--brand); color:#fff; }
.woocommerce .woocommerce-result-count { color:var(--muted); font-size:.88rem; padding-top:12px; }
.woocommerce .woocommerce-ordering select { background:#fff; border:1px solid var(--line); border-radius:999px; color:var(--ink); min-height:42px; padding:0 35px 0 14px; }
.woocommerce ul.products { clear:both; display:grid; gap:22px; grid-template-columns:repeat(4,minmax(0,1fr)); margin:28px auto 0; max-width:1340px; width:calc(100% - 36px); }
.woocommerce ul.products:before,.woocommerce ul.products:after { display:none; }
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product { background:#fff; border:1px solid var(--line); border-radius:14px; display:flex; float:none; flex-direction:column; margin:0; min-width:0; overflow:hidden; padding:0; position:relative; transition:.2s ease; width:100%!important; }
.woocommerce ul.products li.product:hover { border-color:#b7d1dd; box-shadow:var(--shadow); transform:translateY(-3px); }
.woocommerce ul.products li.product a img { aspect-ratio:1/1.04; background:var(--sky); margin:0; object-fit:cover; width:100%; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color:var(--ink); font-size:.94rem; font-weight:760; line-height:1.35; margin:17px 16px 7px; min-height:2.55em; padding:0; }
.woocommerce ul.products li.product .product-card__category { color:var(--brand-deep); display:block; font-size:.68rem; font-weight:850; letter-spacing:.09em; margin:16px 16px -8px; overflow:hidden; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.woocommerce ul.products li.product .product-card__category a { color:inherit; }
.woocommerce ul.products li.product .price { color:var(--blue-deep); font-size:1rem; font-weight:850; margin:0 16px 15px; }
.woocommerce ul.products li.product .price del { color:var(--muted); font-weight:500; }
.product-size-stock { align-items:flex-start; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:8px; margin:0 16px 16px; padding-top:13px; }
.product-size-stock__label { color:var(--muted); font-size:.72rem; font-weight:750; line-height:28px; }
.product-size-stock__items { display:flex; flex-wrap:wrap; gap:5px; }
.size-chip { border:1px solid; border-radius:999px; font-size:.7rem; font-weight:850; line-height:1; min-width:29px; padding:7px 8px; text-align:center; }
button.size-chip { cursor:pointer; }
.size-chip.is-in-stock { background:#e8f7ed; border-color:#9bd4aa; color:#24753b; }
.size-chip.is-in-stock:hover,.size-chip.is-in-stock.is-selected { border-color:var(--brand); box-shadow:0 0 0 2px rgba(195,76,155,.18); }
.size-chip.is-in-stock.is-selected { background:var(--brand); color:#fff; }
.size-chip.is-out-of-stock { background:#fff0f1; border-color:#efb5bc; color:#b52e3b; cursor:not-allowed; text-decoration:line-through; }
.viklu-quick-add { margin:0 16px 16px; }
.viklu-quick-add__button { margin:0!important; width:100%; }
.viklu-quick-add__button:disabled { background:#d7dce1; border-color:#d7dce1; box-shadow:none; color:#627081; cursor:not-allowed; transform:none; }
.viklu-quick-add__message { color:#24753b; display:block; font-size:.72rem; font-weight:700; min-height:1.2em; padding:6px 2px 0; }
.woocommerce ul.products li.product .button { margin:auto 16px 16px; width:calc(100% - 32px); }
.woocommerce span.onsale { background:var(--orange); border-radius:999px; box-shadow:none; font-size:.7rem; font-weight:850; left:12px; line-height:1; min-height:auto; padding:7px 9px; right:auto; top:12px; }
.product-stock-flag { background:rgba(137,27,47,.94); border:1px solid rgba(255,255,255,.42); border-radius:0 0 0 12px; box-shadow:0 5px 14px rgba(78,17,29,.24); color:#fff; font-size:.69rem; font-weight:900; letter-spacing:.08em; padding:9px 12px; position:absolute; right:0; text-transform:uppercase; top:0; z-index:4; }
.woocommerce div.product { display:grid; gap:clamp(30px,5vw,70px); grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.woocommerce div.product div.images,.woocommerce div.product div.summary { float:none; margin:0; width:auto; }
.woocommerce div.product div.images img { border-radius:14px; }
.woocommerce div.product .product_title { font-size:clamp(2rem,4vw,3.35rem); letter-spacing:-.06em; line-height:1; }
.woocommerce div.product p.price,.woocommerce div.product span.price { color:var(--blue-deep); font-size:1.45rem; font-weight:850; }
.blue-express-promise { align-items:flex-start; background:#edf7ff; border:1px solid #afd5ee; border-radius:11px; color:var(--ink); display:flex; gap:11px; margin:20px 0; padding:14px; }
.blue-express-promise > span { align-items:center; background:#cceaff; border-radius:50%; color:#186d9b; display:flex; flex:0 0 auto; font-weight:900; height:29px; justify-content:center; width:29px; }
.blue-express-promise p { font-size:.82rem; line-height:1.45; margin:0; }
.blue-express-promise strong { display:block; font-size:.87rem; margin-bottom:2px; }
.blue-express-promise--product { border-radius:10px; margin:18px 0; }
.blue-express-promise--cart { margin:0 0 20px; }
.blue-express-promise--checkout { margin:18px 0; }
.woocommerce div.product form.cart { border-top:1px solid var(--line); margin-top:25px; padding-top:22px; }
.woocommerce .quantity .qty,.woocommerce input.input-text,.woocommerce textarea,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea { border:1px solid var(--line); border-radius:8px; min-height:46px; padding:10px 12px; }
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related { grid-column:1/-1; }
.woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom:1px solid var(--line); display:flex; gap:20px; margin:28px 0 25px; padding:0 0 10px; }
.woocommerce div.product .woocommerce-tabs ul.tabs:before,.woocommerce div.product .woocommerce-tabs ul.tabs:after { display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background:transparent; border:0; margin:0; padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li:before,.woocommerce div.product .woocommerce-tabs ul.tabs li:after { display:none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color:var(--muted); padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color:var(--blue); }
.woocommerce-message,.woocommerce-info,.woocommerce-error { background:var(--sky); border:0; border-left:4px solid var(--blue); border-radius:10px; color:var(--ink); }
.woocommerce table.shop_table { border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.woocommerce-cart-form,.cart-collaterals,.woocommerce-checkout-review-order { background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px; }
.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals { width:100%; }
.woocommerce form .form-row label { font-weight:700; }
.woocommerce nav.woocommerce-pagination ul { border:0; display:flex; gap:7px; }
.woocommerce nav.woocommerce-pagination ul li { border:0; }
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span { border:1px solid var(--line); border-radius:8px; color:var(--ink); min-width:38px; }
.woocommerce nav.woocommerce-pagination ul li span.current,.woocommerce nav.woocommerce-pagination ul li a:hover { background:var(--blue); border-color:var(--blue); color:#fff; }
.viklu-infinite-scroll { color:var(--muted); font-size:.86rem; font-weight:750; padding:35px 0 18px; text-align:center; }
.viklu-infinite-scroll span { align-items:center; display:inline-flex; gap:8px; }
.viklu-infinite-scroll.is-loading span:before { animation:viklu-spin .75s linear infinite; border:2px solid var(--rose); border-radius:50%; border-top-color:var(--brand); content:""; height:16px; width:16px; }
.viklu-infinite-scroll.has-error { color:#b52e3b; }
.viklu-infinite-ready .woocommerce nav.woocommerce-pagination { display:none; }
@keyframes viklu-spin { to { transform:rotate(360deg); } }

/* Carro y checkout */
.purchase-flow { background:linear-gradient(115deg,var(--blush),#fffafc 70%,#f4d5e6); border:1px solid #efdbe7; border-radius:var(--radius); margin:0 auto 32px; max-width:980px; padding:clamp(23px,4vw,42px); text-align:center; }
.purchase-flow h1 { font-size:clamp(2rem,4vw,3.25rem); letter-spacing:-.06em; line-height:1; margin:0; }
.purchase-flow p { color:var(--ink-2); margin:12px auto 0; max-width:580px; }
.purchase-flow__steps { display:flex; justify-content:center; list-style:none; margin:27px 0 0; padding:0; }
.purchase-flow__steps li { color:var(--muted); font-size:.78rem; font-weight:800; position:relative; width:min(30%,170px); }
.purchase-flow__steps li:not(:last-child):after { background:#dfc9d7; content:""; height:1px; position:absolute; right:-25%; top:15px; width:50%; }
.purchase-flow__steps span,.purchase-flow__steps a { align-items:center; color:inherit; display:flex; flex-direction:column; gap:7px; }
.purchase-flow__steps b,.purchase-flow__steps span > span { align-items:center; background:#fff; border:1px solid #ddcbd7; border-radius:50%; display:flex; font-size:.75rem; height:31px; justify-content:center; width:31px; }
.purchase-flow__steps .is-current { color:var(--brand-deep); }
.purchase-flow__steps .is-current b { background:var(--brand); border-color:var(--brand); color:#fff; }
.purchase-flow__steps .is-complete { color:var(--ink); }
.purchase-flow__steps .is-complete span { background:#e8f7ed; border-color:#9bd4aa; color:#24753b; }
.woocommerce-cart-form,.cart-collaterals,.woocommerce-checkout-review-order { background:#fff; border:1px solid var(--line); border-radius:14px; padding:clamp(16px,2.5vw,28px); }
.woocommerce table.shop_table { border:0; border-collapse:collapse; border-radius:0; }
.woocommerce table.shop_table th { border-bottom:1px solid var(--line); color:var(--muted); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.woocommerce table.shop_table td { border-color:var(--line); padding:17px 8px; }
.woocommerce-cart-form__cart-item .product-thumbnail img { border-radius:9px; max-width:82px; }
.woocommerce-cart-form__cart-item .product-name a { color:var(--ink); font-weight:800; }
.woocommerce a.remove { color:#bd3c48!important; }
.woocommerce a.remove:hover { background:#bd3c48; }
.woocommerce .cart .button,.woocommerce .cart input.button { border-radius:999px; }
.woocommerce .cart-collaterals .cart_totals { float:none; width:100%; }
.woocommerce .cart-collaterals .cart_totals h2,.woocommerce-checkout-review-order h3 { font-size:1.35rem; letter-spacing:-.035em; margin-top:0; }
form.woocommerce-checkout { align-items:start; display:grid; gap:0 32px; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); }
form.woocommerce-checkout:after { clear:both; content:""; display:block; }
.woocommerce-checkout #customer_details { background:#fff; border:1px solid var(--line); border-radius:14px; float:none; grid-column:1; grid-row:1 / span 2; padding:clamp(18px,2.6vw,30px); width:auto; }
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2 { float:none; width:100%; }
.woocommerce-checkout #customer_details .col-2 { margin-top:28px; }
.woocommerce-checkout #customer_details h3,.woocommerce-checkout #order_review_heading { font-size:1.45rem; letter-spacing:-.04em; margin:0 0 18px; }
.woocommerce-checkout #order_review_heading { grid-column:2; grid-row:1; }
.woocommerce-checkout #order_review { float:none; grid-column:2; grid-row:2; width:auto; }
.woocommerce-checkout-review-order { box-shadow:0 12px 34px rgba(44,52,67,.07); }
.woocommerce-checkout #payment { background:var(--blush); border-radius:10px; }
.woocommerce-checkout #payment div.payment_box { background:#fff; color:var(--ink); }
.woocommerce-checkout #payment div.payment_box:before { border-bottom-color:#fff; }
.woocommerce form .form-row label { color:var(--ink); font-size:.87rem; font-weight:800; }
.woocommerce-checkout .col2-set,.woocommerce-page .woocommerce-checkout .col2-set { float:none!important; margin:0!important; width:auto!important; }
body.woocommerce-checkout .site-main { clear:both; float:none!important; width:100%!important; }
body.woocommerce-checkout .site-main > .container { margin-left:auto!important; margin-right:auto!important; max-width:1240px!important; width:100%!important; }
.woocommerce form.checkout,.woocommerce-page form.checkout,form.woocommerce-checkout { align-items:start; clear:both!important; display:grid!important; float:none!important; gap:0 32px; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); margin-left:0!important; margin-right:0!important; max-width:none!important; width:100%!important; }
.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review { float:none!important; width:auto!important; }
.woocommerce-checkout #customer_details { grid-column:1!important; grid-row:1 / span 2!important; }
.woocommerce-checkout #order_review_heading { grid-column:2!important; grid-row:1!important; }
.woocommerce-checkout #order_review { grid-column:2!important; grid-row:2!important; }
.woocommerce ul.woocommerce-shipping-methods { margin:0; }
.woocommerce ul.woocommerce-shipping-methods li { background:#f8fbfd; border:1px solid #cfe2ec; border-radius:9px; margin:8px 0; padding:11px; }
.woocommerce ul.woocommerce-shipping-methods input { accent-color:var(--brand); }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce .select2-container--default .select2-selection--single { border-color:var(--line); border-radius:9px; min-height:47px; padding:10px 12px; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { line-height:25px; padding-left:0; }
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height:45px; }
.viklu-hidden-country { display:none!important; }
.woocommerce-order-details,.woocommerce-customer-details { background:#fff; border:1px solid var(--line); border-radius:14px; margin-top:24px; padding:24px; }
.woocommerce-checkout + .site-footer,.site-footer { clear:both; }

/* Content and footer */
.entry-header { margin-bottom:26px; }
.entry-title { font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.055em; line-height:1; margin:0; }
.entry-content { max-width:850px; }
.page-main { background:linear-gradient(180deg,var(--blush) 0,transparent 310px); }
.page-hero { max-width:850px; padding:10px 0 31px; }
.page-content { background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 12px 36px rgba(44,52,67,.06); padding:clamp(24px,4vw,55px); }
.page-content .entry-content { max-width:780px; }
body.woocommerce-cart .page-content .entry-content,body.woocommerce-checkout .page-content .entry-content { max-width:none; width:100%; }
/* Mi cuenta: un panel coherente con la experiencia Viklu. */
body.woocommerce-account .page-main { background:linear-gradient(180deg,var(--blush) 0,transparent 440px); }
body.woocommerce-account .page-hero { margin:0 auto; max-width:1110px; padding-bottom:26px; padding-top:17px; }
.viklu-account-page__intro { color:var(--ink-2); font-size:1rem; margin:13px 0 0; max-width:570px; }
body.woocommerce-account .page-content { margin:0 auto; max-width:1110px; padding:clamp(18px,3vw,34px); }
body.woocommerce-account .page-content .entry-content { max-width:none; width:100%; }
body.woocommerce-account .page-content .entry-content > .woocommerce { align-items:start; display:grid!important; gap:clamp(20px,3vw,34px); grid-template-columns:232px minmax(0,1fr)!important; }
body.woocommerce-account .woocommerce:after { display:none; }
body.woocommerce-account .woocommerce-MyAccount-navigation { float:none!important; grid-column:1!important; grid-row:1!important; width:auto!important; }
body.woocommerce-account .woocommerce-MyAccount-content { float:none!important; grid-column:2!important; grid-row:1!important; width:auto!important; }
.woocommerce-MyAccount-navigation { background:var(--ink); border-radius:16px; box-shadow:0 15px 32px rgba(44,52,67,.12); overflow:hidden; padding:11px; }
.woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; }
.woocommerce-MyAccount-navigation li { margin:0; }
.woocommerce-MyAccount-navigation a { align-items:center; border-radius:10px; color:#e7edf0; display:flex; font-size:.88rem; font-weight:750; gap:10px; margin:2px 0; padding:12px 13px; transition:.18s ease; }
.woocommerce-MyAccount-navigation a:before { align-items:center; background:rgba(255,255,255,.1); border-radius:8px; color:#fff; content:"•"; display:flex; flex:0 0 auto; font-size:1rem; height:26px; justify-content:center; width:26px; }
.woocommerce-MyAccount-navigation-link--dashboard a:before { content:"⌂"; }
.woocommerce-MyAccount-navigation-link--orders a:before { content:"◫"; }
.woocommerce-MyAccount-navigation-link--downloads a:before { content:"⇩"; }
.woocommerce-MyAccount-navigation-link--edit-address a:before { content:"⌖"; }
.woocommerce-MyAccount-navigation-link--edit-account a:before { content:"◌"; }
.woocommerce-MyAccount-navigation-link--customer-logout { border-top:1px solid rgba(255,255,255,.14); margin-top:8px!important; padding-top:8px; }
.woocommerce-MyAccount-navigation-link--customer-logout a { color:#ffd5e9; }
.woocommerce-MyAccount-navigation-link--customer-logout a:before { background:rgba(195,76,155,.38); content:"→"; }
.woocommerce-MyAccount-navigation a:hover,.woocommerce-MyAccount-navigation .is-active a { background:var(--brand); color:#fff; }
.woocommerce-MyAccount-navigation .is-active a:before { background:rgba(255,255,255,.22); }
.woocommerce-MyAccount-content { min-width:0; }
.woocommerce-MyAccount-content > *:first-child { margin-top:0; }
.woocommerce-MyAccount-content > h2,.woocommerce-MyAccount-content > h3 { font-size:clamp(1.45rem,2.5vw,2rem); letter-spacing:-.045em; margin:0 0 20px; }
.woocommerce-MyAccount-content .woocommerce-Message,.woocommerce-MyAccount-content .woocommerce-info { margin-top:0; }
.viklu-account-dashboard { background:linear-gradient(135deg,#fff 0,#fff7fb 100%); border:1px solid var(--line); border-radius:16px; box-shadow:0 15px 38px rgba(44,52,67,.07); overflow:hidden; }
.viklu-account-dashboard__welcome { background:linear-gradient(120deg,var(--ink),#3e485b); color:#fff; padding:clamp(24px,4vw,40px); position:relative; }
.viklu-account-dashboard__welcome:after { border:1px solid rgba(255,255,255,.2); border-radius:50%; content:""; height:220px; position:absolute; right:-74px; top:-100px; width:220px; }
.viklu-account-dashboard__welcome > * { position:relative; z-index:1; }
.viklu-account-dashboard__eyebrow { color:#f7b9dc; display:block; font-size:.72rem; font-weight:900; letter-spacing:.13em; margin-bottom:10px; text-transform:uppercase; }
.viklu-account-dashboard h2 { font-size:clamp(1.7rem,3.2vw,2.45rem); letter-spacing:-.05em; line-height:1; margin:0; }
.viklu-account-dashboard__welcome p { color:#e3e8ee; margin:12px 0 0; max-width:540px; }
.viklu-account-dashboard__quick-links { display:grid; gap:12px; grid-template-columns:repeat(3,minmax(0,1fr)); padding:18px; }
.viklu-account-dashboard__quick-link { background:#fff; border:1px solid var(--line); border-radius:12px; color:var(--ink); display:block; min-height:118px; padding:18px; transition:.18s ease; }
.viklu-account-dashboard__quick-link:hover { border-color:#d893bc; box-shadow:0 10px 22px rgba(195,76,155,.1); color:var(--ink); transform:translateY(-2px); }
.viklu-account-dashboard__quick-link b { display:block; font-size:.96rem; margin-bottom:7px; }
.viklu-account-dashboard__quick-link span { color:var(--muted); display:block; font-size:.8rem; line-height:1.4; }
.viklu-account-dashboard__quick-link:after { color:var(--brand); content:"→"; display:block; font-size:1.1rem; font-weight:800; margin-top:8px; }
body.viklu-account-dashboard-endpoint .woocommerce-MyAccount-content > p { display:none; }
.woocommerce-MyAccount-content form,.woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address,.woocommerce-MyAccount-content .woocommerce-orders-table { background:#fff; border:1px solid var(--line); border-radius:14px; padding:clamp(17px,2.4vw,25px); }
.woocommerce-MyAccount-content .woocommerce-Addresses { display:grid; gap:18px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address { width:auto!important; }
.woocommerce-MyAccount-content .woocommerce-Address-title { align-items:center; display:flex; gap:12px; justify-content:space-between; }
.woocommerce-MyAccount-content .woocommerce-Address-title h3 { font-size:1.1rem; margin:0; }
.woocommerce-MyAccount-content .woocommerce-Address-title .edit { font-size:.82rem; font-weight:800; }
.page-content .wp-block-image img { border-radius:12px; }
.page-content .wp-block-group { margin-bottom:1.5rem; }
.entry-content a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
.entry-content h2 { font-size:1.65rem; letter-spacing:-.035em; margin-top:2em; }
.site-footer { background:var(--ink); color:#cbd9df; }
.footer-main { display:grid; gap:45px; grid-template-columns:1.35fr repeat(3,1fr); padding-bottom:56px; padding-top:66px; }
.footer-brand { color:#fff; font-size:1.6rem; font-weight:900; letter-spacing:-.07em; }
.footer-description { font-size:.9rem; margin:17px 0 0; max-width:300px; }
.footer-brand-seal { align-items:center; display:flex; gap:12px; margin-top:22px; }
.footer-brand-seal__image { align-items:center; background:#fff; border:1px solid rgba(195,76,155,.48); border-radius:18px 18px 18px 5px; box-shadow:0 10px 24px rgba(0,0,0,.18); display:flex; height:76px; justify-content:center; overflow:hidden; padding:6px; width:76px; }
.footer-brand-seal__image img { display:block; height:100%; object-fit:contain; width:100%; }
.footer-brand-seal strong,.footer-brand-seal small { display:block; }
.footer-brand-seal strong { color:#fff; font-size:.82rem; letter-spacing:.02em; }
.footer-brand-seal small { color:#e7b2d1; font-size:.72rem; margin-top:3px; }
.footer-title { color:#fff; font-size:.77rem; font-weight:850; letter-spacing:.12em; margin:7px 0 17px; text-transform:uppercase; }
.footer-menu { list-style:none; margin:0; padding:0; }
.footer-menu li { margin:0 0 10px; }
.footer-menu a,.footer-contact { font-size:.9rem; }
.footer-menu a:hover,.footer-contact a:hover { color:#fff; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.14); color:#91a4ad; font-size:.78rem; padding:18px 0; }
.footer-bottom .container { align-items:center; display:flex; flex-wrap:wrap; gap:7px 18px; justify-content:space-between; }
.footer-credit a { color:#dce5ea; font-weight:750; }
.footer-credit a:hover { color:#fff; }
.whatsapp-float { align-items:center; background:#25d366; border-radius:999px; bottom:20px; box-shadow:0 10px 26px rgba(0,0,0,.18); color:#fff; display:flex; font-size:.85rem; font-weight:800; gap:8px; padding:13px 17px; position:fixed; right:20px; z-index:30; }

@media (max-width:980px) { .header-main { grid-template-columns:auto 1fr auto; } .primary-nav { background:var(--paper); border-bottom:1px solid var(--line); display:none; left:0; padding:18px 24px; position:absolute; right:0; top:100%; } .primary-nav.is-open { display:block; } .primary-nav ul { align-items:stretch; flex-direction:column; gap:3px; } .primary-nav a { display:block; padding:10px 0; } .nav-toggle { display:block; } .header-actions .account-link { display:none; } .category-grid,.woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); } .footer-main { grid-template-columns:1.4fr 1fr 1fr; } .footer-main > :first-child { grid-column:1/-1; } }
@media (max-width:900px) { .woocommerce form.checkout,.woocommerce-page form.checkout,form.woocommerce-checkout { display:block!important; } .woocommerce-checkout #customer_details,.woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review { float:none!important; width:100%!important; } .woocommerce-checkout #order_review_heading { margin-top:28px; } }
@media (max-width:680px) { .container { padding-left:18px; padding-right:18px; } .topbar .container { justify-content:center; } .topbar span { display:none; } .header-main { gap:10px; min-height:68px; } .brand { max-width:110px; } .brand__text { font-size:1.35rem; } .header-actions { gap:5px; } .header-search-toggle { padding:8px 4px; } .header-search-toggle__label { display:none; } .header-search-toggle__icon { font-size:1.45rem; } .cart-link { padding:8px 10px; } .cart-link__label { display:none; } .viklu-search__panel { border-radius:0 0 22px 22px; padding:24px 18px; width:100%; } .viklu-search__form { grid-template-columns:1fr; } .viklu-search__form button { min-height:48px; } .viklu-search__item a { grid-template-columns:50px 1fr; } .viklu-search__image { height:50px; width:50px; } .viklu-search__product-meta { grid-column:2; text-align:left; } .hero { padding:62px 0; } .hero__grid,.woocommerce div.product,.size-finder-layout { grid-template-columns:1fr; } .hero__visual { min-height:0; } .hero__visual--desktop { display:none; } .hero__visual--mobile { display:block; aspect-ratio:4/5; border-radius:24px 24px 58px 24px; } .hero__visual--mobile img { object-fit:contain; } .hero-carousel__controls { bottom:14px; right:14px; } .hero-carousel__arrow { height:31px; width:31px; } .hero__card { bottom:19px; left:19px; } .trust-bar .container { grid-template-columns:1fr; } .trust-item { border-bottom:1px solid var(--line); border-right:0; min-height:68px; } .section { padding:58px 0; } .section-heading { align-items:start; flex-direction:column; gap:13px; } .category-grid,.woocommerce ul.products,.benefits { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .category-card__body { padding:13px; } .category-card__body strong { font-size:.84rem; } .benefit { padding:19px; } .benefit h3 { font-size:1rem; } .benefit p { font-size:.86rem; } .cta-band .container { align-items:start; flex-direction:column; } .footer-main { gap:28px; grid-template-columns:1fr 1fr; } .footer-main > :first-child { grid-column:1/-1; } .catalog-intro { border-radius:13px; margin-left:-3px; margin-right:-3px; padding:25px 20px; } .catalog-categories { flex-wrap:nowrap; margin-left:-2px; overflow:auto; padding:2px; } .catalog-category { flex:0 0 auto; } .catalog-toolbar { align-items:stretch; flex-direction:column; gap:8px; } .woocommerce .woocommerce-result-count { margin:0; padding:0; } .woocommerce .woocommerce-ordering { float:none; margin:0; } .woocommerce .woocommerce-ordering select { width:100%; } .woocommerce ul.products { margin-left:18px; margin-right:18px; width:calc(100% - 36px); } .woocommerce ul.products li.product { width:100%!important; } .woocommerce ul.products li.product .product-card__category { font-size:.7rem; margin:13px 13px -4px; } .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:.9rem; margin:13px 13px 7px; } .woocommerce ul.products li.product .price { font-size:.94rem; margin:0 13px 13px; } .product-size-stock { gap:5px; margin:0 13px 13px; padding-top:11px; } .product-size-stock__label { display:none; } .size-chip { font-size:.66rem; min-width:27px; padding:6px; } .viklu-quick-add { margin:0 13px 13px; } .woocommerce ul.products li.product .button { font-size:.8rem; margin: auto 13px 13px; min-height:42px; padding:7px; width:calc(100% - 26px); } .viklu-quick-add { margin:0 13px 13px; } .viklu-quick-add__button { margin:0!important; width:100%!important; } .purchase-flow { border-radius:13px; padding:25px 18px; } .purchase-flow__steps li { font-size:.68rem; width:33.333%; } .purchase-flow__steps li:not(:last-child):after { right:-29%; width:58%; } .woocommerce table.shop_table .product-thumbnail { display:none; } .woocommerce table.shop_table td,.woocommerce table.shop_table th { padding:12px 5px; } .woocommerce-cart-form,.cart-collaterals,.woocommerce-checkout-review-order { padding:15px; } .woocommerce-checkout #customer_details { padding:16px; } .woocommerce div.product .woocommerce-tabs ul.tabs { gap:14px; overflow:auto; } .whatsapp-float { bottom:14px; right:14px; } .size-finder-layout { gap:28px; } .size-finder { border-radius:20px 20px 42px 20px; padding:23px 18px; } .size-finder__inputs { grid-template-columns:1fr; gap:12px; } }

@media (max-width:480px) { .woocommerce ul.products { grid-template-columns:1fr; } .woocommerce ul.products li.product .product-card__category { font-size:.72rem; margin:15px 16px -5px; } .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:1rem; margin:15px 16px 8px; min-height:0; } .woocommerce ul.products li.product .price { font-size:1rem; margin:0 16px 15px; } .product-size-stock { margin:0 16px 16px; padding-top:13px; } .product-size-stock__label { display:block; } .size-chip { font-size:.72rem; min-width:30px; padding:7px 9px; } .viklu-quick-add { margin:0 16px 16px; } .woocommerce ul.products li.product .button { font-size:.88rem; margin: auto 16px 16px; min-height:46px; width:calc(100% - 32px); } }

@media (max-width:680px) { .viklu-category-filter { flex-wrap:nowrap; margin-left:-2px; overflow-x:auto; padding:2px; } .viklu-category-filter > span,.viklu-category-filter a { flex:0 0 auto; } }
@media (max-width:680px) { .viklu-catalog-search { display:block; margin:17px 0; padding:15px; } .viklu-catalog-search__form { margin-top:13px; } .viklu-catalog-search__results { left:8px; right:8px; } .viklu-catalog-search__results .viklu-search__item a { grid-template-columns:44px 1fr; } .viklu-catalog-search__results .viklu-search__image { height:44px; width:44px; } .viklu-catalog-search__results .viklu-search__product-meta { grid-column:2; text-align:left; } }

@media (max-width:780px) { body.woocommerce-account .page-content .entry-content > .woocommerce { display:block!important; } body.woocommerce-account .woocommerce-MyAccount-navigation,body.woocommerce-account .woocommerce-MyAccount-content { display:block; } .woocommerce-MyAccount-navigation { margin-bottom:18px; } .woocommerce-MyAccount-navigation ul { display:grid; gap:4px; grid-template-columns:repeat(2,minmax(0,1fr)); } .woocommerce-MyAccount-navigation a { font-size:.8rem; min-height:49px; padding:10px; } .woocommerce-MyAccount-navigation-link--customer-logout { border-top:0; margin-top:0!important; padding-top:0; } .viklu-account-dashboard__quick-links { grid-template-columns:1fr; } .viklu-account-dashboard__quick-link { min-height:0; } .woocommerce-MyAccount-content .woocommerce-Addresses { grid-template-columns:1fr; } }
@media (max-width:480px) { body.woocommerce-account .page-hero { padding-bottom:20px; } .viklu-account-page__intro { font-size:.92rem; } .woocommerce-MyAccount-navigation { border-radius:13px; padding:7px; } .woocommerce-MyAccount-navigation ul { grid-template-columns:1fr; } .woocommerce-MyAccount-navigation a { min-height:43px; } .viklu-account-dashboard__welcome { padding:24px 20px; } .viklu-account-dashboard__quick-links { padding:12px; } .woocommerce-MyAccount-content form,.woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address,.woocommerce-MyAccount-content .woocommerce-orders-table { padding:16px; } }

/* Catalog and product detail refinements. */
.viklu-category-filter-mobile { display:none; }
.viklu-product-eyebrow { align-items:center; color:var(--brand); display:flex; flex-wrap:wrap; font-size:.72rem; font-weight:850; gap:8px; letter-spacing:.1em; margin:0 0 13px; text-transform:uppercase; }
.viklu-product-eyebrow span:last-child { color:var(--muted); font-size:.68rem; font-weight:750; letter-spacing:.04em; }
.woocommerce div.product div.images { border:1px solid var(--line); border-radius:20px; overflow:hidden; }
.woocommerce div.product div.images img { border-radius:0; }
.woocommerce div.product div.summary { align-self:start; background:linear-gradient(145deg,#fff 0%,#fff 70%,#fdf3f9 100%); border:1px solid var(--line); border-radius:22px; box-shadow:0 18px 48px rgba(38,55,74,.09); padding:clamp(24px,3vw,38px); }
.woocommerce div.product .product_title { margin:0 0 14px; }
.woocommerce div.product .woocommerce-product-details__short-description { color:var(--muted); line-height:1.65; margin-top:22px; }
.viklu-product-reassurance { border-top:1px solid var(--line); display:grid; gap:10px; list-style:none; margin:20px 0 0; padding:18px 0 0; }
.viklu-product-reassurance li { align-items:center; color:var(--ink); display:grid; font-size:.84rem; font-weight:750; gap:10px; grid-template-columns:28px 1fr; }
.viklu-product-reassurance li:before { align-items:center; background:#f9e7f2; border-radius:9px; color:var(--brand); content:"✓"; display:flex; font-size:.84rem; font-weight:900; height:28px; justify-content:center; width:28px; }

@media (max-width:680px) {
  .viklu-category-filter { display:none; }
  .viklu-category-filter-mobile { background:linear-gradient(135deg,#fff 0%,#fdf5fa 100%); border:1px solid var(--line); border-radius:18px; display:block; margin:0 auto 18px; max-width:1340px; overflow:hidden; width:calc(100% - 36px); }
  .viklu-category-filter-mobile summary { align-items:center; cursor:pointer; display:grid; grid-template-columns:minmax(0,1fr) auto 18px; list-style:none; min-height:60px; padding:0 16px; }
  .viklu-category-filter-mobile summary::-webkit-details-marker { display:none; }
  .viklu-category-filter-mobile summary span { color:var(--muted); font-size:.74rem; font-weight:800; }
  .viklu-category-filter-mobile summary strong { color:var(--ink); font-size:.88rem; margin-right:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .viklu-category-filter-mobile summary i { border:solid var(--brand); border-width:0 2px 2px 0; display:block; height:7px; transform:rotate(45deg); transition:transform .18s ease; width:7px; }
  .viklu-category-filter-mobile[open] summary { border-bottom:1px solid var(--line); }
  .viklu-category-filter-mobile[open] summary i { margin-top:5px; transform:rotate(225deg); }
  .viklu-category-filter-mobile__options { display:grid; gap:8px; grid-template-columns:repeat(2,minmax(0,1fr)); padding:13px 14px 15px; }
  .viklu-category-filter-mobile__options a { background:#fff; border:1px solid var(--line); border-radius:11px; color:var(--ink); font-size:.76rem; font-weight:800; min-height:42px; padding:11px 10px; text-align:center; }
  .viklu-category-filter-mobile__options a.is-current { background:var(--brand); border-color:var(--brand); color:#fff; }

  .woocommerce div.product { gap:0; }
  .woocommerce div.product div.images { border-radius:20px 20px 0 0; }
  .woocommerce div.product div.summary { border-radius:0 0 22px 22px; border-top:0; box-shadow:0 16px 36px rgba(38,55,74,.09); padding:23px 18px 25px; }
  .viklu-product-eyebrow { font-size:.68rem; margin-bottom:10px; }
  .woocommerce div.product .product_title { font-size:clamp(1.62rem,7.8vw,2.15rem); line-height:1.04; margin-bottom:11px; }
  .woocommerce div.product p.price,.woocommerce div.product span.price { font-size:1.28rem; }
  .woocommerce div.product .woocommerce-product-details__short-description { font-size:.94rem; line-height:1.62; margin-top:18px; }
  .blue-express-promise--product { margin:18px 0!important; }
  .viklu-product-reassurance { gap:9px; margin-top:18px; padding-top:16px; }
  .viklu-product-reassurance li { font-size:.8rem; }
  .woocommerce div.product form.cart { margin-top:20px; padding-top:18px; }
  .woocommerce div.product form.variations_form .variations select { min-height:48px; width:100%; }
}

/* La creatividad de campaña también se respeta en escritorio: no se cubre
   con texto ni rótulos y la navegación se separa en una base inferior. */
@media (min-width:681px) {
	.hero__visual--desktop.hero-carousel.has-controls {
		margin-bottom:66px;
		overflow:visible;
	}
	.hero__visual--desktop .hero-carousel__slides {
		border-radius:inherit;
		overflow:hidden;
	}
	.hero__visual--desktop.hero-carousel.has-image:after,
	.hero__visual--desktop .hero-carousel__header,
	.hero__visual--desktop .hero__card {
		display:none;
	}
	.hero__visual--desktop .hero-carousel__controls {
		background:rgba(255,255,255,.97);
		border:1px solid var(--line);
		border-radius:999px;
		bottom:-54px;
		box-shadow:0 14px 28px rgba(44,52,67,.16);
		left:50%;
		padding:7px;
		right:auto;
		transform:translateX(-50%);
		z-index:5;
	}
	.hero__visual--desktop .hero-carousel__arrow {
		background:var(--blush);
		color:var(--ink);
	}
	.hero__visual--desktop .hero-carousel__dots {
		background:transparent;
		border:0;
		padding:9px 7px;
	}
	.hero__visual--desktop .hero-carousel__dot {
		background:#d4b5c8;
	}
	.hero__visual--desktop .hero-carousel__dot.is-active {
		background:var(--brand);
	}
}

/* Keep the purchase checkpoints compact and readable on narrow product pages. */
@media (max-width:680px) {
  .woocommerce div.product div.summary .viklu-product-reassurance { display:flex!important; flex-direction:column; gap:9px; width:100%; }
  .woocommerce div.product div.summary .viklu-product-reassurance li { align-items:center; display:flex!important; gap:10px; line-height:1.35; min-width:0; width:100%; }
  .woocommerce div.product div.summary .viklu-product-reassurance li:before { flex:0 0 28px; }
}

/* Marcas de servicio: se usa la imagen oficial cargada en el configurador o una alternativa tipográfica. */
.viklu-shipping-brand-mark { align-items:center; background:#fff; border:1px solid #afd5ee; border-radius:0 0 11px 11px; border-top:0; display:flex; justify-content:flex-end; margin:-20px 0 20px; min-height:43px; padding:8px 13px; }
.viklu-service-brand { align-items:center; display:inline-flex; font-family:inherit; line-height:1; white-space:nowrap; }
.viklu-service-brand--image { max-width:156px; }
.viklu-service-brand__image { display:block; height:28px; max-width:156px; object-fit:contain; width:auto; }
.viklu-service-brand--shipping { color:#124f99; font-size:.95rem; font-weight:850; gap:3px; letter-spacing:-.035em; }
.viklu-service-brand--shipping b { color:#0c87ca; font-weight:900; }
.viklu-service-brand--shipping strong { color:#154e96; font-weight:900; }
.viklu-service-brand--payment { align-items:flex-start; color:#6c1d83; flex-direction:column; font-size:.93rem; font-weight:900; letter-spacing:-.045em; }
.viklu-service-brand--payment small { color:#6e7280; font-size:.53rem; font-weight:800; letter-spacing:.02em; margin-top:2px; text-transform:uppercase; }
.viklu-checkout-service-marks { display:grid; gap:8px; grid-template-columns:repeat(2,minmax(0,1fr)); margin:16px 0 4px; }
.viklu-checkout-service-marks > div { align-items:center; background:#fff; border:1px solid var(--line); border-radius:10px; display:flex; justify-content:space-between; min-height:55px; padding:10px 11px; }
.viklu-checkout-service-marks > div > span { color:var(--muted); font-size:.63rem; font-weight:800; line-height:1.25; max-width:62px; text-transform:uppercase; }

@media (max-width:680px) {
  .viklu-checkout-service-marks { grid-template-columns:1fr; }
  .viklu-shipping-brand-mark { margin:-18px 0 18px; }
}

/* Los tres hitos se muestran como una franja compacta: antes el pseudo elemento,
   el número y el texto creaban tres celdas y comprimían el texto. */
.woocommerce div.product div.summary .viklu-product-reassurance { gap:8px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.woocommerce div.product div.summary .viklu-product-reassurance li { background:#fff; border:1px solid var(--line); border-radius:12px; display:grid; gap:8px; grid-template-columns:30px minmax(0,1fr); line-height:1.25; min-height:58px; padding:10px; }
.woocommerce div.product div.summary .viklu-product-reassurance li:before { display:none; }
.woocommerce div.product div.summary .viklu-product-reassurance li > span { align-items:center; background:#f9e7f2; border-radius:9px; color:var(--brand); display:flex; font-size:.67rem; font-weight:900; height:30px; justify-content:center; width:30px; }

@media (max-width:680px) {
  .woocommerce div.product div.summary .viklu-product-reassurance { display:flex!important; flex-direction:column; gap:9px; }
  .woocommerce div.product div.summary .viklu-product-reassurance li { align-items:center; display:flex!important; min-height:52px; padding:10px 12px; }
  .woocommerce div.product div.summary .viklu-product-reassurance li > span { flex:0 0 30px; }
}

/* Ficha editorial para el contenido de producto: evita párrafos perdidos a lo ancho de la pantalla. */
.woocommerce div.product .woocommerce-tabs,.woocommerce div.product .related { margin-left:auto; margin-right:auto; max-width:1340px; width:100%; }
.woocommerce div.product .woocommerce-tabs { margin-top:52px; }
.woocommerce div.product .woocommerce-Tabs-panel { background:linear-gradient(145deg,#fff 0%,#fff 76%,#fdf6fa 100%); border:1px solid var(--line); border-radius:22px; box-shadow:0 18px 46px rgba(38,55,74,.07); padding:clamp(27px,4vw,52px); }
.woocommerce div.product .woocommerce-Tabs-panel > h2 { color:var(--ink); font-size:clamp(1.6rem,2.6vw,2.2rem); letter-spacing:-.045em; line-height:1.05; margin:0 0 20px; }
.woocommerce div.product .woocommerce-Tabs-panel p { color:var(--muted); font-size:1rem; line-height:1.8; margin:0 0 17px; max-width:840px; }
.woocommerce div.product .woocommerce-Tabs-panel p strong { color:var(--ink); display:inline-block; font-size:.83rem; letter-spacing:.035em; margin-top:13px; text-transform:uppercase; }
.woocommerce div.product .woocommerce-Tabs-panel ul { display:grid; gap:10px 14px; grid-template-columns:repeat(2,minmax(0,1fr)); list-style:none; margin:8px 0 27px; max-width:1050px; padding:0; }
.woocommerce div.product .woocommerce-Tabs-panel li { background:rgba(255,255,255,.82); border:1px solid var(--line); border-radius:12px; color:var(--ink); font-size:.92rem; line-height:1.5; padding:13px 15px 13px 40px; position:relative; }
.woocommerce div.product .woocommerce-Tabs-panel li:before { align-items:center; background:#f9e7f2; border-radius:50%; color:var(--brand); content:"✓"; display:flex; font-size:.72rem; font-weight:900; height:19px; justify-content:center; left:14px; position:absolute; top:15px; width:19px; }
.woocommerce div.product .woocommerce-Tabs-panel li strong { color:var(--ink); }
.woocommerce div.product .related { margin-top:55px; }
.woocommerce div.product .related > h2 { font-size:clamp(1.65rem,2.8vw,2.35rem); letter-spacing:-.05em; margin-bottom:25px; }

/* En pantallas grandes el producto conserva protagonismo, sin convertir la foto en una pared. */
@media (min-width:681px) {
  .woocommerce div.product { box-sizing:border-box; margin-left:auto; margin-right:auto; max-width:1460px; padding-left:24px; padding-right:24px; width:100%; }
  .woocommerce div.product .woocommerce-tabs { box-sizing:border-box; grid-column:1/-1!important; }
  .woocommerce div.product .woocommerce-Tabs-panel { box-sizing:border-box; clear:both; display:block; float:none!important; width:100%!important; }
}

@media (max-width:680px) {
  .woocommerce div.product { padding-left:0; padding-right:0; }
  .woocommerce div.product .woocommerce-tabs { margin-top:35px; }
  .woocommerce div.product .woocommerce-Tabs-panel { border-radius:18px; padding:25px 18px; }
  .woocommerce div.product .woocommerce-Tabs-panel p { font-size:.94rem; line-height:1.72; }
  .woocommerce div.product .woocommerce-Tabs-panel ul { grid-template-columns:1fr; margin-bottom:22px; }
  .woocommerce div.product .woocommerce-Tabs-panel li { font-size:.87rem; }
  .woocommerce div.product .related { margin-top:40px; }
}

/* Selector de tallas Viklu: conserva el campo nativo para WooCommerce, pero lo
   presenta como chips claros y táctiles en todas las pantallas. */
.woocommerce div.product form.variations_form .variations { border-bottom:1px solid var(--line); border-top:1px solid var(--line); margin:25px 0 18px; width:100%; }
.woocommerce div.product form.variations_form .variations tr { display:block; padding:17px 0; }
.woocommerce div.product form.variations_form .variations th.label,
.woocommerce div.product form.variations_form .variations td.label,
.woocommerce div.product form.variations_form .variations td.value { display:block; padding:0; text-align:left; width:100%; }
.woocommerce div.product form.variations_form .variations th.label label,
.woocommerce div.product form.variations_form .variations td.label label { color:var(--ink); display:block; font-size:.79rem; font-weight:900; letter-spacing:.045em; margin:0 0 11px; text-transform:uppercase; }
.woocommerce div.product form.variations_form .variations td.value { position:relative; }
.woocommerce div.product form.variations_form .reset_variations { color:var(--brand); display:inline-block; font-size:.78rem; font-weight:800; margin-top:12px; }
.viklu-native-size-select { border:0!important; clip:rect(0 0 0 0)!important; height:1px!important; margin:-1px!important; overflow:hidden!important; padding:0!important; position:absolute!important; white-space:nowrap!important; width:1px!important; }

/* Ficha de producto: la lectura debe ocupar el contenedor completo en escritorio,
   sin que WooCommerce deje el contenido editorial comprimido a la izquierda. */
.single-product .woocommerce div.product .woocommerce-tabs { box-sizing:border-box!important; clear:both!important; float:none!important; grid-column:1 / -1!important; max-width:1340px!important; width:100%!important; }
.single-product .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel,
.single-product .woocommerce div.product .woocommerce-tabs .panel { box-sizing:border-box!important; clear:both!important; float:none!important; max-width:none!important; padding:clamp(28px,4vw,54px)!important; width:100%!important; }
.single-product .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel > h2 { max-width:1080px; }
.single-product .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel > p { max-width:1040px; }

@media (min-width:1050px) {
  .single-product .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel > ul { grid-template-columns:repeat(3,minmax(0,1fr)); max-width:none; }
}

/* Las imágenes configuradas por el administrador mantienen su proporción y
   reemplazan el SVG de respaldo dentro de la franja de confianza. */
.trust-icon.trust-icon--image { background:#fff; overflow:hidden; padding:0; }
.trust-icon.trust-icon--image .trust-icon__image { display:block!important; height:100%!important; max-height:none!important; max-width:none!important; object-fit:contain!important; width:100%!important; }
.viklu-single-size-picker { background:linear-gradient(145deg,#fff 0%,#fff8fc 100%); border:1px solid var(--line); border-radius:16px; box-shadow:0 10px 25px rgba(38,55,74,.055); padding:17px; }
.viklu-single-size-picker__heading { align-items:center; display:flex; gap:12px; justify-content:space-between; margin-bottom:13px; }
.viklu-single-size-picker__heading span { color:var(--ink); font-size:.88rem; font-weight:900; }
.viklu-single-size-picker__heading small { background:#e8f7ed; border:1px solid #a8dcb8; border-radius:99px; color:#177342; font-size:.66rem; font-weight:850; padding:5px 9px; white-space:nowrap; }
.viklu-single-size-picker__options { display:flex; flex-wrap:wrap; gap:9px; }
.viklu-single-size-picker__option { align-items:center; background:#e8f7ed; border:1px solid #9edab0; border-radius:11px; color:#14713f; cursor:pointer; display:inline-flex; font-family:inherit; font-size:.82rem; font-weight:900; justify-content:center; min-height:43px; min-width:48px; padding:8px 11px; transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.viklu-single-size-picker__option:hover:not(:disabled) { background:#d8f2e1; box-shadow:0 6px 14px rgba(30,126,76,.13); transform:translateY(-1px); }
.viklu-single-size-picker__option:focus-visible { box-shadow:0 0 0 3px rgba(197,70,154,.25); outline:0; }
.viklu-single-size-picker__option.is-selected { background:var(--brand); border-color:var(--brand); box-shadow:0 7px 15px rgba(197,70,154,.25); color:#fff; }
.viklu-single-size-picker__option.is-unavailable,
.viklu-single-size-picker__option:disabled { background:#fff0f1; border-color:#efb5bc; color:#c83647; cursor:not-allowed; opacity:.82; text-decoration:line-through; }
.viklu-single-size-picker__message { color:var(--muted); font-size:.77rem; line-height:1.45; margin:12px 0 0; }
.viklu-single-size-picker__message strong { color:#177342; }

@media (min-width:681px) and (max-width:980px) {
  .viklu-single-size-picker { padding:16px; }
  .viklu-single-size-picker__option { min-width:50px; }
}

@media (max-width:680px) {
  .woocommerce div.product form.variations_form .variations { margin:21px 0 16px; }
  .woocommerce div.product form.variations_form .variations tr { padding:14px 0; }
  .viklu-single-size-picker { border-radius:14px; padding:14px; }
  .viklu-single-size-picker__heading { margin-bottom:11px; }
  .viklu-single-size-picker__heading span { font-size:.84rem; }
  .viklu-single-size-picker__heading small { font-size:.61rem; padding:4px 7px; }
  .viklu-single-size-picker__options { gap:7px; }
  .viklu-single-size-picker__option { border-radius:10px; font-size:.78rem; min-height:41px; min-width:43px; padding:7px 9px; }
  .viklu-single-size-picker__message { font-size:.73rem; margin-top:10px; }
}

/* Carrusel móvil: las campañas verticales conservan protagonismo y la tarjeta
   editorial no tapa el diseño central de la imagen. */
@media (max-width:680px) {
  .hero { padding:42px 0 0; }
  .hero__grid { gap:30px; }
  .hero__visual--mobile { aspect-ratio:4 / 5; background:#fff; border-radius:22px 22px 48px 22px; box-shadow:0 18px 36px rgba(44,52,67,.16); }
  .hero__visual--mobile .hero-carousel__slide { object-fit:cover; object-position:center center; }
  .hero__visual--mobile.hero-carousel.has-image:after { background:linear-gradient(180deg,rgba(17,24,35,0) 48%,rgba(17,24,35,.38) 100%); }
  .hero__visual--mobile .hero-carousel__header { font-size:.59rem; left:14px; letter-spacing:.09em; padding:7px 8px 7px 10px; top:14px; }
  .hero__visual--mobile .hero-carousel__counter { margin-left:7px; padding:4px 6px; }
  .hero__visual--mobile .hero-carousel__controls { bottom:auto; gap:5px; right:12px; top:14px; }
  .hero__visual--mobile .hero-carousel__arrow { font-size:1.3rem; height:29px; width:29px; }
  .hero__visual--mobile .hero-carousel__dots { gap:4px; padding:7px 8px; }
  .hero__visual--mobile .hero-carousel__dot { width:10px; }
  .hero__visual--mobile .hero-carousel__dot.is-active { width:20px; }
  .hero__visual--mobile .hero__card { bottom:14px; left:14px; max-width:none; padding:13px 15px; right:14px; }
  .hero__visual--mobile .hero__card strong { font-size:1.16rem; line-height:1.05; }
  .hero__visual--mobile .hero__card span { font-size:.78rem; line-height:1.42; margin-top:5px; }
}

@media (max-width:420px) {
	.hero__visual--mobile .hero__card { padding:12px 14px; }
	.hero__visual--mobile .hero__card span { display:none; }
}

/* En móvil, las piezas del carrusel se muestran limpias: el texto editorial
   vive fuera de la campaña y la navegación sólo aparece bajo la imagen. */
@media (max-width:680px) {
	.hero__visual--mobile.hero-carousel.has-controls {
		margin-bottom:58px;
		overflow:visible;
	}
	.hero__visual--mobile .hero-carousel__slides {
		border-radius:inherit;
		overflow:hidden;
	}
	.hero__visual--mobile.hero-carousel.has-image:after,
	.hero__visual--mobile .hero-carousel__header,
	.hero__visual--mobile .hero__card {
		display:none;
	}
	.hero__visual--mobile .hero-carousel__controls {
		background:rgba(255,255,255,.97);
		border:1px solid var(--line);
		border-radius:999px;
		bottom:-47px;
		box-shadow:0 12px 24px rgba(44,52,67,.14);
		left:50%;
		padding:6px;
		right:auto;
		top:auto;
		transform:translateX(-50%);
		z-index:5;
	}
	.hero__visual--mobile .hero-carousel__arrow {
		background:var(--blush);
		color:var(--ink);
		font-size:1.25rem;
		height:32px;
		width:32px;
	}
	.hero__visual--mobile .hero-carousel__dots {
		background:transparent;
		border:0;
		gap:5px;
		padding:7px 5px;
	}
	.hero__visual--mobile .hero-carousel__dot {
		background:#d4b5c8;
		height:5px;
		width:11px;
	}
	.hero__visual--mobile .hero-carousel__dot.is-active {
		background:var(--brand);
		width:24px;
	}
}
