:root{--gp-blue:#1775e8;--gp-blue-dark:#0d56b3;--gp-blue-soft:#edf6ff;--gp-top-blue:#0d2d63;--gp-top-blue-dark:#071f48;--gp-gold:#5fb7ff;--gp-brown:#10244a}
.gp-brand-mark{background:linear-gradient(145deg,#1b83ff,#0c52b3);border-radius:10px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.15)}
.gp-brand-mark:before{width:25px;height:22px;border:3px solid #fff;background:transparent;border-radius:3px;transform:translate(-50%,-50%)}
.gp-brand-mark:after{width:19px;height:3px;background:#fff;border-radius:99px;transform:translate(-50%,-7px)}
.gp-brand-mark i{display:none}.gp-brand-text b{color:#1775e8}.gp-topbar{background:linear-gradient(100deg,#0d2d63,#1456a8)}
.tvfg-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(circle at 20% 20%,#2c86e7 0,#153f73 36%,#071a36 100%);color:#fff;position:relative;overflow:hidden}.tvfg-placeholder:before{content:"";position:absolute;width:210px;height:210px;border-radius:50%;border:1px solid rgba(255,255,255,.12);right:-70px;top:-70px}.tvfg-screen-icon{display:grid;place-items:center;width:78px;height:50px;border:3px solid rgba(255,255,255,.9);border-radius:8px;font-weight:900;letter-spacing:.04em;box-shadow:0 16px 36px rgba(0,0,0,.16)}.tvfg-placeholder b{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;opacity:.85}.gp-mini-thumb .tvfg-screen-icon{width:34px;height:23px;font-size:.55rem;border-width:2px}.gp-card-media .tvfg-screen-icon,.gp-list-media .tvfg-screen-icon{width:54px;height:35px;font-size:.7rem}.gp-single-bg .tvfg-screen-icon{width:110px;height:70px;font-size:1.15rem}.tvfg-empty-home{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px;background:linear-gradient(145deg,#f1f7ff,#fff);border-radius:14px}.tvfg-empty-home .tvfg-screen-icon{border-color:#1775e8;color:#1775e8}.tvfg-empty-home h3{font-size:1.8rem;margin:24px 0 6px}.tvfg-empty-home p{color:#677083;max-width:520px}.tvfg-empty-home a,.tvfg-button{margin-top:18px;display:inline-flex;background:#1775e8;color:#fff;padding:11px 18px;border-radius:10px;font-weight:800}.tvfg-ad{width:var(--gp-container);margin:20px auto;text-align:center;overflow:hidden}.gp-author-avatar span{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#0d2d63;color:#fff;font-weight:900}
.tvfg-ai-image{margin:28px 0;text-align:center}.tvfg-ai-image img{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 12px 32px rgba(11,32,64,.08)}

/* v1.1.2 private article preview */
.tvfg-preview-bar{max-width:1180px;margin:14px auto 0;padding:12px 16px;border:1px solid #bcd7ff;border-radius:10px;background:#eef6ff;color:#173f73;display:flex;align-items:center;justify-content:space-between;gap:14px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.tvfg-preview-bar>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.tvfg-preview-bar strong{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}.tvfg-preview-bar span{font-size:.82rem;color:#55718f}.tvfg-preview-bar a{display:inline-flex;padding:8px 11px;border-radius:8px;background:#176fd4;color:#fff;font-weight:800;font-size:.78rem;white-space:nowrap}
@media(max-width:700px){.tvfg-preview-bar{margin:10px 12px 0;align-items:flex-start;flex-direction:column}}


/* v1.5.0 comments */
.gp-comments{margin-top:22px}.gp-comments .gp-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.gp-comments .gp-section-head>span{min-width:30px;height:30px;border-radius:999px;background:#eef3f9;color:#596b82;display:grid;place-items:center;font-size:.75rem;font-weight:800}.gp-comment-list{display:grid;gap:16px;margin:20px 0 26px}.gp-comment{display:grid;grid-template-columns:44px minmax(0,1fr);gap:13px;padding:15px 0;border-top:1px solid #edf0f3}.gp-comment-avatar{width:42px;height:42px;border-radius:50%;background:#102d57;color:#fff;display:grid;place-items:center;font-weight:900}.gp-comment-meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.gp-comment-meta strong{font-size:.9rem}.gp-comment-meta time{font-size:.7rem;color:#8a9099}.gp-comment p{margin:7px 0 0;color:#515965;line-height:1.7;font-size:.88rem}.gp-comments-empty{color:#7d8490}.gp-comment-form-wrap{margin-top:24px;padding-top:24px;border-top:1px solid #eceff3}.gp-comment-form-wrap h3{margin:0 0 7px}.gp-comment-form-wrap>p{font-size:.78rem;color:#7c8490;margin:0 0 15px}.gp-comment-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gp-comment-form{display:grid;gap:12px}.gp-comment-form label{display:grid;gap:6px;font-size:.75rem;font-weight:800;color:#3d4653}.gp-comment-form input,.gp-comment-form textarea{width:100%;border:1px solid #dfe4ea;border-radius:10px;padding:11px 12px;font:inherit;background:#fff}.gp-comment-form textarea{resize:vertical}.gp-comment-form button{justify-self:start;border:0;border-radius:10px;background:#176fd7;color:#fff;padding:11px 17px;font-weight:850;cursor:pointer}.gp-comment-notice{padding:11px 13px;border-radius:9px;background:#eaf8ef;color:#17653a;font-size:.8rem;margin-bottom:13px}.gp-comment-notice.error{background:#fff0f0;color:#9b2828}@media(max-width:600px){.gp-comment-fields{grid-template-columns:1fr}}


/* v1.6.0 logged-in front-end admin toolbar */
.tvfg-adminbar{position:sticky;top:0;z-index:1000;background:#07182f;color:#eaf2ff;border-bottom:1px solid rgba(255,255,255,.09);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:0 4px 14px rgba(3,12,28,.12)}
.tvfg-adminbar-inner{width:min(1180px,calc(100% - 32px));min-height:42px;margin:0 auto;display:flex;align-items:center;gap:12px}
.tvfg-adminbar-brand{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:.77rem}.tvfg-adminbar-brand>span{width:25px;height:25px;border:1.5px solid rgba(255,255,255,.9);border-radius:6px;display:grid;place-items:center;font-size:.66rem;font-weight:950}.tvfg-adminbar-brand strong{font-weight:850}
.tvfg-adminbar-nav{display:flex;align-items:center;gap:2px;min-width:0;overflow:auto;scrollbar-width:none}.tvfg-adminbar-nav::-webkit-scrollbar{display:none}.tvfg-adminbar-nav>a,.tvfg-adminbar-user>a{display:inline-flex;align-items:center;min-height:42px;padding:0 9px;font-size:.72rem;font-weight:720;white-space:nowrap;color:#d6e3f7}.tvfg-adminbar-nav>a:hover,.tvfg-adminbar-user>a:hover{background:#123664;color:#fff}.tvfg-adminbar-nav>a.is-context{color:#fff;background:#105eb8}.tvfg-adminbar-nav b{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:5px;border-radius:99px;background:#e95555;color:#fff;font-size:.62rem}
.tvfg-adminbar-user{margin-left:auto;display:flex;align-items:center;min-width:max-content}.tvfg-adminbar-user>span{font-size:.68rem;color:#98acd0;padding:0 7px;white-space:nowrap}.tvfg-adminbar-user>a{color:#9bc8ff}
@media(max-width:760px){.tvfg-adminbar-inner{width:100%;padding:0 8px;gap:6px}.tvfg-adminbar-brand strong,.tvfg-adminbar-user>span{display:none}.tvfg-adminbar-nav>a,.tvfg-adminbar-user>a{padding-inline:8px;font-size:.68rem}.tvfg-adminbar-brand>span{width:23px;height:23px}.tvfg-adminbar-user{margin-left:0}}

/* Plumber Near Me Service brand fit */
@media(min-width:1181px){.gp-brand-text{font-size:1.38rem!important;letter-spacing:-.035em!important}}


/* v1.0.2 — desktop header / brand alignment fix */
@media (min-width:1181px){
  .gp-nav-shell{
    min-height:118px!important;
    grid-template-columns:42px minmax(300px,350px) minmax(0,1fr) 46px!important;
    gap:16px!important;
    padding:0 24px!important;
  }
  .gp-menu-toggle{width:42px!important;height:42px!important}
  .gp-brand-wrap{
    width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }
  .gp-brand{
    width:max-content!important;
    max-width:100%!important;
    gap:10px!important;
    white-space:nowrap!important;
  }
  .gp-brand-mark{
    width:48px!important;
    height:48px!important;
    flex:0 0 48px!important;
  }
  .gp-brand-text{
    display:block!important;
    font-size:1.45rem!important;
    line-height:1!important;
    letter-spacing:-.045em!important;
    white-space:nowrap!important;
  }
  .gp-primary-nav{
    min-width:0!important;
    overflow:hidden!important;
  }
  .gp-menu{
    min-width:0!important;
    width:100%!important;
    gap:0!important;
    justify-content:flex-start!important;
  }
  .gp-menu>li{flex:0 0 auto!important;min-width:0!important}
  .gp-menu>li>a{
    min-height:118px!important;
    padding:0 8px!important;
    font-size:.88rem!important;
    line-height:1.15!important;
    letter-spacing:-.018em!important;
    white-space:nowrap!important;
  }
  .gp-header-actions{
    min-width:46px!important;
    justify-content:flex-end!important;
    gap:0!important;
  }
  .gp-search-toggle{width:42px!important;height:42px!important}
}

@media (min-width:1181px) and (max-width:1580px){
  .gp-nav-shell{
    grid-template-columns:42px minmax(250px,295px) minmax(0,1fr) 44px!important;
    gap:10px!important;
    padding:0 18px!important;
  }
  .gp-brand-mark{width:44px!important;height:44px!important;flex-basis:44px!important}
  .gp-brand-text{font-size:1.22rem!important}
  .gp-menu>li>a{padding:0 6px!important;font-size:.80rem!important}
  .gp-menu-contact{display:none!important}
}

@media (min-width:1181px) and (max-width:1360px){
  .gp-nav-shell{
    grid-template-columns:40px minmax(220px,250px) minmax(0,1fr) 42px!important;
    padding:0 14px!important;
    gap:8px!important;
  }
  .gp-brand-mark{width:40px!important;height:40px!important;flex-basis:40px!important}
  .gp-brand-text{font-size:1.06rem!important}
  .gp-menu>li>a{padding:0 5px!important;font-size:.73rem!important}
  .gp-menu>li:nth-last-child(2){display:none!important}
}


/* v1.0.3 — plumbing faucet identity + full-width mega menu */
.gp-plumber-mark{display:grid!important;place-items:center!important;background:linear-gradient(145deg,#2589ff,#0a55b9)!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.14),0 7px 18px rgba(23,117,232,.16)!important;overflow:hidden!important}
.gp-plumber-mark:before,.gp-plumber-mark:after,.gp-plumber-mark i{display:none!important}
.gp-plumber-mark svg{width:78%;height:78%;display:block;fill:#fff}
.gp-plumber-mark svg .gp-drop{fill:#9fd4ff}

@media(min-width:1025px){
  .gp-nav-shell{overflow:visible!important}
  .gp-primary-nav{position:static!important;overflow:visible!important}
  .gp-menu{height:100%;justify-content:flex-end!important;gap:1px!important}
  .gp-menu>li.gp-mega-trigger{display:flex!important;align-items:center!important;position:static!important;min-width:0!important}
  .gp-menu>li.gp-mega-trigger>a{min-height:118px!important;padding:0 9px!important;font-size:.84rem!important;line-height:1.15!important;white-space:nowrap!important}
  .gp-mega-toggle{display:flex;width:24px;height:36px;border:0;background:transparent;align-items:center;justify-content:center;padding:0;margin-left:-5px;cursor:pointer;color:#142033}
  .gp-mega-toggle span{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:.18s ease}
  .gp-mega-trigger.is-mega-active>a,.gp-mega-trigger.is-mega-active .gp-mega-toggle{color:#1775e8!important}
  .gp-mega-trigger.is-mega-active .gp-mega-toggle span{transform:rotate(225deg) translate(-1px,-1px)}
  .gp-mega-menu{position:absolute;left:22px;right:22px;top:calc(100% - 8px);background:#fff;border:1px solid #e4ebf4;border-radius:20px;box-shadow:0 26px 70px rgba(16,36,74,.14);padding:24px 26px 18px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:120}
  .gp-primary-nav.is-mega-open .gp-mega-menu{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .gp-mega-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}
  .gp-mega-col{min-width:0;padding:4px 22px 10px;border-right:1px solid #edf1f6;border-radius:14px;transition:.18s ease}
  .gp-mega-col:first-child{padding-left:6px}.gp-mega-col:last-child{border-right:0;padding-right:6px}
  .gp-mega-col.is-active{background:linear-gradient(145deg,#f4f9ff,#eef6ff)}
  .gp-mega-heading{display:flex;align-items:center;gap:10px;font-weight:850;font-size:.92rem;letter-spacing:-.02em;color:#15243b;margin-bottom:11px}
  .gp-mega-heading:hover{color:#1775e8}
  .gp-mega-icon{width:38px;height:38px;flex:0 0 38px;border-radius:10px;display:grid;place-items:center;background:#edf6ff;color:#1775e8;font-size:1.15rem;font-weight:900}
  .gp-mega-links{display:grid;gap:1px}.gp-mega-links a{display:block;padding:7px 4px;color:#4b5b70;font-size:.79rem;font-weight:650;border-radius:7px}.gp-mega-links a:hover{color:#1775e8;background:#f4f8fd}
  .gp-mega-more{margin-top:16px;padding-top:14px;border-top:1px solid #edf1f6;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gp-mega-more strong{font-size:.72rem;color:#6f7e91;margin-right:4px}.gp-mega-more a{font-size:.72rem;font-weight:750;color:#27415f;background:#f6f8fb;border:1px solid #edf1f6;border-radius:999px;padding:7px 11px}.gp-mega-more a:hover{background:#edf6ff;color:#1775e8;border-color:#d5e8ff}
}

@media(min-width:1181px){
  .gp-nav-shell{grid-template-columns:42px minmax(300px,345px) minmax(0,1fr) 46px!important;gap:14px!important}
  .gp-brand-text{font-size:1.35rem!important}
}
@media(min-width:1181px) and (max-width:1580px){
  .gp-nav-shell{grid-template-columns:42px minmax(245px,285px) minmax(0,1fr) 44px!important}
  .gp-brand-text{font-size:1.15rem!important}
  .gp-menu>li.gp-mega-trigger>a{padding-inline:5px!important;font-size:.72rem!important}
  .gp-mega-toggle{width:18px;margin-left:-4px}
  .gp-mega-col{padding-inline:13px}.gp-mega-heading{font-size:.82rem}.gp-mega-links a{font-size:.73rem}
}
@media(min-width:1025px) and (max-width:1240px){
  .gp-brand-text{font-size:1.02rem!important}
  .gp-menu>li.gp-mega-trigger>a{font-size:.66rem!important;padding-inline:4px!important}
}

@media(max-width:1024px){
  .gp-primary-nav{overflow:auto!important}
  .gp-menu>li.gp-mega-trigger{display:grid!important;grid-template-columns:minmax(0,1fr) 44px;align-items:center;border-bottom:1px solid #edf0f4;position:relative!important}
  .gp-menu>li.gp-mega-trigger>a{min-height:48px!important;padding:0 10px!important;display:flex!important;align-items:center!important;font-size:.9rem!important;font-weight:800!important}
  .gp-mega-toggle{width:42px;height:42px;border:0;background:transparent;display:grid;place-items:center;color:#24364f}
  .gp-mega-toggle span{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
  .gp-mega-trigger.is-mega-active .gp-mega-toggle span{transform:rotate(225deg) translate(-1px,-1px)}
  .gp-mega-menu{display:none!important;padding:7px 0 12px;background:#f6f9fd;border-radius:11px;margin:6px 0 10px;grid-column:1/-1}
  .gp-primary-nav.is-mega-open .gp-mega-menu{display:block!important}
  .gp-mega-grid{display:block}.gp-mega-col{display:none;padding:10px 12px}.gp-mega-col.is-active{display:block}
  .gp-mega-heading{display:flex;align-items:center;gap:9px;font-weight:850;margin-bottom:8px}.gp-mega-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#e8f3ff;color:#1775e8}
  .gp-mega-links{display:grid;grid-template-columns:1fr 1fr;gap:6px}.gp-mega-links a{padding:9px 10px;border-radius:8px;background:#fff;border:1px solid #e8edf4;font-size:.8rem;font-weight:700}
  .gp-mega-more{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px 2px;border-top:1px solid #e3eaf2}.gp-mega-more strong{width:100%;font-size:.72rem;color:#718096}.gp-mega-more a{font-size:.72rem;font-weight:700;background:#fff;border:1px solid #e3eaf2;border-radius:999px;padding:7px 9px}
}
@media(max-width:600px){.gp-mega-links{grid-template-columns:1fr}}


/* v1.0.4 — desktop header spacing + five-item top menu. Faucet & Sink stays inside mega menu. */
@media(min-width:1181px){
  .gp-nav-shell{
    grid-template-columns:42px minmax(390px,430px) minmax(0,1fr) 46px!important;
    gap:18px!important;
    padding-inline:22px!important;
  }
  .gp-brand-wrap{min-width:0!important;overflow:hidden!important}
  .gp-brand{max-width:100%!important;min-width:0!important}
  .gp-brand-text{font-size:1.34rem!important;overflow:hidden!important;text-overflow:clip!important}
  .gp-menu{justify-content:flex-end!important;gap:4px!important}
  .gp-menu>li.gp-mega-trigger>a{padding-inline:10px!important;font-size:.84rem!important}
  .gp-mega-toggle{width:22px!important;margin-left:-5px!important}
}
@media(min-width:1181px) and (max-width:1580px){
  .gp-nav-shell{grid-template-columns:42px minmax(315px,350px) minmax(0,1fr) 44px!important;gap:12px!important;padding-inline:16px!important}
  .gp-brand-text{font-size:1.08rem!important}
  .gp-menu>li.gp-mega-trigger>a{padding-inline:6px!important;font-size:.74rem!important}
  .gp-mega-toggle{width:18px!important;margin-left:-4px!important}
}
@media(min-width:1025px) and (max-width:1240px){
  .gp-brand-text{font-size:.96rem!important}
  .gp-menu>li.gp-mega-trigger>a{padding-inline:4px!important;font-size:.66rem!important}
}
