/**
 * CRI-ONE Fluid — light chrome
 * Arial · 100% font-size · grey / black / white · no box-shadows · quieter outlines · word wrap
 */

:root {
  --cri-black: #111111;
  --cri-grey-dark: #333333;
  --cri-grey: #666666;
  --cri-grey-mid: #999999;
  --cri-grey-light: #e5e5e5;
  --cri-grey-wash: #f5f5f5;
  --cri-white: #ffffff;
}

html {
  font-size: 100%;
}

html,
body {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 100%;
  color: var(--cri-black);
  background: var(--cri-white);
  overflow-x: hidden;
  max-width: 100%;
}

*,
*::before,
*::after {
  font-family: Arial, Helvetica, sans-serif !important;
  box-shadow: none !important;
}

/* Keep icon fonts */
[class*="icon-"]::before,
[class*="icon-"]::after,
[class^="icons-"]::before,
[class^="icons-"]::after,
.action.nav-toggle::before,
.action.showcart::before,
.minicart-wrapper .action.showcart::before,
.nav-toggle::before,
.fa, .fas, .far, .fab,
[data-role="minisearch"]::before {
  font-family: "luma-icons" !important;
}

code, pre, kbd, samp, tt, var, .code, [class*="highlight"] {
  font-family: "Courier New", Consolas, monospace !important;
}

/* Grey / black / white surfaces */
.page-wrapper,
.page-main,
.column.main,
.product-info-main,
.page-header,
.page-footer,
.footer.content,
.nav-sections,
.block,
.product.attribute.description,
.payment-options-calculator,
.payment-options-panels,
.modal-inner-wrap {
  background-color: var(--cri-white) !important;
  color: var(--cri-black) !important;
}

.panel.wrapper,
.page-header .panel.wrapper,
.minicart-wrapper .block-minicart,
.messages,
.message,
.calc-result,
.payment-checkout-action {
  background-color: var(--cri-grey-wash) !important;
  color: var(--cri-black) !important;
  border-color: var(--cri-grey-light) !important;
}

/* Text hierarchy */
h1, h2, h3, h4, h5, h6,
.page-title,
.page-title span,
.product-item-name,
.product.name a {
  color: var(--cri-black) !important;
}

.price-box .price,
.price {
  color: var(--cri-black) !important;
}

p, .breadcrumbs, .breadcrumbs a,
.product.attribute.description,
.product.attribute.description .value,
.payment-options-subtitle,
.payment-panel-description,
.field .label,
.copyright {
  color: var(--cri-grey-dark) !important;
}

/* Links — grey/black only, no blue */
a,
a:link,
a:visited,
a:hover,
a:active,
a:focus,
.header.links a,
.navigation a,
.nav-sections a {
  color: var(--cri-grey-dark) !important;
  background-image: none !important;
  text-decoration: none !important;
}

a:hover,
a:focus {
  color: var(--cri-black) !important;
}

/* Buttons — black on white / white on black */
.action.primary,
.action.tocart,
.action.primary:hover,
.action.tocart:hover,
.action.primary:focus,
.action.tocart:focus,
.payment-checkout-btn,
.payment-checkout-btn:hover,
.payment-contact-btn,
.payment-contact-btn:hover,
.cri-send-btn,
button.action.primary {
  background-color: var(--cri-black) !important;
  border-color: var(--cri-black) !important;
  color: var(--cri-white) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

.action.secondary,
.action.secondary:hover,
button.action.secondary {
  background-color: var(--cri-white) !important;
  border: 1px solid var(--cri-grey-mid) !important;
  color: var(--cri-black) !important;
}

/* Borders / tabs */
.payment-options-calculator,
.payment-options-panels,
.payment-tab,
input, textarea, select, .input-text {
  border-color: var(--cri-grey-light) !important;
  color: var(--cri-black) !important;
  background-color: var(--cri-white) !important;
}

.payment-tab.active,
.payment-tab.active:hover {
  background-color: var(--cri-grey-wash) !important;
  border-color: var(--cri-grey) !important;
  color: var(--cri-black) !important;
}

/* Quieter focus */
*:focus {
  outline: none;
}
input:focus,
textarea:focus,
select:focus {
  outline: 1px solid var(--cri-grey-mid);
}

/* Chat FAB — match palette */
.cri-chat-btn {
  background: var(--cri-black) !important;
}
.cri-chat-header {
  background: var(--cri-black) !important;
  color: var(--cri-white) !important;
}
.cri-msg.user {
  background: var(--cri-grey-dark) !important;
  color: var(--cri-white) !important;
}
.cri-msg.bot {
  background: var(--cri-grey-wash) !important;
  color: var(--cri-black) !important;
  border-color: var(--cri-grey-light) !important;
}
.cri-msg a {
  color: var(--cri-black) !important;
}

/* Word wrap */
.column.main,
.product-info-main,
.product.attribute.description,
.product.attribute.description .value,
.page-title,
.payment-options-calculator,
td, th {
  overflow-wrap: anywhere;
  word-break: break-word;
}

img, svg, video, iframe {
  max-width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .product.attribute.description .value,
  .product.attribute.description .value > div {
    max-width: 100% !important;
  }
}
