:root{ 
  --bg-black:#0b0b0b;
  --bg-dark:#121212;
  --gold:#c7a76a;
  --gold2:#b8934f;
  --text:#f3f3f3;
  --muted:#cfcfcf;

  /* =========================
     NOTCH / CORTES
     HERO Y SERVICES DEBEN EMPATAR
  ========================= */
  --hero-notch-desktop:99px;
  --hero-notch-desktop-neg:-99px;
  --hero-notch-mobile:64px;
  --hero-notch-mobile-neg:-64px;

  --section-bottom-notch-desktop:62px;
  --section-bottom-notch-mobile:48px;
}

/* =========================================================
   BASE
========================================================= */

.efp{
  background:var(--bg-black);
  color:var(--text);
}

.efp-container{
  width:min(1180px, 92%);
  margin:0 auto;
}

/* =========================================================
   HERO
========================================================= */

.efp-hero{
  position:relative;
  z-index:1;
  min-height:82vh;
  background-size:cover;
  background-position:center 38%;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  text-align:center;
  overflow:hidden;
  isolation:isolate;
  filter:none;
}

/* Oscurecido elegante general del hero */
.efp-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg, rgba(0,0,0,.34) 0%, rgba(0,0,0,.16) 26%, rgba(0,0,0,.30) 100%),
    linear-gradient(90deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,0) 22%, rgba(0,0,0,0) 78%, rgba(0,0,0,.18) 100%);
}

/* Corte negro inferior del hero */
.efp-hero::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:100%;
  height:150px;
  background:#0b0b0b;
  clip-path:polygon(
    0 calc(100% - var(--hero-notch-desktop)),
    50% 100%,
    100% calc(100% - var(--hero-notch-desktop)),
    100% 100%,
    0 100%
  );
  z-index:3;
}

.efp-hero__overlay{
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(
    180deg,
    rgba(0,0,0,.08) 0%,
    rgba(0,0,0,.06) 44%,
    rgba(0,0,0,.18) 100%
  );
}

.efp-hero__inner{
  position:relative;
  z-index:4;
  max-width:760px;
  padding:120px 20px 150px;
  transform:translateY(-4px);
}

.efp-hero__title{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(34px, 4.4vw, 62px);
  letter-spacing:.045em;
  line-height:.98;
  text-transform:uppercase;
  text-shadow:0 2px 14px rgba(0,0,0,.24);
}

.efp-hero__meta{
  margin-bottom:26px;
  color:rgba(231,214,181,.82);
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  line-height:1.7;
}

/* =========================================================
   ACCIONES DE BOTONES
   HERO Y QUOTE FINAL
========================================================= */

.efp-hero__actions,
.efp-quote__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:18px;
}

.efp-quote__actions{
  margin-top:18px;
}

.efp-hero__actions .efp-btn,
.efp-quote__actions .efp-btn{
  width:170px;
  min-height:50px;
  margin:0;
}

/* =========================================================
   BOTONES
========================================================= */

.efp-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  padding:14px 28px;
  border-radius:0;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-decoration:none !important;
  transition:all .25s ease;
}

.efp-btn--gold{
  border:1px solid var(--gold);
  color:#e3c78d;
  background:rgba(10,10,10,.52);
  box-shadow:0 0 0 1px rgba(199,167,106,.08) inset;
}

.efp-btn--gold:hover{
  color:#111;
  background:var(--gold);
}

.efp-btn--ghost{
  position:relative;
  border:2px solid rgba(199,167,106,.72);
  color:#d7b677;
  background:
    linear-gradient(180deg, rgba(15,15,15,.88), rgba(8,8,8,.94));
  box-shadow:
    0 10px 22px rgba(0,0,0,.25),
    0 0 0 1px rgba(255,231,177,.08) inset;
}

.efp-btn--ghost::before{
  content:"";
  position:absolute;
  inset:5px;
  border:1px solid rgba(199,167,106,.30);
  pointer-events:none;
}

.efp-btn--ghost:hover{
  color:#111;
  background:var(--gold);
  border-color:var(--gold);
}

.efp-center{
  text-align:center;
  margin-top:0;
}

