/* ================================================================
   AshHost — Design System (custom.css)
   Loaded last — controls all colour, type, component overrides.
   Zero external requests. All fonts served locally.
   ================================================================ */

/* ── 1. LOCAL FONT FACES ─────────────────────────────────── */
/* WOFF2 listed first for browsers that support it (~96% of users).
   WOFF fallback for older browsers. WOFF2 files can be generated
   from the WOFF sources using fonttools + brotli (see README). */
@font-face {
  font-family: 'Nexa';
  src: url('../fonts/nexa-webfont/NexaLight.woff2') format('woff2'),
       url('../fonts/nexa-webfont/NexaLight.woff') format('woff');
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Nexa';
  src: url('../fonts/nexa-webfont/NexaRegular.woff2') format('woff2'),
       url('../fonts/nexa-webfont/NexaRegular.woff') format('woff');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Nexa';
  src: url('../fonts/nexa-webfont/NexaBold.woff2') format('woff2'),
       url('../fonts/nexa-webfont/NexaBold.woff') format('woff');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Nexa';
  src: url('../fonts/nexa-webfont/NexaHeavy.woff2') format('woff2'),
       url('../fonts/nexa-webfont/NexaHeavy.woff') format('woff');
  font-weight: 800; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Sofia Pro';
  src: url('../fonts/sofia-pro/SofiaProLightAz.woff2') format('woff2'),
       url('../fonts/sofia-pro/SofiaProLightAz.woff') format('woff');
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Sofia Pro';
  src: url('../fonts/sofia-pro/SofiaProRegularAz.woff2') format('woff2'),
       url('../fonts/sofia-pro/SofiaProRegularAz.woff') format('woff');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Sofia Pro';
  src: url('../fonts/sofia-pro/SofiaProMediumAz.woff2') format('woff2'),
       url('../fonts/sofia-pro/SofiaProMediumAz.woff') format('woff');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Sofia Pro';
  src: url('../fonts/sofia-pro/SofiaProSemiBoldAz.woff2') format('woff2'),
       url('../fonts/sofia-pro/SofiaProSemiBoldAz.woff') format('woff');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Sofia Pro';
  src: url('../fonts/sofia-pro/SofiaProBoldAz.woff2') format('woff2'),
       url('../fonts/sofia-pro/SofiaProBoldAz.woff') format('woff');
  font-weight: 700; font-style: normal; font-display: swap;
}

/* ── 2. ROOT TOKENS ──────────────────────────────────────── */
:root {
  --ash-navy:       #080F2E;
  --ash-blue:       #1A2F87;
  --ash-blue-mid:   #2A45A8;
  --ash-blue-light: #4A6BC8;
  --ash-blue-tint:  #D4DCF7;
  --ash-blue-wash:  #EEF2FF;

  --ash-ink:        #0D1117;
  --ash-ink-soft:   #1C2333;
  --ash-slate:      #4B5563;
  --ash-mist:       #9CA3AF;
  --ash-cloud:      #F4F6F9;
  --ash-white:      #FCFDFF;

  --ash-green:      #166534;
  --ash-green-l:    #DCFCE7;
  --ash-green-b:    #86EFAC;
  --ash-amber:      #854D0E;
  --ash-amber-l:    #FEF9C3;
  --ash-amber-b:    #FCD34D;
  --ash-red:        #991B1B;
  --ash-red-l:      #FEE2E2;
  --ash-red-b:      #FCA5A5;
  --ash-info:       #1E40AF;
  --ash-info-l:     #DBEAFE;
  --ash-info-b:     #93C5FD;

  --ash-font-h:     'Nexa', 'Sofia Pro', system-ui, sans-serif;
  --ash-font-body:  'Sofia Pro', system-ui, sans-serif;

  --ash-r-sm: 4px;
  --ash-r:    6px;
  --ash-r-md: 8px;
  --ash-r-lg: 12px;
}

