/*
 * Divino Host — global client-side typography and readability system.
 * Intentionally scoped to the public/client template classes. The WHMCS admin
 * area does not load this file and does not receive any of these rules.
 */

/* The legacy client theme sets the root near 10px; restore the browser standard. */
html { font-size: 100%; }

body.dh-client-auth,
body.dh-public-page,
body.dh-account-page {
  --dh-font-family: "Inter", "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --dh-type-xs: .8125rem;
  --dh-type-sm: .875rem;
  --dh-type-base: clamp(.95rem, .9rem + .2vw, 1.0625rem);
  --dh-type-control: clamp(.9375rem, .9rem + .1vw, 1rem);
  --dh-type-md: 1.0625rem;
  --dh-type-lg: 1.25rem;
  --dh-type-xl: 1.5rem;
  --dh-type-2xl: 2rem;
  --dh-line-base: 1.6;
  --dh-text-primary: #302938;
  --dh-text-secondary: #665e6e;
  --dh-focus-ring: rgba(114, 0, 217, .16);
  font-family: var(--dh-font-family);
  font-size: var(--dh-type-base);
  font-weight: 400;
  line-height: var(--dh-line-base);
  color: var(--dh-text-primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body.dh-client-auth h1,
body.dh-public-page h1,
body.dh-account-page h1 {
  font-size: clamp(1.75rem, 1.35rem + 1.4vw, 2.6rem);
  font-weight: 700;
  line-height: 1.2;
}

body.dh-client-auth h2,
body.dh-public-page h2,
body.dh-account-page h2 {
  font-size: clamp(1.45rem, 1.2rem + .9vw, 2rem);
  font-weight: 700;
  line-height: 1.25;
}

body.dh-client-auth h3,
body.dh-public-page h3,
body.dh-account-page h3 {
  font-size: clamp(1.25rem, 1.1rem + .5vw, 1.55rem);
  font-weight: 700;
  line-height: 1.3;
}

body.dh-client-auth h4,
body.dh-public-page h4,
body.dh-account-page h4 {
  font-size: clamp(1.1rem, 1rem + .3vw, 1.3rem);
  font-weight: 700;
  line-height: 1.3;
}

body.dh-client-auth h5,
body.dh-public-page h5,
body.dh-account-page h5 { font-size: clamp(1rem, .97rem + .2vw, 1.15rem); font-weight: 600; line-height: 1.35; }

body.dh-client-auth h6,
body.dh-public-page h6,
body.dh-account-page h6 { font-size: clamp(.95rem, .93rem + .1vw, 1.05rem); font-weight: 600; line-height: 1.35; }

body.dh-client-auth p,
body.dh-client-auth li,
body.dh-client-auth dd,
body.dh-client-auth dt,
body.dh-public-page p,
body.dh-public-page li,
body.dh-account-page p,
body.dh-account-page li { line-height: var(--dh-line-base); }

body.dh-client-auth small,
body.dh-client-auth .small,
body.dh-public-page small,
body.dh-public-page .small,
body.dh-account-page small,
body.dh-account-page .small { font-size: max(.875rem, .875em); line-height: 1.5; }

body.dh-client-auth label,
body.dh-public-page label,
body.dh-account-page label {
  font-size: clamp(.875rem, .84rem + .12vw, .9375rem);
  font-weight: 600;
  line-height: 1.45;
}

body.dh-client-auth .btn,
body.dh-client-auth button,
body.dh-client-auth input[type="button"],
body.dh-client-auth input[type="submit"],
body.dh-public-page .btn,
body.dh-public-page button,
body.dh-account-page .btn,
body.dh-account-page button {
  font-size: var(--dh-type-control);
  font-weight: 600;
  line-height: 1.35;
}

body.dh-client-auth .btn:not(.close):not(.navbar-toggle),
body.dh-client-auth button:not(.close):not(.navbar-toggle),
body.dh-public-page .btn:not(.close):not(.navbar-toggle),
body.dh-public-page button:not(.close):not(.navbar-toggle),
body.dh-account-page .btn:not(.close):not(.navbar-toggle),
body.dh-account-page button:not(.close):not(.navbar-toggle) { min-height: 42px; }

body.dh-client-auth .btn-xs,
body.dh-public-page .btn-xs,
body.dh-account-page .btn-xs { min-height: 36px; padding: .45rem .75rem; font-size: .875rem; }

body.dh-client-auth input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.dh-client-auth select,
body.dh-client-auth textarea,
body.dh-public-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.dh-public-page select,
body.dh-public-page textarea,
body.dh-account-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
body.dh-account-page select,
body.dh-account-page textarea {
  min-height: 44px;
  font-family: var(--dh-font-family);
  font-size: 1rem;
  line-height: 1.45;
}

body.dh-client-auth textarea,
body.dh-public-page textarea,
body.dh-account-page textarea { padding-top: .75rem; padding-bottom: .75rem; }

body.dh-client-auth .form-control:focus,
body.dh-public-page .form-control:focus,
body.dh-account-page .form-control:focus { box-shadow: 0 0 0 3px var(--dh-focus-ring); }

body.dh-client-auth #header .top-nav > li > a,
body.dh-client-auth .navbar-main .navbar-nav > li > a,
body.dh-client-auth .navbar-main .dropdown-menu > li > a,
body.dh-public-page #header .top-nav > li > a,
body.dh-public-page .navbar-main .navbar-nav > li > a,
body.dh-account-page #header .top-nav > li > a,
body.dh-account-page .navbar-main .navbar-nav > li > a {
  font-size: clamp(.9375rem, .9rem + .1vw, 1rem);
  font-weight: 600;
  line-height: 1.4;
}

body.dh-client-auth .navbar-main .dropdown-menu > li > a,
body.dh-public-page .navbar-main .dropdown-menu > li > a,
body.dh-account-page .navbar-main .dropdown-menu > li > a { font-size: clamp(.90625rem, .88rem + .08vw, .96875rem); }

body.dh-client-auth .sidebar .panel-title,
body.dh-client-auth .sidebar .card-title,
body.dh-public-page .sidebar .panel-title,
body.dh-account-page .sidebar .panel-title { font-size: 1rem; font-weight: 700; line-height: 1.35; }

body.dh-client-auth .sidebar .list-group-item,
body.dh-client-auth .sidebar .panel-body,
body.dh-public-page .sidebar .list-group-item,
body.dh-account-page .sidebar .list-group-item {
  font-size: clamp(.90625rem, .87rem + .12vw, .96875rem);
  line-height: 1.5;
}

body.dh-client-auth .breadcrumb,
body.dh-client-auth .breadcrumb a,
body.dh-public-page .breadcrumb,
body.dh-account-page .breadcrumb { font-size: clamp(.875rem, .84rem + .1vw, .9375rem); line-height: 1.5; }

body.dh-client-auth .panel,
body.dh-client-auth .card,
body.dh-client-auth .well,
body.dh-client-auth .box,
body.dh-public-page .panel,
body.dh-public-page .card,
body.dh-account-page .panel,
body.dh-account-page .card { line-height: 1.55; }

body.dh-client-auth .panel-heading,
body.dh-client-auth .card-header,
body.dh-public-page .panel-heading,
body.dh-account-page .panel-heading { font-weight: 700; }

body.dh-client-auth .alert,
body.dh-client-auth .message,
body.dh-client-auth .notification,
body.dh-public-page .alert,
body.dh-account-page .alert { font-size: clamp(.9375rem, .9rem + .1vw, 1rem); line-height: 1.55; }

body.dh-client-auth .badge,
body.dh-client-auth .label,
body.dh-public-page .badge,
body.dh-account-page .badge { font-size: max(.8125rem, .8em); font-weight: 700; line-height: 1.2; }

body.dh-client-auth table,
body.dh-public-page table,
body.dh-account-page table { font-size: clamp(.875rem, .84rem + .1vw, .9375rem); line-height: 1.5; }

body.dh-client-auth table th,
body.dh-public-page table th,
body.dh-account-page table th { font-size: clamp(.875rem, .84rem + .1vw, .9375rem); font-weight: 700; line-height: 1.4; }

body.dh-client-auth table td,
body.dh-public-page table td,
body.dh-account-page table td { font-size: clamp(.875rem, .84rem + .1vw, .9375rem); line-height: 1.5; }

body.dh-client-auth .table-responsive,
body.dh-public-page .table-responsive,
body.dh-account-page .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }

body.dh-client-auth .pagination > li > a,
body.dh-client-auth .pagination > li > span,
body.dh-public-page .pagination > li > a,
body.dh-account-page .pagination > li > a { min-height: 40px; padding: .55rem .8rem; font-size: .875rem; line-height: 1.35; }

body.dh-client-auth .nav-tabs > li > a,
body.dh-client-auth .nav-pills > li > a,
body.dh-public-page .nav-tabs > li > a,
body.dh-account-page .nav-tabs > li > a { font-size: clamp(.90625rem, .88rem + .08vw, .96875rem); font-weight: 600; line-height: 1.4; }

body.dh-client-auth .dropdown-menu,
body.dh-client-auth .popover,
body.dh-public-page .dropdown-menu,
body.dh-account-page .dropdown-menu { font-size: clamp(.90625rem, .88rem + .08vw, .96875rem); line-height: 1.5; }

body.dh-client-auth .tooltip,
body.dh-public-page .tooltip,
body.dh-account-page .tooltip { font-size: .875rem; line-height: 1.45; }

body.dh-client-auth .modal-body,
body.dh-client-auth .modal-footer,
body.dh-public-page .modal-body,
body.dh-account-page .modal-body { font-size: 1rem; line-height: 1.6; }

body.dh-client-auth .dataTables_info,
body.dh-client-auth .dataTables_length,
body.dh-client-auth .dataTables_filter,
body.dh-client-auth .dataTables_paginate,
body.dh-public-page .dataTables_info,
body.dh-account-page .dataTables_info { font-size: clamp(.875rem, .84rem + .1vw, .9375rem); }

body.dh-client-auth footer,
body.dh-client-auth .footer,
body.dh-public-page footer,
body.dh-account-page footer { font-size: clamp(.875rem, .84rem + .1vw, .9375rem); line-height: 1.6; }

body.dh-client-auth footer h2,
body.dh-client-auth footer h3,
body.dh-client-auth footer h4,
body.dh-public-page footer h3,
body.dh-account-page footer h3 { font-size: clamp(1rem, .95rem + .2vw, 1.15rem); }

body.dh-client-auth .text-muted,
body.dh-public-page .text-muted,
body.dh-account-page .text-muted { color: var(--dh-text-secondary); }

/* High-specificity legacy components that otherwise remain below 14px. */
body.dh-client-auth #top-bar a,
body.dh-public-page #top-bar a,
body.dh-account-page #top-bar a { font-size: .9375rem; font-weight: 500; }

body.dh-client-auth .sidebar .btn,
body.dh-public-page .sidebar .btn,
body.dh-account-page .sidebar .btn { font-size: .9375rem; }

body.dh-client-auth #tableInvoicesList_wrapper #tableInvoicesList thead th,
body.dh-client-auth #tableInvoicesList_wrapper #tableInvoicesList tbody td,
body.dh-client-auth #tableInvoicesList_wrapper #tableInvoicesList .status,
body.dh-client-auth #tableInvoicesList_wrapper .dataTables_info,
body.dh-client-auth #tableInvoicesList_wrapper .dataTables_length,
body.dh-client-auth #tableInvoicesList_wrapper .dataTables_filter,
body.dh-client-auth #tableInvoicesList_wrapper .dataTables_paginate,
body.dh-client-auth #tableInvoicesList_wrapper .pagination > li > a,
body.dh-client-auth #tableInvoicesList_wrapper input,
body.dh-client-auth #tableInvoicesList_wrapper select,
body.dh-client-auth #tableInvoicesList_wrapper label,
body.dh-client-auth #tableServicesList_wrapper #tableServicesList thead th,
body.dh-client-auth #tableServicesList_wrapper #tableServicesList tbody td,
body.dh-client-auth #tableServicesList_wrapper #tableServicesList .status,
body.dh-client-auth #tableServicesList_wrapper .dataTables_info,
body.dh-client-auth #tableServicesList_wrapper .dataTables_length,
body.dh-client-auth #tableServicesList_wrapper .dataTables_filter,
body.dh-client-auth #tableServicesList_wrapper .dataTables_paginate,
body.dh-client-auth #tableServicesList_wrapper .pagination > li > a,
body.dh-client-auth #tableServicesList_wrapper input,
body.dh-client-auth #tableServicesList_wrapper select,
body.dh-client-auth #tableServicesList_wrapper label { font-size: .90625rem; }

body.dh-client-auth footer a,
body.dh-client-auth .footer a,
body.dh-public-page footer a,
body.dh-account-page footer a { font-size: .875rem; line-height: 1.5; }

body.dh-client-auth[data-template-file="viewcart"] #order-standard_cart .view-cart-items-header,
body.dh-client-auth[data-template-file="viewcart"] #order-standard_cart .view-cart-items .item-group,
body.dh-client-auth[data-template-file="viewcart"] #order-standard_cart .view-cart-items .item-domain,
body.dh-client-auth[data-template-file="viewcart"] #order-standard_cart .order-summary .subtotal,
body.dh-client-auth[data-template-file="viewcart"] #order-standard_cart .order-summary .recurring-totals,
body.dh-client-auth[data-template-file="viewcart"] #order-standard_cart .summary-container,
body.dh-client-auth[data-template-file="configureproduct"] #orderSummary .product-group { font-size: .875rem; }

body.dh-client-auth[data-template-file="viewcart"] #order-standard_cart .view-cart-items .item-title { font-size: 1rem; }

body.dh-client-auth[data-template-file="viewcart"] #order-standard_cart #btnEmptyCart,
body.dh-client-auth[data-template-file="viewcart"] #order-standard_cart .btn-checkout,
body.dh-client-auth[data-template-file="viewcart"] #order-standard_cart .view-cart-tabs button { font-size: .9375rem; }

body.dh-client-auth .barra-topo a,
body.dh-public-page .barra-topo a,
body.dh-account-page .barra-topo a { font-size: .875rem; }

body.dh-client-auth #order-standard_cart .cart-sidebar .list-group-item,
body.dh-client-auth #order-standard_cart .sidebar .list-group-item { font-size: .875rem; }

body.dh-client-auth[data-template-file="viewcart"] #order-standard_cart .view-cart-tabs .nav-link,
body.dh-client-auth[data-template-file="viewcart"] #order-standard_cart .btn-continue-shopping { font-size: .875rem; }

body.dh-client-auth [class*="divino-footer"] a,
body.dh-public-page [class*="divino-footer"] a,
body.dh-account-page [class*="divino-footer"] a { font-size: .875rem; line-height: 1.5; }

@media (max-width: 1023px) {
  body.dh-client-auth,
  body.dh-public-page,
  body.dh-account-page { font-size: clamp(.96875rem, .94rem + .1vw, 1rem); }
}

@media (max-width: 767px) {
  body.dh-client-auth,
  body.dh-public-page,
  body.dh-account-page { font-size: clamp(.9375rem, .91rem + .12vw, 1rem); line-height: 1.6; }

  body.dh-client-auth input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  body.dh-client-auth select,
  body.dh-client-auth textarea,
  body.dh-public-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  body.dh-public-page select,
  body.dh-public-page textarea,
  body.dh-account-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  body.dh-account-page select,
  body.dh-account-page textarea { min-height: 44px; font-size: 16px; }

  body.dh-client-auth .btn:not(.close):not(.navbar-toggle),
  body.dh-client-auth button:not(.close):not(.navbar-toggle),
  body.dh-public-page .btn:not(.close):not(.navbar-toggle),
  body.dh-public-page button:not(.close):not(.navbar-toggle),
  body.dh-account-page .btn:not(.close):not(.navbar-toggle),
  body.dh-account-page button:not(.close):not(.navbar-toggle) { min-height: 44px; font-size: .9375rem; }

  body.dh-client-auth .navbar-main .navbar-nav > li > a,
  body.dh-public-page .navbar-main .navbar-nav > li > a,
  body.dh-account-page .navbar-main .navbar-nav > li > a { font-size: 1rem; }
}

@media (max-width: 480px) {
  body.dh-client-auth h1,
  body.dh-public-page h1,
  body.dh-account-page h1 { font-size: clamp(1.75rem, 7.2vw, 2rem); }

  body.dh-client-auth h2,
  body.dh-public-page h2,
  body.dh-account-page h2 { font-size: clamp(1.4rem, 5.8vw, 1.65rem); }

  body.dh-client-auth .panel-body,
  body.dh-client-auth .card-body,
  body.dh-public-page .panel-body,
  body.dh-account-page .panel-body { line-height: 1.6; }
}
