/* turegalito: aspecto de la tienda (tema Classic de PrestaShop 8)
   La misma línea que turegalito.com: crema, azul con sombra dura, rojo en lo que se pulsa,
   Bagel Fat One para titulares, Figtree para leer y Gochi Hand para las notas a mano. */

@font-face {
  font-family: 'Bagel Fat One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/bagel-fat-one-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../fonts/figtree-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Gochi Hand';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/gochi-hand-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --tr-azul: #0058ca;
  --tr-azul-osc: #003d94;
  --tr-rojo: #f34545;
  --tr-rojo-ui: #d63232;
  --tr-rojo-osc: #c62b2b;
  --tr-tinta: #0c2a5e;
  --tr-crema: #fff7ea;
  --tr-amarillo: #ffd84a;
  --tr-rosa: #ffd2db;
  --tr-menta: #a9ead2;
  --tr-cielo: #c3dbff;

  --tr-gorda: 'Bagel Fat One', 'Arial Rounded MT Bold', 'Trebuchet MS', sans-serif;
  --tr-texto: 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --tr-mano: 'Gochi Hand', 'Comic Sans MS', cursive;

  --tr-b: 3px;
  --tr-sombra: 6px 7px 0 var(--tr-azul);
  --tr-sombra-s: 3px 4px 0 var(--tr-azul);
  --tr-radio: 22px;
  --tr-rebote: cubic-bezier(.3, 1.7, .5, 1);
}

/* ---------- Base ---------- */

body,
#wrapper,
#main,
#content-wrapper {
  background: var(--tr-crema);
}
body {
  color: var(--tr-tinta);
  font-family: var(--tr-texto);
  font-size: 1rem;
}
body, p, li, label, small, .label, .form-control-label, input, select, textarea, button,
.btn, .dropdown-item, .top-menu, .card, .modal, .tooltip, .popover, .breadcrumb, .h3, .h4, .h5, .h6, h3, h4, h5, h6 {
  font-family: var(--tr-texto);
}
p, .page-content, .product-description-short, #product-description-short, .product-information, .text-muted {
  color: var(--tr-tinta);
}
a { color: var(--tr-azul); }
a:hover, a:focus { color: var(--tr-rojo-ui); }
::selection { background: var(--tr-amarillo); color: var(--tr-tinta); }

:focus-visible {
  outline: 3px solid var(--tr-azul);
  outline-offset: 2px;
}

h1, .h1, h2, .h2,
.page-header h1,
#main .page-header h1,
.products-section-title,
#product h1.h1,
.block-category h1,
#js-product-list-header h1,
.featured-products h2,
.product-accessories h2,
.viewed-products h2,
.category-products h2 {
  font-family: var(--tr-gorda);
  font-weight: 400;
  color: var(--tr-azul);
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.05;
}
h1, .h1, #product h1.h1, .page-header h1 { font-size: clamp(1.9rem, 4.2vw, 2.9rem); }
h3, .h3, h4, .h4 { color: var(--tr-azul); font-weight: 800; text-transform: none; }

.products-section-title,
h1.text-uppercase, h2.text-uppercase, .h1.text-uppercase, .h2.text-uppercase {
  text-transform: none !important;
}
.products-section-title {
  font-size: clamp(2rem, 5vw, 3.2rem);
  margin: 2.5rem 0 2rem;
  text-align: center;
}
/* Las secciones de la portada tienen 3 productos: centrados, sin hueco a la derecha */
.featured-products .products,
.product-accessories .products,
.viewed-products .products,
.category-products .products { justify-content: center; }

/* ---------- Botones ---------- */

.btn {
  border-radius: 16px;
  font-weight: 800;
  text-transform: none;
  letter-spacing: 0;
  transition: transform .18s var(--tr-rebote), box-shadow .18s var(--tr-rebote), background-color .15s;
}
.btn-primary,
.btn-primary.disabled,
.btn-primary:disabled,
.block_newsletter form input[type=submit],
.block_newsletter form button[type=submit] {
  background: var(--tr-rojo-ui);
  border: var(--tr-b) solid var(--tr-rojo-ui);
  color: #fff;
  box-shadow: 5px 6px 0 var(--tr-tinta);
  padding: .8rem 1.4rem;
}
.btn-primary:hover,
.btn-primary:focus,
.block_newsletter form input[type=submit]:hover {
  background: var(--tr-rojo-osc);
  border-color: var(--tr-rojo-osc);
  color: #fff;
  transform: translate(-2px, -2px);
  box-shadow: 8px 9px 0 var(--tr-tinta);
}
.btn-primary:active,
.btn-primary.active {
  background: var(--tr-rojo-osc) !important;
  border-color: var(--tr-rojo-osc) !important;
  transform: translate(3px, 3px);
  box-shadow: 1px 1px 0 var(--tr-tinta) !important;
}
.btn-primary.disabled,
.btn-primary:disabled {
  opacity: .55;
  transform: none;
}
.btn-secondary,
.btn-tertiary,
.btn-outline-primary,
.btn-unstyle.select-title,
.products-sort-order .select-title {
  background: #fff;
  border: 2px solid var(--tr-azul);
  color: var(--tr-azul);
  box-shadow: var(--tr-sombra-s);
}
.btn-secondary:hover,
.btn-tertiary:hover,
.btn-outline-primary:hover {
  background: var(--tr-azul);
  border-color: var(--tr-azul);
  color: #fff;
  transform: translate(-1px, -1px);
  box-shadow: 4px 5px 0 var(--tr-tinta);
}

