/* RP Psico Home Pro - FRONTEND BLINDADO
   Todo queda encerrado dentro de .rp-home para no tocar header, menú, theme ni otros plugins. */
.rp-home{background:var(--rp-bg);color:var(--rp-text);padding:22px 0 0!important;font-family:var(--rp-font, inherit);scroll-behavior:smooth;font-size:var(--rp-body-size)}
.rp-home,.rp-home *,.rp-home *:before,.rp-home *:after{box-sizing:border-box}

.rp-home.rp-full-bleed{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.rp-home.rp-full-bleed .rp-home__inner{width:min(var(--rp-width),calc(100vw - 44px))}
.rp-home .rp-home__inner{width:min(var(--rp-width),calc(100% - 36px));max-width:var(--rp-width);margin:0 auto;display:flex;flex-direction:column;gap:var(--rp-gap)}
.rp-home .rp-icon svg,.rp-home .rp-section__icon svg,.rp-home .rp-specialty__icon svg,.rp-home .rp-contact-card svg,.rp-home .rp-lead-form button svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rp-home .rp-nav{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;background:rgba(255,255,255,.78);backdrop-filter:blur(14px);border:1px solid var(--rp-border);box-shadow:var(--rp-shadow);border-radius:999px;padding:10px;margin-bottom:2px}
.rp-home .rp-nav__item{display:inline-flex;align-items:center;gap:8px;text-decoration:none!important;color:var(--rp-text)!important;font-weight:800;font-size:14px;padding:12px 16px;border-radius:999px;border:1px solid transparent;transition:.18s ease;background:transparent;line-height:1.2}
.rp-home .rp-nav__item:hover{background:var(--rp-primary);color:#fff!important;transform:translateY(-1px)}
.rp-home .rp-section{font-family:var(--rp-sec-font, var(--rp-font, inherit));background:var(--rp-card);border:1px solid var(--rp-border);box-shadow:var(--rp-shadow);border-radius:var(--rp-radius);padding:30px;overflow:hidden;margin:0}
.rp-home .rp-section__head{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.rp-home .rp-section__head.compact{margin-bottom:14px}
.rp-home .rp-section__icon{width:48px;height:48px;border-radius:17px;background:var(--rp-icon-bg);color:var(--rp-icon);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.rp-home .rp-section__head h2{margin:0;font-size:clamp(23px,2.25vw,var(--rp-title-size));line-height:1.05;color:var(--rp-text);font-weight:900}
.rp-home .rp-section__head p{margin:5px 0 0;color:var(--rp-muted);font-size:var(--rp-body-size)}
.rp-home .rp-booking{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:start}
.rp-home .rp-booking__dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rp-home .rp-date{appearance:none;border:1px solid var(--rp-border);background:#fff;color:var(--rp-text);border-radius:18px;padding:18px 14px;min-height:72px;font-weight:900;font-size:15px;cursor:pointer;transition:.18s ease;line-height:1.2;text-align:center;box-shadow:none}
.rp-home .rp-date:hover,.rp-home .rp-date.is-active{border-color:var(--rp-primary);background:var(--rp-primary);color:#fff;box-shadow:0 14px 28px rgba(8,118,216,.18)}
.rp-home .rp-booking__side{background:var(--rp-bg);border:1px solid var(--rp-border);border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:12px}
.rp-home .rp-booking__side label{font-weight:900;color:var(--rp-text)}
.rp-home .rp-booking select,.rp-home .rp-lead-form input,.rp-home .rp-lead-form textarea{width:100%;border:1px solid var(--rp-border);background:#fff;color:var(--rp-text);border-radius:16px;padding:14px 15px;font-size:15px;outline:none;box-shadow:none;line-height:1.35}
.rp-home .rp-booking select:focus,.rp-home .rp-lead-form input:focus,.rp-home .rp-lead-form textarea:focus{border-color:var(--rp-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--rp-primary) 12%,transparent)}
.rp-home .rp-price{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px dashed var(--rp-secondary);background:color-mix(in srgb,var(--rp-secondary) 12%,#fff);padding:13px 15px;border-radius:16px}
.rp-home .rp-price span{color:var(--rp-muted);font-weight:800}
.rp-home .rp-price strong{font-size:20px;color:var(--rp-text)}
.rp-home .rp-main-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:999px;background:var(--rp-secondary);color:var(--rp-btn-text)!important;text-decoration:none!important;font-weight:950;padding:15px 22px;min-height:52px;cursor:pointer;transition:.18s ease;line-height:1.2;box-shadow:none}
.rp-home .rp-main-btn:hover{transform:translateY(-1px);filter:brightness(.97)}
.rp-home .rp-main-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.rp-home .rp-simple-cta{background:var(--rp-bg);border:1px solid var(--rp-border);border-radius:22px;padding:22px}
.rp-home .rp-simple-cta p{margin-top:0;color:var(--rp-muted);font-size:17px}
.rp-home .rp-lead-form{display:flex;flex-direction:column;gap:12px}
.rp-home .rp-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rp-home .rp-ticket-placeholder{border:1px dashed var(--rp-border);background:var(--rp-bg);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:4px;color:var(--rp-muted)}
.rp-home .rp-ticket-placeholder strong{color:var(--rp-text)}
.rp-home .rp-about{display:grid;grid-template-columns:320px 1fr;gap:28px;align-items:start}
.rp-home .rp-about__photo,.rp-home .rp-contact__profile{background:linear-gradient(145deg,color-mix(in srgb,var(--rp-primary) 13%,#fff),#fff);border:1px solid var(--rp-border);border-radius:28px;min-height:340px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.rp-home .rp-about__photo img{width:100%;height:100%;object-fit:contain;object-position:bottom center;display:block}
.rp-home .rp-about__photo span{margin:auto;color:var(--rp-primary)}
.rp-home .rp-about__photo svg{width:76px;height:76px}
.rp-home .rp-intro{font-size:var(--rp-body-size);line-height:1.65;color:var(--rp-muted);margin:0 0 18px}
.rp-home .rp-accordion{display:flex;flex-direction:column;gap:10px}
.rp-home .rp-accordion details{border:1px solid var(--rp-border);background:#fff;border-radius:18px;overflow:hidden;margin:0;color:var(--rp-text)}
.rp-home .rp-accordion summary{cursor:pointer;font-weight:950;padding:17px 18px;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--rp-text)}
.rp-home .rp-accordion summary::-webkit-details-marker{display:none}
.rp-home .rp-accordion summary:after{content:'+';width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--rp-bg);color:var(--rp-primary);font-weight:900;flex:0 0 auto}
.rp-home .rp-accordion details[open] summary:after{content:'−';background:var(--rp-primary);color:#fff}
.rp-home .rp-accordion details>div{padding:0 18px 18px;color:var(--rp-muted);line-height:1.65;font-size:var(--rp-body-size)}
.rp-home .rp-accordion details>div p{margin:0}
.rp-home .rp-specialty-grid{display:grid;grid-template-columns:repeat(var(--rp-specialty-cols),minmax(0,1fr));gap:14px}
.rp-home .rp-specialty{border:1px solid var(--rp-border);background:#fff;border-radius:22px;padding:20px;transition:.18s ease;color:var(--rp-text)}
.rp-home .rp-specialty:hover{transform:translateY(-2px);box-shadow:0 15px 35px rgba(8,32,74,.10)}
.rp-home .rp-specialty__icon{width:48px;height:48px;border-radius:16px;background:var(--rp-icon-bg);color:var(--rp-icon);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.rp-home .rp-specialty h3{margin:0 0 8px;font-size:18px;color:var(--rp-text)}
.rp-home .rp-specialty p{margin:0;color:var(--rp-muted);line-height:1.55;font-size:var(--rp-body-size)}
.rp-home .rp-contact{display:grid;grid-template-columns:260px 1fr;gap:28px}
.rp-home .rp-contact__profile{min-height:260px;border-radius:50%;aspect-ratio:1/1;align-self:start}
.rp-home .rp-contact__profile img{width:100%;height:100%;object-fit:cover}
.rp-home .rp-contact__profile svg{width:72px;height:72px;color:var(--rp-primary);fill:none;stroke:currentColor;stroke-width:1.8}
.rp-home .rp-contact-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rp-home .rp-contact-card{display:flex;align-items:flex-start;gap:13px;padding:17px;border:1px solid var(--rp-border);border-radius:20px;background:#fff;text-decoration:none!important;color:var(--rp-text)!important;box-shadow:none}
.rp-home .rp-contact-card svg{color:var(--rp-primary);flex:0 0 auto}
.rp-home .rp-contact-card strong{display:block;margin-bottom:3px;color:var(--rp-text)}
.rp-home .rp-contact-card span{color:var(--rp-muted);font-size:var(--rp-body-size)}
.rp-home .rp-contact-ticket{margin-top:14px}

/* controles admin */
.rp-home.rp-density-compact{padding:18px 14px 42px}
.rp-home.rp-density-compact .rp-section{padding:22px}
.rp-home.rp-density-compact .rp-section__head{margin-bottom:16px}
.rp-home.rp-density-compact .rp-about{grid-template-columns:240px 1fr;gap:22px}
.rp-home.rp-density-compact .rp-about__photo{min-height:270px;border-radius:22px}
.rp-home.rp-density-compact .rp-contact{grid-template-columns:210px 1fr;gap:22px}
.rp-home.rp-density-compact .rp-contact__profile{min-height:210px}
.rp-home.rp-density-large .rp-section{padding:38px}
.rp-home.rp-layout-two_columns .rp-home__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
.rp-home.rp-layout-two_columns .rp-nav,.rp-home.rp-layout-two_columns #rp-agenda,.rp-home.rp-layout-two_columns #rp-sobre-mi,.rp-home.rp-layout-two_columns #rp-contacto{grid-column:1/-1}
.rp-home.rp-layout-one_column .rp-home__inner{display:flex;flex-direction:column}
.rp-home .rp-faq .rp-accordion.big{display:grid;grid-template-columns:repeat(var(--rp-faq-cols),minmax(0,1fr));gap:10px;align-items:start}
.rp-home .rp-about-layout-one_column{grid-template-columns:1fr!important}
.rp-home .rp-about-layout-one_column .rp-about__photo{max-width:320px;width:100%;margin:0 auto}
.rp-home .rp-contact-layout-one_column{grid-template-columns:1fr!important}
.rp-home .rp-contact-layout-one_column .rp-contact__profile{max-width:220px;width:100%;margin:0 auto}

@media(max-width:900px){
  .rp-home{padding:18px 12px 38px}
  .rp-home .rp-nav{border-radius:22px;justify-content:flex-start;overflow:auto;flex-wrap:nowrap;padding:8px}
  .rp-home .rp-nav.is-mobile-sticky{position:sticky;top:0;z-index:20}
  .rp-home .rp-nav__item{white-space:nowrap;padding:11px 13px;font-size:13px}
  .rp-home .rp-section{padding:22px;border-radius:22px}
  .rp-home .rp-booking,.rp-home .rp-about,.rp-home .rp-contact{grid-template-columns:1fr}
  .rp-home .rp-booking__dates{grid-template-columns:1fr}
  .rp-home .rp-specialty-grid,.rp-home .rp-contact-list,.rp-home .rp-grid-2{grid-template-columns:1fr}
  .rp-home .rp-about__photo{min-height:280px}
  .rp-home .rp-contact__profile{width:180px;min-height:180px;margin:0 auto}
  .rp-home .rp-section__head{align-items:flex-start}
  .rp-home .rp-section__head h2{font-size:27px}
  .rp-home.rp-layout-two_columns .rp-home__inner{display:flex;flex-direction:column}
  .rp-home .rp-faq .rp-accordion.big{grid-template-columns:1fr}
  .rp-home.rp-density-compact .rp-section{padding:18px}
  .rp-home.rp-density-compact .rp-about,.rp-home.rp-density-compact .rp-contact{grid-template-columns:1fr}
  .rp-home.rp-density-compact .rp-about__photo{min-height:240px}
}

/* Ajustes estéticos solicitados: cards planas, menos redondeo e iconos directos */
.rp-home .rp-section,
.rp-home .rp-specialty,
.rp-home .rp-contact-card,
.rp-home .rp-accordion details,
.rp-home .rp-booking__side,
.rp-home .rp-simple-cta,
.rp-home .rp-ticket-placeholder,
.rp-home .rp-date{
  box-shadow:none!important;
}
.rp-home .rp-section{border-radius:16px!important;}
.rp-home .rp-specialty,
.rp-home .rp-contact-card,
.rp-home .rp-accordion details,
.rp-home .rp-booking__side,
.rp-home .rp-simple-cta,
.rp-home .rp-ticket-placeholder{border-radius:14px!important;}
.rp-home .rp-date,
.rp-home .rp-booking select,
.rp-home .rp-lead-form input,
.rp-home .rp-lead-form textarea,
.rp-home .rp-price{border-radius:12px!important;}
.rp-home .rp-section__icon,
.rp-home .rp-specialty__icon{
  background:transparent!important;
  border-radius:0!important;
  width:auto!important;
  height:auto!important;
  min-width:26px!important;
  margin-bottom:12px;
}
.rp-home .rp-section__icon svg,
.rp-home .rp-specialty__icon svg{width:26px;height:26px;}
.rp-home .rp-specialty:hover{transform:none!important;box-shadow:none!important;}
.rp-home .rp-about__photo,
.rp-home .rp-contact__profile{box-shadow:none!important;border-radius:16px!important;}
.rp-home .rp-contact__profile{border-radius:50%!important;}


/* V5 - Corrección estética dura: sin sombras, menos redondeo e iconos sin doble fondo */
.rp-home,
.rp-home *{
  box-shadow:none!important;
  text-shadow:none!important;
}
.rp-home .rp-section{
  border-radius:12px!important;
  box-shadow:none!important;
  border:1px solid var(--rp-border)!important;
}
.rp-home .rp-about,
.rp-home .rp-agenda,
.rp-home .rp-specialties,
.rp-home .rp-faq,
.rp-home .rp-contact{
  box-shadow:none!important;
}
.rp-home .rp-accordion details,
.rp-home .rp-specialty,
.rp-home .rp-contact-card,
.rp-home .rp-booking__side,
.rp-home .rp-simple-cta,
.rp-home .rp-ticket-placeholder{
  border-radius:10px!important;
  box-shadow:none!important;
  border:1px solid var(--rp-border)!important;
}
.rp-home .rp-date,
.rp-home .rp-booking select,
.rp-home .rp-lead-form input,
.rp-home .rp-lead-form textarea,
.rp-home .rp-price,
.rp-home .rp-main-btn{
  border-radius:8px!important;
  box-shadow:none!important;
}
.rp-home .rp-date:hover,
.rp-home .rp-date.is-active,
.rp-home .rp-main-btn:hover,
.rp-home .rp-specialty:hover{
  box-shadow:none!important;
  transform:none!important;
}
.rp-home .rp-section__icon,
.rp-home .rp-specialty__icon{
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0 12px 0 0!important;
  color:var(--rp-icon)!important;
}
.rp-home .rp-specialty__icon{
  margin:0 0 10px 0!important;
}
.rp-home .rp-section__icon svg,
.rp-home .rp-specialty__icon svg{
  width:24px!important;
  height:24px!important;
  fill:none!important;
  stroke:currentColor!important;
}
.rp-home .rp-accordion summary:after{
  background:transparent!important;
  color:var(--rp-primary)!important;
  border-radius:0!important;
  width:auto!important;
  height:auto!important;
  box-shadow:none!important;
}
.rp-home .rp-accordion details[open] summary:after{
  background:transparent!important;
  color:var(--rp-primary)!important;
}
.rp-home .rp-about__photo{
  border-radius:10px!important;
  box-shadow:none!important;
  background:#fff!important;
  min-height:300px!important;
}
.rp-home .rp-contact__profile{
  box-shadow:none!important;
  border-radius:12px!important;
  background:#fff!important;
}
.rp-home .rp-section__head{
  margin-bottom:18px!important;
}
.rp-home .rp-accordion{
  gap:8px!important;
}
.rp-home .rp-accordion summary{
  padding:14px 16px!important;
}
.rp-home .rp-accordion details>div{
  padding:0 16px 14px!important;
}
@media(max-width:900px){
  .rp-home .rp-section{border-radius:12px!important;padding:18px!important;}
  .rp-home .rp-accordion details,
  .rp-home .rp-specialty,
  .rp-home .rp-contact-card,
  .rp-home .rp-booking__side{border-radius:10px!important;}
}


/* =========================================================
   RP PSICO HOME v1.3.7 - Ajuste definitivo foto/cards
   Fuerza el diseño limpio aunque existan opciones guardadas viejas.
   ========================================================= */
.rp-home{
    --rp-radius:12px !important;
    --rp-shadow:none !important;
}
.rp-home .rp-section,
.rp-home .rp-booking__side,
.rp-home .rp-simple-cta,
.rp-home .rp-ticket-placeholder,
.rp-home .rp-accordion details,
.rp-home .rp-specialty,
.rp-home .rp-contact-card,
.rp-home .rp-price{
    box-shadow:none !important;
    border-radius:10px !important;
}
.rp-home .rp-section{
    border-radius:12px !important;
}
.rp-home .rp-section__icon,
.rp-home .rp-specialty__icon{
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 12px 0 0 !important;
    border-radius:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    color:var(--rp-icon) !important;
}
.rp-home .rp-section__head{
    gap:10px !important;
}
.rp-home .rp-section__icon svg,
.rp-home .rp-specialty__icon svg{
    width:22px !important;
    height:22px !important;
}
.rp-home .rp-specialty__icon{
    margin-bottom:10px !important;
}
.rp-home .rp-specialty:hover,
.rp-home .rp-date:hover,
.rp-home .rp-date.is-active,
.rp-home .rp-main-btn:hover{
    box-shadow:none !important;
}
.rp-home .rp-accordion summary:after{
    background:transparent !important;
    color:var(--rp-primary) !important;
    border-radius:0 !important;
    width:auto !important;
    height:auto !important;
}
.rp-home .rp-accordion details[open] summary:after{
    background:transparent !important;
    color:var(--rp-primary) !important;
}

/* Sobre mí: foto adaptativa, sin caja alta fija */
.rp-home .rp-about{
    grid-template-columns:minmax(260px,35%) minmax(0,65%) !important;
    align-items:start !important;
    gap:28px !important;
}
.rp-home .rp-about__photo{
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    align-self:start !important;
    display:block !important;
    align-items:initial !important;
    justify-content:initial !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:1px solid var(--rp-border) !important;
    border-radius:10px !important;
    box-shadow:none !important;
    overflow:hidden !important;
}
.rp-home .rp-about__photo img{
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
    margin:0 !important;
    border-radius:0 !important;
}
.rp-home .rp-about__photo span{
    min-height:220px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}
.rp-home.rp-density-compact .rp-about,
.rp-home.rp-density-normal .rp-about,
.rp-home.rp-density-large .rp-about{
    grid-template-columns:minmax(260px,35%) minmax(0,65%) !important;
}
.rp-home.rp-density-compact .rp-about__photo,
.rp-home.rp-density-normal .rp-about__photo,
.rp-home.rp-density-large .rp-about__photo{
    min-height:0 !important;
    border-radius:10px !important;
}

@media (max-width: 820px){
    .rp-home .rp-about,
    .rp-home.rp-density-compact .rp-about,
    .rp-home.rp-density-normal .rp-about,
    .rp-home.rp-density-large .rp-about{
        grid-template-columns:1fr !important;
    }
    .rp-home .rp-about__photo{
        width:100% !important;
        max-width:520px !important;
    }
}

/* V8 - diseño configurable por bloque + textos con saltos de línea */
.rp-home .rp-section{background:var(--rp-card)!important;border-color:var(--rp-border)!important;color:var(--rp-text)!important}.rp-home .rp-section__head h2,.rp-home .rp-specialty h3,.rp-home .rp-contact-card strong,.rp-home .rp-accordion summary{color:var(--rp-text)!important}.rp-home .rp-section__head p,.rp-home .rp-intro,.rp-home .rp-specialty p,.rp-home .rp-contact-card span,.rp-home .rp-accordion details>div{color:var(--rp-muted)!important}.rp-home .rp-accordion details,.rp-home .rp-specialty,.rp-home .rp-contact-card,.rp-home .rp-booking__side,.rp-home .rp-simple-cta,.rp-home .rp-ticket-placeholder{background:var(--rp-inner-card)!important;border-color:var(--rp-border)!important}.rp-home .rp-accordion details>div p{margin:0 0 10px!important}.rp-home .rp-accordion details>div p:last-child{margin-bottom:0!important}

/* V9 - Tipografías 100% configurables desde el admin */
.rp-home{font-size:var(--rp-body-size)!important;font-weight:var(--rp-body-weight)!important;line-height:var(--rp-body-lh)!important;}
.rp-home p,
.rp-home li,
.rp-home label,
.rp-home input,
.rp-home textarea,
.rp-home select{font-size:var(--rp-body-size)!important;font-weight:var(--rp-body-weight)!important;line-height:var(--rp-body-lh)!important;}
.rp-home .rp-section__head h2{font-size:var(--rp-title-size)!important;font-weight:var(--rp-title-weight)!important;line-height:var(--rp-title-lh)!important;color:var(--rp-text)!important;}
.rp-home .rp-section__head p,
.rp-home .rp-intro{font-size:var(--rp-subtitle-size)!important;font-weight:var(--rp-subtitle-weight)!important;line-height:var(--rp-body-lh)!important;color:var(--rp-muted)!important;}
.rp-home .rp-accordion summary{font-size:var(--rp-acc-title-size)!important;font-weight:var(--rp-acc-title-weight)!important;line-height:1.35!important;color:var(--rp-text)!important;}
.rp-home .rp-accordion details>div,
.rp-home .rp-accordion details>div p{font-size:var(--rp-acc-text-size)!important;font-weight:var(--rp-acc-text-weight)!important;line-height:var(--rp-body-lh)!important;color:var(--rp-muted)!important;}
.rp-home .rp-specialty h3{font-size:var(--rp-spec-title-size)!important;font-weight:var(--rp-spec-title-weight)!important;line-height:1.25!important;color:var(--rp-text)!important;}
.rp-home .rp-specialty p{font-size:var(--rp-spec-text-size)!important;font-weight:var(--rp-spec-text-weight)!important;line-height:var(--rp-body-lh)!important;color:var(--rp-muted)!important;}
.rp-home .rp-main-btn,
.rp-home .rp-date,
.rp-home button,
.rp-home .rp-price strong{font-size:var(--rp-btn-size)!important;font-weight:var(--rp-btn-weight)!important;}
.rp-home .rp-contact-card strong{font-size:var(--rp-contact-label-size)!important;font-weight:var(--rp-contact-label-weight)!important;line-height:1.25!important;color:var(--rp-text)!important;}
.rp-home .rp-contact-card span{font-size:var(--rp-contact-text-size)!important;font-weight:var(--rp-contact-text-weight)!important;line-height:var(--rp-body-lh)!important;color:var(--rp-muted)!important;}

/* V10 - personalización avanzada: iconos por desplegable, modales y fondos configurables */
.rp-home{background:var(--rp-bg)!important;}
.rp-home .rp-section{background:var(--rp-card)!important;color:var(--rp-text)!important;}
.rp-home .rp-accordion details,
.rp-home .rp-specialty,
.rp-home .rp-contact-card,
.rp-home .rp-booking__side,
.rp-home .rp-simple-cta,
.rp-home .rp-ticket-placeholder{background:var(--rp-inner-card)!important;}
.rp-home .rp-acc-title{display:inline-flex;align-items:center;gap:10px;min-width:0;}
.rp-home .rp-acc-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:1;}
.rp-home .rp-acc-icon svg{width:20px!important;height:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.rp-home .rp-accordion summary{font-size:var(--rp-acc-title-size)!important;font-weight:var(--rp-acc-title-weight)!important;}
.rp-home .rp-accordion details>div{font-size:var(--rp-acc-text-size)!important;font-weight:var(--rp-acc-text-weight)!important;line-height:var(--rp-body-lh)!important;}
.rp-home .rp-section__head h2{font-size:var(--rp-title-size)!important;font-weight:var(--rp-title-weight)!important;line-height:var(--rp-title-lh)!important;}
.rp-home .rp-section__head p{font-size:var(--rp-subtitle-size)!important;font-weight:var(--rp-subtitle-weight)!important;}
.rp-home .rp-intro,
.rp-home .rp-specialty p,
.rp-home .rp-contact-card span{font-size:var(--rp-body-size)!important;font-weight:var(--rp-body-weight)!important;line-height:var(--rp-body-lh)!important;}
.rp-home .rp-specialty h3{font-size:var(--rp-spec-title-size)!important;font-weight:var(--rp-spec-title-weight)!important;}
.rp-home .rp-specialty p{font-size:var(--rp-spec-text-size)!important;font-weight:var(--rp-spec-text-weight)!important;}
.rp-home .rp-main-btn{font-size:var(--rp-btn-size)!important;font-weight:var(--rp-btn-weight)!important;}
.rp-home .rp-contact-card strong{font-size:var(--rp-contact-label-size)!important;font-weight:var(--rp-contact-label-weight)!important;}
.rp-home .rp-contact-card span{font-size:var(--rp-contact-text-size)!important;font-weight:var(--rp-contact-text-weight)!important;}
.rp-home .rp-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:22px;}
.rp-home .rp-modal.is-open{display:flex;}
.rp-home .rp-modal__overlay{position:absolute;inset:0;background:rgba(12,23,36,.58);backdrop-filter:blur(7px);}
.rp-home .rp-modal__box{position:relative;width:min(1040px,100%);max-height:88vh;overflow:auto;background:var(--rp-bg);border:1px solid var(--rp-border);border-radius:14px;padding:16px;box-shadow:none;}
.rp-home .rp-modal__box .rp-section{margin:0!important;}
.rp-home .rp-modal__close{position:sticky;top:0;margin-left:auto;margin-bottom:10px;z-index:2;width:38px;height:38px;border:1px solid var(--rp-border);border-radius:8px;background:var(--rp-card);color:var(--rp-text);font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;}
body.rp-modal-open{overflow:hidden;}
@media(max-width:760px){.rp-home .rp-modal{padding:10px}.rp-home .rp-modal__box{max-height:94vh;padding:10px;border-radius:12px}}

/* V12 - Contacto con Google Maps + marcador con foto. Sin foto lateral repetida. */
.rp-home .rp-contact{
  display:grid!important;
  grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr)!important;
  gap:22px!important;
  align-items:start!important;
}
.rp-home .rp-contact__map{
  position:relative!important;
  width:100%!important;
  min-height:var(--rp-map-height,320px)!important;
  height:var(--rp-map-height,320px)!important;
  border:1px solid var(--rp-border)!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:var(--rp-inner-card,#fff)!important;
  box-shadow:none!important;
}
.rp-home .rp-contact__map iframe{
  width:100%!important;
  height:100%!important;
  border:0!important;
  display:block!important;
  filter:saturate(.92) contrast(.96)!important;
}
.rp-home .rp-contact__marker{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-88%)!important;
  width:58px!important;
  height:72px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  z-index:3!important;
}
.rp-home .rp-contact__pin{
  position:absolute!important;
  inset:0!important;
  color:var(--rp-primary)!important;
  filter:drop-shadow(0 6px 10px rgba(0,0,0,.18))!important;
}
.rp-home .rp-contact__pin svg{
  width:58px!important;
  height:72px!important;
  fill:#fff!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
}
.rp-home .rp-contact__marker img,
.rp-home .rp-contact__marker-fallback{
  position:relative!important;
  z-index:4!important;
  width:34px!important;
  height:34px!important;
  border-radius:999px!important;
  object-fit:cover!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  border:2px solid #fff!important;
  color:var(--rp-primary)!important;
  overflow:hidden!important;
  margin-top:-16px!important;
}
.rp-home .rp-contact__marker-fallback svg{width:20px!important;height:20px!important;}
.rp-home .rp-contact__profile{display:none!important;}
.rp-home .rp-contact-list{grid-template-columns:1fr 1fr!important;}
.rp-home .rp-contact-card{border-radius:10px!important;background:var(--rp-inner-card)!important;}
@media(max-width:900px){
  .rp-home .rp-contact{grid-template-columns:1fr!important;}
  .rp-home .rp-contact__map{height:260px!important;min-height:260px!important;}
  .rp-home .rp-contact-list{grid-template-columns:1fr!important;}
}


/* v1.5.1 contacto definitivo: mapa en lugar de foto lateral */
.rp-home .rp-contact__profile,
.rp-home #rp-contacto .rp-about__photo,
.rp-home #rp-contacto > .rp-contact__photo,
.rp-home #rp-contacto > figure,
.rp-home #rp-contacto > img{display:none!important;}
.rp-home #rp-contacto.rp-contact-map-mode{display:grid!important;grid-template-columns:minmax(320px,42%) 1fr!important;align-items:stretch!important;gap:28px!important;}
.rp-home #rp-contacto .rp-contact__map{display:block!important;position:relative!important;min-height:var(--rp-map-height,320px)!important;height:var(--rp-map-height,320px)!important;border:1px solid var(--rp-border)!important;border-radius:12px!important;overflow:hidden!important;background:#eef4f8!important;}
.rp-home #rp-contacto .rp-contact__map iframe{display:block!important;width:100%!important;height:100%!important;border:0!important;filter:saturate(.9) contrast(.98)!important;}
.rp-home #rp-contacto .rp-contact__marker{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-100%)!important;display:flex!important;align-items:center!important;justify-content:center!important;width:58px!important;height:58px!important;border-radius:999px!important;background:#fff!important;border:3px solid var(--rp-primary)!important;box-shadow:0 8px 20px rgba(15,35,52,.18)!important;text-decoration:none!important;overflow:hidden!important;z-index:4!important;}
.rp-home #rp-contacto .rp-contact__marker img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:999px!important;display:block!important;}
.rp-home #rp-contacto .rp-contact__pin{position:absolute!important;left:50%!important;bottom:-18px!important;transform:translateX(-50%)!important;width:28px!important;height:28px!important;color:var(--rp-primary)!important;background:transparent!important;z-index:-1!important;}
.rp-home #rp-contacto .rp-contact__marker-fallback{display:flex!important;align-items:center!important;justify-content:center!important;color:var(--rp-primary)!important;width:100%!important;height:100%!important;}
@media(max-width: 820px){.rp-home #rp-contacto.rp-contact-map-mode{grid-template-columns:1fr!important}.rp-home #rp-contacto .rp-contact__map{min-height:260px!important;height:260px!important}}

/* V14 - Tipografías independientes por card/sección */
.rp-home .rp-section .rp-section__head h2{
  font-size:var(--rp-sec-title-size,var(--rp-title-size))!important;
  font-weight:var(--rp-sec-title-weight,var(--rp-title-weight))!important;
}
.rp-home .rp-section .rp-section__head p{
  font-size:var(--rp-sec-subtitle-size,var(--rp-subtitle-size))!important;
  font-weight:var(--rp-sec-subtitle-weight,var(--rp-subtitle-weight))!important;
}
.rp-home .rp-section .rp-intro,
.rp-home .rp-section .rp-ticket-placeholder,
.rp-home .rp-section .rp-ticket-placeholder p,
.rp-home .rp-section label,
.rp-home .rp-section input,
.rp-home .rp-section textarea,
.rp-home .rp-section select,
.rp-home .rp-section .rp-price span{
  font-size:var(--rp-sec-text-size,var(--rp-body-size))!important;
  font-weight:var(--rp-sec-text-weight,var(--rp-body-weight))!important;
}
.rp-home .rp-section .rp-accordion summary,
.rp-home .rp-section .rp-acc-title{
  font-size:var(--rp-sec-acc-title-size,var(--rp-acc-title-size))!important;
  font-weight:var(--rp-sec-acc-title-weight,var(--rp-acc-title-weight))!important;
}
.rp-home .rp-section .rp-accordion details>div,
.rp-home .rp-section .rp-accordion details>div p{
  font-size:var(--rp-sec-acc-text-size,var(--rp-acc-text-size))!important;
  font-weight:var(--rp-sec-acc-text-weight,var(--rp-acc-text-weight))!important;
}
.rp-home .rp-section .rp-specialty h3{
  font-size:var(--rp-sec-item-title-size,var(--rp-spec-title-size))!important;
  font-weight:var(--rp-sec-item-title-weight,var(--rp-spec-title-weight))!important;
}
.rp-home .rp-section .rp-specialty p{
  font-size:var(--rp-sec-item-text-size,var(--rp-spec-text-size))!important;
  font-weight:var(--rp-sec-item-text-weight,var(--rp-spec-text-weight))!important;
}
.rp-home .rp-section .rp-main-btn,
.rp-home .rp-section .rp-date,
.rp-home .rp-section button,
.rp-home .rp-section .rp-price strong{
  font-size:var(--rp-sec-btn-size,var(--rp-btn-size))!important;
  font-weight:var(--rp-sec-btn-weight,var(--rp-btn-weight))!important;
}
.rp-home .rp-section .rp-contact-card strong{
  font-size:var(--rp-sec-label-size,var(--rp-contact-label-size))!important;
  font-weight:var(--rp-sec-label-weight,var(--rp-contact-label-weight))!important;
}
.rp-home .rp-section .rp-contact-card span{
  font-size:var(--rp-sec-text-size,var(--rp-contact-text-size))!important;
  font-weight:var(--rp-sec-text-weight,var(--rp-contact-text-weight))!important;
}


/* V17 - Especialidades: texto legible, separado y con saltos de línea reales */
.rp-home #rp-especialidades .rp-specialty{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:10px!important;
  padding:24px!important;
  overflow:visible!important;
}
.rp-home #rp-especialidades .rp-specialty__icon{
  margin:0 0 6px 0!important;
}
.rp-home #rp-especialidades .rp-specialty h3{
  display:block!important;
  width:100%!important;
  margin:0!important;
  line-height:1.32!important;
  letter-spacing:0!important;
  word-spacing:normal!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.rp-home #rp-especialidades .rp-specialty__text,
.rp-home #rp-especialidades .rp-specialty__text p,
.rp-home #rp-especialidades .rp-specialty p{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  line-height:1.75!important;
  letter-spacing:0!important;
  word-spacing:.08em!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  text-wrap:pretty;
}
.rp-home #rp-especialidades .rp-specialty__text p + p{
  margin-top:10px!important;
}
@media (min-width:901px){
  .rp-home #rp-especialidades .rp-specialty-grid{
    gap:18px!important;
  }
}
@media (max-width:700px){
  .rp-home #rp-especialidades .rp-specialty{
    padding:18px!important;
  }
}

/* V18 - Especialidades: controles independientes de color y texto sin compactación */
.rp-home #rp-especialidades .rp-specialty h3{
  color:var(--rp-item-title-color, var(--rp-text))!important;
  font-size:var(--rp-spec-title-size)!important;
  font-weight:var(--rp-spec-title-weight)!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  word-spacing:.14em!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
}
.rp-home #rp-especialidades .rp-specialty__text,
.rp-home #rp-especialidades .rp-specialty__text p{
  color:var(--rp-item-text-color, var(--rp-muted))!important;
  font-size:var(--rp-spec-text-size)!important;
  font-weight:var(--rp-spec-text-weight)!important;
  line-height:1.9!important;
  letter-spacing:.005em!important;
  word-spacing:.18em!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  text-wrap:pretty;
}
.rp-home #rp-especialidades .rp-specialty__icon{
  color:var(--rp-item-icon, var(--rp-item-icon-color, var(--rp-icon)))!important;
}
.rp-home #rp-especialidades .rp-specialty__icon svg,
.rp-home #rp-especialidades .rp-specialty__icon svg *{
  stroke:currentColor!important;
  fill:none!important;
}
.rp-home #rp-especialidades .rp-section__icon{
  color:var(--rp-item-icon-color, var(--rp-icon))!important;
}
.rp-home #rp-especialidades .rp-specialty{
  gap:14px!important;
}

