@charset "utf-8";
/* CSS Document */

/* ==== PrimeGreenCare — Styles ==== */

/* Paleta (inspirada en el logo) */
:root{
  --pgc-green-600:#e3056f;   /* teal principal */
  --pgc-green-700:#002f50;   /* teal oscuro */
  --pgc-leaf-600:#ff4fa3;    /* verde hoja */
  --pgc-leaf-700:#ff4fa3;    /* verde más oscuro */
  --pgc-ink:#1f2937;         /* texto principal */
  --pgc-muted:#6b7280;
  --pgc-bg:#ffffff;
  --pgc-soft:#f3f7f5;        /* fondo muy claro */
  --pgc-border:#e6e8ec;
  --radius:16px;
  --shadow:0 10px 30px rgba(0,0,0,.08);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Inter, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
  color:var(--pgc-ink);
  background:var(--pgc-bg);
  line-height:1.6;
}

/* Layout helpers */
.pgc-container{
  width:min(1200px, 92vw);
  margin:auto;
}
.pgc-center{text-align:center}

.sr{position:absolute!important;left:-9999px}

/* HEADER */
.pgc-header{
  position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--pgc-border);
  box-shadow:0 2px 12px rgba(0,0,0,.03);
}
.pgc-header .pgc-container{
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;
}
.pgc-brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.pgc-brand-text{margin-left: -4px;margin-top: 10px; font-weight:800;font-size:2.00rem;color:var(--pgc-green-700)}
.pgc-brand-logo{width: 54px; height: 54px;}

.pgc-nav{display:flex;align-items:center;gap:24px}
.pgc-menu{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.pgc-menu a{color:#002f50;text-decoration:none;font-weight:600}
.pgc-menu a:hover{color:var(--pgc-green-700)}

.pgc-header-cta{display:flex;align-items:center;gap:14px}
.pgc-phone{font-weight:700;color:var(--pgc-ink);text-decoration:none}
.pgc-phone:hover{color:var(--pgc-green-700)}

.pgc-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:700;border:2px solid transparent;
  transition:.2s ease;
}
.pgc-btn-primary{
  background:linear-gradient(135deg,var(--pgc-green-600),var(--pgc-leaf-600));color:#fff;
}
.pgc-btn-primary:hover{filter:brightness(0.95)}
.pgc-btn-ghost{border-color:var(--pgc-green-600);color:var(--pgc-green-700);background:#fff}
.pgc-btn-ghost:hover{background:var(--pgc-soft)}

.pgc-nav-toggle{
  display:none; /* visible solo en móviles (abajo en @media) */
  background:#fff;
  border:2px solid #0f3d3a;          /* tono del logo */
  width:46px; height:46px;
  border-radius:12px;
  position:relative;
  cursor:pointer;
}
.pgc-burger, .pgc-burger::before, .pgc-burger::after{
  content:"";
  position:absolute; left:50%; transform:translateX(-50%);
  width:22px; height:2.5px;
  background:#0f3d3a;
  transition:transform .25s ease, top .25s ease, opacity .2s ease, background .25s ease;
}
.pgc-burger{ top:50%; }
.pgc-burger::before{ top:-7px; }
.pgc-burger::after { top: 7px; }

/* Estado ABIERTO -> X */
.pgc-nav-toggle[aria-expanded="true"] .pgc-burger{ background:transparent; }
.pgc-nav-toggle[aria-expanded="true"] .pgc-burger::before{
  top:0; transform:translateX(-50%) rotate(45deg);
}
.pgc-nav-toggle[aria-expanded="true"] .pgc-burger::after{
  top:0; transform:translateX(-50%) rotate(-45deg);
}

/* HERO ROTATOR */
.pgc-hero{width:100%;background:var(--pgc-soft)}
.pgc-hero-slider{position:relative;overflow:hidden}
.pgc-slide{
  position:relative;min-height:56vh;display:none;align-items:flex-end;
  background-position:center;background-size:cover;background-repeat:no-repeat;
  background-color:#000;
}
.pgc-slide::after{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.35));
}
.pgc-slide-active{display:flex}
.pgc-hero-content{
  position:relative;z-index:2;color:#fff;padding:36px;max-width:960px;margin:0 auto 40px auto;text-align:center;
}
.pgc-hero h1,.pgc-hero h2{margin:0 0 10px 0;font-weight:800;font-size:clamp(28px,4vw,48px)}
.pgc-hero p{margin:0 0 16px 0;font-size:clamp(16px,2.2vw,20px)}
.pgc-hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

