:root{--ink:#18211d;--muted:#66706b;--cream:#f7f3ea;--green:#173e32;--lime:#c9e23e;--line:#dedfd8;--white:#fff;--danger:#a72d2d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--ink);background:#fbfbf8}a{color:inherit}button,input,select,textarea{font:inherit}.top{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{text-decoration:none;font-weight:900;font-size:28px;letter-spacing:-2px}.brand span{color:#7b9d00}.top nav{display:flex;gap:28px;align-items:center}.top nav a{text-decoration:none;font-weight:650}.cart-link b{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:20px;background:var(--lime);font-size:12px}.hero{min-height:560px;background:var(--green);color:#fff;padding:90px max(7vw,28px);display:flex;align-items:center;justify-content:space-between;overflow:hidden}.hero h1{font-size:clamp(42px,6vw,78px);line-height:1.02;letter-spacing:-4px;margin:12px 0 24px}.hero h1 span{color:var(--lime)}.hero p{max-width:620px;color:#d8e2dc;font-size:18px}.hero-mark{font-size:260px;font-weight:950;color:#214c40;letter-spacing:-40px;margin-right:8vw}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px!important;font-weight:850;color:#829800!important}.button{display:inline-block;border:0;border-radius:8px;background:var(--lime);color:#18211d;padding:13px 20px;font-weight:800;text-decoration:none;cursor:pointer}.button.secondary{background:#fff;border:1px solid var(--line)}.section{max-width:1300px;margin:auto;padding:70px max(4vw,24px)}.narrow{max-width:850px}.center{text-align:center}.section-title,.admin-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section h1,.section h2,.admin-head h1{letter-spacing:-1.5px}.section h2,.admin-head h1{font-size:38px;margin:0}.filters{display:flex;gap:8px}.filters input,.filters select,.filters button,.form input,.form select,.form textarea{border:1px solid var(--line);border-radius:7px;background:#fff;padding:11px 13px}.filters button{background:var(--green);color:#fff}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;display:flex;flex-direction:column}.photo{aspect-ratio:1;background:var(--cream);display:grid;place-items:center;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover}.placeholder{font-size:60px;font-weight:900;color:#d9d3c5}.card-body{padding:20px;display:flex;flex-direction:column;flex:1}.card-body small{color:#789000;text-transform:uppercase;font-weight:800}.card h3{margin:7px 0;font-size:21px}.card p{color:var(--muted);font-size:14px;flex:1}.price-row{display:flex;align-items:center;justify-content:space-between}.price-row strong{font-size:21px}.add{border:1px solid var(--green);background:#fff;border-radius:7px;padding:9px 12px;font-weight:750;cursor:pointer}.form{display:grid;gap:18px;margin:28px 0}.form label{display:grid;gap:6px;font-weight:700}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.checkline{display:flex!important;align-items:center}.privacy,.empty{color:var(--muted)}.cart{display:grid;gap:8px;margin:25px 0}.cart-row{display:grid;grid-template-columns:1fr 80px 120px 35px;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);padding:14px;border-radius:9px}.cart-row small{display:block;color:var(--muted)}.cart-row input{width:75px;padding:7px}.cart-row button{border:0;background:transparent;font-size:24px}.check{width:70px;height:70px;margin:auto;display:grid;place-items:center;background:var(--lime);border-radius:50%;font-size:35px}.login{max-width:480px}.error{background:#ffe8e8;color:#8b1111;padding:10px;border-radius:6px}.admin-head{max-width:1300px;margin:0 auto;padding:50px max(4vw,24px) 25px}.metrics,.admin-grid{max-width:1300px;margin:auto;padding:0 max(4vw,24px) 25px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.metrics article,.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px}.metrics b{font-size:36px;display:block}.metrics span{color:var(--muted)}.admin-grid{grid-template-columns:1.35fr 1fr}.panel{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{font-size:12px;text-transform:uppercase;color:var(--muted)}.quote-line{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none}.quote-line small{display:block;color:var(--muted)}.status{padding:4px 8px;border-radius:20px;background:#eee;font-size:12px}.status.new{background:#fff2ae}.status.closed{background:#dff3e2}.status.cancelled{background:#f5dddd}.danger{color:var(--danger);background:transparent;border:0;text-decoration:underline;cursor:pointer}.logout{max-width:1300px;margin:0 auto 40px;padding:0 max(4vw,24px)}.logout button{border:0;background:transparent;text-decoration:underline}.inline{grid-template-columns:1fr auto;align-items:end}footer{padding:35px;text-align:center;color:var(--muted);border-top:1px solid var(--line)}@media(max-width:760px){.top nav a:first-child{display:none}.top nav{gap:12px}.hero{min-height:auto;padding:65px 25px}.hero-mark{display:none}.hero h1{letter-spacing:-2px}.section-title,.admin-head{align-items:stretch;flex-direction:column}.filters{flex-direction:column}.two,.metrics,.admin-grid{grid-template-columns:1fr}.cart-row{grid-template-columns:1fr 65px 30px}.cart-row>b{display:none}.panel{padding:10px}th,td{padding:10px 7px;font-size:13px}}

/* Identidad visual Servicios JotaK */
:root{--ink:#061943;--muted:#60708d;--cream:#f1f7fb;--green:#071d50;--lime:#36a9d2;--line:#d9e4ee}
body{background:#fafdff}
.brand{display:flex;align-items:center;letter-spacing:0}
.brand img{display:block;width:auto;height:46px;max-width:230px;object-fit:contain}
.hero{background:linear-gradient(135deg,#04163f 0%,#082966 65%,#07558b 100%)}
.hero h1 span{color:#43b4dc}
.hero p{color:#dcebf5}
.hero-mark{color:rgba(54,169,210,.16)}
.eyebrow,.card-body small{color:#168fc2!important}
.button,.cart-link b,.check{background:#36a9d2;color:#03163f}
.button:hover{background:#59bce0}
.add{border-color:#167fb3;color:#08255d}
.filters button{background:#082966}
@media(max-width:760px){.brand img{height:38px;max-width:175px}}

/* Contraste y accesibilidad sobre la paleta del logotipo */
.top nav a:hover,.top nav a:focus-visible{color:#167fb3}
.button,.filters button{box-shadow:0 2px 0 rgba(3,22,63,.18)}
.button:focus-visible,.add:focus-visible,.filters button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #69c8e8;outline-offset:2px}
.card{box-shadow:0 8px 24px rgba(6,25,67,.06)}
.price-row strong,.section h1,.section h2,.admin-head h1{color:#061943}
.quote-price{font-size:17px!important;color:#167fb3!important}
.price-note{margin:10px 0 0!important;color:#536a85!important;font-size:13px!important}
.image-editor{display:grid;grid-template-columns:220px 1fr;gap:22px;align-items:center}
.image-preview{width:220px;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:var(--muted)}
.image-preview img{width:100%;height:100%;object-fit:contain;background:#fff}
@media(max-width:600px){.image-editor{grid-template-columns:1fr}.image-preview{width:100%;max-width:280px}}
.hero-image{width:min(42vw,560px);height:390px;border-radius:22px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.hero-image img{width:100%;height:100%;object-fit:cover}
.product-link{text-decoration:none}.product-link:hover,.details-link:hover{color:#168fc2}
.details-link{display:inline-block;margin-top:14px;color:#125f91;font-weight:750;text-decoration:none}
.product-page{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1fr);gap:60px;align-items:center}
.product-media{aspect-ratio:1;display:grid;place-items:center;overflow:hidden;background:var(--cream);border-radius:16px;border:1px solid var(--line)}
.product-media img{width:100%;height:100%;object-fit:contain;background:#fff}
.product-info h1{font-size:clamp(36px,5vw,60px);line-height:1.05;margin:12px 0 20px}
.product-description{white-space:pre-line;color:var(--muted)}.product-price{display:block;font-size:30px;margin:25px 0 5px}
.product-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.whatsapp{background:#25d366}.copy-status{color:#167fb3;font-weight:700}
@media(max-width:800px){.hero-image{display:none}.product-page{grid-template-columns:1fr;gap:30px}}
