/* ADGRO MEDIA — SIGN BOARD & LETTERING PAGE */
:root {
    --adgro-purple:#76245d; --adgro-purple-dark:#3d1230;
    --adgro-purple-light:#a94487; --adgro-pink:#d66ca9;
    --adgro-black:#08070a; --adgro-black-soft:#151116;
    --adgro-white:#fff; --adgro-bg:#f7f4f7;
    --adgro-border:#e8dfe6; --adgro-text:#241e23;
    --adgro-muted:#756b72;
    --adgro-shadow:0 15px 45px rgba(64,25,51,.08);
    --adgro-radius:20px;
    --adgro-transition:all .3s ease;
}

/* HERO */
.service-category-hero.signboard-hero {
    position:relative; overflow:hidden; padding:0 0 95px;
    color:#fff;
    background:
      radial-gradient(circle at 88% 18%,rgba(214,108,169,.25),transparent 28%),
      radial-gradient(circle at 12% 80%,rgba(169,68,135,.18),transparent 30%),
      linear-gradient(135deg,var(--adgro-black),var(--adgro-purple-dark) 58%,var(--adgro-purple));
}
.signboard-hero::before {
    content:""; position:absolute; width:520px; height:520px;
    right:-220px; top:80px; border:1px solid rgba(255,255,255,.1);
    border-radius:50%; box-shadow:0 0 0 45px rgba(255,255,255,.025),0 0 0 95px rgba(255,255,255,.018);
}
.signboard-hero::after {
    content:""; position:absolute; inset:0; opacity:.16;
    background-image:radial-gradient(rgba(255,255,255,.5) 1px,transparent 1px);
    background-size:28px 28px; pointer-events:none;
}
.service-category-hero .row { position:relative; z-index:2; }

/* BREADCRUMB */
.service-breadcrumb {
    position:relative; z-index:3; display:flex; align-items:center;
    flex-wrap:wrap; gap:10px; padding:22px 0 45px;
    color:rgba(255,255,255,.58); font-size:.88rem;
}
.service-breadcrumb a { color:rgba(255,255,255,.75); font-weight:650; }
.service-breadcrumb a:hover { color:var(--adgro-pink); }
.service-breadcrumb i { color:var(--adgro-pink); font-size:.7rem; }
.service-breadcrumb span { color:rgba(255,255,255,.9); }

/* HERO CONTENT */
.service-kicker {
    display:inline-block; margin-bottom:18px; padding-left:14px;
    border-left:4px solid var(--adgro-pink);
    color:rgba(255,255,255,.92); font-size:.76rem;
    font-weight:850; letter-spacing:2px;
}
.signboard-hero h1 {
    max-width:800px; margin:0 0 22px; color:#fff;
    font-size:clamp(2.8rem,5.5vw,5rem); font-weight:900;
    line-height:1.03; letter-spacing:-1.5px;
}
.signboard-hero h1 strong { color:var(--adgro-pink); font-weight:900; }
.signboard-hero .col-lg-7 > p {
    max-width:700px; margin:0 0 30px;
    color:rgba(255,255,255,.78); font-size:1.08rem; line-height:1.8;
}

/* BUTTONS */
.hero-buttons { display:flex; flex-wrap:wrap; gap:12px; }
.hero-buttons a,.cta-buttons a {
    display:inline-flex; align-items:center; justify-content:center; gap:9px;
    min-height:50px; padding:13px 24px; border-radius:9px;
    font-weight:800; transition:var(--adgro-transition);
}
.hero-buttons .btn-call {
    color:#fff; background:var(--adgro-purple); border:2px solid var(--adgro-purple);
}
.hero-buttons .btn-call:hover {
    color:#fff; background:var(--adgro-purple-light);
    border-color:var(--adgro-purple-light); transform:translateY(-3px);
}
.hero-buttons .btn-whatsapp,.cta-buttons a:last-child {
    color:#fff; background:#22c55e; border:2px solid #22c55e;
}
.hero-buttons .btn-whatsapp:hover,.cta-buttons a:last-child:hover {
    color:#fff; background:#16a34a; border-color:#16a34a; transform:translateY(-3px);
}