.pgc-hero-prev,.pgc-hero-next{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;border:0;border-radius:999px;width:42px;height:42px;
  background:rgba(255,255,255,.9);cursor:pointer;font-size:22px;line-height:1;
}
.pgc-hero-prev{left:12px} .pgc-hero-next{right:12px}
.pgc-hero-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:14px;z-index:3;display:flex;gap:8px}
.pgc-hero-dots button{
  width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.7);cursor:pointer
}
.pgc-hero-dots button[aria-current="true"]{background:#fff}

/* VALUE BAND */
.pgc-band{background:#fff;border-bottom:1px solid var(--pgc-border)}
.pgc-band-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:18px 0;font-weight:700;color:var(--pgc-green-700)
}
.pgc-band-item{display:flex;align-items:center;justify-content:center;text-align:center}

/* SECTIONS */
.pgc-section{padding:64px 0}
.pgc-section-alt{background:var(--pgc-soft)}
.pgc-title{font-size:clamp(22px,2.5vw,32px);margin:0 0 24px 0;text-align:center}

/* SERVICES (básico, luego se re-define más abajo detallado) */
.pgc-services-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px
}
.pgc-card{
  background:#fff;border:1px solid var(--pgc-border);border-radius:var(--radius);padding:22px;
  box-shadow:var(--shadow);transition:transform .18s ease, box-shadow .18s ease;
}
.pgc-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.12)}
.pgc-card h3{margin:0 0 6px 0}