/* V19 - aplicar colores independientes reales en Especialidades y Contacto */
.rp-home #rp-especialidades .rp-section__head h2{
  color:var(--rp-text)!important;
}
.rp-home #rp-especialidades .rp-section__head p{
  color:var(--rp-muted)!important;
}
.rp-home #rp-especialidades .rp-specialty h3{
  color:var(--rp-item-title-color)!important;
  font-size:var(--rp-sec-item-title-size,var(--rp-spec-title-size))!important;
  font-weight:var(--rp-sec-item-title-weight,var(--rp-spec-title-weight))!important;
  word-spacing:normal!important;
}
.rp-home #rp-especialidades .rp-specialty__text,
.rp-home #rp-especialidades .rp-specialty__text p{
  color:var(--rp-item-text-color)!important;
  font-size:var(--rp-sec-item-text-size,var(--rp-spec-text-size))!important;
  font-weight:var(--rp-sec-item-text-weight,var(--rp-spec-text-weight))!important;
  word-spacing:normal!important;
  letter-spacing:normal!important;
  line-height:1.65!important;
}
.rp-home #rp-especialidades .rp-specialty__icon{
  color:var(--rp-item-icon-color)!important;
}
.rp-home #rp-especialidades .rp-specialty__icon svg,
.rp-home #rp-especialidades .rp-specialty__icon svg *{
  stroke:currentColor!important;
  fill:none!important;
}
.rp-home #rp-contacto .rp-contact-card{
  color:var(--rp-contact-value-color)!important;
  background:var(--rp-inner-card)!important;
  border-color:var(--rp-border)!important;
}
.rp-home #rp-contacto .rp-contact-card > svg{
  color:var(--rp-contact-icon-color)!important;
  stroke:currentColor!important;
  fill:none!important;
}
.rp-home #rp-contacto .rp-contact-card strong{
  color:var(--rp-contact-label-color)!important;
  font-size:var(--rp-sec-label-size,var(--rp-contact-label-size))!important;
  font-weight:var(--rp-sec-label-weight,var(--rp-contact-label-weight))!important;
}
.rp-home #rp-contacto .rp-contact-card span{
  color:var(--rp-contact-value-color)!important;
  font-size:var(--rp-sec-text-size,var(--rp-contact-text-size))!important;
  font-weight:var(--rp-sec-text-weight,var(--rp-contact-text-weight))!important;
}
.rp-home #rp-contacto .rp-contact-ticket,
.rp-home #rp-contacto .rp-ticket-placeholder{
  color:var(--rp-contact-ticket-text-color)!important;
  background:var(--rp-inner-card)!important;
  border-color:var(--rp-border)!important;
}
.rp-home #rp-contacto .rp-contact-ticket strong,
.rp-home #rp-contacto .rp-ticket-placeholder strong,
.rp-home #rp-contacto .rp-ticket-placeholder h3{
  color:var(--rp-contact-ticket-title-color)!important;
}
.rp-home #rp-contacto .rp-contact-ticket p,
.rp-home #rp-contacto .rp-ticket-placeholder p{
  color:var(--rp-contact-ticket-text-color)!important;
}

