/* Rossini 2.4.0 — targeted fixes based on supplied Contacts and product screenshots.
   Loaded after refinement.css and, on Contacts, after contacts.css. */

/* CONTACTS: equal-height panels, no clipping and legible natural word wraps. */
body.rplg-active.rplg-contacts .rplg-institutional-wrap.rplg-contacts-layout{
  display:grid!important;
  grid-template-columns:minmax(0,0.82fr) minmax(0,1.18fr)!important;
  align-items:stretch!important;
  gap:clamp(16px,2.4vw,36px)!important;
  width:min(1500px,calc(100% - 48px))!important;
}
body.rplg-active.rplg-contacts .rplg-contacts-intro,
body.rplg-active.rplg-contacts .rplg-contacts-original,
body.rplg-active.rplg-contacts .rplg-contacts-original>.rplg-institutional-content{
  min-width:0!important;
  height:100%!important;
  box-sizing:border-box!important;
  align-self:stretch!important;
}
body.rplg-active.rplg-contacts .rplg-contacts-intro{
  display:flex!important;flex-direction:column!important;
  overflow:hidden!important;
  padding:clamp(26px,3.1vw,49px) clamp(25px,3.15vw,51px)!important;
}
body.rplg-active.rplg-contacts .rplg-contacts-eyebrow{margin-bottom:clamp(28px,4vw,58px)!important}
body.rplg-active.rplg-contacts .rplg-contacts-title{
  box-sizing:border-box!important;
  width:100%!important;max-width:100%!important;
  font-size:clamp(35px,3.1vw,58px)!important;
  line-height:1.09!important;
  letter-spacing:-.06em!important;
  word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;
  margin:0 0 25px!important;
}
body.rplg-active.rplg-contacts .rplg-contacts-title em{
  display:inline!important;max-width:100%!important;
  font-size:1em!important;letter-spacing:-.065em!important;
}
body.rplg-active.rplg-contacts .rplg-contacts-title .rplg-letter-word,
body.rplg-active.rplg-contacts .rplg-contacts-title em .rplg-letter-word{white-space:nowrap!important}
body.rplg-active.rplg-contacts .rplg-contacts-lead{
  max-width:46ch!important;line-height:1.66!important;margin-bottom:clamp(25px,3.4vw,50px)!important;
}
body.rplg-active.rplg-contacts .rplg-contacts-details{margin-top:auto!important}
body.rplg-active.rplg-contacts .rplg-contacts-detail a{min-width:0!important;overflow-wrap:anywhere!important}
body.rplg-active.rplg-contacts .rplg-contacts-original>.rplg-institutional-content{
  padding:clamp(28px,3.15vw,52px)!important;
}
/* The native CF7 form remains untouched and its fields fill the existing card. */
body.rplg-active.rplg-contacts .rplg-contacts-original :is(form,.wpcf7,.wpcf7-form,.wpb_wrapper){max-width:100%!important}
@media(max-width:1050px){
  body.rplg-active.rplg-contacts .rplg-institutional-wrap.rplg-contacts-layout{
    grid-template-columns:minmax(0,1fr)!important;
    width:min(920px,calc(100% - 28px))!important;
  }
  body.rplg-active.rplg-contacts .rplg-contacts-intro,
  body.rplg-active.rplg-contacts .rplg-contacts-original,
  body.rplg-active.rplg-contacts .rplg-contacts-original>.rplg-institutional-content{
    height:auto!important;
  }
  body.rplg-active.rplg-contacts .rplg-contacts-title{font-size:clamp(35px,5.6vw,58px)!important}
}
@media(max-width:650px){
  body.rplg-active.rplg-contacts .rplg-contacts-title{font-size:clamp(30px,8.1vw,44px)!important}
  body.rplg-active.rplg-contacts .rplg-contacts-intro{padding:24px 22px!important}
}

