/* =============================================================
   Multitec Shop — Plaisio-inspired full override for Hummingbird
   ============================================================= */

/* ── Brand variables ─────────────────────────────────────────── */
:root {
  --mt-navy-deep: #0c1a3d;
  --mt-navy: #1e3a6e;
  --mt-red: #dc2626;
  --mt-white: #ffffff;
  --mt-bg: #f4f5f7; /* page background — light grey like Plaisio */
  --mt-card-bg: #ffffff;
  --mt-border: #e8e8e8;
  --mt-border-light: #f0f0f0;
  --mt-muted: #767676;
  --mt-foreground: #1a1a1a;
  --mt-slate-soft: #f8fafc;
  --mt-shadow-card:
    0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04);
  --mt-shadow-hover:
    0 6px 20px rgba(0, 0, 0, 0.11), 0 2px 6px rgba(0, 0, 0, 0.06);
  --mt-radius-card: 0.25rem; /* 4px — Plaisio-like, almost square */
  --mt-radius-btn: 0.1875rem; /* 3px — Plaisio exact */
  --mt-radius-input: 0.25rem;
}

/* ── Base ────────────────────────────────────────────────────── */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--mt-foreground);
  background-color: var(--mt-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: var(--mt-navy);
  transition: color 0.15s ease-out;
}
a:hover {
  color: var(--mt-navy-deep);
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  line-height: 1.25;
  color: #111;
}

hr {
  border-color: var(--mt-border);
}

/* ── Page wrapper ─────────────────────────────────────────────── */
#wrapper {
  background-color: var(--mt-bg);
  padding-top: 0;
}

/* ── Header top bar ───────────────────────────────────────────── */
.header-top {
  background-color: var(--mt-navy-deep);
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.8125rem;
  border: none;
}

.header-top .container-md {
  min-height: 36px;
  display: flex;
  align-items: center;
}

.header-top a,
.header-top .header-top__left a,
.header-top .header-top__right a,
.header-top .col-md-4 a,
.header-top .col-md-8 a {
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.8125rem;
  text-decoration: none;
}

.header-top a:hover {
  color: #fff;
}

/* nav items in top bar */
.header-top .nav-link {
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 0.8125rem;
  padding: 0 0.75rem;
}
.header-top .nav-link:hover {
  color: #fff !important;
}

/* ── Main header (logo / search / cart row) ───────────────────── */
.header-bottom {
  background: #fff;
  border-bottom: 1px solid var(--mt-border);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}

.header-bottom__container {
  min-height: 64px;
  display: flex;
  align-items: center;
}

/* Search */
.search-widget form,
.ps-searchbar form {
  position: relative;
  display: flex;
  align-items: center;
}

.search-widget input[type="text"],
.search-widget input[type="search"],
input#search_query_top,
.ps-searchbar input[type="text"] {
  width: 100%;
  height: 40px;
  border: 1px solid var(--mt-border);
  border-radius: 2rem;
  background: #f5f5f5;
  font-size: 0.875rem;
  padding: 0 1rem 0 2.5rem;
  transition:
    border-color 0.2s,
    background 0.2s;
  color: var(--mt-foreground);
}

.search-widget input:focus,
.ps-searchbar input:focus,
input#search_query_top:focus {
  border-color: var(--mt-navy);
  background: #fff;
  box-shadow: none;
  outline: none;
}

/* Header action buttons (cart, account) */
.header-block__action-btn {
  color: var(--mt-foreground);
  text-decoration: none;
}
.header-block__action-btn:hover {
  color: var(--mt-navy);
}

.header-block__badge {
  background: var(--mt-red);
  color: #fff;
  border-radius: 50%;
  font-size: 0.6875rem;
  font-weight: 700;
  min-width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Nav full-width menu */
.header-nav-full-width {
  background: #fff;
  border-top: 1px solid var(--mt-border);
}

.header-nav-full-width .top-menu > li > a {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--mt-foreground);
  padding: 0.65rem 0.875rem;
  text-decoration: none;
  transition: color 0.15s;
}
.header-nav-full-width .top-menu > li > a:hover {
  color: var(--mt-navy);
}
.header-nav-full-width .top-menu > li > a.active,
.header-nav-full-width .top-menu > li.current > a {
  color: var(--mt-navy);
}

