/* GUÍA DE PRECIOS DE ROTULACIÓN · V3
   Hoja específica completa para /cuanto-cuesta-rotular-un-local-barcelona.php */

:root{
  --pr-orange:var(--orange,#f97316);
  --pr-orange-dark:var(--orange-dark,#d95706);
  --pr-black:#0b0b0b;
  --pr-dark:#121212;
  --pr-bg:#f3f0eb;
  --pr-card:#f8f6f2;
  --pr-text:#151515;
  --pr-muted:#625e58;
  --pr-line:#d8d1c8;
  --pr-shadow:0 28px 70px rgba(0,0,0,.18);
}

#rangos-precio,
#partidas,
#faq,
#contacto{
  scroll-margin-top:110px;
}

.price-guide-hero,
.price-guide-intro,
.price-guide-ranges,
.price-guide-visual-banner,
.price-guide-factors,
.price-guide-examples,
.price-guide-included,
.price-guide-case,
.price-guide-saving,
.price-guide-related{
  position:relative;
}

.price-guide-hero *,
.price-guide-intro *,
.price-guide-ranges *,
.price-guide-visual-banner *,
.price-guide-factors *,
.price-guide-examples *,
.price-guide-included *,
.price-guide-case *,
.price-guide-saving *,
.price-guide-related *{
  min-width:0;
}

/* HERO */
.price-guide-hero{
  overflow:hidden;
  background:var(--pr-black);
  color:#fff;
  border-bottom:1px solid #242424;
}

.price-guide-hero::after{
  content:"";
  position:absolute;
  right:-13vw;
  bottom:-20vw;
  width:50vw;
  height:50vw;
  border:1px solid rgba(249,115,22,.14);
  border-radius:50%;
  pointer-events:none;
}

.price-guide-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.96fr) minmax(430px,.84fr);
  gap:clamp(3rem,6vw,7rem);
  align-items:center;
  padding-top:clamp(10.5rem,13vw,12rem);
  padding-bottom:clamp(5rem,7vw,7rem);
}

.price-guide-hero-copy{min-width:0}

.price-guide-hero h1{
  max-width:890px;
  margin:.65rem 0 1.4rem;
  color:#fff;
  font-size:clamp(3.65rem,6.1vw,6.5rem);
  line-height:.9;
  letter-spacing:-.057em;
  text-wrap:balance;
}

.price-guide-hero-lead{
  max-width:760px;
  margin:0 0 1rem;
  color:#fff;
  font-size:clamp(1.36rem,2vw,1.95rem);
  font-weight:800;
  line-height:1.36;
}

.price-guide-hero-copy>p:not(.price-guide-hero-lead){
  max-width:720px;
  margin:0;
  color:#c9c9c9;
  font-size:1.08rem;
  line-height:1.75;
}

.price-guide-hero .hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:2rem;
}

.price-guide-hero-tags{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:2.2rem 0 0;
  padding:0;
  list-style:none;
}

.price-guide-hero-tags li{
  padding:.64rem .96rem;
  border:1px solid #393939;
  border-radius:999px;
  color:#f5f5f5;
  font-size:.77rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.price-guide-hero-media{
  position:relative;
  margin:0;
  padding:2rem 0 0 2rem;
}

.price-guide-hero-media>span{
  position:absolute;
  inset:0 2.4rem 2.5rem 0;
  border:4px solid var(--pr-orange);
}

.price-guide-hero-media img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  box-shadow:var(--pr-shadow);
}

.price-guide-hero-media figcaption{
  position:relative;
  z-index:2;
  width:min(90%,460px);
  margin:-5rem 0 0 auto;
  padding:1.45rem 1.6rem;
  background:#111;
  color:#fff;
}

.price-guide-hero-media figcaption strong,
.price-guide-hero-media figcaption small{
  display:block;
}

.price-guide-hero-media figcaption strong{
  font-size:1rem;
  line-height:1.4;
}

.price-guide-hero-media figcaption small{
  margin-top:.48rem;
  color:#bbb;
  line-height:1.55;
}

/* TRUST + BREADCRUMB */
.price-guide-trust{
  background:var(--pr-orange);
  color:#fff;
}

.price-guide-trust-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.price-guide-trust-grid>div{
  padding:1.45rem 1.35rem;
  border-right:1px solid rgba(255,255,255,.3);
}

