:root { --v12-teal:#006d70; --v12-coral:#ef625d; --v12-cream:#fff9f5; --v12-line:#edd9cf; --v12-ink:#243133; }
.products-v12-page { background:#fffaf7; }
.v12-banner { margin-top:12px; height:92px; overflow:hidden; border-radius:24px; background:#f8ebe4; }
.v12-banner img { width:100%; height:100%; object-fit:cover; object-position:center 46%; }
.v12-category-bar { position:relative; display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:14px; padding:10px 14px; border:1px solid var(--v12-line); background:white; border-radius:14px; }
.v12-category-bar > div { display:flex; gap:10px; align-items:center; }
.v12-category-bar > div span { color:var(--v12-coral); font-size:9px; font-weight:900; letter-spacing:.12em; }
.v12-category-bar > div strong { color:var(--v12-teal); font-size:14px; }
.v12-category-menu { position:relative; }
.v12-category-menu summary { list-style:none; cursor:pointer; min-width:164px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:11px 14px; color:white; background:#075378; font-size:11px; font-weight:900; }
.v12-category-menu summary::-webkit-details-marker { display:none; }
.v12-category-menu__panel { position:absolute; right:0; top:calc(100% + 8px); z-index:20; width:280px; padding:8px; background:white; border:1px solid var(--v12-line); box-shadow:0 16px 36px rgba(38,48,52,.15); }
.v12-category-menu__panel a { display:block; padding:9px 10px; color:#29454b; font-size:11px; font-weight:750; border-radius:9px; }
.v12-category-menu__panel a:hover,.v12-category-menu__panel a.active { background:#fff0eb; color:var(--v12-coral); }
.v12-shop { padding:25px 0 48px; }
.v12-shop-heading { margin-bottom:17px; }
.v12-shop-heading h1 { margin:4px 0 5px; color:var(--v12-teal); font-family:Georgia,"Times New Roman",serif; font-size:34px; }
.v12-shop-heading p { margin:0; color:#63777b; font-size:12px; }
.v12-layout { display:grid; grid-template-columns:minmax(0,1fr) 245px; gap:18px; align-items:start; }
.v12-product-panel { display:grid; grid-template-columns:minmax(290px,410px) minmax(340px,1fr); gap:20px; padding:17px; background:white; border:1px solid var(--v12-line); border-radius:22px; box-shadow:0 12px 30px rgba(84,60,48,.055); }
.v12-product-image-column { min-width:0; }
.v12-product-image { width:100%; height:455px; display:grid; place-items:center; overflow:hidden; padding:10px; border:1px solid var(--v12-line); border-radius:18px; background:#fffaf7; cursor:zoom-in; }
.v12-product-image img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.v12-zoom { display:block; margin:9px auto 0; padding:7px 12px; border:1px solid var(--v12-line); border-radius:999px; color:var(--v12-teal); background:white; font-size:10px; font-weight:900; cursor:pointer; }
.v12-product-info { padding:3px 2px 1px; }
.v12-product-kicker { color:var(--v12-coral); font-size:9px; font-weight:900; letter-spacing:.12em; }
.v12-product-info h2 { margin:5px 0 8px; color:var(--v12-teal); font-family:Georgia,"Times New Roman",serif; font-size:31px; line-height:1.05; }
.v12-product-info > p { margin:0 0 13px; color:#617378; font-size:12px; line-height:1.55; }
.v12-materials { padding:12px; border:1px solid #e2d2cb; border-radius:15px; background:linear-gradient(145deg,#fffdfb,#fff8f4); }
.v12-material-select{position:relative;display:block;margin:0;padding:0;border:0;}
.v12-material-select>span{display:block;margin-bottom:8px;color:#5c7376;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.v12-material-select select{width:100%;min-height:48px;padding:10px 44px 10px 14px;border:1px solid #9ddbd9;border-radius:13px;background:linear-gradient(145deg,#fffdfb,#fff8f4);color:#087f82;font-family:inherit;font-size:13px;font-weight:800;box-shadow:0 5px 14px rgba(8,127,130,.07);cursor:pointer;appearance:none;}
.v12-material-select::after{content:'⌄';position:absolute;right:15px;bottom:12px;color:#087f82;font-size:20px;font-weight:800;line-height:1;pointer-events:none;}
.v12-material-select:focus-within select{border-color:#087f82;box-shadow:0 0 0 3px rgba(8,127,130,.12);outline:0;}
.v176-material-menu{position:relative;margin:0;}
.v176-material-menu summary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:10px 42px 10px 14px;border:1px solid #22aaa7;border-radius:13px;background:#fffaf7;color:#075f61;font-family:inherit;font-size:13px;font-weight:900;cursor:pointer;list-style:none;box-shadow:0 5px 14px rgba(8,127,130,.07);}
.v176-material-menu summary::-webkit-details-marker{display:none;}
.v176-material-menu summary::after{content:'⌄';position:absolute;right:15px;top:50%;transform:translateY(-55%);color:#087f82;font-size:20px;font-weight:900;line-height:1;}
.v176-material-menu[open] summary::after{content:'⌃';}
.v176-material-menu summary strong{color:#087f82;font-size:13px;white-space:nowrap;}
.v176-material-options{position:absolute;z-index:30;top:calc(100% + 5px);left:0;right:0;padding:7px;border:1px solid #9ddbd9;border-radius:13px;background:#fffdfb;box-shadow:0 14px 30px rgba(23,84,85,.18);}
.v176-material-options .v12-material{margin-top:5px;}
.v176-material-options .v12-material:first-child{margin-top:0;}
.v12-materials > small,.v12-selected-material small,.v12-price-box small,.v12-quantity-box small { display:block; margin-bottom:7px; color:#65787c; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.v12-material { width:100%; min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 11px; margin-top:7px; border:1px solid #9ddbd9; border-radius:11px; background:#fffaf7; text-align:left; cursor:pointer; }
.v12-material span b,.v12-material span em { display:block; }
.v12-material span b { color:#234e50; font-size:11px; }
.v12-material span em { margin-top:2px; color:#6b7a7c; font-size:8px; font-style:normal; }
.v12-material > strong { color:var(--v12-teal); font-size:12px; white-space:nowrap; }
.v12-material.active { background:#1cacaa; border-color:#1cacaa; }
.v12-material.active span b,.v12-material.active span em,.v12-material.active > strong { color:white; }
.v12-selected-material { margin-top:10px; padding:10px 12px; border:1px solid var(--v12-line); border-radius:11px; background:#fffdfb; }
.v12-selected-material strong,.v12-selected-material span { display:block; }
.v12-selected-material strong { color:var(--v12-teal); font-size:11px; }
.v12-selected-material span { margin-top:2px; color:#6f7f82; font-size:9px; }
.v12-buy-row { display:grid; grid-template-columns:1fr auto; gap:14px; align-items:end; margin-top:12px; }
.v12-price-box strong { display:block; color:var(--v12-teal); font-size:27px; line-height:1; }
.v12-price-box span { display:block; margin-top:4px; color:#7a6962; font-size:9px; }
.v12-stepper { display:grid; grid-template-columns:38px 44px 38px; border:1px solid #e8d4ca; border-radius:11px; overflow:hidden; }
.v12-stepper button,.v12-stepper strong { min-height:38px; display:grid; place-items:center; border:0; background:#fffaf7; color:#304145; }
.v12-stepper button { cursor:pointer; font-size:18px; }
.v12-stepper strong { background:white; font-size:13px; }
.v12-add-cart { width:100%; margin-top:12px; padding:13px 16px; border:0; border-radius:12px; color:white; background:#1cacaa; font-size:13px; font-weight:900; cursor:pointer; }
.v12-delivery-note { margin:7px 0 0!important; text-align:center; font-size:9px!important; }
.v12-themes { overflow:hidden; border:1px solid var(--v12-line); border-radius:18px; background:white; }
.v12-themes-head { padding:14px; border-bottom:1px solid var(--v12-line); }
.v12-themes-head span,.v12-themes-head strong { display:block; }
.v12-themes-head span { color:var(--v12-coral); font-size:9px; font-weight:900; letter-spacing:.12em; }
.v12-themes-head strong { margin-top:3px; color:var(--v12-teal); font-family:Georgia,"Times New Roman",serif; font-size:20px; }
.v12-theme { width:100%; display:grid; grid-template-columns:52px 1fr; gap:9px; align-items:center; padding:9px 11px; border:0; border-bottom:1px solid #f2e5df; background:white; text-align:left; cursor:pointer; }
.v12-theme:last-child { border-bottom:0; }
.v12-theme img,.v12-theme-placeholder { width:52px; height:52px; object-fit:cover; display:grid; place-items:center; border:1px solid #f0dfd6; border-radius:10px; background:#fff8f4; }
.v12-theme span b,.v12-theme span small { display:block; }
.v12-theme span b { color:#1d5558; font-size:10px; line-height:1.3; }
.v12-theme span small { margin-top:3px; color:#7d8b8e; font-size:8px; }
.v12-theme.active { background:#fff0eb; box-shadow:inset 3px 0 0 var(--v12-coral); }
.v12-theme.soon { opacity:.65; cursor:default; }
.v12-overlay { position:fixed; inset:0; z-index:89; background:rgba(24,31,32,.34); }
.v12-cart { position:fixed; top:0; right:0; z-index:90; width:min(360px,92vw); height:100dvh; display:flex; flex-direction:column; padding:18px; background:white; box-shadow:-18px 0 45px rgba(24,31,32,.18); transform:translateX(100%); transition:.2s ease; }
.v12-cart.open { transform:translateX(0); }
.v12-cart > header { display:flex; justify-content:space-between; align-items:center; padding-bottom:13px; border-bottom:1px solid #e8e0dc; }
.v12-cart > header span { color:var(--v12-teal); font-size:9px; font-weight:900; letter-spacing:.14em; }
.v12-cart > header h2 { margin:3px 0 0; font-family:Georgia,"Times New Roman",serif; font-size:28px; }
.v12-cart > header button { width:36px; height:36px; border:0; border-radius:50%; background:#eff7f6; color:var(--v12-teal); font-size:22px; cursor:pointer; }
.v12-cart-items { flex:1; overflow:auto; }
.v12-cart-empty { padding:40px 10px; text-align:center; color:#748487; font-size:12px; }
.v12-cart-item { display:grid; grid-template-columns:58px 1fr; gap:10px; padding:13px 0; border-bottom:1px solid #e8e0dc; }
.v12-cart-item img { width:58px; height:58px; object-fit:cover; border:1px solid #eee1da; border-radius:10px; }
.v12-cart-item-tag { display:inline-block; padding:3px 7px; border-radius:999px; background:#fff0eb; color:var(--v12-coral); font-size:7px; font-weight:900; }
.v12-cart-item h3 { margin:4px 0 2px; color:#174e51; font-size:12px; }
.v12-cart-item p { margin:0; color:#705e58; font-size:9px; }
.v12-cart-item-bottom { display:flex; justify-content:space-between; gap:8px; align-items:end; margin-top:8px; }
.v12-cart-stepper { display:grid; grid-template-columns:28px 34px 28px; border:1px solid #ead8cf; border-radius:8px; overflow:hidden; }
.v12-cart-stepper button,.v12-cart-stepper span { height:29px; display:grid; place-items:center; border:0; background:#fffaf7; font-size:11px; }
.v12-cart-stepper button { cursor:pointer; }
.v12-cart-item-price { color:var(--v12-teal); font-size:14px; font-weight:900; }
.v12-cart-remove { margin-top:6px; padding:0; border:0; color:var(--v12-coral); background:none; font-size:9px; font-weight:800; text-decoration:underline; cursor:pointer; }
.v12-cart > footer { padding-top:13px; border-top:1px solid #e8e0dc; }
.v12-cart-total { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.v12-cart-total span { font-size:11px; font-weight:800; }
.v12-cart-total strong { color:var(--v12-teal); font-size:23px; }
.v12-continue,.v12-checkout { width:100%; display:grid; place-items:center; min-height:42px; border-radius:11px; font-size:11px; font-weight:900; }
.v12-continue { border:1px solid #e5aa4c; background:#fffaf1; color:#66400d; cursor:pointer; }
.v12-checkout { margin-top:8px; color:white; background:#64479a; }
.v12-lightbox { position:fixed; inset:0; z-index:120; display:grid; place-items:center; padding:34px; background:rgba(25,31,32,.78); }
.v12-lightbox[hidden] { display:none; }
.v12-lightbox img { max-width:min(880px,88vw); max-height:88vh; object-fit:contain; border-radius:14px; background:white; }
.v12-lightbox button { position:fixed; top:18px; right:22px; width:40px; height:40px; border:1px solid white; border-radius:50%; color:white; background:rgba(0,0,0,.2); font-size:24px; cursor:pointer; }
@media (max-width:1050px){ .v12-layout{grid-template-columns:1fr}.v12-themes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.v12-themes-head{grid-column:1/-1}.v12-product-panel{grid-template-columns:minmax(260px,340px) 1fr}.v12-product-image{height:390px} }
@media (max-width:760px){ .v12-banner{height:70px}.v12-category-bar{align-items:stretch;flex-direction:column}.v12-category-menu summary{width:100%}.v12-category-menu__panel{left:0;right:auto;width:100%}.v12-product-panel{grid-template-columns:1fr}.v12-product-image{height:390px}.v12-themes{grid-template-columns:1fr}.v12-buy-row{grid-template-columns:1fr}.v12-quantity-box{justify-self:start} }


/* V13 layout adjustments */
.v13-category-note{color:#64777a;font-size:11px;font-weight:700;}
.v13-layout{grid-template-columns:minmax(0,1fr) 270px;align-items:start;}
.v13-main-column{display:grid;gap:16px;min-width:0;}
.v13-themes-strip{border:1px solid var(--v12-line);border-radius:18px;background:white;padding:14px;}
.v13-themes-strip__head{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:12px;}
.v13-themes-strip__head span{color:var(--v12-coral);font-size:9px;font-weight:900;letter-spacing:.12em;}
.v13-themes-strip__head strong{color:var(--v12-teal);font-family:Georgia,"Times New Roman",serif;font-size:22px;}
.v13-themes-strip__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.v13-themes-strip .v12-theme{border:1px solid #f1e1d9;border-radius:14px;padding:10px;min-height:72px;}
.v13-themes-strip .v12-theme:last-child{border-bottom:1px solid #f1e1d9;}
.v13-themes-strip .v12-theme.active{background:#fff0eb;box-shadow:inset 3px 0 0 var(--v12-coral);}
.v13-categories{overflow:hidden;border:1px solid var(--v12-line);border-radius:18px;background:white;position:sticky;top:100px;}
.v13-categories__head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;color:#fff;background:#075378;font-size:12px;font-weight:900;letter-spacing:.06em;}
.v13-categories__list{max-height:640px;overflow:auto;padding:8px;}
.v13-categories__list a{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:9px 8px;border-radius:12px;color:#24454c;font-size:11px;font-weight:800;}
.v13-categories__list a + a{margin-top:6px;}
.v13-categories__list .icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f5f1ef;font-size:15px;}
.v13-categories__list a.active{background:#fff0eb;color:var(--v12-coral);}
.v13-categories__list a.active .icon{background:#fde2da;}
.v13-categories__list a:hover{background:#fff8f4;}
@media (max-width:1050px){.v13-layout{grid-template-columns:1fr}.v13-categories{position:static;order:-1}.v13-themes-strip__grid{grid-template-columns:1fr 1fr;}}
@media (max-width:760px){.v13-category-note{display:none}.v13-themes-strip__head{flex-direction:column;align-items:flex-start}.v13-themes-strip__grid{grid-template-columns:1fr}.v13-categories__list{max-height:none}}


/* V19 cute category icons without numbers */
.v13-categories__list .icon{box-shadow:0 1px 0 rgba(0,0,0,.03), inset 0 0 0 1px rgba(0,0,0,.03);font-size:16px;}
.v13-categories__list a.cat-01 .icon{background:#dff6f4;color:#0FA79F;}
.v13-categories__list a.cat-02 .icon{background:#deefee;color:#2A9C99;}
.v13-categories__list a.cat-03 .icon{background:#fde4ee;color:#DB5F8D;}
.v13-categories__list a.cat-04 .icon{background:#f3dbe1;color:#8A243A;}
.v13-categories__list a.cat-05 .icon{background:#ede7f9;color:#8165BD;}
.v13-categories__list a.cat-06 .icon{background:#fde5e2;color:#E85C52;}
.v13-categories__list a.cat-07 .icon{background:#e9efe3;color:#82986D;}
.v13-categories__list a.cat-08 .icon{background:#e2eaf9;color:#103C8B;}
.v13-categories__list a.cat-09 .icon{background:#dde7ef;color:#133457;}
.v13-categories__list a.cat-10 .icon{background:#f7dfe5;color:#BA2D4C;}
.v13-categories__list a.cat-11 .icon{background:#ddebe4;color:#04412A;}
.v13-categories__list a.cat-12 .icon{background:#ecdee7;color:#592B4A;}
.v13-categories__list a.cat-13 .icon{background:#def1f1;color:#07999A;}


/* V20 three clean option buttons */
.v20-option-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px;background:#fff;border:1px solid var(--v12-line);border-radius:14px;}
.v20-option-button{min-height:48px;padding:10px 16px;border:1px solid #b9dfdc;border-radius:14px;background:#fff;color:#135b5e;font-size:12px;font-weight:900;cursor:pointer;transition:.18s ease;}
.v20-option-button:hover{background:#f3fbfa;transform:translateY(-1px);}
.v20-option-button.active{background:#0FA79F;border-color:#0FA79F;color:#fff;}
@media (max-width:760px){.v20-option-bar{grid-template-columns:1fr}.v20-option-button{width:100%}}


/* V21 final product layout: categories on top, themes on the right */
.v21-category-panel[hidden]{display:none;}
.v21-category-panel{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:10px;padding:12px;border:1px solid var(--v12-line);border-radius:16px;background:#fff;box-shadow:0 14px 32px rgba(66,46,38,.07);}
.v21-category{min-height:62px;display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;padding:9px 10px;border:1px solid #eee0d9;border-radius:13px;background:#fff;color:#24484d;text-align:left;font-size:10px;font-weight:850;line-height:1.25;cursor:pointer;}
.v21-category:hover{background:#fff9f6;transform:translateY(-1px);}
.v21-category .icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f4efec;font-size:16px;}
.v21-category.active{border-color:#0FA79F;background:#eefaf9;color:#0b6f69;box-shadow:inset 3px 0 0 #0FA79F;}
.v21-category.cat-01 .icon{background:#dff6f4;}
.v21-category.cat-02 .icon{background:#deefee;}
.v21-category.cat-03 .icon{background:#fde4ee;}
.v21-category.cat-04 .icon{background:#f3dbe1;}
.v21-category.cat-05 .icon{background:#ede7f9;}
.v21-category.cat-06 .icon{background:#fde5e2;}
.v21-category.cat-07 .icon{background:#e9efe3;}
.v21-category.cat-08 .icon{background:#e2eaf9;}
.v21-category.cat-09 .icon{background:#dde7ef;}
.v21-category.cat-10 .icon{background:#f7dfe5;}
.v21-category.cat-11 .icon{background:#ddebe4;}
.v21-category.cat-12 .icon{background:#ecdee7;}
.v21-category.cat-13 .icon{background:#def1f1;}
.v21-product-layout{grid-template-columns:minmax(0,1fr) 245px;gap:18px;align-items:start;}
.v21-product-layout .v12-product-panel{grid-template-columns:minmax(300px,410px) minmax(330px,1fr);}
.v21-themes{position:sticky;top:100px;}
.v21-themes .v12-theme{grid-template-columns:52px 1fr;}
@media (max-width:1100px){.v21-category-panel{grid-template-columns:repeat(3,minmax(0,1fr));}.v21-product-layout{grid-template-columns:1fr}.v21-themes{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}.v21-themes .v12-themes-head{grid-column:1/-1}.v21-product-layout .v12-product-panel{grid-template-columns:minmax(260px,340px) 1fr;}}
@media (max-width:760px){.v21-category-panel{grid-template-columns:1fr 1fr}.v21-product-layout .v12-product-panel{grid-template-columns:1fr}.v21-themes{grid-template-columns:1fr}.v21-category{min-height:58px;}}
@media (max-width:480px){.v21-category-panel{grid-template-columns:1fr}}


/* V22: only Categories carries the category color */
:root{--current-category-color:#0FA79F;}
.v20-option-button{background:#fff;color:#31585a;border-color:#e8d9d2;}
.v20-option-button:hover{background:#fff9f6;border-color:#d9c7be;}
.v20-option-button.active.category-toggle{display:flex;align-items:center;justify-content:center;gap:9px;background:var(--current-category-color);border-color:var(--current-category-color);color:#fff;}
.v20-option-button.active.category-toggle:hover{filter:brightness(.98);}
.category-caret{font-size:13px;line-height:1;transition:transform .18s ease;}
.category-toggle[aria-expanded="true"] .category-caret{transform:rotate(180deg);}
.v21-category.active{border-color:var(--current-category-color);background:#fff;color:var(--current-category-color);box-shadow:inset 3px 0 0 var(--current-category-color);}


/* V23 category-page system */
.v12-material.active{background:var(--current-category-color);border-color:var(--current-category-color);}
.v12-add-cart{background:var(--current-category-color);}
.v12-product-kicker,.v12-themes-head span{color:var(--current-category-color);}
.v12-theme.active{box-shadow:inset 3px 0 0 var(--current-category-color);background:color-mix(in srgb, var(--current-category-color) 8%, white);}
.v12-price-box strong,.v12-selected-material strong{color:var(--current-category-color);}
.v23-category-empty{grid-column:1/-1;display:flex;align-items:center;gap:24px;padding:30px 34px;border:1px solid color-mix(in srgb, var(--current-category-color) 22%, white);border-radius:28px;background:#fff;box-shadow:0 16px 40px rgba(18,46,48,.06);text-align:left;}
.v23-category-empty[hidden]{display:none!important;}
.v23-category-empty__badge{width:68px;height:68px;flex:0 0 68px;display:grid;place-items:center;border-radius:18px;background:color-mix(in srgb, var(--current-category-color) 12%, white);}
.v23-category-empty__icon{display:grid;place-items:center;font-size:32px;color:var(--current-category-color);}
.v23-category-empty__content{flex:1;min-width:0;display:grid;gap:8px;}
.v23-category-empty h2{margin:0;color:var(--current-category-color);font-family:Georgia,"Times New Roman",serif;font-size:32px;line-height:1.1;}
.v23-category-empty p{max-width:none;margin:0;color:#5e7377;font-size:14px;line-height:1.6;}
.v23-category-empty .eyebrow{color:var(--current-category-color);font-size:11px;font-weight:900;letter-spacing:.18em;}
.v23-category-empty__cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:14px;background:var(--current-category-color);color:#fff;text-decoration:none;font-size:13px;font-weight:900;white-space:nowrap;box-shadow:0 12px 28px rgba(19,52,87,.18);}
.v23-category-empty__cta:hover{filter:brightness(.97);}
@media (max-width:900px){.v23-category-empty{flex-direction:column;align-items:flex-start;padding:26px;}.v23-category-empty__cta{width:100%;}}
.v21-category.active{border-color:var(--current-category-color);color:var(--current-category-color);box-shadow:inset 3px 0 0 var(--current-category-color);}


/* V24: more room for the product image + lower category navigation */
@media (min-width:1051px){
  .v21-product-layout .v12-product-image{height:620px;}
  .v21-product-layout .v12-zoom{margin-top:18px;}
}
.v24-category-cards{padding:4px 0 54px;}
.v24-category-cards__head{margin-bottom:14px;}
.v24-category-cards__head span{display:block;color:var(--current-category-color);font-size:9px;font-weight:900;letter-spacing:.14em;}
.v24-category-cards__head h2{margin:4px 0 0;color:#006d70;font-family:Georgia,"Times New Roman",serif;font-size:27px;}
.v24-category-cards__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;}
.v24-category-card{min-height:74px;display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;padding:11px 12px;border:1px solid color-mix(in srgb,var(--card-color) 28%, #eaded8);border-radius:15px;background:#fff;color:#24484d;font-size:11px;font-weight:850;line-height:1.25;transition:.16s ease;}
.v24-category-card .icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--card-color) 13%, white);font-size:18px;}
.v24-category-card:hover{transform:translateY(-2px);border-color:var(--card-color);color:var(--card-color);box-shadow:0 8px 20px rgba(65,48,40,.07);}
@media (max-width:980px){.v24-category-cards__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.v24-category-cards__grid{grid-template-columns:1fr}.v24-category-cards__head h2{font-size:24px}}


/* V25 category card order: 3 + 5 + 5 */
.v25-category-rows{display:grid;gap:11px;}
.v25-category-row{display:grid;gap:11px;}
.v25-category-row--3{grid-template-columns:repeat(3,minmax(0,1fr));}
.v25-category-row--5{grid-template-columns:repeat(5,minmax(0,1fr));}
.v25-category-row .v24-category-card{position:relative;grid-template-columns:42px 1fr;padding:18px 12px 11px;}
.v24-category-card .number{position:absolute;top:6px;right:9px;color:var(--card-color);font-size:9px;font-weight:900;letter-spacing:.08em;}
@media (max-width:980px){.v25-category-row--3,.v25-category-row--5{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:560px){.v25-category-row--3,.v25-category-row--5{grid-template-columns:1fr;}}


/* V34 - subcategorías reales por categoría */
.v34-option-bar{display:flex;align-items:stretch;gap:10px;}
.v34-subcategory-buttons{display:flex;flex:1 1 auto;flex-wrap:wrap;gap:10px;min-width:0;}
.v34-subcategory-buttons .v20-option-button{flex:1 1 205px;min-width:170px;background:#fff;color:#31585a;border-color:#e8d9d2;}
.v34-subcategory-buttons a.v20-option-button{display:grid;place-items:center;box-sizing:border-box;text-align:center;text-decoration:none;}
.v34-subcategory-buttons .v20-option-button:hover{border-color:var(--current-category-color);background:color-mix(in srgb,var(--current-category-color) 5%,#fff);}
.v34-subcategory-buttons .v20-option-button.selected{border-color:var(--current-category-color);color:var(--current-category-color);background:color-mix(in srgb,var(--current-category-color) 8%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--current-category-color) 35%,transparent);}
.v34-option-bar .category-toggle{flex:0 0 170px;align-self:stretch;min-height:48px;background:var(--current-category-color)!important;border-color:var(--current-category-color)!important;color:#fff!important;}
@media(max-width:900px){.v34-option-bar{flex-direction:column}.v34-option-bar .category-toggle{flex:1 1 auto;width:100%}.v34-subcategory-buttons .v20-option-button{flex:1 1 calc(50% - 5px)}}
@media(max-width:600px){.v34-subcategory-buttons{display:grid;grid-template-columns:1fr}.v34-subcategory-buttons .v20-option-button{min-width:0;width:100%}}


/* V37 - medida fija del botón Categorías */
.v34-option-bar .category-toggle{
  flex:0 0 170px!important;
  width:170px!important;
  min-width:170px!important;
  max-width:170px!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  padding:0 16px!important;
  box-sizing:border-box;
  align-self:flex-start!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px;
  white-space:nowrap;
}
@media(max-width:900px){
  .v34-option-bar .category-toggle{
    flex:0 0 170px!important;
    width:170px!important;
    min-width:170px!important;
    max-width:170px!important;
    height:48px!important;
    align-self:flex-end!important;
  }
}


/* V39: expanded sticker catalog */
@media (min-width:1101px){
  .v21-themes{max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:thin;}
  .v21-themes .v12-themes-head{position:sticky;top:0;z-index:2;background:#fff;}
}

/* V42 · grupos de stickers individuales 4 cm */
.v42-theme-group{padding:9px 11px;background:#fff8f4;border-bottom:1px solid #f2e5df;color:var(--current-category-color);font-size:8px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;}
.v21-themes .v42-theme-group{position:relative;z-index:1;}


/* V47 - separación Stickers A5 / A4 / Vinilo decorativo */
.products-v12-page[data-category="stickers"] .v34-subcategory-buttons{
  flex-wrap:nowrap;
}
.products-v12-page[data-category="stickers"] .v34-subcategory-buttons .v20-option-button{
  flex:1 1 170px;
  min-width:170px;
  min-height:48px;
}
@media(max-width:900px){
  .products-v12-page[data-category="stickers"] .v34-subcategory-buttons{flex-wrap:wrap;}
  .products-v12-page[data-category="stickers"] .v34-subcategory-buttons .v20-option-button{flex:1 1 calc(50% - 5px);}
}
@media(max-width:600px){
  .products-v12-page[data-category="stickers"] .v34-subcategory-buttons{display:grid;grid-template-columns:1fr;}
  .products-v12-page[data-category="stickers"] .v34-subcategory-buttons .v20-option-button{min-width:0;width:100%;}
}


/* V49 · Características en una fila + contacto de personalización */
.v49-sticker-features{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:8px;
  margin-top:12px;
}
.v49-sticker-features[hidden]{display:none!important;}
.v49-feature{
  min-height:38px;
  padding:7px 11px;
  border:1px solid #eadfd9;
  border-radius:12px;
  background:#fff;
  color:#52696b;
  display:flex;
  align-items:center;
  gap:6px;
  box-sizing:border-box;
  font-size:11px;
  line-height:1.2;
  box-shadow:0 2px 8px rgba(44,74,75,.035);
}
.v49-feature b{
  font-size:9px;
  letter-spacing:.035em;
  text-transform:uppercase;
  color:#7f9294;
}
.v49-feature strong{
  color:#275f61;
  font-size:11px;
}
.v49-feature--promo{
  background:#fffaf2;
  border-color:#f0ddbb;
}
.v49-feature--promo strong{color:#8c5f1b;}
.v49-feature--whatsapp{
  min-height:46px;
  padding:10px 16px;
  text-decoration:none;
  background:#f1fbf7;
  border-color:#cce9da;
  margin-left:auto;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.v49-feature--whatsapp b{color:#56816d;font-size:10px;}
.v49-feature--whatsapp strong{color:#176b4e;font-size:12px;}
.v49-feature--whatsapp:hover{
  transform:translateY(-1px);
  border-color:#8bc9aa;
  box-shadow:0 5px 14px rgba(35,111,78,.10);
}
#v23-category-description{
  max-width:1080px;
  line-height:1.55;
}
@media(max-width:900px){
  .v49-feature--whatsapp{margin-left:0;}
}
@media(max-width:600px){
  .v49-sticker-features{display:grid;grid-template-columns:1fr 1fr;}
  .v49-feature{width:100%;min-width:0;justify-content:space-between;}
  .v49-feature--promo,
  .v49-feature--whatsapp{grid-column:1/-1;}
}

/* V51 · Tipografía del detalle de producto ligeramente más grande.
   Se mantienen sin cambios los títulos principales y de sección. */
.v12-shop-heading p{font-size:13px;}
.v12-zoom{font-size:11px;}
.v12-product-kicker{font-size:10px;}
.v12-product-info > p{font-size:13px;}
.v12-materials > small,
.v12-selected-material small,
.v12-price-box small,
.v12-quantity-box small{font-size:10px;}
.v12-material span b{font-size:12px;}
.v12-material span em{font-size:9px;}
.v12-material > strong{font-size:13px;}
.v12-selected-material strong{font-size:12px;}
.v12-selected-material span{font-size:10px;}
.v12-price-box strong{font-size:28px;}
.v12-price-box span{font-size:10px;}
.v12-stepper strong{font-size:14px;}
.v12-add-cart{font-size:14px;}
.v12-delivery-note{font-size:10px!important;}
.v12-themes-head span{font-size:10px;}
.v12-theme span b{font-size:11px;}
.v12-theme span small{font-size:9px;}
.v42-theme-group{font-size:9px;}
.v49-feature{font-size:12px;}
.v49-feature b{font-size:10px;}
.v49-feature strong{font-size:12px;}
.v49-feature--whatsapp b{font-size:11px;}
.v49-feature--whatsapp strong{font-size:13px;}

/* V54 · Vinilo decorativo carro */
.v54-vinyl-options{display:grid;gap:12px;margin:14px 0 4px}
.v54-vinyl-options[hidden]{display:none!important}
.v54-vinyl-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:10px}
.v54-vinyl-grid label{display:grid;gap:6px}
.v54-vinyl-grid label>span{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#668084}
.v54-vinyl-grid select{width:100%;min-height:46px;border:1px solid #93d9d5;border-radius:12px;background:#fff;color:#173f42;padding:0 12px;font-size:12px;font-weight:800;outline:none}
.v54-vinyl-grid select:focus{border-color:#0FA79F;box-shadow:0 0 0 3px rgba(15,167,159,.10)}
.v54-vinyl-selected{display:grid;gap:3px;padding:12px 13px;border:1px solid #ead8cf;border-radius:13px;background:#fffaf7}
.v54-vinyl-selected small{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#71878a}
.v54-vinyl-selected strong{font-size:13px;color:#087a76}
.v54-vinyl-selected span{font-size:10px;color:#708386}
.products-v12-page[data-category="stickers"] .v34-subcategory-buttons .v20-option-button{line-height:1.15;text-wrap:balance}
@media(max-width:560px){.v54-vinyl-grid{grid-template-columns:1fr}}


/* V55 · código de producto más visible */
.v55-product-code{
  display:inline-flex;
  width:max-content;
  margin:4px 0 7px;
  padding:5px 9px;
  border-radius:9px;
  background:#f3faf9;
  border:1px solid #cfe9e5;
  color:#177d79;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
}

/* V72 · legibilidad un poco mayor en catálogo y fichas */
.v12-category-bar > div span,.v12-product-kicker,.v12-themes-head span,.v12-cart > header span,.v13-themes-strip__head span,.v23-category-empty .eyebrow,.v24-category-cards__head span{font-size:10px}
.v12-category-menu summary,.v12-category-menu__panel a,.v12-shop-heading p,.v12-zoom,.v12-materials > small,.v12-selected-material small,.v12-price-box small,.v12-quantity-box small,.v12-delivery-note,.v12-theme span b,.v12-theme span small,.v13-category-note,.v13-categories__list a,.v20-option-button,.v21-category,.v23-category-empty p,.v24-category-card{font-size:12px}
.v12-product-info > p{font-size:14px;line-height:1.62;color:#4f676d}
.v12-material span b,.v12-selected-material strong,.v12-theme span b,.v12-cart-item h3{font-size:13px}
.v12-material span em,.v12-selected-material span,.v12-price-box span,.v12-theme span small,.v12-cart-item p,.v12-cart-remove{font-size:10px;color:#61767b}
.v12-material > strong,.v12-category-bar > div strong,.v12-continue,.v12-checkout,.v12-cart-total span,.v13-categories__head,.v24-category-card .icon + *{font-size:12px}
.v12-add-cart{font-size:14px}
.v12-cart-item-tag{font-size:8px}
.v12-cart-item-price{font-size:15px}
.v13-themes-strip__head strong{font-size:23px}
.v24-category-card{line-height:1.32;color:#274a4f}

/* V87 · Navegacion superior consistente: Bordados, Papeleria y Textil */
.products-v12-page[data-category="parches"] .v34-option-bar,
.products-v12-page[data-category="papeleria"] .v34-option-bar,
.products-v12-page[data-category="textil"] .v34-option-bar{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 160px!important;
  align-items:stretch!important;
  gap:9px!important;
  padding:9px!important;
  border-radius:16px!important;
}
.products-v12-page[data-category="parches"] .v34-subcategory-buttons,
.products-v12-page[data-category="papeleria"] .v34-subcategory-buttons,
.products-v12-page[data-category="textil"] .v34-subcategory-buttons{
  display:grid!important;
  gap:9px!important;
  min-width:0!important;
}
.products-v12-page[data-category="parches"] .v34-subcategory-buttons{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.products-v12-page[data-category="papeleria"] .v34-subcategory-buttons,
.products-v12-page[data-category="textil"] .v34-subcategory-buttons{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.products-v12-page[data-category="parches"] .v34-subcategory-buttons .v20-option-button,
.products-v12-page[data-category="papeleria"] .v34-subcategory-buttons .v20-option-button,
.products-v12-page[data-category="textil"] .v34-subcategory-buttons .v20-option-button{
  width:100%!important;
  min-width:0!important;
  height:54px!important;
  min-height:54px!important;
  max-height:54px!important;
  padding:7px 13px!important;
  border:1px solid color-mix(in srgb,var(--current-category-color) 22%,#ded8d4)!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#284f52!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.2!important;
  text-align:center!important;
  white-space:normal!important;
  text-wrap:balance;
}
.products-v12-page[data-category="parches"] .v34-subcategory-buttons .v20-option-button:hover,
.products-v12-page[data-category="papeleria"] .v34-subcategory-buttons .v20-option-button:hover,
.products-v12-page[data-category="textil"] .v34-subcategory-buttons .v20-option-button:hover{
  border-color:var(--current-category-color)!important;
  background:color-mix(in srgb,var(--current-category-color) 5%,#fff)!important;
  color:var(--current-category-color)!important;
  transform:none!important;
}
.products-v12-page[data-category="parches"] .v34-subcategory-buttons .v20-option-button.selected,
.products-v12-page[data-category="papeleria"] .v34-subcategory-buttons .v20-option-button.selected,
.products-v12-page[data-category="textil"] .v34-subcategory-buttons .v20-option-button.selected{
  border-color:var(--current-category-color)!important;
  background:var(--current-category-color)!important;
  color:#fff!important;
  box-shadow:0 5px 12px color-mix(in srgb,var(--current-category-color) 18%,transparent)!important;
}
.products-v12-page[data-category="parches"] .v34-option-bar .category-toggle,
.products-v12-page[data-category="papeleria"] .v34-option-bar .category-toggle,
.products-v12-page[data-category="textil"] .v34-option-bar .category-toggle{
  flex:none!important;
  width:160px!important;
  min-width:160px!important;
  max-width:160px!important;
  height:54px!important;
  min-height:54px!important;
  max-height:54px!important;
  align-self:stretch!important;
  padding:0 14px!important;
  border:1.5px solid var(--current-category-color)!important;
  border-radius:13px!important;
  background:#fff!important;
  color:var(--current-category-color)!important;
  box-shadow:none!important;
  font-size:13px!important;
  font-weight:850!important;
}
.products-v12-page[data-category="parches"] .v34-option-bar .category-toggle:hover,
.products-v12-page[data-category="papeleria"] .v34-option-bar .category-toggle:hover,
.products-v12-page[data-category="textil"] .v34-option-bar .category-toggle:hover{
  background:color-mix(in srgb,var(--current-category-color) 7%,#fff)!important;
  filter:none!important;
  transform:none!important;
}
.products-v12-page[data-category="parches"] .v34-option-bar .category-toggle[aria-expanded="true"],
.products-v12-page[data-category="papeleria"] .v34-option-bar .category-toggle[aria-expanded="true"],
.products-v12-page[data-category="textil"] .v34-option-bar .category-toggle[aria-expanded="true"]{
  background:var(--current-category-color)!important;
  color:#fff!important;
}
@media(max-width:980px){
  .products-v12-page[data-category="parches"] .v34-option-bar,
  .products-v12-page[data-category="papeleria"] .v34-option-bar,
  .products-v12-page[data-category="textil"] .v34-option-bar{
    grid-template-columns:1fr!important;
  }
  .products-v12-page[data-category="parches"] .v34-option-bar .category-toggle,
  .products-v12-page[data-category="papeleria"] .v34-option-bar .category-toggle,
  .products-v12-page[data-category="textil"] .v34-option-bar .category-toggle{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
}
@media(max-width:720px){
  .products-v12-page[data-category="parches"] .v34-subcategory-buttons,
  .products-v12-page[data-category="papeleria"] .v34-subcategory-buttons,
  .products-v12-page[data-category="textil"] .v34-subcategory-buttons{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:430px){
  .products-v12-page[data-category="parches"] .v34-subcategory-buttons,
  .products-v12-page[data-category="papeleria"] .v34-subcategory-buttons,
  .products-v12-page[data-category="textil"] .v34-subcategory-buttons{
    grid-template-columns:1fr!important;
  }
}
.admin-sheet-quantity{width:100%;min-width:130px;height:44px;border:1px solid #e6cfc6;border-radius:10px;padding:0 12px;font-size:16px;font-weight:700;color:#073f45;background:#fff}