/* ── Breadcrumb ───────────────────────────────────────────────── */
.breadcrumb-wrapper,
nav[aria-label="breadcrumb"],
ol.breadcrumb {
  background: transparent !important;
  padding: 0.625rem 0;
  margin-bottom: 0;
  font-size: 0.8125rem;
}

.breadcrumb {
  background: none;
  padding: 0;
  margin: 0;
}
.breadcrumb-item a {
  color: var(--mt-navy);
}
.breadcrumb-item a:hover {
  color: var(--mt-navy-deep);
}
.breadcrumb-item.active {
  color: var(--mt-muted);
}
.breadcrumb-item + .breadcrumb-item::before {
  color: var(--mt-muted);
}

/* ── Page / category title ────────────────────────────────────── */
.page-title-section,
#js-product-list-header {
  padding: 0 0 0.75rem;
}
.page-title-section h1,
.page-title-section .page-title,
h1.page-title,
#js-product-list-header h1 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #111;
  margin: 0;
}

/* ── Products top bar (count + sort) ─────────────────────────── */
.products__selection {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border: 1px solid var(--mt-border);
  border-radius: var(--mt-radius-card);
  padding: 0.6rem 1rem;
  margin-bottom: 1rem;
  font-size: 0.8125rem;
  color: var(--mt-muted);
  gap: 0.75rem;
}

.products__count {
  flex: 1;
}

.products__sort {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* Sort label */
.products__sort label,
.sort-by-row label {
  font-size: 0.8125rem;
  color: var(--mt-muted);
  white-space: nowrap;
  margin: 0;
  font-weight: 400;
}

/* Sort select */
.products__sort select,
select#orderby,
select#orderway {
  border: 1px solid var(--mt-border);
  border-radius: var(--mt-radius-btn);
  font-size: 0.8125rem;
  padding: 0.35rem 2rem 0.35rem 0.75rem;
  color: var(--mt-foreground);
  background: #fff;
  cursor: pointer;
  height: 34px;
}

.products__sort select:focus {
  border-color: var(--mt-navy);
  outline: none;
  box-shadow: none;
}

/* Filter toggle button */
.products__filter-button {
  border: 1px solid var(--mt-border) !important;
  color: var(--mt-foreground) !important;
  background: #fff !important;
  border-radius: var(--mt-radius-btn) !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  height: 34px;
  padding: 0 0.75rem !important;
  gap: 0.375rem;
  display: flex;
  align-items: center;
}

.products__filter-button:hover {
  background: var(--mt-slate-soft) !important;
  border-color: #cacaca !important;
}

.products__filter-button .material-icons {
  font-size: 16px;
}

/* ── Product grid ─────────────────────────────────────────────── */
#js-product-list .products.row {
  --bs-gutter-x: 0.75rem;
  --bs-gutter-y: 0.75rem;
}

/* ── Product miniature (card) ─────────────────────────────────── */
.product-miniature {
  background: var(--mt-card-bg);
  border: 1px solid #ececec;
  border-radius: var(--mt-radius-card);
  overflow: hidden;
  transition:
    box-shadow 0.2s ease,
    border-color 0.2s ease;
  box-shadow: var(--mt-shadow-card);
  height: 100%;
}

.product-miniature:hover {
  box-shadow: var(--mt-shadow-hover);
  border-color: #d8d8d8;
}

.product-miniature__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Image container */
.product-miniature__top {
  position: relative;
  background: #fff;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  flex-shrink: 0;
}

.product-miniature__top .product-thumbnail {
  display: block;
  width: 100%;
  height: 100%;
}

.product-miniature__top img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0.75rem;
  transition: transform 0.3s ease;
}

.product-miniature:hover .product-miniature__top img {
  transform: scale(1.04);
}

/* Quickview overlay */
.product-miniature .quickview {
  position: absolute;
  bottom: 0.5rem;
  right: 0.5rem;
  opacity: 0;
  transition: opacity 0.2s;
}
.product-miniature:hover .quickview {
  opacity: 1;
}

/* Bottom info section */
.product-miniature__bottom {
  padding: 0.75rem 0.875rem 0.875rem;
  display: flex;
  flex-direction: column;
  flex: 1;
  border-top: 1px solid var(--mt-border-light);
}

