/* ROSSINI 2.6.0 — clean final layer, native accordion and reversible motion */

/* OUR PHILOSOPHY — three photographs aligned on identical top edge and image height.
 * Remove former stagger and heterogeneous media aspect ratios on every breakpoint. */
body.rplg-home.rplg-active .rplg-heritage-grid {
  display:grid!important;align-items:stretch!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(14px,2vw,28px)!important;
}
body.rplg-home.rplg-active .rplg-heritage-grid .rplg-heritage-card,
body.rplg-home.rplg-active .rplg-heritage-grid .rplg-heritage-card:nth-child(2),
body.rplg-home.rplg-active .rplg-heritage-grid .rplg-heritage-card:nth-child(3){
  transform:none!important;translate:none!important;
  align-self:stretch!important;margin-top:0!important;
  display:flex!important;flex-direction:column!important;
}
body.rplg-home.rplg-active .rplg-heritage-grid .rplg-heritage-media,
body.rplg-home.rplg-active .rplg-heritage-grid .rplg-heritage-card:nth-child(2) .rplg-heritage-media,
body.rplg-home.rplg-active .rplg-heritage-grid .rplg-heritage-card:nth-child(3) .rplg-heritage-media{
  aspect-ratio:16/10!important;height:auto!important;max-height:none!important;
  flex:0 0 auto!important;width:100%!important;margin-top:0!important;
}
body.rplg-home.rplg-active .rplg-heritage-grid .rplg-heritage-media img{
  display:block!important;width:100%!important;height:100%!important;
  position:absolute;inset:0;object-fit:cover!important;
}
body.rplg-home.rplg-active .rplg-heritage-grid .rplg-heritage-media{position:relative!important;overflow:hidden!important}
@media(max-width:950px){
  body.rplg-home.rplg-active .rplg-heritage-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:650px){
  body.rplg-home.rplg-active .rplg-heritage-grid{grid-template-columns:minmax(0,1fr)!important}
}

/* Product accordion: original trigger remains a genuine native toggle.
 * display:contents exposes its trigger and content as grid items WITHOUT
 * moving the form out of its original accordion or disturbing event bubbling.
 * The expanded accordion never pushes the trigger down: panel is a second row. */
body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions{
  display:grid!important;grid-template-columns:max-content minmax(0,1fr)!important;
  grid-template-rows:52px auto!important;column-gap:16px!important;row-gap:0!important;
  justify-content:start!important;align-items:start!important;align-content:start!important;
  width:min(1350px,calc(100% - 44px))!important;
  margin:16px auto 24px!important;min-height:52px!important;
}
body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions>.rplg-back-row{
  grid-column:1!important;grid-row:1!important;align-self:start!important;
  order:unset!important;width:max-content!important;min-height:52px!important;
  margin:0!important;
}
body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions>.rplg-native-tech-toggle{
  display:contents!important;order:unset!important;min-height:0!important;
  width:auto!important;max-width:none!important;flex-basis:auto!important;
}
body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions .rplg-native-tech-trigger{
  grid-column:2!important;grid-row:1!important;
  align-self:start!important;justify-self:start!important;
  height:52px!important;min-height:52px!important;
  margin:0!important;position:relative!important;
  background:#fff!important;color:#342f2a!important;
  border:1px solid rgba(54,47,42,.17)!important;border-radius:16px!important;
  box-sizing:border-box!important;padding:13px 20px!important;
  box-shadow:0 5px 22px rgba(54,47,42,.045)!important;
  display:inline-flex!important;align-items:center!important;gap:12px!important;
  white-space:nowrap!important;
}
body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions>.rplg-native-tech-toggle > :not(.rplg-native-tech-trigger),
body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions>.rplg-native-tech-toggle > .vc_toggle_content,
body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions>.rplg-native-tech-toggle > .vc_tta-panel-body{
  grid-column:1/-1!important;grid-row:2!important;
  min-width:0!important;width:100%!important;max-width:100%!important;
  margin:16px 0 0!important;box-sizing:border-box!important;
}
/* Some accordion plugins apply an .active style that used to turn the wrapper
 * into a full-width flex child. Neutralize that override for every open state. */