.price-guide-trust-grid>div:last-child{border-right:0}
.price-guide-trust strong,
.price-guide-trust span{display:block}
.price-guide-trust strong{font-size:1.02rem}
.price-guide-trust span{
  margin-top:.25rem;
  color:#fff0e5;
  font-size:.85rem;
}

.price-guide-breadcrumb{
  background:#111;
  color:#c9c9c9;
  border-top:1px solid #242424;
  border-bottom:1px solid #242424;
}

.price-guide-breadcrumb-inner{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.6rem;
  min-height:64px;
  font-size:.9rem;
  font-weight:700;
}

.price-guide-breadcrumb a{
  color:#ff9b59;
  text-decoration:none;
}

.price-guide-breadcrumb a:hover{text-decoration:underline}
.price-guide-breadcrumb span[aria-current]{color:#fff}

/* INTRO */
.price-guide-intro{background:var(--pr-bg)}

.price-guide-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(370px,.92fr);
  gap:clamp(3.5rem,7vw,8rem);
  align-items:center;
}

.price-guide-intro-copy h2,
.price-guide-ranges h2,
.price-guide-examples h2,
.price-guide-related h2{
  margin:.65rem 0 1.35rem;
  font-size:clamp(2.85rem,4.9vw,5.35rem);
  line-height:.97;
  letter-spacing:-.047em;
  text-wrap:balance;
}

.price-guide-intro-copy p{
  color:var(--pr-muted);
  font-size:1.06rem;
  line-height:1.82;
}

.price-guide-intro-media{
  position:relative;
  margin:0;
  padding:0 2rem 2rem 0;
}

.price-guide-intro-media>span{
  position:absolute;
  inset:2rem 0 0 2rem;
  border:4px solid var(--pr-orange);
}

.price-guide-intro-media img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
}

.price-guide-intro-media figcaption{
  position:relative;
  z-index:2;
  width:min(90%,450px);
  margin:-4.6rem auto 0 0;
  padding:1.4rem 1.55rem;
  background:#111;
  color:#fff;
}

.price-guide-intro-media figcaption strong,
.price-guide-intro-media figcaption small{display:block}
.price-guide-intro-media figcaption small{
  margin-top:.42rem;
  color:#bbb;
  line-height:1.52;
}

/* PRICE RANGES */
.price-guide-ranges{background:#fff}

.price-guide-ranges-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.35rem;
  margin-top:3rem;
}

.price-guide-range-card{
  display:grid;
  grid-template-columns:minmax(210px,.82fr) minmax(0,1.18fr);
  min-height:455px;
  overflow:hidden;
  background:var(--pr-card);
  border:1px solid var(--pr-line);
}

.price-guide-range-card img{
  width:100%;
  height:100%;
  min-height:455px;
  object-fit:cover;
}

.price-guide-range-card>div{
  display:flex;
  flex-direction:column;
  padding:clamp(1.7rem,3vw,2.5rem);
}

.price-guide-range-card>div>span{
  color:var(--pr-orange-dark);
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.1em;
}

.price-guide-range-card h3{
  margin:1.3rem 0 .45rem;
  font-size:clamp(1.7rem,2.5vw,2.35rem);
  line-height:1.04;
  letter-spacing:-.035em;
}

.price-guide-price{
  margin:.25rem 0 1rem;
  color:#111!important;
  font-size:clamp(2rem,3.4vw,3.2rem)!important;
  font-weight:950;
  line-height:1;
  letter-spacing:-.045em;
}

.price-guide-range-card p:not(.price-guide-price){
  color:var(--pr-muted);
  line-height:1.68;
}

.price-guide-range-card ul{
  margin:1.15rem 0 0;
  padding:1.15rem 0 0;
  list-style:none;
  border-top:1px solid var(--pr-line);
}

.price-guide-range-card li{
  position:relative;
  padding:.36rem 0 .36rem 1.15rem;
  color:#4f4a45;
  font-size:.94rem;
}

.price-guide-range-card li::before{
  content:"";
  position:absolute;
  left:0;
  top:.78rem;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--pr-orange);
}

.price-guide-range-card small{
  display:block;
  margin-top:auto;
  padding-top:1.2rem;
  color:#77716a;
  font-size:.82rem;
  line-height:1.55;
}

