/* ==========================================================================
   Elegant Bikes JC Bike — tema hijo de Classic (PrestaShop 8.0 y superior)
   Paleta: grafito #16181d · bronce #b8864b · papel #f6f3ee
   Tipografías: Cormorant Garamond (títulos) + Manrope (texto)
   ========================================================================== */

:root {
  --jc-accent: #b8864b;
  --jc-accent-dark: #96693a;
  --jc-accent-soft: #efe4d4;
  --jc-dark: #16181d;
  --jc-ink: #2a2c31;
  --jc-muted: #74767c;
  --jc-paper: #f6f3ee;
  --jc-line: #e4ded4;
  --jc-serif: "Cormorant Garamond", "Playfair Display", Georgia, serif;
  --jc-sans: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --jc-ease: cubic-bezier(.22, .61, .36, 1);
}

/* ---------- 1. Base ---------- */
body,
#wrapper {
  background: #fff;
}
body {
  font-family: var(--jc-sans);
  color: var(--jc-ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body, p, li, .text-muted, .form-control, .btn, .h6, label, .label { font-family: var(--jc-sans); }
p { color: var(--jc-ink); }
.text-muted { color: var(--jc-muted) !important; }
::selection { background: var(--jc-accent-soft); color: var(--jc-dark); }

a { color: var(--jc-dark); transition: color .2s var(--jc-ease); }
a:hover, a:focus { color: var(--jc-accent-dark); text-decoration: none; }

h1, h2, .h1, .h2,
.page-header h1,
.block-category h1,
.product-container h1.h1,
.products-section-title,
#main .page-header h1 {
  font-family: var(--jc-serif);
  font-weight: 500;
  color: var(--jc-dark);
  text-transform: none;
  letter-spacing: -.005em;
  line-height: 1.1;
}
h1, .h1 { font-size: clamp(2rem, 1.4rem + 2vw, 2.9rem); }
h2, .h2 { font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.3rem); }
h3, .h3, h4, .h4, h5, .h5, h6, .h6 { font-family: var(--jc-sans); color: var(--jc-dark); }

#wrapper { padding-top: 1.5rem; }
#index #wrapper { padding-top: 0; }
#index #wrapper .breadcrumb { display: none; }
.page-footer { margin-bottom: 0; }

/* ---------- 2. Botones ---------- */
.btn {
  border-radius: 0;
  font-family: var(--jc-sans);
  font-weight: 600;
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  box-shadow: none;
  transition: color .25s var(--jc-ease), background-color .25s var(--jc-ease), border-color .25s var(--jc-ease);
}
.btn-primary,
.btn-primary.disabled,
.btn-primary:disabled {
  background-color: var(--jc-dark);
  border-color: var(--jc-dark);
  color: #fff;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary:active:focus {
  background-color: var(--jc-accent);
  border-color: var(--jc-accent);
  color: #fff;
  box-shadow: none;
}
.btn-secondary,
.btn-tertiary {
  background-color: var(--jc-paper);
  border-color: var(--jc-line);
  color: var(--jc-dark);
}
.btn-secondary:hover,
.btn-tertiary:hover { background-color: var(--jc-dark); border-color: var(--jc-dark); color: #fff; }
.btn-unstyle { text-transform: none; letter-spacing: 0; font-weight: 500; }

/* ---------- 3. Formularios ---------- */
.form-control,
.form-control-select,
.custom-select,
select.form-control {
  border-radius: 0;
  border: 1px solid var(--jc-line);
  background-color: #fff;
  color: var(--jc-ink);
}
.form-control:focus,
.input-group.focus {
  border-color: var(--jc-accent);
  outline: 0;
  box-shadow: 0 0 0 .18rem rgba(184, 134, 75, .18);
}
.custom-checkbox input[type="checkbox"] + span,
.custom-radio { border-color: #c9c3b8; border-radius: 0; }
.custom-radio { border-radius: 50%; }
.custom-radio input[type="radio"]:checked + span { background-color: var(--jc-dark); }
.custom-checkbox input[type="checkbox"] + span .checkbox-checked { color: var(--jc-dark); }
.form-control-label, label, .label { color: var(--jc-ink); }

/* ---------- 4. Cabecera ---------- */
#header {
  background: #fff;
  box-shadow: 0 1px 0 var(--jc-line);
  color: var(--jc-ink);
}
#header.jc-scrolled { box-shadow: 0 8px 24px -18px rgba(22, 24, 29, .45); }

/* Franja superior oscura */
#header .header-nav {
  background: var(--jc-dark);
  border-bottom: 0;
  margin-bottom: 0;
  max-height: none;
  color: #e9e4da;
}
#header .header-nav a,
#header .header-nav .expand-more,
#header .header-nav .btn-unstyle,
#header .header-nav .material-icons,
#header .header-nav #contact-link,
#header .header-nav .user-info,
#header .header-nav .language-selector,
#header .header-nav .currency-selector {
  color: #e9e4da;
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}
#header .header-nav .material-icons { font-size: 1.1rem; letter-spacing: 0; text-transform: none; }
#header .header-nav a:hover,
#header .header-nav .btn-unstyle:hover { color: var(--jc-accent); }
#header .header-nav #contact-link span,
#header .header-nav #contact-link a { color: #fff; }
#header .header-nav .dropdown-menu { background: #fff; border-color: var(--jc-line); border-radius: 0; }
#header .header-nav .dropdown-menu .dropdown-item,
#header .header-nav .dropdown-menu a { color: var(--jc-ink); text-transform: none; letter-spacing: 0; font-size: .9rem; }
#header .header-nav .dropdown-menu .current a,
#header .header-nav .dropdown-menu a:hover { color: var(--jc-accent-dark); background: var(--jc-paper); }