/* HERO CARD */
.category-hero-card.signboard-card {
    position:relative; overflow:hidden; min-height:390px;
    padding:42px 38px; border:1px solid rgba(255,255,255,.18);
    border-radius:26px; color:var(--adgro-text);
    background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(248,244,247,.96));
    box-shadow:0 30px 80px rgba(0,0,0,.25);
}
.signboard-card::before {
    content:""; position:absolute; width:190px; height:190px;
    right:-90px; top:-90px; border-radius:50%; background:rgba(214,108,169,.15);
}
.hero-sign-icon {
    position:relative; z-index:2; width:68px; height:68px;
    display:flex; align-items:center; justify-content:center; margin-bottom:25px;
    border-radius:17px; color:#fff;
    background:linear-gradient(135deg,var(--adgro-purple),var(--adgro-purple-light));
    box-shadow:0 12px 25px rgba(118,36,93,.25); font-size:1.55rem;
}
.category-hero-card h2 {
    position:relative; z-index:2; margin:0 0 12px;
    color:var(--adgro-black); font-size:clamp(1.9rem,3vw,2.8rem);
    font-weight:900; line-height:1.1;
}
.category-hero-card h2 span { color:var(--adgro-purple); }
.category-hero-card > p {
    position:relative; z-index:2; max-width:480px;
    margin-bottom:25px; color:var(--adgro-muted); line-height:1.7;
}
.hero-card-tags { position:relative; z-index:3; display:flex; flex-wrap:wrap; gap:9px; }
.hero-card-tags span {
    display:inline-flex; align-items:center; padding:9px 13px;
    border:1px solid var(--adgro-border); border-radius:50px;
    color:var(--adgro-purple-dark); background:#fff; font-size:.82rem; font-weight:750;
}

