/* Richie's Cars — ficha individual WooCommerce */
.rcpp-single-page {
  --rcpp-blue:#0878f9; --rcpp-red:#f20d22; --rcpp-navy:#04142e;
  color:#17202d; font-family:Arial,Helvetica,sans-serif;
  background:#fff; padding:28px 0 0;
}
.rcpp-single-page * { box-sizing:border-box; }
.rcpp-container { width:min(1440px,94%); margin:0 auto; }
.rcpp-single-page .woocommerce-breadcrumb {
  margin:0!important; color:#7b8491!important; font-size:13px!important;
  line-height:1.5; padding:0!important;
}
.rcpp-single-page .woocommerce-breadcrumb a { color:#7b8491!important; text-decoration:none!important; }
.rcpp-single-page .woocommerce-breadcrumb a:hover { color:var(--rcpp-blue)!important; }
.rcpp-breadcrumb-row { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.rcpp-gallery-controls { display:flex; align-items:center; gap:15px; color:#273346; }
.rcpp-gallery-controls button { border:0; background:transparent; color:inherit; font-size:28px; line-height:1; cursor:pointer; padding:0 3px; }
.rcpp-gallery-grid-icon { width:18px; height:18px; display:inline-flex; }
.rcpp-gallery-grid-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.5; }
.rcpp-product-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(26px,3vw,52px); align-items:start; }
.rcpp-gallery { display:grid; grid-template-columns:clamp(92px,10vw,145px) minmax(0,1fr); gap:12px; min-width:0; }
.rcpp-thumbs { display:flex; flex-direction:column; gap:10px; max-height:540px; overflow:auto; scrollbar-width:thin; scrollbar-color:#cbd3dd transparent; }
.rcpp-thumb { display:block; flex:0 0 auto; width:100%; padding:0; border:2px solid transparent; background:#eef1f4; border-radius:10px; overflow:hidden; cursor:pointer; opacity:.82; transition:opacity .2s,border-color .2s; }
.rcpp-thumb:hover,.rcpp-thumb.is-active { opacity:1; border-color:var(--rcpp-blue); }
.rcpp-thumb img { display:block; width:100%; aspect-ratio:1.05/1; object-fit:cover; margin:0!important; }
.rcpp-no-thumbs { font-size:11px; color:#7b8491; }
.rcpp-main-image { min-width:0; position:relative; background:#eef1f4; border-radius:12px; overflow:hidden; }
.rcpp-main-photo { display:block; width:100%!important; height:auto!important; max-height:650px; aspect-ratio:1.22/1; object-fit:cover; margin:0!important; }
.rcpp-image-arrow { position:absolute; top:50%; transform:translateY(-50%); border:0; width:38px; height:42px; border-radius:8px; color:#fff; background:#04142ecc; font-size:30px; line-height:1; cursor:pointer; opacity:0; transition:opacity .2s; }
.rcpp-main-image:hover .rcpp-image-arrow,.rcpp-image-arrow:focus { opacity:1; }
.rcpp-image-arrow-prev { left:10px; }
.rcpp-image-arrow-next { right:10px; }
.rcpp-details { min-width:0; padding:0 0 26px; }
.rcpp-eyebrow { color:var(--rcpp-blue); font-size:10px; font-weight:800; letter-spacing:2px; margin:0 0 12px; }
.rcpp-eyebrow span { color:var(--rcpp-red); padding:0 4px; }
.rcpp-title { margin:0 0 18px!important; color:#252b34!important; font-size:clamp(29px,3.2vw,46px)!important; line-height:1.1!important; font-weight:800!important; letter-spacing:-.7px; }
.rcpp-categories { margin:0 0 20px; font-size:13px; color:#7c8592; line-height:1.6; }
.rcpp-categories strong { color:#202733; }
.rcpp-categories a { color:#7c8592; text-decoration:none; }
.rcpp-categories a:hover { color:var(--rcpp-blue); }
.rcpp-cat-sep { padding:0 5px; color:#b3bbc5; }
.rcpp-short-description { color:#606b79; font-size:14px; line-height:1.85; margin:0 0 20px; }
.rcpp-short-description p { margin:0 0 10px; }
.rcpp-description-details { margin:0 0 20px; border-top:1px solid #e9edf2; border-bottom:1px solid #e9edf2; padding:13px 0; }
.rcpp-description-details summary { list-style:none; cursor:pointer; color:#222b38; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.4px; }
.rcpp-description-details summary::-webkit-details-marker { display:none; }
.rcpp-description-details summary:after { content:"+"; float:right; color:var(--rcpp-blue); font-size:18px; line-height:12px; }
.rcpp-description-details[open] summary:after { content:"−"; }
.rcpp-full-description { padding-top:12px; color:#66717f; font-size:13px; line-height:1.8; }
.rcpp-full-description p { margin:0 0 10px; }
.rcpp-sku { margin:0 0 20px; font-size:12px; color:#6d7785; }
.rcpp-sku span { font-weight:700; color:#273140; margin-right:7px; }
.rcpp-quote-box { border:1px solid #e6ebf1; border-radius:13px; padding:19px; background:linear-gradient(135deg,#f8fafc,#fff); box-shadow:0 8px 24px #061b460a; }
.rcpp-quote-copy { display:flex; flex-direction:column; gap:5px; margin-bottom:14px; }
.rcpp-quote-label { color:var(--rcpp-blue); font-size:11px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.rcpp-quote-copy strong { color:#202733; font-size:16px; line-height:1.45; }
.rcpp-whatsapp-button { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:50px; padding:13px 18px; border-radius:7px; background:#12b85a; color:#fff!important; text-decoration:none!important; font-size:13px; font-weight:800; text-align:center; transition:background .2s,transform .2s; }
.rcpp-whatsapp-button:hover { background:#079847; color:#fff!important; transform:translateY(-1px); }
.rcpp-whatsapp-button svg { flex:0 0 22px; width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.rcpp-whatsapp-button span { margin-left:auto; font-size:18px; }
.rcpp-quote-note { margin:11px 0 0; color:#89919d; font-size:10px; text-align:center; line-height:1.5; }
.rcpp-admin-hint { margin:10px 0 0; color:#9a4a00; font-size:11px; line-height:1.5; }
.rcpp-related { margin:72px calc((min(1440px,94vw) - 100vw)/2) 0; padding:36px max(3%,calc((100vw - 1380px)/2)); background:#f3f5f7; }
.rcpp-related-heading { margin:0 0 22px; }
.rcpp-related-heading > span { color:var(--rcpp-blue); font-size:10px; font-weight:800; letter-spacing:2px; }
.rcpp-related-heading h2 { margin:7px 0 0!important; font-size:clamp(23px,2.5vw,32px)!important; line-height:1.2!important; color:#202733!important; font-weight:800!important; }
.rcpp-related-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.rcpp-related-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; background:#fff; border-radius:8px; box-shadow:0 3px 14px #081a3010; text-decoration:none!important; transition:transform .2s,box-shadow .2s; }
.rcpp-related-card:hover { transform:translateY(-3px); box-shadow:0 8px 22px #081a3018; }
.rcpp-related-image { display:block; overflow:hidden; background:#dce2e8; }
.rcpp-related-image img { display:block; width:100%!important; aspect-ratio:1.45/1; object-fit:cover; margin:0!important; transition:transform .3s; }
.rcpp-related-card:hover img { transform:scale(1.035); }
.rcpp-related-info { display:flex; flex-direction:column; gap:7px; padding:13px 12px 15px; }
.rcpp-related-info strong { color:#171c24; font-size:13px; line-height:1.4; }
.rcpp-related-info small { color:#9299a2; font-size:11px; line-height:1.4; }
.rcpp-single-page .woocommerce-notices-wrapper:empty { display:none; }
@media(max-width:1000px) {
  .rcpp-product-layout { grid-template-columns:minmax(0,1fr); gap:26px; }
  .rcpp-gallery { grid-template-columns:105px minmax(0,1fr); }
  .rcpp-thumbs { max-height:500px; }
  .rcpp-main-photo { max-height:600px; }
  .rcpp-details { padding-bottom:0; }
  .rcpp-related { margin-top:48px; }
  .rcpp-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
}
@media(max-width:600px) {
  .rcpp-single-page { padding-top:17px; }
  .rcpp-container { width:92%; }
  .rcpp-breadcrumb-row { margin-bottom:15px; gap:10px; }
  .rcpp-single-page .woocommerce-breadcrumb { font-size:11px!important; }
  .rcpp-gallery-controls { gap:8px; }
  .rcpp-gallery-controls button { font-size:24px; }
  .rcpp-gallery-grid-icon { width:15px; height:15px; }
  .rcpp-gallery { display:flex; flex-direction:column-reverse; gap:9px; }
  .rcpp-main-image { border-radius:9px; }
  .rcpp-main-photo { aspect-ratio:1.15/1; max-height:none; }
  .rcpp-thumbs { flex-direction:row; max-height:none; overflow-x:auto; overflow-y:hidden; padding-bottom:3px; gap:8px; }
  .rcpp-thumb { width:84px; min-width:84px; border-radius:7px; }
  .rcpp-thumb img { aspect-ratio:1/1; }
  .rcpp-image-arrow { opacity:1; width:32px; height:36px; font-size:25px; }
  .rcpp-eyebrow { font-size:9px; margin-bottom:8px; }
  .rcpp-title { font-size:29px!important; margin-bottom:12px!important; }
  .rcpp-categories { margin-bottom:14px; font-size:12px; }
  .rcpp-short-description { font-size:13px; line-height:1.7; }
  .rcpp-quote-box { padding:15px; }
  .rcpp-quote-copy strong { font-size:15px; }
  .rcpp-whatsapp-button { min-height:48px; font-size:12px; padding:12px; }
  .rcpp-related { margin:42px calc((92vw - 100vw)/2) 0; padding:27px 4%; }
  .rcpp-related-grid { gap:11px; }
  .rcpp-related-info { padding:10px 9px 12px; gap:5px; }
  .rcpp-related-info strong { font-size:11px; }
  .rcpp-related-info small { font-size:10px; }
}
@media(max-width:360px) {
  .rcpp-related-grid { grid-template-columns:1fr; }
  .rcpp-gallery-controls { display:none; }
}


/* 1.0.1 — galería equilibrada, relacionados blancos y compartir */
.rcpp-gallery {
  align-items:stretch;
  min-height:0;
}
.rcpp-thumbs {
  height:100%;
  max-height:none;
  min-height:0;
  overflow-y:auto;
  align-self:stretch;
  overscroll-behavior:contain;
}
.rcpp-main-image {
  position:relative;
  width:100%;
  aspect-ratio:1.22 / 1;
  min-height:0;
  align-self:start;
}
.rcpp-main-photo {
  position:absolute!important;
  inset:0;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
}
.rcpp-related {
  background:#fff!important;
  border-top:1px solid #edf0f4;
  padding-top:34px;
  padding-bottom:40px;
}
.rcpp-share {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:19px;
  padding-top:17px;
  border-top:1px solid #e9edf2;
}
.rcpp-share-label {
  color:#4c5665;
  font-size:12px;
  font-weight:700;
  margin-right:3px;
}
.rcpp-share-links { display:flex; align-items:center; gap:9px; }
.rcpp-share-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  padding:0;
  border:1px solid #e1e6ed;
  border-radius:50%;
  background:#fff;
  color:#253044;
  cursor:pointer;
  text-decoration:none!important;
  transition:background .2s,color .2s,border-color .2s,transform .2s;
}
.rcpp-share-button svg {
  display:block;
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.rcpp-share-facebook svg { fill:currentColor; stroke:none; }
.rcpp-share-button:hover { transform:translateY(-2px); color:#fff!important; border-color:var(--rcpp-blue); background:var(--rcpp-blue); }
.rcpp-share-whatsapp:hover { background:#12b85a; border-color:#12b85a; }
.rcpp-share-feedback { flex-basis:100%; color:#16834b; font-size:11px; min-height:0; }
@media(max-width:1000px) {
  .rcpp-gallery { align-items:stretch; }
  .rcpp-thumbs { height:100%; }
  .rcpp-main-image { aspect-ratio:1.28 / 1; }
}
@media(max-width:600px) {
  .rcpp-gallery { display:flex; flex-direction:column-reverse; align-items:stretch; }
  .rcpp-main-image { aspect-ratio:1.15 / 1; width:100%; }
  .rcpp-main-photo { position:absolute!important; inset:0; width:100%!important; height:100%!important; }
  .rcpp-thumbs { height:auto; max-height:none; overflow-x:auto; overflow-y:hidden; }
  .rcpp-related { background:#fff!important; margin-top:34px; padding:26px 4% 30px; }
  .rcpp-share { gap:10px; margin-top:16px; padding-top:14px; }
  .rcpp-share-label { flex-basis:100%; }
}


/* 1.0.2 — galería horizontal: fotografía principal arriba y miniaturas debajo */
.rcpp-single-page .rcpp-gallery {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:12px!important;
  width:100%;
}
.rcpp-single-page .rcpp-main-image {
  order:1;
  width:100%;
  aspect-ratio:1.42 / 1;
  min-height:0;
  align-self:stretch;
  overflow:hidden;
}
.rcpp-single-page .rcpp-main-photo {
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
}
.rcpp-single-page .rcpp-thumbs {
  order:2;
  display:flex!important;
  flex-direction:row!important;
  align-items:stretch;
  gap:10px;
  width:100%;
  height:auto!important;
  max-height:none!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:0 0 5px;
  scrollbar-width:thin;
  scrollbar-color:#cbd3dd transparent;
}
.rcpp-single-page .rcpp-thumb {
  flex:0 0 96px;
  width:96px;
  max-width:96px;
  height:auto;
  border-radius:7px;
}
.rcpp-single-page .rcpp-thumb img {
  display:block;
  width:100%!important;
  aspect-ratio:1 / 1;
  height:auto!important;
  object-fit:cover!important;
}
.rcpp-single-page .rcpp-no-thumbs {
  padding:12px 0;
}
@media(max-width:1000px) {
  .rcpp-single-page .rcpp-gallery {
    display:flex!important;
    flex-direction:column!important;
  }
  .rcpp-single-page .rcpp-main-image {
    aspect-ratio:1.42 / 1;
  }
  .rcpp-single-page .rcpp-thumbs {
    height:auto!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
}
@media(max-width:600px) {
  .rcpp-single-page .rcpp-gallery {
    display:flex!important;
    flex-direction:column!important;
    gap:9px!important;
  }
  .rcpp-single-page .rcpp-main-image {
    aspect-ratio:1.15 / 1;
    width:100%;
  }
  .rcpp-single-page .rcpp-thumbs {
    display:flex!important;
    flex-direction:row!important;
    height:auto!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:8px;
  }
  .rcpp-single-page .rcpp-thumb {
    flex:0 0 78px;
    width:78px;
    max-width:78px;
  }
}
