/*
 * Custom code goes here.
 * Industrial refined + editorial accents
 * Hummingbird / PrestaShop 9
 */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');

@layer vendors, bs-base, bs-components, bs-custom-components, ps-base, ps-components, ps-pages, ps-modules, utilities;

:root,
[data-bs-theme=light] {
  --bs-blue: #1c1f22;
  --bs-indigo: #1c1f22;
  --bs-purple: #1c1f22;
  --bs-pink: #1c1f22;
  --bs-red: #b42318;
  --bs-orange: #b54708;
  --bs-yellow: #b54708;
  --bs-green: #027a48;
  --bs-teal: #1c1f22;
  --bs-cyan: #1c1f22;
  --bs-black: #111315;
  --bs-white: #ffffff;

  --bs-gray: #6f756f;
  --bs-gray-dark: #2b2f2c;
  --bs-gray-100: #f5f5f2;
  --bs-gray-200: #ecece6;
  --bs-gray-300: #d9d8d0;
  --bs-gray-400: #c2c0b6;
  --bs-gray-500: #9c9b90;
  --bs-gray-600: #73766f;
  --bs-gray-700: #50544f;
  --bs-gray-800: #272a28;
  --bs-gray-900: #151715;

  --bs-primary: #17191b;
  --bs-secondary: #6f756f;
  --bs-success: #027a48;
  --bs-info: #17191b;
  --bs-warning: #b54708;
  --bs-danger: #b42318;
  --bs-light: #f5f5f2;
  --bs-dark: #111315;

  --bs-primary-rgb: 23, 25, 27;
  --bs-secondary-rgb: 111, 117, 111;
  --bs-success-rgb: 2, 122, 72;
  --bs-info-rgb: 23, 25, 27;
  --bs-warning-rgb: 181, 71, 8;
  --bs-danger-rgb: 180, 35, 24;
  --bs-light-rgb: 245, 245, 242;
  --bs-dark-rgb: 17, 19, 21;

  --bs-primary-text-emphasis: #111315;
  --bs-secondary-text-emphasis: #434741;
  --bs-success-text-emphasis: #01663d;
  --bs-info-text-emphasis: #111315;
  --bs-warning-text-emphasis: #8e3a06;
  --bs-danger-text-emphasis: #912018;
  --bs-light-text-emphasis: #50544f;
  --bs-dark-text-emphasis: #111315;

  --bs-primary-bg-subtle: #ecece6;
  --bs-secondary-bg-subtle: #f0f0eb;
  --bs-success-bg-subtle: #ecfdf3;
  --bs-info-bg-subtle: #ecece6;
  --bs-warning-bg-subtle: #fff7ed;
  --bs-danger-bg-subtle: #fef3f2;
  --bs-light-bg-subtle: #ffffff;
  --bs-dark-bg-subtle: #dfddd4;

  --bs-primary-border-subtle: #d9d8d0;
  --bs-secondary-border-subtle: #d7d6cd;
  --bs-success-border-subtle: #abefc6;
  --bs-info-border-subtle: #d9d8d0;
  --bs-warning-border-subtle: #fbd5a5;
  --bs-danger-border-subtle: #fecdca;
  --bs-light-border-subtle: #e5e4db;
  --bs-dark-border-subtle: #b6b4a8;

  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 17, 19, 21;

  --bs-font-sans-serif: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

  --bs-gradient: none;

  --bs-body-font-family: "IBM Plex Sans", sans-serif;
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.62;

  --bs-body-color: #161917;
  --bs-body-color-rgb: 22, 25, 23;
  --bs-body-bg: #f5f5f2;
  --bs-body-bg-rgb: 245, 245, 242;

  --bs-emphasis-color: #111315;
  --bs-emphasis-color-rgb: 17, 19, 21;

  --bs-secondary-color: #6f756f;
  --bs-secondary-color-rgb: 111, 117, 111;
  --bs-secondary-bg: #ffffff;
  --bs-secondary-bg-rgb: 255, 255, 255;

  --bs-tertiary-color: #8b8d84;
  --bs-tertiary-color-rgb: 139, 141, 132;
  --bs-tertiary-bg: #ecece6;
  --bs-tertiary-bg-rgb: 236, 236, 230;

  --bs-heading-color: #111315;
  --bs-link-color: #111315;
  --bs-link-color-rgb: 17, 19, 21;
  --bs-link-decoration: none;
  --bs-link-hover-color: #4d514c;
  --bs-link-hover-color-rgb: 77, 81, 76;

  --bs-code-color: #7a2e2e;
  --bs-highlight-color: #111315;
  --bs-highlight-bg: #ecece6;

  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #d9d8d0;
  --bs-border-color-translucent: rgba(17, 19, 21, 0.08);

  --bs-border-radius: 0.25rem;
  --bs-border-radius-sm: 0.2rem;
  --bs-border-radius-lg: 0.4rem;
  --bs-border-radius-xl: 0.6rem;
  --bs-border-radius-xxl: 0.85rem;
  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
  --bs-border-radius-pill: 50rem;

  --bs-box-shadow: 0 10px 30px rgba(17, 19, 21, 0.04);
  --bs-box-shadow-sm: 0 4px 16px rgba(17, 19, 21, 0.03);
  --bs-box-shadow-lg: 0 20px 48px rgba(17, 19, 21, 0.07);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(17, 19, 21, 0.03);

  --bs-focus-ring-width: 0.16rem;
  --bs-focus-ring-opacity: 0.08;
  --bs-focus-ring-color: rgba(17, 19, 21, 0.08);

  --bs-form-valid-color: #027a48;
  --bs-form-valid-border-color: #027a48;
  --bs-form-invalid-color: #b42318;
  --bs-form-invalid-border-color: #b42318;
}

