/*
Theme Name:  Astra Child Sorarte
Description: Child theme de Astra para Sorarte Studio
Template:    astra
Version:     1.0
Author:      Sorarte Studio
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&display=swap');

/* 1. TIPOGRAFÍA */
h1, h2, h3,
.hero-h1,
.historia-body h2,
.clase-title,
#experiencias > h2,
#galeria h2,
#contacto h2,
#visitanos h2,
.historia-quote,
.gal-ov span,
.f-logo {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  font-style: normal !important;
}
 
/* Ajustar pesos sin serif */
.hero-h1              { font-weight: 700 !important; letter-spacing: -.02em; }
.historia-body h2,
#experiencias > h2,
#galeria h2,
#contacto h2,
#visitanos h2         { font-weight: 600 !important; }
.clase-title          { font-weight: 600 !important; font-size: 1.1rem !important; }
.historia-quote       { font-weight: 300 !important; font-size: 1.2rem !important; letter-spacing: .01em; }
 
 
/* 3. HISTORIA — controlar altura de la foto */
.historia-photo {
  /*overflow: hidden;*/
  max-height: 520px;
}
.historia-photo img {
  height: 100%;
  max-height: 520px;
  object-fit: cover;
  object-position: center top;
}
 
 
/* 4. EXPERIENCIAS — controlar altura de la foto */
.exp-photo {
  max-height: 580px;
  overflow: hidden;
}
.exp-photo img {
  max-height: 580px;
  object-fit: cover;
  object-position: center center;
}
 
 
/* 5. FOOTER — logo más grande (414×362 original, padding de marca) */
.f-logo img {
  height: 60px !important;
}
 
 
/* 6. CURVAS DE REMATE entre secciones (plecas) */
 
/* Experiencias (tealdark) — curva inferior hacia galería (blanca) */
#experiencias {
  position: relative;
  padding-bottom: 90px !important;
}
#experiencias::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 60px;
  background: white;
  border-radius: 50% 50% 0 0 / 60px 60px 0 0;
}
 
/* Galería (blanca) → Contacto (teal): curva superior en contacto */
#contacto {
  /*border-radius: 40px 40px 0 0;*/
  border-radius: 0 250px 0 0;
  margin-top: -30px;
  position: relative;
  z-index: 2;
}
 
#visitanos {
  position: relative;
  z-index: 3;
}

/* Restyle del botón scroll-top */
#ast-scroll-top {
  background-color: var(--teal) !important;
  border-radius: 50% !important;
  width: 44px !important;
  height: 44px !important;
  box-shadow: 0 4px 16px rgba(1,99,128,.3) !important;
  transition: background .2s !important;
}
#ast-scroll-top:hover {
  background-color: var(--blue) !important;
}
/* Si el ícono es una fuente de iconos de Astra: */
#ast-scroll-top::before {
  color: white !important;
}
.ast-icon { display: inline-block!important; margin-top: 16px!important; }
.ast-scroll-to-top-right { right: 10px; bottom: 20px; }
footer { padding: 10px 60px; }
#moove_gdpr_save_popup_settings_button:not(.gdpr-floating-button-custom-position) { bottom: 20px; left: 10px; }


