/* ==================================================
   PERFIL EDITORIAL DE PENPALIA
================================================== */

.penpalia-editorial-profile {
  min-height: 100vh;
  padding: 45px 20px 80px;
  background: #F5F0DD;
}

.penpalia-editorial-profile__container {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
}

.penpalia-editorial-profile__back {
  display: inline-block;
  margin-bottom: 22px;
  color: #805841;
  font-family: "DM Sans", sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}

.penpalia-editorial-profile__back:hover {
  color: #A6B66A;
}

/* ==================================================
   CABECERA
================================================== */

.penpalia-editorial-hero {
  overflow: hidden;
  background: linear-gradient(
    135deg,
    #A6B66A 0%,
    #B8C985 55%,
    #A6B66A 100%
  );
  border: 1px solid rgba(128, 88, 65, 0.45);
  border-radius: 28px 28px 0 0;
}

.penpalia-editorial-hero__pattern {
  display: none;
}

.penpalia-editorial-hero__content {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  align-items: center;
  gap: 42px;
  padding: 52px 55px;
}

.penpalia-editorial-hero__photo {
  width: 210px;
  height: 210px;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  background: #FFFFFF;
  border: none;
  border-radius: 50%;
  box-shadow: none;
}

.penpalia-editorial-hero__photo img {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
}

.penpalia-editorial-hero__info {
  min-width: 0;
}

.penpalia-editorial-hero__hello {
  display: inline-block;
  margin-bottom: 3px;
  padding: 5px 14px;
  color: #805841;
  background: #FFED9E;
  border: 1px solid rgba(128, 88, 65, 0.7);
  border-radius: 999px;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
}

.penpalia-editorial-hero__name {
  margin: 6px 0 14px !important;
  color: #FFFFFF !important;
  font-family: "Arbutus Slab", serif !important;
  font-size: clamp(48px, 7vw, 80px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}

.penpalia-editorial-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 18px;
  margin-bottom: 18px;
  color: #FFFFFF !important;
  font-family: "DM Sans", sans-serif;
  font-size: 15px;
  font-weight: 600;
}

.penpalia-editorial-hero__meta span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #FFFFFF !important;
}

.penpalia-editorial-hero__bio,
.penpalia-editorial-hero__bio p {
  max-width: 700px;
  color: rgba(255, 255, 255, 0.94) !important;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  line-height: 1.7;
}

.penpalia-editorial-hero__bio p {
  margin: 0 0 16px;
}

.penpalia-editorial-hero__availability {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 15px;
  color: #56641C;
  background: #FFFFFF;
  border: 1px solid #8C9B3F;
  border-radius: 999px;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 700;
}

.penpalia-editorial-hero__dot {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  background: #84A12A;
  border-radius: 50%;
}

/* ==================================================
   CUERPO
================================================== */

.penpalia-editorial-body {
  display: grid;
  grid-template-columns: minmax(270px, 0.8fr) minmax(0, 1.5fr);
  background: #F5F0DD;
  border: 1px solid rgba(128, 88, 65, 0.45);
  border-top: 0;
  border-radius: 0 0 28px 28px;
}

.penpalia-editorial-sidebar,
.penpalia-editorial-main {
  background: #F5F0DD;
}

.penpalia-editorial-sidebar {
  padding: 45px 38px;
  border-right: 1px solid rgba(128, 88, 65, 0.35);
}

.penpalia-editorial-main {
  padding: 45px 48px;
}

.penpalia-editorial-block {
  margin-bottom: 40px;
  padding-bottom: 32px;
  border-bottom: 1px dashed rgba(128, 88, 65, 0.28);
}

.penpalia-editorial-block:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.penpalia-editorial-block h2 {
  margin: 0 0 18px !important;
  color: #A6B66A !important;
  font-family: "Arbutus Slab", serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-shadow: none !important;
}

