/* Ortenovus — ortenovus.com — hoja de estilo (16/10/2026) */
:root{
  --red:#b30009;
  --red-dark:#7a000a;
  --red-deep:#6e0005;
  --ink:#1c1a19;
  --ink-soft:#4a4543;
  --paper:#ffffff;
  --cream:#faf6f1;
  --line:#e8e1d8;
  --wa:#1fa855;
  --radius:14px;
  --max:1120px;
  --font:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.55;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--red);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.15;margin:0 0 .5em;font-weight:800;letter-spacing:-.01em}
h1{font-size:clamp(1.9rem,4.2vw,3rem)}
h2{font-size:clamp(1.5rem,3vw,2.1rem)}
h3{font-size:1.1rem;font-weight:700}
p{margin:0 0 1em}
.tiny{font-size:.8rem;opacity:.8}

/* cabecera */
.top{background:var(--red);color:#fff;display:flex;align-items:center;gap:1.5rem;padding:.6rem 1rem;position:sticky;top:0;z-index:20;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.top .brand img{height:44px;width:auto}
.nav{display:flex;gap:1.2rem;margin-left:auto;flex-wrap:wrap}
.nav a{color:#fff;font-weight:600;font-size:.92rem;opacity:.95}
.nav a:hover{text-decoration:none;opacity:1;border-bottom:2px solid #fff}
.lang{display:flex;gap:.3rem;align-items:center;border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:.2rem .3rem}
.lang span,.lang a{display:flex;padding:.2rem .35rem;border-radius:999px;line-height:0}
.lang img{width:24px;height:16px;border-radius:2px;display:block;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.lang .on{background:#fff}
.lang a img{opacity:.9}
.lang a:hover{text-decoration:none;background:rgba(255,255,255,.2)}
.lang a:hover img{opacity:1}

/* bloques */
main{display:block}
.block{max-width:var(--max);margin:0 auto;padding:4rem 1rem}
.block.alt{max-width:none;background:var(--cream)}
.block.alt > *{max-width:var(--max);margin-left:auto;margin-right:auto}
.block.red{max-width:none;background:var(--red);color:#fff}
.block.red > *{max-width:var(--max);margin-left:auto;margin-right:auto}
.block.red a{color:#fff}
.sub{font-size:1.1rem;color:var(--ink-soft);max-width:48rem;margin-bottom:2rem}
.block.red .sub{color:rgba(255,255,255,.9)}
.note{font-size:.92rem;color:var(--ink-soft);margin-top:1.5rem}

/* hero */
.hero{max-width:var(--max);margin:0 auto;padding:3.5rem 1rem 2.5rem;display:grid;grid-template-columns:1.15fr 1fr;grid-template-areas:"head phone" "body phone";column-gap:2.5rem;row-gap:0;align-items:center}
.hero-head{grid-area:head;align-self:end}
.hero-body{grid-area:body;align-self:start}
.hero .phone{grid-area:phone}
.kicker{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;color:var(--red);margin-bottom:1rem}
.lead{font-size:1.12rem;color:var(--ink-soft);max-width:36rem}
.cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}

/* botones */
.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.85rem 1.3rem;border-radius:999px;font-weight:700;font-size:.98rem;border:2px solid transparent;cursor:pointer;font-family:inherit;line-height:1.1;transition:transform .12s ease,box-shadow .12s ease}
.btn:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.14)}
.btn-wa{background:var(--wa);color:#fff}
.btn-ghost{background:transparent;color:var(--red);border-color:var(--red)}
.btn-white,.block.red .btn-white{background:#fff;color:var(--red)}
.btn-ghost-white{background:transparent;color:#fff;border-color:#fff}

/* franja de datos */
.strip{background:var(--red-dark);color:#fff;display:grid;grid-template-columns:repeat(4,1fr);max-width:none}
.strip div{padding:1.1rem 1rem;text-align:center;border-left:1px solid rgba(255,255,255,.18)}
.strip div:first-child{border-left:0}
.strip b{display:block;font-size:1.35rem;font-weight:800}
.strip span{font-size:.85rem;opacity:.9}

/* pasos */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;counter-reset:s}
.steps li{background:var(--cream);border-radius:var(--radius);padding:1.6rem 1.4rem 1.4rem;position:relative;border:1px solid var(--line)}
.steps .num{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--red);color:#fff;font-weight:800;margin-bottom:.9rem}
.steps p{margin:0;color:var(--ink-soft);font-size:.95rem}
.fee{margin-top:2rem;border-left:5px solid var(--red);padding:.4rem 1.2rem;background:#fff}
.fee h3{margin-bottom:.3rem}
.fee p{margin:0;color:var(--ink-soft)}

/* productos */
.prod-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;align-items:start}
.products{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.products li{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.1rem 1rem}
.products h3{margin-bottom:.25rem}
.products p{margin:0 0 .6rem;font-size:.92rem;color:var(--ink-soft)}
.season{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--red);background:#fbe9ea;border-radius:999px;padding:.2rem .6rem}

/* quiénes somos */
.about{display:grid;grid-template-columns:1fr 1.3fr;gap:2.5rem;align-items:center}
.checks{list-style:none;padding:0;margin:1rem 0 0}
.checks li{padding-left:1.8rem;position:relative;margin-bottom:.5rem;font-weight:500}
.checks li::before{content:"";position:absolute;left:0;top:.35em;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--red);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.2 14.4-4-4 1.4-1.4 2.6 2.6 5.6-5.6 1.4 1.4-7 7z'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.2 14.4-4-4 1.4-1.4 2.6 2.6 5.6-5.6 1.4 1.4-7 7z'/></svg>") center/contain no-repeat}

/* contacto */
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:2.5rem;align-items:start}
.direct{display:flex;flex-direction:column;gap:.8rem;align-items:flex-start}
.direct .btn{width:100%;justify-content:center;max-width:420px}
.hours{margin-top:.6rem;font-size:.9rem;opacity:.9}
.quick{background:rgba(0,0,0,.12);border-radius:var(--radius);padding:1.3rem}
.quick label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.8rem}
.quick input,.quick textarea{display:block;width:100%;margin-top:.3rem;border:0;border-radius:8px;padding:.7rem .8rem;font:inherit;font-size:.95rem;background:#fff;color:var(--ink)}
.quick .row{display:flex;gap:.6rem;flex-wrap:wrap;margin:.4rem 0 .6rem}

/* huecos de fotos */
.photo{margin:0;border-radius:var(--radius);overflow:hidden;background:#fff;min-height:260px;position:relative;aspect-ratio:4/3;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.photo.tall{aspect-ratio:3/4}
.photo img{width:100%;height:100%;object-fit:cover}
.photo figcaption{display:none}
.photo.empty{background:
  repeating-linear-gradient(135deg,transparent 0 14px,rgba(179,0,9,.05) 14px 28px),
  linear-gradient(160deg,#fff4f4,#f6e7e7)}
.photo.empty img{display:none}
.photo.empty figcaption{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;position:absolute;inset:0;color:var(--red);font-weight:700;text-align:center;padding:1rem}
.photo.empty figcaption::before{content:"";width:46px;height:46px;border-radius:50%;background:var(--red);opacity:.9;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 3 7.2 5H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-3.2L15 3H9zm3 5a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6z'/></svg>") center/60% no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 3 7.2 5H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-3.2L15 3H9zm3 5a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6z'/></svg>") center/60% no-repeat}
.photo.empty small{font-weight:500;font-size:.72rem;opacity:.7;font-family:monospace}

/* pie */
.foot{background:var(--ink);color:#d9d3cc;text-align:center;padding:2.5rem 1rem;font-size:.9rem}
.foot a{color:#fff}
.foot-logo{height:38px;width:auto;margin:0 auto 1rem;opacity:.95}
.foot p{margin:.3rem 0}

/* legales */
.legal-page .legal{max-width:52rem}
.legal h1{margin-bottom:1.5rem}
.legal section{margin-bottom:2.5rem}
.legal h2{font-size:1.4rem;color:var(--red)}
.legal ul{padding-left:1.2rem}
.legal li{margin-bottom:.3rem}
.pending{background:#fff2c2;padding:0 .3rem;border-radius:4px}
.updated{font-size:.85rem;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:1rem}

/* móvil */
@media (max-width:860px){
  .hero,.prod-grid,.about,.contact{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .strip{grid-template-columns:repeat(2,1fr)}
  .strip div{border-left:0;border-top:1px solid rgba(255,255,255,.18)}
  .strip div:nth-child(1),.strip div:nth-child(2){border-top:0}
  .strip div:nth-child(2n){border-left:1px solid rgba(255,255,255,.18)}
  .about .photo{order:2}
  .nav{display:none}
  .block{padding:3rem 1rem}
  .photo{min-height:200px}
}
@media (max-width:520px){
  .products{grid-template-columns:1fr}
  .top .brand img{height:36px}
  .cta .btn{width:100%;justify-content:center}
}

/* dos productos principales */
.products.two{grid-template-columns:1fr;gap:1.2rem}
.products.two li{padding:1.5rem 1.5rem 1.3rem;border-left:5px solid var(--red)}
.products.two h3{font-size:1.35rem}
.products.two p{font-size:1rem}

/* dos cajas: precio máximo + lo que cuesta */
.fees{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}
.fees .fee{margin-top:0}
@media (max-width:860px){.fees{grid-template-columns:1fr}}

/* móvil con la captura de WhatsApp (portada) */
.phone{margin:0;display:flex;flex-direction:column;align-items:center;gap:.8rem}
.phone-screen{width:min(340px,80vw);aspect-ratio:1159/2576;border-radius:34px;background:#111;padding:10px;box-shadow:0 18px 44px rgba(0,0,0,.28),0 0 0 2px #2a2a2a inset;overflow:hidden;position:relative}
.phone-screen img{width:100%;height:100%;object-fit:contain;border-radius:26px;display:block;background:#0b141a}
.phone figcaption{font-size:.85rem;color:var(--ink-soft);text-align:center;max-width:22rem;line-height:1.4}
@media (max-width:860px){.phone-screen{width:min(300px,78vw)}}


/* ===== móvil primero: el 90 % entra desde el teléfono ===== */
.wa-float{display:none}
@media (max-width:860px){
  .hero{grid-template-columns:1fr;grid-template-areas:"head" "phone" "body";padding:1.6rem 1rem 1.2rem;row-gap:1.2rem}
  .hero-head h1{margin-bottom:0}
  .kicker{margin-bottom:.6rem}
  .hero .phone{margin:.4rem 0 0}
  .phone-screen{width:min(270px,74vw);aspect-ratio:1159/2576;border-radius:28px;padding:8px}
  .phone-screen img{border-radius:21px}
  .phone figcaption{font-size:.82rem}
  .lead{font-size:1.02rem;margin-bottom:.2rem}
  .cta{margin-top:1rem}
  /* cabecera: logo + idioma arriba, menú en una fila deslizable debajo */
  .top{flex-wrap:wrap;gap:.5rem .8rem;padding:.55rem .9rem .35rem}
  .top .brand{margin-right:auto}
  .nav{display:flex;order:3;width:100%;margin:0;gap:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .nav::-webkit-scrollbar{display:none}
  .nav a{font-size:.8rem;padding:.35rem .6rem .5rem;white-space:nowrap;opacity:.9}
  .nav a:hover{border-bottom:0}
  h2{font-size:1.45rem}
  .sub{font-size:1rem;margin-bottom:1.3rem}
  .block{padding:2.4rem 1rem}
  .strip b{font-size:1.15rem}
  .strip span{font-size:.78rem}
  .steps{gap:.9rem}
  .steps li{padding:1.2rem 1.1rem 1.1rem}
  .fees{margin-top:1.4rem;gap:1rem}
  .products.two li{padding:1.2rem 1.1rem 1rem}
  .photo{min-height:180px}
  .contact{gap:1.6rem}
  .quick{padding:1rem}
  .foot{padding:2rem 1rem 5.5rem}
  /* botón flotante de WhatsApp */
  .wa-float{position:fixed;right:14px;bottom:14px;z-index:30;display:flex;align-items:center;gap:.5rem;background:var(--wa);color:#fff;font-weight:800;padding:.75rem 1.1rem .75rem .9rem;border-radius:999px;box-shadow:0 8px 22px rgba(0,0,0,.28);text-decoration:none;transition:opacity .2s,transform .2s}
  .wa-float:hover{text-decoration:none}
  .wa-float.hide{opacity:0;transform:translateY(20px);pointer-events:none}
}
@media (max-width:400px){
  h1{font-size:1.75rem}
  .phone-screen{width:min(240px,70vw)}
}

/* foto del apartado de tomate: vertical, alineada arriba (se ve la etiqueta de CASI) */
.prod-photo{aspect-ratio:4/5;min-height:0}
.prod-photo img{object-position:top}
@media (max-width:860px){.prod-photo{aspect-ratio:4/5}}

/* lema junto al logo en la cabecera fija */
.tagline{color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.95;border-left:1px solid rgba(255,255,255,.5);padding-left:.9rem;white-space:nowrap}
@media (max-width:860px){
  .tagline{order:2;border-left:0;padding:0;width:100%;font-size:.66rem;letter-spacing:.12em;margin-top:-.2rem}
  .top .brand{margin-right:auto}
  .lang{order:1}
  .nav{order:3}
}

/* crédito pequeño sobre una foto */
.credit{position:absolute;right:.6rem;bottom:.5rem;font-size:.62rem;color:#fff;background:rgba(0,0,0,.45);padding:.15rem .5rem;border-radius:6px;letter-spacing:.02em}
.photo.empty .credit{display:none}