/* V20 - Corrección definitiva de tipografía en Especialidades */
.rp-home #rp-especialidades,
.rp-home #rp-especialidades *{
  font-kerning:normal!important;
  font-variant-ligatures:normal!important;
  text-rendering:optimizeLegibility!important;
  letter-spacing:0!important;
  text-shadow:none!important;
}
.rp-home #rp-especialidades .rp-specialty-grid{
  gap:22px!important;
}
.rp-home #rp-especialidades .rp-specialty{
  min-height:0!important;
  padding:28px 30px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:14px!important;
  background:var(--rp-inner-card,#fff)!important;
}
.rp-home #rp-especialidades .rp-specialty h3{
  font-family:var(--rp-sec-font,var(--rp-font,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif))!important;
  color:var(--rp-item-title-color,var(--rp-text))!important;
  font-size:var(--rp-sec-item-title-size,var(--rp-spec-title-size,20px))!important;
  font-weight:var(--rp-sec-item-title-weight,var(--rp-spec-title-weight,700))!important;
  line-height:1.35!important;
  margin:0!important;
  padding:0!important;
  word-spacing:.16em!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.rp-home #rp-especialidades .rp-specialty__text,
.rp-home #rp-especialidades .rp-specialty__text p{
  font-family:var(--rp-sec-font,var(--rp-font,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif))!important;
  color:var(--rp-item-text-color,var(--rp-muted))!important;
  font-size:var(--rp-sec-item-text-size,var(--rp-spec-text-size,16px))!important;
  font-weight:var(--rp-sec-item-text-weight,var(--rp-spec-text-weight,400))!important;
  line-height:1.85!important;
  margin:0!important;
  padding:0!important;
  word-spacing:.22em!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  max-width:42ch!important;
}
.rp-home #rp-especialidades .rp-specialty__text p + p{
  margin-top:12px!important;
}
.rp-home #rp-especialidades .rp-specialty__icon{
  color:var(--rp-item-icon,var(--rp-item-icon-color,var(--rp-icon)))!important;
  opacity:1!important;
}
.rp-home #rp-especialidades .rp-specialty__icon svg,
.rp-home #rp-especialidades .rp-specialty__icon svg *{
  stroke:currentColor!important;
  fill:none!important;
}
@media(max-width:700px){
  .rp-home #rp-especialidades .rp-specialty{padding:22px!important;}
  .rp-home #rp-especialidades .rp-specialty__text,
  .rp-home #rp-especialidades .rp-specialty__text p{max-width:none!important;}
}