.penpalia-editorial-block h3 {
  margin: 0 0 7px !important;
  color: #805841 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.penpalia-editorial-block p,
.penpalia-editorial-text {
  color: #5F4438;
  font-family: "DM Sans", sans-serif;
  font-size: 15px;
  line-height: 1.75;
}

.penpalia-editorial-text p:last-child {
  margin-bottom: 0;
}

/* ==================================================
   IDIOMAS
================================================== */

.penpalia-editorial-language-group {
  margin-bottom: 22px;
}

.penpalia-editorial-language-group:last-child {
  margin-bottom: 0;
}

.penpalia-editorial-simple-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.penpalia-editorial-simple-list li {
  padding: 6px 13px;
  color: #805841;
  background: #FFFFFF;
  border: 1px solid #805841;
  border-radius: 999px;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
}

/* ==================================================
   ETIQUETAS
================================================== */

.penpalia-editorial-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.penpalia-editorial-tags li {
  padding: 7px 13px;
  color: #5E6B23;
  background: #F0F3D5;
  border: 1px solid #A6B66A;
  border-radius: 999px;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  line-height: 1.25;
  transition:
    transform 0.2s ease,
    background 0.2s ease;
}

.penpalia-editorial-tags li:hover {
  transform: translateY(-2px);
  background: #E8EDC7;
}

.penpalia-editorial-tags--pink li {
  color: #48698A;
  background: #EAF3FA;
  border-color: #78A9D6;
}

.penpalia-editorial-tags--pink li:hover {
  background: #DCECF8;
}

/* ==================================================
   DISPONIBILIDAD
================================================== */

.penpalia-editorial-status {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 0;
  padding: 12px 14px;
  color: #56641C !important;
  background: #F4F8D5;
  border: 1px solid #C8D56B;
  border-radius: 15px;
  font-weight: 700;
}

.penpalia-editorial-status__dot {
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  margin-top: 8px;
  background: #84A12A;
  border-radius: 50%;
}

/* ==================================================
   SOLICITUD
================================================== */

.penpalia-editorial-request {
  margin-top: 46px;
  padding: 28px;
  text-align: center;
  background: #FFED9E;
  border: 1px solid rgba(128, 88, 65, 0.7);
  border-radius: 20px;
}

.penpalia-editorial-request__label {
  display: block;
  margin-bottom: 13px;
  color: #805841;
  font-family: "Arbutus Slab", serif;
  font-size: 22px;
}

.penpalia-editorial-request__button {
  padding: 13px 25px;
  color: #F5F0DD !important;
  background: #805841 !important;
  border: 2px solid #805841 !important;
  border-radius: 999px;
  cursor: pointer;
  font-family: "DM Sans", sans-serif;
  font-size: 15px;
  font-weight: 800;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    transform 0.2s ease;
}

.penpalia-editorial-request__button:hover,
.penpalia-editorial-request__button:focus {
  color: #F5F0DD !important;
  background: #93A644 !important;
  border-color: #93A644 !important;
  transform: translateY(-2px);
}

.penpalia-editorial-request p {
  margin: 11px 0 0;
  color: #805841;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
}

/* ==================================================
   TABLET
================================================== */

@media (max-width: 850px) {

  .penpalia-editorial-hero__content {
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 30px;
    padding: 38px 35px;
  }

  .penpalia-editorial-hero__photo {
    width: 170px;
    height: 170px;
  }

  .penpalia-editorial-body {
    grid-template-columns: 1fr;
  }

  .penpalia-editorial-sidebar {
    border-right: 0;
    border-bottom: 1px solid rgba(128, 88, 65, 0.35);
  }
}

/* ==================================================
   CELULAR
================================================== */

@media (max-width: 620px) {

  .penpalia-editorial-profile {
    padding: 28px 14px 55px;
  }

  .penpalia-editorial-hero__content {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 30px 22px 34px;
    text-align: center;
  }

  .penpalia-editorial-hero__photo {
    width: 145px;
    height: 145px;
  }

  .penpalia-editorial-hero__name {
    font-size: 44px !important;
  }

  .penpalia-editorial-hero__meta {
    justify-content: center;
  }

  .penpalia-editorial-hero__availability {
    justify-content: center;
  }

  .penpalia-editorial-sidebar,
  .penpalia-editorial-main {
    padding: 32px 22px;
  }

  .penpalia-editorial-block h2 {
    font-size: 28px !important;
  }
}

/* ==================================================
   MI EXPERIENCIA COMO PENPAL
================================================== */

.penpalia-profile-experience {
    width: 100%;
    max-width: 1120px;
    margin: 60px auto 30px;
    padding: 0;
    box-sizing: border-box;
}
/* Título sencillo, sin fondo ni decoración */

.penpalia-profile-experience__title {
    width: 100%;
    margin: 0 0 30px;
    padding: 0;

    color: #A6B66A;
    background: transparent;

    font-family: "Arbutus Slab", serif;
    font-size: 34px;
    font-weight: 400;
    line-height: 1.25;
    text-align: center;

    border: 0;
    border-radius: 0;
    box-shadow: none;
}

/* Contenedor de las tres tarjetas */

.penpalia-profile-experience__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    align-items: stretch;
}