/* Enlaces «Todos los productos» y «Todas las novedades»: chapa blanca como en la portada */
.all-product-link {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  float: none !important;
  font-size: 1rem;
  margin: 2rem auto 1rem;
  padding: .6rem 1.1rem;
  background: #fff;
  border: 2px solid var(--tr-azul);
  border-radius: 99px;
  box-shadow: var(--tr-sombra-s);
  color: var(--tr-azul);
  font-weight: 800;
  transition: transform .18s var(--tr-rebote), box-shadow .18s var(--tr-rebote);
}
.all-product-link:hover {
  color: var(--tr-azul);
  transform: translate(-2px, -2px);
  box-shadow: 5px 6px 0 var(--tr-azul);
}
.featured-products, .product-accessories, .viewed-products, .category-products { text-align: center; }
.featured-products .products, .product-accessories .products, .viewed-products .products, .category-products .products { text-align: left; }

/* ---------- Formularios ---------- */

.form-control,
input[type=text], input[type=email], input[type=password], input[type=tel], input[type=number], input[type=search],
select.form-control, textarea,
.product-variants > .product-variants-item select,
.bootstrap-touchspin input.form-control {
  background-color: #fff;
  border: 2px solid var(--tr-azul);
  border-radius: 14px;
  color: var(--tr-tinta);
}
.form-control:focus,
input:focus, select:focus, textarea:focus {
  border-color: var(--tr-azul);
  outline: 3px solid var(--tr-amarillo);
  outline-offset: 0;
  box-shadow: none;
}
.form-control::placeholder, input::placeholder { color: #6b7fa3; }
.input-group .input-group-btn > .btn,
.input-group-append > .btn { border-radius: 0 14px 14px 0; box-shadow: none; }
.input-group .form-control { border-radius: 14px 0 0 14px; }
.bootstrap-touchspin .btn-touchspin { border-color: var(--tr-azul); background: #fff; color: var(--tr-azul); }
.custom-radio, .custom-checkbox input[type=checkbox] + span { border-color: var(--tr-azul); }
.custom-radio input[type=radio]:checked + span { background-color: var(--tr-azul); }
.custom-checkbox input[type=checkbox] + span .checkbox-checked { color: var(--tr-azul); }
.form-control-comment, .form-control-label { color: var(--tr-tinta); }
.required, .form-control-label .required, sup.required { color: var(--tr-rojo-ui); }

/* ---------- Cabecera ---------- */

#header {
  background: var(--tr-crema);
  color: var(--tr-tinta);
  box-shadow: none;
}
#header .header-nav {
  background: var(--tr-crema);
  border-bottom: 0;
  margin-bottom: 0;
  max-height: none;
}
@media (min-width: 768px) {
  #header .header-nav {
    background: var(--tr-azul);
    color: var(--tr-crema);
    font-size: .9rem;
  }
  #header .header-nav,
  #header .header-nav a,
  #header .header-nav a:not(:hover),
  #header .header-nav .material-icons,
  #header .header-nav #contact-link,
  #header .header-nav .user-info a {
    color: var(--tr-crema);
  }
  #header .header-nav a:hover { color: var(--tr-amarillo); }
  #header .header-nav .user-info .logged { color: var(--tr-amarillo); }
}

#header .header-top {
  background: var(--tr-crema);
  padding: 1.1rem 0 1.2rem;
  border-bottom: 2px dashed rgba(0, 88, 202, .3);
}

/* Logo vectorial de turegalito.com en lugar del JPG (el img se queda para el alt y el enlace) */
#_desktop_logo .logo,
#_mobile_logo .logo,
#header .logo {
  width: 210px;
  max-width: 100%;
  height: 43px;
  object-fit: none;
  object-position: -9999px 0;
  background: url(../img/logo.svg) left center / contain no-repeat;
}
#_mobile_logo .logo { width: 170px; height: 35px; background-position: center; }
#_desktop_logo { display: flex; align-items: center; }
@media (min-width: 768px) {
  #header .header-top > .container > .row:first-of-type { display: flex; align-items: center; }
  #_desktop_logo { flex: 0 0 auto; max-width: none; width: auto; }
  #header .header-top-right { flex: 1 1 auto; width: auto; max-width: none; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .75rem 1rem; }
}