/* =========================================================
   TRUST / BADGES
   DEBAJO DE LOS BOTONES DENTRO DEL HERO
========================================================= */

.efp-trust{
  text-align:center;
}

.efp-trust--hero{
  margin-top:22px;
  padding:0;
  background:transparent;
  width:min(760px, 92%);
  margin-left:auto;
  margin-right:auto;
  position:relative;
  z-index:5;
}

.efp-trust__ornament{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:100%;
  margin:0 auto 18px;
}

.efp-trust__line{
  flex:1;
  height:1px;
  background:linear-gradient(
    90deg,
    rgba(199,167,106,0),
    rgba(199,167,106,.95),
    rgba(199,167,106,0)
  );
}

.efp-trust__diamond{
  width:10px;
  height:10px;
  flex:0 0 10px;
  background:var(--gold);
  transform:rotate(45deg);
  box-shadow:0 0 8px rgba(199,167,106,.30);
}

.efp-trust__grid--2{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  width:100%;
  margin:0 auto;
}

.efp-trust__item{
  position:relative;
  padding:6px 26px 0;
}

.efp-trust__item + .efp-trust__item::before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  bottom:4px;
  width:1px;
  background:rgba(199,167,106,.28);
}

.efp-trust__icon{
  color:var(--gold);
  margin-bottom:10px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
}

.efp-trust__stars{
  font-size:28px;
  letter-spacing:3px;
}

.efp-trust__pin svg{
  width:30px;
  height:30px;
  display:block;
}

.efp-trust__title{
  color:#f7f3eb;
  font-size:clamp(18px, 2vw, 28px);
  line-height:1.12;
  text-shadow:0 1px 2px rgba(0,0,0,.22);
}

/* =========================================================
   SECCIÓN NEGRA / SERVICES WRAP
========================================================= */

.efp-section{
  position:relative;
  padding:70px 0;
  overflow:hidden;
}

.efp-section--dark{
  position:relative;
  z-index:4;
  margin-top:var(--hero-notch-desktop-neg);
  top:-1px;
  padding:187px 0 145px;
  background:#0b0b0b;
  clip-path:polygon(
    0 0,
    50% var(--hero-notch-desktop),
    100% 0,
    100% calc(100% - var(--section-bottom-notch-desktop)),
    50% 100%,
    0 calc(100% - var(--section-bottom-notch-desktop))
  );
}

.efp-section--dark .efp-container{
  position:relative;
  top:0 !important;
}

/* Fondo negro base */
.efp-section--dark::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:#0b0b0b;
  pointer-events:none;
}

/* Sombra elegante sobre negro */
.efp-section--dark::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg, rgba(8,8,8,.10) 0%, rgba(8,8,8,.20) 100%),
    radial-gradient(circle at center, rgba(255,255,255,.02) 0%, rgba(0,0,0,.18) 100%);
  pointer-events:none;
}

.efp-section--dark > *{
  position:relative;
  z-index:2;
}

/* =========================================================
   CARDS / SERVICES
========================================================= */

.efp-cards{
  width:min(1210px, 96%);
  margin:38px auto 80px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:34px;
}

.efp-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:8px;
  background-image:url("/wp-content/themes/Elite-Finish-Pro/assets/images/Marmol.png?v=4");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  border:2px solid rgba(199,167,106,.72);
  box-shadow:
    0 16px 36px rgba(0,0,0,.46),
    0 0 0 1px rgba(255,232,188,.10) inset;
  overflow:hidden;
  transition:
    transform .35s ease,
    border-color .35s ease,
    box-shadow .35s ease;
}

.efp-card::before{
  display:none;
}

/* Frame interno eliminado para simplificar */
.efp-card::after{
  display:none;
}

.efp-card:hover{
  transform:translateY(-8px);
  border-color:rgba(199,167,106,.95);
  box-shadow:
    0 22px 44px rgba(0,0,0,.56),
    0 0 0 1px rgba(255,232,188,.16) inset;
}

.efp-card__img{
  position:relative;
  z-index:2;
  width:calc(100% - 18px);
  height:270px;
  margin:9px 9px 0;
  overflow:hidden;
  border:1px solid rgba(199,167,106,.56);
  background-image:none;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:145% auto !important;
  background-color:#0f0f0f;
  transition:transform .45s ease, filter .30s ease;
}