/* Carrito */
#header .header-nav .blockcart {
  background: transparent;
  padding: .55rem .9rem;
  height: auto;
  margin-left: .75rem;
}
#header .header-nav .blockcart.active { background: var(--jc-accent); }
#header .header-nav .blockcart .header,
#header .header-nav .blockcart .header a,
#header .header-nav .blockcart .material-icons,
#header .header-nav .cart-products-count { color: #e9e4da; }
#header .header-nav .blockcart.active .header,
#header .header-nav .blockcart.active a,
#header .header-nav .blockcart.active .material-icons,
#header .header-nav .blockcart.active .cart-products-count { color: #fff; }

/* Barra principal: logo + menú + buscador */
#header .header-top {
  padding: .95rem 0 .9rem;
  background: #fff;
}
#header .header-top .logo { max-height: 3.1rem; width: auto; }

#header .top-menu a[data-depth="0"] {
  font-family: var(--jc-sans);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--jc-dark);
  padding: .7rem .9rem;
  position: relative;
}
#header .top-menu a[data-depth="0"]::after {
  content: "";
  position: absolute;
  left: .9rem;
  right: .9rem;
  bottom: .35rem;
  height: 1px;
  background: var(--jc-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s var(--jc-ease);
}
#header .top-menu a[data-depth="0"]:hover,
#header .top-menu .current > a[data-depth="0"] { color: var(--jc-accent-dark); }
#header .top-menu a[data-depth="0"]:hover::after,
#header .top-menu .current > a[data-depth="0"]::after { transform: scaleX(1); }

#header .top-menu .sub-menu {
  background: var(--jc-paper);
  border-top: 1px solid var(--jc-line);
  border-radius: 0;
  box-shadow: 0 24px 40px -30px rgba(22, 24, 29, .45);
  margin-left: 0;
}
#header .top-menu .sub-menu a[data-depth="1"] {
  font-family: var(--jc-serif);
  font-size: 1.3rem;
  font-weight: 500;
  text-transform: none;
  color: var(--jc-dark);
}
#header .top-menu .sub-menu a[data-depth="2"] { color: var(--jc-ink); }
#header .top-menu .sub-menu a:hover { color: var(--jc-accent-dark); }

/* Buscador */
#search_widget form input,
.search-widgets form input[type="text"] {
  background: var(--jc-paper);
  border: 1px solid transparent;
  border-radius: 0;
  color: var(--jc-ink);
  font-size: .88rem;
}
#search_widget form input:focus,
.search-widgets form input[type="text"]:focus {
  background: #fff;
  border-color: var(--jc-accent);
  outline: 0;
}
#search_widget form i,
.search-widgets form i { color: var(--jc-muted); }

