/*
Theme Name: PartoNet Child
Template: partonet-base
Description: Child theme for overrides.
Version: 0.1.0
*/
/* Two-column blog layout */
.pn-post-row{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:24px;
  align-items:start;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:18px;
  box-shadow:0 6px 16px rgba(0,0,0,.06);
  margin-bottom:18px;
}
.pn-post-row .pn-post-title{ margin:0 0 6px; }
.pn-post-row .pn-post-meta{ color:#6b7280; font-size:14px; margin-bottom:8px; }
.pn-post-row .pn-post-excerpt{ color:#374151; }
.pn-post-row .pn-post-more{ display:inline-block; margin-top:10px; }
.pn-post-thumb{ width:100%; height:auto; border-radius:10px; display:block; }
.pn-pagination{ margin-top:24px; }

/* Single post tweaks */
.pn-post-single{ grid-template-columns: 1.2fr .8fr; }

/* Responsive */
@media (max-width:900px){
  .pn-post-row{ grid-template-columns:1fr; }
}
/* --- Adjust header brand spacing --- */
.site-title,
.site-branding,
.header-logo,
.navbar-brand {
    margin-left: 30px; 
}
/* Header brand spacing */
.site-title, .site-title a,
.site-branding,
.header-logo,
.navbar-brand,
.brand {
  margin-left: 30px !important;
}

/* If your header wraps everything in a .site-header .container, this adds left padding instead */
.site-header .container {
  padding-left: 24px;
}
/* === Topbar (blue strip) spacing === */
.topbar, .site-topbar, .header-topbar {
  padding-left: 30px;
  padding-right: 30px; 
}
.topbar,
.header-top,
.site-header .topbar {
  background-color: #1e3a8a;
  padding: 12px 30px;
  font-size: 15px;
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.topbar a,
.header-top a {
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
}

.footer-bottom,
.site-footer,
.footer-credits {
  background-color: #1e3a8a;
  padding: 12px 30px;
  font-size: 15px;
  font-weight: 600;
  color: #ffffff;
}

.footer-bottom a,
.site-footer a,
.footer-credits a {
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
}
/* Top blue bar: force layout */
.topbar {
  background-color: #1e3a8a;
  padding: 12px 30px;
  width: 100%;
  display: flex !important;           /* force flex layout */
  align-items: center;
  gap: 14px;
  font-size: 15px;
  font-weight: 600;
}

/* Push portal button to the far right */
.topbar .btn-portal,
.topbar .topbar-client {
  margin-left: auto !important;       /* go to the right */
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.6);
  padding: 4px 10px;
  border-radius: 6px;
}

/* Left items spacing */
.topbar .topbar-phone,
.topbar .topbar-email { margin-right: 10px; }
.topbar .sep { margin: 0 8px; color: rgba(255,255,255,.7); }

/* Fallback if flex is overridden by a parent: float right */
.no-flex .btn-portal,
.no-flex .topbar-client,
.topbar:not([style*="display:flex"]) .btn-portal,
.topbar:not([style*="display:flex"]) .topbar-client {
  float: right;
}
/* Force right-align for Clients Portal in top blue bar */
.topbar {
  position: relative;
  padding: 12px 30px;
}

.topbar .btn-portal,
.topbar .topbar-client {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  border: 1px solid rgba(255,255,255,.6);
  padding: 4px 10px;
  border-radius: 6px;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}

/* Keep phone + email on the left */
.topbar .topbar-phone,
.topbar .topbar-email,
.topbar .sep {
  display: inline-block;
  margin-right: 10px;
}
/* Force phone & email to left side in topbar */
.topbar {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 12px 30px;
}

.topbar-left {
  display: flex;
  gap: 12px;
  align-items: center;
}

.topbar-left .topbar-phone,
.topbar-left .topbar-email {
  color: #fff;
  text-decoration: none;
  font-weight: 500;
}

.topbar-left .sep {
  color: rgba(255,255,255,0.6);
}

.topbar-right {
  margin-left: auto; /* pushes Clients Portal to the right */
}

.topbar .btn-portal,
.topbar .topbar-client {
  border: 1px solid rgba(255,255,255,.6);
  padding: 4px 10px;
  border-radius: 6px;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}
/* Topbar: force phone/email left, portal right */
.topbar,
.site-topbar,
.header-top {
  position: relative;
  width: 100%;
  padding: 12px 30px;
  text-align: left !important;         /* override any center text */
}

/* Push portal to the far right (already works if class differs) */
.topbar .btn-portal,
.topbar .topbar-client {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  border: 1px solid rgba(255,255,255,.6);
  padding: 4px 10px;
  border-radius: 6px;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}

/* Left group: phone + email (any anchors except portal) */
.topbar a:not(.btn-portal):not(.topbar-client) {
  display: inline-block;
  margin-right: 14px;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
}

.topbar .sep {
  display: inline-block;
  margin: 0 10px;
  color: rgba(255,255,255,.7);
}

/* In case a container inside topbar enforces centering */
.topbar .container,
.site-topbar .container,
.header-top .container {
  text-align: left !important;
}

/* Topbar: force left for phone/email, force right for portal */
.topbar {
  position: relative;
  padding: 12px 30px;
  width: 100%;
  color: #fff;
}

/* Make any common wrappers align left even if theme centers them */
.topbar,
.topbar .container,
.topbar .row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
}

/* Space between left items */
.topbar .topbar-phone,
.topbar .topbar-email,
.topbar .sep {
  display: inline-block;
  margin-right: 14px !important;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
}

/* Force the portal button/link to the far right */
.topbar .topbar-client,
.topbar .btn-portal,
.topbar a[href*="billing.partonet.net"] {
  margin-left: auto !important;
  position: relative !important;
  right: 0 !important;
  transform: none !important;
  border: 1px solid rgba(255,255,255,.6);
  padding: 4px 10px;
  border-radius: 6px;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 600;
}

/* If any ancestor still enforces centering, neutralize it */
.topbar * {
  text-align: left !important;
}
/* Topbar precise layout */
.topbar .container.row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  text-align: left !important;
  gap: 14px;
}
.topbar .container.row > div:first-child {
  display: flex !important;
  align-items: center !important;
  gap: 12px;
}
.topbar .topbar-phone,
.topbar .topbar-email {
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}
.topbar .btn-portal {
  margin-left: auto !important;
  position: static !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
}
/* topbar hard layout override */
.topbar > .container.row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
  width: 100%;
  gap: 14px;
}
.topbar > .container.row > div {
  display: flex !important;
  align-items: center !important;
  gap: 12px;
}
.topbar > .container.row > div:first-child a {
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  white-space: nowrap;
}
.topbar > .container.row > div:last-child {
  margin-left: auto !important;      /* push Clients Portal to the right */
}
/* Billing-driven service pages */
.service-header { text-align:center; margin-bottom:40px; }
.service-header h1 { font-size:2.2rem; font-weight:700; }
.service-subtitle { font-size:1.1rem; color:#556; }
.service-products .product-grid {
  display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:24px; margin-top:36px;
}
.product-box {
  background:#fff; border:1px solid #e5e7eb; padding:22px; text-align:center; border-radius:12px;
  box-shadow:0 8px 24px rgba(2,6,23,0.06);
}
.product-box h3 { font-size:1.25rem; margin:0 0 8px 0; color:#0f172a; }
.product-box p { color:#6b7280; min-height:44px; }
.product-box .price { font-size:1.1rem; font-weight:700; margin:10px 0 14px; }
.btn-order { display:inline-block; padding:10px 16px; background:#1d4ed8; color:#fff; text-decoration:none; border-radius:8px; }
.btn-order:hover { background:#1e40af; }