/* PROJECTS (base, luego se extiende) */
.pgc-projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pgc-project{border-radius:14px;aspect-ratio:16/9;background:#d1fae5}

/* REVIEWS */
.pgc-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pgc-review{
  background:#fff;border-left:6px solid var(--pgc-leaf-600);padding:18px 18px;border-radius:12px;box-shadow:var(--shadow)
}
.pgc-review span{display:block;margin-top:6px;color:var(--pgc-muted);font-weight:700}

/* QUOTE */
.pgc-quote-grid{display:grid;grid-template-columns:1.2fr ;gap:28px;align-items:start}
.pgc-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.pgc-form label{display:flex;flex-direction:column;font-weight:700;gap:6px}
.pgc-form input,.pgc-form select,.pgc-form textarea{
  padding:12px 14px;border-radius:10px;border:1px solid var(--pgc-border);font:inherit
}
.pgc-form textarea{grid-column:1/-1}

/* FOOTER */
.pgc-footer{background:#f1f1f1;color:#0D2147;margin-top:24px}
.pgc-footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:28px 0}
.pgc-footer-brand{display:flex;align-items:center;gap:10px;font-weight:800}
.footer-tex-logo{
  font-size: 20px; margin-left: -11px;
}

.pgc-foot-links{list-style:none;padding:0; margin-top: -20px; }
.pgc-foot-links li{margin:6px 0}
.pgc-foot-links a{color:#0D2147;text-decoration:none}
.pgc-foot-links a:hover{text-decoration:underline}

.pgc-social {
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: -15px;
}

.pgc-social a {
  color: #0D2147;
  margin-right: 12px;
  text-decoration: none;
  font-weight: 700;
  font-size: 20px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 0.2s ease;
}

.pgc-social a:hover {
  color: #ff4fa3; /* Adaptado */
}

.pgc-copy {
  text-align: center;
  border-top: 1px solid rgba(255,255,255,.15);
  padding: 12px 0;
  color: #cfe7e4;
}

/* Íconos Font Awesome (BRANDS) */
.pgc-social a::before {
  font-family: "Font Awesome 6 Brands";
  font-weight: 400;
  font-size: 18px;
}
.pgc-social a[href*="facebook"]::before  { content: "\f09a"; }
.pgc-social a[href*="instagram"]::before { content: "\f16d"; }
.pgc-social a[href*="linkedin"]::before  { content: "\f08c"; }
.pgc-social a[href*="youtube"]::before   { content: "\f167"; }

/* CTA fija en móviles */
.pgc-mobile-cta{
  position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 80;
  display: none; text-align: center; padding: 14px 18px; border-radius: 999px;
  background: linear-gradient(135deg, var(--pgc-green-600), var(--pgc-leaf-600));
  color:#fff; font-weight: 800; text-decoration: none; box-shadow: 0 10px 24px rgba(0,0,0,.25);
}
@media (max-width: 768px){
  .pgc-mobile-cta{ display: inline-block; }
}

/* Active link + sombra al hacer scroll */
.pgc-header.scrolled{ box-shadow: 0 10px 30px rgba(0,0,0,.08); }
.pgc-menu a.is-active{ color: var(--pgc-green-700); position: relative; }
.pgc-menu a.is-active::after{
  content:""; position:absolute; left:0; right:0; bottom:-6px; height:3px;
  background: linear-gradient(135deg, var(--pgc-green-600), var(--pgc-leaf-600)); border-radius: 2px;
}

/* Accordion */
.pgc-faq{max-width: 840px; margin: 0 auto;}
.pgc-acc{
  width:100%; text-align:left; border:1px solid var(--pgc-border);
  background:#fff; padding:14px 16px; border-radius:12px; margin:10px 0;
  font-weight:800; cursor:pointer; position:relative;
}
.pgc-acc::after{
  content:"+"; position:absolute; right:16px; top:50%; transform:translateY(-50%);
  font-weight:900; color:var(--pgc-green-700);
}
.pgc-acc[aria-expanded="true"]::after{ content:"–"; }
.pgc-panel{
  display:none; padding:10px 16px 14px; margin:-6px 0 8px; color:var(--pgc-ink);
  background:#fff; border:1px solid var(--pgc-border); border-top:none; border-radius:0 0 12px 12px;
}
.pgc-acc[aria-expanded="true"] + .pgc-panel{ display:block; }

/* === VALUE BAND mejorada con iconos circulares === */
.pgc-band {
  background: #f4f9f7;
  padding: 48px 0;
  text-align: center;
}
.pgc-band-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  align-items: center;
  justify-content: center;
}
.pgc-band-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #0f3d3a;
  font-size: 1rem;
  gap: 12px;
  transition: transform 0.3s ease;
}
.pgc-band-item:hover {
  transform: translateY(-4px);
}
.pgc-band-item i {
  font-size: 1.8rem;
  color: #fff;
  background: linear-gradient(135deg, #ff4fa3 0%, #c63a7d 100%);
  width: 70px;
  height: 70px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 14px rgba(0,0,0,0.15);
  transition: all 0.3s ease;
}
.pgc-band-item:hover i {
  transform: scale(1.1);
  box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}
.pgc-band-item span {
  display: block;
  margin-top: 8px;
  font-size: 1rem;
  color: #0D2147;
}

/* RESPONSIVE value band */
@media (max-width: 900px) {
  .pgc-band-grid {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
}
@media (max-width: 500px) {
  .pgc-band-grid {
    grid-template-columns: 1fr;
  }
}

/* === SERVICES con títulos enlazados y texto recortado === */
.pgc-services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 28px;
}
.pgc-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.06);
  padding: 0 0 20px;
  text-align: center;
  transition: all 0.3s ease;
  overflow: hidden;
}
.pgc-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}
.pgc-card img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 16px 16px 0 0;
  transition: transform 0.4s ease;
}
.pgc-card:hover img {
  transform: scale(1.05);
}
.pgc-card h3 {
  font-size: 1.2rem;
  margin: 18px 0 6px;
  font-weight: 800;
}
.pgc-card h3 a {
  color: #0D2147;
  text-decoration: none;
  transition: color 0.3s ease;
}
.pgc-card h3 a:hover {
  color: #ff4fa3;
}
.pgc-card p {
  color: #0D2147;
  font-size: 0.95rem;
  line-height: 1.5;
  padding: 0 16px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 3.2em;
  text-align: left;
}