/* Móvil */
#header .header-nav .mobile,
#header .header-nav .top-logo { color: #e9e4da; }
#header .header-nav #menu-icon .material-icons,
#header .header-nav #_mobile_user_info .material-icons,
#header .header-nav #_mobile_cart .material-icons { color: #e9e4da; font-size: 1.6rem; }
#header .header-nav #_mobile_logo .logo,
#header .header-nav .top-logo img { filter: brightness(0) invert(1); }
#mobile_top_menu_wrapper { background: #fff; }
#mobile_top_menu_wrapper .top-menu a { color: var(--jc-dark); }
#mobile_top_menu_wrapper .top-menu a[data-depth="0"] { font-size: .8rem; }

/* ---------- 5. Migas de pan ---------- */
#wrapper .breadcrumb {
  background: transparent;
  border-bottom: 1px solid var(--jc-line);
  border-radius: 0;
  padding: .2rem 0 .9rem;
  margin-bottom: 1.75rem;
}
#wrapper .breadcrumb li,
#wrapper .breadcrumb li a,
#wrapper .breadcrumb li span {
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--jc-ink);
}
#wrapper .breadcrumb li:last-child span { color: var(--jc-muted); }
#wrapper .breadcrumb li::after { color: var(--jc-accent); }
#wrapper .breadcrumb li a:hover { color: var(--jc-accent-dark); }

/* ---------- 6. Secciones de productos ---------- */
.featured-products,
.product-accessories { padding-top: 3rem; }
.products-section-title {
  text-align: center;
  font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.6rem);
  margin: 0 0 2.5rem;
}
.products-section-title.text-uppercase,
.featured-products .text-uppercase { text-transform: none !important; }
.products-section-title::after {
  content: "";
  display: block;
  width: 48px;
  height: 1px;
  margin: 1.1rem auto 0;
  background: var(--jc-accent);
}
.featured-products > .h2:not(.products-section-title),
.featured-products > h2:not(.products-section-title) { font-family: var(--jc-serif); font-weight: 500; }
.all-product-link {
  display: inline-flex;
  align-items: center;
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--jc-dark);
  border-bottom: 1px solid var(--jc-accent);
  padding-bottom: .2rem;
}
.all-product-link:hover { color: var(--jc-accent-dark); }

/* ---------- 7. Tarjeta de producto ---------- */
.product-miniature .thumbnail-container {
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}
.product-miniature .thumbnail-container:hover,
.product-miniature .thumbnail-container:focus { box-shadow: none; }
.product-miniature .thumbnail-top {
  background: var(--jc-paper);
  overflow: hidden;
}
.product-miniature .product-thumbnail img {
  mix-blend-mode: multiply;
  transition: transform .9s var(--jc-ease);
}
.product-miniature:hover .product-thumbnail img { transform: scale(1.045); }

.product-miniature .product-description {
  background: transparent;
  box-shadow: none;
  padding-top: .9rem;
}
.product-miniature .thumbnail-container:hover .product-description::after,
.product-miniature .thumbnail-container:focus .product-description::after { border-top: 0; display: none; }
.product-miniature .product-title {
  text-transform: none;
  text-align: center;
}
.product-miniature .product-title a {
  font-family: var(--jc-serif);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--jc-dark);
}
.product-miniature .product-title a:hover { color: var(--jc-accent-dark); }
.product-miniature .product-price-and-shipping {
  font-family: var(--jc-sans);
  font-weight: 600;
  color: var(--jc-dark);
  letter-spacing: .02em;
}
.product-miniature .product-price-and-shipping .regular-price { color: var(--jc-muted); font-weight: 400; font-size: .85rem; }
.product-miniature .has-discount .price,
.product-miniature .product-price-and-shipping .regular-price ~ .price { color: var(--jc-accent-dark); }

.product-miniature .highlighted-informations {
  background: rgba(255, 255, 255, .92);
  box-shadow: none;
}
.product-miniature .highlighted-informations .quick-view {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--jc-dark);
}
.product-miniature .highlighted-informations .quick-view:hover { color: var(--jc-accent-dark); }
.variant-links .color { border-radius: 50%; box-shadow: none; border: 1px solid var(--jc-line); }

