/* Nuestra Familia: editorial chronology over the approved WordPress copy. */
#contenido.bd-family { background: var(--paper); }
#contenido.bd-family p:empty { display: none!important; }

#contenido.bd-family .bd-family-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: flex-end;
  min-height: clamp(500px,65svh,690px);
  padding-bottom: clamp(72px,9vw,118px);
  overflow: hidden;
  background: var(--ink-deep);
  color: var(--cream);
}
#contenido.bd-family .bd-family-hero::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0 0 0 48%;
  background: url('https://bodegasdelgado.com/wp-content/uploads/2026/09/20081203011810-11-web-1024x1024-1.jpg') center / cover no-repeat;
  filter: grayscale(1) brightness(.48);
  opacity: .55;
  transform: scale(1.04);
  animation: bd-family-hero-arrive 1.3s cubic-bezier(.23,1,.32,1) both;
}
#contenido.bd-family .bd-family-hero::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg,#151411 24%,rgba(21,20,17,.82) 52%,rgba(21,20,17,.12)),linear-gradient(0deg,rgba(21,20,17,.55),transparent 65%);
  pointer-events: none;
}
#contenido.bd-family .bd-family-hero > .elementor-container { position: relative; z-index: 2; align-items: end; }
#contenido.bd-family .bd-family-hero h1 {
  max-width: 12ch;
  margin: 0;
  color: var(--cream);
  font-size: clamp(4.5rem,7.4vw,7.5rem);
  line-height: .96;
  letter-spacing: -.045em;
  animation: bd-family-title-arrive .86s .15s cubic-bezier(.23,1,.32,1) both;
}
@keyframes bd-family-hero-arrive { from { opacity: .2; transform: scale(1.1); } to { opacity: .55; transform: scale(1.04); } }
@keyframes bd-family-title-arrive { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }

/* The first three original paragraphs are visual chapters, not rewritten excerpts. */
#contenido.bd-family .bd-family-timeline { padding-block: clamp(108px,12vw,178px); background: var(--paper); }
#contenido.bd-family .bd-family-timeline > .elementor-container { gap: clamp(48px,6vw,104px); align-items: start; }
#contenido.bd-family .bd-family-timeline .elementor-col-50:first-child { grid-column: span 7; }
#contenido.bd-family .bd-family-timeline .elementor-col-50:last-of-type { grid-column: span 5; position: sticky; top: 112px; }
#contenido.bd-family .bd-family-timeline .elementor-widget-text-editor { margin: 0; }
#contenido.bd-family .bd-family-timeline .elementor-widget-text-editor > .elementor-widget-container { min-width: 0; }
#contenido.bd-family .bd-family-history { position: relative; padding: 5px 0 14px; --bd-family-progress: 1; }
#contenido.bd-family .bd-family-history::before,
#contenido.bd-family .bd-family-history::after {
  content: "";
  position: absolute;
  left: 89px;
  top: 20px;
  bottom: 72px;
  width: 1px;
  background: rgba(113,80,45,.25);
}
#contenido.bd-family .bd-family-history::after {
  background: #a9753f;
  transform: scaleY(var(--bd-family-progress));
  transform-origin: top;
  transition: transform .12s linear;
}
#contenido.bd-family .bd-family-milestone {
  position: relative;
  max-width: 69ch;
  min-height: 150px;
  margin: 0;
  padding: 0 0 clamp(54px,7vw,108px) 132px;
  color: #29241e;
  font-size: clamp(16px,1.2vw,18px);
  line-height: 1.83;
  overflow-wrap: normal;
}
#contenido.bd-family .bd-family-milestone:last-child { padding-bottom: 65px; }
#contenido.bd-family .bd-family-milestone::before {
  content: attr(data-bd-year);
  position: absolute;
  left: 0;
  top: 2px;
  width: 75px;
  color: #865a31;
  font: 500 clamp(1.15rem,1.8vw,1.6rem)/1.15 var(--serif);
  letter-spacing: -.025em;
  overflow-wrap: normal;
}
#contenido.bd-family .bd-family-milestone::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 83px;
  top: 15px;
  width: 13px;
  height: 13px;
  border: 3px solid var(--paper);
  border-radius: 50%;
  background: #a9753f;
  box-shadow: 0 0 0 1px #a9753f;
}
#contenido.bd-family .bd-family-timeline .trx_addons_dropcap_style_2 { display: inline; float: none; margin: 0; color: inherit; font: inherit; }
#contenido.bd-family .bd-family-timeline .trx_addons_dropcap_style_2 strong { font: inherit; }
#contenido.bd-family .bd-family-timeline strong em { color: #694626; font: italic 500 1.12em/1.4 var(--serif); }
#contenido.bd-family .bd-family-reflection {
  max-width: 62ch;
  margin: 0 0 24px 132px;
  padding-top: 22px;
  border-top: 1px solid rgba(80,63,43,.21);
  color: #29241e;
  font-size: clamp(16px,1.2vw,18px);
  line-height: 1.8;
}
#contenido.bd-family .bd-family-reflection + .bd-family-reflection { border: 0; padding-top: 0; }
#contenido.bd-family .bd-family-timeline .elementor-widget-image { position: relative; margin: 0; }
#contenido.bd-family .bd-family-timeline .elementor-widget-image::before {
  content: "";
  position: absolute;
  inset: -20px 20px 20px -20px;
  border: 1px solid rgba(129,93,54,.43);
  pointer-events: none;
}
#contenido.bd-family .bd-family-timeline .elementor-widget-image img {
  position: relative;
  display: block;
  width: 100%;
  max-height: none;
  aspect-ratio: 1;
  object-fit: contain;
  filter: grayscale(1);
}

