/*
	Author: Nicdark
	Author URI: http://www.nicdarkthemes.com/
*/

/****************************************************************************
	Table of Content
***************************************************************************


SOME BASIC CLASSES
	1- body
	2-container
    3-site
    4-section
    5-grid
    6-width section
    7-headings tag
    8-form elements
    9-parallax section

/* latin */
@font-face {
  font-family: 'Montez';
  font-style: normal;
  font-weight: 400;
  src: local('Montez'), local('Montez-Regular'),
    url(http://fonts.gstatic.com/s/montez/v6/aq8el3-0osHIcFK6bXAPkw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074,
    U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}

/* 1- START NICDARK FRAMEWORK*/
body {
  margin: 0px;
  padding: 0px;
  overflow-x: hidden;
  background-color: #ccc;
  font-size: 15px;
  line-height: 22px;
  color: #999;
  font-family: 'Raleway', sans-serif;
}
body.nicdark_boxed_img {
  background-image: url(../img/slide/img1.jpg) !important;
  background-size: cover;
  background-attachment: fixed;
}
body.nicdark_boxed_pattern {
  background-image: url(../img/patterns/img2.png?ver=1.0) !important;
  background-attachment: fixed;
}

/* Mobile: evita scroll janky con fondos fijos */
@media only screen and (max-width: 767px) {
  body.nicdark_boxed_img,
  body.nicdark_boxed_pattern {
    background-attachment: scroll;
  }
}

/* 2 - CONTAINER */
.nicdark_container {
  width: 1200px;
  margin: auto;
  padding: 0px;
}
.nicdark_clearfix:after {
  content: '';
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/* 3- START NICDARK_SITE*/
.nicdark_site {
  float: left;
  width: 100%;
  -webkit-transition: all 0.8s ease;
  -moz-transition: all 0.8s ease;
  -o-transition: all 0.8s ease;
  -ms-transition: all 0.8s ease;
  transition: all 0.8s ease;
}
.nicdark_site > .nicdark_site_fullwidth {
  float: left;
  width: 100%;
  background-color: #fff;
}
.nicdark_site > .nicdark_site_boxed {
  width: 1220px;
  margin: auto;
  padding: 0px;
  background-color: #fff;
}
/*START NICDARK_SITE*/

/* 4 - START NICDARKSECTION*/
.nicdark_section {
  width: 100%;
  float: left;
}
/*.nicdark_section.nicdark_imgparallax{ background: url(../img/img3.jpg) 50% 0 fixed; background-size: cover;}*/
/*END NICDARKSECTION*/

/* 5 - START NICDARKGRID*/
.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_6,
.grid_7,
.grid_8,
.grid_9,
.grid_10,
.grid_11,
.grid_12 {
  margin: 10px;
  float: left;
  display: inline;
}
.grid.nomargin {
  margin: 0px;
  padding: 10px;
}
.grid.percentage {
  margin: 0px;
  padding: 0px;
}
.grid_12.percentage {
  width: 100%;
}
.grid_6.percentage {
  width: 50%;
}
.grid_4.percentage {
  width: 33.33%;
}
.grid_3.percentage {
  width: 25%;
}
.grid_8.percentage {
  width: 66.66%;
}
.grid_9.percentage {
  width: 75%;
}
/*size*/
.grid_1 {
  width: 80px;
}
.grid_2 {
  width: 180px;
}
.grid_3 {
  width: 280px;
}
.grid_4 {
  width: 380px;
}
.grid_5 {
  width: 480px;
}
.grid_6 {
  width: 580px;
}
.grid_7 {
  width: 680px;
}
.grid_8 {
  width: 780px;
}
.grid_9 {
  width: 880px;
}
.grid_10 {
  width: 980px;
}
.grid_11 {
  width: 1080px;
}
.grid_12 {
  width: 1180px;
}
/*END NICDARKGRID*/

/* Courses section – legibility and layout improvements */
#cursos .nicdark_archive1 {
  overflow: hidden;
  border-radius: 12px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

#cursos .nicdark_archive1 img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}

#cursos .nicdark_archive1 .nicdark_textevidence {
  padding: 12px 0;
}

#cursos .nicdark_archive1 .nicdark_textevidence h4.nicdark_margin20 {
  margin: 0 20px;
  font-weight: 700;
  letter-spacing: 0.3px;
}