/* Etiquetas */
.product-flags li.product-flag {
  border-radius: 0;
  box-shadow: none;
  font-family: var(--jc-sans);
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: .35rem .6rem;
  min-height: 0;
  background: var(--jc-dark);
  color: #fff;
}
.product-flags li.product-flag.discount,
.product-flags li.product-flag.discount-amount,
.product-flags li.product-flag.discount-percentage,
.product-flags li.product-flag.on-sale { background: var(--jc-accent); color: #fff; }
.product-flags li.product-flag.online-only { background: #fff; color: var(--jc-dark); font-size: .6rem; }
.product-flags li.product-flag.online-only::before { color: var(--jc-accent); }

/* ---------- 8. Listado de categoría ---------- */
.block-category {
  background: transparent;
  box-shadow: none;
  border: 0;
  padding: 0 0 1rem;
  margin-bottom: 1.5rem;
  min-height: 0;
}
.block-category h1 { margin-bottom: .9rem; }
.block-category #category-description,
.block-category #category-description p { color: var(--jc-muted); max-width: 62ch; }
.block-category .category-cover img { mix-blend-mode: multiply; }

#subcategories { background: transparent; box-shadow: none; border: 0; padding: 0; }
#subcategories .subcategory-heading { display: none; }
#subcategories ul li .subcategory-image a {
  border: 1px solid var(--jc-line);
  background: var(--jc-paper);
  padding: 0;
}
#subcategories ul li:hover .subcategory-image a { border-color: var(--jc-accent); padding: 0; }
#subcategories ul li .subcategory-name {
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--jc-dark);
}
#subcategories ul li:hover .subcategory-name { color: var(--jc-accent-dark); }

#products .products-selection,
.products-selection {
  border-bottom: 1px solid var(--jc-line);
  padding-bottom: 1rem;
  margin-bottom: 1.75rem;
}
.products-selection .total-products p,
.products-selection .sort-by { color: var(--jc-muted); font-size: .85rem; }
.products-sort-order .select-title {
  background: #fff;
  border: 1px solid var(--jc-line);
  border-radius: 0;
  box-shadow: none;
  font-size: .76rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--jc-dark);
}
.products-sort-order .dropdown-menu { background: #fff; border: 1px solid var(--jc-line); border-radius: 0; box-shadow: 0 16px 30px -24px rgba(22, 24, 29, .5); }
.products-sort-order .select-list { color: var(--jc-ink); }
.products-sort-order .select-list:hover,
.products-sort-order .select-list.current { background: var(--jc-paper); color: var(--jc-accent-dark); }

/* Columna lateral */
#left-column .block-categories,
#search_filters,
#search_filters_brands,
#search_filters_suppliers {
  background: transparent;
  box-shadow: none;
  padding: 0;
  margin-bottom: 2rem;
}
#left-column .block-categories .category-top-menu > li > a.h6,
#left-column .block-categories .h6,
#search_filters > .h6,
#search_filters .facet .facet-title,
#search_filters .facet .h6 {
  font-family: var(--jc-sans);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--jc-dark);
}
#left-column .block-categories .category-top-menu > li > a.h6 {
  display: block;
  padding-bottom: .8rem;
  margin-bottom: .6rem;
  border-bottom: 1px solid var(--jc-line);
}
#search_filters .facet {
  border-top: 1px solid var(--jc-line);
  padding-top: 1rem;
}
#left-column .block-categories .category-sub-menu li a,
#left-column .block-categories a,
#search_filters .facet .facet-label a { color: var(--jc-ink); }
#left-column .block-categories .category-sub-menu li a:hover,
#left-column .block-categories a:hover,
#search_filters .facet .facet-label a:hover,
#search_filters .facet .facet-label.active a { color: var(--jc-accent-dark); }
#search_filters .facet .magnitude { color: var(--jc-muted); }
#search_filters .ui-slider .ui-slider-range,
.faceted-slider .ui-slider-range { background: var(--jc-accent); }
#search_filters .ui-slider .ui-slider-handle { border-color: var(--jc-dark); border-radius: 50%; }
#js-active-search-filters { background: var(--jc-paper); }
#js-active-search-filters .filter-block { background: #fff; border-radius: 0; box-shadow: none; }