[data-bs-theme=dark] {
  color-scheme: light;
}

:root {
  --theme-bg: #f5f5f2;
  --theme-bg-elevated: #ffffff;
  --theme-bg-soft: #ecece6;
  --theme-bg-metal: #e5e4db;
  --theme-bg-dark: #17191b;
  --theme-bg-dark-soft: #222624;

  --theme-text: #111315;
  --theme-text-soft: #6f756f;
  --theme-text-muted: #8b8d84;
  --theme-text-inverse: #ffffff;

  --theme-border-strong: #c7c5ba;
  --theme-border-soft: #d9d8d0;
  --theme-border-faint: #e5e4db;

  --theme-accent: #17191b;
  --theme-accent-hover: #2a2e2b;
  --theme-accent-soft: #ecece6;

  --theme-success: #027a48;
  --theme-danger: #b42318;
  --theme-warning: #b54708;

  --theme-shadow-soft: 0 6px 18px rgba(17, 19, 21, 0.03);
  --theme-shadow: 0 14px 34px rgba(17, 19, 21, 0.05);
  --theme-shadow-large: 0 24px 54px rgba(17, 19, 21, 0.08);

  --theme-transition: all 0.26s ease;
  --theme-letterspacing: -0.025em;
  --theme-container-max: 1380px;
}

/* Base */

html,
body {
  background: var(--bs-body-bg);
  color: var(--bs-body-color);
}

body {
  background: var(--theme-bg);
  color: var(--theme-text);
  font-family: var(--bs-body-font-family);
  font-weight: 400;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

#wrapper,
#main,
main {
  background: transparent;
}

.container,
.container-fluid {
  max-width: var(--theme-container-max);
}

a {
  color: var(--theme-text);
  transition: var(--theme-transition);
}

a:hover {
  color: var(--theme-text-soft);
}

p,
li,
span,
label,
input,
textarea,
select,
button {
  letter-spacing: -0.01em;
}

h1,
h2,
h3,
h4,
h5,
h6,
.display-1,
.display-2,
.display-3,
.display-4 {
  color: var(--theme-text);
  letter-spacing: var(--theme-letterspacing);
}

h1,
h2,
.page-home .h1,
.page-index h1,
.block-category h1,
#main .page-header h1,
.hero-title,
h1[itemprop="name"] {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  line-height: 0.98;
}

h1 {
  font-size: clamp(2.7rem, 5vw, 4.8rem);
}

h2 {
  font-size: clamp(2rem, 3.8vw, 3.3rem);
}

h3 {
  font-family: "IBM Plex Sans", sans-serif;
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  font-weight: 700;
  line-height: 1.18;
}

h4,
h5,
h6 {
  font-family: "IBM Plex Sans", sans-serif;
  font-weight: 700;
  line-height: 1.24;
}

.text-muted,
.text-body-secondary,
small,
.form-text {
  color: var(--theme-text-soft) !important;
}

.section-title,
.page-title {
  font-family: "DM Serif Display", serif;
  letter-spacing: -0.03em;
}

/* Header */

#header,
header#header,
.header-top,
.header-nav,
.header-bottom {
  background: rgba(245, 245, 242, 0.94) !important;
  border-color: var(--theme-border-soft) !important;
}

#header {
  border-bottom: 1px solid var(--theme-border-soft);
  box-shadow: none;
  backdrop-filter: blur(10px);
}