#cursos .nicdark_archive1 .nicdark_divider {
  float: none;
}

#cursos .nicdark_archive1 > .nicdark_margin20 {
  display: block;
  background: #ffffff;
  color: #404547;
  padding: 18px;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

/* Override inherited white text inside course cards */
#cursos .nicdark_archive1.white > .nicdark_margin20,
#cursos .nicdark_archive1.white > .nicdark_margin20 * {
  color: #404547 !important;
}

#cursos .nicdark_archive1 > .nicdark_margin20 h5 {
  margin: 0 0 10px;
  font-weight: 700;
  color: #2c3e50;
}

#cursos .nicdark_archive1 > .nicdark_margin20 p {
  margin: 0 0 12px;
  line-height: 1.65;
}

#cursos .nicdark_archive1 > .nicdark_margin20 ul {
  list-style: disc;
  padding-left: 18px;
  margin: 6px 0 0;
}

#cursos .nicdark_archive1 > .nicdark_margin20 li {
  margin-bottom: 6px;
}

#cursos .nicdark_archive1:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
}

/* Profesores – diseño y legibilidad */
#profesores .nicdark_archive1 {
  display: flex;
  align-items: stretch;
  overflow: hidden;
  border-radius: 12px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  flex-wrap: wrap;
  float: none;
  height: 100%;
}

#profesores .nicdark_archive1:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
}

#profesores .nicdark_archive1 .nicdark_textevidence {
  float: none;
}

#profesores .nicdark_archive1 .nicdark_textevidence:first-child img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

#profesores .box-text-profesores {
  padding: 16px 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

#profesores .box-text-profesores .nicdark_margin20 {
  margin: 0 20px;
  flex: 1 1 auto;
}

#profesores .box-text-profesores h4 {
  font-weight: 700;
  letter-spacing: 0.3px;
  margin-bottom: 6px;
}

#profesores .box-text-profesores p {
  line-height: 1.65;
}

#profesores .nicdark_divider {
  float: none;
}

#profesores .nicdark_container {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

#profesores .grid_4 {
  width: calc(33.333% - 24px);
  float: none;
  display: flex;
}

@media only screen and (max-width: 767px) {
  #profesores .grid_4 {
    width: calc(100% - 20px);
  }
}

/* Matrícula – requisitos: panel limpio y lista clara */
#matricula .nicdark_archive1.nicdark_bg_blue {
  border-radius: 12px;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.08);
}

#matricula .nicdark_archive1:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.16);
}

/* Lista de requisitos en dos columnas en desktop */
#matricula .nicdark_list.border {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-column-gap: 24px;
  grid-row-gap: 9px;
}

#matricula .nicdark_list.border li {
  border: 1px solid #e7eaee;
  border-radius: 10px;
  padding: 5px 14px;
  display: flex;
  gap: 10px;
  box-sizing: border-box;
  align-items: flex-start;
  background: #ffffff;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

#matricula .nicdark_list.border li:hover {
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12);
  transform: translateY(-1px);
}

/* Icono de check como viñeta */
#matricula .nicdark_list.border li::before {
  content: '✓';
  color: #1e88e5;
  font-weight: 700;
  margin-top: 2px;
}

/* Elimina espacios extra internos de cada ítem */
#matricula .nicdark_list.border li .nicdark_space10 {
  display: none;
}

#matricula .nicdark_list.border li p {
  margin: 0;
  line-height: 1.6;
  color: #404547;
}

/* Móvil: una sola columna */
@media only screen and (max-width: 767px) {
  #matricula .nicdark_list.border {
    grid-template-columns: 1fr;
  }
}

/* 6 - START NIKDARKWIDTHPERCENTAGE*/
.nicdark_width_percentage1 {
  width: 1% !important;
}
.nicdark_width_percentage10 {
  width: 10% !important;
}
.nicdark_width_percentage20 {
  width: 20% !important;
}
.nicdark_width_percentage25 {
  width: 25% !important;
}
.nicdark_width_percentage30 {
  width: 30% !important;
}
.nicdark_width_percentage40 {
  width: 40% !important;
}
.nicdark_width_percentage47 {
  width: 47% !important;
}
.nicdark_width_percentage50 {
  width: 50% !important;
}
.nicdark_width_percentage53 {
  width: 53% !important;
}
.nicdark_width_percentage60 {
  width: 60% !important;
}
.nicdark_width_percentage70 {
  width: 70% !important;
}
.nicdark_width_percentage80 {
  width: 80% !important;
}
.nicdark_width_percentage90 {
  width: 90% !important;
}
.nicdark_width_percentage100 {
  width: 100% !important;
}
/*END NIKDARKWIDTHPERCENTAGE*/

