/* ParsonsHosting "parsons" child theme. Paper, ink and red pen, matching the homepage.
   CSS only: no WHMCS logic is changed. Fonts live in ../fonts. */
@font-face { font-family: "Bricolage Grotesque"; font-style: normal; font-weight: 400 800; font-stretch: 75% 100%; font-display: swap; src: url(../fonts/bricolage.woff2) format("woff2"); }
@font-face { font-family: "Caveat"; font-style: normal; font-weight: 500 700; font-display: swap; src: url(../fonts/caveat.woff2) format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/plexmono-400.woff2) format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 600; font-display: swap; src: url(../fonts/plexmono-600.woff2) format("woff2"); }

:root {
  --ph-paper: #eef2ef; --ph-sheet: #fbfcfa; --ph-ink: #15191d; --ph-ink-2: #3b4249;
  --ph-blue: #1a5fb4; --ph-red: #c4201a; --ph-hi: #ffe94a; --ph-sticky: #ffe36b; --ph-carbon: #ffd9d2;
  --ph-grid: rgba(26, 95, 180, .11); --ph-grid-fine: rgba(26, 95, 180, .055);
  --ph-display: "Bricolage Grotesque", "Arial Narrow", sans-serif;
  --ph-mono: "IBM Plex Mono", ui-monospace, monospace;
  --ph-hand: "Caveat", "Comic Sans MS", cursive;
  --ph-body: "Bricolage Grotesque", system-ui, sans-serif;
}