/* The original statement becomes a pause between history and the people today. */
#contenido.bd-family .bd-family-motto { padding-block: clamp(105px,11vw,165px); background: var(--ink-deep); color: var(--cream); }
#contenido.bd-family .bd-family-motto .elementor-widget-container::before { content: ""; display: block; width: 115px; height: 1px; margin-bottom: 42px; background: var(--amber-light); }
#contenido.bd-family .bd-family-motto .elementor-widget-container > :is(h1,h2,h3,h4,h5,h6,p) {
  max-width: 32ch;
  margin: 0;
  color: var(--cream);
  font: 400 clamp(2.4rem,4.5vw,4.6rem)/1.18 var(--serif);
  letter-spacing: -.03em;
  text-wrap: pretty;
}

/* Equal square portraits, offset as one composed group. */
#contenido.bd-family .bd-family-people { padding-block: clamp(105px,11vw,160px) clamp(125px,14vw,210px); background: var(--paper); }
#contenido.bd-family .bd-family-people .elementor-inner-section { margin: 0; }
#contenido.bd-family .bd-family-people .elementor-inner-section > .elementor-container { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(25px,3vw,48px); align-items: start; }
#contenido.bd-family .bd-family-person { grid-column: auto; min-width: 0; }
#contenido.bd-family .bd-family-person:nth-child(2) { margin-top: 54px; }
#contenido.bd-family .bd-family-person:nth-child(3) { margin-top: 108px; }
#contenido.bd-family .bd-family-person .elementor-widget-wrap { display: block; }
#contenido.bd-family .bd-family-person .elementor-widget-image { position: relative; margin-bottom: 36px; }
#contenido.bd-family .bd-family-person .elementor-widget-image::before {
  content: "";
  position: absolute;
  inset: 16px -13px -13px 13px;
  border: 1px solid rgba(129,93,54,.44);
  pointer-events: none;
}
#contenido.bd-family .bd-family-person .elementor-widget-image .elementor-widget-container { position: relative; overflow: hidden; }
#contenido.bd-family .bd-family-person .elementor-widget-image img {
  display: block;
  width: 100%;
  max-height: none;
  aspect-ratio: 1;
  object-fit: contain;
  filter: saturate(.82);
  transition: transform .65s cubic-bezier(.23,1,.32,1), filter .65s ease;
}
#contenido.bd-family .bd-family-person .elementor-widget-elementskit-icon-box { margin: 0 0 27px; padding-top: 24px; border-top: 1px solid rgba(80,63,43,.23); }
#contenido.bd-family .bd-family-person .elementskit-infobox,
#contenido.bd-family .bd-family-person .box-body { padding: 0; text-align: left; }
#contenido.bd-family .bd-family-person .elementskit-info-box-title { max-width: 14ch; margin: 0 0 13px; font: 400 clamp(2rem,2.6vw,2.85rem)/1.06 var(--serif); letter-spacing: -.035em; }
#contenido.bd-family .bd-family-person .box-body > p { margin: 0; color: #795c42; font: 700 11px/1.5 var(--sans); letter-spacing: .08em; text-transform: none; }
#contenido.bd-family .bd-family-person .elementor-widget-text-editor { margin: 0; }
#contenido.bd-family .bd-family-person .elementor-widget-text-editor p { max-width: 35ch; margin: 0; font: italic 400 clamp(1.15rem,1.45vw,1.45rem)/1.42 var(--serif); letter-spacing: -.015em; }
#contenido.bd-family .bd-family-person .elementor-widget-text-editor i { font: inherit; }