/* Tarjetas */

.penpalia-experience-card {
    position: relative;
    min-height: 340px;
    padding: 38px 28px 32px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;

    color: #5E4A3C;
    background: #FFFDF7;

    font-family: "DM Sans", sans-serif;
    text-align: center;

    border: 1px solid #E7DDC5;
    border-radius: 18px;

    box-shadow: 0 8px 22px rgba(128, 88, 65, 0.10);
    box-sizing: border-box;
    overflow: hidden;
}

/* Borde interior */

.penpalia-experience-card::before {
    content: "";
    position: absolute;
    inset: 8px;
    z-index: 0;

    border: 3px solid #E8DFC8;
    border-radius: 12px;

    pointer-events: none;
}

/* Mantener el contenido encima del borde */

.penpalia-experience-card > * {
    position: relative;
    z-index: 1;
}

/* Ocultar los iconos */

.penpalia-experience-card__icon {
    display: none !important;
}

/* Títulos de las tarjetas */

.penpalia-experience-card h3 {
    width: 100%;
    max-width: 280px;
    margin: 8px auto 24px;

    color: #805841;

    font-family: "Arbutus Slab", serif;
    font-size: 25px;
    font-weight: 400;
    line-height: 1.3;
    text-align: center;
}

/* Lista de tipos de intercambio */

.penpalia-experience-card__list {
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
    padding: 0;

    list-style: none;
    text-align: center;
}

.penpalia-experience-card__list li {
    margin: 0 0 9px;
    padding: 0;

    color: #5E4A3C;

    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    line-height: 1.4;
    text-align: center;
}

.penpalia-experience-card__list li:last-child {
    margin-bottom: 0;
}

/* Eliminar cualquier viñeta anterior */

.penpalia-experience-card__list li::before,
.penpalia-experience-card__list li::marker {
    display: none;
    content: none;
}

/* Reputación */

.penpalia-experience-card__stars {
    margin: 4px 0 18px;

    color: #A6B66A;

    font-family: "DM Sans", sans-serif;
    font-size: 28px;
    line-height: 1;
    letter-spacing: 3px;
}

.penpalia-experience-card__rating {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 9px;

    margin: 0 0 14px;
}

.penpalia-experience-card__rating strong {
    color: #A6B66A;

    font-family: "Arbutus Slab", serif;
    font-size: 52px;
    font-weight: 400;
    line-height: 1;
}

.penpalia-experience-card__rating span {
    color: #5E4A3C;

    font-family: "DM Sans", sans-serif;
    font-size: 23px;
}

.penpalia-experience-card__caption {
    margin: 0;

    color: #5E4A3C;

    font-family: "DM Sans", sans-serif;
    font-size: 17px;
    line-height: 1.4;
}

/* Intercambios completados */

.penpalia-experience-card__number {
    display: block;
    margin: 8px 0 0;

    color: #A6B66A;

    font-family: "Arbutus Slab", serif;
    font-size: 60px;
    font-weight: 400;
    line-height: 1;
}

.penpalia-experience-card__unit {
    display: block;
    margin-top: 14px;

    color: #5E4A3C;

    font-family: "DM Sans", sans-serif;
    font-size: 20px;
    line-height: 1.3;
}

/* Mensaje cuando no hay tipos de intercambio */

.penpalia-experience-card__empty {
    margin: 0;

    color: #7A6B61;

    font-family: "DM Sans", sans-serif;
    font-size: 16px;
    line-height: 1.5;
    text-align: center;
}

/* Tablet */