/* INTRO */
.category-intro { padding:95px 0; background:#fff; }
.category-intro .section-heading { max-width:850px; margin:0 auto 50px; text-align:center; }
.category-intro .section-heading > span,
.local-seo-box > span,.category-cta > .container > span {
    display:inline-block; margin-bottom:12px; color:var(--adgro-purple);
    font-size:.76rem; font-weight:850; letter-spacing:2px; text-transform:uppercase;
}
.category-intro .section-heading h2 {
    margin:0 0 16px; color:var(--adgro-black);
    font-size:clamp(2.1rem,4vw,3.2rem); font-weight:900; line-height:1.12;
}
.category-intro .section-heading h2 strong { color:var(--adgro-purple); }
.category-intro .section-heading p {
    max-width:720px; margin:0 auto; color:var(--adgro-muted); font-size:1.04rem;
}

/* SERVICE CARDS */
.printing-service-grid {
    display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px;
}
.printing-service-card {
    position:relative; min-height:310px; overflow:hidden;
    padding:34px 30px 30px; border:1px solid var(--adgro-border);
    border-radius:var(--adgro-radius); background:#fff;
    box-shadow:0 8px 28px rgba(64,25,51,.045); transition:var(--adgro-transition);
}
.printing-service-card:hover {
    transform:translateY(-8px); border-color:rgba(118,36,93,.32);
    box-shadow:var(--adgro-shadow);
}
.service-number {
    position:absolute; top:22px; right:25px; color:#e8dfe6;
    font-size:2.7rem; font-weight:900;
}
.service-icon {
    width:58px; height:58px; display:flex; align-items:center; justify-content:center;
    margin-bottom:21px; border-radius:15px; color:var(--adgro-purple);
    background:rgba(118,36,93,.09); font-size:1.35rem; transition:var(--adgro-transition);
}
.printing-service-card:hover .service-icon {
    color:#fff; background:linear-gradient(135deg,var(--adgro-purple),var(--adgro-purple-light));
    transform:scale(1.05);
}
.printing-service-card h3 { margin:0 0 12px; color:var(--adgro-black); font-size:1.3rem; font-weight:850; }
.printing-service-card p {
    min-height:95px; margin:0 0 22px; color:var(--adgro-muted);
    font-size:.94rem; line-height:1.65;
}
.printing-service-card > a {
    display:inline-flex; align-items:center; gap:8px; color:var(--adgro-purple); font-weight:800;
}
.printing-service-card > a:hover { color:var(--adgro-purple-dark); gap:12px; }

/* BENEFITS */
.signage-benefits {
    position:relative; overflow:hidden; padding:100px 0; color:#fff;
    background:radial-gradient(circle at 88% 15%,rgba(214,108,169,.18),transparent 28%),
               linear-gradient(135deg,var(--adgro-black),var(--adgro-black-soft));
}
.signage-benefits .container { position:relative; z-index:2; }
.section-mini-title {
    display:inline-block; margin-bottom:14px; color:var(--adgro-pink);
    font-size:.76rem; font-weight:850; letter-spacing:2px;
}
.signage-benefits h2 {
    margin:0 0 20px; color:#fff; font-size:clamp(2.2rem,4vw,3.5rem);
    font-weight:900; line-height:1.08;
}
.signage-benefits h2 strong { color:var(--adgro-pink); }
.signage-benefits .col-lg-6 > p { max-width:650px; margin-bottom:30px; color:rgba(255,255,255,.65); line-height:1.75; }
.benefit-list { display:flex; flex-direction:column; }
.benefit-item {
    display:flex; align-items:flex-start; gap:15px; padding:17px 0;
    border-bottom:1px solid rgba(255,255,255,.09);
}
.benefit-item:last-child { border-bottom:0; }
.benefit-icon {
    flex:0 0 42px; width:42px; height:42px; display:flex;
    align-items:center; justify-content:center; border-radius:50%;
    color:#fff; background:var(--adgro-purple);
}
.benefit-item h4 { margin:0 0 4px; color:#fff; font-size:1.02rem; font-weight:800; }
.benefit-item p { margin:0; color:rgba(255,255,255,.54); font-size:.9rem; }

/* HIGHLIGHT */
.signage-highlight-card {
    position:relative; overflow:hidden; min-height:390px;
    display:flex; flex-direction:column; justify-content:center; padding:45px;
    border:1px solid rgba(255,255,255,.12); border-radius:25px;
    background:radial-gradient(circle at 80% 15%,rgba(214,108,169,.22),transparent 30%),
               linear-gradient(145deg,rgba(118,36,93,.45),rgba(255,255,255,.055));
    box-shadow:0 25px 65px rgba(0,0,0,.25); backdrop-filter:blur(8px);
}
.highlight-icon {
    width:65px; height:65px; display:flex; align-items:center; justify-content:center;
    margin-bottom:22px; border-radius:17px; color:#fff; background:var(--adgro-purple);
    font-size:1.45rem;
}
.signage-highlight-card h3 { margin:0 0 12px; color:#fff; font-size:1.8rem; font-weight:850; }
.signage-highlight-card > p { max-width:500px; margin:0 0 30px; color:rgba(255,255,255,.65); line-height:1.75; }
.highlight-bottom { display:flex; flex-direction:column; gap:4px; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); }
.highlight-bottom strong { color:var(--adgro-pink); font-size:1.1rem; }
.highlight-bottom span { color:rgba(255,255,255,.55); font-size:.85rem; }

/* LOCAL SEO */
.local-seo-section { padding:85px 0; background:var(--adgro-bg); }
.local-seo-box {
    position:relative; overflow:hidden; padding:55px; text-align:center;
    border:1px solid var(--adgro-border); border-radius:25px; background:#fff;
    box-shadow:var(--adgro-shadow);
}
.local-seo-box h2 {
    position:relative; margin:0 0 16px; color:var(--adgro-black);
    font-size:clamp(2rem,4vw,3rem); font-weight:900;
}
.local-seo-box h2 strong { color:var(--adgro-purple); }
.local-seo-box > p { max-width:720px; margin:0 auto 30px; color:var(--adgro-muted); line-height:1.7; }
.location-info { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.location-info > div {
    display:flex; align-items:center; gap:9px; padding:11px 16px;
    border:1px solid var(--adgro-border); border-radius:50px;
    color:var(--adgro-muted); background:#fff; font-size:.9rem;
}
.location-info i { color:var(--adgro-purple); }
.location-info a { color:var(--adgro-purple); font-weight:800; }

/* CTA */
.category-cta {
    position:relative; overflow:hidden; padding:100px 0; color:#fff;
    background:radial-gradient(circle at 15% 20%,rgba(214,108,169,.25),transparent 30%),
               radial-gradient(circle at 85% 80%,rgba(169,68,135,.22),transparent 32%),
               linear-gradient(135deg,var(--adgro-purple-dark),var(--adgro-black));
}
.category-cta > .container { position:relative; z-index:2; }
.category-cta > .container > span { color:var(--adgro-pink); }
.category-cta h2 { margin:0 0 18px; color:#fff; font-size:clamp(2.3rem,5vw,3.8rem); font-weight:900; }
.category-cta h2 strong { color:var(--adgro-pink); }
.category-cta p { max-width:650px; margin:0 auto 30px; color:rgba(255,255,255,.65); }
.cta-buttons { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.cta-buttons a:first-child { color:#fff; background:var(--adgro-purple); border:2px solid var(--adgro-purple); }
.cta-buttons a:first-child:hover { background:var(--adgro-purple-light); border-color:var(--adgro-purple-light); transform:translateY(-3px); }

/* RESPONSIVE */
@media (max-width:991.98px) {
    .service-category-hero.signboard-hero { padding-bottom:70px; }
    .signboard-hero h1 { font-size:clamp(2.5rem,7vw,4rem); }
    .category-hero-card.signboard-card { min-height:350px; margin-top:10px; }
    .printing-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .category-intro,.signage-benefits { padding:75px 0; }
}
@media (max-width:767.98px) {
    .service-category-hero.signboard-hero { padding-bottom:60px; }
    .service-breadcrumb { padding:18px 0 30px; font-size:.8rem; }
    .service-kicker { font-size:.65rem; letter-spacing:1.4px; }
    .signboard-hero h1 { font-size:clamp(2.25rem,10vw,3.3rem); }
    .signboard-hero .col-lg-7 > p { font-size:.97rem; }
    .hero-buttons,.cta-buttons { flex-direction:column; align-items:stretch; }
    .hero-buttons a,.cta-buttons a { width:100%; }
    .category-hero-card.signboard-card { min-height:auto; padding:32px 25px; border-radius:20px; }
    .category-intro,.signage-benefits,.local-seo-section,.category-cta { padding:60px 0; }
    .category-intro .section-heading h2 { font-size:2.1rem; }
    .printing-service-grid { grid-template-columns:1fr; gap:16px; }
    .printing-service-card { min-height:auto; padding:29px 24px; }
    .printing-service-card p { min-height:auto; }
    .signage-benefits h2 { font-size:2.2rem; }
    .signage-highlight-card { min-height:330px; margin-top:10px; padding:32px 25px; }
    .local-seo-box { padding:38px 22px; border-radius:20px; }
    .local-seo-box h2 { font-size:2rem; }
    .location-info { flex-direction:column; }
    .location-info > div { justify-content:center; border-radius:12px; text-align:center; }
    .category-cta h2 { font-size:2.3rem; }
}
@media (max-width:575.98px) {
    .service-breadcrumb { font-size:.74rem; }
    .signboard-hero h1 { font-size:2.25rem; }
    .category-hero-card.signboard-card { padding:28px 21px; }
    .category-hero-card h2 { font-size:1.8rem; }
    .hero-card-tags span { padding:8px 10px; font-size:.72rem; }
    .printing-service-card h3 { font-size:1.18rem; }
    .signage-highlight-card h3 { font-size:1.5rem; }
    .benefit-item { gap:11px; }
    .benefit-icon { flex-basis:38px; width:38px; height:38px; }
    .local-seo-box { padding:32px 17px; }
}
@media (prefers-reduced-motion:reduce) {
    *,*::before,*::after {
        animation-duration:.01ms!important; transition-duration:.01ms!important;
        scroll-behavior:auto!important;
    }
}