.product-miniature__infos {
  flex: 1;
  display: flex;
  flex-direction: column;
  margin-bottom: 0.625rem;
}

/* Product title */
a.product-miniature__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.45;
  color: #333;
  text-decoration: none;
  margin-bottom: 0.5rem;
  transition: color 0.15s;
}

a.product-miniature__title:hover {
  color: var(--mt-navy);
  text-decoration: none;
}

/* Price block */
.product-miniature__prices {
  margin-top: auto;
}

.product-miniature__price .price,
.product-miniature__price {
  font-size: 1.0625rem;
  font-weight: 700;
  color: #111;
  line-height: 1;
}

.product-miniature__discount-price {
  margin-top: 0.25rem;
}

.product-miniature__regular-price,
.product-miniature__regular-price .price {
  font-size: 0.8125rem;
  font-weight: 400;
  color: var(--mt-muted);
  text-decoration: line-through;
}

/* Actions */
.product-miniature__actions {
  margin-top: 0.625rem;
}

/* "Δείτε λεπτομέρειες" — products without add-to-cart */
a.product-miniature__details {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 36px;
  border-radius: var(--mt-radius-btn);
  border: 1px solid var(--mt-navy);
  background: transparent;
  color: var(--mt-navy);
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  transition:
    background 0.18s ease,
    color 0.18s ease;
}

a.product-miniature__details:hover {
  background: var(--mt-navy);
  color: #fff;
  text-decoration: none;
}

/* Add-to-cart form */
.product-miniature__form {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Quantity input wrapper */
.quantity-button.js-quantity-button {
  display: flex;
  align-items: stretch;
  border: 1px solid var(--mt-border);
  border-radius: var(--mt-radius-btn);
  overflow: hidden;
  background: #fff;
  height: 36px;
  flex-shrink: 0;
}

/* Qty +/- buttons */
.quantity-button .input-group-btn .btn,
.quantity-button .btn {
  border: none;
  border-radius: 0 !important;
  background: transparent;
  color: var(--mt-muted);
  padding: 0 0.5rem;
  font-size: 1rem;
  height: 100%;
  display: flex;
  align-items: center;
  transition:
    background 0.15s,
    color 0.15s;
  box-shadow: none !important;
}

.quantity-button .input-group-btn .btn:hover,
.quantity-button .btn:hover {
  background: var(--mt-slate-soft);
  color: var(--mt-navy);
}

/* Qty number field */
.quantity-button input[type="number"],
.quantity-button .js-cart-line-product-quantity {
  border: none;
  border-left: 1px solid var(--mt-border);
  border-right: 1px solid var(--mt-border);
  border-radius: 0 !important;
  width: 38px;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0;
  height: 100%;
  color: var(--mt-foreground);
  background: #fff;
  -moz-appearance: textfield;
  box-shadow: none !important;
}

.quantity-button input[type="number"]::-webkit-inner-spin-button,
.quantity-button input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

.quantity-button input[type="number"]:focus {
  outline: none;
  box-shadow: none;
}

/* Add to cart button */
button.product-miniature__add {
  flex: 1;
  height: 36px;
  border-radius: var(--mt-radius-btn);
  background: var(--mt-navy);
  border: 1px solid var(--mt-navy);
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  transition: background 0.18s ease;
  padding: 0 0.75rem;
  white-space: nowrap;
  cursor: pointer;
}

button.product-miniature__add:hover {
  background: var(--mt-navy-deep);
  border-color: var(--mt-navy-deep);
  color: #fff;
}

button.product-miniature__add .material-icons {
  font-size: 17px;
}

/* Hide "Add to cart" text on small cards, show icon only */
@media (max-width: 479px) {
  .product-miniature__add-text {
    display: none;
  }
}

/* ── Product flags (NEW / SALE badges) ───────────────────────── */
.product-flags {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  pointer-events: none;
}

.product-flag {
  display: inline-block;
  padding: 0.2rem 0.55rem;
  border-radius: 3px;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1;
}

.product-flag.new {
  background: var(--mt-navy);
  color: #fff;
}
.product-flag.on-sale,
.product-flag.discount {
  background: var(--mt-red);
  color: #fff;
}
.product-flag.pack {
  background: #059669;
  color: #fff;
}
.product-flag.out-of-stock {
  background: var(--mt-muted);
  color: #fff;
}

/* ── Faceted search / filter sidebar ─────────────────────────── */
#search_filters,
.faceted-search,
.block-facets {
  background: var(--mt-card-bg);
  border: 1px solid var(--mt-border);
  border-radius: var(--mt-radius-card);
  overflow: hidden;
  font-size: 0.875rem;
}

.facet {
  border-bottom: 1px solid var(--mt-border-light);
}
.facet:last-child {
  border-bottom: none;
}

/* Facet header */
.facet .facet__title,
h4.facet__title,
.facet-title,
.block-title {
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #111;
  padding: 0.75rem 1rem;
  margin: 0;
  border-bottom: 1px solid var(--mt-border-light);
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  background: #fafafa;
}

.facet .facet__title .material-icons,
.facet__title .collapse-icons {
  font-size: 18px;
  color: var(--mt-muted);
}

/* Facet list */
.facet__list {
  list-style: none;
  padding: 0.5rem 1rem 0.75rem;
  margin: 0;
}

.facet__list-item {
  padding: 0.2rem 0;
}

.facet-label,
.facet__list-item label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  color: #333;
  cursor: pointer;
  line-height: 1.4;
  margin: 0;
  padding: 0.2rem 0;
  transition: color 0.15s;
}