/* Responsive services img */
@media (max-width: 600px) {
  .pgc-card img {
    height: 160px;
  }
}

/* === FEATURED PROJECTS === */
.pgc-projects-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin-bottom: 32px;
}
.pgc-project {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  cursor: pointer;
}
.pgc-project img {
  width: 100%;
  height: 230px;
  object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
}
.pgc-project:hover img {
  transform: scale(1.08);
}
.pgc-project-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15,61,58,0.0) 0%, rgba(15,61,58,0.8) 100%);
  color: #fff;
  opacity: 0;
  transition: opacity 0.4s ease;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
}
.pgc-project:hover .pgc-project-overlay {
  opacity: 1;
}
.pgc-project-overlay h3 {
  font-size: 1.2rem;
  font-weight: 800;
  margin: 0 0 4px 0;
}
.pgc-project-overlay p {
  font-size: 0.9rem;
  color: #eaf5ef;
  margin: 0;
}

/* Botón centrado genérico */
.pgc-center { text-align: center; }

.pgc-btn-ghost {
  display: inline-block;
  padding: 12px 28px;
  border: 2px solid #ff4fa3;
  color: #ff4fa3;
  border-radius: 30px;
  text-decoration: none;
  font-weight: 700;
  transition: all 0.3s ease;
}
.pgc-btn-ghost:hover {
  background: linear-gradient(135deg, #ff4fa3 0%, #c63a7d 100%);
  color: #fff;
  box-shadow: 0 4px 14px rgba(227, 5, 111, 0.3);
}

/* Responsive proyectos img */
@media (max-width: 600px) {
  .pgc-project img {
    height: 200px;
  }
}

/* Bloquear scroll del body cuando el drawer está abierto (si lo usas) */
body.no-scroll{ overflow:hidden; }

/* === GALLERY GRID === */
.pgc-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 18px;
}
.pgc-gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
}
.pgc-gallery-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.12);
}
.pgc-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 4 / 3;
  transition: transform 0.4s ease;
  display: block;
}
.pgc-gallery-item:hover img {
  transform: scale(1.05);
}

/* Responsive gallery */
@media (max-width: 600px) {
  .pgc-gallery-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* === LIGHTBOX / SLIDER DE GALERÍA === */
.pgc-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.9);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 3000;
}
.pgc-lightbox.is-open { display: flex; }