.efp-card:nth-child(1) .efp-card__img{
  background-position:center 62% !important;
  background-size:150% auto !important;
}

.efp-card:nth-child(2) .efp-card__img{
  background-position:center 38% !important;
  background-size:155% auto !important;
}

.efp-card:nth-child(3) .efp-card__img{
  background-position:center 45% !important;
  background-size:150% auto !important;
}

.efp-card:hover .efp-card__img{
  transform:scale(1.015);
  filter:contrast(1.03) saturate(1.03);
}

.efp-card--noimg .efp-card__img{
  min-height:270px;
  background:
    linear-gradient(135deg, rgba(199,167,106,.10), rgba(255,255,255,.02)),
    #111;
}

/* =========================================================
   CONTENIDO DE LAS CARDS
========================================================= */

.efp-card__body{
  position:relative;
  z-index:2;
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:18px 22px 24px;
  text-align:center;
  background:transparent;
}

.efp-card__title{
  margin:0 0 10px;
  color:#ead9b4;
  font-size:clamp(18px, 1.34vw, 28px);
  letter-spacing:.03em;
  line-height:1.32;
  text-transform:uppercase;
  text-shadow:0 1px 2px rgba(0,0,0,.36);
}

.efp-card__ornament{
  position:relative;
  width:92px;
  height:14px;
  margin:0 auto 14px;
}

.efp-card__ornament::before,
.efp-card__ornament::after{
  content:"";
  position:absolute;
  top:50%;
  width:38px;
  height:1px;
  background:rgba(199,167,106,.78);
  transform:translateY(-50%);
}

.efp-card__ornament::before{
  left:0;
}

.efp-card__ornament::after{
  right:0;
}

.efp-card__ornament span{
  position:absolute;
  left:50%;
  top:50%;
  width:7px;
  height:7px;
  background:var(--gold);
  transform:translate(-50%, -50%) rotate(45deg);
  box-shadow:0 0 10px rgba(199,167,106,.35);
}

.efp-card__desc{
  margin:0;
  color:#f0ece4;
  line-height:1.58;
  font-size:15px;
  text-shadow:0 1px 2px rgba(0,0,0,.28);
}

/* =========================================================
   PROJECT GRID
========================================================= */

.efp-section--black{
  background:#0b0b0b;
}

.efp-grid{
  margin-top:26px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}

.efp-grid__item{
  position:relative;
  display:block;
  border:1px solid rgba(199,167,106,.24);
  background:rgba(255,255,255,.05);
  box-shadow:0 14px 30px rgba(0,0,0,.24);
  overflow:hidden;
  text-decoration:none;
  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
}

.efp-grid__item::before{
  content:"";
  position:absolute;
  inset:8px;
  border:1px solid rgba(199,167,106,.12);
  pointer-events:none;
  z-index:1;
}

.efp-grid__item:hover{
  transform:translateY(-5px);
  border-color:rgba(199,167,106,.52);
  box-shadow:0 20px 40px rgba(0,0,0,.30);
}

.efp-grid__img{
  width:100%;
  height:250px;
  overflow:hidden;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:cover !important;
  transition:transform .4s ease, filter .3s ease;
  background-color:#111;
}

.efp-grid__item:hover .efp-grid__img{
  transform:scale(1.05);
  filter:contrast(1.04) saturate(1.04);
}

/* =========================================================
   TEXTOS GENERALES
========================================================= */

.efp-h2{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin:0 0 14px;
  color:#d8b67a;
  text-align:center;
  font-size:clamp(29px, 2.7vw, 46px);
  letter-spacing:.08em;
  text-transform:uppercase;
  text-shadow:0 1px 2px rgba(0,0,0,.30);
}

.efp-h2::before,
.efp-h2::after{
  content:"";
  width:72px;
  height:1px;
  flex:0 0 72px;
  background:linear-gradient(
    90deg,
    rgba(199,167,106,0),
    rgba(199,167,106,.76),
    rgba(199,167,106,0)
  );
}

.efp-section--dark .efp-h2{
  margin-top:58px;
}