.facet-label:hover,
.facet__list-item label:hover {
  color: var(--mt-navy);
}

/* Checkboxes */
.facet__list-item input[type="checkbox"],
.facet-label input[type="checkbox"] {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  accent-color: var(--mt-navy);
  cursor: pointer;
}

/* Count badge */
.magnitude,
.facet-label__count {
  color: var(--mt-muted);
  font-size: 0.75rem;
  margin-left: auto;
  flex-shrink: 0;
}

/* Active filters */
.active-search-filters .filter-block {
  background: rgba(30, 58, 110, 0.06);
  border: 1px solid rgba(30, 58, 110, 0.15);
  border-radius: 3px;
  padding: 0.25rem 0.625rem;
  font-size: 0.8125rem;
  color: var(--mt-navy);
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
}

.active-search-filters .js-search-link {
  color: var(--mt-navy);
  font-weight: 600;
}

/* ── Left column (category tree) ──────────────────────────────── */
#left-column .block-categories {
  background: var(--mt-card-bg);
  border: 1px solid var(--mt-border);
  border-radius: var(--mt-radius-card);
  overflow: hidden;
  margin-bottom: 1rem;
}

#left-column .block-categories .block-title {
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #111;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--mt-border-light);
  background: #fafafa;
  margin: 0;
}

#left-column .block-categories .block_content {
  padding: 0.5rem 0;
}

/* Category links */
.category-top-menu,
.category-sub-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.category-top-menu li a,
.category-sub-menu li a {
  display: block;
  padding: 0.35rem 1rem;
  font-size: 0.875rem;
  color: #333;
  text-decoration: none;
  transition:
    color 0.15s,
    background 0.15s;
}

.category-top-menu li a:hover,
.category-sub-menu li a:hover {
  color: var(--mt-navy);
  background: var(--mt-slate-soft);
}

.category-top-menu li.current > a,
.category-sub-menu li.current > a,
.category-top-menu li.active > a {
  color: var(--mt-navy);
  font-weight: 600;
}

/* ── Global buttons ───────────────────────────────────────────── */
.btn {
  border-radius: var(--mt-radius-btn);
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0.6em 1.1em;
  line-height: 1;
  transition:
    background-color 0.18s ease,
    color 0.18s ease,
    border-color 0.18s ease;
}

.btn:focus,
.btn:active,
.btn:focus-visible {
  box-shadow: none;
  outline: none;
}

.btn-primary {
  background-color: var(--mt-navy);
  border-color: var(--mt-navy);
  color: #fff;
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--mt-navy-deep);
  border-color: var(--mt-navy-deep);
  color: #fff;
}

.btn-outline-primary {
  border-color: var(--mt-navy);
  color: var(--mt-navy);
  background: transparent;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background: var(--mt-navy);
  border-color: var(--mt-navy);
  color: #fff;
}

