/* NAMESTORE — GRANDBRANDS WIDTH MATCH */
:root{
  --ns-content-width:1220px!important;
}

.wrap,
.about-wrap,
.main,
.pagehero .wrap,
.hero .wrap,
.hero-inner,
.footer .wrap{
  width:calc(100% - 40px)!important;
  max-width:1220px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Compact About page */
.about-wrap{
  padding-top:18px!important;
  padding-bottom:20px!important;
}
.ns-enterprise-grid{
  gap:16px!important;
}
.ns-enterprise-card{
  padding:20px!important;
}
.ns-enterprise-card h2{
  font-size:clamp(27px,2.5vw,36px)!important;
  line-height:1.12!important;
}
.ns-brand-panel{
  padding:12px 15px!important;
}
.ns-capabilities{
  padding:16px!important;
}

/* Mobile */
@media(max-width:700px){
  .wrap,.about-wrap,.main,
  .pagehero .wrap,.hero .wrap,
  .hero-inner,.footer .wrap{
    width:calc(100% - 24px)!important;
  }
}

/* NAMESTORE V6 — HEADER + FOOTER SAME WIDTH AS CONTENT */

/* Header outer frame */
header.top,
header.site-header,
.site-header,
.top{
  width:calc(100% - 40px)!important;
  max-width:1220px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Header inner content */
.top .wrap,
.top .nav,
.site-header .wrap,
.site-header .header-inner{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Footer outer frame */
footer.footer,
.footer{
  width:calc(100% - 40px)!important;
  max-width:1220px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Footer inner content */
.footer .wrap{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* Keep hero text aligned */
.pagehero .wrap,
.hero .wrap,
.hero-inner{
  max-width:1220px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Mobile */
@media(max-width:700px){
  header.top,
  header.site-header,
  .site-header,
  .top,
  footer.footer,
  .footer{
    width:calc(100% - 24px)!important;
  }
}

/* NAMESTORE V6 — UNIFIED FRAME CORRECTION */

:root{--ns-frame:1220px}

/* Keep all outer sections in one centered frame */
body > header,
body > .top,
body > .site-header,
body > .hero,
body > .pagehero,
body > footer,
body > .footer,
header.top,
header.site-header,
section.hero,
section.pagehero,
footer.footer{
  width:calc(100% - 40px)!important;
  max-width:var(--ns-frame)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Prevent oversized inner wrappers */
header .wrap,
.top .wrap,
.site-header .wrap,
.hero .wrap,
.pagehero .wrap,
.footer .wrap{
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Restore normal footer alignment */
.footer .wrap{
  padding-left:26px!important;
  padding-right:26px!important;
}

.footer .foot{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}

.footer .foot > div{
  min-width:0!important;
}

.footer .footerlogo,
.footer .namelogo,
.footer .foot-tag,
.footer .tag,
.footer p{
  margin-left:0!important;
  text-indent:0!important;
}

/* Stop footer overflow */
.footer{
  overflow:visible!important;
}

.footer .foot{
  grid-template-columns:
    minmax(0,1.25fr)
    minmax(0,.8fr)
    minmax(0,.85fr)
    minmax(0,1.1fr)!important;
  gap:20px!important;
}

/* Responsive layout */
@media(max-width:900px){
  .footer .foot{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:600px){
  body > header,
  body > .top,
  body > .site-header,
  body > .hero,
  body > .pagehero,
  body > footer,
  body > .footer,
  header.top,
  header.site-header,
  section.hero,
  section.pagehero,
  footer.footer{
    width:calc(100% - 24px)!important;
  }

  .footer .foot{
    grid-template-columns:1fr!important;
  }

  .footer .wrap{
    padding-left:18px!important;
    padding-right:18px!important;
  }
}

/* NAMESTORE V6 — COMPACT HOMEPAGE CARDS */

/* Move the cards closer to the globe */
.main{
  padding-top:10px!important;
  padding-bottom:10px!important;
}

/* Two equal premium panels */
.main .panels{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
  margin-top:0!important;
  margin-bottom:0!important;
}

/* Less empty space inside cards */
.main .panel{
  padding:20px 22px!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  border:5px double #d4af37!important;
  border-radius:8px!important;
}

/* Compact heading area */
.main .panel-icon{
  margin:0 auto 8px!important;
  line-height:1!important;
  font-size:25px!important;
}

.main .panel h2{
  margin:4px 0 5px!important;
  font-size:clamp(24px,2.2vw,31px)!important;
  line-height:1.1!important;
}

.main .panel .sub{
  margin:0 0 13px!important;
  line-height:1.2!important;
}

/* Search form — wider, cleaner */
.main .search-row{
  display:flex!important;
  gap:9px!important;
  align-items:stretch!important;
  margin:12px 0!important;
}

.main .search-row input{
  min-width:0!important;
  flex:1 1 auto!important;
}

.main .search-row select{
  flex:0 0 115px!important;
}

.main .search-row button{
  flex:0 0 126px!important;
}

/* Browse buttons */
.main .browse-row{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:12px!important;
}

.main .browse-card{
  min-width:0!important;
  padding:12px!important;
}

/* Services panel */
.main .features{
  margin:12px 0!important;
  gap:8px 14px!important;
}

.main .reg-btn{
  margin-top:10px!important;
  padding:13px 18px!important;
}

/* Responsive */
@media(max-width:800px){
  .main .panels{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:520px){
  .main .panel{
    padding:16px!important;
  }

  .main .search-row{
    flex-wrap:wrap!important;
  }

  .main .search-row input{
    flex:1 1 100%!important;
  }

  .main .search-row select,
  .main .search-row button{
    flex:1 1 calc(50% - 5px)!important;
  }

  .main .browse-row{
    grid-template-columns:1fr!important;
  }
}

/* NAMESTORE V6 — SEARCH FOOTER FOUR-COLUMN REPAIR */
footer.footer .foot {
  display: grid !important;
  grid-template-columns: 1.35fr 1fr 1fr 1.15fr !important;
  gap: 28px !important;
  align-items: start !important;
}

footer.footer .foot > div {
  min-width: 0;
}

footer.footer .foot a,
footer.footer .foot p {
  display: block !important;
  margin: 7px 0 !important;
  line-height: 1.5 !important;
}

footer.footer .footerlogo {
  font-family: Georgia, serif;
  font-size: 38px;
  font-weight: 900;
  color: #fff;
}

footer.footer .footerlogo .red {
  color: #e31b23;
}

footer.footer .network-title {
  font-weight: 900;
  line-height: 1.4;
  color: #fff;
}

footer.footer .network-locations {
  line-height: 1.6;
  margin: 12px 0;
}

footer.footer .network-stat {
  font-weight: 800;
  margin-bottom: 8px;
}

footer.footer .grand {
  color: #d19a2e;
}

@media (max-width: 900px) {
  footer.footer .foot {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  footer.footer .foot {
    grid-template-columns: 1fr !important;
  }
}

/* NAMESTORE V6 — FOOTER LOGO RESTORATION */
footer.footer .footerlogo {
  display: block !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 42px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: -1px !important;
  color: #ffffff !important;
  margin: 0 0 5px !important;
  text-transform: none !important;
}

footer.footer .footerlogo .red {
  color: #e31b23 !important;
}

footer.footer .foot-tag {
  display: block !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  margin-bottom: 12px !important;
}

@media (max-width: 560px) {
  footer.footer .footerlogo {
    font-size: 34px !important;
  }
}