#contenido.bd-family .bd-family-funding { padding-block: clamp(34px,4vw,58px); background: var(--paper-deep); }
#contenido.bd-family .bd-family-funding .elementor-widget-image { margin: 0; }
#contenido.bd-family .bd-family-funding img { display: block; width: min(100%,1200px); max-height: none; height: auto; margin-inline: auto; object-fit: contain; }

#contenido.bd-family .bd-family-shop { padding-block: clamp(95px,10vw,145px); background: var(--paper-deep); }
#contenido.bd-family .bd-family-shop h2 { max-width: none; margin: 0 0 clamp(38px,5vw,66px); font-size: clamp(3.7rem,6vw,6rem); }
#contenido.bd-family .bd-family-shop .elementor-image-carousel-wrapper { overflow: visible; }
#contenido.bd-family .bd-family-shop .bd-family-rail {
  display: flex!important;
  grid-template-columns: none;
  gap: clamp(10px,1.3vw,20px);
  align-items: stretch;
  width: 100%;
  padding: 20px 2px 30px;
  overflow-x: auto;
  overflow-y: hidden;
  border-block: 1px solid rgba(80,63,43,.22);
  background: linear-gradient(180deg,rgba(252,248,239,.68),rgba(250,246,238,.2));
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  cursor: grab;
  touch-action: auto;
}
#contenido.bd-family .bd-family-shop .bd-family-rail::-webkit-scrollbar { display: none; }
#contenido.bd-family .bd-family-shop .bd-family-rail.is-dragging { cursor: grabbing; scroll-snap-type: none; }
#contenido.bd-family .bd-family-shop .bd-family-rail:focus-visible { outline: 2px solid var(--amber); outline-offset: 3px; }
#contenido.bd-family .bd-family-shop .bd-family-rail .swiper-slide { flex: 0 0 clamp(198px,21vw,268px); min-width: 0; min-height: 345px; padding: 23px 18px; border: 0; border-radius: 0; background: transparent; display: flex; align-items: center; justify-content: center; scroll-snap-align: start; user-select: none; transition: transform .45s cubic-bezier(.23,1,.32,1); }
#contenido.bd-family .bd-family-shop .bd-family-rail .swiper-slide-inner { width: 100%; text-align: center; }
#contenido.bd-family .bd-family-shop .bd-family-rail img { display: block; width: auto; height: 285px; max-height: 285px; margin-inline: auto; object-fit: contain; pointer-events: none; -webkit-user-drag: none; }
#contenido.bd-family .bd-family-shop .bd-shop-controls { margin: 19px 0 38px; }