/* v22: Contacto con ticket debajo del mapa, ancho completo en PC */
.rp-home #rp-contacto.rp-contact-map-mode{
  grid-template-columns:minmax(320px,42%) 1fr!important;
  align-items:start!important;
}
.rp-home #rp-contacto .rp-contact-ticket--full{
  grid-column:1 / -1!important;
  width:100%!important;
  margin-top:18px!important;
}
.rp-home #rp-contacto .rp-contact-ticket--full .rppt-wrap,
.rp-home #rp-contacto .rp-contact-ticket--full .rppt-wrap--full{
  width:100%!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
}
.rp-home #rp-contacto .rp-contact-ticket--full .rppt-form{
  max-width:none!important;
  width:100%!important;
  margin:0!important;
  box-sizing:border-box!important;
}
.rp-home #rp-contacto .rp-contact-ticket--full .rppt-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
@media(max-width:820px){
  .rp-home #rp-contacto.rp-contact-map-mode{grid-template-columns:1fr!important;}
  .rp-home #rp-contacto .rp-contact-ticket--full .rppt-grid{grid-template-columns:1fr!important;}
}

/* v24: contacto en dos columnas reales. El formulario de tickets vive debajo del mapa, no en toda la grilla */
.rp-home #rp-contacto.rp-contact-map-mode{
  display:grid!important;
  grid-template-columns:minmax(320px,42%) 1fr!important;
  align-items:start!important;
  gap:28px!important;
}
.rp-home #rp-contacto .rp-contact__left{
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
  min-width:0!important;
  width:100%!important;
}
.rp-home #rp-contacto .rp-contact__body{
  min-width:0!important;
  width:100%!important;
}
.rp-home #rp-contacto .rp-contact-ticket--full{
  grid-column:auto!important;
  width:auto!important;
  max-width:none!important;
}
.rp-home #rp-contacto .rp-contact-ticket--under-map{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
.rp-home #rp-contacto .rp-contact-ticket--under-map .rppt-wrap,
.rp-home #rp-contacto .rp-contact-ticket--under-map .rppt-wrap--full{
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  box-sizing:border-box!important;
}
.rp-home #rp-contacto .rp-contact-ticket--under-map .rppt-form{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:26px!important;
  box-sizing:border-box!important;
}
.rp-home #rp-contacto .rp-contact-ticket--under-map .rppt-grid{
  grid-template-columns:1fr!important;
  gap:14px!important;
}
@media(max-width:820px){
  .rp-home #rp-contacto.rp-contact-map-mode{
    grid-template-columns:1fr!important;
  }
  .rp-home #rp-contacto .rp-contact-ticket--under-map .rppt-form{
    padding:20px!important;
  }
}

/* v1.5.6 - Sobre mí: acordeones en fila independiente centrada */
.rp-home .rp-about{
  grid-template-columns:minmax(260px,35%) minmax(0,65%) !important;
  align-items:start !important;
}
.rp-home .rp-about__content{
  min-width:0 !important;
}
.rp-home .rp-about__accordion{
  grid-column:1 / -1 !important;
  width:100% !important;
  max-width:980px !important;
  margin:22px auto 0 !important;
}
.rp-home .rp-about__accordion .rp-accordion{
  width:100% !important;
  max-width:100% !important;
}
.rp-home .rp-about__accordion .rp-accordion details{
  width:100% !important;
}
@media(max-width:820px){
  .rp-home .rp-about__accordion{
    max-width:100% !important;
    margin-top:16px !important;
  }
}

/* v1.5.7 - Contacto: ticket en fila propia, centrado, sin deformar la grilla de mapa/datos */
.rp-home #rp-contacto.rp-contact-map-mode{
  display:grid!important;
  grid-template-columns:minmax(320px,42%) minmax(0,1fr)!important;
  align-items:start!important;
  gap:28px!important;
}
.rp-home #rp-contacto .rp-contact__left,
.rp-home #rp-contacto .rp-contact__body{
  min-width:0!important;
  width:100%!important;
}
.rp-home #rp-contacto .rp-contact__left{
  display:block!important;
}
.rp-home #rp-contacto .rp-contact-ticket--under-map{
  display:none!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate{
  grid-column:1 / -1!important;
  width:min(760px,100%)!important;
  max-width:760px!important;
  margin:24px auto 0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-wrap,
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-wrap--full{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  box-sizing:border-box!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:28px!important;
  box-sizing:border-box!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-field--full,
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-actions{
  grid-column:1 / -1!important;
}
@media(max-width:820px){
  .rp-home #rp-contacto.rp-contact-map-mode{grid-template-columns:1fr!important;}
  .rp-home #rp-contacto .rp-contact-ticket--separate{width:100%!important;max-width:100%!important;margin-top:18px!important;}
  .rp-home #rp-contacto .rp-contact-ticket--separate .rppt-grid{grid-template-columns:1fr!important;}
  .rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form{padding:20px!important;}
}


/* V27 - Contacto: formulario de tickets en fila propia, centrado y fuera de las 2 columnas */
.rp-home #rp-contacto.rp-contact-map-mode{
  display:grid!important;
  grid-template-columns:minmax(320px,42%) minmax(0,1fr)!important;
  gap:28px!important;
  align-items:start!important;
}
.rp-home #rp-contacto .rp-contact__left{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
}
.rp-home #rp-contacto .rp-contact__body{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
}
.rp-home #rp-contacto .rp-contact-ticket,
.rp-home #rp-contacto .rp-contact-ticket--separate{
  grid-column:1 / -1!important;
  grid-row:2!important;
  width:100%!important;
  max-width:760px!important;
  justify-self:center!important;
  margin:24px auto 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  min-width:0!important;
}
.rp-home #rp-contacto .rp-contact-ticket .rppt-wrap{
  width:100%!important;
  max-width:760px!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  box-sizing:border-box!important;
}
.rp-home #rp-contacto .rp-contact-ticket .rppt-form{
  width:100%!important;
  max-width:760px!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}
.rp-home #rp-contacto .rp-contact-ticket .rppt-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
@media(max-width:900px){
  .rp-home #rp-contacto.rp-contact-map-mode{grid-template-columns:1fr!important;}
  .rp-home #rp-contacto .rp-contact__left,
  .rp-home #rp-contacto .rp-contact__body,
  .rp-home #rp-contacto .rp-contact-ticket,
  .rp-home #rp-contacto .rp-contact-ticket--separate{grid-column:1!important;grid-row:auto!important;}
  .rp-home #rp-contacto .rp-contact-ticket,
  .rp-home #rp-contacto .rp-contact-ticket--separate{max-width:100%!important;margin-top:18px!important;}
  .rp-home #rp-contacto .rp-contact-ticket .rppt-grid{grid-template-columns:1fr!important;}
}

