/* Página: rotulación para tiendas y comercios en Barcelona
   Base global: /css/style-v3.css
   Selectores específicos con prefijo tc-. */

.tc-hero{
  position:relative;
  min-height:840px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#090909;
  color:#fff;
}
.tc-hero-media,
.tc-hero-media img,
.tc-hero-overlay{position:absolute;inset:0;width:100%;height:100%}
.tc-hero-media{margin:0}
.tc-hero-media img{object-fit:cover;object-position:center 52%}
.tc-hero-overlay{
  background:
    linear-gradient(90deg,rgba(7,7,7,.98) 0%,rgba(7,7,7,.92) 42%,rgba(7,7,7,.56) 72%,rgba(7,7,7,.24) 100%),
    linear-gradient(0deg,rgba(0,0,0,.54),transparent 56%);
}
.tc-hero::before,
.tc-hero::after{
  content:"";
  position:absolute;
  pointer-events:none;
  border:1px solid rgba(249,115,22,.24);
  border-radius:50%;
}
.tc-hero::before{right:-12vw;bottom:-31vw;width:62vw;height:62vw}
.tc-hero::after{right:8vw;bottom:-43vw;width:79vw;height:79vw;border-color:rgba(249,115,22,.11)}
.tc-hero-content{position:relative;z-index:2;padding-top:184px;padding-bottom:116px}
.tc-hero-content h1{max-width:980px;margin-bottom:24px;color:#fff;font-size:clamp(3.2rem,5.85vw,6.25rem)}
.tc-hero-lead{max-width:850px;margin-bottom:14px;color:#fff;font-size:clamp(1.26rem,2vw,1.92rem);font-weight:720;line-height:1.4}
.tc-hero-text{max-width:790px;color:#c9c9c9;font-size:1.06rem}
.tc-hero-points{display:flex;flex-wrap:wrap;gap:13px;margin:33px 0 0;padding:0;list-style:none;color:#d7d7d7;font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.tc-hero-points li{display:flex;align-items:center;gap:13px}
.tc-hero-points li:not(:last-child)::after{content:"";width:4px;height:4px;border-radius:50%;background:var(--orange)}

.tc-trust{background:var(--orange);color:#fff}
.tc-trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.tc-trust-grid>div{padding:24px 25px;border-right:1px solid rgba(255,255,255,.34)}
.tc-trust-grid>div:last-child{border-right:0}
.tc-trust strong,.tc-trust span{display:block}
.tc-trust strong{font-size:1rem}
.tc-trust span{color:#fff1e8;font-size:.82rem}

.tc-breadcrumb{background:#0d0d0d;border-bottom:1px solid #292929}
.tc-breadcrumb-inner{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-height:58px;color:#b9b9b9;font-size:.83rem}
.tc-breadcrumb a{color:#f3f3f3;text-decoration:none}
.tc-breadcrumb a:hover{color:#ff9b59}
.tc-breadcrumb-inner>span[aria-hidden="true"]{color:var(--orange)}

.tc-intro{background:var(--bg)}
.tc-intro-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:clamp(58px,8vw,118px);align-items:center}
.tc-intro-copy h2{max-width:860px;margin-bottom:28px}
.tc-intro-copy p{max-width:760px}
.tc-intro-copy .text-link{margin-top:16px}
.tc-intro-media{position:relative;margin:0;padding:34px 0 0 34px}
.tc-intro-media>span{position:absolute;inset:0 68px 68px 0;border:3px solid var(--orange)}
.tc-intro-media img{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center;box-shadow:var(--shadow)}
.tc-intro-media figcaption{position:absolute;z-index:2;right:-20px;bottom:34px;width:min(350px,82%);padding:23px;background:#0e0e0e;color:#fff;box-shadow:var(--shadow)}
.tc-intro-media figcaption strong,.tc-intro-media figcaption small{display:block}
.tc-intro-media figcaption small{margin-top:7px;color:#bdbdbd;line-height:1.5}

.tc-needs{background:#fff}
.tc-needs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tc-needs article{position:relative;min-height:260px;padding:34px;overflow:hidden;background:var(--bg);border-top:4px solid transparent;transition:transform .22s,border-color .22s,box-shadow .22s}
.tc-needs article::after{content:"";position:absolute;right:-58px;bottom:-58px;width:150px;height:150px;border:1px solid rgba(249,115,22,.20);border-radius:50%}
.tc-needs article:hover{transform:translateY(-5px);border-color:var(--orange);box-shadow:0 18px 42px rgba(0,0,0,.08)}
.tc-needs article>span{display:inline-block;margin-bottom:28px;color:var(--orange-dark);font-size:.76rem;font-weight:900;letter-spacing:.13em}
.tc-needs h3{margin-bottom:15px;font-size:1.46rem}
.tc-needs p{margin:0}

.tc-solutions{background:#f2eee8}
.tc-solutions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tc-solution-card{background:#fff;overflow:hidden;box-shadow:0 12px 38px rgba(0,0,0,.07)}
.tc-solution-card img{width:100%;aspect-ratio:3/2;object-fit:cover}
.tc-solution-card:first-child img{object-position:center 45%}
.tc-solution-card:nth-child(2) img{object-position:center 52%}
.tc-solution-card>div{padding:30px}
.tc-solution-card>div>span{color:var(--orange-dark);font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.tc-solution-card h3{margin:12px 0 15px;font-size:1.65rem}
.tc-solution-card p{margin-bottom:18px}
.tc-solution-card ul{margin:0;padding:0;list-style:none}
.tc-solution-card li{position:relative;padding:10px 0 10px 20px;border-top:1px solid #e1ddd7;color:#46423e;font-size:.9rem}
.tc-solution-card li::before{content:"";position:absolute;left:0;top:19px;width:7px;height:7px;border-radius:50%;background:var(--orange)}

.tc-visual-banner{position:relative;min-height:640px;display:flex;align-items:center;overflow:hidden;background:#111}
.tc-visual-banner>img,.tc-visual-overlay{position:absolute;inset:0;width:100%;height:100%}
.tc-visual-banner>img{object-fit:cover;object-position:center}
.tc-visual-overlay{background:linear-gradient(90deg,rgba(8,8,8,.97) 0%,rgba(8,8,8,.84) 50%,rgba(8,8,8,.20) 100%),linear-gradient(0deg,rgba(0,0,0,.40),transparent 60%)}
.tc-visual-banner::after{content:"";position:absolute;right:-16vw;top:-28vw;width:58vw;height:58vw;border:1px solid rgba(249,115,22,.24);border-radius:50%}
.tc-visual-content{position:relative;z-index:1;padding-top:105px;padding-bottom:105px}
.tc-visual-content h2{max-width:920px;color:#fff}
.tc-visual-content p{max-width:770px;color:#d0d0d0;font-size:1.08rem}
.tc-visual-content .btn{margin-top:18px}

.tc-pillars{background:#fff}
.tc-pillars-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(58px,8vw,115px);align-items:start}
.tc-pillars-heading{position:sticky;top:130px}
.tc-pillars-heading p{font-size:1.04rem}
.tc-pillars-heading .btn{margin-top:18px}
.tc-pillars-list{display:grid;gap:0}
.tc-pillars-list article{display:grid;grid-template-columns:86px 1fr;gap:25px;padding:30px 0;border-top:1px solid #d9d3cc}
.tc-pillars-list article:last-child{border-bottom:1px solid #d9d3cc}
.tc-pillars-list article>span{color:var(--orange);font-size:1.35rem;font-weight:900}
.tc-pillars-list h3{margin-bottom:9px;font-size:1.7rem}
.tc-pillars-list p{margin:0}

.tc-case{background:#0d0d0d;color:#fff}
.tc-case-grid{display:grid;grid-template-columns:minmax(350px,.82fr) minmax(0,1.18fr);gap:clamp(60px,8vw,122px);align-items:center}
.tc-case-media{position:relative;margin:0;padding:34px 0 0 34px}
.tc-case-media>span{position:absolute;inset:0 62px 62px 0;border:3px solid var(--orange);background:transparent}
.tc-case-media img{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% center;box-shadow:0 34px 80px rgba(0,0,0,.45)}
.tc-case-media figcaption{position:absolute;z-index:2;left:10px;bottom:32px;padding:13px 18px;background:var(--orange);color:#fff;font-weight:850}
.tc-case-copy h2{color:#fff}
.tc-case-copy>p{color:#c9c9c9;font-size:1.08rem}
.tc-case-copy dl{margin:32px 0}
.tc-case-copy dl>div{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:16px 0;border-top:1px solid #363636}
.tc-case-copy dl>div:last-child{border-bottom:1px solid #363636}
.tc-case-copy dt{color:#ff9b59;font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.tc-case-copy dd{margin:0;color:#ddd}

.tc-types{background:#f5f1ec}
.tc-types-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tc-types article{min-height:230px;padding:32px;background:#fff;border-left:4px solid transparent;transition:transform .22s,border-color .22s,box-shadow .22s}
.tc-types article:hover{transform:translateY(-4px);border-color:var(--orange);box-shadow:0 16px 38px rgba(0,0,0,.07)}
.tc-types article>span{display:block;margin-bottom:22px;color:var(--orange-dark);font-size:.74rem;font-weight:900;letter-spacing:.12em}
.tc-types h3{font-size:1.5rem;margin-bottom:13px}
.tc-types p{margin:0}

.tc-process{background:#151515;color:#fff}
.tc-process-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(55px,8vw,120px);align-items:start}
.tc-process-heading{position:sticky;top:130px}
.tc-process-heading h2{color:#fff}
.tc-process-heading p{color:#aaa;font-size:1.07rem}
.tc-process-heading .btn{margin-top:20px}
.tc-process-list{margin:0;padding:0;list-style:none}
.tc-process-list li{display:grid;grid-template-columns:88px 1fr;gap:24px;padding:28px 0;border-top:1px solid #383838}
.tc-process-list li:last-child{border-bottom:1px solid #383838}
.tc-process-list>li>span{color:var(--orange);font-size:1.4rem;font-weight:900}
.tc-process-list h3{margin-bottom:8px;color:#fff;font-size:1.65rem}
.tc-process-list p{margin:0;color:#aaa}

.tc-zones{position:relative;overflow:hidden;background:#fff}
.tc-zones-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(55px,8vw,115px);align-items:center}
.tc-zones-copy h2{max-width:700px}
.tc-zones-copy p{max-width:690px;font-size:1.04rem}
.tc-zone-chips{display:flex;flex-wrap:wrap;gap:12px;align-content:center}
.tc-zone-chips span{padding:12px 18px;border:1px solid #d0c8bf;border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 8px 24px rgba(0,0,0,.04);font-size:.9rem;font-weight:850;backdrop-filter:blur(4px)}
.tc-zones-orbit{position:absolute;border-radius:50%;pointer-events:none}
.tc-zones-orbit-one{right:-10vw;top:-22vw;width:56vw;height:56vw;border:2px solid rgba(249,115,22,.17)}
.tc-zones-orbit-two{right:5vw;top:-8vw;width:38vw;height:38vw;background:rgba(249,115,22,.035);border:1px solid rgba(249,115,22,.11)}
.tc-zones-orbit-three{right:24vw;bottom:-15vw;width:29vw;height:29vw;background:rgba(249,115,22,.055);border:1px solid rgba(249,115,22,.14)}

.tc-faq{background:var(--bg)}
.tc-related{background:#fff}

@media (max-width:1100px){
  .tc-hero{min-height:760px}
  .tc-hero-content{padding-top:164px;padding-bottom:92px}
  .tc-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tc-trust-grid>div:nth-child(2){border-right:0}
  .tc-trust-grid>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.34)}
  .tc-intro-grid{gap:62px}
  .tc-needs-grid,.tc-solutions-grid,.tc-types-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tc-case-grid{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:64px}
  .tc-zones-grid{grid-template-columns:1fr;gap:42px}
  .tc-zone-chips{max-width:850px}
}

@media (max-width:820px){
  .tc-hero{min-height:720px;align-items:flex-end}
  .tc-hero-media img{object-position:57% center}
  .tc-hero-overlay{background:linear-gradient(0deg,rgba(7,7,7,.98) 0%,rgba(7,7,7,.88) 58%,rgba(7,7,7,.50) 100%),linear-gradient(90deg,rgba(7,7,7,.58),rgba(7,7,7,.18))}
  .tc-hero-content{padding-top:155px;padding-bottom:74px}
  .tc-hero-content h1{font-size:clamp(2.75rem,10vw,4.7rem)}
  .tc-hero-lead{font-size:1.2rem}
  .tc-hero-text{font-size:1rem}
  .tc-intro-grid,.tc-pillars-grid,.tc-case-grid,.tc-process-grid{grid-template-columns:1fr}
  .tc-intro-grid{gap:58px}
  .tc-intro-media{max-width:650px;margin-inline:auto}
  .tc-pillars-heading,.tc-process-heading{position:static}
  .tc-case-media{max-width:600px;margin-inline:auto}
  .tc-case-copy{max-width:760px}
  .tc-visual-banner{min-height:590px}
  .tc-visual-banner>img{object-position:68% center}
  .tc-visual-overlay{background:linear-gradient(0deg,rgba(8,8,8,.96) 0%,rgba(8,8,8,.80) 60%,rgba(8,8,8,.35) 100%)}
  .tc-visual-content{padding-top:88px;padding-bottom:88px}
  .tc-zones-orbit-one{right:-24vw;top:-8vw;width:82vw;height:82vw}
  .tc-zones-orbit-two{right:5vw;top:10vw;width:55vw;height:55vw}
  .tc-zones-orbit-three{right:35vw;bottom:-18vw;width:42vw;height:42vw}
}

@media (max-width:640px){
  .tc-hero{min-height:720px}
  .tc-hero-content{padding-top:140px;padding-bottom:60px}
  .tc-hero-points{gap:10px;font-size:.7rem}
  .tc-trust-grid{grid-template-columns:1fr}
  .tc-trust-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.34)}
  .tc-trust-grid>div:last-child{border-bottom:0}
  .tc-breadcrumb-inner{min-height:54px;font-size:.78rem}
  .tc-intro-media{padding:22px 0 0 22px}
  .tc-intro-media>span{inset:0 38px 38px 0;border-width:2px}
  .tc-intro-media figcaption{position:relative;right:auto;bottom:auto;width:calc(100% - 22px);margin:-46px 0 0 22px}
  .tc-needs-grid,.tc-solutions-grid,.tc-types-grid{grid-template-columns:1fr}
  .tc-needs article{min-height:auto}
  .tc-solution-card>div{padding:25px}
  .tc-pillars-list article,.tc-process-list li{grid-template-columns:58px 1fr;gap:18px}
  .tc-case-media{padding:22px 0 0 22px}
  .tc-case-media>span{inset:0 38px 38px 0;border-width:2px}
  .tc-case-media figcaption{left:0;bottom:20px;font-size:.83rem}
  .tc-case-copy dl>div{grid-template-columns:1fr;gap:7px}
  .tc-zone-chips{gap:9px}
  .tc-zone-chips span{padding:10px 14px;font-size:.82rem}
  .tc-zones-orbit-one{right:-48vw;top:4vw;width:120vw;height:120vw}
  .tc-zones-orbit-two{right:-5vw;top:24vw;width:82vw;height:82vw}
  .tc-zones-orbit-three{right:42vw;bottom:-28vw;width:66vw;height:66vw}
}

@media (max-width:460px){
  .tc-hero-content h1{font-size:2.5rem}
  .tc-hero-lead{font-size:1.08rem}
  .tc-hero-points li{width:100%}
  .tc-hero-points li::after{display:none}
  .tc-needs article,.tc-types article{padding:27px}
  .tc-pillars-list article,.tc-process-list li{grid-template-columns:1fr}
  .tc-pillars-list article>span,.tc-process-list>li>span{font-size:1rem}
}

/* Ajustes específicos de la sectorial de comercio */
.tc-solution-card:nth-child(4) img{object-position:center 48%}
.tc-solution-card:nth-child(6) img{object-position:center 36%}
.tc-case-media img{object-position:center 46%}