/* 7 - START NICDARKTEXT*/
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0px;
  padding: 0px;
  font-weight: normal;
}
/*font*/
h1,
h2,
h3,
h4,
h5,
h6,
input[type='text'],
textarea,
select {
  font-family: 'Montserrat', sans-serif;
  color: #868585;
}
h1.subtitle,
h2.subtitle,
h3.subtitle,
h4.subtitle,
h5.subtitle,
h6.subtitle,
input[type='text'].subtitle,
textarea.subtitle,
select.subtitle,
span.subtitle {
  font-family: 'Raleway', sans-serif;
  color: #a4a4a4;
}
h1.signature,
h2.signature,
h3.signature,
h4.signature,
h5.signature,
h6.signature,
span.signature {
  font-family: 'Montez', cursive;
}
/*color*/
p.white,
h1.white,
h2.white,
h3.white,
h4.white,
h5.white,
h6.white,
a.white,
i.white,
span.white,
input[type='text'].white,
textarea.white,
input[type='submit'].white,
select.white,
.white {
  color: #ffffff !important;
}
p.grey,
h1.grey,
h2.grey,
h3.grey,
h4.grey,
h5.grey,
h6.grey,
a.grey,
i.grey,
span.grey,
input[type='text'].grey,
textarea.grey,
input[type='submit'].grey,
select.grey,
pre.grey {
  color: #a4a4a4;
}
p.greydark,
h1.greydark,
h2.greydark,
h3.greydark,
h4.greydark,
h5.greydark,
h6.greydark,
a.greydark,
i.greydark,
span.greydark,
input[type='text'].greydark,
textarea.greydark,
input[type='submit'].greydark,
select.greydark {
  color: #868585;
}
p.greydark2,
h1.greydark2,
h2.greydark2,
h3.greydark2,
h4.greydark2,
h5.greydark2,
h6.greydark2,
a.greydark2,
i.greydark2,
span.greydark2,
input[type='text'].greydark2,
textarea.greydark2,
input[type='submit'].greydark2,
select.greydark2 {
  color: #353b3d;
}
p.green,
h1.green,
h2.green,
h3.green,
h4.green,
h5.green,
h6.green,
a.green,
i.green,
span.green,
input[type='text'].green,
textarea.green,
input[type='submit'].green,
select.green {
  color: #6fc191;
}
p.blue,
h1.blue,
h2.blue,
h3.blue,
h4.blue,
h5.blue,
h6.blue,
a.blue,
i.blue,
span.blue,
input[type='text'].blue,
textarea.blue,
input[type='submit'].blue,
select.blue {
  color: #74cee4;
}
p.violet,
h1.violet,
h2.violet,
h3.violet,
h4.violet,
h5.violet,
h6.violet,
a.violet,
i.violet,
span.violet,
input[type='text'].violet,
textarea.violet,
input[type='submit'].violet,
select.violet {
  color: #c389ce;
}
p.yellow,
h1.yellow,
h2.yellow,
h3.yellow,
h4.yellow,
h5.yellow,
h6.yellow,
a.yellow,
i.yellow,
span.yellow,
input[type='text'].yellow,
textarea.yellow,
input[type='submit'].yellow,
select.yellow {
  color: #edbf47;
}
p.orange,
h1.orange,
h2.orange,
h3.orange,
h4.orange,
h5.orange,
h6.orange,
a.orange,
i.orange,
span.orange,
input[type='text'].orange,
textarea.orange,
input[type='submit'].orange,
select.orange {
  color: #ec774b;
}
p.red,
h1.red,
h2.red,
h3.red,
h4.red,
h5.red,
h6.red,
a.red,
i.red,
span.red,
input[type='text'].red,
textarea.red,
input[type='submit'].red,
select.red {
  color: #e16c6c;
}
/*align*/
.justify {
  text-align: justify;
}
p.center,
h1.center,
h2.center,
h3.center,
h4.center,
h5.center,
h6.center {
  text-align: center;
}
p.right,
h1.right,
h2.right,
h3.right,
h4.right,
h5.right,
h6.right,
span.right {
  float: right;
}
/*size*/
p {
  font-size: 15px;
  line-height: 22px;
  color: #999;
  font-family: 'Raleway', sans-serif;
}
h1 {
  font-size: 30px;
  line-height: 30px;
}
h1.nombre-colegio {
  font-size: 15px;
  line-height: 22px;
  color: #999;
}
h1.extrasize {
  font-size: 45px;
  line-height: 45px;
}
h2 {
  font-size: 25px;
  line-height: 25px;
}
h2.subtitle.greydark {
  font-size: 30px;
  line-height: 30px;
}
h3 {
  font-size: 20px;
  line-height: 20px;
}
h4 {
  font-size: 17px;
  line-height: 17px;
}
h5 {
  font-size: 15px;
  line-height: 15px;
}
h6 {
  font-size: 14px;
  line-height: 14px;
}
a {
  text-decoration: none;
  color: #868585;
}
/*pre*/
pre {
  overflow: auto;
  float: left;
  width: 100%;
  margin: 0px;
  padding: 0px;
}
pre p {
  font-family: monospace;
  font-size: 13px;
  line-height: 22px;
}
/*END NICDARKTEXT*/
ul {
  font-size: 15px;
  line-height: 22px;
  color: #999;
  font-family: 'Raleway', sans-serif;
}