/* Menú principal: chapas con borde, como las de turegalito.com */
#_desktop_top_menu .top-menu[data-depth="0"] {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 0;
}
#_desktop_top_menu .top-menu[data-depth="0"] > li { float: none; }
#_desktop_top_menu .top-menu[data-depth="0"] > li > a.dropdown-item,
#_desktop_top_menu .top-menu a[data-depth="0"] {
  display: inline-block;
  padding: .42rem .95rem;
  background: #fff;
  border: 2px solid var(--tr-azul);
  border-radius: 99px;
  box-shadow: 3px 3px 0 var(--tr-azul);
  color: var(--tr-azul);
  font-size: .9rem;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  transition: transform .18s var(--tr-rebote), box-shadow .18s var(--tr-rebote), background-color .15s, color .15s;
}
#_desktop_top_menu .top-menu[data-depth="0"] > li:hover > a.dropdown-item,
#_desktop_top_menu .top-menu[data-depth="0"] > li > a.dropdown-item:focus,
#_desktop_top_menu .top-menu[data-depth="0"] > li.current > a.dropdown-item {
  background: var(--tr-azul);
  color: #fff;
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--tr-tinta);
}
#_desktop_top_menu .popover.sub-menu {
  margin-top: .6rem;
  padding: .9rem 1.1rem;
  background: #fff;
  border: var(--tr-b) solid var(--tr-azul);
  border-radius: 18px;
  box-shadow: var(--tr-sombra);
}
#_desktop_top_menu .sub-menu .top-menu a,
#_desktop_top_menu .sub-menu ul[data-depth="1"] > li > a {
  color: var(--tr-tinta);
  font-weight: 700;
  text-transform: none;
}
#_desktop_top_menu .sub-menu .top-menu a:hover { color: var(--tr-rojo-ui); }
#_desktop_top_menu .sub-menu ul[data-depth="2"] a { font-weight: 500; }

/* Buscador */
#search_widget form {
  position: relative;
}
#search_widget form input[type=text] {
  min-width: 15rem;
  padding: .55rem 1rem .55rem 2.5rem;
  background: #fff;
  border: 2px solid var(--tr-azul);
  border-radius: 99px;
  color: var(--tr-tinta);
}
#search_widget form i { color: var(--tr-azul); }
#search_widget form input[type=text]:focus + i.clear,
#search_widget form i.clear { color: var(--tr-azul); }
.ui-autocomplete.searchbar-autocomplete {
  border: 2px solid var(--tr-azul);
  border-radius: 14px;
  box-shadow: var(--tr-sombra-s);
  overflow: hidden;
}

/* Carrito de la cabecera */
#header .blockcart {
  background: #fff;
  border: 2px solid var(--tr-azul);
  border-radius: 99px;
  box-shadow: 3px 3px 0 var(--tr-azul);
  height: auto;
  padding: .35rem .9rem;
}
#header .blockcart,
#header .blockcart a,
#header .blockcart .material-icons { color: var(--tr-azul); }
#header .blockcart.active { background: var(--tr-rojo-ui); border-color: var(--tr-rojo-ui); box-shadow: 3px 3px 0 var(--tr-tinta); }
#header .blockcart.active,
#header .blockcart.active a,
#header .blockcart.active .material-icons { color: #fff; }
#header .header-nav .cart-preview.active { background: var(--tr-rojo-ui); }

/* Móvil */
@media (max-width: 767px) {
  #header .header-nav { padding: .4rem 0; }
  #header .header-nav .mobile .material-icons,
  #header #menu-icon,
  #header .user-info a { color: var(--tr-azul); }
  #header .header-top { padding: .6rem 0 .9rem; }
  #mobile_top_menu_wrapper {
    background: #fff;
    border: var(--tr-b) solid var(--tr-azul);
    border-radius: 18px;
    box-shadow: var(--tr-sombra);
    margin: .5rem .25rem 1rem;
    padding: .5rem 0;
  }
  #mobile_top_menu_wrapper .top-menu a { color: var(--tr-tinta); font-weight: 700; text-transform: none; }
  #mobile_top_menu_wrapper .top-menu .collapse-icons .material-icons,
  #mobile_top_menu_wrapper .navbar-toggler .material-icons { color: var(--tr-azul); }
  #search_widget form input[type=text] { min-width: 0; width: 100%; }
}

/* ---------- Migas de pan ---------- */

.breadcrumb {
  background: transparent;
  padding: 1rem 0 .4rem;
}
.breadcrumb li,
.breadcrumb li a,
.breadcrumb li::after { color: var(--tr-azul); font-weight: 700; }
.breadcrumb li:last-child,
.breadcrumb li:last-child a { color: var(--tr-tinta); font-weight: 500; }
.breadcrumb li a:hover { color: var(--tr-rojo-ui); }