/* v1.5.9 - Footer propio RP: oculta footer GeneratePress y reemplaza con footer profesional */
body.home footer.site-info,
body.home .site-info,
body.home .site-footer,
body.home footer.site-footer,
body.home .footer-widgets,
body.home .footer-bar{display:none!important;}
.rp-home .rp-site-footer{
  width:100%;
  margin:34px 0 0;
  padding:32px 22px 0;
  background:var(--rp-footer-bg,#eef2f4);
  color:var(--rp-footer-text,#263645);
  border-top:1px solid var(--rp-footer-border,#dde5ea);
  font-family:var(--rp-font,inherit);
  box-sizing:border-box;
}
.rp-home .rp-site-footer,
.rp-home .rp-site-footer *{box-sizing:border-box;}
.rp-home .rp-site-footer__inner{
  width:min(var(--rp-width),calc(100vw - 44px));
  max-width:var(--rp-width);
  margin:0 auto;
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr;
  gap:26px;
  align-items:start;
}
.rp-home .rp-site-footer__profile{
  display:grid;
  grid-template-columns:var(--rp-footer-avatar-size,58px) minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:14px;
  align-items:center;
  min-width:0;
}
.rp-home .rp-site-footer__avatar{
  grid-row:1 / span 2;
  width:var(--rp-footer-avatar-size,58px);
  height:var(--rp-footer-avatar-size,58px);
  border-radius:999px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--rp-footer-border,#dde5ea);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--rp-footer-icon,#1f7db6);
}
.rp-home .rp-site-footer__avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.rp-home .rp-site-footer__avatar svg{width:calc(var(--rp-footer-icon-size,18px) + 10px);height:calc(var(--rp-footer-icon-size,18px) + 10px);fill:none;stroke:currentColor;stroke-width:1.8;}
.rp-home .rp-site-footer__profile strong{
  display:block;
  font-size:var(--rp-footer-name-size,17px);
  line-height:1.25;
  font-weight:800;
  color:var(--rp-footer-text,#263645);
  margin:0;
}
.rp-home .rp-site-footer__profile span{
  display:block;
  font-size:var(--rp-footer-role-size,14px);
  line-height:1.35;
  color:var(--rp-footer-muted,#586575);
  margin-top:3px;
}
.rp-home .rp-site-footer__menu h3{
  margin:0 0 12px;
  color:var(--rp-footer-text,#263645);
  font-size:var(--rp-footer-menu-title-size,15px);
  line-height:1.25;
  font-weight:400;
}
.rp-home .rp-site-footer__menu a{
  display:flex;
  align-items:center;
  gap:9px;
  width:max-content;
  max-width:100%;
  margin:0 0 9px;
  color:var(--rp-footer-muted,#586575)!important;
  text-decoration:none!important;
  font-size:var(--rp-footer-menu-item-size,14px);
  line-height:1.35;
  font-weight:400;
}
.rp-home .rp-site-footer__menu a:hover{color:var(--rp-footer-text,#263645)!important;}
.rp-home .rp-site-footer__menu a span{
  width:22px;
  height:22px;
  color:var(--rp-footer-icon,#1f7db6);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
.rp-home .rp-site-footer__menu svg,
.rp-home .rp-site-footer__credit svg{
  width:var(--rp-footer-icon-size,18px);
  height:var(--rp-footer-icon-size,18px);
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.rp-home .rp-site-footer__credit{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin:28px auto 0;
  padding:15px 18px;
  border-top:1px solid var(--rp-footer-border,#dde5ea);
  color:var(--rp-footer-muted,#586575)!important;
  text-decoration:none!important;
  font-size:var(--rp-footer-credit-size,13px);
  line-height:1.4;
  font-weight:400;
  text-align:center;
}
.rp-home .rp-site-footer__credit:hover{color:var(--rp-footer-text,#263645)!important;}
.rp-home .rp-site-footer__credit svg{color:var(--rp-footer-icon,#1f7db6);flex:0 0 auto;}
@media(max-width:820px){
  .rp-home .rp-site-footer{padding:26px 16px 0;margin-top:26px;}
  .rp-home .rp-site-footer__inner{width:100%;grid-template-columns:1fr;gap:20px;}
  .rp-home .rp-site-footer__profile{justify-content:start;}
  .rp-home .rp-site-footer__credit{align-items:flex-start;text-align:left;justify-content:flex-start;}
}


/* v1.6.0 - Footer: elimina bloque vacío inferior y baja peso de menú */
.rp-home{padding-bottom:0!important;}
.rp-home .rp-site-footer{margin-bottom:0!important;padding-bottom:0!important;}
.rp-home .rp-site-footer__menu h3,
.rp-home .rp-site-footer__menu a,
.rp-home .rp-site-footer__credit{font-weight:400!important;}
body.home #page,
body.home .site,
body.home .site-content,
body.home .content-area,
body.home .site-main,
body.home article,
body.home .inside-article{margin-bottom:0!important;padding-bottom:0!important;}
body.home .rp-home + *{display:none!important;}
.rp-booking__notice{grid-column:1/-1;margin:0 0 12px;padding:10px 12px;border:1px solid var(--rp-border,#e2ebf3);background:rgba(8,118,216,.06);border-radius:14px;color:var(--rp-muted,#68798b);font-size:13px;line-height:1.35}

/* Reserva pública RedPsico v32 */
.rp-booking-v2 .rp-booking-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px}
.rp-booking-v2 .rp-booking-actions .rp-main-btn{flex:1;min-width:180px}
.rp-public-booking-form{margin-top:18px;padding:18px;border:1px solid var(--rp-border);border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 14px 36px rgba(15,35,55,.08)}
.rp-public-booking-form h3{margin:0 0 12px;color:var(--rp-agenda-title,#17324d);font-size:18px}
.rp-public-booking-form input{width:100%;min-height:46px;border:1px solid var(--rp-border);border-radius:12px;padding:10px 12px;background:#fff;color:#102033}
.rp-booking-form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.rp-secondary-btn{min-height:44px;border-radius:12px;border:1px solid var(--rp-border);background:#fff;color:#17324d;font-weight:700;padding:10px 16px;cursor:pointer}
.rp-booking-result{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:#f2f8ff;color:#17324d;font-weight:700}
@media(max-width:767px){.rp-booking-v2 .rp-booking-actions{display:block}.rp-booking-v2 .rp-booking-actions .rp-main-btn{width:100%;margin-top:10px}.rp-public-booking-form{padding:14px}.rp-booking-form-actions .rp-main-btn,.rp-booking-form-actions .rp-secondary-btn{width:100%}}

/* RP Home v33 - calendario mensual compacto y reserva con anticipación */
.rp-home .rp-booking.rp-booking-v2{grid-template-columns:minmax(280px,520px) minmax(260px,360px)!important;align-items:start!important;justify-content:center!important;gap:24px!important}
.rp-home .rp-calendar{background:var(--rp-inner-card,#fff)!important;border:1px solid var(--rp-border,#e2ebf3)!important;border-radius:22px!important;padding:16px!important;box-shadow:0 16px 40px rgba(15,35,52,.06)!important;width:100%!important;max-width:520px!important}
.rp-home .rp-calendar__head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-bottom:12px!important}
.rp-home .rp-calendar__head strong{font-size:18px!important;font-weight:900!important;color:var(--rp-text,#17324d)!important;text-transform:capitalize!important;text-align:center!important;line-height:1.2!important}
.rp-home .rp-calendar__nav{width:38px!important;height:38px!important;border-radius:12px!important;border:1px solid var(--rp-border,#d9e7f1)!important;background:#fff!important;color:var(--rp-primary,#0876d8)!important;font-size:26px!important;font-weight:900!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;cursor:pointer!important}
.rp-home .rp-calendar__nav:disabled{opacity:.35!important;cursor:not-allowed!important}
.rp-home .rp-calendar__week,.rp-home .rp-calendar__grid{display:grid!important;grid-template-columns:repeat(7,1fr)!important;gap:6px!important}
.rp-home .rp-calendar__week{margin-bottom:8px!important}
.rp-home .rp-calendar__week span{font-size:11px!important;font-weight:900!important;text-align:center!important;color:var(--rp-muted,#68798b)!important;text-transform:uppercase!important;letter-spacing:.03em!important}
.rp-home .rp-calendar__empty{min-height:44px!important}
.rp-home .rp-calendar__day{min-height:44px!important;height:44px!important;border-radius:12px!important;border:1px solid var(--rp-border,#d9e7f1)!important;background:#fff!important;color:var(--rp-text,#17324d)!important;font-size:14px!important;font-weight:900!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important;cursor:pointer!important}
.rp-home .rp-calendar__day:hover:not(:disabled){border-color:var(--rp-primary,#0876d8)!important;background:rgba(8,118,216,.07)!important}
.rp-home .rp-calendar__day.is-active{background:var(--rp-primary,#0876d8)!important;border-color:var(--rp-primary,#0876d8)!important;color:#fff!important;box-shadow:0 10px 22px rgba(8,118,216,.22)!important}
.rp-home .rp-calendar__day.is-today:not(.is-active){border-color:#f4b400!important;background:#fffdf2!important;color:var(--rp-text,#17324d)!important}
.rp-home .rp-calendar__day.is-disabled,.rp-home .rp-calendar__day:disabled{background:#f3f6f8!important;color:#a7b4bf!important;border-color:#e5edf3!important;cursor:not-allowed!important;opacity:1!important}
.rp-home .rp-calendar__day.is-disabled span,.rp-home .rp-calendar__day:disabled span{text-decoration:none!important}
.rp-home .rp-booking__dates{display:block!important}
.rp-home .rp-booking__side{max-width:360px!important;width:100%!important}
@media(max-width:767px){.rp-home .rp-booking.rp-booking-v2{grid-template-columns:1fr!important}.rp-home .rp-calendar{max-width:none!important;border-radius:18px!important;padding:12px!important}.rp-home .rp-calendar__empty,.rp-home .rp-calendar__day{min-height:40px!important;height:40px!important;border-radius:10px!important;font-size:13px!important}.rp-home .rp-booking__side{max-width:none!important}}

/* RP Home v34 - calendario común, compacto, con días bloqueados reales */
.rp-home .rp-booking.rp-booking-v2{
  grid-template-columns:minmax(300px,420px) minmax(260px,340px)!important;
  justify-content:center!important;
  align-items:start!important;
  gap:22px!important;
}
.rp-home .rp-booking__notice{grid-column:1/-1!important;max-width:790px!important;margin:0 auto 10px!important;width:100%!important}
.rp-home .rp-calendar{
  width:100%!important;max-width:420px!important;margin:0 auto!important;background:#fff!important;border:1px solid #e3edf5!important;border-radius:18px!important;padding:14px!important;box-shadow:0 12px 32px rgba(20,44,65,.07)!important;overflow:hidden!important;box-sizing:border-box!important;
}
.rp-home .rp-calendar__head{display:grid!important;grid-template-columns:36px 1fr 36px!important;align-items:center!important;gap:8px!important;margin:0 0 12px!important;width:100%!important}
.rp-home .rp-calendar__head strong{display:block!important;text-align:center!important;font-size:16px!important;font-weight:900!important;color:#17324d!important;text-transform:capitalize!important;white-space:nowrap!important;line-height:1.2!important;min-width:0!important}
.rp-home .rp-calendar__nav{width:36px!important;height:36px!important;min-width:36px!important;border-radius:10px!important;border:1px solid #d9e7f1!important;background:#f7fbff!important;color:#0b6688!important;font-size:22px!important;font-weight:900!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;line-height:1!important;cursor:pointer!important;appearance:none!important;-webkit-appearance:none!important}
.rp-home .rp-calendar__nav:hover:not(:disabled){background:#eaf6fb!important;border-color:#0b6688!important}
.rp-home .rp-calendar__nav:disabled{opacity:.35!important;cursor:not-allowed!important}
.rp-home .rp-calendar__week{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px!important;margin:0 0 6px!important;width:100%!important}
.rp-home .rp-calendar__week span{display:flex!important;align-items:center!important;justify-content:center!important;height:20px!important;font-size:10px!important;font-weight:900!important;color:#7890a1!important;text-transform:uppercase!important;letter-spacing:0!important;overflow:hidden!important}
.rp-home .rp-calendar__grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px!important;width:100%!important}
.rp-home .rp-calendar__empty{display:block!important;height:38px!important;min-height:38px!important;border:0!important;background:transparent!important}
.rp-home .rp-calendar__day{width:100%!important;height:38px!important;min-height:38px!important;max-height:38px!important;border-radius:10px!important;border:1px solid #dce8f1!important;background:#fff!important;color:#17324d!important;font-size:13px!important;font-weight:900!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;box-shadow:none!important;cursor:pointer!important;appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important}
.rp-home .rp-calendar__day:hover:not(:disabled){border-color:#0b6688!important;background:#edf8fc!important;color:#0b6688!important}
.rp-home .rp-calendar__day.is-active{background:#0b8fbd!important;border-color:#0b8fbd!important;color:#fff!important;box-shadow:none!important}
.rp-home .rp-calendar__day.is-today:not(.is-active){border-color:#f4b400!important;background:#fff9df!important;color:#17324d!important}
.rp-home .rp-calendar__day.is-disabled,
.rp-home .rp-calendar__day:disabled{background:#f1f4f6!important;color:#b1bec8!important;border-color:#edf2f6!important;cursor:not-allowed!important;opacity:1!important;box-shadow:none!important}
.rp-home .rp-calendar__day.is-disabled span,
.rp-home .rp-calendar__day:disabled span{opacity:.72!important;text-decoration:none!important}
.rp-home .rp-hour-select[hidden]{display:none!important}
.rp-home .rp-time-exact{width:100%!important;border:1px solid var(--rp-border,#d9e7f1)!important;background:#fff!important;color:#17324d!important;border-radius:16px!important;padding:13px 14px!important;font-size:16px!important;font-weight:800!important;outline:none!important;box-shadow:none!important;min-height:50px!important;box-sizing:border-box!important}
.rp-home .rp-time-exact:focus{border-color:#0b8fbd!important;box-shadow:0 0 0 4px rgba(11,143,189,.12)!important}
.rp-home .rp-time-exact:disabled{background:#f3f6f8!important;color:#9baab6!important;cursor:not-allowed!important}
.rp-home .rp-time-help{margin:0!important;font-size:12px!important;line-height:1.35!important;color:#68798b!important;font-weight:700!important}
.rp-home .rp-time-error{margin:0!important;padding:10px 12px!important;border-radius:12px!important;background:#fff0f0!important;color:#9b1c1c!important;font-size:13px!important;font-weight:800!important;line-height:1.35!important}
@media(max-width:767px){
  .rp-home .rp-booking.rp-booking-v2{grid-template-columns:1fr!important;gap:14px!important}
  .rp-home .rp-calendar{max-width:100%!important;padding:12px!important;border-radius:16px!important}
  .rp-home .rp-calendar__day,.rp-home .rp-calendar__empty{height:36px!important;min-height:36px!important;max-height:36px!important;border-radius:9px!important;font-size:12px!important}
  .rp-home .rp-calendar__week span{font-size:9px!important}
}

/* v35: mostrar un solo mes del calendario, respetando hidden aunque otras reglas usen display:grid !important */
.rp-home .rp-calendar__grid[hidden]{display:none!important;}
.rp-home .rp-time-error{color:#8a3b3b!important;background:#fff3f1!important;border:1px solid #ffd7d1!important;border-radius:12px!important;padding:10px 12px!important;font-weight:800!important;}


.rp-booking-popup{position:fixed;inset:0;z-index:999999;background:rgba(15,23,42,.48);display:none;align-items:center;justify-content:center;padding:22px;box-sizing:border-box;}
.rp-booking-popup.is-open{display:flex;}
.rp-booking-popup__box{width:min(440px,100%);background:#fff;border:1px solid #e5e7eb;border-radius:24px;box-shadow:0 24px 70px rgba(15,23,42,.24);padding:30px 24px 24px;text-align:center;position:relative;color:#1f2937;box-sizing:border-box;}
.rp-booking-popup__close{position:absolute;top:12px;right:14px;width:36px;height:36px;border:0;background:transparent;color:#64748b;font-size:30px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.rp-booking-popup__icon{width:52px;height:52px;border-radius:50%;background:#eaf7fb;color:#087fa9;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-weight:900;font-size:30px;}
.rp-booking-popup__box h3{margin:0 0 8px;font-size:24px;line-height:1.15;color:#1f2937;}
.rp-booking-popup__box p{margin:0 0 20px;font-size:16px;line-height:1.5;color:#475569;}
.rp-booking-popup__ok{width:100%;max-width:260px;margin:0 auto;}
@media(max-width:767px){.rp-booking-popup{padding:16px}.rp-booking-popup__box{border-radius:22px;padding:28px 18px 20px}.rp-booking-popup__box h3{font-size:22px}.rp-booking-popup__box p{font-size:15px}}


/* v1.8.0 - Home sin bloque Agenda + corrección de precarga Sobre mí */
.rp-home{
    padding-top:6px !important;
}
.rp-home .rp-home__inner{
    gap:min(var(--rp-gap,22px),14px) !important;
}
.rp-home #rp-agenda{
    display:none !important;
}
.rp-home .rp-about{
    margin-top:0 !important;
}
.rp-home .rp-about__photo{
    width:100% !important;
    max-width:520px !important;
    aspect-ratio:16/9 !important;
    min-height:0 !important;
    max-height:360px !important;
    overflow:hidden !important;
}
.rp-home .rp-about__photo img{
    width:100% !important;
    max-width:100% !important;
    height:100% !important;
    max-height:360px !important;
    object-fit:cover !important;
    object-position:center center !important;
    display:block !important;
}
.rp-home .rp-section:first-child{
    margin-top:0 !important;
}
@media(max-width:900px){
    .rp-home{padding-top:4px !important;}
    .rp-home .rp-home__inner{gap:12px !important;}
    .rp-home .rp-about__photo{
        max-width:100% !important;
        max-height:260px !important;
        aspect-ratio:16/9 !important;
    }
    .rp-home .rp-about__photo img{
        max-height:260px !important;
    }
}

/* v1.8.1 - Contacto: formulario full width y más compacto */
.rp-home #rp-contacto.rp-contact-map-mode .rp-contact-ticket--separate{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:100%!important;
  margin:14px 0 0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-wrap,
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-wrap--full{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  box-sizing:border-box!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:20px 22px!important;
  border-radius:12px!important;
  box-sizing:border-box!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-head h2{
  font-size:clamp(24px,2.2vw,34px)!important;
  line-height:1.1!important;
  margin:0 0 5px!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-head p{
  margin:0 0 14px!important;
  line-height:1.35!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px 18px!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form label{
  line-height:1.25!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form input,
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form select,
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form textarea{
  margin-top:5px!important;
  min-height:40px!important;
  padding:9px 11px!important;
  border-radius:8px!important;
  line-height:1.25!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form textarea{
  min-height:96px!important;
  height:96px!important;
  resize:vertical!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-full{
  margin-top:12px!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-privacy{
  margin:10px 0!important;
  line-height:1.35!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-button{
  min-height:42px!important;
  padding:10px 18px!important;
  border-radius:9px!important;
}
@media(max-width:820px){
  .rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form{
    padding:18px!important;
  }
  .rp-home #rp-contacto .rp-contact-ticket--separate .rppt-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .rp-home #rp-contacto .rp-contact-ticket--separate .rppt-head h2{
    font-size:26px!important;
  }
}


/* v46 - Contacto: formulario ancho completo pero compacto en altura */
.rp-home #rp-contacto.rp-contact-map-mode{
  padding-top:22px!important;
  padding-bottom:22px!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate{
  width:100%!important;
  max-width:100%!important;
  margin:14px 0 0!important;
  padding:0!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-wrap,
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-wrap--full{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form{
  width:100%!important;
  max-width:none!important;
  padding:14px 18px!important;
  border-radius:12px!important;
  min-height:0!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-head{
  margin:0 0 10px!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-head h2{
  font-size:clamp(22px,2vw,30px)!important;
  line-height:1.05!important;
  margin:0 0 3px!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-head p{
  font-size:14px!important;
  line-height:1.25!important;
  margin:0!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px 16px!important;
  align-items:end!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form label{
  font-size:13px!important;
  line-height:1.15!important;
  margin:0!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form input,
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form select{
  height:34px!important;
  min-height:34px!important;
  padding:6px 10px!important;
  margin-top:3px!important;
  border-radius:7px!important;
  font-size:14px!important;
  line-height:1.2!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form textarea{
  height:62px!important;
  min-height:62px!important;
  max-height:82px!important;
  padding:7px 10px!important;
  margin-top:3px!important;
  border-radius:7px!important;
  font-size:14px!important;
  line-height:1.25!important;
  resize:vertical!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-field--full,
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-actions,
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-full{
  grid-column:1 / -1!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-full{
  margin-top:6px!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-privacy{
  margin:6px 0 8px!important;
  font-size:13px!important;
  line-height:1.25!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-button,
.rp-home #rp-contacto .rp-contact-ticket--separate button[type="submit"]{
  min-height:34px!important;
  height:34px!important;
  padding:7px 15px!important;
  border-radius:8px!important;
  font-size:14px!important;
  line-height:1!important;
}
@media(max-width:820px){
  .rp-home #rp-contacto.rp-contact-map-mode{
    padding-top:18px!important;
    padding-bottom:18px!important;
  }
  .rp-home #rp-contacto .rp-contact-ticket--separate{
    margin-top:12px!important;
  }
  .rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form{
    padding:14px!important;
  }
  .rp-home #rp-contacto .rp-contact-ticket--separate .rppt-grid{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .rp-home #rp-contacto .rp-contact-ticket--separate .rppt-head h2{
    font-size:23px!important;
  }
  .rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form input,
  .rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form select{
    height:36px!important;
    min-height:36px!important;
  }
  .rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form textarea{
    height:66px!important;
    min-height:66px!important;
  }
}

/* v48 contacto: iconos lineales configurables y cards más decoradas */
.rp-home .rp-contact-card{
  position:relative!important;
  overflow:hidden!important;
  align-items:flex-start!important;
  gap:12px!important;
  padding:16px 18px!important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease!important;
}
.rp-home .rp-contact-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--rp-contact-icon-color, var(--rp-primary));
  opacity:.22;
}
.rp-home .rp-contact-card:hover{
  transform:translateY(-1px)!important;
  border-color:color-mix(in srgb,var(--rp-contact-icon-color, var(--rp-primary)) 32%,var(--rp-border))!important;
  box-shadow:0 12px 28px rgba(15,23,42,.08)!important;
}
.rp-home .rp-contact-card > svg{
  width:22px!important;
  height:22px!important;
  color:var(--rp-contact-icon-color, var(--rp-primary))!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  flex:0 0 22px!important;
  margin-top:2px!important;
}
.rp-home .rp-contact-card strong{color:var(--rp-contact-label-color,var(--rp-text))!important;}
.rp-home .rp-contact-card span{color:var(--rp-contact-value-color,var(--rp-muted))!important;}
.rp-home .rp-contact-ticket--separate{margin-top:18px!important;}
.rp-home .rp-contact-ticket--separate .rppt-wrap{padding:0!important;}
@media(max-width:760px){
  .rp-home .rp-contact-card{padding:14px!important;}
  .rp-home .rp-contact-card > svg{width:20px!important;height:20px!important;flex-basis:20px!important;}
}


/* v49: ocultar contenedores automáticos del theme en páginas RP y ajustar contacto */
body .rp-home ~ .entry-header,
body .entry-header:has(+ .entry-content .rp-home),
body .page-header:has(+ .entry-content .rp-home){display:none!important;}
.rp-home #rp-contacto .rp-contact-card > svg,
.rp-home #rp-contacto .rp-contact-card > svg *{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  max-width:22px!important;
  max-height:22px!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-field-icon,
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-field-icon svg{
  width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;max-width:18px!important;max-height:18px!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-field-icon svg path{fill:none!important;stroke:currentColor!important;}

/* v50: paginas independientes renderizadas por el plugin */
.rp-home-independent-page{
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  padding-top:0!important;
}
body:has(.rp-home-independent-page) .entry-header,
body:has(.rp-home-independent-page) .page-header,
body:has(.rp-home-independent-page) .entry-title,
body:has(.rp-home-independent-page) .inside-article > header,
body:has(.rp-home-independent-page) .inside-article > .wp-block-group:first-child,
body:has(.rp-home-independent-page) .entry-content > .wp-block-group:first-child:not(.rp-home){
  display:none!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
body:has(.rp-home-independent-page) .inside-article,
body:has(.rp-home-independent-page) .entry-content,
body:has(.rp-home-independent-page) .site-main,
body:has(.rp-home-independent-page) .content-area{
  padding-top:0!important;
  margin-top:0!important;
}
.rp-home-independent-page .rp-section{margin-top:0!important;}
.rp-home-independent-page--contact #rp-contacto{padding-top:28px!important;}

/* v50: defensa contra SVG gigantes en formularios de contacto */
.rp-home #rp-contacto .rppt-form svg,
.rp-home #rp-contacto .rppt-form svg *{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.rp-home #rp-contacto .rppt-form .rppt-field-icon,
.rp-home #rp-contacto .rppt-form .rppt-field-icon svg{
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
}
.rp-home #rp-contacto .rppt-form .rppt-field-icon{
  position:absolute!important;
  left:12px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  color:var(--rp-contact-icon-color,var(--rp-primary))!important;
  z-index:4!important;
  pointer-events:none!important;
}
.rp-home #rp-contacto .rppt-form .rppt-input-wrap--textarea .rppt-field-icon{top:14px!important;transform:none!important;}
.rp-home #rp-contacto .rppt-form .rppt-input-wrap{position:relative!important;display:block!important;}
.rp-home #rp-contacto .rppt-form input,
.rp-home #rp-contacto .rppt-form select,
.rp-home #rp-contacto .rppt-form textarea{padding-left:42px!important;}

/* V51 - FAQ split 1/4 + 3/4 y especialidades en tira horizontal */
.rp-home.rp-layout-two_columns #rp-faq,
.rp-home.rp-layout-two_columns #rp-especialidades{
  grid-column:1 / -1;
}
.rp-home #rp-faq.rp-faq-layout-split{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(0,3fr);
  gap:24px;
  align-items:start;
}
.rp-home #rp-faq .rp-faq__intro{
  background:var(--rp-faq-intro-bg,#eef8fc);
  border:1px solid var(--rp-border);
  border-radius:calc(var(--rp-radius) + 10px);
  padding:24px;
  min-height:100%;
}
.rp-home #rp-faq .rp-faq__intro-icon{
  width:var(--rp-faq-intro-icon-box-size,48px);
  height:var(--rp-faq-intro-icon-box-size,48px);
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--rp-faq-intro-icon-bg,#fff);
  color:var(--rp-faq-intro-icon-color,var(--rp-primary));
  margin-bottom:14px;
}
.rp-home #rp-faq .rp-faq__intro-icon svg{
  width:var(--rp-faq-intro-icon-size,24px);
  height:var(--rp-faq-intro-icon-size,24px);
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2;
}
.rp-home #rp-faq .rp-faq__intro h2{
  margin:0 0 8px;
  color:var(--rp-faq-intro-title-color,var(--rp-section-title,var(--rp-text)));
  font-size:var(--rp-faq-intro-title-size,30px);
  line-height:1.08;
}
.rp-home #rp-faq .rp-faq__intro h3{
  margin:0 0 12px;
  color:var(--rp-faq-intro-subtitle-color,var(--rp-text));
  font-size:var(--rp-faq-intro-subtitle-size,17px);
  line-height:1.3;
}
.rp-home #rp-faq .rp-faq__intro-text{
  color:var(--rp-faq-intro-text-color,var(--rp-section-text,var(--rp-muted)));
  font-size:var(--rp-faq-intro-text-size,15px);
  line-height:1.65;
}
.rp-home #rp-faq .rp-faq__questions{
  min-width:0;
}
.rp-home #rp-faq .rp-section__head.compact{
  margin-bottom:16px;
}
.rp-home #rp-faq .rp-accordion.big{
  display:grid;
  grid-template-columns:repeat(var(--rp-faq-cols),minmax(0,1fr));
  gap:12px;
}
.rp-home #rp-faq .rp-accordion details{
  background:var(--rp-faq-question-bg,#fff)!important;
  border-color:var(--rp-section-border,var(--rp-border))!important;
  overflow:hidden;
}
.rp-home #rp-faq .rp-accordion details[open]{
  background:var(--rp-faq-question-open-bg,#f3fbff)!important;
}
.rp-home #rp-faq .rp-acc-icon{
  width:var(--rp-faq-question-icon-box-size,34px);
  height:var(--rp-faq-question-icon-box-size,34px);
  min-width:var(--rp-faq-question-icon-box-size,34px);
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--rp-faq-question-icon-bg,#eef8fc);
  color:var(--rp-faq-question-icon-color,var(--rp-primary));
}
.rp-home #rp-faq .rp-acc-icon svg{
  width:var(--rp-faq-question-icon-size,18px)!important;
  height:var(--rp-faq-question-icon-size,18px)!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2;
}
.rp-home #rp-especialidades .rp-specialty-grid{
  display:flex!important;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  padding:4px 4px 12px;
  -webkit-overflow-scrolling:touch;
}
.rp-home #rp-especialidades .rp-specialty{
  flex:0 0 clamp(230px,24vw,320px);
  scroll-snap-align:start;
}
.rp-home #rp-especialidades .rp-specialty-grid::-webkit-scrollbar{
  height:8px;
}
.rp-home #rp-especialidades .rp-specialty-grid::-webkit-scrollbar-thumb{
  background:rgba(8,118,216,.25);
  border-radius:20px;
}
@media(max-width:900px){
  .rp-home #rp-faq.rp-faq-layout-split{
    grid-template-columns:1fr;
    gap:16px;
  }
  .rp-home #rp-faq .rp-faq__intro{
    padding:18px;
  }
  .rp-home #rp-faq .rp-accordion.big{
    grid-template-columns:1fr;
  }
  .rp-home #rp-especialidades .rp-specialty{
    flex-basis:78vw;
  }
}

/* v52 - Especialidades: compacto en PC, deslizable solo en móvil */
@media (min-width:901px){
  .rp-home #rp-especialidades{
    padding:18px 20px!important;
  }
  .rp-home #rp-especialidades .rp-section__head{
    margin-bottom:12px!important;
    gap:8px!important;
  }
  .rp-home #rp-especialidades .rp-section__icon svg{
    width:18px!important;
    height:18px!important;
  }
  .rp-home #rp-especialidades .rp-section__head h2{
    font-size:22px!important;
    line-height:1.1!important;
  }
  .rp-home #rp-especialidades .rp-section__head p{
    font-size:13px!important;
    line-height:1.25!important;
    margin-top:2px!important;
  }
  .rp-home #rp-especialidades .rp-specialty-grid{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;
    gap:10px!important;
    overflow:visible!important;
    overflow-x:visible!important;
    scroll-snap-type:none!important;
    padding:0!important;
  }
  .rp-home #rp-especialidades .rp-specialty{
    flex:initial!important;
    min-height:0!important;
    padding:12px 14px!important;
    gap:6px!important;
    border-radius:10px!important;
  }
  .rp-home #rp-especialidades .rp-specialty__icon{
    margin:0 0 3px 0!important;
  }
  .rp-home #rp-especialidades .rp-specialty__icon svg{
    width:17px!important;
    height:17px!important;
  }
  .rp-home #rp-especialidades .rp-specialty h3{
    font-size:14px!important;
    line-height:1.22!important;
    margin:0!important;
  }
  .rp-home #rp-especialidades .rp-specialty__text,
  .rp-home #rp-especialidades .rp-specialty__text p,
  .rp-home #rp-especialidades .rp-specialty p{
    font-size:12px!important;
    line-height:1.38!important;
    max-width:none!important;
    margin:0!important;
  }
}
@media (max-width:900px){
  .rp-home #rp-especialidades{
    padding:18px!important;
  }
  .rp-home #rp-especialidades .rp-specialty-grid{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity!important;
    padding:2px 2px 10px!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .rp-home #rp-especialidades .rp-specialty{
    flex:0 0 76vw!important;
    max-width:320px!important;
    padding:14px!important;
    gap:8px!important;
    scroll-snap-align:start!important;
  }
  .rp-home #rp-especialidades .rp-specialty h3{
    font-size:15px!important;
  }
  .rp-home #rp-especialidades .rp-specialty__text,
  .rp-home #rp-especialidades .rp-specialty__text p,
  .rp-home #rp-especialidades .rp-specialty p{
    font-size:13px!important;
    line-height:1.45!important;
  }
}

/* v55 - Especialidades: controles independientes reales */
.rp-home #rp-especialidades .rp-section__head{
  gap:12px!important;
  margin-bottom:14px!important;
}
.rp-home #rp-especialidades .rp-section__icon{
  width:var(--rp-spec-header-icon-box-size,48px)!important;
  height:var(--rp-spec-header-icon-box-size,48px)!important;
  min-width:var(--rp-spec-header-icon-box-size,48px)!important;
  color:var(--rp-spec-header-icon-color,var(--rp-item-icon-color,var(--rp-icon)))!important;
  background:transparent!important;
}
.rp-home #rp-especialidades .rp-section__icon svg{
  width:var(--rp-spec-header-icon-size,22px)!important;
  height:var(--rp-spec-header-icon-size,22px)!important;
  stroke:currentColor!important;
  fill:none!important;
}
.rp-home #rp-especialidades .rp-section__head h2{
  color:var(--rp-text)!important;
  font-size:var(--rp-sec-title-size,var(--rp-title-size))!important;
  font-weight:var(--rp-sec-title-weight,var(--rp-title-weight))!important;
}
.rp-home #rp-especialidades .rp-section__head p{
  color:var(--rp-muted)!important;
  font-size:var(--rp-sec-subtitle-size,var(--rp-subtitle-size))!important;
  font-weight:var(--rp-sec-subtitle-weight,var(--rp-subtitle-weight))!important;
}
.rp-home #rp-especialidades .rp-specialty__icon{
  width:var(--rp-spec-card-icon-box-size,46px)!important;
  height:var(--rp-spec-card-icon-box-size,46px)!important;
  min-width:var(--rp-spec-card-icon-box-size,46px)!important;
  background:var(--rp-spec-card-icon-bg,transparent)!important;
  color:var(--rp-item-icon,var(--rp-item-icon-color,var(--rp-icon)))!important;
}
.rp-home #rp-especialidades .rp-specialty__icon svg{
  width:var(--rp-spec-card-icon-size,22px)!important;
  height:var(--rp-spec-card-icon-size,22px)!important;
  stroke:currentColor!important;
  fill:none!important;
}
.rp-home #rp-especialidades .rp-specialty h3{
  color:var(--rp-item-title-color,var(--rp-text))!important;
  font-size:var(--rp-sec-item-title-size,var(--rp-spec-title-size))!important;
  font-weight:var(--rp-sec-item-title-weight,var(--rp-spec-title-weight))!important;
}
.rp-home #rp-especialidades .rp-specialty__text,
.rp-home #rp-especialidades .rp-specialty__text p,
.rp-home #rp-especialidades .rp-specialty p{
  color:var(--rp-item-text-color,var(--rp-muted))!important;
  font-size:var(--rp-sec-item-text-size,var(--rp-spec-text-size))!important;
  font-weight:var(--rp-sec-item-text-weight,var(--rp-spec-text-weight))!important;
}

/* v56 - Sobre mí: controles independientes y globos personalizables */
.rp-home #rp-sobre-mi .rp-section__head h2{
  color:var(--rp-text)!important;
  font-size:var(--rp-sec-title-size,var(--rp-title-size))!important;
  font-weight:var(--rp-sec-title-weight,var(--rp-title-weight))!important;
}
.rp-home #rp-sobre-mi .rp-section__head p{
  color:var(--rp-about-subtitle-color,var(--rp-muted))!important;
  font-size:var(--rp-sec-subtitle-size,var(--rp-subtitle-size))!important;
  font-weight:var(--rp-sec-subtitle-weight,var(--rp-subtitle-weight))!important;
}
.rp-home #rp-sobre-mi .rp-intro,
.rp-home #rp-sobre-mi .rp-intro p{
  color:var(--rp-about-intro-color,var(--rp-muted))!important;
  font-size:var(--rp-sec-text-size,var(--rp-body-size))!important;
  font-weight:var(--rp-sec-text-weight,var(--rp-body-weight))!important;
}
.rp-home #rp-sobre-mi .rp-section__icon{
  width:var(--rp-about-header-icon-box-size,48px)!important;
  height:var(--rp-about-header-icon-box-size,48px)!important;
  min-width:var(--rp-about-header-icon-box-size,48px)!important;
  color:var(--rp-about-header-icon-color,var(--rp-icon))!important;
  background:var(--rp-about-header-icon-bg,transparent)!important;
}
.rp-home #rp-sobre-mi .rp-section__icon svg{
  width:var(--rp-about-header-icon-size,22px)!important;
  height:var(--rp-about-header-icon-size,22px)!important;
  stroke:currentColor!important;
  fill:none!important;
}
.rp-home #rp-sobre-mi .rp-accordion details{
  background:var(--rp-globo-bg,var(--rp-about-acc-bg,var(--rp-inner-card)))!important;
  border-color:var(--rp-globo-border,var(--rp-about-acc-border,var(--rp-border)))!important;
}
.rp-home #rp-sobre-mi .rp-accordion details[open]{
  background:var(--rp-globo-open-bg,var(--rp-about-acc-open-bg,var(--rp-inner-card)))!important;
}
.rp-home #rp-sobre-mi .rp-accordion summary,
.rp-home #rp-sobre-mi .rp-accordion .rp-acc-title{
  color:var(--rp-globo-title-color,var(--rp-about-acc-title-color,var(--rp-text)))!important;
  font-size:var(--rp-globo-title-size,var(--rp-sec-acc-title-size,var(--rp-acc-title-size)))!important;
  font-weight:var(--rp-sec-acc-title-weight,var(--rp-acc-title-weight))!important;
}
.rp-home #rp-sobre-mi .rp-accordion .rp-acc-icon{
  width:var(--rp-about-acc-icon-box-size,32px)!important;
  height:var(--rp-about-acc-icon-box-size,32px)!important;
  min-width:var(--rp-about-acc-icon-box-size,32px)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--rp-globo-icon-color,var(--rp-about-acc-default-icon,var(--rp-icon)))!important;
  background:var(--rp-about-acc-icon-bg,transparent)!important;
  border-radius:999px!important;
}
.rp-home #rp-sobre-mi .rp-accordion .rp-acc-icon svg{
  width:var(--rp-about-acc-icon-size,18px)!important;
  height:var(--rp-about-acc-icon-size,18px)!important;
  stroke:currentColor!important;
  fill:none!important;
}
.rp-home #rp-sobre-mi .rp-accordion details>div,
.rp-home #rp-sobre-mi .rp-accordion details>div p{
  color:var(--rp-globo-text-color,var(--rp-about-acc-text-color,var(--rp-muted)))!important;
  font-size:var(--rp-sec-acc-text-size,var(--rp-acc-text-size))!important;
  font-weight:var(--rp-sec-acc-text-weight,var(--rp-acc-text-weight))!important;
}

/* RP Home v57 - Footer avanzado + fix acordeones Sobre mí */
.rp-home .rp-about__accordion .rp-accordion details{
  background:var(--rp-globo-bg,var(--rp-about-acc-bg,#fff))!important;
  background-color:var(--rp-globo-bg,var(--rp-about-acc-bg,#fff))!important;
  background-image:none!important;
  border-color:var(--rp-globo-border,var(--rp-about-acc-border,#e2ebf3))!important;
  border-style:solid!important;
  border-width:1px!important;
}
.rp-home .rp-about__accordion .rp-accordion details[open]{
  background:var(--rp-globo-open-bg,var(--rp-about-acc-open-bg,#fff))!important;
  background-color:var(--rp-globo-open-bg,var(--rp-about-acc-open-bg,#fff))!important;
}
.rp-home .rp-about__accordion .rp-accordion summary{
  background:transparent!important;
  color:var(--rp-globo-title-color,var(--rp-about-acc-title-color,#17324d))!important;
  font-size:var(--rp-globo-title-size,var(--rp-sec-acc-title-size,16px))!important;
}
.rp-home .rp-about__accordion .rp-accordion .rp-acc-icon{
  background:var(--rp-about-acc-icon-bg,transparent)!important;
  color:var(--rp-globo-icon-color,var(--rp-about-acc-default-icon,#0876d8))!important;
  width:var(--rp-about-acc-icon-box-size,32px)!important;
  height:var(--rp-about-acc-icon-box-size,32px)!important;
  min-width:var(--rp-about-acc-icon-box-size,32px)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  margin-right:10px!important;
}
.rp-home .rp-about__accordion .rp-accordion .rp-acc-icon svg{
  width:var(--rp-about-acc-icon-size,18px)!important;
  height:var(--rp-about-acc-icon-size,18px)!important;
  fill:none!important;
  stroke:currentColor!important;
}
.rp-home .rp-about__accordion .rp-accordion details>div,
.rp-home .rp-about__accordion .rp-accordion details>div p{
  color:var(--rp-globo-text-color,var(--rp-about-acc-text-color,#68798b))!important;
}
.rp-home .rp-site-footer__identity{min-width:0;}
.rp-home .rp-site-footer__extra{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-top:10px;
}
.rp-home .rp-site-footer__extra-row{
  display:flex;
  align-items:flex-start;
  gap:8px;
  color:var(--rp-footer-muted,#586575);
  font-size:var(--rp-footer-role-size,14px);
  line-height:1.35;
}
.rp-home .rp-site-footer__extra-row i{
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--rp-footer-icon,#1f7db6);
  flex:0 0 auto;
  margin-top:1px;
}
.rp-home .rp-site-footer__extra-row svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.rp-home .rp-site-footer__social{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 14px;
}
.rp-home .rp-site-footer__social a{
  width:28px!important;
  height:28px!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--rp-footer-social-color,#8a98a8)!important;
  text-decoration:none!important;
  border:0!important;
  background:transparent!important;
}
.rp-home .rp-site-footer__social a:hover{color:var(--rp-footer-social-hover,#263645)!important;}
.rp-home .rp-site-footer__social svg{
  width:var(--rp-footer-social-size,18px)!important;
  height:var(--rp-footer-social-size,18px)!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
@media(max-width:820px){
  .rp-home .rp-site-footer__social{margin-top:2px;}
}

/* v59 - Contacto: icono principal configurable, cards 2x2 y menos distancia al formulario */
.rp-home #rp-contacto .rp-section__head .rp-section__icon,
.rp-home #rp-contacto .rp-section__head .rp-section__icon svg,
.rp-home #rp-contacto .rp-section__head .rp-section__icon svg *{
  color:var(--rp-contact-header-icon-color,var(--rp-contact-icon-color,var(--rp-primary)))!important;
  stroke:currentColor!important;
  fill:none!important;
}
.rp-home #rp-contacto.rp-contact-map-mode{
  row-gap:12px!important;
  column-gap:22px!important;
  padding-top:16px!important;
  padding-bottom:16px!important;
}
.rp-home #rp-contacto .rp-contact__body{
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
.rp-home #rp-contacto .rp-section__head.compact{
  margin:0 0 4px!important;
}
.rp-home #rp-contacto .rp-contact-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.rp-home #rp-contacto .rp-contact-card{
  min-height:96px!important;
  height:auto!important;
  padding:14px 16px!important;
  border-radius:14px!important;
  box-sizing:border-box!important;
}
.rp-home #rp-contacto .rp-contact-card > svg{
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate{
  margin-top:0!important;
  padding-top:0!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form{
  margin-top:0!important;
}
@media(max-width:820px){
  .rp-home #rp-contacto.rp-contact-map-mode{
    row-gap:10px!important;
  }
  .rp-home #rp-contacto .rp-contact-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .rp-home #rp-contacto .rp-contact-card{
    min-height:86px!important;
    padding:12px!important;
  }
}
@media(max-width:560px){
  .rp-home #rp-contacto .rp-contact-list{
    grid-template-columns:1fr!important;
  }
}


/* v60 - Contacto final: cards 2x2 real, icono principal visible y formulario más cerca */
.rp-home #rp-contacto.rp-contact-map-mode{
  display:grid!important;
  grid-template-columns:minmax(300px,43%) minmax(0,1fr)!important;
  align-items:start!important;
  column-gap:24px!important;
  row-gap:6px!important;
  padding-top:14px!important;
  padding-bottom:10px!important;
}
.rp-home #rp-contacto .rp-contact__body{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}
.rp-home #rp-contacto .rp-contact__left{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
}
.rp-home #rp-contacto .rp-contact-list{
  width:100%!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  gap:12px!important;
  align-items:stretch!important;
}
.rp-home #rp-contacto .rp-contact-list > .rp-contact-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:94px!important;
  height:100%!important;
  padding:14px 16px!important;
  box-sizing:border-box!important;
}
.rp-home #rp-contacto .rp-contact-list > .rp-contact-card:nth-child(1){grid-column:1!important;grid-row:1!important;}
.rp-home #rp-contacto .rp-contact-list > .rp-contact-card:nth-child(2){grid-column:2!important;grid-row:1!important;}
.rp-home #rp-contacto .rp-contact-list > .rp-contact-card:nth-child(3){grid-column:1!important;grid-row:2!important;}
.rp-home #rp-contacto .rp-contact-list > .rp-contact-card:nth-child(4){grid-column:2!important;grid-row:2!important;}
.rp-home #rp-contacto .rp-contact-list > .rp-contact-card svg{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  color:var(--rp-contact-icon-color,var(--rp-primary))!important;
  stroke:currentColor!important;
  fill:none!important;
}
.rp-home #rp-contacto .rp-section__head .rp-section__icon{
  color:var(--rp-contact-header-icon-color,var(--rp-contact-icon-color,var(--rp-primary)))!important;
  opacity:1!important;
}
.rp-home #rp-contacto .rp-section__head .rp-section__icon svg,
.rp-home #rp-contacto .rp-section__head .rp-section__icon svg *{
  stroke:currentColor!important;
  fill:none!important;
}
.rp-home #rp-contacto .rp-contact-ticket,
.rp-home #rp-contacto .rp-contact-ticket--separate{
  grid-column:1 / -1!important;
  grid-row:2!important;
  width:100%!important;
  max-width:100%!important;
  justify-self:stretch!important;
  margin:8px 0 0!important;
  padding:0!important;
}
.rp-home #rp-contacto .rp-contact-ticket--separate .rppt-form{
  margin:0!important;
}
.rp-home #rp-contacto + .rp-section,
.rp-home .rp-contact-ticket--separate + .rp-section{
  margin-top:10px!important;
}
.rp-home #rp-contacto .rp-contact__map a[aria-label="Abrir ubicación en Google Maps"],
.rp-home #rp-contacto .rp-contact__map .rp-map-open,
.rp-home #rp-contacto .rp-contact__map .rp-contact__map-link{
  border-radius:10px!important;
}
@media(max-width:900px){
  .rp-home #rp-contacto.rp-contact-map-mode{
    grid-template-columns:1fr!important;
    row-gap:12px!important;
    padding-top:12px!important;
    padding-bottom:12px!important;
  }
  .rp-home #rp-contacto .rp-contact__left,
  .rp-home #rp-contacto .rp-contact__body,
  .rp-home #rp-contacto .rp-contact-ticket,
  .rp-home #rp-contacto .rp-contact-ticket--separate{
    grid-column:1!important;
    grid-row:auto!important;
  }
  .rp-home #rp-contacto .rp-contact-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .rp-home #rp-contacto .rp-contact-list > .rp-contact-card:nth-child(n){
    grid-column:auto!important;
    grid-row:auto!important;
  }
  .rp-home #rp-contacto .rp-contact-ticket,
  .rp-home #rp-contacto .rp-contact-ticket--separate{
    margin-top:6px!important;
  }
}
@media(max-width:560px){
  .rp-home #rp-contacto .rp-contact-list{
    grid-template-columns:1fr!important;
  }
}


/* v61 - Contacto: grilla 2x2 real por clase, marcador redondo y formulario sin superposición */
.rp-home #rp-contacto.rp-contact-map-mode{
  grid-template-columns:minmax(300px,43%) minmax(0,1fr)!important;
  align-items:start!important;
  overflow:hidden!important;
}
.rp-home #rp-contacto .rp-contact-list{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-template-areas:
    "address phone"
    "whatsapp hours"!important;
  grid-auto-flow:row!important;
  gap:12px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  align-items:stretch!important;
}
.rp-home #rp-contacto .rp-contact-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:94px!important;
  height:100%!important;
  box-sizing:border-box!important;
}
.rp-home #rp-contacto .rp-contact-card--address{grid-area:address!important;}
.rp-home #rp-contacto .rp-contact-card--phone{grid-area:phone!important;}
.rp-home #rp-contacto .rp-contact-card--whatsapp{grid-area:whatsapp!important;}
.rp-home #rp-contacto .rp-contact-card--hours{grid-area:hours!important;}
.rp-home #rp-contacto .rp-contact-card svg{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  flex:0 0 20px!important;
  fill:none!important;
  stroke:currentColor!important;
  color:var(--rp-contact-icon-color,var(--rp-primary))!important;
}
.rp-home #rp-contacto .rp-contact__marker{
  width:58px!important;
  height:58px!important;
  border-radius:999px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.rp-home #rp-contacto .rp-contact__marker img,
.rp-home #rp-contacto .rp-contact__marker-fallback{
  width:100%!important;
  height:100%!important;
  border-radius:999px!important;
  object-fit:cover!important;
  overflow:hidden!important;
  margin:0!important;
}
.rp-home #rp-contacto .rp-contact__pin{
  display:none!important;
}
@media(max-width:640px){
  .rp-home #rp-contacto .rp-contact-list{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "address"
      "phone"
      "whatsapp"
      "hours"!important;
  }
}