/* 8 - START NICDARKFORMELEMENTS*/
input[type='text'],
input[type='email'] {
  float: left;
  border: 0;
  outline: 0;
}
textarea {
  float: left;
  border: 0;
  outline: 0;
}
select {
  float: left;
  border: 0;
  outline: 0;
  width: 100%;
  -webkit-appearance: none;
  cursor: pointer;
}
input[type='submit'] {
  cursor: pointer;
  outline: 0;
  border: 0;
}
/*size*/
input[type='text'].small,
textarea.small,
input[type='email'].small,
textarea.small {
  font-size: 15px;
  width: 90%;
  padding: 10px 5%;
}
input[type='text'].medium,
textarea.medium,
input[type='email'].medium,
textarea.medium {
  font-size: 17px;
  width: 90%;
  padding: 10px 5%;
}
input[type='text'].big,
textarea.big,
input[type='email'].big,
textarea.big {
  font-size: 17px;
  width: 80%;
  padding: 15px 10%;
}
/*size select*/
select.small {
  font-size: 15px;
  padding: 10px 5%;
}
select.medium {
  font-size: 17px;
  padding: 10px 5%;
}
select.big {
  font-size: 17px;
  padding: 15px 10%;
}
/*END NICDARKFORMELEMENTS*/

/*********************************************CUSTOM FOR BABY KIDS*************************************************************/

/* 9 - START CLASS FOR PARALLAX SECTION*/
.nicdark_parallax_img1 {
  background: url(../img/parallax/banner1.jpg) 50% 0 fixed;
  background-size: cover;
}
.nicdark_parallax_img2 {
  background: url(../img/parallax/banner2.jpg) 50% 0 fixed;
  background-size: cover;
}
.nicdark_parallax_img3 {
  background: url(../img/parallax/banner3.jpg) 50% 0 fixed;
  background-size: cover;
}
.nicdark_parallax_img4 {
  background: url(../img/parallax/banner4.jpg) 50% 0 fixed;
  background-size: cover;
}

.nicdark_parallaxx_img1 {
  background: url(../img/parallax/img1.jpg) 50% 0 fixed;
  background-size: cover;
}
.nicdark_parallaxx_img2 {
  background: url(../img/parallax/img2.jpg) 50% 0 fixed;
  background-size: cover;
}
.nicdark_parallaxx_img3 {
  background: url(../img/parallax/img3.jpg) 50% 0 fixed;
  background-size: cover;
}
.nicdark_parallaxx_img5 {
  background: url(../img/parallax/img5.jpg) 50% 0 fixed;
  background-size: cover;
}
.nicdark_parallaxx_img6 {
  background: url(../img/parallax/img6.jpg) 50% 0 fixed;
  background-size: cover;
}
.nicdark_parallaxx_img7 {
  background: url(../img/parallax/img7.jpg) 50% 0 fixed;
  background-size: cover;
}
.nicdark_parallaxx_img8 {
  background: url(../img/parallax/img8.jpg) 50% 0 fixed;
  background-size: cover;
}

