/* Presupuestos Peña Sacra — bodas y funerales. Usa los tokens del tema. */
.pr-page { color: var(--ps-tinta, #2a2722); }
.pr-h2 { font-family: var(--ps-serif, Georgia, serif); font-size: var(--ps-fs-h2, 2rem); text-align: center; margin-bottom: 1.5rem; }

/* Hero */
.pr-hero { display: grid; grid-template-columns: 1.05fr .95fr; gap: 0; max-width: var(--ps-container,1240px); margin: 24px auto; border-radius: var(--ps-radius-lg,22px); overflow: hidden; box-shadow: var(--ps-shadow-lg); min-height: 460px; }
.pr-hero__text { background: var(--ps-verde,#2f3a2a); color: var(--ps-crema,#f4efe4); padding: clamp(2rem,5vw,4rem); display: flex; flex-direction: column; justify-content: center; gap: 1rem; }
.pr-hero__text h1 { color: var(--ps-crema,#f4efe4); font-family: var(--ps-serif,serif); font-size: var(--ps-fs-h1,3rem); }
.pr-hero__text p { color: #cfc8b4; max-width: 42ch; }
.pr-hero__media { background: var(--ps-crema-2,#e9e3d3); }
.pr-hero__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pr-hero--sobrio { grid-template-columns: 1fr; min-height: auto; }
.pr-hero--sobrio .pr-hero__text { align-items: flex-start; }
.pr-urgent { background: rgba(255,255,255,.08); padding: 10px 16px; border-radius: 10px; font-weight: 600; }
.pr-urgent a { color: var(--ps-arena,#d9b8a3); }

/* Placeholders de imagen con ratio fijo (no se deforman) */
.pr-ph { position: relative; width: 100%; background:
    repeating-linear-gradient(45deg, #e9e3d3 0 14px, #e3dcc9 14px 28px);
  border-radius: 14px; display: grid; place-items: center; }
.pr-ph::after { content: attr(data-note); font-size: 12px; color: #9a917e; letter-spacing: .04em; }
.pr-ph--tall { height: 100%; min-height: 360px; border-radius: 0; }
.pr-ph--square { aspect-ratio: 1 / 1; }

/* Galería */
.pr-gallery { max-width: var(--ps-container,1240px); margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.pr-gallery__item { margin: 0; aspect-ratio: 1/1; overflow: hidden; border-radius: 14px; }
.pr-gallery__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--ps-ease-out,ease); }
.pr-gallery__item:hover img { transform: scale(1.05); }
.pr-note { text-align: center; margin-top: 1rem; font-size: .85rem; }

/* Paquetes */
.pr-packages { max-width: var(--ps-container,1240px); margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.pr-pack { position: relative; background: #fff; border: 1px solid var(--ps-borde,#e3dcc9); border-radius: var(--ps-radius,18px); padding: 2rem 1.6rem; box-shadow: var(--ps-shadow-sm); }
.pr-pack--featured { border-color: var(--ps-terracota,#c07a55); box-shadow: var(--ps-shadow); transform: translateY(-6px); }
.pr-pack__tag { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: var(--ps-terracota,#c07a55); color: #fff; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; }
.pr-pack h3 { font-family: var(--ps-serif,serif); margin-bottom: .4rem; }
.pr-pack__price { font-family: var(--ps-serif,serif); font-size: 1.5rem; color: var(--ps-terracota,#c07a55); margin-bottom: 1rem; }
.pr-pack ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .5rem; }
.pr-pack li { padding-left: 1.4rem; position: relative; font-size: .95rem; }
.pr-pack li::before { content: "✿"; position: absolute; left: 0; color: var(--ps-terracota,#c07a55); }

/* Formulario */
.pr-form-wrap { max-width: 760px; margin: 0 auto; padding: 0 24px; }
.pr-form { background: #fff; border: 1px solid var(--ps-borde,#e3dcc9); border-radius: var(--ps-radius,18px); padding: clamp(1.4rem,3vw,2.2rem); box-shadow: var(--ps-shadow-sm); display: flex; flex-direction: column; gap: 1.1rem; margin-top: 1.4rem; }
.pr-form legend { font-family: var(--ps-serif,serif); font-size: 1.15rem; font-weight: 700; margin-bottom: .6rem; }
.pr-items { border: none; padding: 0; margin: 0; }
.pr-item { display: grid; grid-template-columns: 1fr 80px auto; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px dashed var(--ps-borde,#e3dcc9); }
.pr-item label { font-weight: 600; }
.pr-item input { width: 80px; padding: 8px; border: 1px solid var(--ps-borde,#e3dcc9); border-radius: 8px; text-align: center; }
.pr-item__unit { font-size: .8rem; color: var(--ps-tinta-soft,#6f6857); white-space: nowrap; }

.pr-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.pr-form label { display: flex; flex-direction: column; gap: .35rem; font-weight: 600; font-size: .95rem; }
.pr-form input, .pr-form select, .pr-form textarea { font: inherit; padding: 11px 13px; border: 1px solid var(--ps-borde,#e3dcc9); border-radius: 10px; background: #fff; font-weight: 400; }
.pr-form input:focus, .pr-form select:focus, .pr-form textarea:focus { outline: none; border-color: var(--ps-terracota,#c07a55); }

.pr-estimate { background: var(--ps-crema,#f4efe4); border: 1px solid var(--ps-borde,#e3dcc9); border-radius: 12px; padding: 14px 18px; font-size: 1.05rem; }
.pr-estimate strong { font-family: var(--ps-serif,serif); font-size: 1.5rem; color: var(--ps-terracota,#c07a55); }
.pr-estimate small { display: block; color: var(--ps-tinta-soft,#6f6857); font-size: .8rem; margin-top: .2rem; }

.pr-submit { align-self: flex-start; }
.pr-result { margin: 0; font-weight: 600; }
.pr-result--ok { color: #2e7d32; }
.pr-result--error { color: #b3261e; }

/* Honeypot oculto */
.pr-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

@media (max-width: 760px) {
  .pr-hero { grid-template-columns: 1fr; }
  .pr-gallery, .pr-packages { grid-template-columns: 1fr 1fr; }
  .pr-row { grid-template-columns: 1fr; }
  .pr-pack--featured { transform: none; }
}
@media (max-width: 480px) {
  .pr-gallery, .pr-packages { grid-template-columns: 1fr; }
  .pr-item { grid-template-columns: 1fr 70px; }
  .pr-item__unit { grid-column: 1 / -1; }
}