#contenido.bd-family.bd-family-enhanced .bd-family-milestone,
#contenido.bd-family.bd-family-enhanced .bd-family-reflection,
#contenido.bd-family.bd-family-enhanced .bd-family-motto .elementor-widget,
#contenido.bd-family.bd-family-enhanced .bd-family-person { transition: opacity .7s cubic-bezier(.23,1,.32,1), transform .85s cubic-bezier(.23,1,.32,1); }
#contenido.bd-family.bd-family-enhanced :is(.bd-family-milestone,.bd-family-reflection,.bd-family-person):not(.is-in-view),
#contenido.bd-family.bd-family-enhanced .bd-family-motto:not(.is-in-view) .elementor-widget { opacity: .15; transform: translateY(25px); }
@media (hover: hover) and (pointer: fine) {
  #contenido.bd-family .bd-family-person:hover .elementor-widget-image img { transform: scale(1.045); filter: saturate(1); }
  #contenido.bd-family .bd-family-shop .bd-family-rail .swiper-slide:hover { transform: translateY(-7px); }
}
@media (max-width: 960px) {
  #contenido.bd-family .bd-family-timeline > .elementor-container { display: grid; grid-template-columns: 1fr; gap: 55px; }
  #contenido.bd-family .bd-family-timeline .elementor-col-50 { grid-column: 1!important; }
  #contenido.bd-family .bd-family-timeline .elementor-col-50:last-of-type { position: relative; top: auto; }
  #contenido.bd-family .bd-family-timeline .elementor-widget-image { width: min(100%,660px); margin-inline: auto; }
  #contenido.bd-family .bd-family-people .elementor-inner-section > .elementor-container { gap: 25px; }
  #contenido.bd-family .bd-family-person:nth-child(2) { margin-top: 30px; }
  #contenido.bd-family .bd-family-person:nth-child(3) { margin-top: 60px; }
}
@media (max-width: 700px) {
  #contenido.bd-family .bd-family-hero { min-height: 520px; padding-bottom: 70px; }
  #contenido.bd-family .bd-family-hero::before { inset: 0; background-position: 58% center; opacity: .37; }
  #contenido.bd-family .bd-family-hero::after { background: linear-gradient(90deg,rgba(21,20,17,.85),rgba(21,20,17,.35)),linear-gradient(0deg,rgba(21,20,17,.65),transparent); }
  #contenido.bd-family .bd-family-hero h1 { font-size: clamp(3.6rem,13vw,5.3rem); }
  #contenido.bd-family .bd-family-timeline { padding-block: 82px; }
  #contenido.bd-family .bd-family-history::before,
  #contenido.bd-family .bd-family-history::after { left: 18px; top: 45px; bottom: 74px; }
  #contenido.bd-family .bd-family-milestone { min-height: 0; padding: 0 0 72px 51px; font-size: 16px; line-height: 1.78; }
  #contenido.bd-family .bd-family-milestone:last-child { padding-bottom: 58px; }
  #contenido.bd-family .bd-family-milestone::before { position: relative; display: block; left: auto; top: auto; width: auto; margin-bottom: 17px; font-size: 1.85rem; }
  #contenido.bd-family .bd-family-milestone::after { left: 12px; top: 8px; }
  #contenido.bd-family .bd-family-reflection { margin-left: 51px; font-size: 16px; }
  #contenido.bd-family .bd-family-motto { padding-block: 90px; }
  #contenido.bd-family .bd-family-motto .elementor-widget-container > :is(h1,h2,h3,h4,h5,h6,p) { font-size: clamp(2.2rem,8vw,3.7rem); }
  #contenido.bd-family .bd-family-people { padding-block: 85px 105px; }
  #contenido.bd-family .bd-family-people .elementor-inner-section > .elementor-container { display: grid; grid-template-columns: 1fr; gap: 77px; }
  #contenido.bd-family .bd-family-person:nth-child(n) { grid-column: 1; margin-top: 0; }
  #contenido.bd-family .bd-family-person .elementor-widget-image { width: min(100%,500px); margin-bottom: 33px; }
  #contenido.bd-family .bd-family-person .elementskit-info-box-title { font-size: clamp(2.3rem,8.5vw,3.1rem); }
  #contenido.bd-family .bd-family-funding .elementor-widget-image { display: grid; gap: 14px; }
  #contenido.bd-family .bd-family-funding .elementor-widget-image::before,
  #contenido.bd-family .bd-family-funding .elementor-widget-image::after { content: ""; display: block; width: 100%; aspect-ratio: 1000 / 154; background: url('https://bodegasdelgado.com/wp-content/uploads/2026/09/publicidad_web_KIT_.png') no-repeat; background-size: 200% 100%; }
  #contenido.bd-family .bd-family-funding .elementor-widget-image::before { background-position: left center; }
  #contenido.bd-family .bd-family-funding .elementor-widget-image::after { background-position: right center; }
  #contenido.bd-family .bd-family-funding img { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); }
  #contenido.bd-family .bd-family-shop { padding-block: 80px; }
  #contenido.bd-family .bd-family-shop h2 { font-size: clamp(3rem,12vw,4.6rem); }
  #contenido.bd-family .bd-family-shop .bd-family-rail .swiper-slide { flex-basis: min(70vw,260px); min-height: 310px; }
  #contenido.bd-family .bd-family-shop .bd-family-rail img { height: 260px; max-height: 260px; }
}
@media (prefers-reduced-motion: reduce) {
  #contenido.bd-family .bd-family-hero::before,
  #contenido.bd-family .bd-family-hero h1 { animation: none; transform: none; opacity: 1; }
  #contenido.bd-family .bd-family-history::after { transform: none; transition: none; }
  #contenido.bd-family.bd-family-enhanced :is(.bd-family-milestone,.bd-family-reflection,.bd-family-motto .elementor-widget,.bd-family-person),
  #contenido.bd-family .bd-family-person .elementor-widget-image img,
  #contenido.bd-family .bd-family-shop .bd-family-rail .swiper-slide { opacity: 1; transform: none; transition: none; }
}

