/* =========================================================================
   Host247.pl — Child Theme dla WHMCS (rodzic: twenty-one)
   Plik: templates/host247/css/custom.css
   Rebranding motywu Twenty-One pod identyfikację Host247.pl.
   Po zmianach: Narzędzia > System > Wyczyść pamięć podręczną szablonów.
   ========================================================================= */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

/* ── Ochrona ikon Font Awesome (nie nadpisuj ich fontu marką) ──── */
.fa, .fas, .far, .fal, .fab, .fad, .fa-solid, .fa-regular, .fa-brands,
[class^="fa-"], [class*=" fa-"]{
  font-family: "Font Awesome 5 Free","Font Awesome 5 Pro","Font Awesome 5 Brands",
               "Font Awesome 6 Free","Font Awesome 6 Pro","Font Awesome 6 Brands","FontAwesome" !important;
}
.fas, .fa-solid{ font-weight:900 !important; }
.far, .fa-regular{ font-weight:400 !important; }
.fab, .fa-brands{ font-weight:400 !important; }

:root{
  --h-brand:        #10a2dd;
  --h-brand-strong: #0b82b4;
  --h-brand-dark:   #0a6e9c;
  --h-brand-soft:   #eaf7fd;
  --h-ink:          #0d1b2a;
  --h-muted:        #5b6b7d;
  --h-line:         #e4ecf3;
  --h-radius:       14px;
  --h-fh: 'Sora', sans-serif;
  --h-fb: 'Plus Jakarta Sans', -apple-system, Segoe UI, Roboto, sans-serif;
}

/* ── Typografia ──────────────────────────────────────────────────── */
body{ font-family:var(--h-fb); color:var(--h-ink); }
h1,h2,h3,h4,h5,.h1,.h2,.h3,.page-header-title,.card-title{
  font-family:var(--h-fh)!important; letter-spacing:-.01em; color:var(--h-ink);
}

/* ── Linki / kolory akcentu ──────────────────────────────────────── */
a{ color:var(--h-brand); }
a:hover,a:focus{ color:var(--h-brand-strong); }
.text-primary{ color:var(--h-brand)!important; }
.bg-primary{ background-color:var(--h-brand)!important; }
.border-primary{ border-color:var(--h-brand)!important; }