/* ---------- Carrusel de portada ---------- */

#carousel,
.carousel {
  border: var(--tr-b) solid var(--tr-azul);
  border-radius: 26px;
  box-shadow: var(--tr-sombra);
  overflow: hidden;
  margin-top: 1.6rem;
  margin-bottom: 1rem;
}
/* En móvil el tema lo pone de borde a borde (left: 50% + margen negativo): solo filetes arriba y abajo */
@media (max-width: 767px) {
  #carousel {
    margin-top: .5rem;
    border-width: var(--tr-b) 0;
    border-radius: 0;
    box-shadow: none;
  }
  #carousel .carousel-inner { border-radius: 0; }
}
#carousel .carousel-inner { border-radius: 23px; height: auto; }
#carousel figure, #carousel .carousel-item { margin: 0; }
#carousel .carousel-item img { display: block; width: 100%; }
#carousel .carousel-control .icon-next .material-icons,
#carousel .carousel-control .icon-prev .material-icons { color: #fff; filter: drop-shadow(2px 2px 0 var(--tr-azul)); }
#carousel .carousel-indicators li { border-color: #fff; }
#carousel .carousel-indicators .active { background: var(--tr-amarillo); }

/* ---------- Fichas de producto en listados ---------- */

.products,
#js-product-list .products { row-gap: 1.6rem; }

