*{box-sizing:border-box}html{background:#f7f6f2;color:#252922;font-family:Arial,Helvetica,sans-serif}body{margin:0;padding:0 4.5vw 4.5vw}header{height:132px;max-width:1500px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:block;width:176px}.brand img{width:100%;height:auto;display:block;mix-blend-mode:multiply}.order{display:flex;gap:12px;align-items:center;padding:15px 23px;border-radius:99px;background:#254e3c;color:#fff;text-decoration:none;font-size:14px;letter-spacing:.02em}.order>span{margin-left:10px;font-size:20px}.order svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}main{max-width:1500px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tile{display:block;position:relative;aspect-ratio:1.12;border:0;padding:0;overflow:hidden;border-radius:8px;background:#eae6de;cursor:pointer}.art{position:absolute;inset:0;background-repeat:no-repeat;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.tile:hover .art{transform:scale(1.035)}.open{position:absolute;right:18px;bottom:18px;display:grid;place-items:center;border-radius:50%;width:42px;height:42px;background:#ffffffc9;backdrop-filter:blur(10px);color:#252922;font:24px Arial;transition:background .2s,transform .2s}.tile:hover .open{background:#fff;transform:rotate(45deg)}.christmas{grid-row:span 2;aspect-ratio:auto}.christmas .art{background-image:url('/assets/navidad-1.png');background-size:auto 155%;background-position:50% 70%}.illustrated{background-image:url('/assets/categories.png');background-size:200% 200%}.chess .art{background-position:0 0}.clickers .art{background-position:100% 0}.corporate .art{background-position:0 100%}.animals .art{background-position:100% 100%}.frames{grid-column:1/-1;aspect-ratio:4.4;background:#e7e7e2}.frames .art{background-image:url('/assets/cuadro.png');background-size:auto 155%;background-position:center 50%}a:focus-visible,button:focus-visible{outline:3px solid #2b7656;outline-offset:5px}dialog{border:0;padding:0;background:#eee9e1;width:min(880px,94vw);max-height:92dvh;border-radius:12px}dialog::backdrop{background:#17221dcc;backdrop-filter:blur(8px)}.catalog-controls{position:sticky;top:0;display:flex;justify-content:flex-end;align-items:center;gap:18px;padding:12px;background:#f7f6f2f2;z-index:2}.catalog-order{color:#254e3c;font-size:14px;text-decoration:none}.catalog-controls button{border:0;border-radius:50%;width:42px;height:42px;background:#e3e5de;font-size:28px;cursor:pointer}.pages img{display:block;width:100%;height:auto}body:has(dialog[open]){overflow:hidden}@media(min-width:1500px){header{height:150px}}@media(max-width:700px){body{padding:0 16px 24px}header{height:100px}.brand{width:134px}.order{padding:12px 15px;font-size:13px;gap:8px}.order>span{margin-left:0}main{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.christmas{grid-column:1/-1;grid-row:auto;aspect-ratio:1.35}.christmas .art{background-size:100% auto;background-position:50% 68%}.tile{border-radius:7px}.open{width:34px;height:34px;right:12px;bottom:12px;font-size:20px}.frames{aspect-ratio:2.2}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Visual categories. */
.christmas{grid-row:auto;aspect-ratio:1.12}.christmas .art{background-size:auto 280%;background-position:50% 61%}.frames{grid-column:auto;aspect-ratio:1.12}.frames .art{background-size:auto 90%}@media(max-width:700px){.christmas{grid-column:1/-1;aspect-ratio:1.35}.christmas .art{background-size:auto 280%;background-position:50% 61%}.frames{grid-column:1/-1;aspect-ratio:2.2}}

.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.72));opacity:0;transition:opacity .25s;pointer-events:none}.category-name{position:absolute;z-index:1;left:24px;right:76px;bottom:26px;color:#fff;font:600 clamp(20px,2.2vw,32px)/1.15 Arial,Helvetica,sans-serif;text-align:left;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;pointer-events:none}.open{z-index:1}.tile:hover::after,.tile:focus-visible::after{opacity:1}.tile:hover .category-name,.tile:focus-visible .category-name{opacity:1;transform:translateY(0)}@media(max-width:700px){.category-name{left:14px;right:54px;bottom:18px;font-size:18px}}
/* Data-driven catalogues and product viewer. */
#catalog{width:min(1200px,95vw);max-height:94dvh;background:#f7f6f2;padding:28px;border-radius:16px}.catalog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:.18em;color:#646c62}h1{font-size:clamp(26px,4vw,42px);font-weight:500;letter-spacing:-.04em;margin:9px 0 0}.icon-button{flex-shrink:0;width:44px;height:44px;border:0;border-radius:50%;background:#e6e8e1;color:#242b23;font-size:28px;cursor:pointer}.catalog-top .icon-button{position:sticky;top:0}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}.product{min-width:0;background:#fff;border-radius:10px;overflow:hidden}.product-photo{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:285px;padding:0;border:0;background:#eeeae4;overflow:hidden;cursor:zoom-in}.photo-crop{position:relative;overflow:hidden;width:100%;max-height:100%}.photo-crop img{display:block;width:100%;max-height:100%;object-fit:contain}.photo-crop[style] img{max-height:none}.product-photo .photo-crop{max-width:100%;width:auto;height:100%}.product-photo .photo-crop:not([style]){width:100%}.enlarge{position:absolute;bottom:12px;right:12px;width:34px;height:34px;display:grid;place-items:center;background:#ffffffd9;border-radius:50%;font-size:22px;color:#253d2f}.product-info{padding:19px}.product-info h2{font-size:19px;line-height:1.25;margin:0 0 8px;font-weight:500}.product-description{font-size:14px;color:#687064;line-height:1.5;min-height:42px;margin:0 0 14px}.price{display:block;font-size:19px;font-weight:600;margin:14px 0}.illustration-note{font-size:12px;color:#6a6f64;line-height:1.4}.product-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.action{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font:13px Arial,sans-serif;border:1px solid #d3d8d0;border-radius:24px;color:#254e3c;background:transparent;padding:11px 15px;cursor:pointer}.action.primary{background:#254e3c;color:white;border-color:#254e3c}.share-status,#share-status{font-size:13px;color:#254e3c}.share-link{width:100%;padding:8px;margin-top:8px}.catalog-message{padding:24px 0;color:#687064}#lightbox{width:min(1100px,95vw);max-height:94dvh;background:#f7f6f2;padding:0;border-radius:16px}#lightbox::backdrop{background:#101a16e8}.lightbox-layout{display:grid;grid-template-columns:1.4fr 1fr;min-height:520px}.lightbox-stage{min-width:0;display:flex;flex-direction:column;justify-content:center;background:#eae6df;padding:20px}.lightbox-detail{padding:80px 32px 32px}.lightbox-detail h2{font-size:32px;font-weight:500;letter-spacing:-.025em;margin:14px 0}.lightbox-detail>p{line-height:1.6;color:#656d62}.lightbox-close{position:absolute;right:14px;top:14px;z-index:3;background:#fffffff2}.lightbox-stage .photo-crop{max-width:100%;width:auto;max-height:70vh;margin:auto}.lightbox-stage .photo-crop[style]{height:65vh;width:auto;max-width:100%}.lightbox-stage .photo-crop:not([style]) img{max-height:65vh;width:100%;object-fit:contain}.photo-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:18px;font-size:13px}.photo-controls[hidden]{display:none}.image-error{display:block;padding:30px;font-size:14px}body:has(dialog[open]){overflow:hidden}@media(max-width:850px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lightbox-layout{grid-template-columns:1fr}.lightbox-detail{padding:28px}.lightbox-stage{padding:55px 18px 18px}.lightbox-stage .photo-crop[style]{height:45vh}.lightbox-stage .photo-crop:not([style]) img{max-height:45vh}}@media(max-width:520px){#catalog{padding:18px;width:96vw}.product-grid{grid-template-columns:1fr;gap:20px}.product-photo{height:310px}.product-description{min-height:0}.catalog-top{margin-bottom:20px}.lightbox-detail h2{font-size:27px}.lightbox-detail{padding:24px}.product-actions .action{min-height:44px}}

.product-photo .photo-crop[style]{height:auto;width:min(100%,calc(285px * var(--photo-ratio)));max-height:none}.lightbox-stage .photo-crop[style]{height:auto;width:min(100%,calc(65vh * var(--photo-ratio)));max-height:none}.photo-crop[style] img{object-fit:fill}@media(max-width:850px){.lightbox-stage .photo-crop[style]{height:auto;width:min(100%,calc(45vh * var(--photo-ratio)))}}@media(max-width:520px){.product-photo .photo-crop[style]{width:min(100%,calc(310px * var(--photo-ratio)))}}

.fidgets{background:#f7f6f2}.fidgets .art{background-image:url("/catalogos/fidgets/fotos/pelota/pelota-negra-estudio.png");background-size:auto 90%;background-position:center 15%}.fidgets .category-name{color:#254e3c;opacity:1;transform:none}.fidgets:hover .category-name,.fidgets:focus-visible .category-name{color:#fff}

.product-video{display:block;width:100%;max-height:65vh;background:#161916;border-radius:8px}.action[hidden]{display:none}@media(max-width:850px){.product-video{max-height:45vh}}

.clickers{background:#f7f6f2}.clickers .art{background-image:url("/catalogos/clickers/fotos/clicker-5-dedos-estudio.png");background-size:auto 90%;background-position:center 15%}.clickers .category-name{color:#254e3c;opacity:1;transform:none}.clickers:hover .category-name,.clickers:focus-visible .category-name{color:#fff}

.tile[data-status="en-elaboracion"]{cursor:default}.tile[data-status="en-elaboracion"] .art{filter:grayscale(.65);opacity:.6}.tile[data-status="en-elaboracion"]:hover .art{transform:none}.tile[data-status="en-elaboracion"]::after{opacity:1;background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.7))}.tile[data-status="en-elaboracion"] .category-name{opacity:1;transform:none;bottom:64px;right:20px;color:#fff}.category-status{position:absolute;z-index:1;left:24px;bottom:24px;padding:5px 11px;background:#f7f2e6;color:#57462d;border-radius:20px;font:12px Arial,sans-serif}@media(max-width:700px){.tile[data-status="en-elaboracion"] .category-name{bottom:56px;left:14px}.category-status{left:14px;bottom:16px;font-size:11px}}