.btn-secondary {
  background: #f5f5f5;
  border-color: var(--mt-border);
  color: var(--mt-foreground);
}
.btn-secondary:hover {
  background: #ebebeb;
  border-color: #cacaca;
  color: var(--mt-foreground);
}

/* ── Form controls ────────────────────────────────────────────── */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="url"] {
  border: 1px solid var(--mt-border);
  border-radius: var(--mt-radius-input);
  font-size: 0.875rem;
  color: var(--mt-foreground);
  background: #fff;
  transition: border-color 0.2s;
  padding: 0.55rem 0.875rem;
  height: auto;
}

.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus {
  border-color: var(--mt-navy);
  box-shadow: 0 0 0 3px rgba(30, 58, 110, 0.1);
  outline: none;
  background: #fff;
}

::placeholder {
  color: #cacaca;
}

select {
  border: 1px solid var(--mt-border);
  border-radius: var(--mt-radius-input);
  font-size: 0.875rem;
  color: var(--mt-foreground);
  background: #fff;
  padding: 0.5rem 0.875rem;
}
select:focus {
  border-color: var(--mt-navy);
  box-shadow: 0 0 5px rgba(202, 202, 202, 1);
  outline: none;
}

textarea {
  border: 1px solid var(--mt-border);
  border-radius: var(--mt-radius-input);
  font-size: 0.875rem;
  color: var(--mt-foreground);
  background: #fff;
  transition: border-color 0.2s;
}
textarea:focus {
  border-color: var(--mt-navy);
  box-shadow: 0 0 0 3px rgba(30, 58, 110, 0.1);
  outline: none;
}

input:disabled,
select:disabled,
textarea:disabled {
  background: #f5f5f5;
  cursor: not-allowed;
  color: var(--mt-muted);
}

.form-control.is-invalid,
input.is-invalid,
select.is-invalid {
  border-color: #cc4b37;
  background: #faeded;
}

label {
  font-size: 0.875rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 0.3rem;
}

/* ── Pagination ───────────────────────────────────────────────── */
.pagination {
  gap: 0.25rem;
}

.page-link {
  border-radius: var(--mt-radius-btn) !important;
  border-color: var(--mt-border);
  color: var(--mt-navy);
  font-size: 0.875rem;
  padding: 0.45rem 0.8rem;
  transition:
    background 0.15s,
    color 0.15s,
    border-color 0.15s;
}
.page-link:hover {
  background: var(--mt-navy);
  border-color: var(--mt-navy);
  color: #fff;
}
.page-item.active .page-link {
  background: var(--mt-navy);
  border-color: var(--mt-navy);
  color: #fff;
}
.page-item.disabled .page-link {
  color: #ccc;
}

/* ── Prices (global) ──────────────────────────────────────────── */
.price,
.current-price {
  color: #111;
  font-weight: 700;
}
.regular-price,
.old-price {
  color: var(--mt-muted);
  text-decoration: line-through;
  font-weight: 400;
}
.discount-percentage,
.discount-amount {
  color: var(--mt-red);
  font-weight: 600;
  font-size: 0.8125rem;
}

/* ── Alerts ───────────────────────────────────────────────────── */
.alert {
  border-radius: var(--mt-radius-card);
  font-size: 0.875rem;
}
.alert-info {
  background: #edf4fb;
  border-color: #c8dff5;
  color: var(--mt-navy);
}
.alert-danger {
  background: #faeded;
  border-color: #f5c6c0;
  color: #cc4b37;
}
.alert-success {
  background: #e6f9ef;
  border-color: #b3e8ce;
  color: #1e7a45;
}
.alert-warning {
  background: #fff8e6;
  border-color: #ffe4a0;
  color: #805700;
}

/* ── Tables ───────────────────────────────────────────────────── */
.table {
  font-size: 0.875rem;
  border-color: var(--mt-border);
}
.table th {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--mt-muted);
  background: var(--mt-slate-soft);
  border-color: var(--mt-border);
}
.table td {
  border-color: var(--mt-border);
  vertical-align: middle;
}

/* ── Dropdowns ────────────────────────────────────────────────── */
.dropdown-menu {
  border: 1px solid var(--mt-border);
  border-radius: var(--mt-radius-card);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  font-size: 0.875rem;
}
.dropdown-item {
  color: var(--mt-foreground);
  padding: 0.45rem 1rem;
}
.dropdown-item:hover,
.dropdown-item:focus {
  background: var(--mt-slate-soft);
  color: var(--mt-navy);
}
.dropdown-item.active,
.dropdown-item:active {
  background: var(--mt-navy);
  color: #fff;
}