.header-top {
  min-height: 84px;
}

#header a,
.header-top a,
.header-nav a,
.header-bottom a {
  color: var(--theme-text);
  font-weight: 600;
  font-size: 0.94rem;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

#header a:hover,
.header-top a:hover,
.header-nav a:hover,
.header-bottom a:hover {
  color: var(--theme-text-soft);
}

#header .form-control,
#header .search-widget input,
#header input[type="search"] {
  background: #ffffff;
  border: 1px solid var(--theme-border-soft);
  color: var(--theme-text);
  border-radius: 999px;
  min-height: 46px;
  padding-inline: 1rem;
}

#header .form-control:focus,
#header .search-widget input:focus,
#header input[type="search"]:focus {
  border-color: var(--theme-accent);
  box-shadow: 0 0 0 0.16rem rgba(17, 19, 21, 0.06);
}

/* Footer */

#footer,
footer {
  background: #e9e7de !important;
  color: var(--theme-text-soft);
  border-top: 1px solid var(--theme-border-soft);
}

#footer a,
footer a {
  color: var(--theme-text-soft);
}

#footer a:hover,
footer a:hover {
  color: var(--theme-text);
}

/* Generic blocks */

.card,
.block-category,
.block-categories,
.product-miniature,
.quickview,
.dropdown-menu,
.modal-content,
.popover,
.alert,
.cart-grid,
.checkout-step,
#wrapper .breadcrumb,
.facet-dropdown,
.facet,
.block,
.page-content,
.product-features,
.product-information,
.tabs,
.nav-tabs,
.blockreassurance_product,
.cart-summary,
.cart-detailed-totals,
.payment-options,
.delivery-options-list,
.order-confirmation-table,
.order-line,
.cart-grid-right,
.cart-grid-body {
  background: var(--theme-bg-elevated);
  border: 1px solid var(--theme-border-soft);
  color: var(--theme-text);
  box-shadow: none;
}

/* Buttons */

.btn {
  border-radius: 999px;
  transition: var(--theme-transition);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  min-height: 48px;
  padding: 0.8rem 1.35rem;
  box-shadow: none;
  font-size: 0.82rem;
}

.btn-primary,
button.btn-primary,
input.btn-primary,
.btn-success {
  background: var(--theme-accent);
  border: 1px solid var(--theme-accent);
  color: var(--theme-text-inverse);
}

.btn-primary:hover,
button.btn-primary:hover,
input.btn-primary:hover,
.btn-success:hover {
  background: var(--theme-accent-hover);
  border-color: var(--theme-accent-hover);
  color: var(--theme-text-inverse);
  transform: translateY(-1px);
}

.btn-outline-primary {
  color: var(--theme-text);
  border-color: var(--theme-border-strong);
  background: transparent;
}

.btn-outline-primary:hover {
  background: var(--theme-accent);
  border-color: var(--theme-accent);
  color: #fff;
}

.btn-secondary,
.btn-outline-secondary {
  border-color: var(--theme-border-soft);
  color: var(--theme-text);
  background: #fff;
}

.btn-secondary:hover,
.btn-outline-secondary:hover {
  background: var(--theme-bg-soft);
  border-color: var(--theme-border-strong);
  color: var(--theme-text);
}

/* Forms */

