/* FLOR & SHINE V3.6 — identidad final de esta ronda.
 * Mantener logotipo y titulos en verde salvia oficial #5F8F7A.
 * Reservar el verde intenso de la referencia para botones y detalles interactivos.
 * El fondo de la promesa es una variante clara de salvia, no una septima tinta de marca.
 */
:root{
  --fs-accion:#3F7E0F;
  --fs-accion-hover:#306A08;
  --fs-accion-focus:rgba(63,126,15,.24);
}
/* La imagen original del logo ya corresponde al salvia de la marca: no modificarla. */
.site-header .brand-new-art,.site-footer .brand-new-art{filter:none!important}
/* Titulares destacados en salvia, nunca verde CTA. */
.hero h1,.hero h1 span,.gallery-copy .display-title,.gallery-copy .display-title span,
.v31-left-head h2,.steps-title,.steps-title span,.faq-heading .display-title,
.faq-heading .display-title span,.brand-promise h2,.brand-promise h2 span{
  color:var(--fs-salvia)!important;
}
/* Acciones y CTA en verde vivo. Se preservan las tarjetas pastel y el fondo marfil. */
.header-cta,.hero .hero-actions .btn,.btn-navy,.btn-yellow,
.v30-action-row .wizard-next,.v30-action-row .submit-quote,
.mobile-sticky-cta,.btn-whatsapp{
  background:linear-gradient(118deg,#427F10 0%,#39770B 58%,#2F6908 100%)!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 8px 20px rgba(55,117,11,.19)!important;
  transition:background .2s ease, box-shadow .2s ease, transform .2s ease!important;
}
.header-cta:hover,.hero .hero-actions .btn:hover,.btn-navy:hover,.btn-yellow:hover,
.v30-action-row .wizard-next:hover,.v30-action-row .submit-quote:hover,
.mobile-sticky-cta:hover,.btn-whatsapp:hover{
  background:var(--fs-accion-hover)!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(55,117,11,.28)!important;
}
/* Enlaces y acciones secundarios: el borde verde comunica interacción sin ser pesado. */
.v30-edit-rooms,.v31-whatsapp-strip a,.v30-mini-review button,
.room-to-quote,.faq-list .faq-plus,.v31-more-options>summary{
  accent-color:var(--fs-accion)!important;
}
.v30-edit-rooms,.v31-whatsapp-strip a{
  border-color:var(--fs-accion)!important;
  color:var(--fs-accion)!important;
}
.v30-edit-rooms:hover,.v31-whatsapp-strip a:hover{background:rgba(63,126,15,.07)!important}
.v30-room-pin,.v30-room-pin.is-selected,.choice-check,
.v30-step.is-current b,.v30-step b{
  background:var(--fs-accion)!important;
}
.v30-room-pin,.v30-room-pin.is-selected{box-shadow:0 0 0 4px rgba(250,249,245,.94),0 4px 12px rgba(47,105,8,.27)!important}
.v31-left-services .wizard-choice.is-selected,.v30-choice-grid .wizard-choice.is-selected{
  border-color:var(--fs-accion)!important;
  box-shadow:inset 0 0 0 1px var(--fs-accion)!important;
}
.quantity-controls button:not(:disabled):hover,.qty-step:not(:disabled):hover{background:var(--fs-accion)!important;color:#fff!important}
.faq-list .faq-plus{background:rgba(63,126,15,.12)!important;color:var(--fs-accion)!important}
.site-footer .footer-cta>a{background:var(--fs-accion)!important;color:#fff!important}
/* Indicador de navegación discreto. */
.desktop-nav .nav-link:hover,.desktop-nav .nav-link:focus-visible{color:var(--fs-accion)!important}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid var(--fs-accion)!important;outline-offset:3px!important}

/* Banda final de marca, inmediatamente antes de preguntas frecuentes. */
.brand-promise{
  position:relative;
  isolation:isolate;
  width:100%;
  overflow:hidden;
  background:#DFEBD5;
  padding:clamp(40px,5vw,68px) 0 clamp(46px,5.6vw,82px);
  border-block:1px solid rgba(95,143,122,.13);
}
.brand-promise-inner{position:relative;max-width:1240px!important}
.brand-promise-kicker{
  margin:0;
  font-size:clamp(.68rem,.86vw,.86rem);
  color:var(--fs-tinta);
  font-weight:800;
  letter-spacing:.16em;
}
.brand-promise-composition{position:relative;min-height:clamp(195px,22vw,310px);display:flex;align-items:center;justify-content:center}
.brand-promise h2{
  position:relative;
  z-index:2;
  display:block;
  margin:6px auto 0;
  text-align:center;
  font-weight:830;
  letter-spacing:-.065em;
  font-size:clamp(3.35rem,8.9vw,8.75rem);
  line-height:.92;
  text-wrap:balance;
}
.brand-promise-wave{
  position:absolute;
  right:-14%;
  bottom:-9%;
  width:min(53%,540px);
  height:auto;
  z-index:1;
  pointer-events:none;
}
.brand-promise-star{
  position:absolute;
  right:6%;top:9%;
  width:clamp(24px,3.7vw,49px);height:auto;
  z-index:1;pointer-events:none;
}
/* Donde la onda se superpone ligeramente al título, no reduce legibilidad. */
.brand-promise h2{text-shadow:0 1px 0 rgba(223,235,213,.5)}
@media(max-width:820px){
 .brand-promise{padding:45px 0 52px}
 .brand-promise-kicker{letter-spacing:.11em}
 .brand-promise-composition{min-height:250px}
 .brand-promise h2{font-size:clamp(3.25rem,10.6vw,5.6rem)}
 .brand-promise-wave{right:-16%;bottom:-5%;width:min(58%,360px)}
}
@media(max-width:560px){
 .brand-promise{padding:32px 0 45px}
 .brand-promise-kicker{max-width:260px;line-height:1.5;font-size:.63rem}
 .brand-promise-composition{min-height:205px;align-items:center}
 .brand-promise h2{font-size:clamp(2.7rem,11.8vw,4.2rem);line-height:1.01;letter-spacing:-.055em}
 .brand-promise-wave{right:-29%;bottom:0;width:70%;opacity:.82}
 .brand-promise-star{right:4%;top:7%;width:30px}
}
@media(prefers-reduced-motion:reduce){
 .header-cta,.hero .hero-actions .btn,.btn-navy,.btn-yellow,.v30-action-row .wizard-next,.v30-action-row .submit-quote{transition:none!important}
}
/* Ajuste final: la onda decorativa queda por debajo del mensaje, no lo atraviesa. */
.brand-promise-wave{right:-12%;bottom:-24%;width:min(43%,460px)}
@media(max-width:820px){.brand-promise-wave{right:-15%;bottom:-17%;width:min(49%,350px)}}
@media(max-width:560px){.brand-promise-wave{right:-19%;bottom:-17%;width:66%}}