.efp-sub{
  max-width:980px;
  margin:0 auto 40px;
  color:rgba(255,255,255,.84);
  text-align:center;
  line-height:1.45;
  font-size:clamp(17px, 1.15vw, 19px);
  text-shadow:0 1px 3px rgba(0,0,0,.28);
}

.efp-quote{
  margin-top:42px;
  padding-top:22px;
  border-top:1px solid rgba(199,167,106,.18);
  text-align:center;
}

.efp-h3{
  margin:0 0 8px;
  color:#fff;
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width:980px){
  .efp-hero{
    min-height:70vh;
    background-position:center center;
  }

  .efp-hero__inner{
    padding:100px 18px 120px;
    transform:none;
  }

  .efp-hero__title{
    font-size:clamp(34px, 9vw, 52px);
    line-height:1.02;
  }

  .efp-hero__actions,
  .efp-quote__actions{
    gap:12px;
  }

  .efp-hero__actions .efp-btn,
  .efp-quote__actions .efp-btn{
    width:160px;
    min-height:48px;
  }

  .efp-hero::after{
    height:110px;
    clip-path:polygon(
      0 calc(100% - var(--hero-notch-mobile)),
      50% 100%,
      100% calc(100% - var(--hero-notch-mobile)),
      100% 100%,
      0 100%
    );
  }

  .efp-trust--hero{
    margin-top:18px;
    width:min(620px, 94%);
  }

  .efp-trust__ornament{
    gap:12px;
    margin-bottom:16px;
  }

  .efp-trust__item{
    padding:0 18px;
  }

  .efp-trust__stars{
    font-size:24px;
    letter-spacing:2px;
  }

  .efp-trust__pin svg{
    width:26px;
    height:26px;
  }

  .efp-trust__title{
    font-size:clamp(16px, 4vw, 24px);
  }

  .efp-section--dark{
    margin-top:var(--hero-notch-mobile-neg);
    top:-1px;
    padding:148px 0 120px;
    clip-path:polygon(
      0 0,
      50% var(--hero-notch-mobile),
      100% 0,
      100% calc(100% - var(--section-bottom-notch-mobile)),
      50% 100%,
      0 calc(100% - var(--section-bottom-notch-mobile))
    );
  }

  .efp-section--dark .efp-container{
    position:relative;
    top:0 !important;
  }

  .efp-cards{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:56px;
    width:min(620px, 92%);
    margin:38px auto 56px;
  }

  .efp-card{
    margin:0;
    min-height:0;
    height:auto;
    flex:0 0 auto;
  }

  .efp-card__body{
    flex:0 0 auto;
    justify-content:flex-start;
  }

  .efp-center{
    margin-top:0;
  }

  .efp-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .efp-card__img{
    height:250px;
    background-size:cover !important;
    background-position:center center !important;
  }

  .efp-card:nth-child(1) .efp-card__img{
    background-position:center 62% !important;
    background-size:cover !important;
  }

  .efp-card:nth-child(2) .efp-card__img{
    background-position:center 38% !important;
    background-size:cover !important;
  }

  .efp-card:nth-child(3) .efp-card__img{
    background-position:center 45% !important;
    background-size:cover !important;
  }

  .efp-grid__img{
    height:230px;
  }

  .efp-h2::before,
  .efp-h2::after{
    width:36px;
    flex-basis:36px;
  }

  .efp-section--dark .efp-h2{
    margin-top:34px;
  }
}

@media (max-width:640px){
  .efp-trust__grid--2{
    grid-template-columns:1fr;
    gap:20px;
  }

  .efp-trust__item{
    padding:0;
  }

  .efp-trust__item + .efp-trust__item::before{
    display:none;
  }

  .efp-grid{
    grid-template-columns:1fr;
  }

  .efp-hero__actions .efp-btn,
  .efp-quote__actions .efp-btn{
    width:min(280px, 100%);
  }
}

/* =========================================================
   TOUCH FIX
   EVITA QUE LAS CARDS "SALTEN" EN iPHONE / TOUCH
========================================================= */

@media (hover:none), (pointer:coarse){
  .efp-card:hover{
    transform:none !important;
  }

  .efp-card:hover .efp-card__img{
    transform:none !important;
    filter:none !important;
  }
}