@media (max-width: 950px) {

    .penpalia-profile-experience {
        margin: 70px auto 40px;
    }

    .penpalia-profile-experience__grid {
        grid-template-columns: 1fr;
        max-width: 520px;
        margin: 0 auto;
        gap: 24px;
    }

    .penpalia-experience-card {
        min-height: auto;
        padding: 36px 30px 34px;
    }
}

/* Celular */

@media (max-width: 620px) {

    .penpalia-profile-experience {
        margin: 34px auto 20px;
    }

    .penpalia-profile-experience__title {
        margin-bottom: 25px;
        font-size: 29px;
    }

    .penpalia-profile-experience__grid {
        gap: 20px;
    }

    .penpalia-experience-card {
        padding: 34px 24px 30px;
    }

    .penpalia-experience-card h3 {
        margin-bottom: 20px;
        font-size: 23px;
    }

    .penpalia-experience-card__list li {
        font-size: 15px;
    }

    .penpalia-experience-card__stars {
        font-size: 25px;
    }

    .penpalia-experience-card__rating strong {
        font-size: 48px;
    }

    .penpalia-experience-card__rating span {
        font-size: 21px;
    }

    .penpalia-experience-card__number {
        font-size: 56px;
    }
}
/* ==================================================
   GALERÍA DEL PENPAL
================================================== */

.penpalia-profile-gallery {
    width: 100%;
    max-width: 1120px;
    margin: 35px auto 70px;
    padding: 0 20px;
    box-sizing: border-box;
}

.penpalia-profile-gallery__title {
    margin: 0 0 12px;
    color: #78A9D6 !important;
    font-family: "Arbutus Slab", serif;
    font-size: 36px;
    font-weight: 400;
    line-height: 1.25;
    text-align: center;
}

.penpalia-profile-gallery__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px;
    align-items: start;
}

.penpalia-profile-gallery__item {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
}

.penpalia-profile-gallery__photo {
    position: absolute;

    top: 30.5%;
    left: 21.6%;
    z-index: 1;

    width: 52.2%;
    height: 51.4%;

    overflow: hidden;
    background: #FFFFFF;
}

.penpalia-profile-gallery__photo img {
    display: block;
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    border: 0;
}

.penpalia-profile-gallery__frame {
    position: absolute;
    inset: 0;
    z-index: 2;

    display: block;
    width: 100%;
    height: 100%;

    object-fit: cover;
    pointer-events: none;

   filter: drop-shadow(0 8px 22px rgba(128, 88, 65, 0.35));
    );
}

/* Tablet */

@media (max-width: 950px) {

    .penpalia-profile-gallery__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px;
    }
}

/* Celular */

@media (max-width: 620px) {

    .penpalia-profile-gallery {
        margin: 40px auto 50px;
        padding: 0 14px;
    }

    .penpalia-profile-gallery__title {
        margin-bottom: 24px;
        font-size: 29px;
    }

    .penpalia-profile-gallery__grid {
        grid-template-columns: 1fr;
        max-width: 330px;
        margin: 0 auto;
        gap: 28px;
    }
}
/* ================================
   GALERÍA: ESTADO SIN FOTOS
================================ */

.penpalia-profile-gallery__empty{
    max-width:620px;
    margin:10px auto 0;
    padding:34px 28px;

    background:#F5F0DD;
    border:2px dashed #F297A0;
    border-radius:20px;

    color:#805841;

    font-family:"DM Sans", sans-serif;
    font-size:16px;
    line-height:1.7;
    text-align:center;

    box-shadow:
        0 10px 25px rgba(128, 88, 65, 0.10);
}

.penpalia-profile-gallery__empty::before{
    content:"✉️";
    display:block;

    margin-bottom:12px;

    font-size:34px;
    line-height:1;
}
/* ================================
   GALERÍA: ANIMACIÓN POLAROID
================================ */

@media (hover: hover) and (pointer: fine) {

    .penpalia-profile-gallery__item{
        transition:
            transform 0.25s ease,
            filter 0.25s ease;
    }

    .penpalia-profile-gallery__item:hover{
        transform:
            translateY(-4px)
            rotate(1deg);

        filter:
            drop-shadow(
                0 14px 18px rgba(128, 88, 65, 0.18)
            );
    }

}