.form-control,
.form-select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="search"],
textarea,
select {
  background: #ffffff;
  border: 1px solid var(--theme-border-soft);
  color: var(--theme-text);
  border-radius: 0.4rem;
  min-height: 48px;
  box-shadow: none;
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
  color: var(--theme-text-muted);
}

.form-control:focus,
.form-select:focus,
input:focus,
textarea:focus,
select:focus {
  background: #ffffff;
  color: var(--theme-text);
  border-color: var(--theme-accent);
  box-shadow: 0 0 0 0.16rem rgba(17, 19, 21, 0.05);
}

/* Hero / banners */

.hero,
.home-hero,
.banner,
.carousel .carousel-item,
#carousel,
#homepage-slider,
.nivoslider {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.12), rgba(255,255,255,0)),
    linear-gradient(135deg, #efeee8 0%, #e3e0d5 100%);
  border: 1px solid var(--theme-border-soft);
  border-radius: 1rem;
  overflow: hidden;
}

.hero-content,
.home-hero__content,
.banner .caption,
.carousel .caption,
#carousel .caption {
  padding: clamp(2rem, 5vw, 5rem);
}

.hero-title,
.banner h1,
.banner h2,
.carousel h1,
.carousel h2,
#carousel h1,
#carousel h2 {
  color: var(--theme-text);
  letter-spacing: -0.04em;
  line-height: 0.94;
  margin-bottom: 1rem;
}

.hero-subtitle,
.banner p,
.carousel p,
#carousel p {
  color: var(--theme-text-soft);
  font-size: 1.04rem;
  max-width: 42rem;
}

.hero .btn,
.banner .btn,
.carousel .btn,
#carousel .btn {
  margin-top: 1rem;
}

/* Product cards */

.product-miniature,
.js-product-miniature,
.thumbnail-container,
.product-item {
  background: #ffffff;
  border: 1px solid transparent;
  border-radius: 0.85rem;
  overflow: hidden;
  transition: var(--theme-transition);
  box-shadow: none;
}

.product-miniature:hover,
.js-product-miniature:hover,
.thumbnail-container:hover,
.product-item:hover {
  border-color: var(--theme-border-soft);
  transform: translateY(-4px);
  box-shadow: var(--theme-shadow);
}

.product-miniature .thumbnail-top,
.js-product-miniature .thumbnail-top {
  padding: 1.1rem;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0)),
    var(--theme-bg-soft);
  border-bottom: 1px solid rgba(0,0,0,0);
}

.product-miniature img,
.js-product-miniature img,
#product .product-cover img {
  border-radius: 0;
  background: var(--theme-bg-soft);
  transition: transform 0.5s ease, opacity 0.35s ease;
}

.product-miniature:hover img,
.js-product-miniature:hover img,
.thumbnail-container:hover img {
  transform: scale(1.025);
}

.thumbnail-container .product-description,
.product-miniature .product-description,
.js-product-miniature .product-description {
  padding: 1rem 1.05rem 0.35rem;
}

.product-title,
.product-title a,
.js-product-miniature .product-title a {
  color: var(--theme-text);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.28;
  font-size: 1rem;
}

.product-title a:hover,
.js-product-miniature .product-title a:hover {
  color: var(--theme-text-soft);
}