body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions>.rplg-native-tech-toggle:is(.vc_toggle_active,.active,.is-open,[open]),
body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions>.rplg-native-tech-toggle:has([aria-expanded=true]){
  display:contents!important;flex-basis:auto!important;width:auto!important;max-width:none!important;
  order:unset!important;
}
/* Real, original form panel: a light premium form, never a substitute form. */
body.rplg-active.rplg-model .rplg-native-tech-toggle :is(.vc_toggle_content,.vc_tta-panel-body,.wpb_accordion_content,.toggle-content,.toggle_content,.accordion-content,.accordion_content,.panel-collapse,.vc_tta-panel-body),
body.rplg-active.rplg-model .rplg-native-tech-toggle > div:has(> form){
  max-width:100%!important;width:100%!important;min-width:0!important;
  box-sizing:border-box!important;
  padding:clamp(20px,3.4vw,48px)!important;
  background:#faf6f0!important;border:1px solid rgba(54,47,42,.10)!important;
  border-radius:22px!important;
  box-shadow:0 16px 48px rgba(54,47,42,.055)!important;
}
body.rplg-active.rplg-model .rplg-native-tech-toggle :is(form,.wpcf7,.wpcf7-form){
  width:100%!important;max-width:950px!important;margin:0 auto!important;
  box-sizing:border-box!important;text-align:left!important;
}
body.rplg-active.rplg-model .rplg-native-tech-toggle form :is(p,label){
  line-height:1.5!important;text-align:left!important;
}
body.rplg-active.rplg-model .rplg-native-tech-toggle form label{
  display:block!important;margin-bottom:8px!important;
  font-size:14px!important;color:#342f2a!important;font-weight:550!important;
}
body.rplg-active.rplg-model .rplg-native-tech-toggle form :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]),textarea,select){
  display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;
  min-height:52px!important;padding:13px 16px!important;margin-top:8px!important;
  background:#fff!important;border:1px solid #ded3c8!important;border-radius:12px!important;
  color:#342f2a!important;font:400 15px/1.5 -apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif!important;
  box-shadow:none!important;
}
body.rplg-active.rplg-model .rplg-native-tech-toggle form :is(input,textarea,select):focus-visible{
  outline:2px solid #74685e!important;outline-offset:2px!important;
}
body.rplg-active.rplg-model .rplg-native-tech-toggle form textarea{min-height:130px!important;resize:vertical!important}
body.rplg-active.rplg-model .rplg-native-tech-toggle form :is(input[type=submit],button[type=submit]){
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  padding:14px 24px!important;min-height:48px!important;border-radius:12px!important;
  border:1px solid #342f2a!important;background:#342f2a!important;color:#fff!important;
  cursor:pointer!important;
}
body.rplg-active.rplg-model .rplg-native-tech-toggle :is(input[type=checkbox],input[type=radio]){accent-color:#554a41}
@media(max-width:760px){
  body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions{
    grid-template-columns:minmax(0,1fr)!important;grid-template-rows:52px 52px auto!important;
    row-gap:10px!important;column-gap:0!important;width:calc(100% - 28px)!important;
  }
  body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions .rplg-native-tech-trigger{
    grid-column:1!important;grid-row:2!important;justify-self:start!important;max-width:100%!important;
    white-space:normal!important;padding:10px 12px!important;
  }
  body.rplg-active.rplg-model .rplg-model-actions.rplg-native-actions>.rplg-native-tech-toggle > :not(.rplg-native-tech-trigger){
    grid-column:1!important;grid-row:3!important;margin:4px 0 0!important;
  }
}
/* Fade/slide is reversible in either scroll direction, never a one-time reveal.
 * Do not animate form controls, menu, sticky header or dialog content. */
body.rplg-active.rplg-scroll-motion .rplg-motion-pending{
  opacity:0!important;transform:translate3d(0,22px,0)!important;
  transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)!important;
}
body.rplg-active.rplg-scroll-motion .rplg-motion-visible{
  opacity:1!important;transform:translate3d(0,0,0)!important;
  transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)!important;
}
body.rplg-active.rplg-scroll-motion .rplg-reveal-ready{
  opacity:0!important;transform:translate3d(0,22px,0)!important;
  transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)!important;
}
body.rplg-active.rplg-scroll-motion .rplg-reveal-visible{
  opacity:1!important;transform:translate3d(0,0,0)!important;
  transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)!important;
}
@media(prefers-reduced-motion:reduce){
  body.rplg-active :is(.rplg-motion-pending,.rplg-motion-visible,.rplg-reveal-ready,.rplg-reveal-visible){
    opacity:1!important;transform:none!important;transition:none!important;
  }
}

/* Heritage photos remain aligned after animation settles, but each card still
 * gets the requested reversible translate while entering or leaving viewport. */
body.rplg-home.rplg-active.rplg-scroll-motion .rplg-heritage-grid .rplg-heritage-card.rplg-motion-pending{
  transform:translate3d(0,22px,0)!important;opacity:0!important;
}
body.rplg-home.rplg-active.rplg-scroll-motion .rplg-heritage-grid .rplg-heritage-card.rplg-motion-visible{
  transform:translate3d(0,0,0)!important;opacity:1!important;
}
@media(prefers-reduced-motion:reduce){
  body.rplg-home.rplg-active .rplg-heritage-grid .rplg-heritage-card{opacity:1!important;transform:none!important}
}
