/*!*****************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/less-loader/dist/cjs.js!./src/less/main.less ***!
  \*****************************************************************************************************************************************/
/* Inter Font Face Definitions */
@font-face {
  font-family: 'Inter';
  src: url('../fonts/inter/Inter-Regular.woff2') format('woff2'), url('../fonts/inter/Inter-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Inter';
  src: url('../fonts/inter/Inter-Medium.woff2') format('woff2'), url('../fonts/inter/Inter-Medium.woff') format('woff');
  font-weight: 500;
}
@font-face {
  font-family: 'Inter';
  src: url('../fonts/inter/Inter-SemiBold.woff2') format('woff2'), url('../fonts/inter/Inter-SemiBold.woff') format('woff');
  font-weight: 600;
}
@font-face {
  font-family: 'Inter';
  src: url('../fonts/inter/Inter-Bold.woff2') format('woff2'), url('../fonts/inter/Inter-Bold.woff') format('woff');
  font-weight: 700;
}
.action.primary {
  background: #004F9F;
  border-color: #004F9F;
}
.action.primary:hover {
  background: #00366c;
}
.block-customer-login .actions-toolbar {
  display: flex;
}
.block-customer-login .actions-toolbar .secondary {
  display: flex;
  align-items: center;
}
@media (max-width: 768px) {
  .block-customer-login .actions-toolbar {
    flex-direction: column;
    gap: 10px;
  }
}
.actions-toolbar > .primary {
  margin: 0;
}
.actions-toolbar > .primary .action {
  padding: 14px 20px;
  font-size: 15px;
}
.actions-toolbar > .secondary .action,
.actions-toolbar > .secondary .action:last-child {
  margin: 0;
}
* {
  box-sizing: border-box;
}
.page-main {
  margin-top: 2em;
}
.breadcrumbs {
  margin: 2em auto 0;
}
.header.content,
.breadcrumbs,
.page-main {
  max-width: 1160px;
}
.header.content {
  display: flex;
  padding: 30px 20px;
  align-items: center;
}
.container {
  max-width: 1160px;
  margin: 0 auto;
  width: auto;
}
.catalog-product-view .page.messages {
  margin-bottom: 2em;
}
.messages .message {
  margin-bottom: 30px;
}
.coollogic-empty-category {
  padding: 30px;
  background: #fff;
  max-width: 100%;
}
.coollogic-empty-category h3 {
  margin: 0 0 10px;
  font-size: 18px;
  color: #333;
}
.coollogic-empty-category > p {
  margin: 0 0 20px;
  color: #555;
  font-size: 14px;
}
.coollogic-empty-category .help-options .help-option {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 15px;
}
.coollogic-empty-category .help-options .help-option:last-child {
  margin-bottom: 0;
}
.coollogic-empty-category .help-options .help-option .help-icon {
  flex-shrink: 0;
  color: #c07701;
  margin-top: 2px;
}
.coollogic-empty-category .help-options .help-option div strong {
  display: block;
  font-size: 14px;
  color: #333;
  margin-bottom: 2px;
}
.coollogic-empty-category .help-options .help-option div a {
  color: #004F9F;
  font-size: 14px;
  text-decoration: none;
}
.coollogic-empty-category .help-options .help-option div a:hover {
  text-decoration: underline;
}
.page-header .panel.wrapper {
  background: #004F9F;
}
.sub-header {
  background: #F0F0F0;
  color: #000000;
}
.sub-header ul {
  list-style: none;
  margin: 0;
  padding: 0.85em 0;
  display: flex;
}
.sub-header ul li {
  margin-bottom: 0;
  width: 25%;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.sub-header ul li .icon {
  display: flex;
}
.sub-header ul li .trustpilot-widget {
  padding: 0!important;
}
.sub-header .header.content {
  padding-top: 0;
}
.sub-header .usp-duplicate {
  display: none !important;
}
.nav-sections {
  display: none;
}
/* Ensure our header menu is visible */
.portal-mega-menu {
  display: flex;
  list-style: none;
  width: 75%;
  padding: 0 5%;
  gap: 25px;
  flex-wrap: nowrap;
  justify-content: center;
}
.portal-mega-menu li a {
  color: #333333;
  font-size: 1.1em;
}
.portal-mega-menu .category-item {
  display: flex;
  align-items: center;
}
/* Mobile */
@media screen and (max-width: 767px) {
  /* Hide the header menu on mobile */
  .portal-mega-menu {
    display: none;
  }
  /* Use the default Luma nav / mobile menu */
  .nav-sections {
    display: block;
  }
}
.minicart-wrapper {
  width: 5%;
  text-align: center;
  display: flex;
  justify-content: center;
  margin: 0;
}
.portal-header-search {
  width: 5%;
  text-align: center;
  display: flex;
  justify-content: center;
}
.portal-header-search__icon {
  background: none;
  border: 0;
  cursor: pointer;
  padding: 0;
  display: flex;
  align-items: center;
}
.portal-header-search__icon:hover {
  background: none;
  border: 0;
}
/* placeholder circle icon – swap for real SVG */
.portal-header-search__icon-circle {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid #111;
}
/* Overlay */
.portal-header-search__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  display: none;
  justify-content: center;
  align-items: flex-start;
  padding-top: 120px;
  z-index: 999;
}
.portal-header-search__overlay.is-open {
  display: flex;
}
.portal-header-search__overlay-inner {
  background: #fff;
  padding: 54px 32px;
  border-radius: 8px;
  min-width: min(640px, 90vw);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
  position: relative;
}
.portal-header-search__field-wrap {
  display: flex;
  gap: 8px;
}
.portal-header-search__field-wrap #search {
  flex: 1 1 auto;
  font-size: 16px;
  padding: 10px 12px;
  height: 100%;
}
.portal-header-search__submit {
  flex: 0 0 auto;
  padding: 10px 16px;
}
/* Close button */
.portal-header-search__close {
  position: absolute;
  top: 8px;
  right: 8px;
  background: none;
  border: 0;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.portal-header-search__close:hover {
  background: #fff;
  border: 0;
}
.minicart-wrapper .action.showcart:before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url('../images/icons/basket.svg') no-repeat center center;
  background-size: contain;
  border: 0;
  margin: 0;
  opacity: 1;
}
.minicart-wrapper .action.showcart.active:before {
  width: 24px;
  height: 24px;
  content: "";
}
.minicart-wrapper .block-minicart {
  right: 8px;
}
/* Remove Luma's default icon font */
.minicart-wrapper .action.showcart > .counter,
.minicart-wrapper .action.showcart > span {
  font-family: inherit;
}
/* My Products nav link - prominent CTA style */
.my-products-nav-link {
  display: flex;
  align-items: center;
  background: #004F9F;
  color: #fff !important;
  padding: 8px 20px;
  border-radius: 25px;
  font-weight: 600;
  font-size: 1.1em;
  text-decoration: none;
  transition: all 0.3s ease;
  white-space: nowrap;
}
.my-products-nav-link.my-account {
  background: #00A878;
}
.my-products-nav-link.my-account:hover {
  background: #007554;
}
.my-products-nav-link:hover {
  background: #00366c;
  color: #fff !important;
  text-decoration: none;
}
.my-products-nav-link span {
  color: #fff;
}
/* Mobile - hide the link (will be in mobile menu) */
@media screen and (max-width: 767px) {
  .page-header {
    margin: 0;
    border: 0;
    background: #004F9F;
  }
  .portal-header-search__icon svg {
    fill: #fff;
  }
  .nav-toggle:before {
    color: #fff;
  }
  .minicart-wrapper .action.showcart:before {
    background: url('../images/icons/basket-white.svg') no-repeat center center;
  }
  .my-products-nav-link {
    display: none;
  }
  .nav-toggle {
    position: relative;
    top: 0;
    left: 0;
    width: 20%;
  }
  .logo {
    margin: 0;
    width: 60%;
  }
  .logo img {
    filter: brightness(0) invert(1);
  }
  .minicart-wrapper,
  .portal-header-search {
    width: 15%;
  }
  .header.content {
    justify-content: space-between;
  }
  .sub-header .container {
    overflow: hidden;
    padding: 0;
  }
  .sub-header ul {
    flex-wrap: nowrap;
    animation: usp-step 16s ease-in-out infinite;
    width: max-content;
    padding: 13px 0;
    gap: 0;
  }
  .sub-header ul li {
    width: 100vw;
    white-space: nowrap;
    padding: 0 24px;
    flex-shrink: 0;
    justify-content: center;
  }
  .sub-header ul li .text {
    font-size: 15px;
  }
  .sub-header ul li .icon svg {
    width: 18px;
    height: 18px;
  }
  .sub-header ul .usp-duplicate {
    display: none !important;
  }
  .navigation li {
    text-align: left;
  }
  .navigation li.level0 > .level-top {
    text-transform: capitalize;
  }
}
@keyframes usp-step {
  0%,
  20% {
    transform: translateX(0);
  }
  25%,
  45% {
    transform: translateX(-25%);
  }
  50%,
  70% {
    transform: translateX(-50%);
  }
  75%,
  95% {
    transform: translateX(-75%);
  }
  100% {
    transform: translateX(0);
  }
}
/**
 * Custom Homepage Styles
 * 
 * Place this file in:
 * app/design/frontend/[Vendor]/[Theme]/web/css/source/_homepage.less
 * 
 * Then import it in your _extend.less or _theme.less file:
 * @import '_homepage.less';
 */