/* ── 3. BASE TYPOGRAPHY ──────────────────────────────────── */
body {
  font-family: var(--ash-font-body) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.coodiv-text-6,
.main-header-title,
.page-title,
.ash-hero-name,
.ash-section-title {
  font-family: var(--ash-font-h) !important;
  letter-spacing: -0.02em;
}

/* Playfair fix — replace with Nexa throughout */
.hero-area-emyui-aws-title,
.playfair-display-font,
.emyui-ews-plans-group .emyui-ews-plans-group-price-tag,
body.emyui-aws-theme .playfair-display-font {
  font-family: var(--ash-font-h) !important;
}

/* ── 4. PRIMARY COLOUR — replace #473bf0 purple everywhere ── */
/* Buttons */
.btn-primary, .btn-primary:focus {
  background-color: var(--ash-blue) !important;
  border-color: var(--ash-blue) !important;
  color: #fff !important;
}
.btn-primary:hover, .btn-primary:active {
  background-color: var(--ash-blue-mid) !important;
  border-color: var(--ash-blue-mid) !important;
}
.btn-red { background-color: var(--ash-red) !important; border-color: var(--ash-red) !important; }

/* whmcs.theme.css purple remnants */
.button-input-generate,
.inputcardcvv-button { background: var(--ash-blue) !important; }
.suggested-domains .btn-moresuggestion {
  background-color: var(--ash-blue) !important;
  border-color: var(--ash-blue) !important;
  border-radius: var(--ash-r-md) !important;
}
.bg-gradient-primary { background: linear-gradient(90deg, var(--ash-navy), var(--ash-blue)) !important; }
.modal-localisation .item-selector .item:hover,
.modal-localisation .item-selector .item.active {
  background-color: var(--ash-blue) !important;
  border-color: var(--ash-blue) !important;
}

/* Links */
a:hover { color: var(--ash-blue); }

/* Nav active */
.nav-scroller-subpages .nav .nav-link:hover,
.nav-scroller-subpages .nav .nav-link.active {
  color: var(--ash-blue) !important;
  border-bottom-color: var(--ash-blue) !important;
}

/* Cart badge */
.shoping-cart-number { background: var(--ash-blue) !important; }

/* Toggles */
.btn-toggle.active { background: var(--ash-blue) !important; }
.coodiv-check-input input:checked ~ .checkbox { background: var(--ash-blue) !important; }
.coodiv-nav-tabs .nav-link.active { border-color: var(--ash-blue) !important; color: var(--ash-blue) !important; }
.order-form-menu-scroller .nav .nav-link.active { border-bottom-color: var(--ash-blue) !important; }
.round-indicator:after { background-color: var(--ash-blue) !important; }

/* ── 5. BUTTONS ──────────────────────────────────────────── */
.btn {
  font-family: var(--ash-font-body) !important;
  font-weight: 500 !important;
  border-radius: var(--ash-r) !important;
  letter-spacing: 0 !important;
  transition: background-color .15s, border-color .15s, box-shadow .15s !important;
}
.btn:focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(26,47,135,.18) !important;
}
@media (max-width: 767px) { .btn { min-height: 44px !important; } }

/* ── 6. FORM CONTROLS ────────────────────────────────────── */
.form-control, input[type="text"], input[type="email"],
input[type="password"], input[type="tel"], input[type="number"],
input[type="url"], input[type="search"], select, textarea {
  font-family: var(--ash-font-body) !important;
  border-radius: var(--ash-r) !important;
  border-color: #D1D5DB !important;
  font-size: 13px !important;
  transition: border-color .15s, box-shadow .15s !important;
}
.form-control:focus, input:focus, select:focus, textarea:focus {
  border-color: var(--ash-blue) !important;
  box-shadow: 0 0 0 3px rgba(26,47,135,.12) !important;
  outline: none !important;
}
.form-control.is-invalid, input.is-invalid { border-color: var(--ash-red) !important; }

