/* LIONVINA controls. Load after style.css and catalog.css. */
:root {
  --control-blue: #0865d2;
  --control-blue-deep: #004fad;
  --control-edge: #b8d3ed;
  --control-radius: 9px;
  --control-shadow: 0 4px 10px rgba(0, 72, 155, .16);
  --control-ease: cubic-bezier(.2, .7, .3, 1);
}

.button,
.button:hover {
  min-height: 44px;
  border: 1px solid #075ec5;
  border-radius: var(--control-radius);
  background: linear-gradient(135deg, #086bdc, #0053ba);
  color: #fff;
  box-shadow: var(--control-shadow), inset 0 1px 0 rgba(255, 255, 255, .14);
  font-weight: 700;
  text-decoration: none;
  transform: none;
  cursor: pointer;
  touch-action: manipulation;
  transition: transform .18s var(--control-ease), box-shadow .18s var(--control-ease),
    background-color .18s, border-color .18s, color .18s;
}

.button.small,
.product-copy .actions .button,
.home-catalog-row .button,
.header-quote.button {
  min-height: 44px;
  border-radius: var(--control-radius);
}

.button.ghost,
.button.ghost:hover,
.button.white,
.button.white:hover {
  background: #fff;
  color: #075ab7;
  border-color: var(--control-edge);
  box-shadow: 0 2px 5px rgba(0, 61, 132, .06);
}

.button.outline,
.button.outline:hover,
.lv-hero .button.outline,
.lv-hero .button.outline:hover {
  background: rgba(0, 35, 68, .62);
  border-color: #bddcf2;
  color: #fff;
  box-shadow: 0 2px 8px rgba(0, 24, 52, .12);
}

.button .icon,
.text-link .icon,
.product-card-copy > a:last-child .icon {
  transition: transform .18s var(--control-ease);
}

.hotline,
.hotline:hover {
  min-height: 44px;
  border: 1px solid #063b72;
  border-radius: var(--control-radius);
  background: #063b72;
  color: #fff;
  box-shadow: 0 3px 8px rgba(0, 41, 84, .12);
  text-decoration: none;
  transform: none;
  touch-action: manipulation;
  transition: background-color .18s, box-shadow .18s, transform .18s var(--control-ease);
}

.floating-phone,
.floating-phone:hover {
  min-width: 44px;
  min-height: 44px;
  border: 2px solid #fff;
  background: #0865d2;
  color: #fff;
  box-shadow: 0 5px 18px rgba(0, 58, 129, .26);
  transform: none;
  touch-action: manipulation;
  transition: background-color .18s, box-shadow .18s, transform .18s var(--control-ease);
}

.catalog-reset,
.catalog-clear {
  min-height: 44px;
  min-width: 44px;
  padding: 10px 12px;
  border: 1px solid var(--control-edge);
  border-radius: var(--control-radius);
  background: #fff;
  color: #075ab7;
  font-weight: 600;
  line-height: 1.4;
  touch-action: manipulation;
  transition: background-color .18s, border-color .18s, transform .18s var(--control-ease);
}

.product-gallery-thumbs button {
  min-width: 44px;
  min-height: 44px;
  border: 2px solid #d7e4ef;
  border-radius: var(--control-radius);
  box-shadow: 0 2px 4px rgba(0, 54, 116, .04);
  touch-action: manipulation;
  transition: border-color .18s, box-shadow .18s, transform .18s var(--control-ease);
}

.product-gallery-thumbs button[aria-pressed="true"] {
  border-color: #0865d2;
  box-shadow: 0 0 0 2px #e1efff;
}

.lv-product-tabs button {
  min-height: 44px;
  border: 1px solid #cbdff0;
  border-radius: var(--control-radius);
  background: #edf5fc;
  color: #154879;
  touch-action: manipulation;
  transition: background-color .18s, border-color .18s, box-shadow .18s,
    transform .18s var(--control-ease);
}

.lv-product-tabs button[aria-selected="true"] {
  border-color: #075ec5;
  background: #0865d2;
  color: #fff;
  box-shadow: 0 4px 10px rgba(0, 77, 165, .16);
}

.data-tabs button {
  min-height: 44px;
  border-radius: 8px 8px 0 0;
  color: #294f77;
  touch-action: manipulation;
  transition: background-color .18s, color .18s, border-color .18s;
}

.data-tabs button[aria-selected="true"] {
  background: #eaf4ff;
  border-bottom-color: #0865d2;
  color: #075ab7;
}

.catalog-controls input,
.catalog-controls select,
.catalog-filters input,
.catalog-filters select,
.product-enquiry-fields input,
.product-enquiry-fields select,
.lv-quote-form input:not([type="checkbox"]):not([type="radio"]),
.lv-quote-form select,
.lv-quote-form textarea,
.search-input input {
  min-height: 44px;
  border-radius: 8px;
  border-color: #b9cfe2;
  transition: border-color .18s, box-shadow .18s, background-color .18s;
}

.catalog-controls :is(input, select):focus,
.catalog-filters :is(input, select):focus,
.product-enquiry-fields :is(input, select):focus,
.lv-quote-form :is(input, select, textarea):focus,
.search-input input:focus {
  border-color: #0865d2;
  box-shadow: 0 0 0 3px rgba(8, 101, 210, .13);
}

.button:focus-visible,
.hotline:focus-visible,
.floating-phone:focus-visible,
.catalog-reset:focus-visible,
.catalog-clear:focus-visible,
.product-gallery-thumbs button:focus-visible,
.lv-product-tabs button:focus-visible,
.data-tabs button:focus-visible,
.catalog-controls :is(input, select):focus-visible,
.catalog-filters :is(input, select):focus-visible,
.product-enquiry-fields :is(input, select):focus-visible,
.lv-quote-form :is(input, select, textarea):focus-visible,
.search-input input:focus-visible {
  outline: 3px solid #075ab7;
  outline-offset: 3px;
}

.lv-hero .button:focus-visible,
.lv-quote-box .button:focus-visible,
.lv-quote-box :is(input, select, textarea):focus-visible {
  outline-color: #a4dcff;
}

.product-card,
.material-card,
.guidance-card,
.lv-resources > a,
.lv-news > a,
.supply-tiles > a {
  transition: border-color .2s, box-shadow .2s, transform .2s var(--control-ease);
}

.product-card:hover {
  transform: none;
  box-shadow: none;
}

.text-link {
  text-underline-offset: 4px;
  transition: color .18s;
}

@media (hover: hover) and (pointer: fine) {
  .button:hover {
    background: linear-gradient(135deg, #075fc6, #00469e);
    border-color: #004baf;
    box-shadow: 0 7px 16px rgba(0, 72, 155, .23), inset 0 1px 0 rgba(255, 255, 255, .14);
    transform: translateY(-2px);
  }

  .button.ghost:hover,
  .button.white:hover {
    background: #edf6ff;
    color: #034b9e;
    border-color: #78ade0;
    box-shadow: 0 5px 12px rgba(0, 72, 155, .10);
  }

  .button.outline:hover,
  .lv-hero .button.outline:hover {
    background: #fff;
    border-color: #fff;
    color: #073a74;
  }

  .button:hover .icon,
  .text-link:hover .icon,
  .product-card-copy > a:last-child:hover .icon {
    transform: translateX(3px);
  }

  .hotline:hover {
    background: #07519b;
    border-color: #07519b;
    box-shadow: 0 7px 15px rgba(0, 41, 84, .18);
    transform: translateY(-2px);
  }

  .floating-phone:hover {
    background: #004fad;
    box-shadow: 0 8px 22px rgba(0, 58, 129, .32);
    transform: translateY(-2px);
  }

  .catalog-reset:hover,
  .catalog-clear:hover {
    background: #edf6ff;
    border-color: #7cabdb;
    transform: translateY(-2px);
  }

  .product-gallery-thumbs button:hover {
    border-color: #0865d2;
    box-shadow: 0 4px 9px rgba(0, 72, 155, .12);
    transform: translateY(-2px);
  }

  .lv-product-tabs button:hover {
    border-color: #8bb6df;
    background: #e1effe;
    transform: translateY(-1px);
  }

  .lv-product-tabs button[aria-selected="true"]:hover {
    background: #0055b9;
    border-color: #0055b9;
    color: #fff;
  }

  .data-tabs button:hover {
    background: #edf6ff;
    color: #075ab7;
  }

  .product-card:hover,
  .material-card:hover,
  .guidance-card:hover,
  .lv-resources > a:hover,
  .lv-news > a:hover,
  .supply-tiles > a:hover {
    border-color: #9fc5e9;
    box-shadow: 0 7px 18px rgba(0, 58, 119, .10);
    transform: translateY(-2px);
  }

  .text-link:hover {
    color: #004b9f;
    text-decoration: underline;
  }
}

.button:active,
.button.ghost:active,
.button.outline:active,
.button.white:active,
.lv-hero .button.outline:active,
.hotline:active,
.floating-phone:active,
.catalog-reset:active,
.catalog-clear:active,
.product-gallery-thumbs button:active,
.lv-product-tabs button:active {
  transform: translateY(1px);
  box-shadow: inset 0 2px 4px rgba(0, 30, 75, .14);
}

.button:disabled,
.button[aria-disabled="true"],
.button[aria-busy="true"],
.catalog-reset:disabled,
.catalog-clear:disabled,
.product-gallery-thumbs button:disabled,
.lv-product-tabs button:disabled,
.data-tabs button:disabled {
  opacity: .64;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.button[aria-busy="true"] {
  cursor: progress;
}

.button:disabled .icon,
.button[aria-disabled="true"] .icon,
.button[aria-busy="true"] .icon {
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .button,
  .button .icon,
  .hotline,
  .floating-phone,
  .catalog-reset,
  .catalog-clear,
  .product-gallery-thumbs button,
  .lv-product-tabs button,
  .data-tabs button,
  .product-card,
  .material-card,
  .guidance-card,
  .lv-resources > a,
  .lv-news > a,
  .supply-tiles > a,
  .text-link .icon,
  .product-card-copy > a:last-child .icon {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}