/* ── Przyciski ───────────────────────────────────────────────────── */
.btn{ font-family:var(--h-fh); font-weight:600; border-radius:999px; }
.btn-primary{
  background-color:var(--h-brand); border-color:var(--h-brand);
  box-shadow:0 10px 24px -10px rgba(16,162,221,.6);
}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active,
.btn-primary:not(:disabled):not(.disabled):active{
  background-color:var(--h-brand-strong)!important; border-color:var(--h-brand-strong)!important;
}
.btn-outline-primary{ color:var(--h-brand); border-color:var(--h-brand); }
.btn-outline-primary:hover{ background-color:var(--h-brand); border-color:var(--h-brand); }
.btn-secondary{ border-radius:999px; }
.btn-success{ background-color:#1ec98b; border-color:#1ec98b; }

/* ── Formularze ──────────────────────────────────────────────────── */
.form-control{ border-radius:10px; border-color:var(--h-line); }
.form-control:focus{
  border-color:var(--h-brand);
  box-shadow:0 0 0 .2rem rgba(16,162,221,.25);
}
.custom-control-input:checked~.custom-control-label::before{
  background-color:var(--h-brand); border-color:var(--h-brand);
}

/* ── Karty / panele ──────────────────────────────────────────────── */
.card,.panel{ border-radius:var(--h-radius); border-color:var(--h-line); }
.card-header,.panel-heading{ font-family:var(--h-fh); border-top-left-radius:var(--h-radius); border-top-right-radius:var(--h-radius); }
.panel-primary>.panel-heading{ background:var(--h-brand); border-color:var(--h-brand); }

/* ── Nagłówek / nawigacja ────────────────────────────────────────── */
#header,.navbar{ font-family:var(--h-fh); }
header#header{ background:#ffffff; border-bottom:1px solid var(--h-line); }
.navbar-brand img{ max-height:36px; }
#main-menu .navbar-nav>li>a,.navbar-nav .nav-link{ font-weight:500; color:var(--h-ink); }
#main-menu .navbar-nav>li>a:hover,.navbar-nav .nav-link:hover{ color:var(--h-brand); }
.navbar-nav .nav-link.active,#main-menu .navbar-nav>.active>a{ color:var(--h-brand-strong); }

/* pasek powitalny / breadcrumb pod headerem */
.primary-color,.header-lined .navbar{ background-color:#fff; }
.breadcrumb{ background:transparent; }
.breadcrumb a{ color:var(--h-muted); }

/* ── Sidebar / panele boczne ─────────────────────────────────────── */
.sidebar .list-group-item.active,.panel-sidebar .list-group-item.active{
  background-color:var(--h-brand); border-color:var(--h-brand); color:#fff;
}
.sidebar .list-group-item:hover{ color:var(--h-brand); }

/* ── Etykiety / statusy ──────────────────────────────────────────── */
.label-success,.badge-success{ background-color:#1ec98b; }
.label-danger,.badge-danger{ background-color:#ff5d52; }
.badge-primary,.label-primary{ background-color:var(--h-brand); }
.badge{ font-family:var(--h-fh); font-weight:600; border-radius:999px; }

/* ── Tabele ──────────────────────────────────────────────────────── */
.table thead th{ font-family:var(--h-fh); text-transform:uppercase; font-size:11.5px; letter-spacing:.05em; color:var(--h-muted); border-bottom:1px solid var(--h-line); }
.table tbody tr:hover{ background:var(--h-brand-soft); }

/* ── Alerty ──────────────────────────────────────────────────────── */
.alert-info{ background:var(--h-brand-soft); border-color:rgba(16,162,221,.3); color:var(--h-brand-dark); }

/* ── Strona główna panelu klienta (Twenty-One) ──────────────────── */
.home-banner,.jumbotron{
  background:linear-gradient(135deg,#0d1b2a 0%,#0b6f9c 100%)!important;
  color:#fff; border-radius:var(--h-radius);
}
.home-banner h1,.jumbotron h1{ color:#fff; }
.client-home-panels .panel,.client-home-panels .card{ border-radius:var(--h-radius); }

/* ── Pasek wyszukiwania domen / nagłówki sekcji ─────────────────── */
.domain-checker-availability,.btn-search{ background-color:var(--h-brand); border-color:var(--h-brand); }

/* ── Formularz zamówienia (standard_cart) ────────────────────────── */
#order-standard-cart .panel,#order-standard-cart .card{ border-radius:var(--h-radius); }
#order-standard-cart .btn-checkout,#order-standard-cart .btn-add-to-cart,
.order-button .btn-primary{ background-color:var(--h-brand); border-color:var(--h-brand); }
.product .panel-heading,.product .card-header{ font-family:var(--h-fh); }
.summary-container .total,.cart-total{ color:var(--h-brand-strong); font-family:var(--h-fh); }
.featured-product .panel,.product.featured{ border:2px solid var(--h-brand); }

/* ── Logowanie / rejestracja ─────────────────────────────────────── */
.login-box .card,.register-container .card{ border-radius:var(--h-radius); }
body.login .navbar{ box-shadow:none; }

/* ── Override logowania: split-screen (login.tpl) ───────────────── */
.h247-login{
  position:fixed; inset:0; z-index:1080; overflow:auto;
  display:grid; grid-template-columns:1.05fr .95fr; background:#fff;
  font-family:var(--h-fb);
}
.h247-login-brand{
  background:linear-gradient(150deg,#0d1b2a 0%, #0b6f9c 100%);
  color:#fff; padding:56px; display:flex; flex-direction:column; justify-content:space-between;
  position:relative; overflow:hidden;
}
.h247-login-brand::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(700px 380px at 110% 0%, rgba(16,162,221,.55), transparent 55%);
}
.h247-login-brand>*{ position:relative; }
.h247-login-logo img{ height:34px; }
.h247-login-pitch h2{ color:#fff; font-family:var(--h-fh); font-weight:800; font-size:34px; line-height:1.1; max-width:14ch; }
.h247-login-pitch p{ color:#c6d6e6; margin-top:16px; max-width:36ch; }
.h247-login-feat{ list-style:none; padding:0; margin:28px 0 0; display:grid; gap:14px; }
.h247-login-feat li{ display:flex; align-items:center; gap:12px; color:#dbe7f1; font-size:15px; }
.h247-login-feat li i{ color:#5ec6ef; }
.h247-login-status{ display:flex; align-items:center; gap:10px; color:#a9c2d6; font-size:13px; }
.h247-dot{ width:9px; height:9px; border-radius:50%; background:#1ec98b; box-shadow:0 0 0 4px rgba(30,201,139,.25); }

.h247-login-form{ display:flex; align-items:center; justify-content:center; padding:40px; background:#fff; }
.h247-login-inner{ width:100%; max-width:400px; }
.h247-form-head{ margin-bottom:8px; }
.h247-eyebrow{
  display:inline-block; font-family:var(--h-fh); font-weight:600; font-size:12px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--h-brand-strong); background:var(--h-brand-soft);
  padding:6px 13px; border-radius:999px; margin-bottom:14px;
}
.h247-login-form h1{ font-family:var(--h-fh); font-weight:800; font-size:26px; color:var(--h-ink); }
.h247-login-form .form-group{ margin-top:18px; }
.h247-login-form .form-control{ padding:.75rem 1rem; height:auto; border-radius:12px; background:#f4f9fc; }
.h247-login-form .form-control:focus{ background:#fff; }
.h247-login-form .form-control-label{ font-family:var(--h-fh); font-weight:600; font-size:13px; color:var(--h-ink); }
.h247-remember{ display:flex; align-items:center; gap:8px; margin:16px 0 4px; font-size:14px; color:var(--h-muted); }
.h247-login-form .btn-primary.btn-block{ margin-top:18px; padding:.85rem; }
.h247-login-foot{ text-align:center; margin-top:22px; color:var(--h-muted); font-size:13.5px; }
.h247-login-foot a{ margin-left:6px; }
.h247-back{ text-align:center; margin-top:22px; }
.h247-back a{ color:var(--h-muted); font-size:13px; }
.h247-back a:hover{ color:var(--h-brand-strong); }
.providerLinkingFeedback:empty{ margin:0; }

@media (max-width:880px){
  .h247-login{ grid-template-columns:1fr; }
  .h247-login-brand{ display:none; }
}

/* ════════════════════════════════════════════════════════════════
   Header / nawigacja w stylu strony WWW
   (restyle istniejącego navbara Twenty-One — bezpieczne, bez zmian .tpl)
   ════════════════════════════════════════════════════════════════ */
#header, header#header{ background:#fff!important; border-bottom:1px solid var(--h-line); }
#header .navbar, nav.navbar, .navbar.navbar-expand-lg{
  background:#fff!important; box-shadow:none;
  padding-top:.55rem; padding-bottom:.55rem;
}
.navbar-brand{ padding:0; }
.navbar-brand img{ max-height:38px; width:auto; }

.navbar .navbar-nav .nav-link{
  font-family:var(--h-fh)!important; font-weight:500; color:var(--h-ink)!important;
  border-radius:10px; padding:.5rem .9rem!important; transition:.15s;
}
.navbar .navbar-nav .nav-link:hover{ color:var(--h-brand)!important; background:var(--h-brand-soft); }
.navbar .navbar-nav .nav-item.active>.nav-link,
.navbar .navbar-nav .nav-link.active{ color:var(--h-brand-strong)!important; }

/* menu rozwijane (konto, sklep, język) */
.navbar .dropdown-menu{
  border:1px solid var(--h-line); border-radius:14px;
  box-shadow:0 18px 40px -18px rgba(13,27,42,.30); padding:.5rem; margin-top:.5rem;
}
.navbar .dropdown-item{ border-radius:9px; font-size:14px; padding:.5rem .75rem; font-family:var(--h-fb); }
.navbar .dropdown-item:hover{ background:var(--h-brand-soft); color:var(--h-brand-strong); }
.navbar .dropdown-item.active,.navbar .dropdown-item:active{ background:var(--h-brand); color:#fff; }

/* prawa strona: koszyk, konto, przyciski */
.navbar .btn{ border-radius:999px; font-family:var(--h-fh); font-weight:600; }
.navbar .nav-link .badge,.navbar .cart-count{ background:var(--h-brand); }
.navbar-toggler{ border-radius:10px; border-color:var(--h-line); }

/* pasek tytułu strony / nagłówek sekcji w panelu */
.page-header,.client-area-header,.section-header{ font-family:var(--h-fh); }
.page-header h1,.page-header-title{ font-family:var(--h-fh); font-weight:800; letter-spacing:-.02em; }

/* sidebar wewnątrz panelu klienta */
.primary-sidebar .panel,.secondary-sidebar .panel,.sidebar .panel{ border-radius:var(--h-radius); }
.list-group-item.active{ background:var(--h-brand)!important; border-color:var(--h-brand)!important; }
.list-group-item:hover{ color:var(--h-brand-strong); }

/* ── Górny utility bar (header.tpl) ─────────────────────────────── */
.h247-utilitybar{ background:#0d1b2a; color:#cfe0ee; font-size:13px; }
.h247-utilitybar .container{ display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:40px; }
.h247-utilitybar .h247-ub-left{ display:flex; gap:20px; }
.h247-utilitybar .h247-ub-left span{ display:inline-flex; align-items:center; gap:7px; opacity:.85; }
.h247-utilitybar .h247-ub-left i{ color:var(--h-brand); }
.h247-utilitybar .h247-ub-right{ display:flex; gap:18px; }
.h247-utilitybar a{ color:#cfe0ee; opacity:.85; }
.h247-utilitybar a:hover{ color:#fff; opacity:1; }
@media (max-width:820px){ .h247-utilitybar{ display:none; } }

/* ── Rozszerzona stopka (footer.tpl) ────────────────────────────── */
#footer.footer{ padding-top:54px; }
.h247-foot-top{
  display:grid; grid-template-columns:1.4fr 2fr; gap:40px;
  padding-bottom:34px; margin-bottom:28px; text-align:left;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.h247-foot-brand img{ height:30px; margin-bottom:14px; }
.h247-foot-brand p{ color:#8fa6ba; font-size:14px; max-width:34ch; margin:0; }
.h247-foot-cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.h247-foot-cols h5{ font-family:var(--h-fh); color:#fff; font-size:12px; letter-spacing:.1em; text-transform:uppercase; margin:0 0 12px; }
.h247-foot-cols a{ display:block; color:#a9bccd; font-size:14px; padding:5px 0; }
.h247-foot-cols a:hover{ color:#fff; padding-left:3px; }
@media (max-width:760px){
  .h247-foot-top{ grid-template-columns:1fr; gap:26px; }
  .h247-foot-cols{ grid-template-columns:repeat(2,1fr); }
}

/* ── Pulpit: powitanie + kafelki statystyk (clientareahome.tpl) ─── */
.h247-welcome{ margin-bottom:22px; }
.h247-welcome h1{ font-family:var(--h-fh); font-weight:800; font-size:28px; letter-spacing:-.02em; color:var(--h-ink); }
.h247-welcome p{ color:var(--h-muted); margin-top:6px; }

.tiles .row.no-gutters{ margin-left:-9px; margin-right:-9px; }
.tiles .row.no-gutters > [class^="col-"],.tiles .row.no-gutters > [class*=" col-"]{ padding:9px; }
.tiles .tile{
  display:flex; flex-direction:column; align-items:flex-start;
  background:#fff; border:1px solid var(--h-line); border-radius:var(--h-radius);
  padding:20px; position:relative; overflow:hidden; transition:.18s;
  min-height:122px; text-decoration:none; height:100%;
}
.tiles .tile:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px -22px rgba(13,27,42,.30);
  border-color:color-mix(in srgb, var(--h-brand) 35%, var(--h-line));
}
.tiles .tile > i{
  width:44px; height:44px; border-radius:12px; margin-bottom:14px;
  background:var(--h-brand-soft); color:var(--h-brand-strong);
  display:grid; place-items:center; font-size:18px;
}
.tiles .tile .stat{ font-family:var(--h-fh); font-weight:800; font-size:30px; line-height:1; color:var(--h-ink); }
.tiles .tile .title{ font-family:var(--h-fh); font-weight:500; font-size:13.5px; color:var(--h-muted); margin-top:6px; }
.tiles .tile .highlight{ display:none; }

/* kolory ikon per kafelek (zachowujemy semantykę WHMCS) */
.tiles .tile .fa-comments{ }
.tiles .col-6:nth-child(3) .tile > i{ background:color-mix(in srgb,#ff5d52 14%,#fff); color:#d4493d; }
.tiles .col-6:nth-child(4) .tile > i{ background:color-mix(in srgb,#f5a524 16%,#fff); color:#b9760a; }

/* panele pulpitu */
.client-home-cards .card{ border-radius:var(--h-radius); box-shadow:none; }
.client-home-cards .card-header{ background:transparent; border-bottom:1px solid var(--h-line); }
.client-home-cards .card-title{ font-family:var(--h-fh); font-weight:700; font-size:16px; }
.client-home-cards .list-group-item{ font-family:var(--h-fb); }
.client-home-cards .list-group-item.active{ background:var(--h-brand)!important; border-color:var(--h-brand)!important; }

/* ── Faktura (viewinvoice.tpl — samodzielna strona) ─────────────── */
body.invoice-body-host247{ font-family:var(--h-fb); background:#f4f9fc; }
.invoice-container{
  max-width:880px; margin:34px auto; background:#fff;
  border:1px solid var(--h-line); border-radius:18px; padding:36px 42px;
  box-shadow:0 24px 60px -34px rgba(13,27,42,.32);
}
.invoice-header{ border-bottom:3px solid var(--h-brand); padding-bottom:22px; margin-bottom:6px; align-items:center; }
.invoice-header img{ max-height:40px; }
.invoice-header h2,.invoice-header h3{ font-family:var(--h-fh); font-weight:800; color:var(--h-ink); }
.invoice-header h3{ font-size:20px; color:var(--h-muted); font-weight:600; }
.invoice-status span{ display:inline-block; font-family:var(--h-fh); font-weight:700; font-size:13px; padding:7px 15px; border-radius:999px; }
.invoice-status .unpaid,.invoice-status .draft{ background:color-mix(in srgb,#ff5d52 13%,#fff)!important; color:#d4493d!important; }
.invoice-status .paid{ background:color-mix(in srgb,#1ec98b 15%,#fff)!important; color:#13955f!important; }
.invoice-status .cancelled,.invoice-status .refunded,.invoice-status .collections{ background:#eef3f8!important; color:var(--h-muted)!important; }
.invoice-container address.small-text{ font-style:normal; color:var(--h-muted); line-height:1.7; }
.invoice-container .total-row{ font-family:var(--h-fh); }
.invoice-container tbody tr:last-child .total-row{ font-size:18px; color:var(--h-brand-strong); }

/* ── Lista zgłoszeń (supportticketslist.tpl) ────────────────────── */
#tableTicketsList tr,#tableTicketsList tbody tr{ cursor:pointer; }
#tableTicketsList .ticket-number{ font-family:var(--h-fh); font-weight:700; color:var(--h-brand-strong); margin-right:8px; }
#tableTicketsList .ticket-subject{ font-family:var(--h-fh); font-weight:500; color:var(--h-ink); }
#tableTicketsList .ticket-subject.unread{ font-weight:800; }
.label.status,.label.requestor-badge{ font-family:var(--h-fh); font-weight:600; font-size:12px; padding:5px 12px; border-radius:999px; }

/* ── Widok zgłoszenia (viewticket.tpl) ──────────────────────────── */
.view-ticket .card-title{ font-family:var(--h-fh); font-weight:800; }
.ticket-reply{ border:1px solid var(--h-line); border-radius:14px; overflow:hidden; margin-bottom:4px; }
.ticket-reply .posted-by{ background:#f8fbfd; padding:13px 18px; border-bottom:1px solid var(--h-line); font-size:13.5px; color:var(--h-muted); }
.ticket-reply .posted-by-name{ font-family:var(--h-fh); font-weight:700; color:var(--h-ink); }
.ticket-reply.staff{ border-color:color-mix(in srgb,var(--h-brand) 30%,var(--h-line)); }
.ticket-reply.staff .posted-by{ background:var(--h-brand-soft); color:var(--h-brand-strong); }
.ticket-reply .message{ font-size:14.5px; color:var(--h-ink); line-height:1.6; }
.requestor-badge{ background:var(--h-brand-soft); color:var(--h-brand-strong); }

/* ── Szczegóły usługi (clientareaproductdetails.tpl) ────────────── */
.product-status{ padding:22px; border:1px solid var(--h-line); border-radius:var(--h-radius); background:#fff; }
.product-status .product-icon .fa-stack{ color:var(--h-brand); }
.product-status .product-icon .fa-stack .fa-circle{ color:var(--h-brand-soft); }
.product-status .product-icon h3{ font-family:var(--h-fh); font-weight:800; margin-top:12px; color:var(--h-ink); }
.product-status .product-icon h4{ color:var(--h-muted); font-size:14px; font-weight:500; }
.product-status-text{ font-family:var(--h-fh); font-weight:700; margin-top:14px; }
.product-details .col-md-6.text-center h4{ font-family:var(--h-fh); font-size:12px; letter-spacing:.04em; text-transform:uppercase; color:var(--h-muted); margin-top:16px; margin-bottom:2px; }
.nav-tabs.responsive-tabs-sm .nav-link,.product-details-tab-container .nav-link{ font-family:var(--h-fh); font-weight:600; }
.nav-tabs .nav-link.active{ color:var(--h-brand-strong); border-bottom-color:var(--h-brand); }
.product-details-tab-container{ border:1px solid var(--h-line); border-top:0; border-radius:0 0 var(--h-radius) var(--h-radius); }

/* ── Sklep / zamawianie usług (store + order form) ──────────────── */
.product, .store-product, .products .product{ border-radius:var(--h-radius)!important; }
.product .panel-heading, .product .card-header, .store-product .card-header{
  font-family:var(--h-fh); font-weight:800; letter-spacing:.02em;
  background:var(--h-brand-soft); color:var(--h-brand-strong); border-bottom:1px solid var(--h-line);
}
.product.featured, .product.recommended, .featured-plan, .recommended-product{
  border:2px solid var(--h-brand)!important; box-shadow:0 24px 50px -30px color-mix(in srgb,var(--h-brand) 55%,transparent);
}
.product .price, .package-price, .product-pricing, .cycle, .product .amount{ font-family:var(--h-fh); }
.product .price .amount, .package-price .price{ font-family:var(--h-fh); font-weight:800; color:var(--h-ink); }
.order-now-button, .btn-order-now, .product .btn, .product-order-button .btn{ border-radius:999px; font-family:var(--h-fh); font-weight:600; }
.product ul, .product-features{ list-style:none; padding:0; }
.product-features li, .product ul li{ padding:5px 0; font-size:14px; color:var(--h-ink); }

/* koszyk / podsumowanie / checkout (standard_cart) */
.order-summary, #orderSummary, .summary-container, .cart-summary{ border-radius:var(--h-radius); border:1px solid var(--h-line); }
.summary-container .total, .order-totals .total, .cart-total, #cartSummary .total{ font-family:var(--h-fh); color:var(--h-brand-strong); font-weight:800; }
#btnCompleteOrder, .checkout-btn, .btn-checkout, #checkout, .cart-buttons .btn-primary{
  background:var(--h-brand)!important; border-color:var(--h-brand)!important; border-radius:999px; font-family:var(--h-fh); font-weight:600;
}
.order-nav .nav-link.active, #orderForms .nav-link.active{ color:var(--h-brand-strong); border-color:var(--h-brand); }
.promo-code .btn, #promoBtn{ border-radius:10px; }

/* Strona konfiguracji zamówienia (order.tpl) */
.store-order-container{ background:#fff; border:1px solid var(--h-line); border-radius:var(--h-radius); padding:28px 30px; }
.store-order-container h2{ font-family:var(--h-fh); font-weight:800; letter-spacing:-.02em; }
.store-order-container h4, .payment-term h4{ font-family:var(--h-fh); font-weight:700; font-size:15px; }
.store-domain-tabs .nav-link{ font-family:var(--h-fh); font-weight:600; }
.store-domain-tabs .nav-link.active{ color:var(--h-brand-strong); border-bottom-color:var(--h-brand); }
.store-domain-tab-content{ border:1px solid var(--h-line); border-top:0; border-radius:0 0 var(--h-radius) var(--h-radius); }
.domain-validation.ok, .domain-validation .fa-check{ color:#13955f; font-weight:600; }
.store-promoted-product{ border-radius:var(--h-radius); background:var(--h-brand-soft)!important; }
.store-promoted-product h3{ font-family:var(--h-fh); font-weight:800; }
.store-promoted-product .features{ list-style:none; padding:0; margin-top:10px; }
.store-promoted-product .features li{ padding:4px 0; }
.store-promoted-product .features li i{ color:var(--h-brand); }

/* Lista usług (clientareaproducts.tpl) */
#tableServicesList tr{ cursor:pointer; }
#tableServicesList strong{ font-family:var(--h-fh); color:var(--h-ink); }
#tableServicesList .label.status{ font-family:var(--h-fh); font-weight:600; border-radius:999px; padding:5px 12px; }

/* ── Siatka pakietów w sklepie (standard_cart products.tpl) ─────── */
#order-standard_cart .products .product{
  border:1px solid var(--h-line)!important; border-radius:var(--h-radius)!important;
  transition:transform .18s, box-shadow .2s, border-color .2s; overflow:hidden;
}
#order-standard_cart .products .product:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 46px -26px rgba(13,27,42,.32);
  border-color:color-mix(in srgb,var(--h-brand) 38%,var(--h-line))!important;
}
#order-standard_cart .products .product header{ background:#fff!important; border-bottom:1px solid var(--h-line); }
#order-standard_cart .products .product header span{ font-family:var(--h-fh)!important; font-weight:800!important; color:var(--h-ink)!important; }
#order-standard_cart .products .product div.product-desc{ font-size:.85em; }
#order-standard_cart .products .product div.product-desc ul{ list-style:none; padding-left:0; }
#order-standard_cart .products .product div.product-desc li{ padding:3px 0; }
#order-standard_cart .products .product span.feature-value{ color:var(--h-brand-strong); font-weight:700; }
/* prawy box ceny — z ciemnego na jasny/cyjanowy */
#order-standard_cart .products .product footer{
  background:var(--h-brand-soft)!important; color:var(--h-ink)!important;
  border-radius:var(--h-radius); padding:16px!important;
}
#order-standard_cart .products .product footer *{ color:var(--h-ink)!important; }
#order-standard_cart .products .product div.product-pricing{ font-family:var(--h-fh); }
#order-standard_cart .products .product div.product-pricing span.price{ color:var(--h-brand-strong)!important; font-weight:800; font-size:1.7em; }
/* zielony przycisk → kolor marki */
#order-standard_cart .products .product .btn-order-now,
#order-standard_cart .products .product footer .btn-success{
  background:var(--h-brand)!important; border-color:var(--h-brand)!important;
  color:#fff!important; border-radius:999px!important; font-family:var(--h-fh); font-weight:600; margin-top:10px;
}
#order-standard_cart .products .product .btn-order-now:hover{ background:var(--h-brand-strong)!important; }
#order-standard_cart .products .product .btn-order-now *{ color:#fff!important; }
/* sidebar kategorii w sklepie */
#order-standard_cart .cart-sidebar .list-group-item.active,
#order-standard_cart .cart-sidebar .panel-title{ font-family:var(--h-fh); }
#order-standard_cart .header-lined h1{ font-family:var(--h-fh); font-weight:800; letter-spacing:-.02em; }

/* ── Koszyk (viewcart.tpl) ─────────────────────────────────────── */
#order-standard_cart .view-cart-items-header{ font-family:var(--h-fh); font-weight:600; color:var(--h-muted); font-size:12px; letter-spacing:.04em; text-transform:uppercase; border-bottom:1px solid var(--h-line); padding-bottom:10px; }
#order-standard_cart .view-cart-items .item{ border:1px solid var(--h-line); border-radius:var(--h-radius); padding:14px 16px; margin-bottom:10px; background:#fff; transition:border-color .15s; }
#order-standard_cart .view-cart-items .item:hover{ border-color:color-mix(in srgb,var(--h-brand) 30%,var(--h-line)); }
#order-standard_cart .item-title{ font-family:var(--h-fh); font-weight:700; color:var(--h-ink); }
#order-standard_cart .item-group{ display:block; color:var(--h-muted); font-size:13px; }
#order-standard_cart .item-domain{ display:block; color:var(--h-brand-strong); font-size:13px; font-weight:600; }
#order-standard_cart .item-price{ font-family:var(--h-fh); }
#order-standard_cart .item-price .cycle{ color:var(--h-muted); font-size:12px; font-weight:500; }
#order-standard_cart .btn-remove-from-cart{ color:#d4493d!important; }

#order-standard_cart .order-summary{ border:1px solid var(--h-line); border-radius:var(--h-radius); background:#fff; padding:20px; }
#order-standard_cart .order-summary h2{ font-family:var(--h-fh); font-weight:800; }
#order-standard_cart .total-due-today{ background:var(--h-brand-soft); border-radius:var(--h-radius); padding:16px; text-align:center; margin-top:14px; }
#order-standard_cart .total-due-today .amt{ font-family:var(--h-fh); font-weight:800; font-size:28px; color:var(--h-brand-strong); display:block; }
#order-standard_cart .btn-checkout, #order-standard_cart #checkout{
  background:var(--h-brand)!important; border-color:var(--h-brand)!important; color:#fff!important;
  border-radius:999px!important; font-family:var(--h-fh); font-weight:600;
}
#order-standard_cart .btn-checkout:hover, #order-standard_cart #checkout:hover{ background:var(--h-brand-strong)!important; }
#order-standard_cart .btn-continue-shopping{ color:var(--h-muted)!important; }

/* ── Checkout (checkout.tpl) ───────────────────────────────────── */
#order-standard_cart .sub-heading span{ font-family:var(--h-fh)!important; font-weight:700!important; color:var(--h-brand-strong)!important; }
#order-standard_cart .field.form-control, #order-standard_cart .form-control{ border-radius:10px; border-color:var(--h-line); }
#order-standard_cart .field.form-control:focus, #order-standard_cart .form-control:focus{ border-color:var(--h-brand); box-shadow:0 0 0 .2rem rgba(16,162,221,.22); }
#order-standard_cart .account-select-container .account{ border:1px solid var(--h-line); border-radius:var(--h-radius); padding:14px; transition:.15s; }
#order-standard_cart .account-select-container .account.active{ border-color:var(--h-brand); box-shadow:0 0 0 3px rgba(16,162,221,.18); }
#order-standard_cart #totalDueToday.alert-success{
  background:var(--h-brand-soft)!important; border:1px solid rgba(16,162,221,.3)!important;
  color:var(--h-ink)!important; border-radius:var(--h-radius);
}
#order-standard_cart #totalDueToday strong, #order-standard_cart #totalCartPrice{ color:var(--h-brand-strong); font-family:var(--h-fh); font-weight:800; }
#order-standard_cart .payment-methods{ accent-color:var(--h-brand); }
#order-standard_cart #btnCompleteOrder{ border-radius:999px; font-family:var(--h-fh); font-weight:600; }
#order-standard_cart .checkout-security-msg{ border-radius:var(--h-radius); }

/* ── Stopka ──────────────────────────────────────────────────────── */
#footer,footer{ background:#0d1b2a; color:#a9bccd; }
#footer a,footer a{ color:#cfe0ee; }
#footer a:hover,footer a:hover{ color:#fff; }

/* ── Drobne ──────────────────────────────────────────────────────── */
.pagination>.active>a,.pagination>.active>span{ background-color:var(--h-brand); border-color:var(--h-brand); }
.nav-tabs .nav-link.active{ color:var(--h-brand-strong); border-bottom-color:var(--h-brand); }
.progress-bar{ background-color:var(--h-brand); }