.historia-card-inner {
  background: var(--teal);
  /*border-radius: 14px;*/
  /*overflow: hidden;*/
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  align-items: stretch;
}
/* Sombra que "rompe" el borde del card */
.historia-photo {
  position: relative;
  top: 50px;
  left: -50px;
  z-index: 2;
}
.historia-photo img {
  border-radius: 16px;
  box-shadow: 26px -26px 0px rgb(from var(--cafedark) r g b / .55);
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.historia-body { position: relative; overflow: hidden; padding: 56px 48px; }
.historia-card-godete { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; }
.historia-card-godete::before {
  content: '';
  position: absolute;
  top:   -90%;
  right: -30%;
  height: 320%;
  aspect-ratio: 1;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 3000 3000' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1657.75,1814c-64.37,11.93-135.7,12.12-206.91.12-96.37-16.25-186.3-53.71-253.22-105.48-66.45-51.43-117.68-114.39-152.26-187.15-31.54-66.36-48.49-138.94-50.37-215.73a599.56,599.56,0,0,1,46.07-244c31.62-75.66,77.29-140.46,132.07-187.43,5.9-5.92,68.22-67.39,162.07-117.61,57-30.49,113.73-50.36,168.63-59,69.12-10.91,135.42-4,197.07,20.44,37.86,15,68.78,38.86,89.41,68.91a166.57,166.57,0,0,1,29.2,97.89c-.78,42.58-16.79,84.35-46.29,120.81-31.58,39-77.71,70.1-133.41,89.89-61,21.68-105.6,58.14-125.51,102.66-15.18,34-15.4,71-.62,107.1,7.43,18.14,29.22,42.08,68.08,54.85,29.39,9.66,78.09,15.84,143.24-9.53,14.13-5.51,28.55-11.78,42.49-17.84,71-30.89,144.48-62.84,198.3-.38,38.79,45,49.73,117.38,29.26,193.59-15,55.7-45.38,109.12-88,154.47-48.47,51.61-110,90.62-182.85,116A456.54,456.54,0,0,1,1657.75,1814ZM1188.68,892.85c-106.92,91.77-173.46,253.54-169.57,412.35,1.8,73.39,18,142.68,48,206,32.94,69.31,81.81,129.33,145.24,178.42,63.83,49.39,149.94,85.18,242.46,100.77,92.91,15.66,185.76,9.78,261.44-16.54,69.15-24,127.42-61,173.19-109.69,39.88-42.47,68.33-92.33,82.26-144.21,18.4-68.48,9.34-132.62-24.23-171.58-42.22-49-101.62-23.16-170.39,6.75-14.16,6.16-28.8,12.53-43.37,18.2a296.37,296.37,0,0,1-53.47,15.44c-100.25,18.59-170.29-28.57-188.93-74.1-17.34-42.35-17-85.95.92-126.09,22.63-50.6,72.16-91.64,139.46-115.55,51.51-18.3,94-46.77,122.73-82.33,26.09-32.24,40.24-68.92,40.92-106.07,1.17-64-37.48-117.76-103.38-143.93-57.47-22.82-119.39-29.24-184-19.09-52.16,8.18-106.25,27.09-160.79,56.2a702.23,702.23,0,0,0-63.32,38.36c58.63-24.71,147.64-53.7,249-57.7,40.43-1.6,74.28,8.56,97.91,29.38,20.77,18.3,33,44.36,34.58,73.38,1.44,27.26-6.91,55.07-22.9,76.3-17.69,23.48-43.36,37.47-72.3,39.37-63.67,4.22-89.76-30.16-112.77-60.5-20.11-26.52-37.48-49.42-77.94-51.38-27.69-1.35-52.5,13.54-66.38,39.8-14.27,27-18.27,70.75,13.3,112.55,46.62,61.72,54.07,143,17.34,189.06-30.58,38.36-84.8,43.88-148.76,15.14a117.71,117.71,0,0,1-20.71-12c-6.43,16.49-13,31.67-19,44.5-6.63,14.19-11.83,40.65-12.56,70.29l1.54-1.18c18.67-14,41.67-24,66.51-28.71l1-.19c43-8,81.76,1,98.81,23.09,25.14,32.51,27.92,74.48,7.44,112.29-21,38.75-61.16,62.69-99.94,59.56-31.74-2.55-57.63-19.56-74.85-49.18-8.66-14.9-14.75-32.44-18.69-51-.42,1.21-.75,2.3-1,3.24-12,41.76-7.73,81.25,11.23,103.06,15.19,17.47,39.52,24,72.32,19.33,24.44-3.45,59.76-22.6,93.91-41.11,50.13-27.16,93.42-50.62,119.27-36.78a16.54,16.54,0,0,1,8.62,12c3.08,17.82-19.58,46.36-89.24,123.07-15.67,17.25-34.9,38.43-48,54.28,5.44-4,12.2-9.54,20.56-17,20.46-18.33,43.57-42.22,63.95-63.29s38.06-39.35,48.74-47.53c16.34-12.51,39.83-27.67,55.15-15,18.08,15,3.58,54.35-11.77,84.73-22,43.54-42.11,92.78-24.43,127.81,12.06,23.87,41.72,40,88.18,47.83,93.83,15.9,152.77,1.18,185.69-14,37.62-17.3,62.33-44.78,67.79-75.4a68.09,68.09,0,0,0-.2-25.09q-9.51,13.82-21.13,28.45c-32,40.34-95.53,64.65-144.59,55.35-28.66-5.44-48.56-21.91-56-46.39-10.38-34-4.46-65.77,16.66-89.37,28-31.31,79.76-45.23,131.82-35.46,31.71,5.94,57.35,19.76,74.55,38.58,15.38-29.94,20.81-55.32,15.44-74.11-5-17.51-19.23-30.24-43.5-38.91-71.72-25.63-110,25.22-111.62,27.4a12.07,12.07,0,0,1-19.56-14.13c.51-.72,12.81-17.59,36.11-30.32,21.46-11.74,56.79-22.26,103.19-5.68,31.68,11.32,51.39,29.83,58.58,55,8,27.84.14,62.44-23.27,103.25,8.09,16.7,10.86,35.66,7.29,55.65-6.87,38.5-36.56,72.43-81.46,93.08-51.64,23.75-120.73,29.23-199.8,15.83-54.43-9.22-90-29.66-105.69-60.74-22.52-44.62-.29-100.65,24.43-149.58,14.86-29.41,18.16-47.81,17.57-54.23-3.17.78-10.62,3.69-24.74,14.5-9.25,7.08-27.13,25.57-46.07,45.14-22.55,23.32-48.11,49.75-70.56,69.22-23.37,20.27-47.3,37.45-64,26a14.13,14.13,0,0,1-6.07-10.18c-1.5-12.94,12.61-30.06,68.84-92,20.17-22.21,41-45.18,57.15-64.84,15.45-18.84,21.77-29,24.35-34.14-18.63-1-59.83,21.33-90.78,38.1-36,19.52-73.26,39.71-102,43.78-28.48,4-67.89,2.56-93.92-27.39-24.64-28.34-30.69-75.28-16.21-125.57a115.11,115.11,0,0,1,18.84-37.56c-2.38-41.59,3.9-82.1,14.24-104.23,7.63-16.34,14.94-33.74,21.58-51.37-14.38-15.44-26.09-35-34.31-57.6-12.91-35.58-15.23-74.91-6-102.64,9.78-29.56,31.71-43.65,58.67-37.71,13.13,2.9,23.37,11.12,29.61,23.77,17.76,36,1.78,106.2-19.57,166.8a86.57,86.57,0,0,0,21.51,14.46c53.88,24.21,96.5,21.31,120-8.17,29.58-37.1,21.79-107.15-17.73-159.47-32.12-42.53-38-95.55-15.39-138.37,18.37-34.77,51.6-54.44,88.89-52.63,51.71,2.51,75.24,33.53,96,60.89,22.13,29.18,41.24,54.37,92,51,37.94-2.54,75.51-37,72.69-90.33-2.14-40.6-31.49-82.92-107.43-79.92-101,4-189.48,33.8-245.93,58.11C1230.23,865.45,1193.32,889.74,1188.68,892.85Zm464.69,672.47c-22.73,4.21-42.53,13.93-55.21,28.1-15.5,17.31-19.5,40.21-11.56,66.23,6.05,19.84,23.7,27.11,37.44,29.72,40.33,7.65,94.7-13.27,121.19-46.65a447.89,447.89,0,0,0,28.51-39.92c-12.24-17.09-33.7-31.13-66.19-37.23A148.92,148.92,0,0,0,1653.37,1565.32Zm-509.69-209c2.34,25.63,8.53,51.25,20.35,71.58,13.26,22.8,32.08,35.34,55.93,37.26,29.41,2.37,60.27-16.52,76.78-47,7.58-14,22.24-50.4-5.31-86-11-14.28-42.66-20.18-75.39-14.11l-.8.15C1179.6,1324.93,1157.39,1340.69,1143.68,1356.28Zm13.81-338.74c-6.73,1.25-14.75,6.31-20,22.23-14.27,43.11,2.35,91.89,27.25,124.93,18.77-56.94,28.4-111.64,16.49-135.77-3-6.11-7.2-9.56-13.16-10.88A25.84,25.84,0,0,0,1157.49,1017.54Z' fill='%23ffffff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.1;
  z-index: 0;
  pointer-events: none;
  transform: rotate(-45deg);
  clip-path: inset(0 0 0 0);
}
.historia-body > * { position: relative; z-index: 1; }

@media (max-width: 1200px) {
 	.historia-card-godete::before {
    right: -50%;
  }
}

@media (max-width: 960px) {
  .historia-card-inner {
    grid-template-columns: 1fr !important;
  }
 	.historia-card-godete::before {
    top:   0;
    left: -70%;
    right: 0;
    height: 160%;
	}
	.historia-photo {
    position: relative;
    top: 30px;
    left: -24px;
  }
  .historia-photo img {
    box-shadow: 10px -20px 0px rgb(from var(--cafedark) r g b / .55);
	}
}

/* ── 5. GALERÍA — lightbox modal ────────────────────────────── */
#gal-modal {
  position: fixed; inset: 0; z-index: 9000;
  background: rgba(13,46,58,.88);
  display: none; align-items: center; justify-content: center;
  padding: 20px;
}
#gal-modal.open  { display: flex; }
#gal-modal-inner { position: relative; }
#gal-modal-img   {
  max-width: 88vw; max-height: 85vh;
  object-fit: contain; border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0,0,0,.5);
}
#gal-modal-close {
  position: absolute; top: -14px; right: -14px;
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--cafe); color: white; border: none;
  cursor: pointer; font-size: 1rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  line-height: 1;
}
 