.nicdark_parallaxx_img-teachers-1 {
  background: url(../img/parallax/img-teachers-1.jpg) 50% 0 fixed;
  background-size: cover;
}
.nicdark_parallaxx_img-single-teacher-1 {
  background: url(../img/parallax/img-single-teacher-1.jpg) 50% 0 fixed;
  background-size: cover;
}
.nicdark_parallaxx_img-single-teacher-2 {
  background: url(../img/parallax/img-single-teacher-2.jpg) 50% 0 fixed;
  background-size: cover;
}

.nicdark_parallaxx_img-excursions {
  background: url(../img/parallax/img-excursions.jpg) 50% 0 fixed;
  background-size: cover;
}
.nicdark_parallaxx_img-single-excursion {
  background: url(../img/parallax/img-single-excursion.jpg) 50% 0 fixed;
  background-size: cover;
}

.nicdark_parallaxx_img-courses {
  background: url(../img/parallax/img-courses.jpg) 50% 0 fixed;
  background-size: cover;
}

.nicdark_parallaxx_img-events {
  background: url(../img/parallax/img-events.jpg) 50% 0 fixed;
  background-size: cover;
}
.nicdark_parallaxx_img-single-event {
  background: url(../img/parallax/img-single-event.jpg) 50% 0 fixed;
  background-size: cover;
}
/*END CLASS FOR PARALLAX SECTION*/

/*START CUSTOM CLASS TO AVOID INLINE CSS*/
.nicdark_width60 {
  width: 60px;
}
.nicdark_width50 {
  width: 50px;
}

.nicdark_copyrightlogo {
  background-image: url(../img/footer/copyright.jpg);
  background-size: 95px;
  background-repeat: no-repeat;
  background-position: left;
}
.nicdark_facebook {
  background-color: #5977b8;
  box-shadow: 0px 4px 0px 0px #4c67a1;
}
/*END CUSTOM CLASS TO AVOID INLINE CSS*/