/* ── 7. CARDS / PANELS ───────────────────────────────────── */
.main-page-contents {
  border-radius: var(--ash-r-md) !important;
  border: 1px solid #E5E7EB !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.04) !important;
}
.white-bg { background: #FFFFFF !important; }
.rounded-20 { border-radius: var(--ash-r-lg) !important; }
.shadow-2  { box-shadow: 0 1px 4px rgba(0,0,0,.06) !important; }

/* ── 8. TABLES ───────────────────────────────────────────── */
.dataTables_wrapper table.table-list thead th {
  background: var(--ash-cloud) !important;
  color: var(--ash-slate) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  border-bottom: 1px solid #E5E7EB !important;
}
table.table-list { font-size: 13px !important; }

/* ── 9. ALERTS ───────────────────────────────────────────── */
.alert {
  font-family: var(--ash-font-body) !important;
  font-size: 13px !important;
  border-radius: var(--ash-r) !important;
  border-width: 1px !important;
}
.alert-info    { background: var(--ash-info-l) !important; border-color: var(--ash-info-b) !important; color: var(--ash-info) !important; }
.alert-success { background: var(--ash-green-l) !important; border-color: var(--ash-green-b) !important; color: var(--ash-green) !important; }
.alert-warning { background: var(--ash-amber-l) !important; border-color: var(--ash-amber-b) !important; color: var(--ash-amber) !important; }
.alert-danger  { background: var(--ash-red-l) !important; border-color: var(--ash-red-b) !important; color: var(--ash-red) !important; }

/* ── 10. BADGES ──────────────────────────────────────────── */
.badge, .label {
  border-radius: var(--ash-r-sm) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  padding: 2px 8px !important;
}
.badge-success, .label-success { background: var(--ash-green-l) !important; color: var(--ash-green) !important; }
.badge-warning, .label-warning { background: var(--ash-amber-l) !important; color: var(--ash-amber) !important; }
.badge-danger,  .label-danger  { background: var(--ash-red-l) !important; color: var(--ash-red) !important; }
.badge-info,    .label-info    { background: var(--ash-info-l) !important; color: var(--ash-info) !important; }
.badge-primary, .label-primary { background: var(--ash-blue-wash) !important; color: var(--ash-blue) !important; }

/* ── 11. PRELOADER ───────────────────────────────────────── */
.preloader { background: #FCFDFF !important; }

/* ── 12. BREADCRUMB ──────────────────────────────────────── */
.breadcrumb-container { border-bottom: 1px solid #E5E7EB !important; }
.breadcrumb-item a { color: var(--ash-blue) !important; }

/* ── 13. NAV SCROLLER ────────────────────────────────────── */
.nav-scroller-subpages { background: #FFFFFF !important; border-bottom: 1px solid #E5E7EB !important; }

/* ── 14. HEADER INNER PAGE background ───────────────────── */
#not-main-body.bg-default,
.bg-default { background: var(--ash-cloud) !important; }

/* ── 15. FOCUS RING (global a11y) ────────────────────────── */
*:focus-visible { outline: 2px solid var(--ash-blue) !important; outline-offset: 2px !important; }
*:focus:not(:focus-visible) { outline: none !important; }

/* ── 16. REDUCED MOTION ──────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  .preloader { display: none !important; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* ── 17. STORE ORDER PAGE — replace dark AI theme ────────── */
.ashhost-order {
  font-family: var(--ash-font-body) !important;
  background: var(--ash-cloud) !important;
  color: var(--ash-ink) !important;
  --ash-bg-primary: var(--ash-cloud);
  --ash-bg-card: #FFFFFF;
  --ash-bg-card-hover: #F9FAFB;
  --ash-bg-input: #FFFFFF;
  --ash-border: #E5E7EB;
  --ash-border-active: var(--ash-blue);
  --ash-accent: var(--ash-blue);
  --ash-accent-light: var(--ash-blue-mid);
  --ash-accent-glow: rgba(26,47,135,.08);
  --ash-text-primary: var(--ash-ink);
  --ash-text-secondary: var(--ash-slate);
  --ash-text-muted: var(--ash-mist);
  --ash-shadow: 0 2px 8px rgba(0,0,0,.06);
  --ash-shadow-lg: 0 4px 16px rgba(0,0,0,.08);
}
.ashhost-order .ash-section-label { color: var(--ash-blue) !important; }
.ashhost-order .ash-card,
.ashhost-order .order-product-card,
.ashhost-order [class*="card"] {
  background: #FFFFFF !important;
  border: 1px solid #E5E7EB !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.04) !important;
  color: var(--ash-ink) !important;
}
.ashhost-order .order-summary-header,
.ashhost-order .price-box,
.ashhost-order .checkout-header {
  background: var(--ash-blue-wash) !important;
  border-color: var(--ash-blue-tint) !important;
  color: var(--ash-blue) !important;
}
.ashhost-order input,
.ashhost-order select,
.ashhost-order textarea {
  background: #FFFFFF !important;
  border-color: #D1D5DB !important;
  color: var(--ash-ink) !important;
}
.ashhost-order label { color: var(--ash-slate) !important; }

/* ── 18. FOOTER OVERRIDES — bring trust banner inline ────── */
.ash-trust-banner {
  background: var(--ash-navy) !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
}
.ash-trust-grid-bg {
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px) !important;
}
.ash-trust-badge {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.15) !important;
  color: rgba(255,255,255,.7) !important;
}
.ash-btn-primary {
  background: var(--ash-blue) !important;
  box-shadow: 0 4px 16px rgba(26,47,135,.3) !important;
}
.ash-btn-primary:hover {
  background: var(--ash-blue-mid) !important;
  box-shadow: 0 6px 20px rgba(26,47,135,.4) !important;
}
.ash-footer-col-title::before { background: var(--ash-blue) !important; }
.ash-contact-ico { color: var(--ash-blue-light) !important; }

/* ── 19. GOOGLE SIGN-IN (preserve) ──────────────────────── */
.provider-btn-wrapper { display: flex; justify-content: center; }
.g_id_signin iframe {
  width: 100% !important;
  max-width: 320px !important;
  height: 44px !important;
  border-radius: 8px !important;
}

/* ================================================================
   AshHost — EXTENDED UI IMPROVEMENTS  (appended 2026)
   ================================================================ */

/* ── 20. CLIENT AREA PRODUCT / SERVICE TABLES ── */
.dataTables_wrapper .dataTables_filter input {
  border: 1px solid #D1D5DB !important;
  border-radius: var(--ash-r) !important;
  padding: 6px 12px !important;
  font-size: 13px !important;
  font-family: var(--ash-font-body) !important;
}
.dataTables_wrapper .dataTables_filter input:focus {
  border-color: var(--ash-blue) !important;
  box-shadow: 0 0 0 3px rgba(26,47,135,.12) !important;
  outline: none !important;
}
.table-list tbody tr:hover {
  background: #F9FAFB !important;
}
.table-list tbody tr td { vertical-align: middle !important; }

/* Status badges in tables */
.label-success, .badge-success { background: #DCFCE7 !important; color: #166534 !important; border-radius: 4px !important; }
.label-danger,  .badge-danger  { background: #FEE2E2 !important; color: #991B1B !important; border-radius: 4px !important; }
.label-warning, .badge-warning { background: #FEF9C3 !important; color: #854D0E !important; border-radius: 4px !important; }
.label-info,    .badge-info    { background: #DBEAFE !important; color: #1E40AF !important; border-radius: 4px !important; }
.label-default  { background: #F3F4F6 !important; color: #4B5563 !important; border-radius: 4px !important; }

/* ── 21. INVOICE PAGE IMPROVEMENTS ── */
.invoice-container { font-family: var(--ash-font-body) !important; }
.invoice-status span.unpaid {
  background: #FEF9C3; color: #854D0E; padding: 4px 12px; border-radius: 4px;
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
}
.invoice-status span.paid {
  background: #DCFCE7; color: #166534; padding: 4px 12px; border-radius: 4px;
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
}
.invoice-status span.cancelled, .invoice-status span.refunded {
  background: #FEE2E2; color: #991B1B; padding: 4px 12px; border-radius: 4px;
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
}
.invoice-status span.draft {
  background: #F3F4F6; color: #4B5563; padding: 4px 12px; border-radius: 4px;
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
}
.invoice-status span.collections {
  background: #FEE2E2; color: #991B1B; padding: 4px 12px; border-radius: 4px;
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em;
}

/* ── 22. SUPPORT TICKET LIST IMPROVEMENTS ── */
.ticket-subject.unread { font-weight: 700 !important; color: var(--ash-ink) !important; }
.ticket-number {
  font-size: 11px; font-weight: 600; color: var(--ash-mist);
  font-family: 'Courier New', monospace; margin-right: 6px;
}
#tableTicketsList tbody tr { cursor: pointer; }
#tableTicketsList tbody tr:hover td { background: #F9FAFB !important; }

/* ── 23. KNOWLEDGEBASE IMPROVEMENTS ── */
.knowledgebase-categories-grid .kbcat {
  border: 1px solid #E5E7EB !important;
  border-radius: var(--ash-r-md) !important;
  transition: border-color .15s, box-shadow .15s !important;
}
.knowledgebase-categories-grid .kbcat:hover {
  border-color: var(--ash-blue) !important;
  box-shadow: 0 0 0 3px rgba(26,47,135,.07) !important;
}

/* ── 24. SUPPORT TICKET SUBMIT IMPROVEMENTS ── */
.support-ticketssubmit-step-title {
  font-family: var(--ash-font-h) !important;
  font-weight: 700 !important; letter-spacing: -0.01em !important;
}

/* ── 25. GLOBAL LINK COLOR ── */
a { color: var(--ash-blue); }
a:hover { color: var(--ash-blue-mid); }

/* ── 26. PAGINATION ── */
.pagination .page-item.active .page-link {
  background: var(--ash-blue) !important;
  border-color: var(--ash-blue) !important;
}
.pagination .page-link {
  color: var(--ash-blue) !important;
  border-color: #E5E7EB !important;
  font-size: 13px !important;
}
.pagination .page-link:hover { background: var(--ash-blue-wash) !important; }

/* ── 27. MODAL IMPROVEMENTS ── */
.modal-content {
  border-radius: var(--ash-r-lg) !important;
  border: 1px solid #E5E7EB !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.15) !important;
}
.modal-header {
  border-bottom: 1px solid #E5E7EB !important;
  padding: 18px 24px !important;
}
.modal-header .modal-title {
  font-family: var(--ash-font-h) !important;
  font-size: 16px !important; font-weight: 700 !important;
}
.modal-body { padding: 20px 24px !important; font-size: 13px !important; }
.modal-footer {
  border-top: 1px solid #E5E7EB !important;
  padding: 14px 24px !important;
}
.close { font-size: 18px !important; opacity: 0.5 !important; }
.close:hover { opacity: 0.8 !important; }

/* ── 28. PASSWORD RESET PAGE ── */
.password-reset-container .form-holder { max-width: 420px !important; }
.password-reset-container .form-items { padding: 28px 28px 22px !important; }

/* ── 29. CLIENT REGISTER FORM ── */
.main-signup-block .form-holder {
  box-shadow: 0 4px 20px rgba(0,0,0,.06) !important;
  border: 1px solid #E5E7EB !important;
}
.main-signup-block .form-group { margin-bottom: 14px !important; }
.main-signup-block .form-title h2 {
  font-family: var(--ash-font-h) !important;
  font-size: 20px !important; font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}

/* ── 30. ALERTS / FLASH MESSAGES ── */
.alert { border-left-width: 3px !important; }
.alert-info    { border-left-color: var(--ash-info) !important; }
.alert-success { border-left-color: var(--ash-green) !important; }
.alert-warning { border-left-color: var(--ash-amber) !important; }
.alert-danger  { border-left-color: var(--ash-red) !important; }

/* ── 31. EMPTY STATE IMPROVEMENTS ── */
.table-empty-state, .empty-state, .no-results {
  text-align: center; padding: 48px 20px;
  color: var(--ash-mist); font-size: 14px;
}
.table-empty-state i, .empty-state i {
  font-size: 32px; display: block; margin-bottom: 12px;
  color: var(--ash-cloud);
}

/* ── 32. SCROLL TO TOP BUTTON ── */
#toTop {
  position: fixed; bottom: 24px; right: 24px;
  width: 40px; height: 40px; z-index: 9999;
  background: var(--ash-blue) !important;
  color: #fff !important; border-radius: 8px !important;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 12px rgba(26,47,135,.3) !important;
  border: none !important; padding: 0 !important; min-height: 40px !important;
  transition: background .15s, transform .15s !important;
}
#toTop:hover { background: var(--ash-blue-mid) !important; transform: translateY(-2px) !important; }

/* ── 33. TWO-FACTOR AUTH PAGE ── */
.card.mw-540 {
  border-radius: var(--ash-r-lg) !important;
  border: 1px solid #E5E7EB !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.06) !important;
  padding: 4px !important;
}

/* ── 34. DOMAIN SEARCH ── */
.domain-search-form .btn-search,
#btnCheckAvailability {
  background: var(--ash-blue) !important;
  border-color: var(--ash-blue) !important;
  font-family: var(--ash-font-body) !important;
}
#btnCheckAvailability:hover { background: var(--ash-blue-mid) !important; }
.suggested-domain-price { color: var(--ash-blue) !important; font-weight: 700 !important; }

/* ── 35. PRODUCT DETAILS PAGE ── */
.service-info-badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 10px; border-radius: 4px;
  font-size: 11px; font-weight: 600;
}

/* ── 36. NAV ACTIVE STATE ── */
.nav-scroller-subpages .nav .nav-link.active,
.nav-scroller-subpages .nav .nav-link:hover {
  color: var(--ash-blue) !important;
  border-bottom: 2px solid var(--ash-blue) !important;
  font-weight: 600 !important;
}

/* ── 37. BREADCRUMB ── */
.breadcrumb {
  background: transparent !important;
  padding: 6px 0 !important;
  margin: 0 !important;
  font-size: 12px !important;
}

/* ── 38. CLIENT AREA HOME — override bg-default on body class ── */
.bg-default-2 { background: var(--ash-cloud) !important; }

/* ── 39. PRINT / INVOICE PDF ── */
@media print {
  .preloader, #toTop, .site-header, .ash-trust-banner,
  .ash-footer, footer, .breadcrumb-container,
  .nav-scroller-subpages { display: none !important; }
}

/* ── 40. MOBILE UX FIXES ── */
@media (max-width: 575px) {
  .main-page-contents { border-radius: var(--ash-r) !important; padding: 16px !important; }
  .ash-stat-num { font-size: 18px !important; }
  h1, .h1 { font-size: 1.5rem !important; }
  h2, .h2 { font-size: 1.25rem !important; }
  .modal-dialog { margin: 12px !important; }
  .modal-body, .modal-header { padding: 16px !important; }
}

/* ── 41. ANNOUNCEMENT / BLOG LIST ── */
.announcements-list .announcement-item,
.announcement-entry { border-radius: var(--ash-r-md) !important; }

/* ── 42. STORE ORDER PAGE LIGHT THEME ── */
.emyui-aws-theme .order-product-card:hover,
.ashhost-order .order-product-card:hover {
  border-color: var(--ash-blue) !important;
  box-shadow: 0 0 0 3px rgba(26,47,135,.08) !important;
}

/* ── 43. PAYMENT METHOD FORM ── */
.payment-method-wrapper {
  border: 1px solid #E5E7EB !important;
  border-radius: var(--ash-r-md) !important;
}
.payment-method-wrapper .payment-method-label {
  font-size: 13px !important; font-weight: 500 !important;
}

/* ── 44. ACCOUNT SECURITY PAGE ── */
.two-factor-section {
  border: 1px solid #E5E7EB !important;
  border-radius: var(--ash-r-md) !important;
  padding: 20px !important;
}

/* ── 45. SKIP-TO-MAIN LINK (a11y) ── */
.skip-main {
  position: absolute; top: -40px; left: 8px;
  background: var(--ash-blue); color: #fff;
  padding: 8px 16px; border-radius: 0 0 6px 6px;
  font-size: 13px; font-weight: 600; z-index: 10000;
  transition: top .15s; text-decoration: none;
}
.skip-main:focus { top: 0; }

/* ── 46. ICON FONT RESTORE (do not inherit Sofia Pro onto FA/feather) ── */
i.fas, i.far, i.fal, i.fad, .fas, .far, .fal, .fad,
.ah-stat-dot i, .nav-card-icon i, .ashhost-drop-icon i {
  font-family: "Font Awesome 6 Pro", "Font Awesome 5 Pro", "Font Awesome 6 Free", "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-style: normal !important;
  font-variant: normal !important;
  text-rendering: auto !important;
  -webkit-font-smoothing: antialiased !important;
  line-height: 1 !important;
  display: inline-block;
}
i.fab, .fab {
  font-family: "Font Awesome 6 Brands", "Font Awesome 5 Brands" !important;
  font-weight: 400 !important;
  font-style: normal !important;
}
i.feather, .feather {
  font-family: 'feather' !important;
  font-weight: normal !important;
  font-style: normal !important;
  speak: none;
  -webkit-font-smoothing: antialiased;
}

/* ── 47. STORE DROPDOWN grid children ── */
.ashhost-dropdown > .dropdown-divider,
.ashhost-dropdown > .ashhost-currency-header,
.ashhost-dropdown > .ashhost-drop-footer {
  grid-column: 1 / -1;
}

/* ── 48. MOBILE NAV overflow guard ── */
@media (max-width: 991.98px) {
  .site-header .navbar.site-navbar { max-width: 100%; }
  .site-header .search-btn-header,
  .site-header .signup-btn-header-mobile { display: none !important; }
}