.price-guide-range-featured{
  grid-column:1/-1;
  grid-template-columns:minmax(340px,.88fr) minmax(0,1.12fr);
  background:#111;
  color:#fff;
  border-color:#111;
}

.price-guide-range-featured>div>span{color:#ff9b59}
.price-guide-range-featured h3,
.price-guide-range-featured .price-guide-price{color:#fff!important}
.price-guide-range-featured p:not(.price-guide-price),
.price-guide-range-featured li,
.price-guide-range-featured small{color:#c7c7c7}
.price-guide-range-featured ul{border-color:#333}
.price-guide-range-featured li::before{background:#ff9b59}

.price-guide-ranges-note{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:1.5rem;
  margin-top:1.35rem;
  padding:1.5rem 1.7rem;
  background:#f5ece4;
  border-left:5px solid var(--pr-orange);
}

.price-guide-ranges-note strong{
  color:#111;
  font-size:.85rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.price-guide-ranges-note p{
  margin:0;
  color:#5d5750;
  line-height:1.65;
}

/* VISUAL BANNER */
.price-guide-visual-banner{
  min-height:720px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#111;
  color:#fff;
}

.price-guide-visual-banner>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
}

.price-guide-visual-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.82) 45%,rgba(0,0,0,.15) 88%);
}

.price-guide-visual-content{
  position:relative;
  z-index:2;
  padding-block:7rem;
}

.price-guide-visual-content h2{
  max-width:900px;
  margin:.7rem 0 1.4rem;
  color:#fff;
  font-size:clamp(3.05rem,5.55vw,6.25rem);
  line-height:.94;
  letter-spacing:-.052em;
  text-wrap:balance;
}

.price-guide-visual-content p{
  max-width:730px;
  color:#d4d4d4;
  font-size:1.12rem;
  line-height:1.74;
}

.price-guide-visual-content .btn{margin-top:1rem}

/* FACTORS */
.price-guide-factors{
  background:#111;
  color:#fff;
}

.price-guide-factors-grid{
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  gap:clamp(3.5rem,8vw,8rem);
  align-items:start;
}

.price-guide-factors-copy{
  position:sticky;
  top:125px;
}

.price-guide-factors-copy h2{
  margin:.7rem 0 1.35rem;
  color:#fff;
  font-size:clamp(3rem,5vw,5.55rem);
  line-height:.96;
  letter-spacing:-.05em;
  text-wrap:balance;
}

.price-guide-factors-copy p{
  color:#aaa;
  line-height:1.75;
}

.price-guide-factors-copy .btn{margin-top:1.25rem}

.price-guide-factors-list{
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid #333;
}

.price-guide-factors-list li{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:1.4rem;
  padding:1.65rem 0;
  border-bottom:1px solid #333;
}

.price-guide-factors-list>li>span{
  color:var(--pr-orange);
  font-size:1.08rem;
  font-weight:950;
}

.price-guide-factors-list strong{
  display:block;
  color:#fff;
  font-size:1.34rem;
}

.price-guide-factors-list p{
  margin:.35rem 0 0;
  color:#aaa;
  line-height:1.6;
}

/* EXAMPLES */
.price-guide-examples{background:var(--pr-bg)}

.price-guide-examples-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem;
  margin-top:3rem;
}

.price-guide-examples-grid article{
  display:flex;
  flex-direction:column;
  min-height:510px;
  padding:2.2rem;
  background:#fff;
  border-top:4px solid #d5cec5;
}

.price-guide-examples-grid article>span{
  color:var(--pr-orange-dark);
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.1em;
}

.price-guide-examples-grid h3{
  margin:2rem 0 .8rem;
  font-size:2rem;
  line-height:1.05;
  letter-spacing:-.035em;
}

.price-guide-example-price{
  margin:.1rem 0 1.2rem;
  color:#111;
  font-size:2.25rem;
  font-weight:950;
  letter-spacing:-.04em;
}

.price-guide-examples-grid ul{
  margin:0 0 1.5rem;
  padding:0;
  list-style:none;
}

.price-guide-examples-grid li{
  position:relative;
  padding:.42rem 0 .42rem 1.2rem;
  color:#514c46;
}

.price-guide-examples-grid li::before{
  content:"";
  position:absolute;
  left:0;
  top:.83rem;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--pr-orange);
}