/*
* *************************************** NUEVOS
*/
.table-responsive {
  width: 100%;
  min-height: 0.01%;
  overflow-x: auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
table {
  width: 100%;
  max-width: 100%;
}
.bold {
  font-weight: bold !important;
}
ul.unstyled {
  padding-left: 10px;
}
ul.letras {
  list-style-type: lower-alpha !important;
}
table {
  border-collapse: collapse;
}
table.border tr,
table.border td,
table.border th {
  padding: 2px;
  border: 1px solid silver;
}
table.border th {
  text-align: center;
}
.mayuscula {
  text-transform: uppercase;
}

/*
* *************************************** NOSOTROS
*/

.nosotros h4 {
  text-transform: uppercase;
}
.text-shadow {
  -webkit-text-shadow: 0 0 5px #aaa;
  -moz-text-shadow: 0 0 5px #aaa;
  -o-text-shadow: 0 0 5px #aaa;
  text-shadow: 0 0 5px #aaa;
}
.text-banner {
  font-size: 2em;
  line-height: 1.2em;
}
.nosotros .grid_4 {
  padding-right: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
.padding10 {
  padding: 10px;
}
.icon-top i {
  font-size: 2em;
}
.footer .titulo {
  display: block;
}
.footer .nicdark_btn {
  cursor: default;
}
.banner-main {
  position: relative;
}
.banner-main img {
  margin-top: 50px;
}
.banner-main h2 {
  display: block;
  position: absolute;
  top: 150px;
  left: 20px;
  text-align: left;
  border-left: 5px solid #70dffa;
  padding: 20px;
  background: rgba(112, 223, 250, 0.4);
}
.banner-main h2 span {
  font-size: 1.3em;
  line-height: 1em;
  color: white;
  padding: 20px 20px 20px 10px;
  font-weight: bold;
}
.banner-main .dos {
  font-size: 1em;
  line-height: 1em;
  padding: 20px 20px 20px 20px;
  font-weight: bold;
}
.logo h1 {
  width: 300px;
  margin-left: 105px;
  margin-top: 5px;
  font-weight: bold;
}
.cursor-default {
  cursor: default !important;
}
.menu {
  background: white !important;
}

.nosotros-sidebar {
  overflow: hidden;
  background: #fff;
  border: 1px solid #f1f1f1;
  border-radius: 5px;
  box-shadow: 0 4px 0 #f1f1f1;
  box-sizing: border-box;
}
.nosotros-sidebar .nicdark_list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.nosotros-sidebar .nicdark_list > li {
  display: block;
  cursor: pointer;
  border-bottom: 1px solid #f1f1f1;
  -webkit-transition: background 0.2s ease, border-left-color 0.2s ease;
  -moz-transition: background 0.2s ease, border-left-color 0.2s ease;
  -o-transition: background 0.2s ease, border-left-color 0.2s ease;
  transition: background 0.2s ease, border-left-color 0.2s ease;
}
.nosotros-sidebar .nicdark_list > li:last-child {
  border-bottom: 0;
}
.nosotros-sidebar .nicdark_list > li:hover {
  background: #f1f1f1a3;
  border-left: 4px solid #edbf47; /* nicdark yellow */
}
.nosotros-sidebar .nicdark_list > li.active {
  background: #fffed5; /* nicdark yellow dark */
  font-weight: bold;
  border-left: 4px solid #edbf47; /* highlight active */
}
.nosotros-content .nosotros-panel {
  display: none;
}
.nosotros-panel h4 {
  font-weight: bold;
}
.nosotros-content .nosotros-panel.active {
  display: block;
}

/*
* *************************************** CURSOS
*/

.nicdark_archive1.white * {
  color: white;
}

/*
* *************************************** PROFESORES
*/

.box-text-profesores {
  margin-left: 0%;
}

/*
* *************************************** GALERIA
*/

.my-gallery {
  width: 100%;
  float: left;
}
.my-gallery img {
  width: 100%;
  height: auto;
}
.my-gallery figcaption {
  display: none;
}

/* Altura uniforme y diseño moderno */
.gallery-section {
  width: calc(100% - 100px);
}
.gallery-container {
  padding: 0 45px;
}
.gallery-slider .my-gallery {
  display: flex;
  gap: 8px;
  transform: translateX(0);
  opacity: 1;
  transition: transform 480ms ease, opacity 480ms ease;
  will-change: transform, opacity;
}
.gallery-slider .my-gallery figure {
  display: none;
  float: none;
  margin: 0;
  width: calc((100% - 8px) / 2);
}
.gallery-slider .my-gallery figure.active {
  display: block;
}
.gallery-slider {
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  width: 100%;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.gallery-slider:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22) !important;
}
.gallery-slider .my-gallery figure {
  height: clamp(316px, 30vh, 600px);
  position: relative;
  background: transparent;
}
.gallery-slider .my-gallery figure a,
.gallery-slider .my-gallery figure img {
  width: 100%;
  height: 100%;
  display: block;
}
.gallery-slider .my-gallery figure img {
  object-fit: contain;
  background: rgba(0, 0, 0, 0.5);
}

/* Botones de navegación, con fondo semitransparente */
.gallery-slider .gallery-prev,
.gallery-slider .gallery-next {
  padding: 5px !important;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  background: rgba(0, 0, 0, 0.35);
  border-radius: 50%;
  width: 42px;
  height: 42px;
  line-height: 42px;
  text-align: center;
  color: #fff;
}
.gallery-slider .gallery-prev {
  left: -78px;
}
.gallery-slider .gallery-next {
  right: -78px;
}
.gallery-slider .gallery-prev:hover,
.gallery-slider .gallery-next:hover {
  background: rgba(0, 0, 0, 0.55);
}
.gallery-slider .gallery-prev i,
.gallery-slider .gallery-next i {
  font-size: 18px;
}

/* Paginación como elemento hermano del slider */
.gallery-pagination {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.gallery-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d4d4d4;
  display: inline-block;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}
.gallery-dot:hover {
  transform: scale(1.15);
}
.gallery-dot.active {
  background: #edbf47;
  transform: scale(1.2);
}

/* Responsive tweaks */
@media only screen and (max-width: 768px) {
  .gallery-slider .my-gallery figure {
    width: 100% !important;
  }
  .gallery-slider .gallery-prev,
  .gallery-slider .gallery-next {
    width: 36px;
    height: 36px;
    line-height: 36px;
  }
}
@media only screen and (min-width: 769px) {
}

/* Evitar distorsión en PhotoSwipe */
.pswp__img {
  max-width: none !important;
  height: auto !important;
  object-fit: contain;
}