.thumbnail-container .product-price-and-shipping,
.product-miniature .product-price-and-shipping,
.js-product-miniature .product-price-and-shipping {
  padding: 0 1.05rem 0.9rem;
  display: flex;
  align-items: baseline;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.price,
.product-price,
.current-price,
.discount {
  color: var(--theme-text) !important;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.product-miniature .price,
.js-product-miniature .price {
  font-size: 1.05rem;
}

.regular-price {
  color: var(--theme-text-soft) !important;
  font-weight: 500;
  font-size: 0.9rem;
  text-decoration-thickness: 1px;
}

.product-miniature .price::before,
.current-price .current-price-value::before {
  content: "";
}

/* Badges */

.product-flags li,
.product-flag,
.badge,
.label,
.product-discount {
  background: rgba(255, 255, 255, 0.92);
  color: var(--theme-text);
  border: 1px solid rgba(17, 19, 21, 0.08);
  border-radius: 999px;
  padding: 0.28rem 0.68rem;
  box-shadow: 0 2px 10px rgba(17, 19, 21, 0.03);
  font-weight: 700;
  font-size: 0.67rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.product-flag.on-sale,
.product-discount {
  background: var(--theme-accent);
  border-color: var(--theme-accent);
  color: #fff;
}

/* Product page */

#product .product-cover,
#product .images-container,
#main .product-container,
.product-images > li,
.product-prices,
.product-actions,
.product-add-to-cart,
.product-customization,
.product-variants,
.product-details,
.product-description {
  background: transparent;
  border-color: var(--theme-border-soft);
  color: var(--theme-text);
}

#product .images-container {
  background: linear-gradient(180deg, #efeee8 0%, #e7e5db 100%);
  border: 1px solid var(--theme-border-soft);
  border-radius: 1rem;
  padding: 1.25rem;
}

#product .product-cover {
  background: transparent;
  border-radius: 0.7rem;
  overflow: hidden;
}

#product .product-title,
h1[itemprop="name"] {
  font-size: clamp(2.25rem, 4vw, 3.8rem);
  margin-bottom: 0.7rem;
}

.product-prices {
  padding: 1rem 0 1.35rem;
  border-bottom: 1px solid var(--theme-border-soft);
  margin-bottom: 1.25rem;
}

.current-price {
  display: flex;
  align-items: flex-end;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.current-price .current-price-value,
.product-page-price .product-price,
#product .product-price {
  font-size: clamp(2rem, 3vw, 2.8rem);
  font-weight: 800;
  color: var(--theme-text) !important;
  letter-spacing: -0.05em;
  line-height: 1;
}

.current-price .discount {
  font-size: 0.7rem;
  padding: 0.35rem 0.68rem;
  letter-spacing: 0.08em;
}

.tax-shipping-delivery-label,
.product-prices .product-discount,
.product-prices .regular-price {
  color: var(--theme-text-soft) !important;
}

.product-variants > .clearfix,
.product-variants-item,
.product-customization {
  background: #ffffff;
  border: 1px solid var(--theme-border-soft);
  border-radius: 0.55rem;
  padding: 1rem;
  margin-bottom: 1rem;
}

.product-variants-item strong,
.product-variants-item label,
.product-variants label {
  color: var(--theme-text);
  font-weight: 700;
}

.product-variants-item input:checked + span,
.product-variants-item input:checked + label,
.input-color:checked + span,
.input-radio:checked + span {
  border-color: var(--theme-accent) !important;
  box-shadow: 0 0 0 2px rgba(17, 19, 21, 0.08);
}

.product-add-to-cart {
  margin-top: 1rem;
}

.product-add-to-cart .btn-primary {
  min-height: 54px;
  padding-inline: 1.6rem;
}

/* Technical / reassurance */

.product-features,
.product-information,
.blockreassurance_product {
  position: relative;
  overflow: hidden;
  border-radius: 0.65rem;
}

.product-features::before,
.product-information::before,
.blockreassurance_product::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  background: linear-gradient(90deg, var(--theme-accent) 0%, transparent 80%);
  opacity: 0.18;
}

/* Tabs */

.nav-tabs {
  border-bottom: 1px solid var(--theme-border-soft);
  background: transparent;
  box-shadow: none;
}

.nav-tabs .nav-link {
  color: var(--theme-text-soft);
  border: 1px solid transparent;
  border-radius: 0;
  font-weight: 700;
  padding: 0.95rem 0;
  margin-right: 1.75rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-size: 0.8rem;
}

.nav-tabs .nav-link:hover {
  color: var(--theme-text);
  border-color: transparent;
  background: transparent;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--theme-text);
  background: transparent;
  border-color: transparent;
  border-bottom: 1.5px solid var(--theme-text);
}

/* Breadcrumb */

.breadcrumb {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding-inline: 0;
}

.breadcrumb a {
  color: var(--theme-text-soft);
}

.breadcrumb a:hover {
  color: var(--theme-text);
}

/* Facets */

#search_filters,
.block-categories,
.facet,
#left-column .block,
#right-column .block {
  background: #ffffff;
  border: 1px solid var(--theme-border-soft);
  border-radius: 0.65rem;
}