/* HOME: a smaller, still animated concluding statement. */
body.rplg-home.rplg-active .rplg-home-cta h2{
  font-size:clamp(39px,4.25vw,72px)!important;
  line-height:1.06!important;
  max-width:880px!important;
  letter-spacing:-.055em!important;
}
@media(max-width:650px){body.rplg-home.rplg-active .rplg-home-cta h2{font-size:clamp(34px,8vw,48px)!important}}

/* SINGLE PRODUCT: the existing accordion AND Return link in one level action row.
   All native WPBakery events and expandable contents remain attached to the same DOM. */
body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions{
  display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;
  justify-content:flex-start!important;align-items:flex-start!important;
  width:min(1350px,calc(100% - 44px))!important;
  gap:14px!important;padding:0!important;margin:22px auto 36px!important;
}
body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions>.rplg-back-row{
  flex:0 0 auto!important;margin:0!important;border:0!important;padding:0!important;
}
body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions :is(.rplg-back-row a,.rplg-action-download),
body.rplg-active.rplg-model .rplg-native-tech-trigger{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:11px!important;min-height:52px!important;width:auto!important;
  max-width:100%!important;box-sizing:border-box!important;
  padding:13px 22px!important;margin:0!important;
  border:1px solid rgba(54,47,42,.15)!important;border-radius:17px!important;
  background:rgba(255,255,255,.96)!important;color:#342f2a!important;
  box-shadow:0 5px 22px rgba(54,47,42,.05)!important;
  font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif!important;
  font-size:14px!important;line-height:1.35!important;font-weight:600!important;
  letter-spacing:.01em!important;text-transform:none!important;
  text-decoration:none!important;cursor:pointer!important;
  transition:background-color .25s ease,box-shadow .25s ease,transform .25s ease!important;
}
body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions :is(.rplg-back-row a,.rplg-action-download):hover,
body.rplg-active.rplg-model .rplg-native-tech-trigger:hover{
  background:#fff!important;box-shadow:0 12px 30px rgba(54,47,42,.095)!important;
  transform:translateY(-1px)!important;
}
body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions>.rplg-native-tech-toggle{
  flex:0 1 auto!important;width:auto!important;min-width:0!important;
  max-width:100%!important;margin:0!important;padding:0!important;
  border:0!important;background:transparent!important;
}
body.rplg-active.rplg-model .rplg-native-tech-trigger :is(h3,h4,h5,a,span){
  margin:0!important;padding:0!important;line-height:1.35!important;
  font:inherit!important;color:inherit!important;text-transform:none!important;
}
/* Native plus/minus is visual only; the original heading still receives the click. */
body.rplg-active.rplg-model .rplg-native-tech-trigger::before{content:'+';font:500 21px/1 Arial,sans-serif!important;order:-2}
body.rplg-active.rplg-model .rplg-native-tech-toggle:is(.vc_toggle_active,.active,.is-open) .rplg-native-tech-trigger::before{content:'−'}
body.rplg-active.rplg-model .rplg-native-tech-trigger :is(.vc_toggle_icon,i):not(.rplg-keep-icon){display:none!important}
body.rplg-active.rplg-model .rplg-native-tech-toggle :is(.vc_toggle_content,.vc_tta-panel-body,.wpb_accordion_content){
  max-width:min(860px,calc(100vw - 56px))!important;
}
body.rplg-active.rplg-model .rplg-native-tech-toggle.vc_toggle_active{
  flex-basis:100%!important;
  order:3;
}
@media(max-width:650px){
  body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions{width:calc(100% - 28px)!important;gap:10px!important}
  body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions>.rplg-native-tech-toggle{flex-basis:100%!important}
}

/* Speed is measured by JS in pixels/sec (18.5 vs previous 14, +32.1%).
   Do not impose an older fixed 540s or 240s fallback over JS custom property. */
body.rplg-active .rplg-related:not(.rplg-related-single) .rplg-related-track{
  animation-duration:var(--rplg-related-duration,160s)!important;
  animation-timing-function:linear!important;
}