/* Page */
body.ph-theme {
  background-color: var(--ph-paper);
  background-image:
    linear-gradient(var(--ph-grid) 1px, transparent 1px), linear-gradient(90deg, var(--ph-grid) 1px, transparent 1px),
    linear-gradient(var(--ph-grid-fine) 1px, transparent 1px), linear-gradient(90deg, var(--ph-grid-fine) 1px, transparent 1px);
  background-size: 120px 120px, 120px 120px, 24px 24px, 24px 24px;
  color: var(--ph-ink); font-family: var(--ph-body); font-variation-settings: "wdth" 96;
}
.ph-theme a { color: var(--ph-ink); text-decoration-color: var(--ph-red); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.ph-theme a:hover { color: var(--ph-red); }
.ph-theme h1, .ph-theme h2, .ph-theme h3, .ph-theme .h1, .ph-theme .h2, .ph-theme .h3,
.ph-theme .font-size-36, .ph-theme .font-size-30, .ph-theme .font-size-24 {
  font-family: var(--ph-display); font-weight: 800; letter-spacing: -.02em; color: var(--ph-ink); font-variation-settings: "wdth" 82, "opsz" 48;
}
.ph-theme h4, .ph-theme h5, .ph-theme h6, .ph-theme .card-title { font-family: var(--ph-display); font-weight: 700; color: var(--ph-ink); }
.ph-theme ::selection { background: var(--ph-hi); }
.ph-hand { font-family: var(--ph-hand); font-weight: 700; color: var(--ph-red); }

/* Header */
.ph-theme .header { background: var(--ph-paper); border-bottom: 2px solid var(--ph-ink); box-shadow: 0 6px 14px -12px rgba(21, 25, 29, .5); position: sticky; top: 0; z-index: 1020; }
.ph-theme .header .topbar { background: var(--ph-ink); color: #fff; font-family: var(--ph-mono); font-size: 12px; }
.ph-theme .header .topbar .btn, .ph-theme .header .topbar .input-group-text { color: #fff; background: transparent; border: 0; font-family: var(--ph-mono); font-size: 12px; }
.ph-theme .header .topbar .btn-active-client span { border-bottom: 2px solid var(--ph-red); }
.ph-theme .header .ph-bar { background: transparent; padding: 10px 0; }
.ph-theme .header .ph-bar .container { display: flex; align-items: center; flex-wrap: nowrap; }
.ph-mark { display: inline-flex; align-items: center; gap: 14px; text-decoration: none !important; margin: 0; padding: 0; line-height: 1; min-width: 0; }
.ph-name { font: 800 26px/30px var(--ph-display); letter-spacing: -.02em; color: var(--ph-ink); font-variation-settings: "wdth" 80, "opsz" 96; white-space: nowrap; }
.ph-tag { font: 700 21px/24px var(--ph-hand); color: var(--ph-red); transform: rotate(-3deg); white-space: nowrap; }
.ph-links { margin-left: auto; align-items: center; gap: 20px; font: 600 12.5px/1 var(--ph-mono); text-transform: uppercase; letter-spacing: .06em; }
.ph-links a { text-decoration: none; padding: 6px 0; white-space: nowrap; }
.ph-links a:hover { text-decoration: underline; color: var(--ph-ink); }
.ph-theme .ph-phone { color: var(--ph-red) !important; letter-spacing: .03em; }
.ph-links .ph-phone::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: var(--ph-red); vertical-align: 1px; }
.ph-theme .header .toolbar { flex-direction: row; margin-left: auto; }
.ph-links + .toolbar { margin-left: 8px !important; }
.ph-theme .header .toolbar .nav-link { border: 2px solid var(--ph-ink); background: var(--ph-sheet); color: var(--ph-ink); border-radius: 0; box-shadow: 3px 3px 0 var(--ph-ink); padding: 7px 10px; font: 600 12px/1 var(--ph-mono); text-transform: uppercase; letter-spacing: .08em; display: inline-flex; align-items: center; gap: 6px; height: 38px; }
.ph-theme .header .toolbar .nav-link:hover { transform: translate(1px, 1px); box-shadow: 2px 2px 0 var(--ph-ink); }
.ph-theme .header .toolbar .badge-info { background: var(--ph-red); color: #fff; border-radius: 0; font-family: var(--ph-mono); }
.ph-menu-label { font-family: var(--ph-mono); }
.ph-theme .main-navbar-wrapper { background: var(--ph-sheet); border-top: 1.5px dashed rgba(21, 25, 29, .35); padding: 0; }
.ph-theme .main-navbar-wrapper .navbar-nav .nav-link { font: 600 12px/1 var(--ph-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--ph-ink); padding: 12px 12px; }
.ph-theme .main-navbar-wrapper .navbar-nav .nav-link:hover, .ph-theme .main-navbar-wrapper .navbar-nav .active > .nav-link { color: var(--ph-red); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.ph-theme .dropdown-menu { border: 2px solid var(--ph-ink); border-radius: 0; box-shadow: 5px 5px 0 rgba(21, 25, 29, .18); background: var(--ph-sheet); padding: 6px 0; }
.ph-theme .dropdown-item { font-family: var(--ph-body); font-size: 15px; color: var(--ph-ink); }
.ph-theme .dropdown-item:hover, .ph-theme .dropdown-item:focus { background: var(--ph-hi); color: var(--ph-ink); }
.ph-theme .dropdown-divider { border-top: 1.5px dashed rgba(21, 25, 29, .35); }
.ph-theme .header .search .form-control, .ph-theme .header .search .btn { border-radius: 0; border: 2px solid var(--ph-ink); background: #fff; }
.ph-links-mobile .nav-link::before { content: "\2192"; color: var(--ph-red); margin-right: 10px; }
.ph-links-mobile { border-bottom: 1.5px dashed rgba(21, 25, 29, .35); margin-bottom: 8px; }

/* Breadcrumb */
.ph-theme .master-breadcrumb { background: transparent; border-bottom: 0; }
.ph-theme .master-breadcrumb .breadcrumb { background: transparent; padding: 14px 0 0; margin: 0; font: 400 12px/1.3 var(--ph-mono); text-transform: uppercase; letter-spacing: .08em; }
.ph-theme .master-breadcrumb .breadcrumb-item, .ph-theme .master-breadcrumb .breadcrumb-item a { color: var(--ph-blue); }
.ph-theme .master-breadcrumb .breadcrumb-item.active { color: var(--ph-ink-2); }

/* Main body */
.ph-theme #main-body { background: transparent; padding: 28px 0 60px; }

/* Cards, panels, sidebars: sheets of paper with ink edges */
.ph-theme .card, .ph-theme .panel, .ph-theme .sidebar .card, .ph-theme .list-group,
.ph-theme #order-standard_cart .panel, .ph-theme .tiles .tile, .ph-theme .kb-search,
.ph-theme .announcements .announcement, .ph-theme .modal-content {
  background: var(--ph-sheet); border: 2px solid var(--ph-ink) !important; border-radius: 0 !important; box-shadow: 6px 6px 0 rgba(21, 25, 29, .14);
}
.ph-theme .card-header, .ph-theme .panel-heading, .ph-theme .modal-header {
  background: transparent; border-bottom: 3px double var(--ph-ink); border-radius: 0 !important;
  font: 600 12px/1.3 var(--ph-mono); text-transform: uppercase; letter-spacing: .1em; color: var(--ph-ink);
}
.ph-theme .card-header .card-title, .ph-theme .panel-title, .ph-theme .modal-title { font: 600 12px/1.3 var(--ph-mono) !important; text-transform: uppercase; letter-spacing: .1em; color: var(--ph-ink); margin: 0; }
.ph-theme .card-footer { background: transparent; border-top: 1.5px dashed rgba(21, 25, 29, .35); }
.ph-theme .list-group-item { background: transparent; border-color: rgba(21, 25, 29, .2); border-radius: 0 !important; color: var(--ph-ink); }
.ph-theme .list-group-item.active, .ph-theme .list-group-item-action.active { background: var(--ph-hi); color: var(--ph-ink); border-color: rgba(21, 25, 29, .2); font-weight: 700; }
.ph-theme .list-group-item-action:hover { background: rgba(255, 233, 74, .35); color: var(--ph-ink); }
.ph-theme .sidebar .card { margin-bottom: 26px; }

/* Buttons */
.ph-theme .btn { border-radius: 0; font-family: var(--ph-display); font-weight: 700; }
.ph-theme .btn-primary, .ph-theme .btn-success, .ph-theme .btn-info,
.ph-theme #order-standard_cart .btn-primary, .ph-theme #order-standard_cart .btn-success, .ph-theme #order-standard_cart .btn-checkout {
  background: var(--ph-ink) !important; border: 2px solid var(--ph-ink) !important; color: #fff !important; box-shadow: 4px 4px 0 var(--ph-red); transition: transform .12s, box-shadow .12s;
}
.ph-theme .btn-primary:hover, .ph-theme .btn-success:hover, .ph-theme .btn-info:hover,
.ph-theme #order-standard_cart .btn-primary:hover, .ph-theme #order-standard_cart .btn-success:hover { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--ph-red); }
.ph-theme .btn-default, .ph-theme .btn-secondary, .ph-theme .btn-outline-primary, .ph-theme .btn-light,
.ph-theme #order-standard_cart .btn-default {
  background: var(--ph-sheet) !important; border: 2px solid var(--ph-ink) !important; color: var(--ph-ink) !important; box-shadow: 3px 3px 0 var(--ph-ink);
}
.ph-theme .btn-default:hover, .ph-theme .btn-secondary:hover, .ph-theme .btn-outline-primary:hover { transform: translate(1px, 1px); box-shadow: 2px 2px 0 var(--ph-ink); }
.ph-theme .btn-danger { background: var(--ph-sheet) !important; color: var(--ph-red) !important; border: 2px solid var(--ph-red) !important; }
.ph-theme .btn-link { color: var(--ph-red); font-family: var(--ph-hand); font-size: 1.3em; }
.ph-theme .btn:focus-visible, .ph-theme a:focus-visible, .ph-theme .form-control:focus { outline: 3px solid var(--ph-blue); outline-offset: 2px; box-shadow: none; }

/* Forms */
.ph-theme .form-control, .ph-theme .custom-select, .ph-theme select.form-control {
  border: 2px solid var(--ph-ink); border-radius: 0; background-color: #fff; color: var(--ph-ink); font-family: var(--ph-body);
}
.ph-theme .form-control:focus { border-color: var(--ph-ink); background-color: rgba(255, 233, 74, .18); }
.ph-theme label, .ph-theme .control-label, .ph-theme .field-icon + label { font: 600 12px/1.3 var(--ph-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--ph-ink-2); }
.ph-theme .input-group-text { border: 2px solid var(--ph-ink); border-radius: 0; background: var(--ph-sheet); }
.ph-theme .input-group > .form-control, .ph-theme .input-group > .input-group-append > .btn, .ph-theme .input-group > .input-group-prepend > .btn { border-radius: 0; }
.ph-theme .alert { border-radius: 0; border: 2px solid currentColor; font-family: var(--ph-body); }
.ph-theme .alert-info { background: #eaf1fb; color: var(--ph-blue); }
.ph-theme .alert-warning { background: #fff7cf; color: #6b5300; }
.ph-theme .alert-danger { background: #fde9e7; color: var(--ph-red); }
.ph-theme .alert-success { background: #e8f5ea; color: #1d6b2c; }
.ph-theme .badge { border-radius: 0; font-family: var(--ph-mono); font-weight: 600; letter-spacing: .04em; }
.ph-theme .table { color: var(--ph-ink); }
.ph-theme .table thead th { border-bottom: 3px double var(--ph-ink); font: 600 11px/1.3 var(--ph-mono); text-transform: uppercase; letter-spacing: .08em; }
.ph-theme .table td, .ph-theme .table th { border-color: rgba(21, 25, 29, .2); }
.ph-theme .pagination .page-link { border-radius: 0 !important; border: 2px solid var(--ph-ink); color: var(--ph-ink); margin-right: -2px; }
.ph-theme .pagination .active .page-link { background: var(--ph-ink); color: #fff; }

/* Store and order form (standard_cart), styled from here only */
.ph-theme #order-standard_cart .header-lined h1, .ph-theme .header-lined h1 { font-size: clamp(30px, 4vw, 44px); line-height: 1; margin-bottom: 8px; }
.ph-theme .header-lined { border-bottom: 2px solid var(--ph-ink); margin-bottom: 22px; padding-bottom: 10px; }
.ph-theme .header-lined p, .ph-theme .header-lined .lead { font-size: 18px; color: var(--ph-ink-2); }
.ph-theme #order-standard_cart .products .product {
  background: var(--ph-sheet); border: 2px solid var(--ph-ink); border-radius: 0; box-shadow: 6px 6px 0 rgba(21, 25, 29, .14); padding: 0; margin-bottom: 28px; overflow: hidden;
}
.ph-theme #order-standard_cart .products .product header {
  background: transparent; border-bottom: 3px double var(--ph-ink); padding: 14px 18px; border-radius: 0;
}
.ph-theme #order-standard_cart .products .product header span { font-family: var(--ph-display); font-weight: 800; font-size: 24px; color: var(--ph-ink); letter-spacing: -.01em; }
.ph-theme #order-standard_cart .products .product header .qty { font: 400 12px/1 var(--ph-mono); color: var(--ph-red); }
.ph-theme #order-standard_cart .products .product div.product-desc { padding: 14px 18px; font-size: 15px; color: var(--ph-ink); }
.ph-theme #order-standard_cart .products .product div.product-desc ul { padding-left: 0; list-style: none; }
.ph-theme #order-standard_cart .products .product div.product-desc li { padding: 5px 0 5px 26px; position: relative; border-bottom: 1.5px dashed rgba(21, 25, 29, .2); }
.ph-theme #order-standard_cart .products .product div.product-desc li::before { content: ""; position: absolute; left: 4px; top: 7px; width: 7px; height: 13px; border: solid var(--ph-red); border-width: 0 3px 3px 0; transform: rotate(40deg); }
.ph-theme #order-standard_cart .products .product footer { padding: 14px 18px 18px; background: transparent; }
.ph-theme #order-standard_cart .products .product div.product-pricing { color: var(--ph-ink); font-family: var(--ph-mono); font-size: 13px; }
.ph-theme #order-standard_cart .products .product div.product-pricing span.price { font: 800 30px/1.1 var(--ph-display); color: var(--ph-ink); display: block; }
.ph-theme #order-standard_cart .order-summary, .ph-theme #order-standard_cart .summary-container {
  background: var(--ph-carbon) repeating-linear-gradient(transparent 0 31px, rgba(196, 32, 26, .2) 31px 32px) !important;
  border: 2px solid var(--ph-ink); border-radius: 0; box-shadow: 6px 6px 0 rgba(21, 25, 29, .14);
}
.ph-theme #order-standard_cart .order-summary h2 { background: transparent !important; color: var(--ph-ink) !important; font: 600 12px/1.3 var(--ph-mono) !important; text-transform: uppercase; letter-spacing: .1em; border-bottom: 3px double var(--ph-ink); }
.ph-theme #order-standard_cart .order-summary .total-due-today .amt, .ph-theme #order-standard_cart .summary-container .total-due-today .amt { font-family: var(--ph-display); font-weight: 800; color: var(--ph-ink); }
.ph-theme #order-standard_cart .sub-heading { border-top: 1.5px dashed rgba(21, 25, 29, .35); }
.ph-theme #order-standard_cart .sub-heading span, .ph-theme #order-standard_cart .sub-heading .primary-bg-color { background: var(--ph-paper) !important; color: var(--ph-blue) !important; font: 600 12px/1.3 var(--ph-mono); text-transform: uppercase; letter-spacing: .1em; }
.ph-theme #order-standard_cart .field-container, .ph-theme #order-standard_cart .view-cart-items, .ph-theme #order-standard_cart .view-cart-items-header {
  border-radius: 0;
}
.ph-theme #order-standard_cart .view-cart-items-header { background: var(--ph-ink) !important; color: #fff; font-family: var(--ph-mono); text-transform: uppercase; font-size: 12px; letter-spacing: .08em; }
.ph-theme #order-standard_cart .view-cart-items { border: 2px solid var(--ph-ink); background: var(--ph-sheet); }
.ph-theme #order-standard_cart .view-cart-items .item { border-bottom: 1.5px dashed rgba(21, 25, 29, .25); }
.ph-theme #order-standard_cart .domain-checker-container, .ph-theme .domain-checker-container {
  background: var(--ph-sticky) !important; border: 2px solid var(--ph-ink); border-radius: 0; box-shadow: 6px 6px 0 rgba(21, 25, 29, .14); margin-bottom: 26px;
}
.ph-theme .domain-checker-bg { background: transparent !important; }
.ph-theme .domain-checker-container .input-group-box { background: transparent; border: 0; box-shadow: none; }
.ph-theme .domain-checker-container .form-control { border: 2px solid var(--ph-ink); font-family: var(--ph-mono); font-size: 18px; }
.ph-theme .domain-lookup-result, .ph-theme .domain-suggestions, .ph-theme .spotlight-tlds .spotlight-tld {
  background: var(--ph-sheet); border: 2px solid var(--ph-ink) !important; border-radius: 0 !important;
}
.ph-theme .spotlight-tlds .spotlight-tld .tld-name { font-family: var(--ph-display); font-weight: 800; }
.ph-theme .domain-checker-available { color: #1d6b2c; } .ph-theme .domain-checker-unavailable { color: var(--ph-red); }
.ph-theme .product-recommendations .product-recommendation { border: 2px solid var(--ph-ink); border-radius: 0; }
.ph-theme #order-standard_cart .panel-addon { border: 2px solid var(--ph-ink); border-radius: 0; background: var(--ph-sheet); }
.ph-theme #order-standard_cart .panel-addon-selected { background: var(--ph-hi); }
.ph-theme .cart-sidebar .card, .ph-theme .cart-sidebar .panel { box-shadow: 6px 6px 0 rgba(21, 25, 29, .14); }

/* Knowledgebase and announcements */
.ph-theme .kb-search .form-control { font-size: 18px; }
.ph-theme .kb-category, .ph-theme .kb-article-title { font-family: var(--ph-display); font-weight: 700; }
.ph-theme .kb-article-content { font-size: 17px; line-height: 1.6; }

/* Client area tiles */
.ph-theme .tiles .tile { margin: 0 8px 12px 0; }
.ph-theme .tiles .tile .stat { font-family: var(--ph-display); font-weight: 800; color: var(--ph-ink); }
.ph-theme .tiles .tile .title { font: 600 11px/1.3 var(--ph-mono); text-transform: uppercase; letter-spacing: .1em; color: var(--ph-blue); }
.ph-theme .tiles .tile .highlight { background: var(--ph-red) !important; }

/* Login */


/* Footer */
.ph-theme .ph-foot { position: relative; background: var(--ph-sheet); border-top: 2px solid var(--ph-ink); color: var(--ph-ink); padding: 30px 0 34px; margin-top: 0; }
.ph-theme .ph-foot::before { content: ""; position: absolute; left: 0; right: 0; top: 4px; border-top: 1px solid var(--ph-ink); }
.ph-foot-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 32px; }
.ph-foot-name { font: 800 30px/1 var(--ph-display); letter-spacing: -.02em; font-variation-settings: "wdth" 80, "opsz" 96; margin: 0; }
.ph-foot-invite { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; font-weight: 700; font-size: 18px; margin: 0; }
.ph-foot-invite .ph-hand { font-size: 28px; line-height: 1; transform: rotate(-3deg); display: inline-block; }
.ph-foot-links { display: flex; flex-wrap: wrap; gap: 4px 26px; font: 400 14px/1.4 var(--ph-mono); padding: 12px 0; margin: 18px 0 16px; border-top: 1.5px dotted var(--ph-ink-2); border-bottom: 1.5px dotted var(--ph-ink-2); }
.ph-foot-links a { text-decoration: none; padding: 6px 0; }
.ph-foot-links a:hover { text-decoration: underline; color: var(--ph-ink); }
.ph-foot-links .ph-phone { margin-left: auto; font-weight: 600; }
.ph-foot-close { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 22px; }
.ph-theme .ph-foot .copyright { font: 400 12px/1.4 var(--ph-mono); color: var(--ph-ink-2); }
.ph-theme .ph-locale { border: 2px solid var(--ph-ink); background: #fff; font: 600 12px/1 var(--ph-mono); color: var(--ph-ink); }

/* Tablet and phone */
@media (max-width: 1199.98px) {
  .ph-theme .main-navbar-wrapper .navbar-collapse { padding: 6px 0 14px; }
  .ph-theme .main-navbar-wrapper .navbar-nav .nav-link { padding: 12px 4px; border-bottom: 1.5px dashed rgba(21, 25, 29, .2); }
}
@media (max-width: 991.98px) {
  .ph-tag { font-size: 19px; }
  .ph-name { font-size: 23px; }
}
@media (max-width: 575.98px) {
  .ph-tag { display: none; }
  .ph-name { font-size: 22px; }
  .ph-menu-label { display: none; }
  .ph-foot-links .ph-phone { margin-left: 0; }
  .ph-foot-name { font-size: 26px; }
  .ph-theme #main-body { padding-top: 18px; }
}
@media (prefers-reduced-motion: reduce) { .ph-theme .btn, .ph-theme .nav-link { transition: none !important; } }

/* Comparison-style order forms (wordpress_hosting and friends). Their CSS loads
   after this file, so these rules carry the extra .ph-theme weight. */
.ph-theme #headline, .ph-theme .txt-center #headline { font: 800 clamp(32px, 4.4vw, 48px)/1 var(--ph-display) !important; letter-spacing: -.025em; color: var(--ph-ink) !important; font-variation-settings: "wdth" 82, "opsz" 48; }
.ph-theme #tagline { font: 400 18px/1.4 var(--ph-body) !important; color: var(--ph-ink-2) !important; }
.ph-theme .price-table-container .price-table {
  background: var(--ph-sheet) !important; border: 2px solid var(--ph-ink) !important; border-radius: 0 !important; box-shadow: 6px 6px 0 rgba(21, 25, 29, .14) !important; overflow: hidden;
}
.ph-theme .price-table-container .price-table .top-head, .ph-theme .price-table-container .price-table .top-area, .ph-theme .price-table-container .price-table .price-area {
  background: transparent !important; background-image: none !important; color: var(--ph-ink) !important; border-radius: 0 !important; box-shadow: none !important;
}
.ph-theme .price-table-container .price-table .top-area { border-bottom: 3px double var(--ph-ink) !important; }
.ph-theme .price-table-container .price-table .top-area h4 { font: 800 22px/1.1 var(--ph-display) !important; color: var(--ph-ink) !important; letter-spacing: -.01em; }
.ph-theme .price-table-container .price-table .price { font: 400 14px/1.1 var(--ph-mono) !important; color: var(--ph-ink-2) !important; }
.ph-theme .price-table-container .price-table .price span { font: 800 36px/1.1 var(--ph-display) !important; color: var(--ph-ink) !important; letter-spacing: -.02em; }
.ph-theme .price-table-container .price-table .price small { font: 400 13px/1 var(--ph-mono) !important; }
.ph-theme .price-table-container .price-table .order-button {
  display: inline-block; background: var(--ph-ink) !important; color: #fff !important; border: 2px solid var(--ph-ink) !important; border-radius: 0 !important;
  box-shadow: 4px 4px 0 var(--ph-red) !important; font: 700 16px/1.15 var(--ph-display) !important; text-decoration: none !important; transition: transform .12s, box-shadow .12s;
}
.ph-theme .price-table-container .price-table .order-button:hover { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--ph-red) !important; }
.ph-theme .price-table-container .price-table > ul, .ph-theme .price-table-container .price-table > ul > li { background: transparent !important; color: var(--ph-ink) !important; border-color: rgba(21, 25, 29, .2) !important; }
.ph-theme .price-table-container .price-table h4 { font-family: var(--ph-display) !important; font-weight: 800 !important; color: var(--ph-ink) !important; }
.ph-theme .price-table-container .price-table li li { list-style: none; position: relative; padding-left: 22px; }
.ph-theme .price-table-container .price-table li li::before { content: ""; position: absolute; left: 4px; top: 5px; width: 6px; height: 12px; border: solid var(--ph-red); border-width: 0 3px 3px 0; transform: rotate(40deg); }
.ph-theme .price-table-container .price-table br { display: none; }
.ph-theme .main-container .card h4 { font-weight: 800; }
.ph-theme #order-standard_cart .btn-sidebar-toggle, .ph-theme .sidebar-collapsed .btn { border-radius: 0; }

/* Login: one sheet, not a sheet inside a sheet */
.ph-theme .login-form { background: transparent; border: 0 !important; box-shadow: none; }
.ph-theme .login-form > .card, .ph-theme .card.mw-540 { box-shadow: 8px 8px 0 rgba(255, 227, 107, .95); }
.ph-theme .ph-foot-nap { font: 400 13px/1.5 var(--ph-mono); font-style: normal; color: var(--ph-ink-2); margin: 0 0 14px; }
.ph-theme .ph-foot-nap a { white-space: nowrap; }

/* Social sign-up / sign-in buttons (linkedaccounts.tpl override, 2026-10-15).
   One centered, wrapping row of equal 230px rounded buttons with inline SVG brand logos; stacks on phones. */
.ph-theme .ph-social-btns { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 12px; width: 100%; max-width: 740px; margin: 6px auto 4px; text-align: center; }
.ph-theme .ph-social-btns > *, .ph-theme .ph-social-btns .btn-social { flex: 0 0 230px; width: 230px; min-width: 0; } /* fits the full label; wraps rather than clips */
.ph-theme .ph-social-btns .btn-social {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  width: auto; min-height: 44px; margin: 0; padding: 10px 12px;
  border-radius: 10px !important; border: 2px solid var(--ph-ink) !important; box-shadow: 3px 3px 0 rgba(21, 25, 29, .22);
  font: 700 16px/1.2 var(--ph-body); letter-spacing: 0; text-align: center; white-space: nowrap; overflow: visible;
  transition: transform .12s, box-shadow .12s, background-color .12s;
}
.ph-theme .ph-social-btns .btn-social:hover { transform: translate(1px, 1px); box-shadow: 2px 2px 0 rgba(21, 25, 29, .22); }
.ph-theme .ph-social-btns .btn-social:focus-visible { outline: 3px solid var(--ph-hi); outline-offset: 2px; }
.ph-theme .ph-social-btns .btn-social .ph-social-logo { position: static; flex: 0 0 auto; display: block; border: 0; padding: 0; width: 20px; height: 20px; }
.ph-theme .ph-social-btns .btn-social i.fab { display: none; } /* any leftover icon-font glyph */
.ph-theme .ph-social-btns .btn-facebook, .ph-theme .ph-social-btns .btn-facebook:focus { background: #1877F2; color: #fff; }
.ph-theme .ph-social-btns .btn-facebook:hover { background: #0d65d9; color: #fff; }
.ph-theme .ph-social-btns .btn-twitter, .ph-theme .ph-social-btns .btn-twitter:focus { background: #000; color: #fff; }
.ph-theme .ph-social-btns .btn-twitter:hover { background: #272c30; color: #fff; }
/* Google: the white button with the multicolour G is drawn by Google Identity Services in an iframe
   (width set from this slot by the inline script); strip the theme's .btn chrome off its wrapper. */
.ph-theme .ph-social-btns .btn-google { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 0; margin: 0; background: transparent; border: 0 !important; box-shadow: none; overflow: visible; }
/* Heading over the social buttons ("Sign Up" on register, "Or continue with" on login):
   a clean heading like the "Personal Information" card titles; no rule line, no box. */
.ph-theme .sub-heading.ph-social-heading, .ph-theme #registration .sub-heading.ph-social-heading {
  height: auto; border: 0 !important; margin: 26px 0 16px; text-align: center; background: none;
}
.ph-theme .sub-heading.ph-social-heading span, .ph-theme #registration .sub-heading.ph-social-heading span {
  display: block; position: static; top: auto; padding: 0; background: none !important; box-shadow: none;
  font-family: var(--ph-display); font-weight: 700; font-size: 1.5rem; line-height: 1.2; letter-spacing: -.02em;
  font-variation-settings: "wdth" 82, "opsz" 48; color: var(--ph-ink) !important; text-transform: none;
}
@media (max-width: 576px) {
  /* stacked: all three share one width, capped at Google's 400px button maximum */
  .ph-theme .ph-social-btns { flex-direction: column; align-items: center; max-width: 400px; }
  .ph-theme .ph-social-btns > *, .ph-theme .ph-social-btns .btn-social { flex: 0 0 auto; width: 100%; max-width: 400px; }
  .ph-theme .ph-social-btns .btn-google { margin: 0 auto; }
  .ph-theme .ph-social-btns .btn-google > div, .ph-theme .ph-social-btns .btn-google iframe { margin: 0 auto !important; }
}
@media (prefers-reduced-motion: reduce) { .ph-theme .ph-social-btns .btn-social { transition: none; } }
.ph-theme .ph-page-h1 { font-size: 2rem; margin-bottom: 1rem; }

/* ===== Sitewide chrome (2026-10-16): header/footer now come from /landing/site.css (.ph-chrome).
   The WHMCS client menu sits in a slim bar under the shared header. ===== */
.ph-theme .ph-topbar { border-bottom: 0; box-shadow: none; }
.ph-theme .ph-subhead { box-shadow: none; border-bottom: 2px solid var(--ph-ink); }
.ph-theme .ph-subhead .main-navbar-wrapper { border-top: 0; padding: 6px 0; }
.ph-theme .ph-subhead .main-navbar-wrapper > .container { display: flex; flex-wrap: wrap; align-items: center; }
.ph-theme .ph-subhead .toolbar { flex-direction: row; }
.ph-theme .ph-subhead .ph-cart { order: 2; margin-left: auto; }
.ph-theme .ph-subhead .navbar-collapse { order: 3; }
@media (min-width: 1200px) { .ph-theme .ph-subhead .navbar-collapse { order: 1; } }
.ph-theme .ph-chrome.top .nav a, .ph-theme .ph-chrome.top .nav a:hover { color: var(--ph-ink); }
.ph-theme .ph-chrome.top .nav a.nav-phone { color: var(--ph-red); }
.ph-theme .ph-chrome.foot { margin-top: 0; }
.ph-theme .ph-topbar, .ph-theme .ph-subhead { position: relative; top: auto; z-index: 1010; }
.ph-theme .ph-chrome.top { z-index: 1030; }
/* Let the shared sticky header stick: WHMCS/store CSS made <body> a fixed-height or scrolling box. */
html { overflow: visible !important; }
body.ph-theme { height: auto !important; min-height: 100%; }
.ph-theme .ph-chrome .foot-domain-row { border: 2px solid var(--ink); box-shadow: 3px 3px 0 var(--ink); background: #fff; }
.ph-theme .ph-chrome .foot-domain-row input { background: transparent; }
.ph-theme .ph-chrome .foot-nap a, .ph-theme .ph-chrome .foot-invite a, .ph-theme .ph-chrome .foot-domain-fine a { text-decoration: underline; }
.ph-theme .ph-chrome .foot-invite a { text-decoration-color: var(--red); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.ph-theme .ph-chrome .foot-domain-row input { padding: 8px 10px; font: 500 15px/1.2 var(--mono); color: var(--ink); min-width: 0; flex: 1 1 auto; }
.ph-theme .ph-chrome .foot-domain-row .btn { padding: 8px 14px; font: 700 14px/1.15 var(--display); border: 0; border-left: 2px solid var(--ink); box-shadow: none; }
@media (max-width: 600px) { .ph-theme .ph-chrome .foot-domain-row input { font-size: 16px; } }

/* one H1 for KB/domain/store pages without one (2026-10-20) */
.ph-theme .ph-page-h1 { font-size: clamp(30px, 4vw, 44px); line-height: 1.05; margin: 0 0 20px; }