.facet .facet-label a,
.facet .custom-checkbox label,
.facet .custom-radio label {
  color: var(--theme-text-soft);
}

.facet .facet-label a:hover,
.facet .custom-checkbox label:hover,
.facet .custom-radio label:hover {
  color: var(--theme-text);
}

/* Tables */

.table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--theme-text);
  --bs-table-border-color: var(--theme-border-soft);
}

.table th,
.table td {
  border-color: var(--theme-border-soft) !important;
}

/* Alerts */

.alert-info {
  background: #fff;
  border-color: var(--theme-accent);
  color: var(--theme-text);
}

.alert-success {
  background: #fff;
  border-color: var(--theme-success);
  color: #01663d;
}

.alert-warning {
  background: #fff;
  border-color: var(--theme-warning);
  color: #8e3a06;
}

.alert-danger {
  background: #fff;
  border-color: var(--theme-danger);
  color: #912018;
}

/* Pagination */

.pagination .page-link {
  background: #fff;
  border-color: var(--theme-border-soft);
  color: var(--theme-text-soft);
  border-radius: 999px !important;
  min-width: 42px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.pagination .page-link:hover {
  color: var(--theme-text);
  background: var(--theme-bg-soft);
  border-color: var(--theme-border-strong);
}

.pagination .active .page-link,
.pagination .page-item.active .page-link {
  background: var(--theme-accent);
  border-color: var(--theme-accent);
  color: #fff;
}

/* Dropdowns */

.dropdown-menu {
  background: #fff;
  border: 1px solid var(--theme-border-soft);
  border-radius: 0.55rem;
  box-shadow: var(--theme-shadow);
}

.dropdown-item {
  color: var(--theme-text-soft);
}

.dropdown-item:hover,
.dropdown-item:focus {
  background: var(--theme-bg-soft);
  color: var(--theme-text);
}

/* Quantity */

.quantity-button__group input {
  border-radius: 999px;
  margin: 0 5px;
  min-width: 64px;
  text-align: center;
  font-weight: 700;
  background: #ffffff;
  border: 1px solid var(--theme-border-soft);
  color: var(--theme-text);
}

/* Selection */

::selection {
  background: rgba(17, 19, 21, 0.12);
  color: var(--theme-text);
}

/* Utility */

.breadcrumb__wrapper {
  background-color: transparent;
  margin-top: -2px;
}

.header-bottom {
  border-bottom: 0 solid var(--bs-border-color);
}

#header .header-nav {
  font-size: 0.86rem;
}

.product-description p,
.product-information p,
.block-category p {
  color: var(--theme-text-soft);
}

.card,
.modal-content,
.product-features,
.product-information,
.checkout-step,
.cart-summary {
  border-radius: 0.65rem;
}

.homefeatured,
.featured-products,
.new-products,
.special-products,
.product-accessories,
.category-top-menu,
.block-category {
  margin-bottom: 3rem;
}

.homefeatured .h2,
.featured-products .h2,
.new-products .h2,
.special-products .h2,
.block-category h1 {
  margin-bottom: 1.25rem;
}

/* Editorial touches */

.page-home .products-section-title,
.featured-products .h2,
.new-products .h2,
.special-products .h2 {
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  letter-spacing: -0.03em;
}

.block-category,
.page-content {
  background: transparent;
  border: 0;
}

.block-category .block-category-inner,
.block-category .category-cover,
.block-category .category-description {
  background: transparent;
}

/* Mobile */

@media (min-width: 992px) {
  #product .images-container {
    padding: 1.5rem;
  }

  .product-add-to-cart .btn-primary {
    min-width: 240px;
  }
}

@media (max-width: 767.98px) {
  h1 {
    font-size: 2.55rem;
  }

  h2 {
    font-size: 2rem;
  }

  .header-top {
    min-height: 72px;
  }

  .btn {
    min-height: 46px;
    padding: 0.72rem 1.1rem;
  }

  #product .product-title,
  h1[itemprop="name"] {
    font-size: 2.3rem;
  }

  #header a,
  .header-top a,
  .header-nav a,
  .header-bottom a {
    font-size: 0.88rem;
  }
}

.product-miniature__quickview-button {
  border-radius: 0.85rem;
}