/* ── Cards (generic) ─────────────────────────────────────────── */
.card {
  border: 1px solid #ececec;
  border-radius: var(--mt-radius-card);
  box-shadow: var(--mt-shadow-card);
}
.card:hover {
  box-shadow: var(--mt-shadow-hover);
}

/* ── Badges ───────────────────────────────────────────────────── */
.badge.bg-primary,
.badge.badge-primary {
  background-color: var(--mt-navy) !important;
}
.badge.bg-danger,
.badge.badge-danger {
  background-color: var(--mt-red) !important;
}

/* ── Product page (individual product) ───────────────────────── */
.product-cover {
  border: 1px solid var(--mt-border);
  border-radius: var(--mt-radius-card);
  background: #fff;
  overflow: hidden;
}

.product-name,
h1.product-name {
  font-size: 1.375rem;
  font-weight: 700;
  color: #111;
  line-height: 1.25;
}

.current-price .price {
  font-size: 1.75rem;
  font-weight: 800;
  color: #111;
}

.product-add-to-cart .btn-primary,
button#add-to-cart {
  min-width: 180px;
  height: 44px;
  border-radius: var(--mt-radius-btn);
  font-size: 0.9375rem;
  font-weight: 700;
  background: var(--mt-navy);
  border-color: var(--mt-navy);
  color: #fff;
  transition: background 0.2s;
}
.product-add-to-cart .btn-primary:hover,
button#add-to-cart:hover {
  background: var(--mt-navy-deep);
  border-color: var(--mt-navy-deep);
}

/* ── Cart / Checkout ──────────────────────────────────────────── */
.cart-container,
.checkout-container,
#cart,
#checkout {
  background: var(--mt-bg);
}

.cart-summary,
.cart-detailed-totals,
.block-promo {
  background: #fff;
  border: 1px solid var(--mt-border);
  border-radius: var(--mt-radius-card);
}

.checkout-step {
  background: #fff;
  border: 1px solid var(--mt-border);
  border-radius: var(--mt-radius-card);
  margin-bottom: 0.75rem;
  overflow: hidden;
}

/* ── Newsletter / CTA blocks ──────────────────────────────────── */
#blocknewsletter {
  background: var(--mt-card-bg);
  border: 1px solid var(--mt-border);
  border-radius: var(--mt-radius-card);
}

#blocknewsletter .btn-primary {
  background: var(--mt-navy);
  border-color: var(--mt-navy);
  border-radius: var(--mt-radius-btn);
  font-weight: 700;
  padding: 0.6em 1.5em;
}

#blocknewsletter .btn-primary:hover {
  background: var(--mt-navy-deep);
  border-color: var(--mt-navy-deep);
}

/* ── Footer ───────────────────────────────────────────────────── */
#footer {
  background: var(--mt-navy-deep);
  color: rgba(255, 255, 255, 0.75);
  border-top: none;
  margin-top: 0;
}

#footer a {
  color: rgba(255, 255, 255, 0.65);
  transition: color 0.15s;
}
#footer a:hover {
  color: #fff;
}

#footer .block-title,
#footer .footer-title,
#footer h3,
#footer h4 {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #fff;
  margin-bottom: 0.875rem;
}

#footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
#footer ul li {
  margin-bottom: 0.4rem;
}
#footer ul a {
  font-size: 0.875rem;
}

.footer-bottom,
#footer .footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 1rem 0;
  font-size: 0.8125rem;
  color: rgba(255, 255, 255, 0.45);
}

.footer-bottom a {
  color: rgba(255, 255, 255, 0.5);
}
.footer-bottom a:hover {
  color: rgba(255, 255, 255, 0.9);
}

/* ── Responsive tweaks ────────────────────────────────────────── */
@media (max-width: 767px) {
  body {
    font-size: 0.875rem;
  }
  .product-miniature__price .price {
    font-size: 1rem;
  }
  .products__selection {
    flex-wrap: wrap;
  }
}

.accordion {
  padding: 1rem;
  background-color: #fff;
}