/* Paginación */
.pagination { font-size: .85rem; color: var(--jc-muted); }
.pagination .page-list { background: transparent; box-shadow: none; }
.pagination a { color: var(--jc-ink); font-weight: 500; }
.pagination a:hover { color: var(--jc-accent-dark); }
.pagination .current a {
  color: #fff;
  background: var(--jc-dark);
  padding: .35rem .7rem;
  font-size: .85rem;
}
.pagination .disabled { color: #b9b5ad; }

/* ---------- 9. Ficha de producto ---------- */
.product-container h1.h1,
#product h1.h1 {
  font-size: clamp(2.1rem, 1.5rem + 2vw, 3rem);
  margin-bottom: 1rem;
}
.product-cover img,
.product-cover {
  background: var(--jc-paper);
  box-shadow: none;
}
.product-cover img { mix-blend-mode: multiply; }
.product-cover .layer { background: rgba(22, 24, 29, .5); }
.product-images > li.thumb-container .thumb,
.product-images > li.thumb-container > .thumb {
  background: var(--jc-paper);
  border: 1px solid transparent;
  mix-blend-mode: multiply;
}
.product-images > li.thumb-container .thumb.selected,
.product-images > li.thumb-container .thumb:hover { border-color: var(--jc-accent); }
.scroll-box-arrows .material-icons { color: var(--jc-dark); }

.product-prices .current-price,
.product-price { color: var(--jc-dark); font-family: var(--jc-sans); }
.product-prices .current-price-value,
.product-price .current-price-value { font-weight: 600; font-size: 1.7rem; }
.product-price.has-discount,
.has-discount.product-price,
.has-discount .current-price-value { color: var(--jc-accent-dark); }
.product-discount .regular-price,
.product-prices .regular-price { color: var(--jc-muted); font-size: 1rem; }
.has-discount .discount,
.product-prices .discount,
.discount {
  background: var(--jc-accent);
  color: #fff;
  border-radius: 0;
  font-family: var(--jc-sans);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: .35rem .6rem;
}
.product-prices .tax-shipping-delivery-label { color: var(--jc-muted); letter-spacing: .03em; }
.product-information,
#product-description-short,
.product-description-short { color: var(--jc-ink); line-height: 1.75; }

.product-variants > .product-variants-item .control-label,
.product-add-to-cart .control-label {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--jc-dark);
}
.product-variants > .product-variants-item select {
  border-radius: 0;
  border: 1px solid var(--jc-line);
  min-width: 8rem;
  box-shadow: none;
}
.product-variants > .product-variants-item .color,
.product-variants .input-color + span.color,
.input-color + span.color {
  border-radius: 50%;
  box-shadow: none;
  border: 1px solid var(--jc-line);
}
.input-color:checked + span,
.input-color:hover + span,
.input-radio:checked + span,
.input-radio:hover + span { border: 2px solid var(--jc-dark); }
.product-variants > .product-variants-item ul li .radio-label {
  border-radius: 0;
  box-shadow: none;
  border: 1px solid var(--jc-line);
  font-weight: 600;
}
.product-variants .input-radio:checked + .radio-label { background: var(--jc-dark); color: #fff; border-color: var(--jc-dark); }

.product-actions .add-to-cart,
.product-add-to-cart .add-to-cart {
  height: auto;
  min-height: 2.9rem;
  padding: .85rem 2rem;
}
.product-quantity .qty .input-group,
.bootstrap-touchspin .form-control,
.bootstrap-touchspin input.form-control {
  border-radius: 0;
  border-color: var(--jc-line);
  box-shadow: none;
}
.bootstrap-touchspin .btn-touchspin,
.bootstrap-touchspin .input-group-btn-vertical > .btn {
  background: var(--jc-paper);
  border-color: var(--jc-line);
  border-radius: 0;
}
.bootstrap-touchspin .btn-touchspin:hover { background: var(--jc-accent-soft); }

/* Disponibilidad (Classic 2.x y 3.x) */
.product-availability .alert-success,
#product-availability .alert-success {
  background: #eef4ee;
  border-color: #d6e5d6;
  color: #2f5a3b;
  border-radius: 0;
}
#product-availability .product-available { color: #3f7a52; }
#product-availability .product-last-items { color: var(--jc-accent); }