/* Cursor pointer en items de galería */
.gal-item { cursor: pointer; }
 
/* Flecha de galería — mejor posición */
.gal-arrow {
  right: 0 !important;
  transform: translateY(-50%) !important;
  z-index: 10;
}

#gal-modal-inner {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
}
#gal-modal-prev,
#gal-modal-next {
  background: rgba(255,255,255,.15);
  border: none; cursor: pointer; color: white;
  font-size: 2.5rem; line-height: 1;
  width: 44px; height: 44px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s; flex-shrink: 0;
}
#gal-modal-prev:hover,
#gal-modal-next:hover { background: rgba(255,255,255,.3); }

#gal-arrow-prev {
  position: absolute;
  left: -18px;
  right: auto !important;
  top: 50%;
  transform: translateY(-50%);
}
#gal-modal-label { position: absolute; left: 15%; bottom: 8px; width: 70%; text-align: center; font-size: 1.2em; font-weight: 600; color: #eeeeee; text-shadow: var(--dark) 2px 2px 2px; border-radius: 6px; box-shadow: 0 0 15px 4px rgb(from var(--dark) r g b / 0.8); background-image: radial-gradient(circle at 20% 30%, var(--cafe) 0%, transparent 50%), radial-gradient(circle at 80% 20%, var(--skyblue) 0%, transparent 60%), radial-gradient(circle at 40% 80%, var(--cafedark) 0%, transparent 50%), radial-gradient(circle at 90% 85%, var(--dark) 0%, transparent 45%); }
