/* =====================================================
   Proyecto base — Promociones Higoma
   Compartido por todas las subpáginas de proyecto
   ===================================================== */
:root {
  --ph-rojo:     #5c2a25;
  --ph-beige:    #f6f1ec;
  --ph-ivory:    #a8a187;
  --ph-terracota:#916358;
  --ph-navy:     #313d4b;
  --ph-blanco:   #ffffff;
  --ph-gris:     #6c757d;
  --ph-borde:    #e8e3dd;
  --ph-trans:    all 0.3s ease;
  --ph-r:        8px;
  --ph-rl:       16px;
  --ph-shadow:   0 4px 20px rgba(0,0,0,0.09);
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior: smooth; }
body { font-family:'Raleway',sans-serif; color:var(--ph-navy); background:var(--ph-blanco); overflow-x:hidden; line-height:1.65; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }
h1,h2,h3,h4 { font-family:'Roboto Condensed',sans-serif; font-weight:700; line-height:1.1; }

.prj-container { max-width:1200px; margin:0 auto; padding:0 28px; }

/* HEADER */
.prj-header {
  position:fixed; top:0; left:0; right:0; z-index:999;
  transition:background 0.4s ease, box-shadow 0.4s ease;
}
.prj-header.scrolled {
  background:rgba(255,255,255,0.97);
  backdrop-filter:blur(20px);
  box-shadow:0 2px 16px rgba(0,0,0,0.07);
}
.prj-nav {
  display:flex; align-items:center; justify-content:space-between;
  height:80px;
}
.prj-nav__logo img {
  height:56px; width:auto; object-fit:contain;
  transition:var(--ph-trans);
}
.prj-nav__links { display:flex; align-items:center; gap:4px; list-style:none; }
.prj-nav__link {
  padding:7px 13px; font-size:13px; font-weight:400;
  font-family:'Raleway',sans-serif;
  color:rgba(255,255,255,0.8); border-radius:var(--ph-r);
  transition:var(--ph-trans); white-space:nowrap; letter-spacing:0.3px;
}
.prj-nav__link:hover { background:rgba(255,255,255,0.12); color:#fff; }
.prj-header.scrolled .prj-nav__link { color:var(--ph-gris); }
.prj-header.scrolled .prj-nav__link:hover { background:var(--ph-beige); color:var(--ph-navy); }
.prj-nav__cta {
  background:var(--ph-rojo) !important; color:#fff !important;
  font-weight:600 !important; padding:8px 20px !important;
}
.prj-nav__cta:hover { background:#4a2120 !important; }
.prj-nav__back {
  display:flex; align-items:center; gap:6px;
  font-size:12.5px; color:rgba(255,255,255,0.55);
  padding:6px 10px; border-radius:var(--ph-r);
  transition:var(--ph-trans);
}
.prj-nav__back:hover { color:#fff; background:rgba(255,255,255,0.1); }
.prj-header.scrolled .prj-nav__back { color:var(--ph-gris); }
.prj-nav__back::before { content:'←'; font-size:14px; }

/* HERO PROYECTO */
.prj-hero {
  min-height:70vh; position:relative;
  display:flex; align-items:flex-end; overflow:hidden;
}
.prj-hero__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.prj-hero__overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(20,28,40,0.88) 0%, rgba(20,28,40,0.35) 55%, transparent 100%);
}
.prj-hero__content { position:relative; z-index:1; padding:48px 0 64px; width:100%; }
.prj-hero__breadcrumb {
  display:flex; align-items:center; gap:8px;
  font-size:11.5px; color:rgba(255,255,255,0.4);
  letter-spacing:1px; margin-bottom:16px;
}
.prj-hero__breadcrumb a { color:rgba(255,255,255,0.55); transition:var(--ph-trans); }
.prj-hero__breadcrumb a:hover { color:#fff; }
.prj-hero__breadcrumb span { opacity:0.4; }
.prj-hero__badge {
  display:inline-block; padding:5px 14px; border-radius:100px;
  font-size:10.5px; font-weight:700; letter-spacing:1.5px;
  text-transform:uppercase; margin-bottom:14px;
}
.prj-hero__badge--active { background:#2d6a4f; color:#fff; }
.prj-hero__badge--soon { background:var(--ph-terracota); color:#fff; }
.prj-hero__title {
  font-family:'Roboto Condensed',sans-serif;
  font-size:clamp(2.2rem,5vw,4rem); font-weight:700;
  color:#fff; margin-bottom:10px; line-height:1.05;
}
.prj-hero__location {
  font-size:14px; color:rgba(255,255,255,0.55);
  display:flex; align-items:center; gap:8px;
}
.prj-hero__location::before {
  content:''; width:20px; height:1px;
  background:var(--ph-ivory); display:inline-block;
}

/* SPECS BAR */
.prj-specs-bar {
  background:var(--ph-navy); display:flex;
  border-radius:0 0 var(--ph-rl) var(--ph-rl);
  overflow:hidden;
}
.prj-spec {
  flex:1; padding:24px 28px;
  border-right:1px solid rgba(255,255,255,0.08);
  display:flex; flex-direction:column; gap:4px;
}
.prj-spec:last-child { border-right:none; }
.prj-spec__value {
  font-family:'Roboto Condensed',sans-serif;
  font-size:1.7rem; font-weight:700; color:#fff; line-height:1;
}
.prj-spec__label {
  font-size:10.5px; letter-spacing:1.5px;
  text-transform:uppercase; color:rgba(255,255,255,0.35);
}

/* CUERPO DEL PROYECTO */
.prj-body { padding:80px 0; }
.prj-body__grid { display:grid; grid-template-columns:1fr 380px; gap:64px; align-items:start; }
.prj-tag {
  display:inline-block; font-size:10.5px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  color:var(--ph-terracota); margin-bottom:12px;
}
.prj-title { font-size:clamp(1.6rem,2.5vw,2.2rem); margin-bottom:20px; color:var(--ph-navy); }
.prj-desc { font-size:15px; color:var(--ph-gris); line-height:1.8; margin-bottom:24px; }
.prj-features-title {
  font-family:'Roboto Condensed',sans-serif; font-size:1rem;
  font-weight:700; letter-spacing:1px; text-transform:uppercase;
  color:var(--ph-navy); margin:32px 0 16px;
}
.prj-chips { display:flex; flex-wrap:wrap; gap:8px; }
.prj-chip {
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 14px; border-radius:100px;
  border:1px solid var(--ph-borde); font-size:12.5px;
  color:var(--ph-navy); background:var(--ph-beige);
  transition:var(--ph-trans);
}
.prj-chip:hover { border-color:var(--ph-ivory); }
.prj-chip::before {
  content:''; width:5px; height:5px; border-radius:50%;
  background:var(--ph-ivory); flex-shrink:0;
}

/* CARD LATERAL */
.prj-card {
  background:var(--ph-beige); border-radius:var(--ph-rl);
  padding:36px 32px; border:1px solid var(--ph-borde);
  position:sticky; top:104px;
}
.prj-card__title { font-size:1.1rem; margin-bottom:20px; }
.prj-card__price-label { font-size:12px; color:var(--ph-gris); text-transform:uppercase; letter-spacing:1px; }
.prj-card__price {
  font-family:'Roboto Condensed',sans-serif;
  font-size:2rem; font-weight:700; color:var(--ph-rojo);
  line-height:1; margin:4px 0 24px;
}
.prj-card__price--na { font-size:1.2rem; color:var(--ph-terracota); }
.prj-card__divider { height:1px; background:var(--ph-borde); margin:20px 0; }
.prj-card__detail { font-size:13px; color:var(--ph-gris); margin-bottom:8px; display:flex; justify-content:space-between; }
.prj-card__detail strong { color:var(--ph-navy); }
.prj-btn {
  display:flex; align-items:center; justify-content:center; gap:6px;
  width:100%; padding:14px; border-radius:var(--ph-r);
  font-family:'Raleway',sans-serif; font-size:14px; font-weight:600;
  cursor:pointer; border:none; transition:var(--ph-trans); margin-top:8px;
}
.prj-btn--primary { background:var(--ph-rojo); color:#fff; }
.prj-btn--primary:hover { background:#4a2120; transform:translateY(-1px); box-shadow:0 4px 16px rgba(92,42,37,0.3); }
.prj-btn--outline { background:transparent; color:var(--ph-navy); border:1.5px solid var(--ph-borde); }
.prj-btn--outline:hover { border-color:var(--ph-navy); background:var(--ph-navy); color:#fff; }

/* FORMULARIO */
.prj-form { display:flex; flex-direction:column; gap:10px; margin-top:16px; }
.prj-form input, .prj-form select, .prj-form textarea {
  padding:11px 14px; border:1.5px solid var(--ph-borde);
  border-radius:var(--ph-r); font-family:'Raleway',sans-serif;
  font-size:13.5px; color:var(--ph-navy); background:var(--ph-blanco);
  outline:none; transition:border-color 0.2s;
}
.prj-form input:focus, .prj-form select:focus { border-color:var(--ph-rojo); }
.prj-form textarea { resize:vertical; min-height:90px; }

/* GALERÍA */
.prj-gallery { padding:0 0 80px; }
.prj-gallery__grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto auto;
  gap:12px;
}
.prj-gallery__item { border-radius:var(--ph-r); overflow:hidden; aspect-ratio:4/3; }
.prj-gallery__item:first-child { grid-row:span 2; aspect-ratio:auto; }
.prj-gallery__img { width:100%; height:100%; object-fit:cover; transition:transform 0.8s ease; }
.prj-gallery__item:hover .prj-gallery__img { transform:scale(1.04); }
.prj-gallery__placeholder {
  width:100%; height:100%;
  background:linear-gradient(135deg, #313d4b 0%, #3a2a28 100%);
  display:flex; align-items:center; justify-content:center;
  min-height:200px;
}
.prj-gallery__placeholder span {
  font-family:'Roboto Condensed',sans-serif;
  font-size:4rem; font-weight:700;
  color:rgba(255,255,255,0.06);
}

/* CTA BOTTOM */
.prj-cta-bar {
  background:var(--ph-navy); padding:64px 0;
  display:flex; align-items:center; justify-content:space-between;
  gap:32px; flex-wrap:wrap;
}
.prj-cta-bar__title {
  font-family:'Roboto Condensed',sans-serif;
  font-size:clamp(1.5rem,3vw,2.2rem); font-weight:700;
  color:#fff; line-height:1.15;
}
.prj-cta-bar__title em { color:var(--ph-ivory); font-style:italic; font-weight:300; }
.prj-cta-bar__actions { display:flex; gap:12px; flex-wrap:wrap; }

/* FOOTER MÍNIMO */
.prj-footer { background:#1a2330; padding:32px 0; }
.prj-footer__inner {
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; flex-wrap:wrap;
}
.prj-footer__logo img { height:36px; opacity:0.6; filter:brightness(0) invert(1); }
.prj-footer__copy { font-size:12px; color:rgba(255,255,255,0.25); }
.prj-footer__back { font-size:13px; color:var(--ph-ivory); transition:var(--ph-trans); }
.prj-footer__back:hover { color:#fff; }

/* WA */
.prj-wa {
  position:fixed; bottom:24px; right:24px;
  width:48px; height:48px; background:#25d366;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 16px rgba(37,211,102,0.4); z-index:998;
  transition:var(--ph-trans);
}
.prj-wa:hover { transform:scale(1.1); }

/* RESPONSIVE */
@media (max-width:900px) {
  .prj-body__grid { grid-template-columns:1fr; }
  .prj-card { position:static; }
  .prj-specs-bar { flex-wrap:wrap; }
  .prj-spec { min-width:50%; }
}
@media (max-width:600px) {
  .prj-nav__links { display:none; }
  .prj-hero { min-height:55vh; }
  .prj-gallery__grid { grid-template-columns:1fr; }
  .prj-gallery__item:first-child { grid-row:span 1; }
  .prj-cta-bar { flex-direction:column; padding:48px 0; }
}