.social-sharing li { box-shadow: none; background-color: var(--jc-paper); }
.social-sharing li:hover { background-color: var(--jc-accent-soft); }

/* Reaseguro */
.blockreassurance_product,
#block-reassurance {
  background: var(--jc-paper);
  padding: 1.1rem 1.4rem;
  box-shadow: none;
  margin-top: 1.5rem;
}
.blockreassurance_product .block-title,
#block-reassurance span { color: var(--jc-dark); font-weight: 600; }
#block-reassurance li { border-bottom-color: var(--jc-line); }

/* Pestañas */
.tabs {
  background: transparent;
  box-shadow: none;
  padding: 0;
  margin-top: 2.5rem;
}
.tabs .nav-tabs { border-bottom: 1px solid var(--jc-line); }
.tabs .nav-tabs .nav-link {
  font-family: var(--jc-serif);
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--jc-muted);
  border: 0;
  border-bottom: 1px solid transparent;
  padding: .4rem 0;
  margin-right: 2rem;
}
.tabs .nav-tabs .nav-link.active,
.tabs .nav-tabs .nav-link:hover { color: var(--jc-dark); border-bottom: 1px solid var(--jc-accent); background: transparent; }
.tabs .tab-pane { padding-top: 1.25rem; line-height: 1.75; }
.product-features > dl.data-sheet dd.value,
.product-features > dl.data-sheet dt.name { background: var(--jc-paper); border-radius: 0; }
.product-features > dl.data-sheet dd.value:nth-of-type(even),
.product-features > dl.data-sheet dt.name:nth-of-type(even) { background: #fff; }

/* Modal / carrito */
.modal-content { border-radius: 0; border: 0; }
#blockcart-modal .modal-header { background: var(--jc-dark); }
#blockcart-modal .modal-title { color: #fff; font-family: var(--jc-sans); font-size: .9rem; letter-spacing: .08em; text-transform: uppercase; }
#blockcart-modal .modal-title .material-icons { color: var(--jc-accent); }
#blockcart-modal .product-name { color: var(--jc-dark); font-family: var(--jc-serif); font-size: 1.4rem; }
.cart-grid-body .card-block h1 { font-size: 2rem; }
.card { border-radius: 0; box-shadow: none; }
.cart-summary, .cart-grid-body .cart-overview, #js-checkout-summary { box-shadow: none; }

/* Pasos del checkout */
body#checkout section.checkout-step { box-shadow: none; border-bottom: 1px solid var(--jc-line); }
body#checkout section.checkout-step .step-title { font-family: var(--jc-serif); text-transform: none; font-size: 1.5rem; font-weight: 500; }
body#checkout section.checkout-step.-current .step-title { color: var(--jc-dark); }
body#checkout section.checkout-step .step-number { background: var(--jc-paper); }
body#checkout section.checkout-step.-current .step-number,
body#checkout section.checkout-step.-complete .step-number { background: var(--jc-dark); color: #fff; }
body#checkout section.checkout-step .done { color: var(--jc-accent); }

/* ---------- 10. Pie de página ---------- */
#footer {
  background: #fff;
  padding-top: 0;
}
#footer > .container:first-child {
  max-width: none;
  width: 100%;
  background: var(--jc-paper);
  padding-top: 3rem;
  padding-bottom: 2.25rem;
}
#footer > .container:first-child > .row { max-width: 1140px; margin-left: auto; margin-right: auto; }

.block_newsletter,
#blockEmailSubscription_displayFooterBefore {
  background: transparent;
  margin-bottom: 0;
  font-size: .9rem;
}
.block_newsletter #block-newsletter-label,
.block_newsletter p.h3 {
  font-family: var(--jc-serif);
  font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
  font-weight: 500;
  text-transform: none;
  color: var(--jc-dark);
  line-height: 1.2;
}
.block_newsletter form input[type="email"],
.block_newsletter form input[type="text"] {
  border: 1px solid var(--jc-line);
  border-radius: 0;
  background: #fff;
  height: 3rem;
  padding: .8rem 1rem;
}
.block_newsletter form input[type="email"]:focus { border-color: var(--jc-accent); outline: 0; }
.block_newsletter form .btn,
.block_newsletter form input.btn { height: 3rem; }
.block_newsletter p,
.block_newsletter .text-muted { color: var(--jc-muted); font-size: .8rem; }

