/* TAPCO city pages. All classes prefixed tp- so Bootstrap 3 styles are not affected. */
.tp{--tp-red:#A8412A;--tp-red-d:#7E2E1C;--tp-ink:#2B211C;--tp-mute:#6B5F58;--tp-cream:#FBF6F1;--tp-line:#EADFD6;--tp-wa:#1FAF55;
  color:var(--tp-ink);font-size:16px;line-height:1.7}
.tp *{box-sizing:border-box}
.tp h1,.tp h2,.tp h3{font-family:'Poppins',sans-serif;color:var(--tp-ink);margin:0 0 .5em;line-height:1.25}
.tp h2{font-size:28px;font-weight:600}
.tp h3{font-size:18px;font-weight:600}
.tp p{margin:0 0 1em}
.tp a{color:var(--tp-red)}
.tp-wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.tp-narrow{max-width:820px}
.tp-sec{padding:64px 0}
.tp-alt{background:var(--tp-cream)}
.tp-lead{color:var(--tp-mute);margin-bottom:28px}

/* hero */
.tp-hero{background:url(../images/products/pro14.png) no-repeat right 9% bottom 40px/240px auto,linear-gradient(180deg,#FBF6F1 0%,#F3E4D8 100%);
  color:var(--tp-ink);padding:140px 0 60px;border-bottom:1px solid var(--tp-line);text-align:left}
.tp-hero h1{color:var(--tp-ink);font-size:44px;font-weight:700;margin-bottom:12px;text-align:left}
.tp-sub{font-size:18px;max-width:640px;color:#4A3D36}
.tp-crumbs{font-size:13px;color:var(--tp-mute);margin-bottom:14px}
.tp-crumbs a{color:var(--tp-red);text-decoration:underline}
.tp-crumbs span{margin:0 6px}
.tp-chips{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.tp-chips li{border:1px solid #D9C7BA;background:#fff;border-radius:999px;padding:4px 14px;font-size:13px;color:var(--tp-ink)}

/* buttons */
.tp-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.tp-btn{display:inline-block;padding:13px 22px;border-radius:8px;font-weight:600;font-size:15px;text-decoration:none!important;border:0;cursor:pointer;text-align:center}
.tp-btn-call{background:var(--tp-red);color:#fff!important}
.tp-btn-wa{background:var(--tp-wa);color:#fff!important}
.tp-btn-ghost{border:1.5px solid var(--tp-red);color:var(--tp-red)!important;background:transparent}
.tp-btn-block{display:block;width:100%;margin-top:16px}
.tp-btn:hover{filter:brightness(.93)}

/* layout */
.tp-grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start}
.tp-card{background:#fff;border:1px solid var(--tp-line);border-radius:12px;padding:24px}
.tp-glance dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:15px}
.tp-glance dt{color:var(--tp-mute);font-weight:500}
.tp-glance dd{margin:0;font-weight:500}

/* profiles */
.tp-profiles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tp-profile{display:block;background:#fff;border:1px solid var(--tp-line);border-radius:12px;padding:16px;text-decoration:none!important;color:var(--tp-ink)!important;transition:box-shadow .2s,transform .2s}
.tp-profile:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px)}
.tp-profile img{width:100%;height:150px;object-fit:contain;margin-bottom:10px}
.tp-profile h3{margin:0 0 2px}
.tp-count{display:inline-block;font-size:12px;color:var(--tp-red);font-weight:600;margin-bottom:6px}
.tp-profile p{font-size:14px;color:var(--tp-mute);margin:0;line-height:1.5}

.tp-cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tp-cards-3 p{font-size:15px;color:var(--tp-mute);margin:0}

/* steps */
.tp-steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tp-steps li{counter-increment:s;background:#fff;border:1px solid var(--tp-line);border-radius:12px;padding:22px;font-size:15px}
.tp-steps li::before{content:counter(s);display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--tp-red);color:#fff;font-weight:700;margin-bottom:12px}
.tp-steps strong{display:block;margin-bottom:4px}

/* dealer, gallery, quote */
.tp-dealer-name{font-size:20px;font-weight:600;margin-bottom:4px}
.tp-map{width:100%;height:320px;border:0;border-radius:12px}
.tp-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tp-gallery figure{margin:0}
.tp-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.tp-gallery figcaption{font-size:13px;color:var(--tp-mute);margin-top:6px}
.tp-quote{margin:0 auto;max-width:760px;text-align:center;border:0;padding:0}
.tp-quote p{font-size:22px;font-style:italic}
.tp-quote cite{color:var(--tp-mute);font-style:normal}

.tp-quote-sec{background:var(--tp-ink);color:#F3ECE6}
.tp-quote-sec h2{color:#fff}
.tp-quote-sec a{color:#FFC9B3}
.tp-form{background:#fff;border-radius:12px;padding:24px;color:var(--tp-ink)}
.tp-form label{display:block;font-size:14px;font-weight:500;margin-bottom:12px}
.tp-form input,.tp-form select{display:block;width:100%;margin-top:4px;padding:11px 12px;border:1px solid #D8CCC3;border-radius:8px;font-size:15px;font-family:inherit;background:#fff}

/* faq */
.tp-faq{border-bottom:1px solid var(--tp-line);padding:16px 0}
.tp-faq summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none;position:relative;padding-right:30px}
.tp-faq summary::-webkit-details-marker{display:none}
.tp-faq summary::after{content:'+';position:absolute;right:0;top:-2px;font-size:24px;color:var(--tp-red)}
.tp-faq[open] summary::after{content:'−'}
.tp-faq div{padding-top:10px;color:var(--tp-mute)}

.tp-tags,.tp-links{list-style:none;padding:0;margin:0}
.tp-tags{display:flex;flex-wrap:wrap;gap:8px}
.tp-tags li{background:#fff;border:1px solid var(--tp-line);border-radius:999px;padding:5px 14px;font-size:14px}
.tp-links li{padding:6px 0;border-bottom:1px dashed var(--tp-line)}

/* sticky mobile bar */
.tp-sticky{display:none}

@media (max-width:991px){
  .tp-profiles{grid-template-columns:repeat(2,1fr)}
  .tp-steps{grid-template-columns:repeat(2,1fr)}
  .tp-grid-2{grid-template-columns:1fr}
}
@media (max-width:767px){
  .tp-sec{padding:44px 0}
  .tp-wrap{padding:0 16px}
  .tp-hero{padding:100px 0 40px;background:linear-gradient(180deg,#FBF6F1 0%,#F3E4D8 100%)}
  .tp-hero h1{font-size:30px}
  .tp-sub{font-size:16px}
  .tp h2{font-size:23px}
  .tp-cards-3,.tp-gallery{grid-template-columns:1fr}
  .tp-steps{grid-template-columns:1fr}
  .tp-profile img{height:110px}
  .tp-cta .tp-btn{flex:1 1 100%}
  .tp-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9999;box-shadow:0 -2px 10px rgba(0,0,0,.15)}
  .tp-sticky a{flex:1;text-align:center;padding:14px 0;font-weight:600;color:#fff!important;background:#A8412A;text-decoration:none!important}
  .tp-sticky a.wa{background:#1FAF55}
  body{padding-bottom:52px}
}
@media (max-width:1199px){.tp-hero{background:linear-gradient(180deg,#FBF6F1 0%,#F3E4D8 100%)}}

.tp-hero{background-blend-mode:multiply}
.tp-hero h1{letter-spacing:normal !important}