.product-miniature .thumbnail-container {
  background: #fff;
  border: var(--tr-b) solid var(--tr-azul);
  border-radius: var(--tr-radio);
  box-shadow: var(--tr-sombra);
  overflow: hidden;
  transition: transform .22s var(--tr-rebote), box-shadow .22s var(--tr-rebote);
}
.product-miniature .thumbnail-container:hover,
.product-miniature .thumbnail-container:focus-within {
  transform: translate(-3px, -3px) rotate(-.6deg);
  box-shadow: 9px 10px 0 var(--tr-azul);
}
.product-miniature .thumbnail-container .product-thumbnail img { border-radius: 0; }
.product-miniature .thumbnail-top { background: #fff; }

/* La franja del nombre cambia de papel en cada ficha, como las hojas de la portada */
.product-miniature .product-description {
  background: var(--tr-amarillo);
  border-top: var(--tr-b) solid var(--tr-azul);
  padding: .85rem .9rem 1rem;
  text-align: center;
}
.products > .product:nth-child(4n+2) .product-description,
.products > .js-product:nth-child(4n+2) .product-description { background: var(--tr-rosa); }
.products > .product:nth-child(4n+3) .product-description,
.products > .js-product:nth-child(4n+3) .product-description { background: var(--tr-menta); }
.products > .product:nth-child(4n+4) .product-description,
.products > .js-product:nth-child(4n+4) .product-description { background: var(--tr-cielo); }

.product-miniature .product-title,
.product-miniature .product-title a {
  color: var(--tr-azul);
  font-family: var(--tr-texto);
  font-size: 1.05rem;
  font-weight: 800;
  text-transform: none;
  text-align: center;
}
.product-miniature .product-title a:hover { color: var(--tr-rojo-ui); }
.product-miniature .product-price-and-shipping,
.product-miniature .product-price-and-shipping .price {
  color: var(--tr-tinta);
  font-family: var(--tr-gorda);
  font-size: 1.25rem;
  font-weight: 400;
}
.product-miniature .regular-price { color: #6b7fa3; font-family: var(--tr-texto); }

/* Vista rápida */
.product-miniature .highlighted-informations {
  background: transparent;
  box-shadow: none;
}
.product-miniature .highlighted-informations .quick-view {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .3rem .85rem;
  background: #fff;
  border: 2px solid var(--tr-azul);
  border-radius: 99px;
  box-shadow: 3px 3px 0 var(--tr-azul);
  color: var(--tr-azul);
  font-weight: 800;
}
.product-miniature .highlighted-informations .quick-view:hover { background: var(--tr-azul); color: #fff; }

/* Etiquetas «Nuevo», «Fuera de stock», ofertas: escritas a mano sobre una chapa */
.product-flags { gap: .35rem; pointer-events: none; }
.product-flags li.product-flag,
#product .product-flags li.product-flag {
  min-width: 0;
  min-height: 0;
  margin: .55rem 0 0 .55rem;
  padding: .15rem .8rem .05rem;
  background: var(--tr-amarillo);
  border: 2px solid var(--tr-azul);
  border-radius: 99px;
  box-shadow: 2px 2px 0 var(--tr-azul);
  color: var(--tr-azul);
  font-family: var(--tr-mano);
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.3;
  text-transform: lowercase;
  transform: rotate(-4deg);
}
:is(#product, body) .product-flags li.product-flag:nth-child(even) { transform: rotate(3deg); }
:is(#product, body) .product-flags li.product-flag:is(.out_of_stock, .discount, .discount-percentage, .discount-amount, .on-sale) {
  background: var(--tr-rojo-ui);
  border-color: var(--tr-rojo-ui);
  box-shadow: 2px 2px 0 var(--tr-tinta);
  color: #fff;
}
:is(#product, body) .product-flags li.product-flag:is(.online-only, .pack) { background: var(--tr-menta); }

/* Corazón de favoritos */
.wishlist-button-add {
  background: #fff;
  border: 2px solid var(--tr-azul);
  box-shadow: 2px 2px 0 var(--tr-azul);
}
.wishlist-button-add i { color: var(--tr-azul); }
.wishlist-button-add:hover { background: var(--tr-rosa); }
.wishlist-button-add i.material-icons { color: var(--tr-rojo-ui); }

/* ---------- Bloques en tarjeta ---------- */

.card,
.page-content.card,
#content.page-content,
.block-category,
#js-product-list-header .block-category,
.block-categories,
#search_filters,
#search_filters_brands,
#search_filters_suppliers,
.tabs,
#product .tabs,
.cart-grid-body .card,
.cart-summary,
.cart-grid-right .card,
.checkout-step,
#authentication #content,
#registration #content,
.page-customer-account #content,
.contact-rich,
#product-comments-list-header + #product-comments-list,
.product-comment-list-item,
.modal-content {
  background: #fff;
  border: var(--tr-b) solid var(--tr-azul);
  border-radius: var(--tr-radio);
  box-shadow: var(--tr-sombra);
}
.card .card, .cart-summary .card, .checkout-step .card { border: 0; box-shadow: none; }
/* En la ficha, #content solo envuelve las fotos: sin tarjeta */
#product #content.page-content {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}
.card-block, .tabs, .block-categories, #search_filters { padding: 1.25rem 1.4rem; }
#content.page-content { padding: 1.5rem 1.6rem; }
.block-category { padding: 1.4rem 1.6rem; margin-bottom: 1.6rem; }
.block-category h1 { margin-bottom: .4rem; }
.block-category .block-category-inner #category-description,
.block-category #category-description p { color: var(--tr-tinta); }

.block-categories .category-top-menu a,
.block-categories .h6,
#search_filters .h6,
#search_filters .facet .facet-title,
.facet-label a { color: var(--tr-tinta); }
.block-categories .h6, #search_filters > .h6, #search_filters .facet .facet-title { font-weight: 800; text-transform: none; }
.block-categories .collapse-icons .material-icons, .block-categories .arrows .material-icons { color: var(--tr-azul); }
#search_filters .facet .facet-label.active .custom-checkbox span.color,
#search_filters .facet .facet-label:hover .custom-checkbox span.color { border-color: var(--tr-azul); }
.active_filters { background: var(--tr-cielo); border: 2px solid var(--tr-azul); border-radius: 16px; }
.active_filters .filter-block { background: #fff; border: 2px solid var(--tr-azul); border-radius: 99px; box-shadow: none; color: var(--tr-azul); }

/* Barra de orden y paginación */
.products-selection .total-products p,
.products-selection .sort-by { color: var(--tr-tinta); }
.products-sort-order .dropdown-menu,
.dropdown-menu {
  border: 2px solid var(--tr-azul);
  border-radius: 14px;
  box-shadow: var(--tr-sombra-s);
}
.products-sort-order .select-list:hover,
.dropdown-item:hover, .dropdown-item:focus { background: var(--tr-azul); color: #fff; }
.pagination .page-list { background: transparent; box-shadow: none; }
.pagination a { color: var(--tr-azul); font-weight: 800; }
.pagination .current a {
  display: inline-block;
  min-width: 2rem;
  background: var(--tr-azul);
  border-radius: 99px;
  color: #fff;
  text-align: center;
}

/* Pestañas */
.tabs .nav-tabs { border-bottom: 2px dashed var(--tr-azul); }
.tabs .nav-tabs .nav-link {
  border: 0;
  color: var(--tr-tinta);
  font-weight: 700;
}
.tabs .nav-tabs .nav-link.active,
.tabs .nav-tabs .nav-link:hover {
  border: 0;
  border-bottom: 4px solid var(--tr-rojo-ui);
  color: var(--tr-azul);
}

/* ---------- Página de producto ---------- */

#product #content { max-width: none; }
.product-cover,
.product-cover img,
.images-container .product-cover {
  border-radius: var(--tr-radio);
}
.images-container .product-cover {
  border: var(--tr-b) solid var(--tr-azul);
  box-shadow: var(--tr-sombra);
  overflow: hidden;
  background: #fff;
}
.product-cover .layer { background: rgba(12, 42, 94, .55); }
.product-images > li.thumb-container .thumb {
  border: 2px solid transparent;
  border-radius: 12px;
}
.product-images > li.thumb-container .thumb.selected,
.product-images > li.thumb-container .thumb:hover {
  border: 3px solid var(--tr-azul);
  box-shadow: 3px 3px 0 var(--tr-azul);
}
.scroll-box-arrows .material-icons { color: var(--tr-azul); }

#product .product-prices .current-price,
.product-prices .current-price-value,
.product-price {
  color: var(--tr-azul);
  font-family: var(--tr-gorda);
  font-weight: 400;
  font-size: 2rem;
}
.product-prices .tax-shipping-delivery-label,
.product-prices .product-unit-price { color: #4a6189; }
.product-discount .regular-price { color: #6b7fa3; }
.has-discount .discount, .has-discount.product-price .discount {
  background: var(--tr-rojo-ui);
  border-radius: 99px;
  color: #fff;
  font-family: var(--tr-texto);
  font-weight: 800;
  text-transform: none;
}

#product-description-short,
.product-description-short { font-size: 1.05rem; line-height: 1.55; }

.product-variants > .product-variants-item .control-label,
.product-add-to-cart .control-label,
.product-variants .control-label {
  color: var(--tr-azul);
  font-weight: 800;
}
.product-variants > .product-variants-item select { width: auto; min-width: 6rem; padding-right: 2rem; }
.product-variants > .product-variants-item ul li { margin-right: .5rem; }
.input-color + span.color,
.product-variants .color {
  width: 2rem;
  height: 2rem;
  border: 2px solid var(--tr-azul);
  border-radius: 50%;
  box-shadow: 2px 2px 0 var(--tr-azul);
}
.input-color:checked + span,
.input-color:hover + span,
.input-radio:checked + span,
.input-radio:hover + span {
  border: 3px solid var(--tr-rojo-ui);
}
.input-radio + span.radio-label {
  border: 2px solid var(--tr-azul);
  border-radius: 99px;
  box-shadow: 2px 2px 0 var(--tr-azul);
  color: var(--tr-azul);
  font-weight: 700;
}
.input-radio:checked + span.radio-label { background: var(--tr-azul); border-color: var(--tr-azul); color: #fff; }

.product-actions .add-to-cart { min-height: 3rem; }
.product-quantity .qty .input-group { border-radius: 14px; }
#product-availability { color: var(--tr-tinta); font-weight: 700; }
#product-availability .product-unavailable,
#product-availability .material-icons.product-unavailable { color: var(--tr-rojo-ui); }
#product-availability .product-available { color: #1b8a5a; }
.js-mailalert .btn { width: 100%; }

.social-sharing span { color: var(--tr-tinta); font-weight: 700; }

/* Bloques de confianza (reassurance) */
.blockreassurance_product:has(p, img),
#block-reassurance {
  background: var(--tr-menta);
  border: 2px solid var(--tr-azul);
  border-radius: 18px;
  padding: .6rem 1rem;
}
.blockreassurance_product p, .blockreassurance_product .block-title,
#block-reassurance li .block-reassurance-item span { color: var(--tr-tinta); }
#block-reassurance li { border-bottom: 2px dashed rgba(0, 88, 202, .35); }
#block-reassurance li:last-child { border-bottom: 0; }

/* Comentarios */
.product-comment-list-item { padding: 1rem 1.2rem; margin-bottom: 1rem; }
#product-comments-list-header .comments-nb { color: var(--tr-azul); font-weight: 800; }

/* ---------- Carrito y pedido ---------- */

.cart-grid-body .card-block h1 { font-size: 1.8rem; }
.cart-item { border-bottom: 2px dashed rgba(0, 88, 202, .3); }
.cart-summary-line .label, .cart-summary-line .value { color: var(--tr-tinta); }
.cart-summary-totals .cart-summary-line.cart-total { background: var(--tr-amarillo); border-radius: 0 0 18px 18px; }
.cart-summary-line.cart-total .label, .cart-summary-line.cart-total .value { font-weight: 800; color: var(--tr-azul); }
.checkout-step .step-title { color: var(--tr-azul); font-weight: 800; text-transform: none; }
.checkout-step.-current .step-title, .checkout-step .step-number { color: var(--tr-azul); }
.checkout-step .step-number { background: var(--tr-amarillo); border: 2px solid var(--tr-azul); border-radius: 50%; }
.checkout-step + .checkout-step { margin-top: 1rem; }
.done .material-icons.done, .checkout-step.-complete .material-icons.done { color: #1b8a5a; }
#checkout #header .header-nav, body#checkout #header .header-nav { border-bottom: 0; }
body#checkout section.checkout-step.-current .step-title { color: var(--tr-azul); }

/* Ventana de «producto añadido» y vista rápida */
.modal-content { overflow: hidden; }
.modal-header { border-bottom: 2px dashed rgba(0, 88, 202, .35); }
#blockcart-modal .modal-header { background: var(--tr-azul); border-bottom: 0; }
#blockcart-modal .modal-title, #blockcart-modal .modal-header .close { color: #fff; text-shadow: none; opacity: 1; }
#blockcart-modal .modal-body { background: #fff; }
#blockcart-modal .product-name { color: var(--tr-azul); font-weight: 800; }

/* ---------- Cuenta y acceso ---------- */

.page-customer-account #content .forgot-password a,
.no-account a { color: var(--tr-azul); font-weight: 800; }
.page-my-account #content .links a span.link-item {
  background: #fff;
  border: 2px solid var(--tr-azul);
  border-radius: 18px;
  box-shadow: var(--tr-sombra-s);
  color: var(--tr-azul);
  font-weight: 800;
  text-transform: none;
  transition: transform .18s var(--tr-rebote), box-shadow .18s var(--tr-rebote);
}
.page-my-account #content .links a:hover span.link-item { transform: translate(-2px, -2px); box-shadow: 5px 6px 0 var(--tr-azul); }
.page-my-account #content .links a i { color: var(--tr-rojo-ui); }

/* Botón «Mostrar» de la contraseña y «Seleccionar archivo» */
#wrapper .input-group .input-group-btn > .btn[data-action="show-password"],
button[data-action="show-password"],
.bootstrap-filestyle .btn,
.group-span-filestyle .btn-default {
  background: var(--tr-azul);
  border: 2px solid var(--tr-azul);
  color: #fff;
  box-shadow: none;
  font-weight: 800;
  text-transform: none;
}
.bootstrap-filestyle input.form-control { border-radius: 14px 0 0 14px; }
.group-span-filestyle .btn-default { border-radius: 0 14px 14px 0; }

/* ---------- Subcategorías: chapas en vez de cajas vacías ---------- */

#subcategories { border: 0; box-shadow: none; background: transparent; }
#subcategories .subcategory-heading { color: var(--tr-azul); font-family: var(--tr-gorda); font-weight: 400; }
#subcategories ul { display: flex; flex-wrap: wrap; gap: .7rem; margin: 0; }
#subcategories ul li { width: auto; margin: 0; padding: 0; float: none; }
#subcategories ul li .subcategory-image:not(:has(img)) { display: none; }
#subcategories ul li .subcategory-image a { border: 3px solid var(--tr-azul); border-radius: 18px; box-shadow: var(--tr-sombra-s); padding: 0; overflow: hidden; }
#subcategories ul li h5 { margin: 0; }
#subcategories ul li .subcategory-name {
  display: inline-block;
  padding: .45rem 1rem;
  background: #fff;
  border: 2px solid var(--tr-azul);
  border-radius: 99px;
  box-shadow: 3px 3px 0 var(--tr-azul);
  color: var(--tr-azul);
  font-size: .95rem;
  font-weight: 800;
  text-transform: none;
  white-space: nowrap;
  transition: transform .18s var(--tr-rebote), box-shadow .18s var(--tr-rebote), background-color .15s;
}
#subcategories ul li:hover .subcategory-name,
#subcategories ul li .subcategory-name:hover { background: var(--tr-azul); color: #fff; transform: translate(-1px, -1px); box-shadow: 4px 4px 0 var(--tr-tinta); }
#subcategories ul li .cat_desc { display: none; }

/* ---------- Contacto ---------- */

.contact-rich { padding: 1.1rem 1.2rem; }
.contact-rich h4 {
  color: var(--tr-azul);
  font-family: var(--tr-gorda);
  font-weight: 400;
  font-size: 1.3rem;
  text-transform: none;
}
.contact-rich .block .icon .material-icons { color: var(--tr-azul); }
.contact-rich .block .data, .contact-rich .block .data a { color: var(--tr-tinta); overflow-wrap: anywhere; }
.contact-rich .block .data.email { padding-top: .2rem; }
.contact-rich hr { border-top: 2px dashed rgba(0, 88, 202, .3); }
.contact-form { color: var(--tr-tinta); }
/* el input de archivo del tema se salía de la pantalla en móvil */
.contact-form input.filestyle { max-width: 100%; }
.contact-form h3 {
  color: var(--tr-azul);
  font-family: var(--tr-gorda);
  font-weight: 400;
  font-size: 1.6rem;
  text-transform: none;
}

/* ---------- Avisos ---------- */

.alert { border-radius: 16px; border-width: 2px; }
.alert-info { background: var(--tr-cielo); border-color: var(--tr-azul); color: var(--tr-tinta); }
.alert-warning { background: #fff1c4; border-color: #b8860b; color: var(--tr-tinta); }
.alert-danger { background: var(--tr-rosa); border-color: var(--tr-rojo-ui); color: var(--tr-tinta); }
.alert-success { background: var(--tr-menta); border-color: #1b8a5a; color: var(--tr-tinta); }

/* ---------- Pie ---------- */

/* Boletín: una nota amarilla clavada antes del pie */
#footer {
  background: var(--tr-crema);
  padding-top: 2.5rem;
}
#footer > .container:first-child .row { align-items: stretch; }
.block_newsletter {
  background: var(--tr-amarillo);
  border: var(--tr-b) solid var(--tr-azul);
  border-radius: 26px;
  box-shadow: var(--tr-sombra);
  padding: 1.6rem 1.8rem;
  margin-bottom: 3rem;
  transform: rotate(-.6deg);
}
.block_newsletter #block-newsletter-label,
.block_newsletter p#block-newsletter-label,
.block_newsletter .h3 {
  color: var(--tr-azul);
  font-family: var(--tr-gorda);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 400;
  line-height: 1.1;
}
.block_newsletter form input[type=email],
.block_newsletter form input[type=text] {
  background: #fff;
  border: 2px solid var(--tr-azul);
  border-radius: 14px;
  padding: .75rem 1rem;
  height: auto;
}
.block_newsletter form input[type=submit],
.block_newsletter form button[type=submit] {
  margin-left: .5rem;
  height: auto;
}
.block_newsletter p,
.block_newsletter .col-xs-12 p { color: var(--tr-tinta); font-size: .85rem; }
.block-social ul li {
  background-color: var(--tr-azul);
  border-radius: 50%;
  box-shadow: 3px 3px 0 var(--tr-tinta);
}
.block-social ul li:hover { background-color: var(--tr-rojo-ui); }

.footer-container {
  position: relative;
  margin-top: 0;
  padding-top: 2.6rem;
  background: var(--tr-azul);
  box-shadow: none;
  overflow: visible;
}
/* dientes de papel en el borde superior del pie */
.footer-container::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -12px;
  height: 12px;
  background:
    linear-gradient(-45deg, var(--tr-azul) 8px, transparent 0) 0 0 / 16px 12px repeat-x,
    linear-gradient(45deg, var(--tr-azul) 8px, transparent 0) 0 0 / 16px 12px repeat-x;
}
.footer-container,
.footer-container li,
.footer-container p,
.footer-container .block-contact,
.footer-container #block-contact_list,
.footer-container .text-sm-center,
.footer-container a,
.footer-container li a,
.footer-container #footer_store_info,
.footer-container .block-contact .block-contact-title,
.footer-container .block-contact a {
  color: var(--tr-crema);
}
.footer-container li a:hover,
.footer-container a:hover { color: var(--tr-amarillo); }
.footer-container .h3,
.footer-container .h4,
.footer-container .block-contact-title,
.footer-container .links .h3,
.footer-container p.h3,
.footer-container .title .h3,
#footer .footer-container .myaccount-title,
#footer .footer-container .myaccount-title a {
  text-transform: none !important;
  letter-spacing: 0;
  color: var(--tr-amarillo);
  font-family: var(--tr-gorda);
  font-size: 1.25rem;
  font-weight: 400;
  text-transform: none;
}
.footer-container .links .collapse,
.footer-container .links ul { background: transparent; }
.footer-container .links .title { border-bottom-color: rgba(255, 247, 234, .3); }
.footer-container .links .navbar-toggler .material-icons,
.footer-container .material-icons { color: var(--tr-crema); }
.footer-container .row:last-child .text-sm-center,
.footer-container .row:last-child a { color: var(--tr-crema); opacity: .85; font-size: .85rem; }
@media (max-width: 767px) {
  .footer-container .wrapper { padding: 0 1rem; }
  .footer-container .links ul > li { border-bottom: 1px dashed rgba(255, 247, 234, .25); }
  .footer-container .links ul > li a { color: var(--tr-crema); }
  .footer-container .links .title { padding: .7rem 1rem; }
  .footer-container .links ul > li { padding-left: 1rem; }
  .footer-container .block-contact { padding: 1rem; }
  .block_newsletter { padding: 1.2rem 1.1rem; margin: 0 .25rem 2.5rem; transform: none; }
  .block_newsletter form input[type=submit], .block_newsletter form button[type=submit] { padding: .75rem 1rem; }
}

/* ---------- Movimiento reducido ---------- */

@media (prefers-reduced-motion: reduce) {
  .btn, .all-product-link, .product-miniature .thumbnail-container,
  #_desktop_top_menu .top-menu a, .page-my-account #content .links a span.link-item {
    transition: none;
  }
  .product-miniature .thumbnail-container:hover,
  .product-miniature .thumbnail-container:focus-within { transform: none; }
}