.block-social ul li {
  background-color: var(--jc-dark);
  border-radius: 50%;
  transition: background-color .25s var(--jc-ease), transform .25s var(--jc-ease);
}
.block-social ul li:hover { background-color: var(--jc-accent); transform: translateY(-2px); }

.footer-container {
  background: var(--jc-dark);
  box-shadow: none;
  margin-top: 0;
  padding-top: 3.25rem;
  overflow: hidden;
  color: #b9b6b0;
}
.footer-container li { margin-bottom: .5rem; }
.footer-container .h3,
.footer-container p.h3,
.footer-container .myaccount-title a,
.footer-container .block-contact-title,
.footer-container .links .h3,
.footer-container .links .title .h3 {
  font-family: var(--jc-serif);
  font-size: 1.4rem;
  font-weight: 500;
  text-transform: none;
  color: #fff;
  letter-spacing: .01em;
}
#footer .footer-container .myaccount-title a,
#footer .footer-container .block-contact-title,
#footer .footer-container .h3 { color: #fff; }
.footer-container .text-uppercase { text-transform: none !important; }
.footer-container .h3::after,
.footer-container .block-contact-title::after,
.footer-container .myaccount-title::after {
  content: "";
  display: block;
  width: 28px;
  height: 1px;
  margin-top: .7rem;
  background: var(--jc-accent);
}
.footer-container .title .h3::after { display: none; }
@media (min-width: 768px) {
  .footer-container .title .h3::after { display: block; }
}
.footer-container li a,
.footer-container a,
.footer-container .block-contact,
.footer-container #contact-infos,
.footer-container .account-list a { color: #b9b6b0; font-size: .9rem; }
.footer-container li a:hover,
.footer-container a:hover,
.footer-container .account-list a:hover { color: var(--jc-accent); }
.footer-container .links .collapse { background: transparent; }
.footer-container .material-icons { color: var(--jc-accent); }
.footer-container .links .title { border-bottom-color: rgba(255, 255, 255, .1); }
.footer-container .links .navbar-toggler .material-icons { color: #e9e4da; }

.footer-container .text-sm-center {
  border-top: 1px solid rgba(255, 255, 255, .1);
  margin-top: 1.25rem;
  padding: 1.5rem 0 .5rem;
  font-size: .72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #8f8c86;
}
.footer-container .text-sm-center a { color: #8f8c86; font-size: .72rem; }
.jc-copyright__sep { margin: 0 .6rem; color: var(--jc-accent); }

/* ---------- 11. Portada: integración con el módulo ---------- */
#index #content.page-home { margin-bottom: 0; }
#index #content.page-home > .eb-home:first-child { margin-top: 0; }
#index .eb-home .eb-hero { margin-top: 0; }

/* ---------- 12. Varios ---------- */
.alert { border-radius: 0; }
.page-content.page-cms,
#content.page-content { box-shadow: none; }
.block-promo .promo-code-button,
.cart-summary-line .label { color: var(--jc-ink); }
#_desktop_cart .cart-preview .shopping-cart { vertical-align: middle; }

@media (max-width: 767px) {
  #wrapper { padding-top: 1rem; }
  .products-section-title { margin-bottom: 1.75rem; }
  .product-miniature .product-title a { font-size: 1.15rem; }
  .tabs .nav-tabs .nav-link { font-size: 1.2rem; margin-right: 1.2rem; }
}

@media (prefers-reduced-motion: reduce) {
  .product-miniature .product-thumbnail img,
  #header .top-menu a[data-depth="0"]::after { transition: none; }
}

/* ---------- 13. Ajustes finos ---------- */
.product-add-to-cart .add-to-cart,
.product-actions .add-to-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
}
.product-add-to-cart .add-to-cart .material-icons,
.product-actions .add-to-cart .material-icons { line-height: 1; margin: 0; font-size: 1.25rem; }
#header .header-nav .blockcart .header {
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.pagination .page-list li { margin: 0 .15rem; }
.block-social ul { text-align: center; }
