/* (… tu CSS actual …) */
/* IMPORTANTE: pega ESTE archivo completo si quieres ir a lo seguro.
   Si prefieres, dime y te lo doy “solo con el bloque nuevo”. */

/* GRID */
.rv-grid{display:grid;gap:18px;align-items:stretch;}
.rv-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.rv-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.rv-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}
@media (max-width: 980px){.rv-cols-3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 640px){.rv-cols-3,.rv-cols-2{grid-template-columns:repeat(1,minmax(0,1fr));}}

.rv-card{position:relative;background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.04);}
.rv-badge{position:absolute;top:12px;left:12px;z-index:2;background:#18a957;color:#fff;padding:6px 12px;border-radius:999px;font-weight:800;font-size:14px;}
.rv-card__img{display:block;background:#f7f7f7;}
.rv-card__img img{width:100%;height:200px;object-fit:contain;display:block;}
.rv-img-placeholder{height:200px;display:flex;align-items:center;justify-content:center;color:#888;}
.rv-card__body{padding:14px 16px 16px;}
.rv-name{font-weight:900;font-size:18px;line-height:1.2;margin-bottom:8px;}
.rv-meta{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 10px;color:#222;font-weight:700;font-size:13px;}
.rv-price{margin-top:6px;text-align:center;}
.rv-price__value{color:#18a957;font-weight:900;font-size:26px;}
.rv-price__sub{color:#888;margin-top:2px;font-size:13px;min-height:16px;}
.rv-pagination{margin-top:18px;}
.rv-pagination .page-numbers{display:inline-block;padding:8px 12px;margin:0 4px 6px 0;border:1px solid #eee;border-radius:10px;text-decoration:none;}
.rv-pagination .current{background:#18a957;color:#fff;border-color:#18a957;}

.rv-single{background:#fff;}
.rv-container{max-width:1200px;margin:0 auto;padding:22px 16px;}

.rv-top{background:#e6f6ea;border-radius:14px;padding:18px 18px;display:flex;justify-content:space-between;gap:16px;align-items:flex-start;}
.rv-h1{margin:0;font-size:20px;line-height:1.25;font-weight:900;}
.rv-top__meta{margin-top:6px;font-weight:800;color:#222;}
.rv-top__right{text-align:right;}
.rv-top__price{color:#18a957;font-weight:900;font-size:22px;}
.rv-top__sub{color:#666;font-weight:800;font-size:13px;}

.rv-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;margin-top:18px;align-items:start;}
@media (max-width:980px){.rv-layout{grid-template-columns:1fr;}}

.rv-hero{width:100%;max-height:420px;object-fit:contain;background:#f7f7f7;border-radius:14px;border:1px solid #eee;}

.rv-block{margin-top:16px;background:#fff;border:1px solid #eee;border-radius:14px;padding:16px;box-shadow:0 8px 20px rgba(0,0,0,.03);}
.rv-block h2{margin:0 0 10px;font-size:18px;}
.rv-block h3{margin:0 0 12px;font-size:24px;font-weight:900;line-height:1.15;}

.rv-fixed{background:#f9fffb;border-color:#dff5e6;}
.rv-includes{display:grid;gap:10px;}
.rv-include h3{margin:0 0 4px;font-size:15px;}
.rv-include p{margin:0;color:#444;}

.rv-formcard{background:#e6f6ea;border-radius:14px;padding:16px;border:1px solid #d9f1e1;}
.rv-formcard h2{margin:0 0 12px;font-size:16px;}
.rv-alert{padding:10px 12px;border-radius:12px;margin-bottom:10px;font-weight:900;}
.rv-ok{background:#d8f5e3;border:1px solid #b8ebcc;}
.rv-err{background:#ffe1e1;border:1px solid #ffb8b8;}
.rv-form label{display:block;font-weight:900;margin:10px 0 6px;color:#444;}
.rv-form input[type="text"],.rv-form input[type="email"],.rv-form textarea{width:100%;border:1px solid #d7e7dd;border-radius:10px;padding:10px 12px;outline:none;background:#fff;}
.rv-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:640px){.rv-row2{grid-template-columns:1fr;}}
.rv-types{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:10px;}
@media (max-width:640px){.rv-types{grid-template-columns:1fr;}}
.rv-type{background:#fff;border:1px solid #d7e7dd;border-radius:12px;padding:10px 10px;display:flex;gap:8px;align-items:center;font-weight:900;}
.rv-check{display:flex;gap:10px;align-items:flex-start;font-weight:900;margin-top:10px;}
.rv-captcha-placeholder{margin-top:12px;background:#fff;border:1px solid #d7e7dd;border-radius:12px;padding:12px;}
.rv-btn{width:100%;margin-top:14px;background:#18a957;color:#fff;border:0;border-radius:12px;padding:12px 14px;font-weight:900;cursor:pointer;}
.rv-btn:hover{filter:brightness(0.95);}

/* Características iconos */
.rv-features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 26px;margin-top:6px;}
@media (max-width:980px){.rv-features{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.rv-features{grid-template-columns:repeat(1,minmax(0,1fr));}}
.rv-feature{display:flex;gap:12px;align-items:flex-start;}
.rv-feature__icon{width:39px;height:39px;min-width:39px;min-height:39px;object-fit:contain;}
.rv-feature__label{color:#7a7a7a;font-weight:700;font-size:14px;line-height:1.1;margin-top:2px;}
.rv-feature__value{color:#000;font-weight:900;font-size:15px;line-height:1.15;margin-top:4px;}

/* Checklist ✓ */
.rv-checklist{margin:10px 0 0 0;padding:0;list-style:none;display:grid;gap:8px;}
.rv-checklist li{position:relative;padding-left:26px;color:#222;font-weight:700;}
.rv-checklist li::before{content:"✓";position:absolute;left:0;top:0;color:#18a957;font-weight:900;}

/* Acordeón */
.rv-accwrap{margin-top:16px;display:grid;gap:12px;}
.rv-acc{border:1px solid #e7e7e7;border-radius:10px;background:#fff;overflow:hidden;}
.rv-acc__summary{list-style:none;cursor:pointer;padding:14px 14px;display:flex;justify-content:space-between;align-items:center;font-weight:900;}
.rv-acc__summary::-webkit-details-marker{display:none;}
.rv-acc__title{font-size:15px;}
.rv-acc__chev{width:18px;height:18px;display:inline-block;position:relative;}
.rv-acc__chev::before{content:"";position:absolute;inset:0;margin:auto;width:8px;height:8px;border-right:3px solid #18a957;border-bottom:3px solid #18a957;transform:rotate(-45deg);transition:transform .22s ease;}
.rv-acc[open] .rv-acc__chev::before{transform:rotate(45deg);}
.rv-acc__content{height:0;overflow:hidden;transition:height .28s ease;}
.rv-acc__inner{padding:0 14px 14px 14px;}
.rv-acc__content .rv-checklist li{font-weight:400;}

/* ✅ NUEVO: SECCIÓN "TODO INCLUIDO" COMO CARDS */
.rv-benefits{
  margin-top:22px;
}

.rv-benefits__title{
  margin:0 0 14px;
  font-size:28px;
  font-weight:900;
  line-height:1.15;
}

.rv-benefits__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:18px 22px;
}
@media (max-width: 980px){
  .rv-benefits__grid{ grid-template-columns:1fr; }
}

.rv-benefit{
  background:#fff;
  border:1px solid #eee;
  border-radius:12px;
  padding:18px;
  box-shadow:0 14px 30px rgba(0,0,0,.06);
  display:flex;
  gap:14px;
  align-items:flex-start;
}

.rv-benefit__icon{
  width:58px;
  height:58px;
  min-width:58px;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.rv-benefit__svg{
  width:58px;
  height:58px;
}

.rv-benefit__body h4{
  margin:0 0 6px;
  font-size:16px;
  font-weight:900;
}

.rv-benefit__body p{
  margin:0;
  color:#222;
  font-weight:500;
  line-height:1.35;
}
/* ===== NUEVO: Carrusel de galería ===== */
.rv-gallery{
  position:relative;
  margin:12px 0 0;
  padding:10px 44px; /* espacio para flechas */
  border:1px solid #eee;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.03);
}

.rv-gallery__viewport{
  overflow:auto;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}

.rv-gallery__track{
  display:flex;
  gap:12px;
  padding:2px 0;
}

.rv-gallery__item{
  border:2px solid transparent;
  border-radius:12px;
  padding:0;
  background:transparent;
  cursor:pointer;
  flex:0 0 auto;
}

.rv-gallery__item img{
  width:110px;
  height:80px;
  object-fit:cover;
  border-radius:10px;
  display:block;
}

.rv-gallery__item.is-active{
  border-color:#18a957;
}

.rv-gallery__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid #e7e7e7;
  background:#fff;
  box-shadow:0 10px 18px rgba(0,0,0,.10);
  cursor:pointer;
  font-size:22px;
  line-height:32px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.rv-gallery__prev{ left:10px; }
.rv-gallery__next{ right:10px; }

@media (max-width: 640px){
  .rv-gallery{ padding:10px 40px; }
  .rv-gallery__item img{ width:96px; height:72px; }
}
/* Fade suave al cambiar imagen principal */
.rv-hero{
  transition: opacity .18s ease;
}
.rv-hero.rv-hero--fade{
  opacity: .55;
}

/* Miniaturas: que se vean bien aunque carguen desde imagen grande */
.rv-gallery__item img{
  object-fit: cover;
}
.rv-description {
  font-size: 15px;
  line-height: 1.6;
  color: #374151;
}
