/* Portada Peña Sacra. Usa los tokens de penasacra.css (tema). */
.psh { color: var(--ps-tinta,#262a20); }
.psh h2 { font-family: var(--ps-serif,Georgia,serif); font-size: var(--ps-fs-h2,2.2rem); }
.psh-section-head { text-align: center; max-width: 640px; margin: 0 auto 2.4rem; }
.psh-section-head .ps-eyebrow { display: inline-block; margin-bottom: .5rem; }

/* HERO */
.psh-hero { max-width: var(--ps-container,1280px); margin: 24px auto; padding: 0 24px; }
.psh-hero__inner { display: grid; grid-template-columns: 1.02fr .98fr; border-radius: var(--ps-radius-lg,26px); overflow: hidden; box-shadow: var(--ps-shadow-lg); min-height: 580px; }
.psh-hero__text { background: var(--ps-verde,#3a5a40); color: #f1ecdd; padding: clamp(2.4rem,5vw,4.2rem); display: flex; flex-direction: column; justify-content: center; }
.psh-hero__text .ps-eyebrow { color: var(--ps-oro,#e9c46a); margin-bottom: 1.2rem; }
.psh-hero__text h1 { color: #f1ecdd; margin: 0 0 1.2rem; }
.psh-hero__lead { font-size: 1.12rem; color: #d3d8c4; max-width: 34ch; margin: 0 0 2rem; }
.psh-hero__cta { display: flex; gap: 14px; flex-wrap: wrap; }
.psh-hero__rating { margin-top: 2.4rem; display: flex; align-items: center; gap: 14px; font-size: .82rem; color: #b9c0a6; }
.psh-hero__stars { display: flex; gap: 2px; color: var(--ps-oro,#e9c46a); font-size: .95rem; }
.psh-hero__media { position: relative; background: var(--ps-crema-2,#e9e3d3); }
.psh-hero__media img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.psh-hero__chip { position: absolute; bottom: 22px; left: 22px; background: rgba(244,239,228,.95); backdrop-filter: blur(6px); border-radius: 14px; padding: 13px 18px; display: flex; align-items: center; gap: 12px; box-shadow: 0 12px 30px -16px rgba(0,0,0,.5); }
.psh-hero__chip-icon { font-size: 22px; color: var(--ps-verde,#3a5a40); }
.psh-hero__chip strong { display: block; font-family: var(--ps-serif,serif); font-size: 17px; }
.psh-hero__chip small { font-size: 12px; color: #847d6e; }

/* TRUST BAR (4 tarjetas con icono, como el diseño) */
.psh-trust { max-width: var(--ps-container,1280px); margin: 14px auto 0; padding: 0 24px; }
.psh-trust__inner { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.psh-trust__card { display: flex; align-items: center; gap: 13px; padding: 20px 22px; background: #fff; border: 1px solid #ece4d2; border-radius: 14px; }
.psh-trust__icon { display: grid; place-items: center; min-width: 42px; height: 42px; border-radius: 50%; background: #e7ecdf; color: var(--ps-verde,#3a5a40); flex-shrink: 0; }
.psh-trust__txt { line-height: 1.25; }
.psh-trust__txt strong { display: block; font-weight: 800; font-size: 14.5px; }
.psh-trust__txt span { font-size: 12.5px; color: #847d6e; }
@media (max-width: 980px) { .psh-trust__inner { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px) { .psh-trust__inner { grid-template-columns: 1fr; } }

/* GRID PRODUCTOS */
.psh-grid { max-width: var(--ps-container,1280px); margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; }
.psh-card__name { font-family: var(--ps-serif,serif); font-size: 1.05rem; margin: 0 0 .4rem; line-height: 1.2; }

/* OCASIONES */
.psh-occ-grid { max-width: var(--ps-container,1280px); margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: repeat(5,1fr); gap: 16px; }
.psh-occ { position: relative; aspect-ratio: 3/4; border-radius: 18px; overflow: hidden; display: block; box-shadow: var(--ps-shadow-sm); transition: transform .4s var(--ps-ease-out,ease), box-shadow .4s; }
.psh-occ:hover { transform: translateY(-5px); box-shadow: var(--ps-shadow); }
.psh-occ img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; transition: transform .6s var(--ps-ease-out,ease); }
.psh-occ:hover img { transform: scale(1.06); }
.psh-occ::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(38,42,32,.85) 0%, rgba(38,42,32,.15) 55%, transparent 80%); }
.psh-occ__caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px; color: #fff; z-index: 2; }
.psh-occ__caption h3 { font-family: var(--ps-serif,serif); font-size: 1.05rem; margin: 0 0 .25rem; color: #fff; }
.psh-occ__caption p { font-size: .8rem; margin: 0; color: #e7ecdf; }

/* HISTORIA */
.psh-story__inner { max-width: var(--ps-container,1280px); margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,4rem); align-items: center; }
.psh-story__media { position: relative; border-radius: 18px; overflow: hidden; aspect-ratio: 4/3; box-shadow: var(--ps-shadow); }
.psh-story__media img { width: 100%; height: 100%; object-fit: cover; }
.psh-story__badge { position: absolute; bottom: 16px; right: 16px; background: var(--ps-oro,#e9c46a); color: #3a3120; font-weight: 800; font-size: .78rem; padding: 8px 14px; border-radius: var(--ps-radius-pill,999px); }
.psh-story__text .ps-eyebrow { margin-bottom: .8rem; display: inline-block; }
.psh-story__text h2 { margin: 0 0 1rem; }
.psh-story__text p { margin: 0 0 1rem; }

/* ZONA */
.psh-zone__inner { max-width: 820px; margin: 0 auto; padding: 0 24px; text-align: center; }
.psh-zone__inner h2 { color: var(--ps-crema,#f4efe4); margin-bottom: 1rem; }
.psh-zone__inner p { color: #d3d8c4; }
.psh-zone__free { margin-top: 1.2rem; font-weight: 600; }
.psh-zone__free a { color: var(--ps-oro,#e9c46a); text-decoration: underline; }

/* POR QUÉ ELEGIRNOS */
.psh-why-grid { max-width: var(--ps-container,1280px); margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.psh-why__item { text-align: center; padding: 1.8rem 1.2rem; }
.psh-why__icon { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--ps-crema,#f4efe4); color: var(--ps-verde,#3a5a40); font-size: 24px; margin-bottom: 1rem; }
.psh-why__item h3 { font-family: var(--ps-serif,serif); font-size: 1.1rem; margin: 0 0 .5rem; }
.psh-why__item p { font-size: .92rem; color: var(--ps-tinta-soft,#6f6857); margin: 0; }

/* RESEÑAS */
.psh-reviews__grid { max-width: var(--ps-container,1280px); margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.psh-review { background: #fff; border: 1px solid var(--ps-borde,#e3dcc9); border-radius: var(--ps-radius,18px); padding: 1.8rem; margin: 0; box-shadow: var(--ps-shadow-sm); }
.psh-review__stars { color: var(--ps-oro,#e9c46a); letter-spacing: 2px; margin-bottom: .8rem; }
.psh-review blockquote { margin: 0 0 1rem; font-size: 1.02rem; line-height: 1.6; }
.psh-review figcaption { font-weight: 700; color: var(--ps-tinta-soft,#6f6857); }

/* LOOKBOOK */
.psh-lookbook { max-width: var(--ps-container,1280px); margin: 0 auto; padding: clamp(3rem,7vw,6rem) 24px; }
.psh-lookbook__grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 10px; }
.psh-lookbook__item { position: relative; aspect-ratio: 1/1; border-radius: 10px; overflow: hidden; display: block; }
.psh-lookbook__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ps-ease-out,ease); }
.psh-lookbook__item:hover img { transform: scale(1.08); }

/* TEASER BODAS */
.psh-bodas-teaser { position: relative; max-width: var(--ps-container,1280px); margin: clamp(3rem,7vw,6rem) auto; padding: 0 24px; }
.psh-bodas-teaser__bg { position: absolute; inset: 0 24px; width: calc(100% - 48px); height: 100%; object-fit: cover; border-radius: var(--ps-radius-lg,26px); }
.psh-bodas-teaser__inner { position: relative; color: #f1ecdd; border-radius: var(--ps-radius-lg,26px); padding: clamp(2rem,5vw,3.4rem); display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; background: linear-gradient(110deg, rgba(38,48,31,.88) 35%, rgba(38,48,31,.45) 100%); }
.psh-bodas-teaser__inner h2 { color: #f1ecdd; margin: .4rem 0; }
.psh-bodas-teaser__inner p { color: #e3e6da; max-width: 46ch; margin: 0; }
.psh-bodas-teaser__inner .ps-eyebrow { color: var(--ps-oro,#e9c46a); }

/* RESPONSIVE */
@media (max-width: 1024px) {
  .psh-grid { grid-template-columns: repeat(2,1fr); }
  .psh-occ-grid { grid-template-columns: repeat(3,1fr); }
  .psh-why-grid { grid-template-columns: repeat(2,1fr); }
  .psh-lookbook__grid { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 860px) {
  .psh-hero__inner { grid-template-columns: 1fr; min-height: auto; }
  .psh-hero__media { min-height: 280px; }
  .psh-story__inner { grid-template-columns: 1fr; }
  .psh-reviews__grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .psh-grid { grid-template-columns: 1fr 1fr; }
  .psh-occ-grid { grid-template-columns: 1fr 1fr; }
  .psh-lookbook__grid { grid-template-columns: repeat(3,1fr); }
}