.thirstywork-homepage {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0;
}
.homepage-hero {
  background-color: #ffffff;
  padding: 2em 20px;
  text-align: center;
}
.homepage-hero .hero-title {
  font-size: 3.5rem;
  font-weight: 400;
  color: #333333;
  margin: 0 0 20px 0;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .homepage-hero .hero-title {
    font-size: 32px;
  }
}
.homepage-hero .hero-subtitle {
  font-size: 18px;
  color: #666666;
  margin: 0;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .homepage-hero .hero-subtitle {
    font-size: 16px;
  }
}
.action-cards-container {
  padding: 40px 0 60px;
  background-color: #ffffff;
}
.action-cards {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
}
.action-cards.col3 {
  grid-template-columns: 1fr 1fr 1fr;
}
.action-cards.col4 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
@media (max-width: 992px) {
  .action-cards {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.action-card {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  min-height: 400px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  background-image: url('../images/tw1.jpg');
  background-size: cover;
  background-position: center;
}
.action-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(74, 123, 167, 0.85) 0%, rgba(19, 93, 160, 0.95) 100%);
  z-index: 1;
}
.action-card .card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.1);
  z-index: 2;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.action-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}
.action-card:hover .card-overlay {
  opacity: 1;
}
.action-card .card-content {
  position: relative;
  z-index: 3;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 30px 20px;
  text-align: center;
  color: #ffffff;
}
.action-card .card-icon {
  margin-bottom: 20px;
}
.action-card .card-icon .card-icon-svg {
  width: 120px;
  height: 120px;
}
.action-card .card-title {
  font-size: 28px;
  font-weight: 600;
  margin: 0 0 10px 0;
  color: #ffffff;
}
.action-card .card-description {
  font-size: 16px;
  margin: 0 0 20px 0;
  opacity: 0.95;
  line-height: 1.5;
}
.action-card .card-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: #ffffff;
  text-decoration: none;
  font-size: 16px;
  font-weight: 500;
  transition: all 0.3s ease;
}
.action-card .card-link .arrow {
  transition: transform 0.3s ease;
}
.action-card .card-link .shop-now {
  display: flex;
  align-items: center;
  gap: 10px;
}
.action-card .card-link:hover {
  opacity: 0.9;
}
.action-card .card-link:hover .arrow {
  transform: translateX(4px);
}
.action-card.browse {
  background-image: url('../images/hp-products-grey.jpg');
}
.action-card.login {
  background-image: url('../images/hp-log-in-grey.jpg');
}
.action-card.register {
  background-image: url('../images/hp-register-grey.jpg');
}
.action-card.register:before {
  background: linear-gradient(135deg, rgba(0, 168, 120, 0.85) 0%, rgba(0, 140, 100, 0.95) 100%);
}
.action-card.orders {
  background-image: url('../images/hp-orders-grey.jpg');
}
.action-card.account {
  background-image: url('../images/hp-account-grey.jpg');
}
.action-card.account:before {
  background: linear-gradient(135deg, rgba(0, 168, 120, 0.85) 0%, rgba(0, 140, 100, 0.95) 100%);
}
.action-card.invoices {
  background-image: url('../images/hp-invoices-grey.jpg');
}
.action-card.invoices:before {
  background: linear-gradient(135deg, rgba(0, 168, 120, 0.85) 0%, rgba(0, 140, 100, 0.95) 100%);
}
.product-categories {
  padding: 2em 0 6em;
}
.categories-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
}
@media (max-width: 1200px) {
  .categories-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
}
@media (max-width: 768px) {
  .categories-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.category-item {
  text-align: center;
}
.category-item a {
  display: flex;
  flex-direction: column;
}
.category-item .category-image {
  margin-bottom: 25px;
}
.category-item .category-image img {
  max-width: 100%;
  height: auto;
  max-height: 280px;
  object-fit: contain;
}
.category-item .category-title {
  font-size: 22px;
  font-weight: 600;
  color: #333333;
  margin: 0 0 12px 0;
}
.category-item .category-description {
  font-size: 14px;
  color: #666666;
  margin: 0 0 20px 0;
  line-height: 1.6;
}
.category-item .shop-now-button {
  display: flex;
  align-items: center;
  gap: 10px;
}
.category-item .category-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #008060;
  text-decoration: none;
  font-size: 16px;
  font-weight: 500;
  transition: all 0.3s ease;
}
.category-item .category-link svg {
  stroke: #008060;
  transition: transform 0.3s ease;
}
.category-item .category-link:hover {
  opacity: 0.8;
}
.category-item .category-link:hover svg {
  transform: translateX(4px);
}
.help-section {
  background-image: url('../images/hp-need-help.jpg');
  background-size: cover;
  background-position: center;
  padding: 80px 4em;
  margin: 0 0 60px 0;
  position: relative;
  border-radius: 5px;
}
.help-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.85);
  z-index: 1;
}
.help-section .help-content {
  position: relative;
  z-index: 2;
  margin: 0 auto;
}
.help-section .help-title {
  font-size: 36px;
  font-weight: 600;
  color: #333333;
  margin: 0 0 30px 0;
}
@media (max-width: 768px) {
  .help-section .help-title {
    font-size: 28px;
  }
}
.help-section .help-buttons {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.help-section .btn {
  display: inline-block;
  padding: 14px 32px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
}
.help-section .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.help-section .btn-green {
  background-color: #00A878;
  color: #ffffff;
}
.help-section .btn-green:hover {
  background-color: #008f68;
}
.help-section .btn-blue {
  background-color: #0066CC;
  color: #ffffff;
}
.help-section .btn-blue:hover {
  background-color: #0052a3;
}
@media (max-width: 768px) {
  .help-section {
    padding: 50px 20px;
    margin: 0 0 40px 0;
  }
  .help-section .help-buttons {
    flex-direction: column;
    gap: 15px;
  }
  .help-section .help-buttons .btn {
    width: 100%;
    max-width: 300px;
  }
}
@media (max-width: 768px) {
  .homepage-hero {
    padding: 0;
  }
  .action-cards-container {
    padding: 30px 0 40px;
  }
  .product-categories {
    padding: 40px 20px 60px;
  }
  .action-cards.col3,
  .action-cards.col4 {
    grid-template-columns: 1fr;
  }
}
.product-item-name {
  min-height: 49px;
  margin: 0 0 2rem;
  text-align: center;
}
.product-item-price-login a.action.primary {
  display: flex;
  justify-content: center;
  width: 100%;
  text-align: center;
  padding: 1.5rem 1rem;
  border-radius: 10px;
  font-size: 1.5rem;
  transition: all 0.3s ease;
}
.product-item-price-login a.action.primary svg {
  transition: all 0.3s ease;
}
.product-item-price-login a.action.primary:hover svg {
  transform: translateX(4px);
}
.page-products .product-item-info {
  width: 100%;
  border: 1px solid #F0F0F0;
  border-radius: 12px;
  padding: 1rem;
}
.page-products .product-item-info .product-item-link {
  font-size: 1.5rem;
}
.page-products .product-item-info .product-image-container {
  width: 100%;
}
.page-products .product-item-info:hover {
  margin: 0;
  padding: 1rem;
  border: 1px solid #F0F0F0;
}
.page-products .product-item-info .price-box {
  text-align: center;
}
.page-products .product-item-info .price-box .price {
  font-size: 1.85rem;
  color: #004F9F;
}
.page-products .products-grid .product-item-info .product-item-inner {
  box-shadow: none;
  position: relative;
  border: 0;
  padding: 0;
  height: auto;
  width: auto;
  display: block;
}
.page-products .products-grid .product-item-info .product-item-inner:not(:hover):not(.active) {
  box-shadow: none;
  position: relative;
  border: 0;
  padding: 0;
  height: auto;
  width: auto;
  display: block;
}
.page-products .products-grid .product-item-info .product-item-inner .product-item-actions {
  margin: 0;
}
.page-products .products-grid .product-item-info .product-item-inner .product-item-actions .actions-primary {
  width: 100%;
}
.page-products .products-grid .product-item-info .product-item-inner .product-item-actions .action.primary {
  display: flex;
  justify-content: center;
  width: 100%;
  text-align: center;
  padding: 1.5rem 1rem;
  border-radius: 10px;
  font-size: 1.5rem;
  transition: all 0.3s ease;
}
.page-products .products-grid .product-item-info .product-item-inner .product-item-actions .action.primary svg {
  transition: all 0.3s ease;
}
.page-products .products-grid .product-item-info .product-item-inner .product-item-actions .action.primary:hover svg {
  transform: translateX(4px);
}
.page-products .products-grid .product-item-info .product-item-inner .actions-secondary {
  display: none;
}
.page-products.page-layout-1column .products-grid .product-item {
  margin-bottom: 2%;
}
.page-products.page-layout-1column .products-grid .product-item:nth-child(2n - 1) {
  margin-left: 0!important;
}
@media (min-width: 768px) {
  .page-products.page-layout-1column .products-grid .product-item {
    width: 23.5% !important;
    margin-left: 2%!important;
  }
  .page-products.page-layout-1column .products-grid .product-item:nth-child(4n) {
    margin-left: 2%!important;
  }
  .page-products.page-layout-1column .products-grid .product-item:nth-child(4n + 1) {
    margin-left: 0!important;
  }
  .page-products .product-item-info {
    padding: 3rem 2rem;
  }
  .page-products .product-item-info:hover {
    margin: 0;
    padding: 3rem 2rem;
    border: 1px solid #F0F0F0;
  }
  .page-products .product-item-info .product-item-link {
    font-size: 2rem;
  }
}
.page-layout-1column .product-info-main,
.page-layout-1column .product.media {
  width: 100%;
}
.page-layout-1column .product.media {
  margin-bottom: 20px;
}
.product-info-main .page-title-wrapper .page-title {
  font-weight: 600;
  margin-bottom: 1.5rem;
}
.product-info-main .product-info-price {
  border: 0;
  margin: 0;
}
.product-info-main .product-info-price .price-box {
  padding: 0;
}
.product-info-main .product-info-price .price-box .price-container span {
  margin: 0;
}
.product-info-main .price-box .price-container .price {
  color: #004F9F;
}
.product-info-main .product-info-stock-sku {
  padding: 0;
  float: none;
  text-align: left;
}
.product-info-main .product.attribute.overview {
  margin: 1.5rem 0 0;
}
.product-info-main .product.attribute.overview p {
  font-size: 1.2em;
  font-weight: 300;
  line-height: 1.6em;
}
.product-info-main .product-info-stock-sku {
  margin-bottom: 1.5rem;
}
.product-info-main .product-info-stock-sku .stock {
  display: none;
}
.product-info-main .product-info-stock-sku .sku {
  color: #004F9F;
  font-weight: 600;
}
.product-info-main .product-info-stock-sku .product.attribute.sku .type {
  font-weight: 600;
}
.product-info-main .product-add-form form {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 25px;
}
.product-info-main .product-add-form .box-tocart {
  width: 100%;
  margin: 0;
}
.product-info-main .product-add-form .box-tocart .action.primary {
  background: #018255;
  border: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  padding: 2rem;
  font-size: 1.5rem;
}
.product-info-main .product-add-form .box-tocart .fieldset {
  display: flex;
  margin: 0;
  width: 100%;
  height: 100%;
  gap: 10px;
}
.product-info-main .product-add-form .box-tocart .fieldset .field.qty {
  width: 20%;
  margin: 0;
}
.product-info-main .product-add-form .box-tocart .fieldset .field.qty label {
  display: none;
}
.product-info-main .product-add-form .box-tocart .fieldset .field.qty .control {
  height: 100%;
}
.product-info-main .product-add-form .box-tocart .fieldset .field.qty .input-text.qty {
  width: 100%;
  height: 100%;
  border: 1px solid #F0F0F0;
  border-radius: 3px;
}
.product-info-main .product-add-form .box-tocart .fieldset .actions {
  width: 80%;
}
.product-info-main .product-add-form .contracted-price-section {
  width: 100%;
  display: flex;
  background: #F0F0F0;
  text-align: center;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 1.75rem;
  border-radius: 3px;
  padding: 15px 2rem;
  margin-right: 1rem;
}
.product-info-main .product-add-form .contracted-price-section .contracted-price-value {
  color: #004F9F;
  margin-left: 0.35em;
  font-size: 2.75rem;
}
.product.info.detailed .item.content {
  margin-top: 40px;
  border: 1px solid #F0F0F0;
}
.product.info.detailed .item.title .switch {
  border: 1px solid #F0F0F0;
  border-bottom: 0;
}
@media (min-width: 768px) {
  .page-layout-1column .product-info-main,
  .page-layout-1column .product.media {
    width: 48.5%;
  }
  .product-info-main .product-add-form form {
    flex-direction: row;
  }
  .product-info-main .product-add-form .contracted-price-section {
    width: 65%;
  }
  .product-info-main .product-add-form .box-tocart {
    width: 35%;
  }
  .product-info-main .product-add-form .box-tocart .action.primary {
    padding: 1rem 2rem;
  }
}
.cart-container .cart-summary-actions .action.primary {
  width: 100%;
  line-height: 2.2rem;
  padding: 14px 17px;
  font-size: 1.8rem;
}
.cart-container .cart-discount {
  display: none;
}
.cart-container #block-shipping {
  display: none;
}
.cart-container .table-wrapper .grand.totals.incl .mark,
.cart-container .table-wrapper .grand.totals.incl .price {
  font-size: 1.4rem;
  vertical-align: middle;
}
.cart-container .table-wrapper .grand.totals.incl strong {
  padding: 0;
  font-weight: normal;
}
/* Hide "Check Out with Multiple Addresses" link */
.multicheckout,
.action.multicheckout,
a[href*="multishipping"] {
  display: none !important;
}
.minicart-wrapper .action.showcart .counter.qty {
  background: #00A878;
  margin: 0;
}
.block-minicart .price-including-tax:before {
  content: attr(data-label) ': ';
  font-size: 1.1rem;
}
.block-minicart .subtotal .price-container {
  margin: 6px 0;
}
/* Cups Upsell Popup */
.cups-upsell-popup {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cups-upsell-popup__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
}
.cups-upsell-popup__content {
  position: relative;
  background: #fff;
  border-radius: 12px;
  padding: 30px;
  max-width: 500px;
  width: 90%;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
  text-align: center;
}
.cups-upsell-popup__close {
  position: absolute;
  top: 15px;
  right: 15px;
  background: none;
  border: none;
  font-size: 28px;
  cursor: pointer;
  color: #666;
  line-height: 1;
}
.cups-upsell-popup__close:hover {
  color: #333;
}
.cups-upsell-popup__header h2 {
  margin: 0 0 15px;
  font-size: 24px;
  color: #004F9F;
}
.cups-upsell-popup__body p {
  margin-bottom: 20px;
  font-size: 16px;
  color: #555;
}
.cups-upsell-popup__footer {
  display: flex;
  gap: 15px;
  justify-content: center;
  margin-top: 25px;
}
.cups-upsell-popup__footer .action {
  padding: 12px 25px;
  border-radius: 25px;
  font-weight: 600;
}
.cups-upsell-popup__footer .action.primary {
  background: #004F9F;
  color: #fff;
  border: none;
}
.cups-upsell-popup__footer .action.primary:hover {
  background: #00366c;
}
.cups-upsell-popup__footer .action.secondary {
  background: #f5f5f5;
  color: #666;
  border: 1px solid #ddd;
}
.cups-upsell-popup__footer .action.secondary:hover {
  background: #eee;
}
body.cups-upsell-popup-open {
  overflow: hidden;
}
/* Cups Upsell Popup Products */
.cups-upsell-popup__products {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin: 25px 0;
}
.cups-upsell-popup__product {
  flex: 0 0 140px;
  text-align: center;
}
.cups-upsell-popup__product .product-image {
  display: block;
  margin-bottom: 10px;
}
.cups-upsell-popup__product .product-image img {
  width: 100px;
  height: 100px;
  object-fit: contain;
  border-radius: 8px;
  background: #f5f5f5;
}
.cups-upsell-popup__product .product-details {
  margin-bottom: 10px;
}
.cups-upsell-popup__product .product-name {
  display: block;
  font-size: 13px;
  color: #333;
  text-decoration: none;
  margin-bottom: 5px;
  line-height: 1.3;
}
.cups-upsell-popup__product .product-name:hover {
  color: #004F9F;
}
.cups-upsell-popup__product .product-price {
  font-size: 16px;
  font-weight: 600;
  color: #004F9F;
}
.cups-upsell-popup__product .action.tocart {
  padding: 8px 16px;
  font-size: 12px;
  border-radius: 20px;
  background: #004F9F;
  border: none;
  color: #fff;
  cursor: pointer;
}
.cups-upsell-popup__product .action.tocart:hover {
  background: #00366c;
}
.cups-upsell-popup__footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
}
.cups-upsell-popup__footer .browse-all {
  padding: 10px 25px;
  background: #f5f5f5;
  color: #333;
  border-radius: 25px;
  text-decoration: none;
}
.cups-upsell-popup__footer .browse-all:hover {
  background: #eee;
}
.cups-upsell-popup__footer .cups-upsell-popup__dismiss {
  background: none;
  border: none;
  color: #999;
  font-size: 13px;
  cursor: pointer;
}
.cups-upsell-popup__footer .cups-upsell-popup__dismiss:hover {
  color: #666;
}
.account .sidebar-main .nav {
  list-style: none;
  padding: 0;
  margin: 0;
}
.account .sidebar-main .nav .item a,
.account .sidebar-main .nav .item > strong {
  padding: 15px 18px 15px 15px;
}
.account .sidebar-main .nav .item.current a,
.account .sidebar-main .nav .item.current > strong {
  border-color: #004F9F;
}
.account .form-address-edit .set.billing {
  display: none;
}
.account .order-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.account .status-span {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 3px;
  font-size: 0.85em;
  font-weight: 600;
  text-transform: uppercase;
}
.account .status-span.status--canceled,
.account .status-span.status--cancelled {
  background: #fde8ea;
  color: #891622;
  border: 0;
}
.account .status-span.status--complete {
  background: #e6f4ea;
  color: #1e7e34;
  border: 0;
}
.account .status-span.status--processing,
.account .status-span.status--pending,
.account .status-span.status--pending-payment,
.account .status-span.status--on-hold {
  background: #fef3e0;
  color: #af671d;
  border: 0;
  white-space: nowrap;
}
.account .order-status {
  margin: 0!important;
  font-weight: bold;
}
.account .order-status.order-status--canceled,
.account .order-status.order-status--cancelled {
  background: #fde8ea;
  color: #891622;
  border: 0;
}
.account .order-status.order-status--complete {
  background: #e6f4ea;
  color: #1e7e34;
  border: 0;
}
.account .order-status.order-status--processing,
.account .order-status.order-status--pending,
.account .order-status.order-status--pending-payment,
.account .order-status.order-status--on-hold {
  background: #fef3e0;
  color: #af671d;
  border: 0;
  white-space: nowrap;
}
.account .page-title {
  margin-bottom: 30px;
}
.account .page-title .base {
  font-weight: bold;
}
.account .page-main .page-title-wrapper .order-date {
  margin: 0;
}
.account .page-main .page-title-wrapper .order-date .label {
  display: inline-block;
}
.account .page-main .page-title-wrapper .coollogic-order-id {
  display: block;
  margin-bottom: 15px;
}
@media (max-width: 768px) {
  .account .page-main .page-title-wrapper .coollogic-order-id {
    margin: 10px 0 0;
  }
}
.account .delivery-date {
  margin: 5px 0 15px;
}
.account .page-title-wrapper .page-title {
  margin-bottom: 10px;
}
.account .coollogic-account-code {
  margin-bottom: 20px;
}
.lac-notification-sticky .lac-notification .lac-notification-icon .logo-img {
  width: 150px;
  display: none;
}
/* Disable account fields */
input#firstname,
input#lastname {
  pointer-events: none !important;
  background-color: #f5f5f5 !important;
  opacity: 0.6 !important;
}
.field.choice:has(#change-email),
.field.choice:has(#assistance_allowed_checkbox) {
  display: none !important;
}
.customer-account-login .block-new-customer {
  background: #fff;
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.customer-account-login .block-new-customer .block-title {
  margin-bottom: 15px;
}
.customer-account-login .block-new-customer .block-title strong {
  font-size: 22px;
  color: #333;
}
.customer-account-login .block-new-customer .block-content > p {
  font-size: 15px;
  color: #666;
  margin-bottom: 25px;
  line-height: 1.6;
}
.customer-account-login .block-new-customer .actions-toolbar {
  margin-bottom: 25px;
}
.customer-account-login .block-new-customer .actions-toolbar .primary,
.customer-account-login .block-new-customer .actions-toolbar .secondary {
  margin-bottom: 10px;
}
.customer-account-login .block-new-customer .actions-toolbar .action {
  display: block;
  text-align: center;
  padding: 14px 20px;
  font-size: 15px;
  font-weight: 600;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.2s;
}
.customer-account-login .block-new-customer .actions-toolbar .action.primary {
  background: #004F9F;
  color: #fff;
  border: none;
}
.customer-account-login .block-new-customer .actions-toolbar .action.primary:hover {
  background: #006bb4;
}
.customer-account-login .block-new-customer .actions-toolbar .action:not(.primary) {
  background: #f0f0f0;
  color: #333;
  border: 1px solid #ddd;
}
.customer-account-login .block-new-customer .actions-toolbar .action:not(.primary):hover {
  background: #e5e5e5;
}
.customer-account-login .block-new-customer .contact-options-section {
  margin-top: 30px;
  padding-top: 25px;
  border-top: 1px solid #e0e0e0;
}
.customer-account-login .block-new-customer .contact-options-section h3 {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 15px;
  color: #333;
}
.customer-account-login .block-new-customer .contact-methods {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.customer-account-login .block-new-customer .contact-method {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  background: #f8f8f8;
  border-radius: 4px;
  transition: background 0.2s;
}
.customer-account-login .block-new-customer .contact-method:hover {
  background: #f0f0f0;
}
.customer-account-login .block-new-customer .contact-icon {
  flex-shrink: 0;
  color: #1979c3;
}
.customer-account-login .block-new-customer .contact-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.customer-account-login .block-new-customer .contact-info strong {
  font-size: 14px;
  color: #333;
}
.customer-account-login .block-new-customer .contact-info a {
  font-size: 14px;
  color: #1979c3;
  text-decoration: none;
}
.customer-account-login .block-new-customer .contact-info a:hover {
  text-decoration: underline;
}
.customer-account-login .block .block-title {
  font-size: 2.2rem;
}
@media (max-width: 768px) {
  .customer-account-login .block-new-customer {
    padding: 25px 20px;
    padding: 0;
    box-shadow: none;
  }
  .customer-account-login .block-new-customer .block-title strong {
    font-size: 2.2rem;
  }
  .customer-account-login .block-new-customer .contact-method {
    padding: 12px;
  }
}
.coollogic-account-claim,
.coollogic-claim-account {
  /* Sidebar */
  /* No account box on claim page */
  /* Mobile */
}
.coollogic-account-claim .coollogic-claim-account .page-title-wrapper,
.coollogic-claim-account .coollogic-claim-account .page-title-wrapper {
  margin-bottom: 30px;
}
.coollogic-account-claim .claim-content-wrapper,
.coollogic-claim-account .claim-content-wrapper {
  display: grid;
  grid-template-columns: 1fr 350px;
  gap: 40px;
}
.coollogic-account-claim .claim-main-content,
.coollogic-claim-account .claim-main-content {
  background: #fff;
  padding: 40px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.coollogic-account-claim .claim-main-content .field-note,
.coollogic-claim-account .claim-main-content .field-note {
  margin-top: 10px;
  font-style: italic;
}
.coollogic-account-claim .claim-intro,
.coollogic-claim-account .claim-intro {
  margin-bottom: 30px;
}
.coollogic-account-claim .intro-text,
.coollogic-claim-account .intro-text {
  font-size: 18px;
  color: #333;
  margin-bottom: 10px;
  font-weight: 500;
}
.coollogic-account-claim .intro-subtext,
.coollogic-claim-account .intro-subtext {
  font-size: 15px;
  color: #666;
}
.coollogic-account-claim .coollogic-claim-account .fieldset,
.coollogic-claim-account .coollogic-claim-account .fieldset {
  border: none;
  margin: 0;
}
.coollogic-account-claim .coollogic-claim-account .legend,
.coollogic-claim-account .coollogic-claim-account .legend {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 20px;
  color: #333;
}
.coollogic-account-claim .coollogic-claim-account .field,
.coollogic-claim-account .coollogic-claim-account .field {
  margin-bottom: 25px;
}
.coollogic-account-claim .coollogic-claim-account .field-note,
.coollogic-claim-account .coollogic-claim-account .field-note {
  margin-top: 8px;
  font-size: 13px;
  color: #666;
  font-style: italic;
}
.coollogic-account-claim .coollogic-claim-account .input-text,
.coollogic-claim-account .coollogic-claim-account .input-text {
  width: 100%;
  padding: 12px 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 15px;
}
.coollogic-account-claim .coollogic-claim-account .input-text:focus,
.coollogic-claim-account .coollogic-claim-account .input-text:focus {
  border-color: #1979c3;
  outline: none;
}
.coollogic-account-claim .coollogic-claim-account .action.primary,
.coollogic-claim-account .coollogic-claim-account .action.primary {
  padding: 14px 30px;
  font-size: 16px;
  font-weight: 600;
}
.coollogic-account-claim .coollogic-claim-account .action.back,
.coollogic-claim-account .coollogic-claim-account .action.back {
  margin-left: 15px;
  color: #666;
  text-decoration: none;
}
.coollogic-account-claim .coollogic-claim-account .action.back:hover,
.coollogic-claim-account .coollogic-claim-account .action.back:hover {
  text-decoration: underline;
}
.coollogic-account-claim .claim-sidebar,
.coollogic-claim-account .claim-sidebar {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.coollogic-account-claim .help-box,
.coollogic-claim-account .help-box,
.coollogic-account-claim .tips-box,
.coollogic-claim-account .tips-box {
  background: #f8f8f8;
  padding: 25px;
  border-radius: 8px;
  border-left: 3px solid #1979c3;
}
.coollogic-account-claim .help-box h3,
.coollogic-claim-account .help-box h3,
.coollogic-account-claim .tips-box h4,
.coollogic-claim-account .tips-box h4 {
  margin: 0 0 15px 0;
  font-size: 18px;
  color: #333;
}
.coollogic-account-claim .no-account-box,
.coollogic-claim-account .no-account-box {
  background: #f0f7ff;
  border: 1px solid #d0e3f7;
  border-radius: 8px;
  padding: 20px;
  margin-top: 20px;
}
.coollogic-account-claim .no-account-box h4,
.coollogic-claim-account .no-account-box h4 {
  margin: 0 0 10px;
  font-size: 16px;
  color: #004F9F;
}
.coollogic-account-claim .no-account-box p,
.coollogic-claim-account .no-account-box p {
  margin: 0 0 15px;
  font-size: 14px;
  color: #555;
}
.coollogic-account-claim .no-account-box .action.secondary,
.coollogic-claim-account .no-account-box .action.secondary {
  display: inline-block;
  padding: 10px 20px;
  background: #fff;
  border: 1px solid #004F9F;
  color: #004F9F;
  border-radius: 25px;
  text-decoration: none;
  font-weight: 600;
}
.coollogic-account-claim .no-account-box .action.secondary:hover,
.coollogic-claim-account .no-account-box .action.secondary:hover {
  background: #004F9F;
  color: #fff;
}
.coollogic-account-claim .help-box p,
.coollogic-claim-account .help-box p {
  margin-bottom: 20px;
  color: #666;
  font-size: 14px;
}
.coollogic-account-claim .help-options,
.coollogic-claim-account .help-options {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.coollogic-account-claim .help-option,
.coollogic-claim-account .help-option {
  display: flex;
  align-items: center;
  gap: 12px;
}
.coollogic-account-claim .help-icon,
.coollogic-claim-account .help-icon {
  flex-shrink: 0;
  color: #1979c3;
}
.coollogic-account-claim .help-option strong,
.coollogic-claim-account .help-option strong {
  display: block;
  font-size: 14px;
  color: #333;
  margin-bottom: 2px;
}
.coollogic-account-claim .help-option a,
.coollogic-claim-account .help-option a {
  font-size: 14px;
  color: #1979c3;
  text-decoration: none;
}
.coollogic-account-claim .help-option a:hover,
.coollogic-claim-account .help-option a:hover {
  text-decoration: underline;
}
.coollogic-account-claim .tips-list,
.coollogic-claim-account .tips-list {
  margin: 0;
  padding-left: 20px;
}
.coollogic-account-claim .tips-list li,
.coollogic-claim-account .tips-list li {
  margin-bottom: 8px;
  color: #666;
  font-size: 14px;
}
@media (max-width: 1024px) {
  .coollogic-account-claim .claim-content-wrapper,
  .coollogic-claim-account .claim-content-wrapper {
    grid-template-columns: 1fr;
  }
  .coollogic-account-claim .claim-sidebar,
  .coollogic-claim-account .claim-sidebar {
    order: 2;
  }
}
@media (max-width: 768px) {
  .coollogic-account-claim .coollogic-claim-account,
  .coollogic-claim-account .coollogic-claim-account {
    padding: 0;
  }
  .coollogic-account-claim .claim-main-content,
  .coollogic-claim-account .claim-main-content {
    padding: 0;
    box-shadow: none;
  }
  .coollogic-account-claim .intro-text,
  .coollogic-claim-account .intro-text {
    font-size: 16px;
  }
  .coollogic-account-claim .coollogic-claim-account .actions-toolbar .secondary,
  .coollogic-claim-account .coollogic-claim-account .actions-toolbar .secondary {
    margin-top: 10px;
  }
  .coollogic-account-claim .coollogic-claim-account .action.back,
  .coollogic-claim-account .coollogic-claim-account .action.back {
    margin-left: 0;
    display: block;
  }
}
.coollogic-account-enquiry .page-title-wrapper {
  margin-bottom: 30px;
}
.coollogic-account-enquiry .enquiry-content-wrapper {
  display: grid;
  grid-template-columns: 1fr 350px;
  gap: 40px;
}
.coollogic-account-enquiry .enquiry-main-content {
  background: #fff;
  padding: 40px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.coollogic-account-enquiry .enquiry-intro {
  margin-bottom: 30px;
}
.coollogic-account-enquiry .enquiry-intro .intro-text {
  font-size: 18px;
  color: #333;
  margin-bottom: 10px;
  font-weight: 500;
}
.coollogic-account-enquiry .enquiry-intro .intro-subtext {
  font-size: 15px;
  color: #666;
}
.coollogic-account-enquiry .fieldset {
  border: none;
  margin: 0;
}
.coollogic-account-enquiry .fieldset .legend {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 20px;
  color: #333;
}
.coollogic-account-enquiry .field {
  margin-bottom: 20px;
}
.coollogic-account-enquiry .field .field-note {
  margin-top: 5px;
  font-size: 13px;
  color: #666;
  font-style: italic;
}
.coollogic-account-enquiry .input-text,
.coollogic-account-enquiry textarea {
  width: 100%;
  padding: 12px 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 15px;
  font-family: inherit;
}
.coollogic-account-enquiry .input-text:focus,
.coollogic-account-enquiry textarea:focus {
  border-color: #1979c3;
  outline: none;
}
.coollogic-account-enquiry textarea {
  resize: vertical;
}
.coollogic-account-enquiry .actions-toolbar {
  margin-top: 30px;
}
.coollogic-account-enquiry .actions-toolbar .action.submit.primary {
  padding: 14px 30px;
  font-size: 16px;
  font-weight: 600;
}
.coollogic-account-enquiry .actions-toolbar .action.back {
  margin-left: 15px;
  color: #666;
  text-decoration: none;
}
.coollogic-account-enquiry .actions-toolbar .action.back:hover {
  text-decoration: underline;
}
.coollogic-account-enquiry .enquiry-sidebar {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.coollogic-account-enquiry .help-box,
.coollogic-account-enquiry .info-box {
  background: #f8f8f8;
  padding: 25px;
  border-radius: 8px;
  border-left: 3px solid #1979c3;
}
.coollogic-account-enquiry .help-box h3,
.coollogic-account-enquiry .info-box h3,
.coollogic-account-enquiry .help-box h4,
.coollogic-account-enquiry .info-box h4 {
  margin: 0 0 15px 0;
  font-size: 18px;
  color: #333;
}
.coollogic-account-enquiry .help-box p,
.coollogic-account-enquiry .info-box p {
  margin-bottom: 20px;
  color: #666;
  font-size: 14px;
}
.coollogic-account-enquiry .help-options {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.coollogic-account-enquiry .help-option {
  display: flex;
  align-items: center;
  gap: 12px;
}
.coollogic-account-enquiry .help-option .help-icon {
  flex-shrink: 0;
  color: #1979c3;
}
.coollogic-account-enquiry .help-option strong {
  display: block;
  font-size: 14px;
  color: #333;
  margin-bottom: 2px;
}
.coollogic-account-enquiry .help-option a {
  font-size: 14px;
  color: #1979c3;
  text-decoration: none;
}
.coollogic-account-enquiry .help-option a:hover {
  text-decoration: underline;
}
.coollogic-account-enquiry .info-list {
  margin: 0;
  padding-left: 20px;
}
.coollogic-account-enquiry .info-list li {
  margin-bottom: 10px;
  color: #666;
  font-size: 14px;
  line-height: 1.5;
}
@media (max-width: 1024px) {
  .coollogic-account-enquiry .enquiry-content-wrapper {
    grid-template-columns: 1fr;
  }
  .coollogic-account-enquiry .enquiry-sidebar {
    order: 2;
  }
}
@media (max-width: 768px) {
  .coollogic-account-enquiry .enquiry-main-content {
    padding: 0;
    box-shadow: none;
  }
  .coollogic-account-enquiry .enquiry-intro .intro-text {
    font-size: 16px;
  }
  .coollogic-account-enquiry .actions-toolbar .secondary {
    margin-top: 10px;
  }
  .coollogic-account-enquiry .actions-toolbar .action.back {
    margin-left: 0;
    display: block;
  }
}
.claim-loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.claim-loading-modal {
  background: #fff;
  border-radius: 12px;
  padding: 40px;
  text-align: center;
  max-width: 360px;
  width: 90%;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}
.claim-loading-modal h3 {
  font-size: 18px;
  font-weight: 700;
  color: #0a3d6b;
  margin: 20px 0 8px;
}
.claim-loading-modal p {
  font-size: 14px;
  color: #666;
  margin: 0;
}
.claim-loading-spinner {
  width: 48px;
  height: 48px;
  border: 4px solid #e5e7eb;
  border-top-color: #0a3d6b;
  border-radius: 50%;
  margin: 0 auto;
  animation: claimSpin 0.8s linear infinite;
}
@keyframes claimSpin {
  to {
    transform: rotate(360deg);
  }
}
.customer-top-products {
  margin: 40px 0;
}
.customer-top-products .top-products-header {
  text-align: center;
  margin-bottom: 30px;
}
.customer-top-products .top-products-header h2 {
  font-size: 28px;
  color: #333;
  margin-bottom: 10px;
}
.customer-top-products .top-products-header p {
  font-size: 16px;
  color: #666;
}
.customer-top-products .top-products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-bottom: 30px;
}
.customer-top-products .top-product-item {
  background: white;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  transition: all 0.3s ease;
}
.customer-top-products .top-product-item:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-5px);
}
.customer-top-products .product-image {
  margin-bottom: 15px;
}
.customer-top-products .product-image img {
  max-width: 100%;
  height: auto;
  max-height: 200px;
  object-fit: contain;
}
.customer-top-products .product-name {
  font-size: 16px;
  margin-bottom: 10px;
  min-height: 40px;
}
.customer-top-products .product-name a {
  color: #333;
  text-decoration: none;
}
.customer-top-products .product-name a:hover {
  color: #1979c3;
}
.customer-top-products .product-stats {
  font-size: 14px;
  color: #666;
  margin-bottom: 10px;
}
.customer-top-products .product-price {
  font-size: 20px;
  font-weight: bold;
  color: #1979c3;
  margin-bottom: 15px;
}
.customer-top-products .product-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.customer-top-products .product-actions .top-product-addtocart {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.customer-top-products .product-actions .qty-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  border: 1px solid #ccc;
  border-radius: 4px;
  overflow: hidden;
  max-width: 130px;
  margin: 0 auto;
}
.customer-top-products .product-actions .qty-btn {
  width: 36px;
  height: 36px;
  border: none;
  background: #f5f5f5;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s;
  line-height: 1;
  padding: 0;
}
.customer-top-products .product-actions .qty-btn:hover {
  background: #e0e0e0;
}
.customer-top-products .product-actions .qty-input {
  width: 50px;
  height: 36px;
  text-align: center;
  border: none;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  font-size: 14px;
  -moz-appearance: textfield;
  padding: 0;
  margin: 0;
}
.customer-top-products .product-actions .qty-input::-webkit-outer-spin-button,
.customer-top-products .product-actions .qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.customer-top-products .product-actions button,
.customer-top-products .product-actions a {
  padding: 10px 20px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: all 0.3s ease;
}
.customer-top-products .product-actions .tocart {
  background: #004F9F;
  color: white;
}
.customer-top-products .product-actions .tocart:hover {
  background: #00366c;
  border: 0;
}
.customer-top-products .product-actions .view {
  background: transparent;
  color: #1979c3;
  border: 1px solid #1979c3;
  text-align: center;
  display: block;
}
.customer-top-products .product-actions .view:hover {
  background: #f5f5f5;
}
.customer-top-products .view-all-products {
  text-align: center;
  margin-top: 30px;
}
.customer-top-products .view-all-products .action {
  padding: 12px 30px;
  background: #004F9F;
  color: white;
  text-decoration: none;
  border-radius: 4px;
  font-weight: 600;
}
.customer-top-products .view-all-products .action:hover {
  background: #00366c;
  border: 0;
}
.customer-top-products .no-top-products {
  text-align: center;
  padding: 40px 20px;
  font-size: 16px;
  color: #666;
}
.customer-top-products .no-top-products a {
  color: #1979c3;
  text-decoration: none;
}
.customer-top-products .no-top-products a:hover {
  text-decoration: underline;
}
@media (max-width: 992px) {
  .customer-top-products .top-products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
@media (max-width: 576px) {
  .customer-top-products .top-products-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.invoice-header-bar {
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 2.5rem;
}
.invoice-header-bar .stats-row {
  display: flex;
  background: #fff;
  border-bottom: 1px solid #e5e5e5;
}
.invoice-header-bar .stats-row .stat {
  flex: 1;
  padding: 16px 20px;
  border-right: 1px solid #e5e5e5;
}
.invoice-header-bar .stats-row .stat:last-child {
  border-right: none;
}
.invoice-header-bar .stat-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #888;
  margin-bottom: 4px;
}
.invoice-header-bar .stat-value {
  font-size: 22px;
  font-weight: 700;
  color: #1a1a1a;
}
.invoice-header-bar .stat-value.outstanding {
  color: #e02b27;
}
.invoice-header-bar .actions-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  background: #fafafa;
}
.invoice-header-bar .btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #0a3d6b;
  color: #fff;
  border: none;
  padding: 10px 20px;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}
.invoice-header-bar .btn-primary:hover {
  background: #08325a;
  color: #fff;
  text-decoration: none;
}
.invoice-header-bar .btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  color: #333;
  border: 1px solid #d0d0d0;
  padding: 10px 20px;
  border-radius: 5px;
  font-size: 14px;
  cursor: pointer;
  white-space: nowrap;
}
.invoice-header-bar .btn-secondary:hover {
  background: #f5f5f5;
  border-color: #bbb;
}
.invoice-controls {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
  flex-wrap: wrap;
  gap: 1rem;
  border-top: 1px solid #c6c6c6;
  border-bottom: 1px solid #c6c6c6;
  padding: 10px 0;
}
.invoice-controls-left {
  display: flex;
  align-items: center;
}
.invoice-controls-right {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.invoice-filter-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 14px;
  color: #333;
  user-select: none;
}
.invoice-filter-toggle input[type="checkbox"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
  accent-color: #0a3d6b;
}
.invoice-per-page-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #666;
  margin: 0;
}
.invoice-per-page-label select {
  padding: 4px 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 13px;
  background: #fff;
  cursor: pointer;
}
.invoice-pagination {
  display: flex;
  align-items: center;
  gap: 4px;
}
.pag-btn {
  min-width: 32px;
  height: 32px;
  padding: 0 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  color: #333;
  font-size: 13px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
}
.pag-btn:hover:not(:disabled):not(.pag-active) {
  background: #f0f7ff;
  border-color: #0a3d6b;
  color: #0a3d6b;
}
.pag-btn.pag-active {
  background: #0a3d6b;
  border-color: #0a3d6b;
  color: #fff;
  font-weight: 600;
}
.pag-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.pag-ellipsis {
  padding: 0 4px;
  color: #999;
}
.pag-prev,
.pag-next {
  font-size: 16px;
  font-weight: 700;
}
.invoice-pagination-footer {
  margin-top: 1rem;
  font-size: 13px;
  color: #999;
  text-align: right;
}
.invoice-status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 3px;
  font-size: 0.85em;
  font-weight: 600;
  text-transform: uppercase;
}
.status-paid {
  background: #e6f4ea;
  color: #1e7e34;
}
.status-open {
  background: #fef3e0;
  color: #e65100;
}
.status-part {
  background: #e8eaf6;
  color: #283593;
}
.status-unknown {
  background: #f5f5f5;
  color: #666;
}
.col.actions {
  white-space: nowrap;
}
.col.actions .action.pay {
  margin-left: 10px;
  color: #0a3d6b;
  font-weight: 600;
}
.col.actions .action.pay:hover {
  text-decoration: underline;
}
.hold-notice {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 24px;
  border-radius: 10px;
  margin-bottom: 24px;
}
.hold-notice--payment {
  background: #fef2f2;
  border: 1px solid #fecaca;
}
.hold-notice--payment .hold-notice-icon {
  color: #dc2626;
}
.hold-notice--success {
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
}
.hold-notice--success .hold-notice-icon {
  color: #059669;
}
.hold-notice-icon {
  flex-shrink: 0;
  margin-top: 2px;
}
.hold-notice-body {
  flex: 1;
}
.hold-notice-title {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 4px;
  color: #1a1a1a;
}
.hold-notice-text {
  font-size: 14px;
  color: #555;
  margin: 0;
  line-height: 1.5;
}
@media (max-width: 640px) {
  .invoice-header-bar .stats-row {
    flex-direction: column;
  }
  .invoice-header-bar .stats-row .stat {
    border-right: none;
    border-bottom: 1px solid #e5e5e5;
  }
  .invoice-header-bar .stats-row .stat:last-child {
    border-bottom: none;
  }
  .invoice-header-bar .actions-row {
    flex-direction: column;
    gap: 10px;
  }
  .invoice-header-bar .actions-row .btn-primary,
  .invoice-header-bar .actions-row .btn-secondary {
    width: 100%;
    justify-content: center;
  }
  .invoice-controls {
    flex-direction: column;
    align-items: flex-start;
  }
  .invoice-controls-right {
    width: 100%;
    justify-content: space-between;
  }
}
/* ============================================
   Site Selector Dropdown - Header
   Add to your existing LESS/CSS
   ============================================ */
.coollogic-site-selector {
  background: #f0f7ff;
  border-bottom: 1px solid #d4e5f7;
  padding: 8px 20px;
  font-size: 13px;
}
.site-selector-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  max-width: 1200px;
  margin: 0 auto;
}
.site-selector-wrapper label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  color: #0a3d6b;
  white-space: nowrap;
  margin: 0;
}
.site-selector-wrapper label svg {
  color: #0a3d6b;
}
#site-selector-dropdown {
  flex: 1;
  max-width: 500px;
  padding: 6px 12px;
  border: 1px solid #b8d4e8;
  border-radius: 4px;
  font-size: 13px;
  background: #fff;
  color: #333;
  cursor: pointer;
}
#site-selector-dropdown:focus {
  outline: none;
  border-color: #0a3d6b;
  box-shadow: 0 0 0 2px rgba(10, 61, 107, 0.15);
}
.site-selector-warning {
  text-align: center;
  margin-top: 6px;
  color: #b45309;
  font-size: 12px;
  font-weight: 500;
}
.site-selector-help {
  display: flex;
  align-items: center;
  cursor: help;
  color: #0a3d6b;
  position: relative;
}
.site-selector-help:hover::after {
  content: attr(title);
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: #1a1a1a;
  color: #fff;
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 12px;
  white-space: normal;
  width: 260px;
  z-index: 100;
  margin-top: 6px;
  line-height: 1.4;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.site-selector-help:hover::before {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-bottom-color: #1a1a1a;
  margin-top: -4px;
  z-index: 101;
}
/* Mobile */
@media (max-width: 767px) {
  .coollogic-site-selector {
    padding: 8px 12px;
  }
  .site-selector-wrapper {
    gap: 6px;
  }
  .site-selector-wrapper label .label-text {
    display: none;
  }
  #site-selector-dropdown {
    max-width: 100%;
    width: 100%;
    font-size: 12px;
  }
}
.page-footer,
.copyright {
  background: #004F9F;
  color: #fff;
}
.page-footer {
  padding: 5em 0;
}
.copyright {
  font-weight: 300;
  padding-bottom: 3rem;
}
.footer.content {
  padding-top: 0;
}
.footer.content a {
  color: #fff;
}
.footer.content a:visited {
  color: #fff;
}
.footer.content .footer-columns {
  display: flex;
}
.footer.content .footer-columns .footer-column {
  width: 20%;
}
.footer.content .footer-columns .footer-column.footer-logo-column {
  width: 40%;
}
.footer.content .footer-columns .footer-column h3 {
  margin: 0 0 1em;
}
.footer.content .footer-columns .footer-column ul li {
  margin-bottom: 1em;
}
.footer.content .footer-columns .footer-column ul li:last-child {
  margin-bottom: 0;
}
.footer.content .footer-columns .footer-column .block {
  float: none;
  margin-bottom: 2em;
}
.footer.content .footer-columns .footer-column .block:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .footer.content .footer-columns {
    flex-direction: column;
    gap: 50px;
  }
  .footer.content .footer-columns .footer-column {
    width: 100%;
  }
  .footer.content .footer-columns .footer-column.footer-logo-column {
    padding: 50px 0 0;
  }
}


/*# sourceMappingURL=main.css.map*/