.pgc-lightbox-inner {
  position: relative;
  width: 100%;
  height: 100%;
  max-width: 96vw;
  max-height: 96vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.pgc-lightbox-figure {
  margin: 0;
  max-width: 96vw;
  max-height: 90vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pgc-lightbox-figure img {
  display: block;
  max-width: 100%;
  max-height: 90vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0,0,0,.4);
}
.pgc-lightbox-close,
.pgc-lightbox-prev,
.pgc-lightbox-next {
  position: absolute;
  border: 0;
  width: 44px; height: 44px;
  border-radius: 999px;
  background: rgba(255,255,255,.80);
  color: #000;
  font-size: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .2s ease, transform .2s ease;
  user-select: none;
}
.pgc-lightbox-close { top: 16px; right: 16px; }
.pgc-lightbox-prev  { left: 16px;  top: 50%; transform: translateY(-50%); }
.pgc-lightbox-next  { right: 16px; top: 50%; transform: translateY(-50%); }
.pgc-lightbox-close:hover,
.pgc-lightbox-prev:hover,
.pgc-lightbox-next:hover {
  background: rgba(255,255,255,.90);
  transform: translateY(-50%) scale(1.05);
}
.pgc-lightbox-close:hover { transform: scale(1.05); }
.pgc-lightbox-backdrop {
  position: absolute;
  inset: 0;
}

/* Ajuste proyectos sin fondo verde */
.pgc-project{
  background: transparent !important;
  aspect-ratio: auto !important;
}

/* ===== NAV + OVERLAY EN MÓVIL ===== */
@media (max-width: 768px){

  /* Hero: flechas un poco más arriba en móvil */
  .pgc-hero-prev,.pgc-hero-next{
    top:30%;
  }

  /* Grids a 1 columna en móvil */
  .pgc-services-grid,
  .pgc-projects-grid,
  .pgc-reviews-grid{
    grid-template-columns:1fr;
  }
  .pgc-quote-grid{grid-template-columns:1fr}

  /* Logo más compacto en móvil */
  .pgc-brand-text{
    font-weight:800;
    font-size:1.60rem;
    color:var(--pgc-green-700);
  }
  .pgc-brand-logo{width:44px;height:44px;}

  /* Ocultar menú horizontal, mostrar burger */
  .pgc-menu,
  .pgc-header-cta{
    display:none;
  }
  .pgc-nav-toggle{
    display:inline-block;
  }

  /* Drawer lateral */
  .pgc-nav {
    -webkit-tap-highlight-color: transparent;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 80%;
    background: #fff;
    transform: translateX(-100%);
    transition: transform .35s ease;
    z-index: 60;
    padding: 20px;
    box-shadow: 2px 0 2px rgba(0,0,0,.12);
    overflow-y: auto;
    border-top: 1px solid rgba(0,0,0,.12);
    margin-top: 74px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: flex-start;
    align-items: flex-start;
  }

  /* Drawer abierto cuando body tiene nav-open */
  body.nav-open .pgc-nav{
    transform: translateX(0);
  }

  /* Mostrar contenido del menú cuando el drawer está abierto */
  body.nav-open .pgc-nav .pgc-menu,
  body.nav-open .pgc-nav .pgc-header-cta {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
  }

  /* Overlay REAL (<div class="pgc-overlay">) */
  .pgc-overlay{
    position: fixed;
    inset: 0;

    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
    z-index: 55;
  }
  .pgc-overlay[hidden]{
    display:none !important;
  }
  body.nav-open .pgc-overlay{
    opacity: 1;
    pointer-events: auto;
  }

  /* Links dentro del drawer */
  .pgc-menu{ margin:14px 0 8px;}
  .pgc-menu a{
    color:#0f3d3a;
    font-weight:800;
    text-decoration:none;
    font-size:1.05rem;
  }
  .pgc-header-cta .pgc-btn{
    width:100%;
  }
  .pgc-phone{
    font-weight:800;
    color:#0f3d3a;
  }

  /* Footer en una sola columna */
  .pgc-footer-grid {
    grid-template-columns: 1fr !important;
    text-align: center;
    gap: 32px;
  }
  h4{
    margin-top: 10px;
    font-size: 18px;
    width: 90%;
  }
  .footer-tex-logo{
    font-size: 25px; margin-left: -10px;
  }
  .pgc-footer-grid > div {
    margin: 0 auto;
    margin-top: -20px;
    padding-top: -20px;
  }
  .pgc-foot-links {
    margin-top: -20px;
    display: inline-block;
    text-align: left;
    margin-bottom: -200px;
  }
  .pgc-social {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: -20px;
    margin-bottom: 1px;
  }

  /* Formulario 1 columna en móvil */
  .pgc-form{
    grid-template-columns: 1fr !important;
  }
  .pgc-form textarea{
    grid-column: auto !important;
  }
  .pgc-form label{
    width: 100%;
  }
  .pgc-form input,
  .pgc-form select,
  .pgc-form textarea{
    width: 100%;
    min-width: 0;
  }
  .pgc-form button[type="submit"]{
    grid-column: 1 / -1;
    width: 100%;
  }
}


.pgc-form input,
.pgc-form select,
.pgc-form textarea {
  font-weight: 400 !important;  /* normal */
  color: #1f2937;               /* igual que el texto general */
}

/* Placeholders también más suaves */
.pgc-form input::placeholder,
.pgc-form textarea::placeholder {
  font-weight: 400;
  color: #9ca3af;   /* gris suave */
}