.price-guide-examples-grid strong{
  margin-top:auto;
  padding-top:1.2rem;
  border-top:1px solid var(--pr-line);
  color:#111;
  font-size:.8rem;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.price-guide-examples-grid strong+p{
  margin:.45rem 0 0;
  color:var(--pr-muted);
  line-height:1.6;
}

.price-guide-examples-grid .price-guide-example-featured{
  background:var(--pr-orange);
  color:#fff;
  border-top-color:#111;
}

.price-guide-example-featured>span,
.price-guide-example-featured h3,
.price-guide-example-featured .price-guide-example-price,
.price-guide-example-featured strong{
  color:#fff;
}

.price-guide-example-featured li,
.price-guide-example-featured strong+p{color:#fff4ea}
.price-guide-example-featured li::before{background:#111}
.price-guide-example-featured strong{border-color:rgba(255,255,255,.35)}

/* INCLUDED */
.price-guide-included{background:#fff}

.price-guide-included-grid{
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  gap:clamp(3.5rem,8vw,8rem);
}

.price-guide-included-heading h2{
  margin:.7rem 0 1.25rem;
  font-size:clamp(3rem,5vw,5.5rem);
  line-height:.96;
  letter-spacing:-.05em;
  text-wrap:balance;
}

.price-guide-included-heading p{
  color:var(--pr-muted);
  line-height:1.75;
}

.price-guide-included-list{
  border-top:1px solid var(--pr-line);
}

.price-guide-included-list article{
  display:grid;
  grid-template-columns:70px 1fr;
  gap:1.35rem;
  padding:1.7rem 0;
  border-bottom:1px solid var(--pr-line);
}

.price-guide-included-list>article>span{
  color:var(--pr-orange);
  font-weight:950;
}

.price-guide-included-list h3{
  margin:0 0 .45rem;
  font-size:1.5rem;
}

.price-guide-included-list p{
  margin:0;
  color:var(--pr-muted);
  line-height:1.6;
}

/* CASE */
.price-guide-case{
  background:var(--pr-black);
  color:#fff;
}

.price-guide-case-grid{
  display:grid;
  grid-template-columns:minmax(390px,.82fr) minmax(0,1.18fr);
  gap:clamp(4rem,8vw,9rem);
  align-items:center;
}

.price-guide-case-media{
  position:relative;
  margin:0;
  padding:2rem 0 0 2rem;
}

.price-guide-case-media>span{
  position:absolute;
  inset:0 2.2rem 2.4rem 0;
  border:4px solid var(--pr-orange);
}

.price-guide-case-media img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
}

.price-guide-case-media figcaption{
  position:relative;
  z-index:2;
  display:inline-block;
  margin:-2rem 0 0 -1rem;
  padding:.9rem 1.2rem;
  background:var(--pr-orange);
  color:#fff;
  font-weight:900;
}

.price-guide-case-copy h2{
  margin:.7rem 0 1.3rem;
  color:#fff;
  font-size:clamp(3rem,5vw,5.6rem);
  line-height:.96;
  letter-spacing:-.05em;
  text-wrap:balance;
}

.price-guide-case-copy>p{
  color:#bbb;
  font-size:1.08rem;
  line-height:1.75;
}

.price-guide-case-copy dl{
  margin:2rem 0 2.3rem;
  border-top:1px solid #303030;
}

.price-guide-case-copy dl div{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:1rem;
  padding:1.15rem 0;
  border-bottom:1px solid #303030;
}

.price-guide-case-copy dt{
  color:#ff9b59;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.price-guide-case-copy dd{
  margin:0;
  color:#ddd;
}

/* SAVING */
.price-guide-saving{background:var(--pr-bg)}

.price-guide-saving-grid{
  display:grid;
  grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);
  gap:clamp(3.5rem,8vw,8rem);
}

.price-guide-saving-copy h2{
  margin:.7rem 0 1.25rem;
  font-size:clamp(3rem,5vw,5.45rem);
  line-height:.96;
  letter-spacing:-.05em;
  text-wrap:balance;
}

.price-guide-saving-copy p{
  color:var(--pr-muted);
  line-height:1.75;
}

.price-guide-saving-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:var(--pr-line);
  border:1px solid var(--pr-line);
}

.price-guide-saving-cards article{
  min-height:300px;
  padding:2rem;
  background:#fff;
}

.price-guide-saving-cards article:nth-child(2),
.price-guide-saving-cards article:nth-child(3){background:#f8f5f0}

.price-guide-saving-cards span{
  color:var(--pr-orange);
  font-weight:950;
}

.price-guide-saving-cards h3{
  margin:2rem 0 .9rem;
  font-size:1.65rem;
  line-height:1.08;
}

.price-guide-saving-cards p{
  margin:0;
  color:var(--pr-muted);
  line-height:1.68;
}

.price-guide-faq{background:#fff}
.price-guide-related{background:var(--pr-bg)}

/* RESPONSIVE */
@media(max-width:1180px){
  .price-guide-hero-grid,
  .price-guide-intro-grid,
  .price-guide-factors-grid,
  .price-guide-included-grid,
  .price-guide-case-grid,
  .price-guide-saving-grid{
    grid-template-columns:1fr;
  }

  .price-guide-hero-media,
  .price-guide-intro-media,
  .price-guide-case-media{
    width:min(86%,650px);
    margin-inline:auto;
  }

  .price-guide-factors-copy{position:static}

  .price-guide-ranges-grid{grid-template-columns:1fr}
  .price-guide-range-featured{grid-column:auto}

  .price-guide-examples-grid{grid-template-columns:1fr}
  .price-guide-examples-grid article{min-height:auto}
}

@media(max-width:900px){
  .price-guide-range-card,
  .price-guide-range-featured{
    grid-template-columns:1fr;
  }

  .price-guide-range-card img{
    height:auto;
    min-height:0;
    aspect-ratio:16/10;
  }

  .price-guide-saving-cards{grid-template-columns:1fr}
  .price-guide-saving-cards article{min-height:auto}

  .price-guide-visual-content{padding-block:6rem}
}

@media(max-width:760px){
  .price-guide-hero-grid{
    padding-top:9rem;
    padding-bottom:4.2rem;
  }

  .price-guide-hero h1{
    font-size:clamp(3rem,13vw,4.85rem);
  }

  .price-guide-hero-media,
  .price-guide-intro-media,
  .price-guide-case-media{
    width:100%;
  }

  .price-guide-hero-media,
  .price-guide-case-media{
    padding:1.1rem 0 0 1.1rem;
  }

  .price-guide-hero-media>span,
  .price-guide-case-media>span{
    inset:0 1.2rem 1.3rem 0;
    border-width:3px;
  }

  .price-guide-intro-media{
    padding:0 1.1rem 1.1rem 0;
  }

  .price-guide-intro-media>span{
    inset:1.1rem 0 0 1.1rem;
    border-width:3px;
  }

  .price-guide-trust-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .price-guide-trust-grid>div:nth-child(2){border-right:0}
  .price-guide-trust-grid>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.3)}

  .price-guide-ranges-note{
    grid-template-columns:1fr;
    gap:.5rem;
  }

  .price-guide-visual-banner{min-height:650px}
  .price-guide-visual-overlay{
    background:linear-gradient(0deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.68) 66%,rgba(0,0,0,.18) 100%);
  }

  .price-guide-visual-content{
    align-self:flex-end;
    padding-block:4rem;
  }

  .price-guide-factors-list li{
    grid-template-columns:48px 1fr;
  }

  .price-guide-included-list article{
    grid-template-columns:48px 1fr;
  }

  .price-guide-case-copy dl div{
    grid-template-columns:1fr;
    gap:.35rem;
  }

  .price-guide-intro-copy h2,
  .price-guide-ranges h2,
  .price-guide-examples h2,
  .price-guide-related h2{
    font-size:clamp(2.6rem,11.5vw,4rem);
  }
}

@media(max-width:520px){
  .price-guide-hero .hero-actions{
    display:grid;
  }

  .price-guide-hero .btn{
    width:100%;
    text-align:center;
  }

  .price-guide-trust-grid{
    grid-template-columns:1fr;
  }

  .price-guide-trust-grid>div{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.3)!important;
  }

  .price-guide-trust-grid>div:last-child{border-bottom:0!important}

  .price-guide-hero-media figcaption,
  .price-guide-intro-media figcaption{
    width:94%;
    margin-top:-3.7rem;
  }

  .price-guide-range-card>div,
  .price-guide-examples-grid article,
  .price-guide-saving-cards article{
    padding:1.55rem;
  }
}
