/*
Theme Name: Nuviko
Version: 0.2.0
Description: Tienda cercana, colorida y liviana para Nuviko.
*/
:root{--purple:#7137d8;--ink:#252135;--mint:#20c9c3;--yellow:#ffd449;--line:#e9e4f0;--soft:#f7f4fb}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:#fff;line-height:1.55}a{color:var(--purple);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #0b817d;outline-offset:4px}.wrap-site{max-width:1240px;margin:auto;padding:0 32px}.announcement{background:var(--purple);color:white;text-align:center;font-size:12px;letter-spacing:.04em;padding:9px}.announcement a{color:#fff}.site-header{border-bottom:1px solid var(--line)}.header-main{display:flex;align-items:center;gap:38px;padding-top:16px;padding-bottom:16px}.wordmark{font-size:36px;font-weight:900;letter-spacing:-2px;line-height:1}.wordmark span{display:block;color:#686174;font-size:10px;font-weight:400;letter-spacing:.3px;margin-top:6px}.search-form{display:flex;flex:1;max-width:540px;background:var(--soft);border:1px solid var(--line);border-radius:30px;overflow:hidden}.search-form input{background:transparent;border:0;min-width:0;width:100%;padding:12px 20px}.search-form button{border:0;background:transparent;padding:0 20px;color:var(--purple);cursor:pointer}.header-links{display:flex;gap:23px;font-size:13px;margin-left:auto}.nav{display:flex;gap:30px;align-items:center;padding-top:12px;padding-bottom:13px;font-size:13px}.nav a{color:var(--ink)}.nav .local-label{margin-left:auto;color:#666;font-size:12px}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:center;min-height:480px;background:#f2ebfd;border-radius:28px;margin-top:26px;overflow:hidden;padding:55px 60px;position:relative}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:2px;font-weight:700;color:var(--purple)}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(38px,4.6vw,62px);line-height:1.04;letter-spacing:-2.5px;max-width:570px;margin:18px 0 22px}.hero h1 em{color:var(--purple);font-style:normal}.hero p{max-width:400px;font-size:15px;color:#655b75}.btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{display:inline-block;background:var(--purple);color:white;border:0;border-radius:30px;padding:14px 24px;font-size:14px;font-weight:600;cursor:pointer}.btn:hover{text-decoration:none;background:#5926b1}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:310px}.brand-card{background:#fff;border-radius:48% 48% 38% 38%;padding:10px;width:300px;height:310px;transform:rotate(5deg);box-shadow:15px 18px 0 #20c9c3}.brand-card img{width:100%;height:100%;object-fit:contain;transform:rotate(-5deg);border-radius:100px}.hero-badge{position:absolute;bottom:5px;left:0;background:var(--yellow);border-radius:40px;padding:14px 25px;font-weight:700;transform:rotate(-7deg)}.spark{position:absolute;right:0;top:2px;font-size:54px;color:var(--purple)}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-bottom:1px solid var(--line);padding:28px 0;margin-bottom:45px}.benefit{display:flex;gap:14px;align-items:center;font-size:13px}.benefit .symbol{display:grid;place-items:center;background:#f2ebfd;width:42px;height:42px;border-radius:14px;font-size:20px;color:var(--purple)}.benefit small{display:block;color:#6b6377}.section-head{display:flex;align-items:end;justify-content:space-between;margin:30px 0 22px}.section-head h2{font-size:27px;letter-spacing:-.7px;margin:4px 0}.section-head a{font-size:13px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:50px}.category-card{border-radius:18px;padding:24px;background:#f3edfd;color:var(--ink);min-height:120px;display:flex;flex-direction:column;justify-content:space-between;font-weight:600}.category-card:nth-child(2){background:#e1f8f5}.category-card:nth-child(3){background:#fff5ce}.category-card:nth-child(4){background:#ffede9}.category-card small{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:400}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.product-card{position:relative}.product-image{background:#faf9fc;border:1px solid var(--line);border-radius:19px;overflow:hidden;display:block;aspect-ratio:1}.product-image img{width:100%;height:100%;object-fit:contain;padding:16px;mix-blend-mode:multiply}.product-card .category{font-size:10px;color:#756982;text-transform:uppercase;letter-spacing:1px;margin-top:14px}.product-card h3{font-size:14px;line-height:1.45;margin:6px 0 10px;font-weight:500;min-height:40px}.product-card h3 a{color:var(--ink)}.product-card .price{font-size:20px;font-weight:700;color:var(--ink)}.product-card .fine{font-size:11px;color:#6c6376;margin-top:5px}.product-card .round-link{float:right;border:1px solid var(--line);border-radius:50%;width:33px;height:33px;text-align:center;font-size:20px}.editorial{background:var(--yellow);margin:60px 0;border-radius:24px;padding:36px 42px;display:flex;align-items:center;justify-content:space-between;gap:20px}.editorial h2{font-size:29px;letter-spacing:-1px;margin-bottom:8px}.editorial p{margin:0;font-size:14px}.site-footer{background:var(--soft);border-top:1px solid var(--line);padding:40px 0 20px;margin-top:55px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:50px;font-size:13px}.footer-grid h3{font-size:13px}.footer-grid a{display:block;margin-bottom:10px}.footer-bottom{border-top:1px solid var(--line);margin-top:30px;padding-top:18px;font-size:11px;color:#766c83}.content{padding-top:40px;min-height:450px}.woocommerce ul.products li.product{border:1px solid var(--line);border-radius:18px;padding:16px}.woocommerce ul.products li.product .price{color:var(--ink);font-size:19px}.woocommerce div.product p.price{color:var(--purple)}.woocommerce div.product .woocommerce-product-gallery img{max-height:500px;object-fit:contain}.woocommerce .quantity .qty{padding:9px;width:70px;border:1px solid var(--line);border-radius:6px}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{padding:12px;border:1px solid #c8c0d2;border-radius:8px}.woocommerce-message,.woocommerce-info{border-top-color:var(--purple)}.nv-stock{font-size:13px;color:#6f637f}.sandbox-note{font-size:12px;padding:12px 20px;background:#fff5ce;border-radius:10px;margin:20px 0}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;background:#fff;z-index:100;padding:10px}
@media(max-width:780px){.wrap-site{padding-left:20px;padding-right:20px}.header-main{gap:15px;flex-wrap:wrap}.wordmark{font-size:31px}.search-form{order:3;flex-basis:100%;max-width:none}.header-links{gap:15px}.nav{gap:20px;overflow:auto;white-space:nowrap}.nav .local-label{display:none}.hero{grid-template-columns:1fr;padding:32px 25px;gap:12px;margin-top:18px;min-height:0}.hero h1{font-size:44px}.hero-art{min-height:245px}.brand-card{width:210px;height:220px}.hero-badge{left:12%;font-size:12px}.spark{right:10%;font-size:40px}.benefits{gap:20px;grid-template-columns:1fr;padding:24px 0;margin-bottom:30px}.category-grid{grid-template-columns:repeat(2,1fr);gap:12px}.category-card{padding:17px;font-size:13px;min-height:105px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px}.product-card .price{font-size:18px}.section-head h2{font-size:23px}.editorial{padding:27px;display:block;margin:40px 0}.editorial .btn{margin-top:20px}.footer-grid{grid-template-columns:1fr;gap:22px}.woocommerce ul.products li.product{padding:10px}.woocommerce div.product div.images img{max-height:350px}.announcement{font-size:10px}.header-links a{font-size:12px}}

/* Storefront editorial and identity refinements. */
.wordmark { display:inline-flex; flex-direction:column; align-items:center; flex-shrink:0; line-height:1; }
.wordmark:hover { text-decoration:none; }
.wordmark-art { display:block; width:152px; height:auto; mix-blend-mode:multiply; }
.wordmark .wordmark-slogan { display:block; margin-top:7px; color:#62596e; font-size:10px; letter-spacing:0; font-weight:400; }
.footer-grid .wordmark { display:inline-flex; margin-bottom:12px; }
.brand-card { display:flex; align-items:center; justify-content:center; }
.brand-card > .wordmark { width:88%; transform:rotate(-5deg); }
.brand-card .wordmark-art { width:100%; height:auto; }
.category-card { min-height:140px; gap:22px; border:1px solid transparent; transition:border-color .15s ease; }
.category-card:hover { border-color:var(--purple); text-decoration:none; }
.category-card > span { font-size:17px; line-height:1.45; font-weight:600; text-wrap:pretty; }
.product-card { display:flex; flex-direction:column; }
.product-card .category { min-height:2.8em; margin-top:14px; font-size:12px; line-height:1.4; font-weight:500; text-transform:none; letter-spacing:0; color:#6b6079; }
.product-card h3 { font-size:15px; font-weight:600; line-height:1.5; margin:6px 0 14px; min-height:3em; text-wrap:pretty; overflow-wrap:anywhere; }
.product-card .round-link { float:none; align-self:flex-end; margin-bottom:-33px; position:relative; z-index:1; }
.product-card .price { margin-top:auto; padding-right:40px; }
.product-card .fine { font-size:12px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:16px; font-weight:600; line-height:1.5; text-transform:none; }
.woocommerce div.product .product_title { font-size:clamp(26px,3vw,38px); line-height:1.2; letter-spacing:-.6px; text-wrap:pretty; }
.woocommerce .woocommerce-breadcrumb { font-size:13px; line-height:1.5; }
@media(max-width:780px) {
    .wordmark-art { width:132px; }
    .category-card { min-height:134px; gap:16px; }
    .category-card > span { font-size:15px; }
    .product-card h3 { font-size:14px; }
    .product-card .fine { font-size:11px; }
    .brand-card > .wordmark { width:90%; }
}
@media(prefers-reduced-motion:reduce) { .category-card { transition:none; } }
.product-buyline { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; }
.product-card .product-buyline .price { margin:0; padding:0; }
.product-card .product-buyline .round-link { flex-shrink:0; margin:0; align-self:center; }
/* Keep catalog cards aligned even when supplier photos have different proportions. */
.woocommerce ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; clear:both; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { width:100% !important; margin:0 !important; float:none; display:flex; flex-direction:column; min-width:0; }
.woocommerce ul.products li.product .woocommerce-loop-product__link { display:flex; flex-direction:column; flex:1; color:var(--ink); }
.woocommerce ul.products li.product a img { width:100%; height:auto; aspect-ratio:1; object-fit:contain; background:#faf9fc; border-radius:10px; }
.woocommerce ul.products li.product .price { margin-top:auto; padding-top:10px; }
.woocommerce ul.products li.product .button { align-self:flex-start; margin-top:14px; font-size:13px; line-height:1.4; }
.woocommerce .woocommerce-ordering select { max-width:100%; border:1px solid var(--line); padding:10px 12px; border-radius:10px; color:var(--ink); background:#fff; font-size:14px; }
@media(max-width:780px) {
    .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 14px; }
    .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:14px; }
    .woocommerce ul.products li.product .button { padding:11px 14px; }
}
.category-card > .category-label { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:10px; }
.nv-menu-trigger, .nv-all-categories { font:inherit; border:0; background:none; color:var(--purple); cursor:pointer; padding:10px 0; }
.nv-menu-trigger { display:inline-flex; align-items:center; gap:9px; font-size:14px; font-weight:600; }
.nv-menu-trigger > span { font-size:21px; line-height:1; }
.nv-all-categories { font-size:13px; text-align:right; }
.nv-menu-open { overflow:hidden; }
.nv-category-dialog { padding:0; border:0; margin:0; width:min(460px,94vw); max-width:none; height:100dvh; max-height:100dvh; background:#fff; color:var(--ink); box-shadow:10px 0 60px #25213525; }
.nv-category-dialog[open] { display:flex; flex-direction:column; }
.nv-category-dialog::backdrop { background:#25213580; }
.nv-menu-head { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:26px 24px 20px; border-bottom:1px solid var(--line); }
.nv-menu-head .eyebrow { font-size:10px; letter-spacing:1.5px; }
.nv-menu-head h2 { font-size:24px; line-height:1.2; margin:8px 0 0; letter-spacing:-.5px; }
.nv-menu-close { width:40px; height:40px; flex:none; border:0; border-radius:50%; background:var(--soft); color:var(--ink); font-size:26px; cursor:pointer; }
.nv-menu-body { padding:18px 24px 24px; overflow-y:auto; overscroll-behavior:contain; flex:1; }
.nv-shop-all { display:flex; justify-content:space-between; padding:16px; background:var(--purple); border-radius:12px; color:white; font-size:14px; font-weight:600; margin-bottom:14px; }
.nv-category-list { padding:0; margin:0; list-style:none; }
.nv-category-list > li { border-bottom:1px solid var(--line); }
.nv-category-list a, .nv-category-list summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 8px; color:var(--ink); font-size:14px; text-decoration:none; cursor:pointer; }
.nv-category-list summary { list-style:none; font-weight:600; }
.nv-category-list summary::-webkit-details-marker { display:none; }
.nv-category-list summary span { color:var(--purple); font-size:20px; }
.nv-category-list details[open] > summary { color:var(--purple); }
.nv-category-list details[open] > summary span { transform:rotate(45deg); }
.nv-category-list a:hover, .nv-category-list summary:hover { background:var(--soft); border-radius:8px; }
.nv-category-list .nv-category-list { margin:0 0 12px 14px; padding-left:10px; border-left:2px solid #e5d9fa; }
.nv-category-list .nv-category-list li { border:0; }
.nv-category-list .nv-category-list a { padding:10px 8px; font-size:13px; }
.nv-category-list a.nv-category-all { color:var(--purple); font-size:12px; padding:10px 8px; }
.nv-category-list [aria-current="page"] { color:var(--purple); background:var(--soft); font-weight:700; }
.nv-menu-foot { padding:15px 24px; border-top:1px solid var(--line); font-size:12px; color:#6b6079; }
/* Original editorial artwork: navigation scenes, never product photography. */
.hero.nv-discovery-hero { grid-template-columns:46% 54%; padding:0; gap:0; overflow:hidden; min-height:440px; background:#f0e9fc; border:1px solid #e9def9; }
.nv-hero-copy { padding:42px 0 42px 42px; position:relative; z-index:1; }
.nv-discovery-hero h1 { font-size:clamp(34px,3.4vw,48px); line-height:1.08; letter-spacing:-1.8px; margin:20px 0; }
.nv-discovery-hero p { max-width:360px; font-size:15px; }
.nv-hero-copy .btn { display:inline-flex; gap:22px; align-items:center; margin-top:6px; }
.nv-hero-signoff { display:block; font-size:11px; color:#6b6079; margin-top:24px; letter-spacing:.5px; }
.nv-hero-scene { position:relative; align-self:stretch; min-width:0; }
.nv-hero-scene > img { width:100%; height:100%; display:block; object-fit:cover; object-position:50% 50%; }
.nv-art-sticker { position:absolute; bottom:24px; right:24px; padding:13px 19px; background:var(--yellow); color:var(--ink); font-size:15px; line-height:1.2; font-weight:700; border-radius:15px; transform:rotate(-6deg); box-shadow:0 5px 20px #4f306519; }
.nv-art-sticker span { position:absolute; top:-16px; right:4px; font-size:30px; color:var(--purple); }
.nv-visual-categories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.nv-visual-category { display:flex; flex-direction:column; overflow:hidden; color:var(--ink); border-radius:22px; background:#fff3e7; border:1px solid #efdfd3; }
.nv-visual-category:hover { text-decoration:none; }
.nv-scene-tech { background:#eee6ff; border-color:#e3d6f8; }
.nv-scene-outdoor { background:#e5f6ed; border-color:#d2ebdf; }
.nv-category-art { display:block; aspect-ratio:1.25; overflow:hidden; }
.nv-category-art img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 55%; transition:transform .25s ease; }
.nv-visual-category:hover img { transform:scale(1.035); }
.nv-category-caption { display:flex; flex-direction:column; padding:24px; flex:1; }
.nv-category-caption small { font-size:12px; margin-bottom:10px; color:#5e526a; }
.nv-category-caption strong { font-size:25px; line-height:1.15; letter-spacing:-.6px; max-width:250px; }
.nv-category-cta { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:22px; font-size:13px; font-weight:600; }
.nv-category-cta > span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#ffffffb3; font-size:19px; }
.nv-art-caption { font-size:11px; color:#766b80; margin:14px 0 40px; }
@media(max-width:780px) {
    .hero.nv-discovery-hero { grid-template-columns:1fr; margin-top:18px; }
    .nv-hero-copy { padding:28px 25px; }
    .nv-discovery-hero h1 { font-size:38px; letter-spacing:-1.4px; }
    .nv-hero-signoff { margin-top:18px; }
    .nv-hero-scene { aspect-ratio:1.5; }
    .nv-art-sticker { font-size:12px; padding:10px 14px; bottom:16px; right:16px; }
    .nv-visual-categories { grid-template-columns:1fr; gap:16px; }
    .nv-visual-category { display:grid; grid-template-columns:43% 57%; border-radius:18px; }
    .nv-category-art { aspect-ratio:auto; min-height:200px; height:100%; }
    .nv-category-art img { object-fit:cover; }
    .nv-category-caption { padding:18px 15px; }
    .nv-category-caption strong { font-size:21px; }
    .nv-category-caption small { font-size:11px; }
    .nv-category-cta { font-size:11px; gap:5px; padding-top:16px; }
}
@media(prefers-reduced-motion:reduce) { .nv-category-art img { transition:none; } .nv-visual-category:hover img { transform:none; } }
.search-form:focus-within { border-color:var(--purple); box-shadow:0 0 0 3px #7137d817; }
.search-form button { background:var(--purple); color:#fff; padding:10px 18px; font-size:13px; font-weight:600; cursor:pointer; }
.woocommerce ul.products li.product .nv-card-category { display:block; min-height:2.8em; line-height:1.4; color:#6b6079; font-size:12px; margin:0 0 6px; }
.footer-grid { grid-template-columns:1.2fr .8fr 1.2fr 1fr; gap:35px; }
.footer-grid h3 { font-size:15px; margin:0 0 18px; }
.nv-footer-location { display:inline-block; color:#6b6079; font-size:12px; margin-top:12px; }
.nv-footer-menu { display:block; padding:0; margin:0 0 10px; color:var(--purple); background:none; border:0; cursor:pointer; font:inherit; }
.nv-hours { display:grid; grid-template-columns:1fr auto; gap:5px 12px; margin:14px 0 8px; font-size:12px; }
.nv-hours dd { margin:0; font-weight:600; }
.footer-grid .nv-footer-more { margin-top:15px; }
.nv-contact-pending, .footer-grid .nv-contact-link { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:9px 0; border-bottom:1px solid var(--line); margin:0; }
.nv-contact-pending { color:#6b6079; }
.nv-contact-pending small { font-size:10px; padding:2px 6px; border-radius:8px; background:#eae3f4; }
.footer-bottom { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
@media(max-width:780px) { .footer-grid { grid-template-columns:1fr; gap:30px; } .nv-hours { max-width:300px; } .search-form input { padding:12px; font-size:13px; } .nv-contact-pending, .footer-grid .nv-contact-link { max-width:320px; } }
@media(max-width:780px) { #categorias .section-head { align-items:flex-start; gap:12px; flex-direction:column; } .nv-all-categories { padding:0; text-align:left; } }
.nv-payments { display:block; color:var(--ink); font-weight:400; line-height:1.45; }
.nv-one-label { display:block; font-size:12px; color:#62596e; margin-bottom:2px; }
.nv-one-price { display:block; font-size:25px; font-weight:750; letter-spacing:-.6px; color:var(--purple); }
.nv-plans { display:grid; gap:9px; border-top:1px solid var(--line); margin-top:10px; padding-top:10px; }
.nv-plan { display:block; min-height:44px; font-size:13px; color:#40364e; }
.nv-plan > span, .nv-plan small { display:block; }
.nv-plan small { font-size:11px; color:#6b6079; margin-top:2px; }
.nv-finance-note { display:block; font-size:10px; color:#6b6079; margin-top:9px; }
/* Compact financing in cards; full totals remain on the product detail. */
:is(.product-card, .woocommerce ul.products li.product) .nv-plans { gap:5px; }
:is(.product-card, .woocommerce ul.products li.product) .nv-plan { min-height:0; }
:is(.product-card, .woocommerce ul.products li.product) .nv-plan > span { white-space:nowrap; }
:is(.product-card, .woocommerce ul.products li.product) .nv-plan strong { display:inline; }
:is(.product-card, .woocommerce ul.products li.product) .nv-plan small { display:none; }
@media(max-width:640px) {
    :is(.product-card, .woocommerce ul.products li.product) .nv-plan { font-size:10px; }
}
.product-card .product-buyline { align-items:flex-start; }
.product-card .product-buyline .price { flex:1; min-width:0; }
.product-card .product-buyline .round-link { align-self:flex-start; margin-top:20px; }
.nv-editorial-badge { display:inline-block; align-self:flex-start; width:fit-content; padding:5px 9px; border-radius:20px; background:#fff0ac; color:#55400b; font-size:11px; font-weight:600; line-height:1.4; margin-bottom:10px; }
.product-card, .woocommerce ul.products li.product { position:relative; }
.product-card > .nv-editorial-badge, .woocommerce ul.products li.product .nv-editorial-badge { position:absolute; top:10px; left:10px; z-index:1; pointer-events:none; }
.woocommerce div.product .summary .nv-payments { max-width:370px; }
.woocommerce div.product .summary .nv-one-price { font-size:32px; }
.woocommerce div.product .summary .nv-plan { font-size:15px; }
.product-grid, .woocommerce ul.products { grid-auto-rows:1fr; align-items:stretch; }
.product-card { min-width:0; height:100%; }
.product-card .product-image, .woocommerce ul.products li.product .nv-product-media {
    display:block; position:relative; width:100%; aspect-ratio:1 / 1;
    flex:none; overflow:hidden; background:#faf9fc; border-radius:18px;
}
.product-card .product-image img, .woocommerce ul.products li.product .nv-product-media img {
    position:absolute; inset:0; display:block; width:100%; height:100%;
    min-width:0; min-height:0; max-height:none; margin:0; padding:16px;
    object-fit:contain; object-position:center;
}
.woocommerce ul.products li.product .nv-product-media { margin-bottom:14px; }
@media(max-width:780px) {
    .nv-one-price { font-size:21px; }
    .nv-plan { font-size:12px; }
    .product-card .product-buyline { flex-wrap:wrap; }
    .product-card .product-buyline .round-link { display:none; }
    .nv-editorial-badge { font-size:10px; padding:4px 7px; }
}

/* Unified, locally hosted typography and light discovery interactions. */
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-latin-variable.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
:root{--nv-font:Manrope,Arial,sans-serif}
body{font-family:var(--nv-font);font-weight:400;line-height:1.6}
h1,h2,h3,h4,h5,h6,button,input,select,textarea,.woocommerce,.woocommerce-page{font-family:var(--nv-font)}
h1,h2{letter-spacing:-.045em;font-weight:800}h3{letter-spacing:-.02em;font-weight:700}
.price{font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.nv-icon{width:22px;height:22px;flex:none;vertical-align:middle}
.header-links a,.nv-menu-trigger{display:inline-flex;align-items:center;gap:8px}
.search-form button{display:grid;place-items:center;min-width:46px;min-height:42px}
.benefit .symbol{display:grid;place-items:center}.benefit .nv-icon{width:27px;height:27px}
.nv-announcement{display:flex;align-items:center;padding:0;text-align:left;min-height:38px;overflow:hidden}
.nv-ticker-window{overflow:hidden;flex:1;min-width:0}
.nv-ticker-track{display:flex;width:max-content}
.nv-ticker-group{display:flex;align-items:center;flex:none;justify-content:space-around;min-width:100vw;gap:48px;padding:8px 24px;font-size:12px;font-weight:600;letter-spacing:.02em}
.nv-ticker-group>span{white-space:nowrap}.nv-ticker-star{margin-left:48px;color:#ffd449}
.nv-announcement.is-ready .nv-ticker-track{animation:nv-ticker 38s linear infinite}
.nv-announcement:hover .nv-ticker-track,.nv-announcement:focus-within .nv-ticker-track,.nv-announcement.is-paused .nv-ticker-track{animation-play-state:paused}
.nv-ticker-toggle{align-self:stretch;width:40px;flex:none;background:transparent;color:inherit;border:0;border-left:1px solid #ffffff40;cursor:pointer;font-size:17px}
.nv-ticker-toggle[hidden],.nv-carousel-controls[hidden]{display:none}
@keyframes nv-ticker{to{transform:translateX(-50%)}}
.nv-carousel-controls{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin:-12px 0 18px}
.nv-carousel-controls>span{margin-right:auto;color:#736786;font-size:12px}
.nv-carousel-controls button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #e7def3;border-radius:50%;background:#fff;color:#7137d8;cursor:pointer}
.nv-carousel-controls button:hover:not(:disabled){background:#f3edff;border-color:#7137d8}
.nv-carousel-controls button:disabled{opacity:.35;cursor:default}
.product-grid.nv-product-carousel{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 66px)/4);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:2px;overscroll-behavior-x:contain;padding:4px 2px 18px;scrollbar-width:thin;scrollbar-color:#c9b5ec #f5f0fc}
.nv-product-carousel>.product-card{scroll-snap-align:start;height:auto}
.nv-product-carousel:focus-visible,.nv-carousel-controls button:focus-visible,.nv-ticker-toggle:focus-visible{outline:3px solid #20c9c3;outline-offset:3px}
@media(max-width:900px){.header-main{gap:20px}.header-links{gap:14px}.header-links a{font-size:12px}.product-grid.nv-product-carousel{grid-auto-columns:calc((100% - 44px)/3)}}
@media(max-width:640px){.product-grid.nv-product-carousel{gap:14px;grid-auto-columns:calc((100% - 14px)/2)}.nv-ticker-group{gap:28px}.nv-ticker-star{margin-left:28px}.header-links .nv-icon{width:18px;height:18px}.nv-carousel-controls{margin-top:0}.nv-carousel-controls>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.nv-announcement.is-ready .nv-ticker-track{animation:none}.nv-ticker-group{min-width:0;flex-wrap:wrap;justify-content:center;gap:4px 18px;white-space:normal}.nv-ticker-track{width:100%}.nv-ticker-group[aria-hidden],.nv-ticker-star,.nv-ticker-toggle{display:none}.nv-ticker-group>span{white-space:normal}.nv-product-carousel{scroll-behavior:auto}}
@media(max-width:640px){.site-header .nav{flex-wrap:wrap;overflow:visible;gap:12px 18px;padding-top:14px;padding-bottom:14px}.site-header .nav>a,.site-header .nv-menu-trigger{font-size:12px}.site-header .nav .nv-icon{width:18px;height:18px}}
.nv-card-stock{display:block;color:#756982;font-size:11px;font-weight:600;line-height:1.5;min-height:33px;margin:0 0 8px}.nv-card-stock.is-available{color:#23704d}.nv-card-stock>span{font-size:9px;margin-right:4px}
/* Purchase controls shared by home, catalog, search and related products. */
.nv-card-purchase{display:flex;flex-direction:column;gap:10px;margin:16px 0 0;width:100%}
.nv-card-quantity{display:flex;width:100%;min-height:42px;border:1px solid #dcd2e9;border-radius:12px;overflow:hidden;background:#fff}
.nv-card-quantity button{flex:0 0 42px;border:0;background:transparent;color:#7137d8;font-size:21px;cursor:pointer}
.nv-card-quantity button[hidden]{display:none}
.nv-card-quantity input{min-width:0;width:100%;text-align:center;border:0;background:transparent;color:#252135;padding:8px;font:inherit;appearance:textfield;-moz-appearance:textfield}
.nv-card-quantity input::-webkit-inner-spin-button,.nv-card-quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.nv-card-purchase .nv-card-add{display:block;width:100%;text-align:center;padding:12px 8px;font-size:13px;line-height:1.4;min-height:44px;margin:0}
.nv-card-purchase button:disabled{opacity:.45;cursor:not-allowed}
.nv-card-details{font-size:11px;text-align:center}
@media(max-width:640px){.nv-card-purchase .nv-card-add{font-size:12px}.nv-card-quantity button{flex-basis:36px}}
/* Product-title uppercase trial: presentation only, original catalog data preserved. */
.product-card h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title,
.woocommerce td.product-name > a,
.woocommerce-mini-cart-item > a:not(.remove),
.wc-block-components-product-name,
.wc-block-grid__product-title{ text-transform:uppercase; }
.nv-card-sku{display:block;font-size:11px;line-height:1.5;font-weight:400;color:#736786;margin:0 0 8px;overflow-wrap:anywhere;text-transform:none;letter-spacing:.02em}
.nv-card-meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 12px;min-width:0}
.nv-card-meta .nv-card-sku,.nv-card-meta .nv-card-stock{margin:0;min-height:0;min-width:0;line-height:1.5}
.nv-card-meta .nv-card-sku{flex:1;overflow-wrap:anywhere}
.nv-card-meta .nv-card-stock{flex:0 1 auto;text-align:right;max-width:55%}
@media(max-width:640px){.nv-card-meta{gap:5px}.nv-card-meta .nv-card-sku,.nv-card-meta .nv-card-stock{font-size:10px}}
/* Keep SKU and availability together with a subtle divider. */
.nv-card-meta{justify-content:flex-start;gap:8px}
.nv-card-meta .nv-card-sku{flex:0 1 auto}
.nv-card-meta .nv-card-stock{flex:0 1 auto;text-align:left;border-left:1px solid #cfc5dc;padding-left:8px}
.nv-card-meta .nv-card-stock>span{display:none}
/* Expressive brand line and actionable announcement strip. */
.wordmark .wordmark-slogan{font-family:var(--nv-font);font-size:11px;font-weight:800;font-style:italic;letter-spacing:-.3px;color:var(--purple);line-height:1.5;transform:rotate(-2deg);text-decoration:underline;text-decoration-color:#ffd449;text-decoration-thickness:3px;text-underline-offset:3px;margin-top:9px}
.nv-ticker-cta{display:inline-flex;gap:12px;align-items:center;min-height:28px;color:#fff;text-decoration:none}
.nv-ticker-cta strong{font-weight:800}.nv-ticker-action{font-size:11px;color:#fff0a6;text-decoration:underline;text-underline-offset:3px}
.nv-ticker-cta:hover{text-decoration:none}.nv-ticker-cta:hover .nv-ticker-action{color:#fff}
.nv-ticker-cta:focus-visible{outline:2px solid #ffd449;outline-offset:3px;border-radius:3px}
@media(max-width:640px){.nv-ticker-cta{gap:9px}.nv-ticker-group{font-size:12px}.nv-ticker-action{font-size:11px}.wordmark .wordmark-slogan{font-size:10px}}
@media(prefers-reduced-motion:reduce){.nv-ticker-cta{flex-wrap:wrap;justify-content:center;gap:2px 10px}}
.nv-footer-brand .wordmark{align-items:flex-start;margin-bottom:24px}
.nv-footer-brand .wordmark-art{width:174px}
.nv-footer-brand .wordmark-slogan{font-size:12px;margin-top:10px}
.nv-footer-brand>p{max-width:240px;margin-bottom:12px;color:#62596e}
.nv-account-welcome{padding:28px 32px;background:#f3edff;border:1px solid #e8ddf7;border-radius:22px;margin-bottom:30px}
.nv-account-welcome h2{margin:6px 0 10px;font-size:28px}.nv-account-welcome p{margin-bottom:12px;color:#62596e}.nv-account-pending{font-size:13px}.nv-account-social{margin:20px 0}.nv-account-divider{font-size:13px}
.woocommerce-account #customer_login h2{font-size:23px}.woocommerce-account #customer_login form{border-color:#e8ddf7;border-radius:18px;background:#fff;padding:24px}
@media(max-width:640px){.nv-account-welcome{padding:22px}.nv-account-welcome h2{font-size:24px}}
/* Product reviews: native WooCommerce behavior, cohesive Nuviko presentation. */
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin-bottom:26px;border-bottom:1px solid var(--line);overflow:visible}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.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{border:0;background:transparent;border-radius:12px 12px 0 0;margin:0 8px 0 0;padding:0 18px}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#f2ebfd;border-bottom:3px solid var(--purple)}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:13px 0;color:#62596e;font-weight:700}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--purple)}
.woocommerce #reviews{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:28px;align-items:start;margin-bottom:48px}
.woocommerce #reviews #comments{background:#f7f4fb;border:1px solid var(--line);border-radius:22px;padding:28px;min-width:0}
.woocommerce #reviews #comments h2{font-size:23px;margin:0 0 20px;line-height:1.35}
.woocommerce #reviews .woocommerce-noreviews{font-size:14px;color:#736786;margin:0;line-height:1.7}
.woocommerce #reviews #review_form_wrapper{padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff;min-width:0}
.woocommerce #reviews .comment-reply-title{display:block;font-size:24px;font-weight:800;line-height:1.3;letter-spacing:-.035em;margin-bottom:10px}
.woocommerce #review_form #respond form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.woocommerce #review_form #respond p{margin:0}
.woocommerce #review_form #respond .comment-notes{font-size:12px;color:#736786;line-height:1.7}
.woocommerce #reviews .comment-notes,.woocommerce #reviews .comment-form-rating,.woocommerce #reviews .comment-form-comment,.woocommerce #reviews .comment-form-cookies-consent,.woocommerce #reviews .form-submit,.woocommerce #reviews .logged-in-as{grid-column:1/-1}
.woocommerce #review_form #respond label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--ink)}
.woocommerce #review_form #respond input[type="text"],.woocommerce #review_form #respond input[type="email"],.woocommerce #review_form #respond textarea,.woocommerce #review_form #respond select{display:block;box-sizing:border-box;width:100%;max-width:100%;padding:12px 14px;border:1px solid #d8cde7;border-radius:12px;background:#fcfaff;color:var(--ink);font:inherit;font-size:14px;line-height:1.6;transition:border-color .15s,box-shadow .15s}
.woocommerce #review_form #respond textarea{height:auto;min-height:150px;resize:vertical}
.woocommerce #review_form #respond textarea::placeholder{color:#81768f}
.woocommerce #review_form #respond input:focus,.woocommerce #review_form #respond textarea:focus,.woocommerce #review_form #respond select:focus{border-color:var(--purple);outline:2px solid #7137d830;outline-offset:2px}
.woocommerce #reviews p.stars{font-size:26px;line-height:1.5;margin:0}
.woocommerce #reviews p.stars a{width:1.35em;height:1.5em;color:var(--purple);margin-right:3px}
.woocommerce #review_form #respond .comment-form-cookies-consent{display:flex;align-items:flex-start;gap:10px}
.woocommerce #review_form #respond .comment-form-cookies-consent label{font-size:12px;font-weight:400;line-height:1.6;margin:0;color:#736786}
.woocommerce #review_form #respond input[type="checkbox"]{width:17px;height:17px;flex:none;margin:2px 0 0;accent-color:var(--purple)}
.woocommerce #review_form #respond .form-submit input{border-radius:30px;padding:14px 24px;background:var(--purple);color:#fff;font-family:var(--nv-font);font-size:14px;min-height:46px}
.woocommerce #reviews #comments ol.commentlist{padding:0;margin:0}
.woocommerce #reviews #comments ol.commentlist li .comment-text{border-color:#e2d8ed;border-radius:14px;background:#fff;padding:16px}
.woocommerce #reviews>.clear{display:none}
@media(max-width:780px){.woocommerce #reviews{grid-template-columns:1fr;gap:18px}.woocommerce #reviews #comments,.woocommerce #reviews #review_form_wrapper{padding:22px}.woocommerce #reviews .comment-reply-title{font-size:22px}}
@media(max-width:480px){.woocommerce #review_form #respond form{grid-template-columns:1fr}.woocommerce #review_form #respond .form-submit input{width:100%}}
/* Live product suggestions, preserving normal search submission. */
.site-header .search-form{position:relative;overflow:visible}
.search-form>button{border-radius:0 30px 30px 0}
.nv-search-suggestions{position:absolute;left:0;right:0;top:calc(100% + 10px);z-index:100;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 35px #25213520;padding:8px;max-height:65vh;overflow:auto}
.nv-search-suggestions[hidden]{display:none}
.nv-search-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:12px;color:var(--ink);font-size:13px;line-height:1.4}
.nv-search-item:hover,.nv-search-item:focus-visible{background:#f3edff;text-decoration:none;outline:2px solid var(--purple);outline-offset:-2px}
.nv-search-item img{width:54px;height:54px;object-fit:contain;border-radius:8px;background:#faf9fc;flex:none}
.nv-search-item>span{min-width:0;overflow-wrap:anywhere}.nv-search-item strong{display:block;color:var(--purple);margin-top:4px;font-size:14px}
.nv-search-suggestions p{padding:14px;font-size:13px;margin:0;color:#62596e}
.nv-search-all{display:block;border-top:1px solid var(--line);padding:14px 10px 8px;text-align:center;font-size:13px;font-weight:700}
/* Keep text and purchase controls still; emphasize only the product image. */
/* Cart coupon: readable input and aligned action, including narrow screens. */
.woocommerce table.cart td.actions .coupon { display:flex; align-items:center; gap:10px; max-width:100%; }
.woocommerce table.cart td.actions .coupon .input-text {
    float:none; width:250px; max-width:100%; min-width:0; margin:0;
    min-height:46px; padding:11px 15px; border:1px solid #d8cde7;
    border-radius:12px; background:#fcfaff; color:var(--ink); font:inherit; font-size:14px; box-sizing:border-box;
}
.woocommerce table.cart td.actions .coupon .input-text::placeholder { color:#81768f; opacity:1; }
.woocommerce table.cart td.actions .coupon .input-text:focus { border-color:var(--purple); outline:2px solid #7137d830; outline-offset:2px; }
.woocommerce table.cart td.actions .coupon .button { float:none; width:auto; min-height:46px; margin:0; padding:12px 22px; white-space:nowrap; }
@media(max-width:768px) {
    .woocommerce table.cart td.actions .coupon { float:none; width:100%; padding-bottom:14px; }
    .woocommerce table.cart td.actions .coupon .input-text { flex:1; width:0; }
}
@media(max-width:420px) {
    .woocommerce table.cart td.actions .coupon { flex-direction:column; align-items:stretch; }
    .woocommerce table.cart td.actions .coupon .input-text { flex:auto; width:100%; }
    .woocommerce table.cart td.actions .coupon .button { width:100%; }
}
.product-card { border:1px solid var(--line); border-radius:19px; padding:16px; background:#fff; }
.product-card .product-image { border:0; }
.product-card > .nv-editorial-badge { top:24px; left:24px; }
.product-card h3 a:hover { text-decoration:none; }
@media(max-width:640px) {
    .product-card { padding:10px; }
    .product-card > .nv-editorial-badge { top:16px; left:16px; }
    .product-card .nv-plan { font-size:9px; }
}
@media (hover:hover) and (pointer:fine) {
    .product-card:hover { border-color:var(--purple); }
    .woocommerce ul.products li.product:hover { border-color:var(--purple); }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
    .product-card { transition:border-color 250ms ease; }
    .woocommerce ul.products li.product { transition:border-color 250ms ease; }
    .product-card .product-image img,
    .woocommerce ul.products li.product .nv-product-media img {
        transition:transform 250ms cubic-bezier(.2,.7,.3,1);
        transform-origin:center;
    }
    .product-card:hover .product-image img,
    .woocommerce ul.products li.product:hover .nv-product-media img { transform:scale(1.03); }
}
