
:root{
  --wine:#8f1515;
  --wine-dark:#6e1010;
  --ink:#34271f;
  --brown:#5c3b2b;
  --sand:#efe1ce;
  --cream:#fffaf2;
  --paper:#fbf4e9;
  --line:#dcc9b0;
  --muted:#76685d;
  --max:1260px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.topbar{background:#f7ecdc;border-bottom:1px solid var(--line);font-size:13px;color:#5f4a3d}
.topbar-inner{max-width:var(--max);margin:auto;padding:10px 24px;display:flex;gap:13px;align-items:center}
.topbar i{color:var(--wine);font-style:normal}
.topbar-right{margin-left:auto;display:flex;gap:26px;font-weight:700}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,250,242,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.header-inner{max-width:var(--max);margin:auto;height:96px;padding:0 24px;display:grid;grid-template-columns:170px 1fr auto;align-items:center;gap:25px}
.brand{align-self:start;position:relative;z-index:4}
.brand img{width:150px;height:150px;object-fit:contain;background:#fff;border-radius:50%;padding:4px;box-shadow:0 5px 22px rgba(73,48,31,.10)}
.nav{display:flex;justify-content:center;gap:42px;font-family:Georgia,"Times New Roman",serif;font-size:17px;font-weight:700}
.nav a:hover{color:var(--wine)}
.menu-btn{display:none;border:0;background:transparent;font-size:28px;color:var(--wine)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;background:var(--wine);color:white;border:1px solid var(--wine);border-radius:3px;font-family:Georgia,"Times New Roman",serif;font-weight:700;text-transform:uppercase;letter-spacing:.3px;transition:.2s;cursor:pointer}
.btn:hover{background:var(--wine-dark);transform:translateY(-1px)}
.btn-header{min-width:170px}
.btn-outline{background:transparent;color:var(--wine);border-color:var(--wine)}
.btn-outline:hover{background:#fff1ea;color:var(--wine)}
.hero{display:grid;grid-template-columns:44% 56%;min-height:580px;border-bottom:1px solid var(--line);background:#fffaf2}
.hero-copy-wrap{display:flex;align-items:center;background:linear-gradient(90deg,#fffaf2 0%,#fffaf2 78%,rgba(255,250,242,.9) 90%,rgba(255,250,242,0) 100%);position:relative;z-index:2}
.hero-copy{padding:78px 46px 54px max(34px,calc((100vw - var(--max))/2 + 24px));max-width:650px}
.kicker{display:flex;align-items:center;gap:12px;color:var(--wine);font:700 12px Georgia,serif;letter-spacing:3px;margin-bottom:18px}
.kicker span{width:44px;height:1px;background:var(--wine)}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(52px,5.6vw,84px);line-height:.92;margin:0 0 22px;text-transform:uppercase;letter-spacing:-2px;color:#372219}
.hero h1 em{font-style:normal;color:var(--wine)}
.hero-copy>p{font-family:Georgia,"Times New Roman",serif;font-size:18px;max-width:540px;color:#544235}
.hero-actions{display:flex;gap:14px;margin:28px 0 30px}
.hero-benefits{display:flex;gap:38px;border-top:1px solid #e4d7c7;padding-top:22px}
.hero-benefits div{display:flex;flex-direction:column}
.hero-benefits b{font-family:Georgia,serif;font-size:16px}
.hero-benefits span{font-size:13px;color:var(--muted)}
.hero-image{min-height:580px;background:url("assets/hero-rancho41.jpg") center/cover no-repeat;position:relative}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,250,242,.88) 0%,rgba(255,250,242,.15) 18%,transparent 38%)}
.freshness{position:absolute;right:7%;bottom:5%;z-index:2;width:150px;height:150px;border-radius:50%;background:rgba(143,21,21,.94);color:white;border:5px double #f4d9cf;display:grid;place-items:center;text-align:center;font:700 15px Georgia,serif;line-height:1.5;box-shadow:0 9px 25px rgba(61,23,18,.24);transform:rotate(-4deg)}
.freshness strong{font-size:17px}
.freshness span{font-size:20px}
.catalog-section{padding:58px 24px 78px;max-width:var(--max);margin:auto}
.section-title{text-align:center;margin-bottom:34px}
.section-title p,.eyebrow{font:700 12px Georgia,serif;letter-spacing:3px;color:var(--wine);text-transform:uppercase;margin:0 0 8px}
.section-title h2,.story h2,.distributor h2,.contact h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(34px,4vw,54px);line-height:1.02;margin:0;color:#3a271d}
.catalog-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.product-card{background:#f9eddc;border:1px solid var(--line);border-radius:9px;overflow:hidden;transition:.2s;box-shadow:0 8px 25px rgba(90,62,42,.05)}
.product-card:hover{transform:translateY(-4px);box-shadow:0 13px 30px rgba(90,62,42,.10)}
.product-name{font-family:Georgia,serif;font-weight:700;font-size:17px;padding:15px 16px;color:#4a2d20}
.product-name span{color:var(--wine);margin-right:7px}
.product-card img{width:100%;height:180px;object-fit:cover}
.product-link{padding:12px 16px;font-size:13px;font-weight:700;color:var(--wine)}
.story{background:#f1e2cf;border-block:1px solid #ddc8ad}
.story-inner{max-width:var(--max);margin:auto;padding:75px 24px;display:grid;grid-template-columns:270px 1fr;gap:70px;align-items:center}
.story-mark{width:235px;height:235px;border-radius:50%;display:grid;place-items:center;border:1px solid #cda98b;outline:12px solid rgba(143,21,21,.035);font:700 78px Georgia,serif;color:var(--wine);background:#fff8ef}
.story-inner>div:last-child p:last-child{font-family:Georgia,serif;font-size:19px;color:#645042;max-width:760px}
.section{max-width:var(--max);margin:auto;padding:82px 24px}
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:35px}
.steps-grid article{background:#fffaf2;border:1px solid var(--line);padding:28px;min-height:190px}
.steps-grid span{font:700 40px Georgia,serif;color:#caa98d}
.steps-grid h3{font:700 23px Georgia,serif;margin:5px 0;color:#3d281d}
.steps-grid p{color:#6f5d51}
.recipes{background:#fffdf8}
.recipe-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.recipe-strip article{padding:32px;border-top:3px solid var(--wine);background:#f8ecdc}
.recipe-strip span{font:700 12px Georgia,serif;color:var(--wine);letter-spacing:2px}
.recipe-strip h3{font:700 25px Georgia,serif;margin:10px 0 8px}
.distributor{display:grid;grid-template-columns:1fr .9fr;gap:60px;align-items:center}
.distributor>div:first-child>p:not(.eyebrow){font-family:Georgia,serif;font-size:18px;color:#665145}
.distributor ul{padding:0;list-style:none;margin:25px 0 30px}
.distributor li{padding:9px 0;border-bottom:1px solid #e5d5c4}
.distributor li:before{content:"✦";color:var(--wine);margin-right:10px}
.dist-card{min-height:430px;background:linear-gradient(140deg,#f1dfc9,#fff8ef);border:1px solid var(--line);padding:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.dist-card img{width:180px;margin-bottom:28px}
.dist-card h3{font:700 38px/1.1 Georgia,serif;color:#4b2d20;margin:0}
.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start;background:#f2e2cf;max-width:none;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}
.contact>div>p:not(.eyebrow){font-family:Georgia,serif;font-size:18px;color:#665145}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#5b4438}
.contact-form .full{grid-column:1/-1}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:7px;padding:13px;border:1px solid #cdb79e;background:#fffdf9;font:inherit}
.contact-form button{width:max-content}
.form-status{grid-column:1/-1;color:var(--wine);margin:0}
footer{background:#4a2b20;color:#eadbce;text-align:center;padding:55px 24px}
footer img{width:100px;margin:0 auto 14px;background:white;border-radius:50%;padding:3px}
footer p{font-family:Georgia,serif}
.footer-links{display:flex;justify-content:center;gap:28px;margin:22px 0}
footer a:hover{color:white}
footer small{color:#cdb7a7}
@media(max-width:1000px){
  .header-inner{grid-template-columns:130px 1fr auto}
  .brand img{width:120px;height:120px}
  .nav{gap:22px;font-size:15px}
  .catalog-grid{grid-template-columns:repeat(3,1fr)}
  .hero{grid-template-columns:1fr}
  .hero-copy{max-width:none;padding-right:34px}
  .hero-image{min-height:430px}
  .hero-image:after{background:linear-gradient(180deg,rgba(255,250,242,.35),transparent 35%)}
}
@media(max-width:760px){
  .topbar{display:none}
  .header-inner{height:76px;grid-template-columns:72px 1fr auto;padding:0 16px}
  .brand img{width:82px;height:82px}
  .menu-btn{display:block;justify-self:end}
  .nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fffaf2;border-bottom:1px solid var(--line);padding:22px;flex-direction:column;gap:15px}
  .nav.open{display:flex}
  .btn-header{display:none}
  .hero-copy{padding:66px 20px 42px}
  .hero h1{font-size:50px}
  .hero-actions,.hero-benefits{flex-direction:column;align-items:flex-start}
  .hero-benefits{gap:12px}
  .catalog-grid{grid-template-columns:1fr 1fr}
  .story-inner{grid-template-columns:1fr;text-align:center}
  .story-mark{margin:auto}
  .steps-grid,.recipe-strip,.distributor,.contact{grid-template-columns:1fr}
}
@media(max-width:480px){
  .catalog-grid{grid-template-columns:1fr}
  .hero h1{font-size:42px}
  .freshness{width:120px;height:120px;font-size:12px}
  .contact-form{grid-template-columns:1fr}
  .contact-form .full{grid-column:auto}
}


/* Catálogo real Rancho 41 */
.catalog-intro{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap;margin-top:16px}
.catalog-intro p{margin:0;color:#735f52;font-family:Georgia,serif;font-size:17px}
.pdf-link{color:var(--wine);font:700 14px Georgia,serif;border-bottom:1px solid #b98f79;padding-bottom:3px}
.catalog-filters{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 0 32px}
.filter-btn{border:1px solid var(--line);background:#fffaf2;color:#5a4031;padding:10px 22px;border-radius:999px;font:700 14px Georgia,serif;cursor:pointer;transition:.2s}
.filter-btn:hover,.filter-btn.active{background:var(--wine);border-color:var(--wine);color:white}
.real-catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.catalog-product{background:#fffaf2;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 8px 24px rgba(74,43,32,.06);transition:.25s}
.catalog-product:hover{transform:translateY(-5px);box-shadow:0 15px 34px rgba(74,43,32,.12)}
.catalog-product.hidden{display:none}
.catalog-photo{height:205px;background:#f4e6d4;overflow:hidden}
.catalog-photo img{width:100%;height:100%;object-fit:cover}
.catalog-info{padding:18px}
.catalog-tag{display:inline-block;color:var(--wine);font:700 11px Georgia,serif;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px}
.catalog-info h3{font:700 21px/1.08 Georgia,serif;color:#3c291f;margin:4px 0 8px}
.catalog-info p{font-size:14px;color:#746359;min-height:42px;margin:0 0 15px}
.catalog-meta{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #e8d8c7;padding-top:12px;margin-top:8px}
.catalog-meta span{font-size:13px;color:#806c5e}
.catalog-meta strong{font:700 28px Georgia,serif;color:var(--wine)}
.order-link{display:block;margin-top:13px;color:#6e1010;font:700 13px Georgia,serif}
.catalog-footer-note{margin-top:34px;padding:24px 28px;background:#f1e2cf;border:1px solid #dcc5aa;display:flex;justify-content:space-between;align-items:center;gap:24px}
.catalog-footer-note p{margin:0;color:#665145;font-family:Georgia,serif}
@media(max-width:1100px){.real-catalog-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.real-catalog-grid{grid-template-columns:repeat(2,1fr)}.catalog-footer-note{flex-direction:column;align-items:flex-start}}
@media(max-width:480px){.real-catalog-grid{grid-template-columns:1fr}.catalog-photo{height:235px}}


/* V6 — optimización específica para celular */
@media (max-width: 760px){
  body{overflow-x:hidden}

  /* Logo y encabezado compactos */
  .header-inner{height:72px;padding:0 14px;grid-template-columns:64px 1fr auto}
  .brand img{width:74px;height:74px}

  /* Portada: texto primero, fotografía completa debajo */
  .hero{display:flex;flex-direction:column;min-height:auto}
  .hero-copy-wrap{width:100%}
  .hero-copy{padding:54px 20px 34px}
  .hero h1{font-size:clamp(39px,12vw,54px);line-height:.94;letter-spacing:-1px}
  .hero-copy>p{font-size:16px}
  .hero-image{
    width:100%;
    min-height:0;
    height:58vw;
    max-height:390px;
    background-position:center center;
    background-size:cover;
  }
  .freshness{width:104px;height:104px;right:14px;bottom:14px;font-size:10px;border-width:3px}
  .freshness strong{font-size:12px}

  /* Catálogo: imágenes proporcionadas y sin cortes agresivos */
  .catalog-section{padding:46px 14px 58px}
  .real-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .catalog-product{border-radius:8px}
  .catalog-photo{
    width:100%;
    height:auto;
    aspect-ratio:4/3;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f4e6d4;
  }
  .catalog-photo img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
  }
  .catalog-info{padding:13px}
  .catalog-info h3{font-size:17px}
  .catalog-info p{font-size:12px;min-height:0}
  .catalog-meta strong{font-size:23px}

  /* Imágenes y tarjetas generales */
  .product-card img{height:auto;aspect-ratio:4/3;object-fit:cover}
  .dist-card img{width:min(150px,45vw);height:auto}
  .story-mark{width:min(200px,60vw);height:min(200px,60vw)}

  /* Formularios y bloques al ancho del teléfono */
  .contact,.distributor{gap:35px}
  .contact-form input,.contact-form select,.contact-form textarea{font-size:16px}
}

@media (max-width: 480px){
  /* Una sola columna en teléfonos angostos: fotos grandes y legibles */
  .real-catalog-grid{grid-template-columns:1fr;gap:18px}
  .catalog-photo{aspect-ratio:16/10}
  .catalog-photo img{object-fit:contain}
  .catalog-info{padding:17px}
  .catalog-info h3{font-size:21px}
  .catalog-info p{font-size:14px}
  .catalog-meta strong{font-size:28px}

  .hero-image{height:68vw;min-height:245px}
  .hero-actions{width:100%}
  .hero-actions .btn{width:100%}
}


/* V7 — Presentación de Lacho */
.lacho-section{background:#fff9ef;border-bottom:1px solid var(--line);overflow:hidden}
.lacho-inner{max-width:var(--max);margin:auto;padding:72px 24px;display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center}
.lacho-art{min-height:500px;position:relative;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(circle at 50% 45%,#f3d8af 0,#f3e3c9 42%,transparent 43%)}
.lacho-art:before{content:"RANCHO 41";position:absolute;top:8%;left:50%;transform:translateX(-50%);font:700 70px Georgia,serif;color:rgba(143,21,21,.055);white-space:nowrap}
.lacho-art img{position:relative;z-index:2;width:min(390px,100%);height:auto;filter:drop-shadow(0 16px 12px rgba(73,43,26,.18))}
.lacho-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,4.5vw,64px);line-height:.98;margin:0;color:#3a271d}
.lacho-copy h2 em{font-style:normal;color:var(--wine)}
.lacho-rule{display:flex;align-items:center;gap:10px;color:var(--wine);margin:22px 0}
.lacho-rule:before,.lacho-rule:after{content:"";height:1px;background:#cba98d;width:65px}
.lacho-lead{font:700 20px/1.55 Georgia,serif;color:#52392b}
.lacho-copy>p:not(.eyebrow):not(.lacho-lead){font-family:Georgia,serif;font-size:17px;color:#6b574a}
.lacho-copy blockquote{margin:25px 0;padding:17px 22px;border-left:4px solid var(--wine);background:#f3e3cf;color:#5d4436;font:italic 18px/1.5 Georgia,serif}
@media(max-width:760px){
  .lacho-inner{grid-template-columns:1fr;gap:22px;padding:48px 18px 58px}
  .lacho-art{min-height:360px;order:1}
  .lacho-art img{width:min(300px,82vw)}
  .lacho-art:before{font-size:48px}
  .lacho-copy{order:2;text-align:center}
  .lacho-copy h2{font-size:42px}
  .lacho-rule{justify-content:center}
  .lacho-copy blockquote{text-align:left}
  .lacho-copy .btn{width:100%}
}


/* V9 — Lacho en campo con vacas */
.lacho-section{
  background:#fff9ef;
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.lacho-inner.lacho-inner-image{
  max-width:var(--max);
  margin:auto;
  padding:72px 24px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:54px;
  align-items:center;
}
.lacho-visual-card{
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:#ead5b7;
  box-shadow:0 18px 45px rgba(74,43,32,.12);
}
.lacho-visual-card img{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio:16/10;
  object-fit:cover;
  object-position:center;
}
.lacho-copy h2{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(40px,4.2vw,62px);
  line-height:1;
  margin:0;
  color:#3a271d;
}
.lacho-copy h2 em{
  font-style:normal;
  color:var(--wine);
}
.lacho-values{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:24px 0;
}
.lacho-values div{
  background:#f3e3cf;
  border:1px solid #dfc6a8;
  padding:15px 12px;
  text-align:center;
}
.lacho-values strong{
  display:block;
  font-family:Georgia,serif;
  color:#4c3022;
  font-size:15px;
}
.lacho-values span{
  display:block;
  color:#776154;
  font-size:12px;
  margin-top:3px;
}
@media(max-width:900px){
  .lacho-inner.lacho-inner-image{
    grid-template-columns:1fr;
    gap:30px;
    padding:54px 20px;
  }
  .lacho-visual-card{order:1}
  .lacho-copy{order:2}
}
@media(max-width:560px){
  .lacho-inner.lacho-inner-image{padding:42px 14px 52px}
  .lacho-visual-card img{aspect-ratio:4/3;object-position:center}
  .lacho-copy{text-align:center}
  .lacho-copy h2{font-size:38px}
  .lacho-rule{justify-content:center}
  .lacho-values{grid-template-columns:1fr}
  .lacho-copy blockquote{text-align:left}
  .lacho-copy .btn{width:100%}
}


/* V10 — imagen exacta de Lacho solicitada por el usuario */
.lacho-visual-card img{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio:3/2;
  object-fit:cover;
  object-position:center center;
}
@media(max-width:560px){
  .lacho-visual-card img{
    aspect-ratio:3/2;
    object-fit:cover;
    object-position:center center;
  }
}


/* V12 — Logo oficial Rancho 41 en sección Tradición y servicio */
.official-r41-logo{
  display:block;
  width:min(330px, 82%);
  height:auto;
  object-fit:contain;
  margin:0 auto;
}
@media(max-width:560px){
  .official-r41-logo{
    width:min(260px, 76vw);
  }
}


/* V13 — Logo oficial en el círculo de Tradición y servicio */
.tradicion-logo-oficial{
  display:block;
  width:min(380px, 72vw);
  height:auto;
  margin:0 auto 3rem;
  object-fit:contain;
}
@media(max-width:560px){
  .tradicion-logo-oficial{
    width:min(300px, 76vw);
    margin-bottom:2.5rem;
  }
}


/* V15 — Flujo correcto y portal de Distribuidoras */
.customer-flow{padding-top:76px;padding-bottom:76px}
.customer-flow-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:34px;
}
.customer-flow-grid article{
  background:#fffaf2;
  border:1px solid var(--line);
  padding:26px;
  min-height:220px;
}
.customer-flow-grid article>span{
  font:700 38px Georgia,serif;
  color:#c7a284;
}
.customer-flow-grid h3{
  font:700 21px Georgia,serif;
  color:#3f2a20;
  margin:8px 0;
}
.customer-flow-grid p{color:#6d5b50;margin:0}
.flow-note{
  margin-top:26px;
  padding:18px 22px;
  background:#f1e2cf;
  border-left:4px solid var(--wine);
  color:#5c4639;
  font-family:Georgia,serif;
}
.portal-section{
  background:linear-gradient(135deg,#5c251d 0%,#7d1717 100%);
  color:#fff;
}
.portal-inner{
  max-width:var(--max);
  margin:auto;
  padding:82px 24px;
  display:grid;
  grid-template-columns:1fr .88fr;
  gap:70px;
  align-items:center;
}
.portal-copy .eyebrow{color:#f0c9a8}
.portal-copy h2{
  font:700 clamp(38px,5vw,62px)/1 Georgia,serif;
  margin:0 0 18px;
  color:#fff8ef;
}
.portal-copy>p:not(.eyebrow){
  font:400 18px/1.6 Georgia,serif;
  color:#f2dfd0;
  max-width:660px;
}
.portal-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
  margin-top:28px;
}
.portal-points div{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.05);
}
.portal-points strong{
  font:700 22px Georgia,serif;
  color:#f2c48f;
}
.portal-points span{color:#f7e9dc}
.portal-login-card{
  background:#fffaf2;
  color:#3f2b21;
  border-radius:12px;
  padding:30px;
  box-shadow:0 22px 60px rgba(40,12,8,.28);
}
.portal-login-head{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:24px;
  border-bottom:1px solid #e4d3c0;
  padding-bottom:20px;
}
.portal-login-head img{
  width:86px;
  height:86px;
  object-fit:contain;
  border-radius:50%;
}
.portal-login-head small{
  display:block;
  color:var(--wine);
  font-size:11px;
  font-weight:700;
  letter-spacing:2px;
}
.portal-login-head h3{
  margin:5px 0 0;
  font:700 24px Georgia,serif;
}
.portal-login-form{display:grid;gap:16px}
.portal-login-form label{
  display:block;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.8px;
  color:#60493c;
}
.portal-login-form input{
  width:100%;
  margin-top:7px;
  padding:14px;
  border:1px solid #ccb8a3;
  background:white;
  font:inherit;
  border-radius:4px;
}
.portal-login-form .btn{width:100%;margin-top:4px}
.portal-help{
  font-size:12px;
  color:#7d6a5c;
  text-align:center;
  margin:17px 0 0;
}
@media(max-width:900px){
  .customer-flow-grid{grid-template-columns:1fr 1fr}
  .portal-inner{grid-template-columns:1fr;gap:36px}
}
@media(max-width:560px){
  .customer-flow-grid{grid-template-columns:1fr}
  .portal-inner{padding:58px 16px}
  .portal-points{grid-template-columns:1fr}
  .portal-login-card{padding:22px}
  .portal-login-head img{width:72px;height:72px}
}


/* V16 — Catálogo público sin compra en línea */
.catalog-public-notice{
  max-width:900px;
  margin:0 auto 28px;
  padding:16px 20px;
  text-align:center;
  background:#f3e3cf;
  border:1px solid #dfc6a8;
  color:#5c4638;
  font-family:Georgia,serif;
  border-radius:6px;
}
.catalog-public-notice strong{color:var(--wine)}
.catalog-public-notice span{display:block;margin-top:4px}
.order-link.info-only{
  display:block;
  margin-top:13px;
  color:#6e1010;
  font:700 13px Georgia,serif;
  cursor:default;
}
.public-order-guide{
  background:#fffaf2;
  border:1px solid var(--line);
  padding:28px;
}
.public-order-guide h3{
  margin-top:0;
  font:700 26px Georgia,serif;
  color:#3e2a20;
}
.public-order-guide ol{
  margin:0 0 24px;
  padding-left:22px;
  color:#665145;
}
.public-order-guide li{margin:10px 0}


/* V17 — Imagen de Embajadora en acceso de Distribuidoras */
.distributor-ambassador{
  display:block;
  width:min(100%, 560px);
  height:auto;
  margin:24px auto;
  border-radius:18px;
  object-fit:cover;
  box-shadow:0 14px 34px rgba(62,42,32,.16);
}
@media (max-width: 640px){
  .distributor-ambassador{
    width:100%;
    max-width:430px;
    margin:20px auto;
    border-radius:14px;
  }
}


/* ===== V24 PORTADA RANCHO 41 ===== */
.hero-copy-v24 .kicker{display:none!important}

.r41-main-title{
  margin:0 0 18px;
  color:#971313;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(4rem,8vw,7.2rem);
  line-height:.9;
  font-weight:700;
  letter-spacing:-.045em;
}

.r41-network-tagline{
  margin:0 0 44px!important;
  max-width:900px;
  color:#2f231d!important;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.1rem,2vw,1.7rem)!important;
  line-height:1.25!important;
  font-weight:700;
}

.r41-ranch-title{
  margin:0 0 30px;
  color:#2f231d;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(3rem,6vw,5.7rem);
  line-height:.98;
  letter-spacing:-.035em;
  font-weight:700;
}

.r41-ranch-title em{
  color:#991414;
  font-style:normal;
}

.hero-copy-v24 .hero-description{
  max-width:780px;
}

@media (max-width: 760px){
  .hero-copy-v24{
    padding-top:28px;
  }

  .r41-main-title{
    font-size:clamp(4.1rem,20vw,6.4rem);
    line-height:.92;
    margin-bottom:22px;
    white-space:nowrap;
  }

  .r41-network-tagline{
    font-size:clamp(1rem,4.6vw,1.35rem)!important;
    line-height:1.28!important;
    margin-bottom:48px!important;
  }

  .r41-ranch-title{
    font-size:clamp(2.8rem,12.6vw,4.6rem);
    line-height:1.02;
    margin-bottom:34px;
  }

  .r41-ranch-title em{
    display:inline-block;
    margin-top:8px;
  }
}


/* ===== V25 UBICA A TU EMBAJADORA R41 ===== */
.nearest-ambassador-cta{
  margin:34px 0 38px;
}

.nearest-ambassador-btn{
  width:100%;
  display:block;
  border:0;
  border-radius:4px;
  background:#971313;
  color:#fff;
  padding:20px 22px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.15rem,2vw,1.45rem);
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.02em;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(91,15,15,.14);
}

.nearest-ambassador-btn:hover,
.nearest-ambassador-btn:focus-visible{
  background:#7d1010;
  outline:3px solid rgba(151,19,19,.2);
  outline-offset:3px;
}

.nearest-ambassador-note{
  margin:12px 2px 0!important;
  max-width:none!important;
  font-family:Arial,sans-serif!important;
  font-size:.98rem!important;
  line-height:1.5!important;
  color:#6f5a4e!important;
}

@media(max-width:760px){
  .nearest-ambassador-cta{
    margin:28px 0 34px;
  }
  .nearest-ambassador-btn{
    padding:18px 16px;
    font-size:1.06rem;
  }
  .nearest-ambassador-note{
    font-size:.92rem!important;
  }
}


/* ===== V28 CORRECCIÓN DEFINITIVA BOTÓN EMBAJADORA ===== */
#nearestAmbassadorBtn.nearest-ambassador-btn{
  display:block !important;
  width:100% !important;
  min-height:96px !important;
  padding:24px 18px !important;
  margin:0 !important;
  background:#9B1717 !important;
  background-color:#9B1717 !important;
  color:#FFFFFF !important;
  border:3px solid #7B1010 !important;
  border-radius:10px !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:24px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  text-align:center !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  box-shadow:0 10px 24px rgba(92,15,15,.28) !important;
  cursor:pointer !important;
}
#nearestAmbassadorBtn.nearest-ambassador-btn:hover,
#nearestAmbassadorBtn.nearest-ambassador-btn:focus{
  background:#7F1010 !important;
  background-color:#7F1010 !important;
}
@media(max-width:760px){
  #nearestAmbassadorBtn.nearest-ambassador-btn{
    min-height:104px !important;
    font-size:25px !important;
    padding:25px 18px !important;
  }
}


/* ===== V30 FORMULARIO UBICA EMBAJADORA + WHATSAPP APP ===== */
.r41-modal-open{overflow:hidden}
.r41-wa-modal[hidden]{display:none!important}
.r41-wa-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:18px}
.r41-wa-backdrop{position:absolute;inset:0;background:rgba(30,17,12,.64)}
.r41-wa-dialog{
  position:relative;
  z-index:1;
  width:min(520px,100%);
  max-height:92vh;
  overflow:auto;
  background:#fffaf2;
  border:2px solid #9B1717;
  border-radius:14px;
  padding:28px;
  box-shadow:0 24px 70px rgba(0,0,0,.32)
}
.r41-wa-dialog h3{
  margin:0 40px 10px 0;
  color:#8f1515;
  font:700 30px/1.05 Georgia,"Times New Roman",serif
}
.r41-wa-dialog>p{color:#665145;margin:0 0 22px}
.r41-wa-close{
  position:absolute;right:14px;top:10px;
  border:0;background:transparent;color:#8f1515;
  font-size:34px;line-height:1;cursor:pointer
}
#r41WaForm{display:grid;gap:15px}
#r41WaForm label{
  display:grid;gap:6px;
  color:#4f382d;font-size:13px;font-weight:700
}
#r41WaForm input,#r41WaForm select{
  width:100%;box-sizing:border-box;
  min-height:48px;padding:11px 12px;
  border:1px solid #cbb49c;border-radius:5px;
  background:white;color:#38271e;font-size:16px
}
.r41-wa-send{
  min-height:64px;margin-top:5px;padding:15px 18px;
  border:2px solid #761010;border-radius:8px;
  background:#9B1717;color:#fff;
  font:700 19px Georgia,"Times New Roman",serif;
  cursor:pointer;box-shadow:0 8px 20px rgba(92,15,15,.20)
}
.r41-wa-send:hover,.r41-wa-send:focus{background:#7F1010}
@media(max-width:560px){
  .r41-wa-modal{padding:10px}
  .r41-wa-dialog{padding:23px 17px;border-radius:12px}
  .r41-wa-dialog h3{font-size:27px}
  .r41-wa-send{min-height:68px;font-size:20px}
}

/* ===== V32 REDES SOCIALES RANCHO 41 ===== */
.r41-social-section{
  padding:58px 22px;
  background:#8f1515;
  color:#fff;
  text-align:center;
}
.r41-social-inner{max-width:900px;margin:0 auto}
.r41-social-section h2{
  margin:0 0 10px;
  color:#fff;
  font:700 clamp(2rem,4vw,3rem)/1.05 Georgia,"Times New Roman",serif;
}
.r41-social-section p{margin:0 0 30px;color:#f6e9dc;font-size:1.05rem}
.r41-social-icons{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap:22px;
  flex-wrap:wrap;
}
.r41-social-icons a{
  width:110px;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  display:grid;
  justify-items:center;
  gap:9px;
  transition:transform .18s ease;
}
.r41-social-icons a:hover{transform:translateY(-4px)}
.r41-social-icons svg{
  width:58px;height:58px;
  box-sizing:border-box;
  padding:13px;
  border-radius:50%;
  background:#fff;
  fill:#8f1515;
  box-shadow:0 8px 20px rgba(0,0,0,.16);
}
.r41-social-icons span{font-size:.95rem}
@media(max-width:560px){
  .r41-social-section{padding:46px 12px}
  .r41-social-icons{gap:20px 8px}
  .r41-social-icons a{width:78px}
  .r41-social-icons svg{width:54px;height:54px}
  .r41-social-icons span{font-size:.82rem}
}
