:root{--green:#08a951;--deep:#0b2f23;--ink:#10251e;--muted:#6f7e78;--line:#dce7e2;--soft:#f4f8f6;--white:#fff;--shadow:0 18px 55px rgba(11,47,35,.10)}*{box-sizing:border-box}html{font-family:Inter,Montserrat,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f6faf8}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.72rem;color:var(--green)}.muted{color:var(--muted)}.lead{font-size:1.08rem;line-height:1.65;color:#50615b}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;background:var(--green);color:white;padding:13px 18px;font-weight:800;transition:.2s}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(8,169,81,.18)}.btn.ghost{background:white;color:var(--deep);border:1px solid var(--line)}.btn.secondary{background:var(--deep)}.btn.disabled,.choice.disabled{opacity:.45;pointer-events:none}.notice{padding:13px 15px;border-radius:12px;background:#eaf8ef;margin:0 0 16px}.notice.error{background:#fff0f0}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.84rem;font-weight:700}.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:12px;padding:12px 13px;background:white;color:var(--ink);outline:0}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(8,169,81,.09)}.field textarea{min-height:110px;resize:vertical}.field.full{grid-column:1/-1}
/* initial */.assistant-stage{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,#e7f8ed,transparent 38%),#f7faf8}.welcome-card{width:min(720px,100%);background:white;border:1px solid var(--line);border-radius:28px;padding:clamp(28px,6vw,58px);box-shadow:var(--shadow)}.welcome-card h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.02;margin:10px 0 15px;letter-spacing:-.04em}.welcome-card>p{color:var(--muted);font-size:1.05rem;line-height:1.6}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}.choice{border:1px solid var(--line);border-radius:20px;padding:22px;display:grid;grid-template-columns:auto 1fr;column-gap:13px;row-gap:4px;background:white;transition:.2s}.choice:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.choice.primary{border-color:#bfe7ce;background:#f1fbf5}.choice-icon{grid-row:1/3;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--deep);color:white;font-weight:900}.choice.primary .choice-icon{background:var(--green)}.choice b{font-size:1.03rem}.choice small{color:var(--muted);line-height:1.35}
/* assistant */.assistant-shell{min-height:100dvh}.assistant-header{height:68px;padding:0 max(20px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--line)}.catalog-logo{font-size:1.06rem}.catalog-logo b{color:var(--green)}.wa-mini{font-weight:800;font-size:.9rem;color:var(--green)}.chat-layout{max-width:1180px;margin:0 auto;padding:22px;display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;height:calc(100dvh - 68px)}.chat-card,.selection-card{background:white;border:1px solid var(--line);border-radius:22px;box-shadow:0 8px 30px rgba(11,47,35,.05)}.chat-card{display:flex;flex-direction:column;min-height:0;overflow:hidden}.chat-thread{padding:22px;overflow:auto;flex:1}.bubble{max-width:78%;padding:13px 15px;border-radius:17px;margin:0 0 10px;line-height:1.45;background:var(--soft)}.bubble.bot{border-bottom-left-radius:5px}.bubble.subtle{font-size:.9rem;color:var(--muted)}.bubble.user{margin-left:auto;background:var(--deep);color:white;border-bottom-right-radius:5px}.chat-form{display:flex;gap:10px;padding:14px;border-top:1px solid var(--line);background:white}.chat-form input{min-width:0;flex:1;border:1px solid var(--line);border-radius:14px;padding:13px 15px;outline:0}.chat-form button{border:0;border-radius:13px;background:var(--green);color:white;font-weight:800;padding:0 18px}.chat-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 18px}.chat-product{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:white;display:grid;grid-template-columns:92px 1fr}.cp-img{background:var(--soft);min-height:126px;display:grid;place-items:center;color:#9aaba4;font-weight:800;font-size:.75rem}.cp-img img{width:100%;height:100%;object-fit:contain}.cp-body{padding:12px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.cp-body small{color:var(--green);font-weight:800}.cp-body span{font-size:.82rem;color:var(--muted)}.cp-body strong{margin-top:2px}.cp-body button{margin-top:auto;border:0;border-radius:9px;background:var(--deep);color:white;font-size:.78rem;font-weight:800;padding:8px 10px}.selection-card{padding:18px;display:flex;flex-direction:column;min-height:0}.selection-head{display:flex;justify-content:space-between;align-items:center}.selection-head h2{margin:3px 0}.pill{min-width:30px;height:30px;border-radius:15px;background:var(--green);color:white;display:grid;place-items:center;font-weight:900}.cart-items{overflow:auto;flex:1;margin-top:10px}.empty{color:var(--muted);font-size:.9rem}.cart-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.cart-row b{font-size:.88rem;display:block}.cart-row small{color:var(--muted)}.qty{display:flex;align-items:center;gap:8px}.qty button{width:27px;height:27px;border:1px solid var(--line);background:white;border-radius:8px}.selection-actions{padding-top:14px}.selection-actions .btn{width:100%}
/* public catalog */.catalog-wrap{max-width:1150px;margin:auto;padding:0 22px 110px}.catalog-top{height:72px;display:flex;align-items:center;justify-content:space-between}.assistant-link{font-size:.88rem;font-weight:800;color:var(--green)}.catalog-hero{border-radius:26px;background:var(--deep);color:white;padding:clamp(28px,5vw,58px);margin:8px 0 24px}.catalog-hero h1{font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.04em;margin:8px 0}.catalog-hero p{max-width:690px;color:#d8e6e0;line-height:1.6}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.product{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.product-img{height:220px;background:var(--soft);display:grid;place-items:center;color:var(--muted)}.product-img img{width:100%;height:100%;object-fit:contain}.product-body{padding:16px}.product-body h3{margin:4px 0 8px}.product-body p{margin:4px 0;color:var(--muted)}.mini-meta{color:var(--green);font-size:.75rem;font-weight:800}.price{display:block;font-size:1.1rem;font-weight:900;margin-top:9px}.price.big{font-size:1.6rem;margin:18px 0}.sharebar{position:fixed;left:0;right:0;bottom:0;padding:10px 18px;background:rgba(247,250,248,.9);backdrop-filter:blur(14px);border-top:1px solid var(--line)}.sharebox{max-width:800px;margin:auto;display:flex;justify-content:center;gap:9px}
/* order + detail */.order-wrap,.product-detail{max-width:880px;margin:auto;padding:44px 22px}.order-wrap h1,.product-detail h1{font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.04em}.back{display:inline-block;margin-bottom:28px;color:var(--muted);font-weight:700}.order-review{background:white;border:1px solid var(--line);border-radius:18px;padding:8px 18px;margin:24px 0}.review-row{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}.review-row:last-child{border:0}.review-row b,.review-row small{display:block}.review-row small{color:var(--muted)}.order-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:white;border:1px solid var(--line);border-radius:20px;padding:20px}.order-form button{width:max-content}.success-card{text-align:center;background:white;border:1px solid var(--line);border-radius:22px;padding:38px;margin-top:20px}.success-icon{width:54px;height:54px;margin:auto;border-radius:27px;display:grid;place-items:center;background:#eaf8ef;color:var(--green);font-size:1.5rem;font-weight:900}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.detail-image{background:white;border:1px solid var(--line);border-radius:22px;min-height:420px;display:grid;place-items:center}.detail-image img{width:100%;height:100%;object-fit:contain;max-height:520px}
/* admin */.admin-body{background:#f5f8f6}.topbar{height:66px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:20}.brand{font-weight:900}.brand span{color:var(--green)}.topbar nav{display:flex;gap:18px;font-size:.86rem;font-weight:700;color:#53635d}.shell{max-width:1180px;margin:auto;padding:28px 22px}.hero-admin{padding:20px 0 26px}.hero-admin h1{font-size:clamp(2rem,5vw,3.4rem);max-width:800px;letter-spacing:-.04em;margin:8px 0}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat,.panel{background:white;border:1px solid var(--line);border-radius:18px}.stat{padding:20px}.stat strong{display:block;font-size:2rem}.stat span{color:var(--muted)}.panel{padding:20px;margin-top:16px;overflow:auto}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.panel-head h2{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:12px 9px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.75rem;text-transform:uppercase;color:var(--muted);letter-spacing:.06em}.login{min-height:100dvh;display:grid;place-items:center;padding:20px}.login-card{width:min(420px,100%);background:white;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}
@media(max-width:900px){.chat-layout{grid-template-columns:1fr;height:auto}.selection-card{min-height:270px}.products{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:repeat(2,1fr)}.topbar nav{overflow:auto;white-space:nowrap;max-width:70vw}.detail-grid{grid-template-columns:1fr}.detail-image{min-height:320px}}
@media(max-width:620px){.choice-grid{grid-template-columns:1fr}.welcome-card{border-radius:22px}.assistant-header{height:60px;padding:0 16px}.chat-layout{padding:10px;height:calc(100dvh - 60px);display:flex;flex-direction:column}.chat-card{min-height:58dvh}.selection-card{min-height:240px}.chat-thread{padding:14px}.bubble{max-width:90%;font-size:.94rem}.chat-products{grid-template-columns:1fr}.chat-product{grid-template-columns:82px 1fr}.cp-img{min-height:118px}.products{grid-template-columns:1fr 1fr;gap:9px}.product-img{height:160px}.product-body{padding:12px}.product-body h3{font-size:.9rem}.sharebox{overflow:auto;justify-content:flex-start}.sharebox .btn{white-space:nowrap}.order-form,.form-grid{grid-template-columns:1fr}.order-form .full,.field.full{grid-column:auto}.grid{grid-template-columns:1fr 1fr}.topbar{padding:0 14px}.topbar nav{gap:13px}.shell{padding:20px 12px}.assistant-link{font-size:.75rem}}
/* V3 Tienda Planeta */
.shop-page{margin:0;background:#f5f7f6;color:#102a22;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.shop-header{height:72px;background:#fff;border-bottom:1px solid #e5ebe8;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 1240px)/2));position:sticky;top:0;z-index:20}.shop-brand{display:flex;gap:10px;align-items:center;color:#0b2f23;text-decoration:none}.shop-brand b{display:block;font-size:20px;line-height:1}.shop-brand small{display:block;color:#6c7d76;margin-top:4px}.planet-dot{width:38px;height:38px;border-radius:12px;background:#08a951;color:white;display:grid;place-items:center;font-weight:900}.cart-pill{border:0;background:#0b2f23;color:#fff;border-radius:999px;padding:11px 16px;font-weight:750;cursor:pointer}.cart-pill span{background:#08a951;border-radius:999px;padding:3px 8px;margin-left:6px}.shop-main{max-width:1240px;margin:auto;padding:28px 22px 80px}.shop-hero{background:linear-gradient(120deg,#0b2f23,#114a38);border-radius:28px;padding:48px;color:#fff;overflow:hidden}.shop-hero .eyebrow{color:#9ce2be}.shop-hero h1{font-size:clamp(32px,5vw,58px);max-width:780px;line-height:1.02;margin:8px 0 14px}.shop-hero p{max-width:650px;font-size:18px;color:#d8e8e1}.shop-search{display:flex;max-width:720px;margin-top:28px;background:#fff;border-radius:16px;padding:6px}.shop-search input{flex:1;border:0;outline:0;font-size:16px;padding:12px 14px;min-width:0}.shop-search button{border:0;background:#08a951;color:#fff;border-radius:12px;padding:0 22px;font-weight:750}.filter-row{display:flex;gap:10px;overflow:auto;padding:22px 0 12px}.filter-chip{white-space:nowrap;text-decoration:none;color:#29453b;background:#fff;border:1px solid #dde6e2;padding:10px 14px;border-radius:999px;font-weight:700}.filter-chip.active{background:#0b2f23;color:#fff}.filter-chip small{opacity:.65;margin-left:5px}.shop-layout{display:grid;grid-template-columns:220px 1fr;gap:28px;margin-top:16px}.shop-sidebar{background:#fff;border:1px solid #e3e9e6;border-radius:20px;padding:18px;height:max-content;position:sticky;top:92px}.shop-sidebar h3{margin:0 0 10px}.shop-sidebar a{display:flex;justify-content:space-between;text-decoration:none;color:#50665d;padding:9px 8px;border-radius:10px;font-size:14px}.shop-sidebar a.active,.shop-sidebar a:hover{background:#edf8f2;color:#087d3f}.shop-sidebar span{opacity:.55}.product-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.product-head h2{margin:0;font-size:25px}.product-head p{margin:5px 0 0;color:#778981}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.shop-card{background:#fff;border:1px solid #e3e9e6;border-radius:20px;overflow:hidden;display:flex;flex-direction:column;min-width:0}.product-media{height:205px;background:#f0f4f2;display:block}.product-media img{width:100%;height:100%;object-fit:contain;padding:14px;box-sizing:border-box}.brand-placeholder{height:100%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 50% 20%,#fff,#edf3f0);color:#789087}.brand-placeholder span{font-size:54px;font-weight:900;color:#0b2f23;opacity:.13}.brand-placeholder small{text-transform:uppercase;letter-spacing:1.8px;font-weight:800}.shop-card-body{padding:18px;display:flex;flex-direction:column;flex:1}.product-brand{text-transform:uppercase;letter-spacing:1.3px;font-size:11px;font-weight:900;color:#08a951}.shop-card h3{font-size:18px;line-height:1.2;margin:7px 0}.shop-card h3 a{color:#102a22;text-decoration:none}.presentation{font-size:12px;font-weight:750;color:#60746c;margin-bottom:8px}.shop-card p{color:#687c74;font-size:13px;line-height:1.45;flex:1}.add-product{border:0;background:#eaf7f0;color:#087d3f;border-radius:12px;padding:12px;font-weight:800;cursor:pointer}.add-product:hover{background:#08a951;color:#fff}.cart-drawer{position:fixed;inset:0;z-index:50;pointer-events:none;visibility:hidden}.cart-drawer.open{pointer-events:auto;visibility:visible}.cart-backdrop{position:absolute;inset:0;background:#001b12aa;opacity:0;transition:.2s}.cart-drawer.open .cart-backdrop{opacity:1}.cart-drawer aside{position:absolute;right:0;top:0;height:100%;width:min(430px,94vw);background:#fff;padding:24px;box-sizing:border-box;transform:translateX(100%);transition:.25s;display:flex;flex-direction:column}.cart-drawer.open aside{transform:none}.cart-title{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid #e7ecea;padding-bottom:16px}.cart-title small{color:#789087}.cart-title h2{margin:3px 0}.cart-title button{border:0;background:#edf2f0;width:36px;height:36px;border-radius:50%;font-size:24px}.cart-row{display:flex;justify-content:space-between;gap:10px;padding:15px 0;border-bottom:1px solid #edf1ef}.cart-row b{font-size:14px}.cart-row small{display:block;color:#81928b;margin-top:4px}.qty{display:flex;align-items:center;gap:9px}.qty button{width:28px;height:28px;border:0;border-radius:8px;background:#eef4f1}.empty-cart{padding:35px 0;color:#71837c}.cart-checkout{margin-top:auto;text-align:center;text-decoration:none}.shop-card .btn{width:100%}
@media(max-width:900px){.shop-layout{grid-template-columns:1fr}.shop-sidebar{display:none}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-hero{padding:34px 26px}}
@media(max-width:560px){.shop-header{height:64px;padding:0 14px}.shop-brand small{display:none}.shop-main{padding:14px 12px 88px}.shop-hero{border-radius:20px;padding:27px 20px}.shop-hero h1{font-size:34px}.shop-hero p{font-size:15px}.shop-search{margin-top:20px}.shop-search button{padding:0 14px}.filter-row{padding:14px 0 8px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.product-media{height:145px}.shop-card{border-radius:15px}.shop-card-body{padding:12px}.shop-card h3{font-size:15px}.shop-card p{display:none}.add-product{font-size:12px;padding:10px 7px}.presentation{font-size:11px}.product-head h2{font-size:21px}}
/* V4 product galleries */
.panel-actions,.image-toolbar,.upload-inline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.image-admin{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}.admin-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.admin-image{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;position:relative}.admin-image.primary{box-shadow:0 0 0 2px var(--green)}.admin-image>img{width:100%;height:170px;object-fit:contain;background:var(--soft);display:block}.image-meta{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;font-size:.76rem}.image-meta b{color:var(--green)}.image-actions{display:flex;gap:7px;padding:0 10px 10px;flex-wrap:wrap}.image-actions button{border:0;background:#edf5f1;border-radius:8px;padding:7px 9px;font-size:.74rem;font-weight:700}.image-actions .danger-link{color:#9b3535;background:#fff0f0}.empty-images{padding:24px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);margin-top:16px}.admin-thumb{width:58px;height:58px;object-fit:contain;border-radius:10px;background:var(--soft);border:1px solid var(--line)}.thumb-empty{display:grid;place-items:center;width:58px;height:58px;border-radius:10px;background:var(--soft);color:#a4b0ab}.image-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.image-stats>div{background:var(--soft);border-radius:14px;padding:18px}.image-stats strong{display:block;font-size:1.65rem}.image-stats span{color:var(--muted);font-size:.82rem}.import-actions{display:flex;gap:10px;flex-wrap:wrap}.product-thumbs{display:flex;gap:9px;overflow:auto;margin-top:10px;padding-bottom:3px}.product-thumb{width:76px;height:76px;flex:0 0 76px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:4px}.product-thumb.active{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.product-thumb img{width:100%;height:100%;object-fit:contain}
@media(max-width:760px){.admin-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.image-stats{grid-template-columns:1fr}.upload-inline input{max-width:100%}}

/* V4.1 UX: mantener al usuario en resultados al filtrar */
.product-area{scroll-margin-top:96px}
@media(max-width:560px){.product-area{scroll-margin-top:78px}}


/* V4.2 Paginación de catálogo */
.shop-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:28px 0 4px;flex-wrap:wrap}.page-numbers{display:flex;align-items:center;gap:7px}.page-number,.page-nav{min-height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dce7e2;background:#fff;color:#29453b;border-radius:11px;font-weight:800;text-decoration:none;transition:.18s}.page-number{min-width:40px;padding:0 10px}.page-nav{padding:0 14px}.page-number:hover,.page-nav:hover{border-color:#08a951;color:#087d3f;background:#f1faf5}.page-number.active{background:#0b2f23;border-color:#0b2f23;color:#fff}.page-ellipsis{color:#81928b;padding:0 2px}.shop-pagination a:focus-visible{outline:3px solid rgba(8,169,81,.22);outline-offset:2px}
@media(max-width:560px){.shop-pagination{gap:8px;margin-top:22px}.page-nav{padding:0 11px;font-size:13px}.page-number{min-width:38px;min-height:38px}.page-ellipsis{display:none}}
