/* ==========================================================================
   King Code portal — identity decisions that are King Code's own (loaded after identity.css and pages.css,
   which are recoloured builds of the Tech Titan portal layers; the order form has its own recoloured layer).
   White ground · black text · headings and prices in readable metallic gold · ink-navy focus.
   ========================================================================== */
:root {
    --kc-ink: #141820;
    --kc-ink-2: #59616B;
    --kc-navy: #173C5C;
    --kc-gold: #805610;
    --kc-gold-mid: #C99A36;
    --kc-title: linear-gradient(110deg, #70490E 0%, #9C6C1E 48%, #795011 100%);
}
/* headings: gold, drawn inside a slightly wider box because the display face leans past its own */
body:not(.tt-invoice) :is(h1, h2):not(.modal-title) {
    color: var(--kc-gold);
    background: var(--kc-title);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    padding-inline: .14em;
    margin-inline: -.14em;
    padding-block: .05em;
}
body:not(.tt-invoice) :is(h1, h2) :is(span, small, b, strong, em, a) { -webkit-text-fill-color: transparent; }
body:not(.tt-invoice) :is(h3, h4) { color: var(--kc-gold); }
/* keyboard focus in ink-navy */
body a:focus-visible, body button:focus-visible, body input:focus-visible, body select:focus-visible, body textarea:focus-visible { outline: 3px solid var(--kc-navy) !important; outline-offset: 3px; }
/* luminous gold line flush under the navigation, as on king-code.com */
body .tt-portal-nav { position: relative; }
body .tt-portal-nav::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 2px;
    background:
        linear-gradient(100deg, transparent 0 44%, rgba(255,255,255,.95) 50%, transparent 56% 100%) no-repeat 140% 0 / 240% 100%,
        linear-gradient(110deg, #8D631F 0%, #D3A644 28%, #F6DF96 50%, #C49330 72%, #916317 100%);
    box-shadow: 0 0 9px rgba(211,166,68,.6), 0 2px 7px rgba(246,223,150,.55);
    pointer-events: none;
    animation: kc-portal-line 8s linear infinite;
}
@keyframes kc-portal-line { 0%, 70% { background-position: 140% 0, 0 0; } 100% { background-position: -40% 0, 0 0; } }
@media (prefers-reduced-motion: reduce) { body .tt-portal-nav::after { animation: none; } }

/* Same King Code palette on the client portal; form and payment controls stay native. */
:root {
    --kc-navy:#173c5c;
    --kc-navy-deep:#0b1b31;
    --kc-metal:linear-gradient(110deg,#8f5d13,#e1b454 29%,#fff0ba 50%,#c7912b 73%,#815213);
    --kc-beige:linear-gradient(155deg,#fff8e9,#f4e6c7 55%,#e9d5ad);
    --kc-red:#a51b32;
    --tt-deep:#f2e8d5;
    --tt-panel:#f6ead2;
    --tt-white:#122940;
    --tt-muted:#3c5060;
}
body:not(.tt-invoice),body .box-container,body .bg-colorstyle {
    background:radial-gradient(ellipse 42% 28% at 100% 0,rgba(244,205,112,.38),transparent 72%),
        linear-gradient(155deg,#f8eedb,#ead8b5 50%,#f6ebd5) !important;
}
body .wrapper.sec-normal { background:transparent !important; }
body .tt-portal-nav {
    background:linear-gradient(145deg,#173c5c,#112b46 52%,#0b1b31) !important;
    border-bottom-color:#d0a044 !important;
    box-shadow:0 12px 32px rgba(11,27,49,.24) !important;
}
body .tt-portal-nav .tt-portal-brand {
    background:#fff4d9;
    border:1px solid #d0a044;
    border-radius:12px;
    padding:5px 9px;
}
body .tt-portal-nav :is(.tt-portal-links a,.tt-portal-tools a,.tt-portal-menu-button) {
    color:#f5dfaa !important;
}
body .tt-portal-nav :is(.tt-portal-links a:hover,.tt-portal-tools a:hover) { color:#fff4c7 !important; }
body .tt-portal-nav .tt-portal-login,
body .tt-portal-nav .tt-portal-menu-button {
    background:var(--kc-metal) !important;
    color:#122940 !important;
}
body .tt-portal-nav .tt-portal-tools a { border-color:#bc9144; }
body .tt-portal-hero,
body .tt-portal-home .tt-portal-hero {
    background:radial-gradient(circle at 75% 10%,rgba(232,190,91,.23),transparent 43%),
        linear-gradient(145deg,#173c5c,#112b46 54%,#0b1b31) !important;
    border-color:#c99a36 !important;
    box-shadow:0 22px 48px rgba(11,27,49,.2) !important;
}
body .tt-portal-hero :is(p,small,li) { color:#e7e0d1 !important; }
body .tt-portal-hero :is(h1,h2,h3) {
    background:linear-gradient(110deg,#e1b454,#fff0ba 49%,#c7912b) !important;
    -webkit-background-clip:text !important;
    background-clip:text !important;
    -webkit-text-fill-color:transparent !important;
}
body .tt-portal-screen {
    background:linear-gradient(150deg,#225579,#153c5e 48%,#0b2039) !important;
    border-color:#d0a044 !important;
    box-shadow:0 24px 65px rgba(4,17,35,.5),0 0 32px rgba(208,160,68,.26) !important;
}
body .tt-portal-screen:before { background:linear-gradient(95deg,#b32840,#f3d38d 48%,#8f5d13); }
body .tt-portal-screen span { background:linear-gradient(145deg,#234e72,#0d2b4b) !important; }
body .tt-portal-screen i { background:linear-gradient(135deg,#f5e4bc,#c39035) !important; }
body .tt-portal-screen b { background:linear-gradient(135deg,#9c2038,#49162d) !important; }
body .tt-portal-screen em { background:var(--kc-metal) !important; }
body .tt-portal-phone {
    background:radial-gradient(circle at 45% 32%,#e3b85f,transparent 28%),linear-gradient(145deg,#184b71,#0b2847 65%,#811b32) !important;
    border-color:#d0a044 !important;
    box-shadow:0 18px 32px rgba(4,17,35,.55),0 0 28px rgba(208,160,68,.28) !important;
}
body .tt-portal-phone b { background:linear-gradient(135deg,#a82740,#5b1730) !important; }
body :is(.tt-portal-card,.tt-portal-feature,.tt-portal-plan,.panel,.card):not(.tt-invoice *) {
    border-color:rgba(172,123,43,.52);
}
body .tt-portal-footer {
    background:radial-gradient(ellipse 45% 60% at 85% 0,rgba(218,171,69,.16),transparent 70%),
        linear-gradient(150deg,#173c5c,#102940 57%,#0b1b31) !important;
    border-top:2px solid #d0a044 !important;
}
body .tt-portal-footer :is(p,small,a,strong) { color:#f2dfa9 !important; }
body .tt-portal-footer a:hover { color:#fff5cf !important; }
body .tt-portal-footer-brand img { background:#fff4d9;border-radius:10px;padding:5px 8px;box-sizing:content-box; }
body :is(.alert-danger,.tt-portal-error) { border-color:var(--kc-red) !important; }
/* Keep the five social controls beside the desktop navigation. */
@media (min-width:901px) and (max-width:1600px) {
  .tt-portal-nav-inner { width:min(1400px,calc(100% - 28px));gap:11px; }
  .tt-portal-brand img { width:116px; }
  .tt-portal-links { gap:7px;flex-wrap:nowrap;min-width:0; }
  .tt-portal-links > a { font-size:12px; }
  .tt-portal-social-nav { display:flex;flex:none;flex-wrap:nowrap;width:auto;margin:0 0 0 5px;gap:3px; }
  .tt-portal-social-nav a { width:24px;height:24px;padding:3px; }
  .tt-portal-social-nav img { width:15px;height:15px; }
  .tt-portal-tools { gap:6px;flex:none; }
}

/* KingCode catalogue: the inherited cart CSS carried a TechTitan red background image. */
body.tt-tpl-products #order-standard_cart .products .product {
  display:flex!important;flex-direction:column!important;min-width:0!important;
  background:radial-gradient(circle at 88% 8%,rgba(222,176,77,.19),transparent 35%),
    linear-gradient(145deg,#1a4568 0%,#102b49 58%,#0a1a30 100%)!important;
  border:1px solid #d3a64a!important;border-radius:17px!important;
  box-shadow:0 16px 36px rgba(10,26,48,.22),inset 0 1px rgba(255,238,184,.16)!important;
  padding:0!important;overflow:hidden!important;color:#f7e8c3!important;
}
body.tt-tpl-products #order-standard_cart .products .product header {
  margin:0!important;padding:20px 22px 16px!important;background:transparent!important;
  border-bottom:1px solid rgba(225,180,84,.35)!important;
}
body.tt-tpl-products #order-standard_cart .products .product header span {
  color:#fff4d5!important;font-size:clamp(19px,1.5vw,24px)!important;
  line-height:1.4!important;font-weight:800!important;
}
body.tt-tpl-products #order-standard_cart .products .product .product-desc {
  float:none!important;width:100%!important;flex:1!important;
  padding:18px 24px!important;color:#f3e6ca!important;font-size:15px!important;
  line-height:1.75!important;text-align:start!important;
}
body.tt-tpl-products #order-standard_cart .products .product .product-desc :is(p,li,span) {
  color:#f3e6ca!important;line-height:1.75!important;
}
body.tt-tpl-products #order-standard_cart .products .product .product-desc ul {
  margin:0!important;padding-inline-start:20px!important;list-style:disc!important;
}
body.tt-tpl-products #order-standard_cart .products .product .product-desc li {margin:0 0 9px!important;}
body.tt-tpl-products #order-standard_cart .products .product .kc-service-visual {
  display:block;width:100%;height:auto;max-width:100%;object-fit:contain;
  border:1px solid rgba(240,198,112,.45);border-radius:12px;margin:0 0 18px;
  box-shadow:0 10px 26px rgba(2,11,24,.27);
}
body.tt-tpl-products #order-standard_cart .products .product footer {
  float:none!important;width:100%!important;margin:0!important;padding:15px 22px 20px!important;
  border-top:1px solid rgba(225,180,84,.35)!important;background:rgba(4,17,34,.34)!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important;
}
body.tt-tpl-products #order-standard_cart .products .product :is(.product-pricing,.product-pricing span,.price) {
  color:#f7d885!important;font-weight:800!important;
}
body.tt-tpl-products #order-standard_cart .products .product .btn-order-now {
  position:static!important;margin:0!important;min-height:44px!important;
  background:var(--kc-metal)!important;color:#14283d!important;border:1px solid #ffe4a0!important;
}
@media(max-width:600px){body.tt-tpl-products #order-standard_cart .products .product footer{align-items:stretch!important}body.tt-tpl-products #order-standard_cart .products .product .btn-order-now{width:100%!important}}
body.tt-in-cart #order-standard_cart .list-group-item.active,
body.tt-in-cart #order-standard_cart .sidebar-collapsed .list-group-item.active {
  background:linear-gradient(115deg,#173c5c,#0c223c)!important;
  color:#ffe4a0!important;border-color:#d3a64a!important;
}
body.tt-in-cart #order-standard_cart .list-group-item.active :is(span,i) {color:#ffe4a0!important;}
body.tt-in-cart #order-standard_cart .list-group-item:not(.active):hover {
  background:#fff2d6!important;color:#173c5c!important;
}

/* Domain registration: replace inherited red artwork and give the price grid room. */
body.tt-in-cart #order-standard_cart .domain-checker-bg {
  background:radial-gradient(circle at 85% 12%,rgba(240,195,99,.24),transparent 34%),linear-gradient(135deg,#173d5e,#091d35)!important;
  border:1px solid #d6ac5a!important;border-radius:18px!important;
  padding:42px 20px!important;box-shadow:0 18px 35px rgba(9,29,53,.22)!important;
}
body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) {margin-top:30px!important;min-width:0!important;}
body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) .featured-tld {
  background:linear-gradient(155deg,#fffaf0,#f2dfb6)!important;border:1px solid #d6ac5a!important;
  border-radius:14px!important;overflow:hidden!important;box-shadow:0 10px 24px rgba(9,29,53,.12)!important;
}
body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) .featured-tld .price {font-size:16px!important;font-weight:800!important;color:#102b49!important;}
body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing)>.bg-white {
  width:100%!important;overflow-x:auto!important;background:#fff9eb!important;
  border:1px solid #d6ac5a!important;border-radius:14px!important;
}
body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) :is(.tld-pricing-header,.tld-row) {min-width:620px!important;margin:0!important;}
body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) .tld-pricing-header {
  background:#153d5b!important;color:#ffe6a9!important;font-weight:800!important;padding:12px 0!important;
}
body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) .tld-row {
  color:#17354b!important;background:#fff9eb!important;border-top:1px solid #e9d4a8!important;
  align-items:center!important;min-height:56px!important;font-size:14px!important;
}
body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) .tld-row:nth-child(odd) {background:#f8ebd2!important;}
body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) .tld-row :is(strong,small) {color:#17354b!important;}
body.tt-tpl-products #order-standard_cart .ttkc-service-copy {font-size:15px!important;color:#f3e6ca!important;line-height:1.75!important;}
body.tt-tpl-products #order-standard_cart .ttkc-service-copy :is(p,li) {margin:0 0 10px!important;color:#f3e6ca!important;}
@media(max-width:600px){body.tt-in-cart #order-standard_cart .domain-checker-bg{padding:24px 10px!important}body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) .featured-tld{margin-bottom:12px!important}}

/* Compact catalogue flow; each column stacks without gaps from its neighbour. */
body .tt-portal-login,body .tt-portal-login:hover,body .tt-portal-login:focus{color:#102d49!important;text-shadow:none!important}
body.tt-tpl-products #order-standard_cart #products{column-count:2;column-gap:22px;display:block!important}
body.tt-tpl-products #order-standard_cart #products>.row{display:contents!important}
body.tt-tpl-products #order-standard_cart #products>.row>.col-md-6{display:inline-block!important;width:100%!important;float:none!important;padding:0!important;break-inside:avoid;vertical-align:top;margin:0 0 22px!important}
body.tt-tpl-products #order-standard_cart #products .product{margin:0!important}
@media(max-width:767px){body.tt-tpl-products #order-standard_cart #products{column-count:1}}

html body .tt-portal-nav .tt-portal-links a.tt-portal-login,html body .tt-portal-nav .tt-portal-links a.tt-portal-login:hover,html body .tt-portal-nav .tt-portal-links a.tt-portal-login:focus{color:#102d49!important;text-shadow:none!important}

body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) :is(.tld-pricing-header,.tld-row){display:grid!important;grid-template-columns:minmax(54px,.85fr) minmax(0,3fr)!important;min-width:0!important;width:100%!important}
body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) :is(.tld-pricing-header,.tld-row)>div{width:100%!important;max-width:100%!important;float:none!important;padding:10px 5px!important}
body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) :is(.tld-pricing-header,.tld-row)>div>.row{display:flex!important;margin:0!important;width:100%!important}
body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) :is(.tld-pricing-header,.tld-row)>div>.row>div{width:33.333%!important;max-width:33.333%!important;flex:0 0 33.333%!important;padding:0 3px!important}
body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) .tld-pricing-header *{background:transparent!important;color:#ffe6a9!important}
body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) .tld-filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}
body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) .tld-filters a{padding:8px 12px;border-radius:8px;background:#153d5b;color:#ffe6a9;font-size:12px}
body.tt-in-cart #order-standard_cart .domain-promo-box{background:linear-gradient(135deg,#fff9e9,#f1dfba)!important;border:1px solid #d6ac5a!important;border-radius:16px!important;padding:22px!important;color:#17354b!important}
@media(max-width:600px){body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) :is(.tld-pricing-header,.tld-row){font-size:11px!important}body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) .tld-row small{font-size:10px!important}body.tt-in-cart #order-standard_cart .domain-pricing:not(.ttc-pricing) .tld-row .px-4{padding:6px 3px!important}}

@media(min-width:768px){body.tt-tpl-products #order-standard_cart #products>.row:nth-child(2)>.col-md-6:first-child{break-before:column!important}}
