/* ============================================================
   TopCelular Staging — Custom Woodmart-inspired CSS v3
   Tema: Hummingbird (PS 9.1.4)
   Refinado con detalles precisos de Woodmart Electronics 3
   ============================================================ */

/* Fuente Albert Sans cargada vía <link> en head.tpl (preconnect) para no bloquear el render */

/* ---- CSS VARIABLES ---- */
:root {
  --bs-primary: #4933D1;
  --bs-primary-rgb: 73, 51, 209;
  --bs-link-color: #333333;
  --bs-link-color-rgb: 51, 51, 51;
  --bs-link-hover-color: #4933D1;
  --bs-body-font-family: 'Albert Sans', system-ui, -apple-system, sans-serif;
  --bs-body-color: #767676;
  --bs-heading-color: #242424;
  --bs-border-radius: .75rem;
  --bs-border-radius-sm: .5rem;
  --bs-border-radius-lg: 1rem;
  --bs-border-radius-xl: 1.25rem;
  --bs-btn-border-radius: 2.25rem;
  --bs-btn-border-radius-sm: 1.5rem;
  --bs-btn-border-radius-lg: 2.5rem;
  --bs-btn-padding-x: 1.25rem;
  --bs-btn-padding-y: .5rem;
}

/* ---- TYPOGRAPHY ---- */
body {
  font-family: 'Albert Sans', system-ui, -apple-system, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  color: #767676;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
h1.product__name {
  font-family: 'Albert Sans', system-ui, -apple-system, sans-serif;
  font-weight: 700;
  color: #242424;
}

/* ---- HEADER ---- */
.header {
  background-color: #fff !important;
  box-shadow: 0 1px 8px rgba(0,0,0,.06);
}

.header-top {
  background-color: #f7f7f7;
  font-size: .6875rem;
  line-height: 1.3;
  border-bottom: 1px solid rgba(0,0,0,.05);
  padding: .125rem 0 !important;
}

.header-top a:not(.dropdown-item) {
  color: #767676;
  font-weight: 500;
}

.header-top a:not(.dropdown-item):hover {
  color: #4933D1;
}

.header-bottom {
  border-bottom: none !important;
  padding: .375rem 0 !important;
}

.header-bottom__row {
  align-items: center !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
}

.header-bottom .header-bottom__row.row {
  align-items: center !important;
}

.header-bottom .navbar-brand .logo {
  max-height: 2rem;
  max-width: 10rem;
}

/* Fix cart positioning - should be auto width on the right */
#_desktop_ps_shoppingcart {
  display: flex !important;
  width: auto !important;
  margin-left: auto !important;
  order: 3 !important;
}

#_desktop_ps_shoppingcart .ps-shoppingcart {
  display: flex !important;
  width: auto !important;
  align-items: center;
}

/* Fix search bar positioning */
#_desktop_ps_searchbar {
  order: 2 !important;
  margin-left: auto !important;
  margin-right: 1rem !important;
}

#_desktop_ps_searchbar .ps-searchbar {
  min-width: 16rem !important;
  margin-block: 0 !important;
}

/* Mobile header adjustments */
@media (max-width: 767.98px) {
  #header {
    position: relative;
  }

  /* Collapse nav bar row */
  /* Se mantiene a 0 para que el botón de menú quede en la fila del logo. */
  .header-nav-full-width {
    height: 0 !important;
    overflow: visible !important;
    border-bottom: none !important;
    padding: 0 !important;
  }

  /* El bloque de garantías vive dentro de esta fila colapsada: al no caber, se
     desbordaba y se pintaba encima del titular del hero. En móvil se oculta,
     porque su contenido ya aparece en el hero y en la barra azul de confianza. */
  .header-nav-full-width .blockreassurance {
    display: none !important;
  }

  .ps-mainmenu:is(.ps-mainmenu--desktop) {
    position: static !important;
    width: auto !important;
    order: 0 !important;
  }

  /* Hamburger aligned with logo/cart row */
  .ps-mainmenu__mobile-toggle {
    position: absolute;
    left: .5rem;
    top: .5rem;
    z-index: 10;
  }

  .ps-mainmenu__mobile-toggle .menu-toggle {
    padding: .25rem;
    border-radius: .375rem;
    background: transparent;
    border: none;
    color: #333;
  }

  .ps-mainmenu__mobile-toggle .menu-toggle .material-icons {
    font-size: 1.5rem;
  }

  /* Push logo right for hamburger space */
  .header-bottom .header-bottom__logo {
    padding-left: 2.5rem !important;
  }

  .header-bottom {
    padding: .5rem 0 !important;
  }

  .ps-searchbar__input {
    font-size: .8125rem;
  }
}

/* ---- NAVIGATION ---- */
/* Nav wrapper bar */
.header-nav-full-width {
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.06);
  padding: 0 !important;
  line-height: 1;
}

/* Mobile toggle button */
.ps-mainmenu__mobile-toggle .menu-toggle {
  color: #333;
  padding: .5rem;
  border-radius: .5rem;
  transition: all .15s ease;
}

.ps-mainmenu__mobile-toggle .menu-toggle:hover {
  color: #4933D1;
  background: rgba(73,51,209,.06);
}

.ps-mainmenu__mobile-toggle .menu-toggle .material-icons {
  font-size: 1.5rem;
}

/* Mobile offcanvas menu */
.ps-mainmenu--mobile .offcanvas-header {
  border-bottom: 1px solid rgba(0,0,0,.06);
  padding: 1rem 1.25rem;
}

.ps-mainmenu--mobile .menu__title {
  font-size: 1.125rem;
  font-weight: 700;
  color: #242424;
  margin-bottom: .75rem;
}

.ps-mainmenu--mobile .menu a {
  color: #333;
  font-weight: 500;
  font-size: .9375rem;
  transition: color .15s ease;
}

.ps-mainmenu--mobile .menu a:hover {
  color: #4933D1;
}

/* Desktop */
.ps-mainmenu:is(.ps-mainmenu--desktop) {
  padding: 0;
}

.ps-mainmenu:is(.ps-mainmenu--desktop) .ps-mainmenu__tree {
  gap: 0;
}

.ps-mainmenu:is(.ps-mainmenu--desktop) .ps-mainmenu__tree > li {
  align-items: stretch;
}

.ps-mainmenu:is(.ps-mainmenu--desktop) .ps-mainmenu__tree > li .ps-mainmenu__tree-link {
  font-weight: 600;
  font-size: .8125rem;
  text-transform: uppercase;
  letter-spacing: .3px;
  padding: .875rem 1.125rem;
  color: #333;
  position: relative;
  transition: color .2s ease;
  display: flex;
  align-items: center;
}

.ps-mainmenu:is(.ps-mainmenu--desktop) .ps-mainmenu__tree > li .ps-mainmenu__tree-link:hover {
  color: #4933D1;
}

.ps-mainmenu:is(.ps-mainmenu--desktop) .ps-mainmenu__tree > li.current .ps-mainmenu__tree-link {
  color: #4933D1;
}

/* Active nav underline */
.ps-mainmenu:is(.ps-mainmenu--desktop) .ps-mainmenu__tree > li.current .ps-mainmenu__tree-link:after {
  content: '';
  position: absolute;
  bottom: .5rem;
  left: 1.125rem;
  right: 1.125rem;
  height: 2px;
  background: #4933D1;
  border-radius: 2px;
}

/* Dropdown toggle button */
.ps-mainmenu:is(.ps-mainmenu--desktop) .ps-mainmenu__tree > li .ps-mainmenu__tree-dropdown-toggle {
  padding: 0 .5rem;
  color: #333;
  transition: color .2s ease;
  align-items: center;
}

.ps-mainmenu:is(.ps-mainmenu--desktop) .ps-mainmenu__tree > li .ps-mainmenu__tree-dropdown-toggle:hover {
  color: #4933D1;
}

.ps-mainmenu:is(.ps-mainmenu--desktop) .ps-mainmenu__tree > li .ps-mainmenu__tree-dropdown-toggle:after {
  font-size: .625rem;
  vertical-align: middle;
}

/* Submenu */
.ps-mainmenu:is(.ps-mainmenu--desktop) .submenu {
  border-top: 3px solid #4933D1;
  border-radius: 0 0 1rem 1rem;
  box-shadow: 0 20px 40px rgba(0,0,0,.12);
  background: #fff;
}

.ps-mainmenu:is(.ps-mainmenu--desktop) .submenu__left {
  border-right: 1px solid rgba(0,0,0,.06);
  padding-block: 1.25rem;
  gap: .125rem;
}

.ps-mainmenu:is(.ps-mainmenu--desktop) .submenu__left-item {
  font-weight: 500;
  font-size: .875rem;
  border-radius: .5rem;
  padding: .625rem 1rem;
  transition: all .15s ease;
}

.ps-mainmenu:is(.ps-mainmenu--desktop) .submenu__left-item:hover {
  background-color: rgba(73,51,209,.06);
  color: #4933D1;
}

.ps-mainmenu:is(.ps-mainmenu--desktop) .submenu__left-item.active {
  background-color: rgba(73,51,209,.08);
  color: #4933D1;
  font-weight: 600;
}

.ps-mainmenu:is(.ps-mainmenu--desktop) .submenu__right {
  padding-block: 1.25rem;
}

.ps-mainmenu:is(.ps-mainmenu--desktop) .submenu__right-items .menu-item__group--child .menu-item__group-main-item,
.ps-mainmenu:is(.ps-mainmenu--desktop) .submenu__right-items .menu-item__group--nochild .menu-item__group-main-item {
  font-size: .9375rem;
  font-weight: 700;
  color: #242424;
  margin-bottom: .75rem;
}

/* ---- SEARCH BAR (pill shape Woodmart) ---- */
.ps-searchbar__input,
.ps-searchbar .form-control {
  border-radius: 2.25rem !important;
  padding: .625rem 1rem .625rem 2.75rem !important;
  border: 2px solid rgba(0,0,0,.07) !important;
  background: #f7f7f7 !important;
  font-size: .875rem;
  height: auto;
  min-height: 42px;
  transition: all .25s ease;
}

.ps-searchbar__input:focus,
.ps-searchbar .form-control:focus {
  border-color: #4933D1 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(73,51,209,.1) !important;
}

.ps-searchbar__magnifier {
  left: 1rem;
  color: #aaa;
}

.ps-searchbar__clear {
  right: .75rem;
}

.ps-searchbar__dropdown {
  border-radius: 1rem;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 15px 40px rgba(0,0,0,.12);
}

.ps-searchbar__result-image {
  border-radius: .5rem;
}

/* ---- BUTTONS ---- */
.btn {
  font-weight: 600;
  letter-spacing: .2px;
  transition: all .25s ease;
}

.btn-primary {
  background-color: #4933D1 !important;
  border-color: #4933D1 !important;
  color: #fff !important;
  border-radius: 2.25rem !important;
  font-weight: 600;
}

.btn-primary:hover {
  background-color: #3e2db8 !important;
  border-color: #3e2db8 !important;
}

.btn-outline-primary {
  color: #4933D1 !important;
  border-color: #4933D1 !important;
  border-radius: 2.25rem !important;
}

.btn-outline-primary:hover {
  background-color: #4933D1 !important;
  border-color: #4933D1 !important;
  color: #fff !important;
}

.btn-secondary {
  background-color: #f7f7f7;
  border-color: #f7f7f7;
  color: #333;
}

.btn-secondary:hover {
  background-color: #efefef;
  border-color: #efefef;
}

.btn-tertiary {
  border-radius: 2.25rem;
}

/* ---- ADD TO CART BUTTON (Woodmart exact) ---- */
.product__add-to-cart-button,
.page-product .btn-primary.add-to-cart,
.product__add-to-cart .btn-primary {
  border-radius: 2.25rem !important;
  font-weight: 600 !important;
  font-size: .8125rem !important;
  letter-spacing: .3px;
  padding: .3125rem 1.25rem !important;
  height: 42px;
  background-color: #4933D1 !important;
  border-color: #4933D1 !important;
  color: #fff !important;
  text-transform: none !important;
}

.product__add-to-cart-button:hover,
.page-product .btn-primary.add-to-cart:hover {
  background-color: #3e2db8 !important;
  border-color: #3e2db8 !important;
}

/* ---- QUANTITY SELECTOR ---- */
.quantity-button button {
  border-radius: .5rem !important;
  border-color: rgba(0,0,0,.1) !important;
  width: 38px;
  height: 38px;
}

.quantity-button input {
  border-radius: .5rem !important;
  border-color: rgba(0,0,0,.1) !important;
  width: 50px !important;
  max-width: 50px !important;
  height: 38px;
  text-align: center;
  font-weight: 600;
}

/* ---- PRODUCT CARDS (Hummingbird BEM) ---- */
.product-miniature {
  background: #fff;
  border-radius: .75rem;
  overflow: hidden;
  transition: all .3s ease;
  position: relative;
}

.product-miniature:hover {
  box-shadow: 0 8px 30px rgba(0,0,0,.08);
  transform: translateY(-4px);
}

.product-miniature__inner {
  padding: .75rem;
}

.product-miniature__image-container {
  border-radius: .5rem;
  overflow: hidden;
  background: #f7f7f7;
  margin-bottom: .75rem;
}

.product-miniature__image {
  transition: transform .4s ease;
}

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

/* Product title */
.product-miniature__title {
  font-size: .9375rem !important;
  font-weight: 600 !important;
  color: #333 !important;
  line-height: 1.4;
  text-decoration: none;
  display: block;
  margin-bottom: .375rem;
  transition: color .2s ease;
}

.product-miniature__title:hover {
  color: #4933D1 !important;
}

/* Price */
.product-miniature__price {
  font-size: 1.125rem;
  font-weight: 700;
  color: #4933D1;
}

.product-miniature__discount-price {
  color: #4933D1;
  font-size: 1.125rem;
  font-weight: 700;
}

.product-miniature .regular-price {
  font-size: .875rem;
  font-weight: 400;
  color: #aaa;
  text-decoration: line-through;
}

/* Action buttons */
.product-miniature__details {
  border-radius: 2.25rem !important;
  font-weight: 600;
  font-size: .8125rem;
  padding: .375rem 1.25rem !important;
  color: #333 !important;
  border-color: rgba(0,0,0,.12) !important;
  text-transform: capitalize;
}

.product-miniature__details:hover {
  background-color: #4933D1 !important;
  border-color: #4933D1 !important;
  color: #fff !important;
}

/* Quick view button */
.product-miniature__quickview-button {
  border-radius: 2.25rem !important;
  font-weight: 500;
  font-size: .75rem;
  transition: all .25s ease;
  opacity: .85;
}

.product-miniature:hover .product-miniature__quickview-button {
  opacity: 1;
}

.product-miniature__quickview-button:hover {
  background-color: #4933D1 !important;
  color: #fff !important;
  border-color: #4933D1 !important;
}

/* Product flags */
.product-flags .badge {
  border-radius: 2.25rem;
  font-size: .6875rem;
  font-weight: 700;
  padding: .1875rem .6875rem;
  text-transform: uppercase;
  letter-spacing: .5px;
}

.product-flags .new {
  background: #fbbc34 !important;
  color: #242424 !important;
}

.product-flags .discount,
.product-flags .on-sale {
  background: #4933D1 !important;
  color: #fff !important;
}

.product-flags .out_of_stock {
  background: rgba(0,0,0,.06) !important;
  color: #999 !important;
}

/* ---- SLIDER ---- */
.ps-imageslider__figure {
  border-radius: 1rem;
  overflow: hidden;
}

.ps-imageslider__figcaption {
  backdrop-filter: blur(15px);
  background: rgba(0,0,0,.45);
  border-radius: 1rem;
  padding: 1.75rem 2.25rem;
  max-width: 500px;
  text-align: left;
}

.ps-imageslider__figcaption h2,
.ps-imageslider__figcaption .h1,
.ps-imageslider__figcaption .h2 {
  font-size: 2.25rem !important;
  font-weight: 700;
  line-height: 1.2;
  color: #fff !important;
  margin-bottom: .5rem;
}

.ps-imageslider__figcaption p {
  font-size: .9375rem;
  color: rgba(255,255,255,.85);
  line-height: 1.5;
  margin-bottom: 0;
}

/* Slider nav dots */
.ps-imageslider .carousel-indicators button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 2px solid #fff;
  background: transparent;
  opacity: .7;
  transition: all .2s ease;
}

.ps-imageslider .carousel-indicators button.active {
  background: #4933D1;
  border-color: #4933D1;
  opacity: 1;
}

/* Single-slide slider: hide prev/next arrows and indicators */
.ps-imageslider .carousel-control-prev,
.ps-imageslider .carousel-control-next,
.ps-imageslider .carousel-indicators {
  display: none !important;
}

/* ---- SECTION HEADINGS ---- */
.featured-products h2,
.products-section-title,
.page-header h1,
h2.products-section-title {
  font-size: 1.375rem !important;
  font-weight: 700 !important;
  color: #242424 !important;
  margin-bottom: 1.5rem !important;
  position: relative;
  padding-bottom: .75rem;
  text-transform: uppercase;
  letter-spacing: .3px;
}

.featured-products h2:after,
.products-section-title:after,
h2.products-section-title:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 45px;
  height: 3px;
  background: #4933D1;
  border-radius: 3px;
}

/* ---- PRODUCT PAGE ---- */
.page-product .product__name {
  font-size: 1.5rem;
  font-weight: 700;
  color: #242424;
  line-height: 1.3;
}

@media (min-width: 768px) {
  .page-product .product__name {
    font-size: 1.75rem;
  }
}

.page-product .product__price {
  font-size: 1.5rem;
  font-weight: 700;
  color: #4933D1;
}

@media (min-width: 768px) {
  .page-product .product__price {
    font-size: 1.75rem;
  }
}

.page-product .product__regular-price {
  font-size: 1rem;
  color: #aaa;
}

.page-product .product__discount-percentage,
.page-product .product__discount-amount {
  background: #4933D1;
  color: #fff;
  border-radius: 2.25rem;
  padding: .25rem .75rem;
  font-size: .8125rem;
  font-weight: 700;
}

.page-product .product__carousel {
  border-radius: .75rem;
  overflow: hidden;
}

.page-product .product__thumbnail-image {
  border-radius: .5rem;
}

/* Product availability */
.page-product .product__availability-status .material-icons {
  color: #459647;
}

/* Product variant selector */
.product-variant__radio label {
  border-radius: 2.25rem !important;
  font-weight: 500;
  transition: all .2s ease;
}

.product-variant__radio input:checked + label {
  background: #4933D1 !important;
  color: #fff !important;
  border-color: #4933D1 !important;
}

/* Product tabs */
.nav-tabs {
  border-bottom: 2px solid rgba(0,0,0,.06);
  gap: .25rem;
}

.nav-tabs .nav-link {
  border-radius: 2.25rem;
  font-weight: 600;
  color: #767676;
  padding: .5rem 1.25rem;
  border: none;
  position: relative;
}

.nav-tabs .nav-link:hover {
  color: #4933D1;
  background: rgba(73,51,209,.05);
}

.nav-tabs .nav-link.active {
  color: #fff !important;
  background: #4933D1 !important;
}

/* ---- CATEGORY PAGE ---- */
.page-category .category__cover-image {
  border-radius: 1rem;
}

.products__sort-dropdown-button {
  border-radius: 2.25rem !important;
  font-weight: 500;
}

.products__filter-button {
  border-radius: 2.25rem !important;
}

/* ---- PAGINATION ---- */
.pagination .page-link {
  border-radius: 50% !important;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 .125rem;
  border: none !important;
  font-weight: 600;
  color: #333;
  padding: 0;
}

.pagination .page-link:hover {
  background: rgba(73,51,209,.08);
  color: #4933D1;
}

.pagination .active .page-link,
.pagination .active > .page-link {
  background: #4933D1 !important;
  color: #fff !important;
}

/* ---- FILTERS ---- */
.search-filters__dropdown-toggle {
  border-radius: 2.25rem !important;
  font-weight: 500;
}

.noUi-connect {
  background: #4933D1 !important;
}

.noUi-handle {
  border-color: #4933D1 !important;
}

.active-filters__list .btn {
  border-radius: 2.25rem;
  font-size: .75rem;
}

/* ---- FOOTER ---- */
.footer__main {
  background: #1a1a1a !important;
  color: #aaa !important;
  padding-block: 3rem 2rem !important;
  border-top: 4px solid #4933D1;
  margin-top: 2rem;
}

.footer-block__title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin-bottom: 1.25rem !important;
  text-transform: uppercase;
  letter-spacing: .5px;
  position: relative;
}

.footer-block__title:after {
  content: '';
  display: block;
  width: 30px;
  height: 2px;
  background: #4933D1;
  margin-top: .5rem;
  border-radius: 2px;
}

.footer-block a {
  color: #aaa !important;
  font-size: .875rem;
  transition: all .2s ease;
  padding-block: .3125rem;
  text-decoration: none;
}

.footer-block a:hover {
  color: #fbbc34 !important;
  padding-left: .375rem;
}

.footer-block__content p {
  color: #aaa;
  font-size: .875rem;
  line-height: 1.6;
}

/* ---- FORMS ---- */
.form-control,
.form-select {
  border-radius: .75rem !important;
  border: 1px solid rgba(0,0,0,.1) !important;
  padding: .5625rem 1rem;
  transition: all .25s ease;
  font-size: .9375rem;
}

.form-control:focus,
.form-select:focus {
  border-color: #4933D1 !important;
  box-shadow: 0 0 0 3px rgba(73,51,209,.1) !important;
}

.form-label {
  font-weight: 600;
  color: #242424;
  margin-bottom: .375rem;
}

/* ---- LOGIN / REGISTER ---- */
.login-form,
.register-form {
  background: #fff;
  border-radius: 1rem;
  padding: 2rem;
  box-shadow: 0 2px 20px rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.05);
}

/* ---- BLOCK REASSURANCE (trust strip, global below header) ---- */
.blockreassurance--light {
  background: #fff;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.blockreassurance--horizontal {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .5rem 2.5rem;
  padding: .5rem 1rem !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.blockreassurance .reassurance {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: #333;
  text-decoration: none;
  font-size: .8125rem;
  font-weight: 600;
  padding: 0;
  background: transparent;
  border: none;
  transition: color .15s ease;
}

.blockreassurance .reassurance--link:hover {
  color: #4933D1;
}

.blockreassurance .reassurance__image {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.blockreassurance .reassurance__image img {
  display: none !important;
}

.blockreassurance .reassurance__image::before {
  font-family: 'Material Icons';
  font-size: 1.25rem;
  color: #4933D1;
  line-height: 1;
}

/* Entrega gratis */
.blockreassurance .reassurance--link[href*="politica-de-envios"] .reassurance__image::before {
  content: 'local_shipping';
}

/* Devolución */
.blockreassurance .reassurance--link[href*="devoluciones"] .reassurance__image::before {
  content: 'assignment_return';
}

/* Pago seguro */
.blockreassurance .reassurance--link[href*="metodos-de-pago"] .reassurance__image::before {
  content: 'lock';
}

/* Garantía (sin enlace) */
.blockreassurance .reassurance:not(.reassurance--link) .reassurance__image::before {
  content: 'verified';
}

.blockreassurance .reassurance__content {
  display: inline-flex;
  flex-direction: column;
  gap: .125rem;
}

.blockreassurance .reassurance__title {
  font-weight: 600;
  color: #242424;
  font-size: .8125rem;
  line-height: 1.2;
}

.blockreassurance .reassurance--link:hover .reassurance__title {
  color: #4933D1;
}

.blockreassurance .reassurance__desc {
  font-size: .71875rem;
  color: #767676;
  line-height: 1.2;
}

/* Product-page reassurance (after add-to-cart) */
.blockreassurance--product {
  display: flex !important;
  flex-wrap: wrap;
  gap: 1rem 1.75rem;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(0,0,0,.08);
}

/* Keep the global header strip to 3 items; "Pago seguro" shows only on product page */
.blockreassurance--horizontal .reassurance--link[href*="metodos-de-pago"] {
  display: none;
}

/* ---- PRODUCT CONDITION BADGE ---- */
.product__condition {
  display: inline-block;
  font-size: .71875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  padding: .25rem .75rem;
  border-radius: 2.25rem;
  margin-bottom: .625rem;
}

.product__condition--new {
  background: #4933D1;
  color: #fff;
}

.product__condition--refurbished {
  background: #fbbc34;
  color: #242424;
}

.product__condition--used {
  background: rgba(0,0,0,.07);
  color: #666;
}

/* Big add-to-cart button */
.page-product .product__add-to-cart-button,
.page-product .btn-primary.add-to-cart,
.page-product .product__add-to-cart .btn-primary {
  width: 100%;
  height: 52px;
  font-size: 1rem;
  font-weight: 700;
}

/* Tabs full width now that reassurance moved into product info */
.product__bottom-left {
  flex: 1 1 100%;
  max-width: 100%;
  width: 100%;
}

/* ---- PROMO BANNER (Home: últimos modelos + Klarna) ---- */
.topcelular-promo {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.topcelular-promo__banner {
  flex: 1 1 60%;
  min-width: 260px;
  display: flex;
  align-items: center;
  gap: 1rem;
  background: linear-gradient(120deg, #0a84ff 0%, #0060df 100%);
  border: none;
  border-radius: .75rem;
  padding: 1rem 1.25rem;
  text-decoration: none;
  transition: filter .2s ease, transform .2s ease;
}

.topcelular-promo__banner:hover {
  filter: brightness(1.05);
  transform: translateY(-1px);
}

.topcelular-promo__icon {
  font-size: 2rem;
  color: #fff;
}

.topcelular-promo__copy {
  display: flex;
  flex-direction: column;
  gap: .125rem;
}

.topcelular-promo__title {
  font-size: 1.25rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
}

.topcelular-promo__sub {
  font-size: .8125rem;
  color: rgba(255,255,255,.88);
}

.topcelular-promo__cta {
  margin-left: auto;
  background: #fff;
  color: #0060df;
  font-weight: 700;
  font-size: .8125rem;
  padding: .5rem 1rem;
  border-radius: 2.25rem;
  white-space: nowrap;
}

.topcelular-promo__klarna {
  flex: 1 1 30%;
  min-width: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .375rem;
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: .75rem;
  padding: 1rem 1.25rem;
  font-size: .9375rem;
  color: #333;
}

.topcelular-promo__klarna-brand {
  font-size: 1.125rem;
  font-weight: 800;
  color: #171717;
  border-bottom: 3px solid #ffb3c7;
  line-height: 1.1;
}

/* ---- CART SIDEBAR ---- */
.cart-grid__aside-wrapper,
.checkout-grid__aside-wrapper {
  background: #f7f7f7;
  border-radius: 1rem;
  padding: 1.5rem;
  border: 1px solid rgba(0,0,0,.04);
}

/* ---- BACK TO TOP ---- */
#back-to-top {
  scroll-margin-top: 0;
}
.back-to-top-link {
  position: fixed !important;
  bottom: 1.5rem !important;
  right: 1.5rem !important;
  top: auto !important;
  left: auto !important;
  z-index: 1050 !important;
  width: 2.75rem !important;
  height: 2.75rem !important;
  min-width: auto !important;
  min-height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #4933D1 !important;
  color: #fff !important;
  border-radius: 50% !important;
  font-size: 0 !important;
  line-height: 1 !important;
  box-shadow: 0 4px 12px rgba(73,51,209,.3) !important;
  transition: all .25s ease !important;
  border: none !important;
  text-decoration: none !important;
  opacity: .85;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
}

.back-to-top-link::after {
  content: 'arrow_upward';
  font-family: 'Material Icons';
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
  color: inherit;
}

.back-to-top-link:hover {
  background: #fbbc34 !important;
  color: #242424 !important;
  opacity: 1;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(251,188,52,.35) !important;
}

/* ---- MODALS ---- */
.modal-content {
  border-radius: 1rem !important;
  border: none !important;
  box-shadow: 0 20px 50px rgba(0,0,0,.1);
}

.modal-header {
  border-bottom: 1px solid rgba(0,0,0,.05);
  padding: 1.25rem 1.5rem;
}

.modal-footer {
  border-top: 1px solid rgba(0,0,0,.05);
}

/* ---- ALERTS ---- */
.alert {
  border-radius: .75rem;
  border: none;
  font-weight: 500;
}

.alert-success {
  background: rgba(69,150,71,.1);
  color: #459647;
}

.alert-danger {
  background: rgba(220,53,69,.1);
  color: #dc3545;
}

.alert-warning {
  background: rgba(251,188,52,.15);
  color: #b8860b;
}

.alert-info {
  background: rgba(73,51,209,.1);
  color: #4933D1;
}

/* ---- BREADCRUMBS ---- */
.breadcrumb {
  padding: .75rem 0;
  font-size: .875rem;
  background: transparent;
}

.breadcrumb a {
  color: #767676;
  font-weight: 500;
  text-decoration: none;
}

.breadcrumb a:hover {
  color: #4933D1;
}

.breadcrumb .active,
.breadcrumb-item.active {
  color: #333;
  font-weight: 600;
}

/* ---- BADGES ---- */
.badge {
  border-radius: 2.25rem !important;
  font-weight: 600;
  padding: .35rem .75rem;
  font-size: .75rem;
}

/* ---- WISHLIST ---- */
.wishlist-button-add {
  border-radius: 50% !important;
  width: 2.25rem !important;
  height: 2.25rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all .25s ease !important;
}

.wishlist-button-add:hover {
  background: #4933D1 !important;
  border-color: #4933D1 !important;
  color: #fff !important;
}

/* ---- COOKIE BANNER ---- */
.cookiesplus-modal .modal-content {
  border-radius: 1rem;
  border: none;
}

/* ---- CUSTOM TEXT ---- */
#custom-text {
  padding: 1.5rem 1rem 0;
}

#custom-text h2 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #242424;
}

/* ---- SCROLLBAR ---- */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #f7f7f7;
}

::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #4933D1;
}

/* ---- SELECTION ---- */
::selection {
  background: rgba(73,51,209,.2);
  color: #242424;
}

/* ---- UTILITY ---- */
a {
  transition: color .2s ease;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 1199.98px) {
  .ps-mainmenu:is(.ps-mainmenu--desktop) .ps-mainmenu__tree > li .ps-mainmenu__tree-link {
    padding: .75rem .875rem;
    font-size: .75rem;
  }
}

@media (max-width: 991.98px) {
  .ps-imageslider__figcaption h2,
  .ps-imageslider__figcaption .h1 {
    font-size: 1.375rem !important;
  }

  .ps-imageslider__figcaption {
    padding: 1rem 1.25rem;
    max-width: 400px;
  }

  .footer__main {
    padding-block: 2rem 1.5rem !important;
  }

  .product-miniature__title {
    font-size: .875rem !important;
  }
}

@media (max-width: 767.98px) {
  .page-product .product__name {
    font-size: 1.25rem;
  }

  .page-product .product__price {
    font-size: 1.25rem;
  }

  .ps-imageslider__figcaption h2,
  .ps-imageslider__figcaption .h1 {
    font-size: 1.125rem !important;
  }

  .ps-imageslider__figcaption {
    padding: .75rem 1rem;
    max-width: 260px;
  }

  .ps-imageslider__figcaption p {
    font-size: .8125rem;
  }

  .footer__main {
    padding-block: 1.5rem 1rem !important;
  }
}



/* ============================================================
   TC HERO HOME — "Nueva generación" (banner portada v1)
   Reemplaza al slider. Azul de banner: #1b4dd8 / #0e2fa8
   ============================================================ */
.tc-hero{
  --tc-blue:#1b4dd8; --tc-blue-deep:#0e2fa8;
  background:linear-gradient(180deg,#eef2fb 0%,#f7f9ff 55%,#ffffff 100%);
  border-radius:var(--bs-border-radius-lg);
  overflow:hidden;
  margin-bottom:2.5rem;
  box-shadow:0 10px 40px rgba(15,23,42,.06);
}
.tc-hero__inner{
  display:grid; grid-template-columns:1.05fr .95fr; align-items:center;
  gap:2rem; padding-block:2.5rem 1.5rem;
}
.tc-hero__content{max-width:600px}
.tc-hero__badge{
  display:inline-flex; align-items:center; gap:.4rem;
  background:#fff; color:var(--tc-blue);
  font-weight:700; font-size:.78rem; letter-spacing:.06em;
  padding:.5rem .9rem; border-radius:2rem;
  border:1px solid rgba(27,77,216,.18);
  box-shadow:0 4px 14px rgba(15,23,42,.06);
}
.tc-hero__badge .material-icons{font-size:1rem}
.tc-hero__title{
  font-size:clamp(2.4rem,5vw,4rem); line-height:1.02; font-weight:800;
  color:#0f172a; margin:1rem 0 .6rem;
}
.tc-hero__title span{color:var(--tc-blue)}

/* titular rotativo: las tres frases se apilan en la misma celda, así el bloque
   reserva la altura de la más larga y ninguna se desborda sobre el botón */
.tc-hero__rotator{display:grid}
.tc-hero__rot{grid-area:1/1; margin:1rem 0 .6rem}
.tc-hero__rot{opacity:0; animation:tcRotar 10.5s infinite}
.tc-hero__rot:nth-child(1){animation-delay:0s}
.tc-hero__rot:nth-child(2){animation-delay:3.5s}
.tc-hero__rot:nth-child(3){animation-delay:7s}
@keyframes tcRotar{
  0%      {opacity:0; transform:translateY(8px)}
  4%, 30% {opacity:1; transform:translateY(0)}
  34%     {opacity:0; transform:translateY(-8px)}
  100%    {opacity:0; transform:translateY(-8px)}
}
@media (prefers-reduced-motion: reduce){
  .tc-hero__rot{animation:none; opacity:0}
  .tc-hero__rot:nth-child(1){opacity:1}
  .tc-hero__rot:not(:first-child){display:none}
}
.tc-hero__models{
  font-size:clamp(1.1rem,2vw,1.5rem); font-weight:700; color:#0f172a; margin:0 0 .5rem;
}
.tc-hero__models b{color:var(--tc-blue); font-weight:800; margin:0 .25rem}
.tc-hero__sub{color:#5b6472; font-size:1.05rem; margin:0 0 1.4rem}
.tc-hero__cta{
  display:inline-flex; align-items:center; gap:.35rem;
  background:linear-gradient(180deg,var(--tc-blue,#1b4dd8),var(--tc-blue-deep,#0e2fa8));
  color:#fff !important; font-weight:700; letter-spacing:.03em;
  padding:.9rem 1.6rem; border-radius:var(--bs-btn-border-radius);
  box-shadow:0 10px 22px rgba(27,77,216,.28); text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease;
}
.tc-hero__cta:hover{transform:translateY(-2px); box-shadow:0 14px 28px rgba(27,77,216,.36); color:#fff}
.tc-hero__cta .material-icons{font-size:1.2rem}
.tc-hero__usps{
  list-style:none; padding:0; margin:2rem 0 0;
  display:flex; flex-wrap:wrap; gap:1.5rem 2rem;
}
.tc-hero__usps li{display:flex; align-items:center; gap:.6rem}
.tc-hero__usps .material-icons{color:var(--tc-blue); font-size:1.7rem}
.tc-hero__usps strong{display:block; color:#0f172a; font-size:.95rem; line-height:1.1}
.tc-hero__usps span{display:block; color:#7a828e; font-size:.82rem}
.tc-hero__media{display:flex; justify-content:center; align-items:center}
.tc-hero__media img{
  max-width:100%; height:auto; width:auto; max-height:490px;
  filter:drop-shadow(0 24px 44px rgba(15,23,42,.16));
}
/* Bodegon del hero mas grande solo en escritorio (18/09/2026, ajuste 4 - centrado).
   El borde IZQUIERDO sigue anclado al limite de su columna del grid (nunca
   cruza hacia el texto). En vez de anclar arriba con un offset fijo, el
   contenedor .tc-hero__media se estira a la altura completa de la fila
   (align-self:stretch) y la imagen se CENTRA verticalmente dentro de ese
   espacio (top:50%+translateY), eliminando el hueco que se acumulaba solo
   abajo. Ancho +15% en el rango fluido (992-1399px, donde hay margen de
   sobra) y +8% a partir de 1400px (donde ya no cabe mas sin tocar la
   franja azul, verificado). Sin object-fit/cover: la imagen conserva su
   proporcion natural completa, no se recorta ningun producto. */
@media (min-width:992px){
  .tc-hero__media{position:relative; align-self:stretch}
  .tc-hero__media img{
    position:absolute; top:50%; left:0; bottom:auto; right:auto;
    transform:translateY(-50%);
    width:115%; max-width:115%; height:auto; max-height:none;
  }
}
@media (min-width:1400px){
  /* Ajuste 5 (18/09/2026): +60px de alto total del hero (cedidos como
     padding-block extra en .tc-hero__inner, franja azul intacta, misma
     posicion/tamano) para que el bodegon pueda crecer ~11% mas sin tocar
     columnas ni recortar. Verificado en local a 1512px antes de desplegar:
     hero 675,7px, imagen 722,4x575px, centrada, sin invadir texto ni la
     franja azul. */
  .tc-hero__inner{ padding-block:70px 54px; }
  .tc-hero__media img{
    width:auto !important; max-width:none !important;
    height:575px !important; max-height:none !important;
  }
}

/* barra de confianza azul */
.tc-hero__trust{background:linear-gradient(90deg,#123bc4,#0e2fa8)}
.tc-hero__trust-inner{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1rem; padding-block:1.1rem;
}
.tc-trust{
  display:flex; align-items:center; gap:.7rem; justify-content:center;
  color:#fff; position:relative;
}
.tc-trust:not(:last-child)::after{
  content:""; position:absolute; right:-.5rem; top:50%; transform:translateY(-50%);
  height:34px; width:1px; background:rgba(255,255,255,.18);
}
.tc-trust .material-icons{font-size:1.6rem; opacity:.95}
.tc-trust strong{display:block; font-size:.82rem; letter-spacing:.05em}
.tc-trust span{display:block; font-size:.78rem; color:rgba(255,255,255,.75)}

/* tarjetas de categoría */
.tc-cats{margin-bottom:2.5rem}
.tc-cats__grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem}
.tc-cat{
  display:flex; align-items:center; gap:.9rem;
  background:#fff; border:1px solid #eef0f4; border-radius:var(--bs-border-radius-lg);
  padding:1rem 1.15rem; text-decoration:none;
  box-shadow:0 6px 20px rgba(15,23,42,.05);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.tc-cat:hover{transform:translateY(-3px); box-shadow:0 14px 30px rgba(15,23,42,.10); border-color:rgba(27,77,216,.25)}
.tc-cat__ico{
  flex:0 0 auto; display:grid; place-items:center;
  width:52px; height:52px; border-radius:14px;
  background:#eef2fb; color:#1b4dd8; font-size:1.6rem;
}
.tc-cat__txt{flex:1 1 auto; min-width:0}
.tc-cat__txt strong{display:block; color:#0f172a; font-size:.92rem; letter-spacing:.02em}
.tc-cat__txt span{display:block; color:#8a919c; font-size:.82rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.tc-cat__arrow{color:#c3c9d4; transition:color .15s ease, transform .15s ease}
.tc-cat:hover .tc-cat__arrow{color:#1b4dd8; transform:translateX(3px)}

/* responsive */
@media (max-width:991px){
  .tc-hero__inner{
    display:flex; flex-direction:column; gap:0;
    text-align:center; padding-block:1.25rem 1rem;
  }
  /* los hijos de content pasan a ser hijos del flex, para poder intercalar la imagen */
  .tc-hero__content{display:contents}
  .tc-hero__badge{order:1; align-self:center}
  .tc-hero__rotator{order:2}
  .tc-hero__rot{margin:.7rem 0 .4rem; font-size:25px; line-height:1.14}
  .tc-hero__models,
  .tc-hero__sub{display:none}
  .tc-hero__cta{order:3; align-self:center; margin-top:.6rem}
  /* la imagen va debajo del botón y asoma recortada por abajo */
  .tc-hero__media{
    order:4; margin-top:1rem;
    max-height:180px; overflow:hidden; align-items:flex-start;
  }
  .tc-hero__media img{max-height:215px}
  .tc-hero__usps{order:5; justify-content:center; margin-top:1.2rem}
  .tc-cats__grid{grid-template-columns:repeat(2,1fr)}
  .tc-hero__trust-inner{grid-template-columns:repeat(2,1fr); gap:1rem 0}
  .tc-trust:nth-child(2n)::after{display:none}
}
@media (max-width:575px){
  .tc-hero__usps{gap:1rem}
  .tc-hero__rot{font-size:23px}
  .tc-hero__media{max-height:165px}
  .tc-hero__media img{max-height:200px}
  .tc-cats__grid{grid-template-columns:1fr}
  .tc-hero__trust-inner{grid-template-columns:1fr}
  .tc-trust::after{display:none !important}
}

/* ============================================================
   HOME SECCIONES COSLADAFON + CTA HEADER (re-añadido tras pérdida)
   ============================================================ */

/* ---- CTA HEADER (botón "Ofertas") ---- */
.tc-cta-btn {
  display: inline-flex; align-items: center; height: 42px; padding: 0 1.5rem;
  background: #4933D1; color: #fff !important; font-weight: 700; font-size: .875rem;
  border-radius: 2.25rem; text-decoration: none; white-space: nowrap; transition: all .25s ease;
}
.tc-cta-btn:hover { background: #FBBC34; color: #242424 !important; }

/* Header layout: logo | buscador (crece) | CTA | carrito */
#tc-header-cta {
  order: 3 !important;
  margin-right: .75rem !important;
  width: max-content !important;
  max-width: max-content !important;
  flex: 0 0 auto !important;
}
#_desktop_ps_shoppingcart {
  order: 4 !important;
  margin-left: 0 !important;
  flex: 0 0 auto !important;
}
#_desktop_ps_searchbar {
  flex: 1 1 auto !important;
  max-width: 36rem !important;
  margin-left: 1.25rem !important;
  margin-right: 0.75rem !important;
}
#_desktop_ps_searchbar .ps-searchbar { width: 100% !important; }

/* ---- Títulos de sección centrados ---- */
.page-content--home .section-title {
  font-size: 1.375rem; font-weight: 700; color: #242424; text-transform: uppercase;
  letter-spacing: .3px; text-align: center; margin-bottom: 1.75rem; position: relative; padding-bottom: .75rem;
}
.page-content--home .section-title:after {
  content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 45px; height: 3px; background: #4933D1; border-radius: 3px;
}

/* ---- ¿Por qué elegir TopCelular? ---- */
.tc-why { padding: 3rem 0; background: #fff; }
.tc-why__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.tc-why__card { background: #f7f7f7; border-radius: 1rem; padding: 1.75rem 1.5rem; text-align: center; transition: all .3s ease; }
.tc-why__card:hover { transform: translateY(-4px); box-shadow: 0 8px 30px rgba(0,0,0,.08); }
.tc-why__card .material-icons { font-size: 2.25rem; color: #4933D1; margin-bottom: .75rem; }
.tc-why__card h3 { font-size: 1.0625rem; font-weight: 700; color: #242424; margin-bottom: .5rem; }
.tc-why__card p { font-size: .875rem; color: #767676; margin: 0; }

/* ---- Compra por marca ---- */
.tc-brands { padding: 3rem 0; background: #f7f7f7; }
.tc-brands__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.tc-brands__tile { display: block; border-radius: 1rem; overflow: hidden; background: #fff; box-shadow: 0 2px 12px rgba(0,0,0,.05); transition: all .3s ease; }
.tc-brands__tile:hover { transform: translateY(-4px); box-shadow: 0 8px 30px rgba(0,0,0,.12); }
.tc-brands__tile img { width: 100%; height: 84px; object-fit: contain; display: block; padding: .9rem 1.4rem; box-sizing: border-box; }
.tc-brands__more { text-align: center; margin-top: 1.5rem; }

/* ---- Opiniones de clientes ---- */
.tc-reviews { padding: 3rem 0; background: #fff; }
.tc-reviews__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.tc-reviews__card { background: #f7f7f7; border-radius: 1rem; padding: 1.5rem; }
.tc-reviews__stars { color: #FBBC34; font-size: 1rem; letter-spacing: 2px; margin-bottom: .75rem; }
.tc-reviews__text { font-size: .9375rem; color: #333; font-style: italic; line-height: 1.5; }
.tc-reviews__author { display: block; margin-top: .75rem; font-weight: 700; color: #242424; font-size: .875rem; }

/* ---- Texto SEO ---- */
.tc-seo { padding: 3rem 0; background: #fff; border-top: 1px solid rgba(0,0,0,.05); }
.tc-seo h2 { font-size: 1.5rem; font-weight: 700; color: #242424; margin-bottom: 1rem; }
.tc-seo p { color: #767676; font-size: .9375rem; }
.tc-seo ul { color: #767676; font-size: .9375rem; padding-left: 1.25rem; }
.tc-seo li { margin-bottom: .5rem; }

/* ---- Responsive ---- */
@media (max-width: 991.98px) {
  .tc-why__grid, .tc-reviews__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.98px) {
  .tc-why__grid, .tc-reviews__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   FIX RESPONSIVE MÓVIL: breadcrumb y subcategorías no se cortan
   ============================================================ */
@media (max-width: 767.98px) {
  .breadcrumb {
    flex-wrap: wrap !important;
    overflow-x: hidden !important;
    row-gap: .25rem;
  }
  .breadcrumb-item {
    white-space: normal !important;
    word-break: break-word;
  }
  .subcategory__list {
    flex-wrap: wrap !important;
    gap: .5rem;
  }
}

/* ============================================================
   SEO / GEO: preguntas frecuentes y tienda física
   ============================================================ */
.tc-faq {
  padding: 3rem 0;
  background: #F7F7F7;
  border-top: 1px solid rgba(0,0,0,.05);
}
.tc-faq__list {
  max-width: 820px;
  margin: 0 auto;
}
.tc-faq__item {
  background: #fff;
  border: 1px solid rgba(0,0,0,.07);
  border-radius: var(--bs-border-radius);
  margin-bottom: .625rem;
  overflow: hidden;
}
.tc-faq__item summary {
  cursor: pointer;
  list-style: none;
  padding: 1rem 3rem 1rem 1.25rem;
  font-weight: 600;
  color: #242424;
  font-size: 1rem;
  position: relative;
}
.tc-faq__item summary::-webkit-details-marker { display: none; }
.tc-faq__item summary::after {
  content: '+';
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
  color: var(--bs-primary);
  transition: transform .2s ease;
}
.tc-faq__item[open] summary::after { content: '\2212'; }
.tc-faq__item summary:hover { color: var(--bs-primary); }
.tc-faq__item p {
  margin: 0;
  padding: 0 1.25rem 1.25rem;
  color: #767676;
  font-size: .9375rem;
}
.tc-faq__item p a { color: var(--bs-primary); text-decoration: underline; }

.tc-local {
  padding: 3rem 0;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,.05);
}
.tc-local__inner { max-width: 820px; margin: 0 auto; text-align: center; }
.tc-local p { color: #767676; font-size: .9375rem; }
.tc-local__nap {
  font-style: normal;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: #242424;
  margin: 1.25rem 0 .75rem;
}
.tc-local__nap strong { font-weight: 700; }
.tc-local__nap a { color: var(--bs-primary); text-decoration: none; }
.tc-local__nap a:hover { text-decoration: underline; }
.tc-local__hours { margin-bottom: 1.5rem; }
.tc-local .btn i { font-size: 1.125rem; vertical-align: middle; margin-left: .25rem; }

@media (max-width: 767.98px) {
  .tc-faq, .tc-local { padding: 2rem 0; }
  .tc-faq__item summary { font-size: .9375rem; padding-right: 2.5rem; }
}

/* TC · Aviso facturación/IVA en checkout */
.tc-invoice-notice{display:flex;gap:.75rem;align-items:flex-start;background:#eef2fb;border:1px solid #d9e1f7;border-left:4px solid #1b4dd8;border-radius:10px;padding:.85rem 1rem;margin:0 0 1.25rem;color:#33415a;font-size:.9rem;line-height:1.45}
.tc-invoice-notice__ico{color:#1b4dd8;font-size:1.4rem;flex:0 0 auto}
.tc-invoice-notice__txt strong{color:#0f172a}

/* TC · Fila de medios de pago (footer) */
.tc-payments{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.6rem;padding:1rem 0 .25rem}
.tc-payments__label{color:#8a919c;font-size:.8rem;margin-right:.35rem}
.tc-payments__list{display:flex;gap:.5rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.tc-payments__list{flex-wrap:nowrap}
.tc-pay{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:72px;height:46px;padding:4px;background:#fff;border:1px solid #e6e8ee;border-radius:9px;box-shadow:0 1px 3px rgba(15,23,42,.08)}
.tc-pay img{display:block;width:auto;max-width:100%}
.tc-pay--visa img{height:15px}
.tc-pay--mc img{height:26px}
.tc-pay--klarna img{height:20px}
.tc-pay--paypal img{height:16px}
@media (max-width:400px){.tc-payments__list{gap:.4rem}}

/* ==== Ajustes móvil (feedback cliente 2026-08-26) ==== */
@media (max-width:575.98px){
  /* Marcas: Apple / Samsung / Xiaomi en una fila */
  .tc-brands__grid{ grid-template-columns:repeat(3,1fr) !important; gap:.5rem; }
  .tc-brands__tile img{ height:46px; padding:.35rem .5rem; }
  /* Barra azul en 2 bloques (2x2) */
  .tc-hero__trust-inner{ grid-template-columns:repeat(2,1fr) !important; gap:1rem .5rem; }
  .tc-trust::after{ display:none !important; }
  /* Productos: 2 por fila (imágenes no tan grandes) */
  .products{ display:grid !important; grid-template-columns:repeat(2,1fr); gap:.6rem; }
  .products > *{ width:auto !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
  .product-miniature{ width:auto !important; }
}

/* Reseñas Google (Trustindex) */
.tc-reviews__google, .tc-product-reviews{ margin:1rem 0 2rem; }
.tc-product-reviews{ padding:1.5rem 0; border-top:1px solid rgba(0,0,0,.06); }

/* Insignia de estrellas Google (nativa, siempre visible) */
.tc-gstars{ padding:1.25rem 0 .25rem; text-align:center; }
.tc-gstars__badge{ display:inline-flex; align-items:center; gap:.6rem; flex-wrap:wrap; justify-content:center; background:#fff; border:1px solid #e6e8ee; border-radius:2rem; padding:.6rem 1.2rem; box-shadow:0 6px 20px rgba(15,23,42,.06); text-decoration:none; color:#0f172a; font-size:1rem; }
.tc-gstars__badge:hover{ box-shadow:0 10px 28px rgba(15,23,42,.12); }
.tc-gstars__g{ display:grid; place-items:center; width:26px; height:26px; border-radius:50%; background:conic-gradient(#4285F4 0 25%,#34A853 0 50%,#FBBC05 0 75%,#EA4335 0 100%); color:#fff; font-weight:800; font-family:Arial,sans-serif; font-size:.85rem; }
.tc-gstars__stars{ color:#FBBC05; letter-spacing:2px; font-size:1.15rem; }
.tc-gstars__score{ font-weight:700; }
.tc-gstars__text{ color:#5b6472; }
@media (max-width:575px){ .tc-gstars__badge{ font-size:.88rem; padding:.5rem .9rem; gap:.4rem; } }

/* ============================================================
   TC PERF v43 — reservar espacio para reducir CLS (hero/trust)
   ============================================================ */
.tc-hero__media{min-height:1px}
.tc-hero__media img{aspect-ratio:735/585; height:auto}
.tc-hero__trust{min-height:64px}
.tc-hero__trust-inner{min-height:64px}
@media (max-width:991px){
  .tc-hero__content{min-height:300px}
  .tc-hero__trust,.tc-hero__trust-inner{min-height:120px}
}
@media (max-width:575px){
  .tc-hero__content{min-height:260px}
  .tc-hero__trust,.tc-hero__trust-inner{min-height:200px}
}

/* ==========================================================================
   TopCelular · 28/08/2026 — Ajustes del bloque de filtros del catálogo
   1) Separación entre la casilla y su texto (8 px)
   2) La flecha del acordeón deja de pisar el título del filtro
   3) Nombre del filtro y su número, siempre en la misma línea
   Ámbito: solo dentro de #search-filters / .search-filters
   ========================================================================== */

/* 1) Casilla y texto: fila flexible con 8 px de separación */
.search-filters__item .form-check {
  display: flex;
  align-items: center;
  padding-left: 0;
  margin-bottom: 0;
}
.search-filters__item .form-check-input {
  flex: 0 0 auto;
  margin-left: 0;
  margin-right: 8px;
  margin-top: 0;
}
.search-filters__item .form-check-label {
  margin-bottom: 0;
  min-width: 0;
}

/* 2) Cabecera del acordeón: el título y la flecha no se solapan */
.search-filters .accordion-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding-right: 1rem;
  text-align: left;
}
.search-filters .accordion-button::after {
  flex: 0 0 auto;
  margin-left: 0;
}

/* 3) Nombre y número del filtro, en la misma línea */
.search-filters__link,
.search-filters__color-label {
  display: inline-flex;
  align-items: baseline;
  gap: .35rem;
  flex-wrap: nowrap;
}
.search-filters__magnitude {
  white-space: nowrap;
  flex: 0 0 auto;
}

/* ==========================================================================
   TopCelular · 28/08/2026 — Buscador de cabecera
   Escritorio: barra entre logo y carrito, lupa a la derecha.
   Móvil: lupa junto al carrito; cuenta y favoritos salen de la barra superior.
   ========================================================================== */

.tc-search-col { min-width: 0; }

.tc-search {
  position: relative;
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
}

.tc-search__form {
  display: flex;
  align-items: center;
  border: 1px solid #ccd2d9;
  border-radius: 999px;
  background: #fff;
  overflow: hidden;
}
.tc-search__form:focus-within { border-color: #2471ff; }

.tc-search__input {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  outline: 0;
  padding: 10px 18px;
  font-size: 15px;
  background: transparent;
}

.tc-search__btn {
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  padding: 8px 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  color: #2471ff;
}

.tc-search__dropdown {
  position: absolute;
  left: 0; right: 0;
  top: calc(100% + 6px);
  background: #fff;
  border: 1px solid #e3e6ea;
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(0,0,0,.12);
  z-index: 1050;
  overflow: hidden;
}

.tc-search__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid #f0f2f4;
}
.tc-search__item:last-child { border-bottom: 0; }
.tc-search__item:hover,
.tc-search__item:focus { background: #f6f9ff; }

.tc-search__img {
  width: 44px; height: 44px;
  object-fit: contain;
  flex: 0 0 auto;
  background: #fff;
}
.tc-search__name { flex: 1 1 auto; font-size: 14px; line-height: 1.3; }
.tc-search__price { flex: 0 0 auto; font-weight: 700; white-space: nowrap; font-size: 14px; }
.tc-search__empty { padding: 14px; font-size: 14px; color: #6b7280; }

/* Panel desplegable en móvil */
.tc-search-panel {
  flex: 0 0 100%;
  width: 100%;
  padding: 10px 0 4px;
}
.tc-search-panel .tc-search { max-width: none; }

/* Móvil: prioridad Logo + Lupa + Carrito.
   Cuenta y favoritos quedan en el menú lateral. */
@media (max-width: 767.98px) {
  #_mobile_ps_customersignin,
  .header-bottom .pk-favorites,
  .header-bottom [class*="favorit"] { display: none !important; }
}

/* ---- BUSCADOR EN MOVIL: EVITAR EL DESCUADRE AL ABRIR EL TECLADO ----
   iOS Safari amplia la pagina al enfocar cualquier input de menos de 16px,
   y ese zoom es lo que descoloca la cabecera y obliga a mover la pantalla.
   Con 16px no amplia. No se usa maximum-scale para bloquear el zoom porque
   impedirlo perjudica la accesibilidad. */
@media (max-width: 767.98px) {
  .tc-search__input { font-size: 16px; }
  .tc-search-panel { scroll-margin-top: 12px; }
}

/* ---- DESPLEGABLE DE RESULTADOS EN MOVIL ----
   Limita el alto para que la lista no empuje la pagina y permite
   desplazarse dentro de ella si hay muchos resultados.
   Se declara vh y despues dvh a proposito: vh NO se encoge cuando sube el
   teclado (se calcula sobre el viewport grande), dvh si. Los navegadores
   antiguos se quedan con vh; los modernos pisan la regla con dvh. */
@media (max-width: 767.98px) {
  .tc-search__dropdown {
    max-height: 50vh;
    max-height: 50dvh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    box-shadow: 0 8px 16px rgba(0,0,0,.15);
  }
}
/* ---- TEXTO DE LOS RESULTADOS EN MOVIL ----
   16px para que la lista se lea comoda y case con el cuerpo del campo de
   busqueda. Se nombran tambien .tc-search__name y .tc-search__price para
   dejar la intencion explicita, aunque el selector con elemento ya bastaria.
   Sin !important: la especificidad ya resuelve, y anadirlo solo complicaria
   cualquier ajuste posterior. */
@media (max-width: 767.98px) {
  .tc-search__dropdown,
  .tc-search__dropdown a,
  .tc-search__dropdown span,
  .tc-search__name,
  .tc-search__price {
    font-size: 16px;
  }
}

/* ---- BUSCADOR EN MOVIL: EL PANEL NUNCA SUPERA EL ANCHO VISIBLE ----
   El panel es flex:0 0 100% dentro de la fila de la cabecera (logo, lupa,
   carrito), pero esa fila no tiene flex-wrap, asi que el panel no salta de
   linea al abrirse: se renderiza a la derecha del icono de lupa con su
   ancho completo, empujando el desplegable de sugerencias fuera de la
   pantalla y cortando los nombres de producto. Sacarlo del flujo flex con
   position:absolute anclado a .header-bottom (que ya cubre el ancho
   completo del viewport, sin padding lateral) lo alinea con el campo de
   busqueda sin tocar la posicion del resto de iconos de la cabecera. */
@media (max-width: 767.98px) {
  .header-bottom { position: relative; }
  .tc-search-panel {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: auto;
    padding: 10px 12px 4px;
    background: #fff;
    box-shadow: 0 8px 16px rgba(0,0,0,.08);
    z-index: 1040;
  }
  .tc-search-panel .tc-search { width: 100%; }
}

/* ---- NOMBRES DE PRODUCTO EN EL DESPLEGABLE: SIEMPRE EN VARIAS LINEAS ----
   Sin min-width:0 un span dentro de un flex row no se encoge por debajo de
   su contenido, así que un nombre largo puede ensanchar la fila del
   resultado (y con ella el desplegable) más allá del ancho ya corregido
   arriba. overflow-x:hidden en el desplegable es una red de seguridad
   adicional para que nunca aparezca scroll horizontal dentro de la lista. */
@media (max-width: 767.98px) {
  .tc-search__dropdown { overflow-x: hidden; }
  .tc-search__name {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* ---- FRANJA DE OPINIONES DE LA PORTADA (modulo tcopiniones) ----
   Va bajo los productos destacados y agrupa Google e Idealo. */
.tc-opiniones {
  padding: 2.5rem 0;
  background: #f7f9fc;
  border-top: 1px solid #e8ecf1;
  border-bottom: 1px solid #e8ecf1;
}
.tc-opiniones__titulo {
  text-align: center;
  font-size: 1.25rem;
  margin: 0 0 1.5rem;
}
.tc-opiniones__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  align-items: stretch;
}
.tc-opiniones__card {
  flex: 0 1 260px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .35rem;
  padding: 1.25rem 1rem;
  background: #fff;
  border: 1px solid #e3e6ea;
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  transition: box-shadow .18s ease, transform .18s ease;
}
a.tc-opiniones__card:hover {
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
  transform: translateY(-2px);
}
.tc-opiniones__fuente { font-weight: 700; font-size: 1rem; }
.tc-opiniones__estrellas { display: inline-flex; gap: 2px; }
.tc-opiniones__estrella::before { content: "\2605"; font-size: 1.1rem; line-height: 1; }
.tc-opiniones__estrella--llena::before { color: #f5a623; }
.tc-opiniones__estrella--vacia::before { color: #d8dde3; }
/* Media estrella: mitad dorada, mitad gris, con reserva para navegadores
   que no soporten el recorte del fondo sobre el texto. */
.tc-opiniones__estrella--media::before {
  color: #f5a623;
  background: linear-gradient(90deg, #f5a623 50%, #d8dde3 50%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.tc-opiniones__nota { font-size: 1.35rem; font-weight: 700; }
.tc-opiniones__nota small { font-size: .8rem; font-weight: 400; color: #6b7280; }
.tc-opiniones__num { font-size: .85rem; color: #6b7280; }
.tc-opiniones__enlace { font-size: .9rem; color: #2471ff; font-weight: 600; }
.tc-opiniones__card--widget { justify-content: center; }

@media (max-width: 575.98px) {
  .tc-opiniones { padding: 1.75rem 0; }
  .tc-opiniones__card { flex: 1 1 100%; }
}

/* Franja de confianza bajo Anadir al carrito en la ficha de producto.
   Nombre propio para no chocar con .tc-trust del hero de portada. */
.tc-idealo{margin-top:.75rem;font-size:.8125rem;line-height:1.45}
.tc-idealo__rating{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap;text-decoration:none;color:#242424;font-weight:600}
.tc-idealo__rating:hover{color:#4933D1}
.tc-idealo__stars{color:#F5A623;letter-spacing:.04em;font-size:.9375rem}
.tc-idealo__count{font-weight:400;color:#6b6b6b}
.tc-idealo__meta{margin:.15rem 0 0;color:#6b6b6b;font-size:.75rem}
.tc-idealo__meta a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.18)}
.tc-idealo__meta a:hover{color:#4933D1}
@media (max-width:575.98px){.tc-idealo{margin-top:.625rem}}

/* tc-delivery-align — Checkout, metodo de envio: nombre a la izquierda, plazo y
   precio alineados a la derecha, sin colisiones. En movil se apila. */
.delivery-option__label{display:flex;align-items:center;gap:.9rem;flex-wrap:nowrap}
.delivery-option__left{flex:0 0 auto;min-width:0}
.delivery-option__carrier-name{font-weight:600;line-height:1.3;white-space:nowrap}
.delivery-option__content{flex:1 1 auto;min-width:0;text-align:right;color:#5b6472;font-size:.9em;line-height:1.35}
.delivery-option__price{flex:0 0 auto;margin-left:.75rem;text-align:right;white-space:nowrap;font-weight:700;font-variant-numeric:tabular-nums}

/* tc-delivery-movil — Checkout en pantalla estrecha: nombre y precio en la misma
   linea, el plazo debajo. El nombre cede espacio para que el importe no se caiga. */
@media (max-width:767px){
  .delivery-option__label{flex-wrap:wrap;align-items:center;row-gap:.35rem;gap:.6rem}
  .delivery-option__left{flex:1 1 0;min-width:0}
  .delivery-option__carrier-name{white-space:normal;overflow-wrap:anywhere}
  .delivery-option__price{order:2;flex:0 0 auto;margin-left:auto;white-space:nowrap}
  .delivery-option__content{order:3;flex:1 1 100%;text-align:left;margin-left:0}
}
/* tc-delivery-movil-ajuste — mas sitio para el nombre en pantalla estrecha */
@media (max-width:767px){
  .delivery-option__carrier-logo{max-width:34px;height:auto}
  .delivery-option__label{gap:.45rem}
  .delivery-option__price{font-size:.875rem}
  .delivery-option__check{margin-right:.1rem}
}
/* tc-delivery-movil-nowrap — el nombre cabe entero: no se le fuerza a encoger */
@media (max-width:767px){
  .delivery-option__left{flex:0 1 auto;min-width:0}
  .delivery-option__carrier-name{white-space:nowrap;overflow-wrap:normal}
}

/* tc-condicion: distintivo de estado en la tarjeta y en la ficha.
   El tema pinta todos los distintivos con !important, por eso se repite aqui. */
ul.product-flags li.badge.tc-flag{font-weight:700;letter-spacing:.02em;text-transform:none}
ul.product-flags li.badge.tc-flag--openbox{background-color:#fff1d6!important;color:#7a4a00!important;border:1px solid #e0aa4e!important}
ul.product-flags li.badge.tc-flag--reacond{background-color:#e2f5ea!important;color:#0f5c34!important;border:1px solid #6cbf94!important}
ul.product-flags li.badge.tc-flag--usado{background-color:#eef0f3!important;color:#3f4650!important;border:1px solid #b6bcc4!important}

/* === Blog (SimpleBlog): miniaturas con mismo alto, ancho auto-ajustado === */
.simpleblog__listing__post__wrapper img.photo,
.simpleblog__listing__post__wrapper img.img-fluid.photo{width:100%!important;height:220px!important;object-fit:cover!important;object-position:center;display:block;border-radius:8px}
.simpleblog__post-featured img,
.simpleblog__post-featured img.img-fluid{width:100%!important;height:auto!important;max-height:420px;object-fit:cover;object-position:center;display:block;border-radius:8px}
@media (max-width:991px){.simpleblog__listing__post__wrapper img.photo,.simpleblog__listing__post__wrapper img.img-fluid.photo{height:200px!important}}
@media (max-width:575px){.simpleblog__listing__post__wrapper img.photo,.simpleblog__listing__post__wrapper img.img-fluid.photo{height:190px!important}.simpleblog__post-featured img{max-height:280px}}

/* === Blog single: ocultar metricas (likes/vistas/comentarios) en blanco === */
.simpleblog__postInfo ul li:nth-child(n+4),
.simpleblog__postInfo ul li:nth-child(n+4) *{color:#fff!important}
.simpleblog__postInfo ul li:nth-child(n+4) a{pointer-events:none}

/* === Blog single: navegacion Previous/Main/Next sin solapes, responsive === */
.pagination.pagination-lg{display:flex!important;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;padding-left:0;margin:0 0 1rem}
.pagination.pagination-lg .page-item{position:static!important;float:none!important;margin:0!important;list-style:none}
.pagination.pagination-lg .page-link{position:static!important;white-space:nowrap;padding:.5rem .75rem}

/* tc-resenas: el carrusel cortaba tarjetas por la mitad y parecia texto truncado (02/09/2026) */
.tc-ireviews__track{scroll-snap-type:x mandatory;scroll-padding-left:0;
  -webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 48px),transparent 100%);
  mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 48px),transparent 100%)}
.tc-ireviews__card{scroll-snap-align:start}
@media (max-width:767px){.tc-ireviews__card{flex:0 0 88%}}

/* tc-price-extras: aviso de envio y financiacion bajo el precio */
.tc-price-extras{margin:.5rem 0 .25rem;display:flex;flex-direction:column;gap:.2rem}
.tc-price-extras__envio{margin:0;font-size:.9375rem;font-weight:600;color:#0f5c34}
.tc-price-extras__pago{margin:0;font-size:.875rem;color:#5b6270}

/* tc-resenas: el bloque dejaba 32px en movil y 56px en escritorio antes de "Descripcion".
   Se reduce a un margen normal sin tocar la maquetacion del acordeon. (02/09/2026) */
.tc-ireviews{padding-bottom:8px}
.tc-ireviews__track{padding-bottom:4px}

/* ============================================================
   HERO MOVIL — imagen completa y a tamano util (05/09/2026)
   Antes: el contenedor tenia max-height:165px con overflow:hidden
   y la imagen max-height:200px, asi que se veia pequena y cortada.
   La imagen lleva aspect-ratio:735/585, de modo que fijando el ancho
   la altura sale sola: 310px de ancho -> ~247px de alto.
   Solo afecta a <=575px. Escritorio y tablet quedan intactos.
   ============================================================ */
@media (max-width:575px){
  .tc-hero__media{
    max-height:none;
    overflow:visible;
    align-items:center;
    justify-content:center;
  }
  .tc-hero__media img{
    width:min(390px, 96vw);
    max-width:390px;
    max-height:none;
    height:auto;
    /* recorte movil propio (hero-tc-mobile.webp) en 4:3 — 05/09/2026, agrandado ~18% el 18/09/2026 */
    aspect-ratio:4/3;
    margin-inline:auto;
  }
}


/* Franja de confianza compacta en movil (2026-09-05) */
.tc-trust__m{display:none}
@media (max-width:575px){
  /* la franja compacta sustituye a la lista de argumentos del hero en movil */
  .tc-hero__usps{display:none !important}

  .tc-hero__trust{
    background:#fff !important;padding:0 !important;margin:0 !important;
    border:0 !important;min-height:0 !important;position:relative;
  }
  .tc-hero__trust-inner{
    display:flex !important;flex-wrap:nowrap !important;gap:4px !important;
    align-items:center;justify-content:space-around;
    padding:15px 6px !important;margin:0 auto !important;
    min-height:0 !important;max-width:100%;
    overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  .tc-hero__trust-inner::-webkit-scrollbar{display:none}
  .tc-trust{
    flex:0 0 auto;min-width:0;min-height:0 !important;
    display:flex !important;flex-direction:row !important;align-items:center;
    gap:5px;padding:0 3px !important;margin:0 !important;
    border:0 !important;background:transparent !important;box-shadow:none !important;
  }
  .tc-trust:nth-child(1){order:1}
  .tc-trust:nth-child(2){order:3}
  .tc-trust:nth-child(3){order:2}
  .tc-trust:nth-child(4){order:4}
  .tc-trust::after{display:none !important}
  .tc-trust .material-icons{
    font-size:22px !important;line-height:1;opacity:1 !important;flex:0 0 auto;
    color:var(--bs-primary,#1d4ed8) !important;
  }
  .tc-trust > div > strong,.tc-trust > div > span{display:none !important}
  .tc-trust__m{
    display:block;font-weight:700;font-size:11.5px;line-height:1.25;
    color:#14213d;white-space:nowrap;letter-spacing:0;
  }
  .tc-trust__m em{
    display:block;font-style:normal;font-weight:500;font-size:10.5px;
    color:#3d4a63;white-space:nowrap;
  }
}
@media (max-width:374px){
  .tc-hero__trust-inner{gap:3px !important;padding:15px 4px !important;justify-content:flex-start}
  .tc-trust{padding:0 1px !important;gap:4px}
}


/* Correccion overflow horizontal en movil (2026-09-05)
   Tres causas independientes medidas a 360px:
   1) el contenedor de escritorio del carrito seguia ocupando 8px fuera del viewport
   2) el contenedor de avisos quedaba anclado al ancho desbordado, no al viewport
   3) el banner de cookies heredaba los margenes negativos de .row sin compensacion */
@media (max-width:767.98px){
  #_desktop_ps_shoppingcart{display:none !important}

  /* 4) el .row de la cabecera desbordaba por sus margenes negativos sin compensar */
  .header-bottom__container > .header-bottom__row.row{margin-left:0 !important;margin-right:0 !important}

  #js-toast-container{right:0 !important;left:auto !important;max-width:100vw}

  #cookiesplus-modal-container.container{max-width:100% !important}
  #cookiesplus-modal-container > .row{margin-left:0 !important;margin-right:0 !important}
  #cookiesplus-modal.cookiesplus-bottom{max-width:100% !important}
  #cookiesplus-content > .row{margin-left:0 !important;margin-right:0 !important}
  .cookiesplus-actions .first-layer > .row{margin-left:0 !important;margin-right:0 !important}
}


/* Cabecera: encaje del logo en pantallas estrechas (2026-09-05)
   A 360px el .header-bottom__row dispone de 336px (360 - 24 de padding del
   container) y sus hijos suman 363: logo 203 + 4 iconos de 40. El sobrante
   de 15px lo empujaba el ultimo elemento (carrito) fuera del viewport.
   Se deja que el logo ceda esos pixeles solo por debajo de 390px. */
@media (max-width:389.98px){
  .header-bottom__logo{min-width:0;flex:0 1 auto}
  .header-bottom .header-bottom__logo img{max-width:130px !important;height:auto}
}

/* ============================================================
   Klarna — aviso neutro junto al precio en la ficha (06/09/2026)
   Solo visibilidad del metodo de pago. Sin cuotas ni condiciones.
   ============================================================ */
.tc-klarna{
  display:inline-flex; align-items:center; gap:.65rem;
  margin:.85rem 0 0; padding:.65rem 1rem;
  background:#f6f7f9; border:1px solid #d7dbe0; border-radius:10px;
  font-size:.95rem; line-height:1.25; color:#1f2937;
}
.tc-klarna__logo{ display:block; width:72px; height:auto; flex:0 0 auto; }
.tc-klarna__txt{ font-weight:600; }
@media (max-width:575px){
  .tc-klarna{ font-size:.875rem; padding:.55rem .85rem; gap:.55rem; }
  .tc-klarna__logo{ width:62px; }
}


/* ============================================================
   Wallapop — prueba social en la franja de confianza (06/09/2026)
   Cifras manuales; el texto vive en _partials/tc-wallapop.tpl

   v3 (06/09/2026): la identidad la lleva el LOGOTIPO OFICIAL de
   Wallapop (img/cms/wallapop-logo.png, ya en la tienda desde 2024,
   PNG con transparencia 442x117). Antes habia una pastilla con el
   nombre en texto, que no era la marca real. El logo no se recolorea
   ni se recorta: se usa tal cual, solo escalado.

   El turquesa #13C1AC de marca da 2,3:1 sobre blanco, asi que no se
   usa para texto: solo como fondo (#f3fbfa) y filete izquierdo. El
   texto va en #17322e y el enlace en #0A6F63 (6:1). Pasan AA.

   Sigue sin estrellas ni nota: Wallapop no publica puntuacion
   verificable del vendedor.
   ============================================================ */
.tc-wallapop{
  margin:.5rem 0 0;
  display:flex; align-items:center; flex-wrap:wrap;
  gap:.3rem .55rem;
  padding:.5rem .625rem;
  background:#f3fbfa;
  border:1px solid rgba(19,193,172,.30);
  border-left:3px solid #13C1AC;
  border-radius:8px;
  font-size:.8125rem; line-height:1.4;
}
.tc-wallapop__logo{
  display:block; flex:0 0 auto;
  width:82px; height:auto;
}
.tc-wallapop__ventas{
  flex:0 0 auto;
  color:#17322e; font-weight:700; font-size:.875rem;
}
.tc-wallapop__cuerpo{
  display:flex; align-items:baseline; flex-wrap:wrap; gap:.2rem .4rem;
  min-width:0;
}
.tc-wallapop__dato{ color:#5c6b68; }
.tc-wallapop__dato::after{ content:" ·"; color:#9bb0ac; }
.tc-wallapop__link{
  color:#0A6F63; font-weight:600; text-decoration:none;
  border-bottom:1px solid rgba(10,111,99,.35);
}
.tc-wallapop__link:hover,
.tc-wallapop__link:focus-visible{ color:#0B8477; border-bottom-color:currentColor; }

/* Movil: primera linea = logo + ventas (lo que debe verse de un vistazo);
   valoraciones y enlace bajan a la segunda. */
@media (max-width:575.98px){
  .tc-wallapop{ padding:.5rem .5625rem; }
  .tc-wallapop__logo{ width:76px; }
  .tc-wallapop__cuerpo{ flex:1 1 100%; }
}
/* Escritorio: todo en una linea, con separador tambien tras las ventas. */
@media (min-width:576px){
  .tc-wallapop__ventas::after{ content:" ·"; color:#9bb0ac; font-weight:400; }
}

/* ============================================================
   Financiación con Klarna en la home (06/09/2026)
   Sustituye a .topcelular-promo__klarna, que escribia "Klarna."
   a mano en negrita. Ahora usa el SVG oficial del modulo.

   El rosa #FFB3C7 es identidad de Klarna, pero sobre el rosa el
   texto oscuro es lo unico legible: por eso el rosa va solo en
   el filete y el borde, y el fondo es un tinte muy claro.
   Sin cuotas, TAE ni importes: no constan verificados.
   ============================================================ */
.tc-fin{
  margin:.875rem 0 0;
  padding:14px 16px;
  background:#fff7f9;
  border:1px solid rgba(255,179,199,.85);
  border-left:4px solid #FFB3C7;
  border-radius:11px;
}
.tc-fin__title{
  margin:0; color:#17181A;
  font-size:15.5px; font-weight:700; line-height:1.25; letter-spacing:.01em;
}
.tc-fin__main{
  margin:5px 0 0; color:#2b2d31;
  font-size:14.5px; line-height:1.3;
  display:flex; align-items:center; flex-wrap:wrap; gap:4px 7px;
}
.tc-fin__logo{ display:block; flex:0 0 auto; width:72px; height:auto; }
.tc-fin__note{
  margin:5px 0 0; color:#6b7076;
  font-size:12.5px; line-height:1.3;
}
/* Escritorio: una sola franja, copy a la izquierda y el aviso a la derecha. */
@media (min-width:768px){
  .tc-fin{
    display:flex; align-items:center; justify-content:space-between;
    gap:1.5rem; padding:14px 18px;
  }
  .tc-fin__title{ font-size:17px; }
  .tc-fin__main{ margin:3px 0 0; font-size:15.5px; }
  .tc-fin__logo{ width:76px; }
  .tc-fin__note{ margin:0; flex:0 0 auto; font-size:13.5px; text-align:right; }
}

/* ---- CASILLA "COMPLETA TU COMPRA CON UN CARGADOR ORIGINAL" ----
   Vive junto al boton de anadir al carrito de la ficha. Solo aparece cuando
   el cargador asociado (categoria Cargadores) esta activo y visible, asi que
   no hace falta ninguna bandera extra para mantenerla oculta antes de publicar. */
.tc-charger-addon {
  margin: 10px 0 0;
  padding: 10px 12px;
  border: 1px solid #e3e6ea;
  border-radius: 8px;
  background: #f6f9ff;
}
.tc-charger-addon__label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14.5px;
  line-height: 1.35;
  color: #2b2d31;
  cursor: pointer;
  margin: 0;
}
.tc-charger-addon__checkbox {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: #2471ff;
  cursor: pointer;
}
.tc-charger-addon__checkbox:disabled {
  cursor: default;
}
@media (max-width: 767.98px) {
  .tc-charger-addon { padding: 10px; }
  .tc-charger-addon__label { font-size: 14px; }
}

/* Teaser secundario iPhone 18 Pro / Pro Max (Proximamente) - 16/09/2026
   Reducido y movido tras Productos destacados: no debe competir con el
   hero principal ("Moviles nuevos al mejor precio"), solo informar. */
.tc-hero18-teaser {
  margin: 0 0 2.5rem;
}
.tc-hero18-teaser__img {
  display: block;
  width: 100%;
  max-width: 540px;
  height: auto;
  margin: 0 auto;
  border-radius: 16px;
}

/* Bloque comercial + SEO iPhone 18 Pro / Pro Max - 16/09/2026 (v2: version corta) */
.tc-hero18-seo {
  padding: 2.25rem 0;
  background: #fff;
}
.tc-hero18-seo__inner {
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}
.tc-hero18-seo__lead {
  font-size: 1.0625rem;
  line-height: 1.55;
  color: #2b2b2b;
  margin: 0 0 1rem;
}
.tc-hero18-seo__trust {
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.5;
  color: #4a4a4a;
  letter-spacing: .01em;
  margin: 0 0 1.25rem;
}
.tc-hero18-seo__badge {
  display: inline-block;
  margin: 0 auto;
  padding: .4rem .95rem;
  background: #f1effc;
  color: #4933D1;
  font-weight: 700;
  font-size: .75rem;
  letter-spacing: .04em;
  border-radius: 2rem;
}
@media (max-width: 767.98px) {
  .tc-hero18-seo { padding: 1.75rem 0; }
  .tc-hero18-seo__lead { font-size: 1rem; }
  .tc-hero18-seo__trust { font-size: .875rem; }
  .tc-hero18-seo__badge { font-size: .7rem; padding: .38rem .85rem; }
}

/* CTA del bloque comercial iPhone 18 (21/09/2026): reusa .tc-hero__cta, solo separacion */
.tc-hero18-seo__inner .tc-hero__cta{ margin-top:.25rem; }
.tc-hero18-teaser__img{ cursor:pointer; }

/* TC payment presentation 2026-10-18: presentation only */
body#product .product__right .product__prices{margin:18px 0 12px}
body#product .product__right .product__price{font-size:clamp(2rem,3vw,2.65rem);font-weight:800;line-height:1.12;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:#4330c7}
body#product .product__right .product__tax-infos{margin-top:9px;color:#51596a;font-size:.875rem;line-height:1.5}
body#product .product__right .tc-klarna{display:flex;align-items:center;gap:14px;width:100%;box-sizing:border-box;margin:0 0 20px;padding:17px 19px;border:1px solid #edc8d5;border-radius:14px;background:linear-gradient(110deg,#fff1f6,#fffafc);box-shadow:none;color:#24212a;font-size:1rem;line-height:1.45}
body#product .product__right .tc-klarna__logo{width:72px;height:auto;flex:0 0 72px}
body#product .product__right .tc-klarna__txt{font-weight:650}
@media(max-width:575.98px){body#product .product__right .product__prices{margin-top:14px}body#product .product__right .tc-klarna{padding:14px;gap:12px;font-size:.9375rem}body#product .product__right .tc-klarna__logo{width:64px;flex-basis:64px}}
/* End TC payment presentation 2026-10-18 */

/* TC purchase clarity 2026-10-18: visual only */
body#product .product__right .product__description-short{color:#424b5c;font-size:1rem;line-height:1.65}
body#product .product__right .product__description-short li{margin-bottom:7px}
body#product .product__right .tc-charger-addon__label{background:#fafafe;border-color:#e6e4f0;padding:10px;gap:12px}
body#product .product__right .tc-charger-addon__imgbox{width:72px;height:80px;padding:4px}
body#product .product__right .tc-charger-addon__img--apple{height:48px}
body#product .product__right .tc-charger-addon__img--samsung{width:58px}
body#product .product__right .tc-charger-addon__title{font-size:.9375rem;line-height:1.35}
body#product .product__right .tc-charger-addon__price{font-size:1rem}
body#product .product__actions-qty-add{gap:14px;align-items:center}
body#product .product__add-to-cart-button{min-height:56px;font-size:1.0625rem;font-weight:700;border-radius:12px;box-shadow:0 5px 14px #4330c724}
body#product .product__add-to-cart-button:not(:disabled):hover{box-shadow:0 7px 18px #4330c738}
body#product .product__add-to-cart-button:focus-visible{outline:3px solid #9888ff;outline-offset:3px}
body#product #ps_checkout-payment-method-logo-block-container{margin:16px 0;padding:14px 16px;border:1px solid #e3e6ec;border-radius:12px;background:#fafbfe}
body#product #ps_checkout-payment-method-logo-block-title{color:#384252;font-size:.875rem;font-weight:650;margin-bottom:8px}
body#product #ps_checkout-payment-method-logos-container{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
body#product .blockreassurance--product{border-top:1px solid #e8eaf0;padding-top:16px;margin-top:18px}
.product-miniature .product-miniature__inner{border:1px solid #e5e8ef;border-radius:16px;overflow:hidden;background:#fff;transition:box-shadow .18s ease,border-color .18s ease}
.product-miniature .product-miniature__inner:hover{border-color:#cec6f4;box-shadow:0 8px 22px #2023480d}
.product-miniature .product-miniature__title{font-weight:650;line-height:1.4;color:#242c3b}
.product-miniature .product-miniature__price{font-size:1.4rem;font-weight:750;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:#4330c7}
.product-miniature .product-miniature__add{min-height:44px;border-radius:10px}
@media(max-width:575.98px){body#product .product__actions-qty-add{gap:10px}body#product .product__add-to-cart-button{font-size:1rem;min-height:52px}body#product .product__right .tc-charger-addon__imgbox{width:64px;height:72px}body#product .product__right .tc-charger-addon__img--apple{height:43px}.product-miniature .product-miniature__price{font-size:1.2rem}.product-miniature .product-miniature__title{font-size:.9375rem}}
@media(prefers-reduced-motion:reduce){.product-miniature .product-miniature__inner{transition:none}}
/* End TC purchase clarity 2026-10-18 */

/* TC CTA contrast refinement */
body#product .product__right #add-to-cart-or-refresh .product__add-to-cart .product__add-to-cart-button{font-size:17px!important;border-radius:12px!important;font-weight:700!important;min-height:56px}
@media(max-width:575.98px){body#product .product__right #add-to-cart-or-refresh .product__add-to-cart .product__add-to-cart-button{font-size:16px!important}}

/* TC cart clarity 2026-10-18 */
body#cart .cart-summary{border:1px solid #e2e4ef;border-radius:18px;background:#fafafe;box-shadow:0 8px 24px #24204808}
body#cart .cart-summary__subtotals .cart-summary__line{padding:7px 0;gap:12px;color:#485164}
body#cart .cart-summary__total{margin-top:12px;padding:18px 0;border-top:1px solid #dedfec;border-bottom:1px solid #dedfec}
body#cart .cart-summary__total .cart-summary__label{font-size:.9375rem;color:#242c3b;font-weight:650}
body#cart .cart-summary__total .cart-summary__value{font-size:1.65rem;font-weight:800;color:#4330c7;white-space:nowrap;font-variant-numeric:tabular-nums}
body#cart .cart-summary__actions a.btn-primary{min-height:54px;font-size:17px!important;font-weight:700;border-radius:12px!important;display:flex;align-items:center;justify-content:center}
body#cart .cart-summary__actions a.btn-primary:focus-visible{outline:3px solid #9888ff;outline-offset:3px}
body#cart .cart__item{padding-top:20px;padding-bottom:20px}
body#cart .cart__continue-shopping{min-height:44px;display:inline-flex;align-items:center}
.product-miniature .product-miniature__title{display:block;min-height:2.8em}
@media(max-width:575.98px){body#cart .cart-summary__total .cart-summary__value{font-size:1.45rem}body#cart .cart-summary__total .cart-summary__line{flex-wrap:wrap;gap:8px}}
/* End TC cart clarity 2026-10-18 */

/* TC responsive spacing 2026-10-18 */
body#index .tc-why,body#index .tc-brands,body#index .tc-seo,body#index .tc-local{padding-block:32px}
body#index .tc-hero18-seo{padding-block:28px}
body#index .tc-hero,body#index .tc-cats,body#index .tc-hero18-teaser{margin-bottom:28px}
body#index .section-title{margin-bottom:22px}
@media(max-width:767.98px){body#index .tc-why,body#index .tc-brands,body#index .tc-seo,body#index .tc-faq,body#index .tc-local,body#index .tc-hero18-seo{padding-block:24px}body#index .tc-hero,body#index .tc-cats,body#index .tc-hero18-teaser{margin-bottom:22px}body#index .section-title{margin-bottom:18px}body#index .tc-cats__grid{gap:10px}body#index .tc-cat{padding:12px 14px;min-height:64px}body#index .tc-why__grid{gap:12px}body#index .tc-why__card{display:grid;grid-template-columns:34px 1fr;column-gap:12px;row-gap:5px;text-align:left;padding:16px;align-content:start}body#index .tc-why__card>i{grid-row:span 2;font-size:28px;margin:0;align-self:start}body#index .tc-why__card>h3{font-size:16px;line-height:1.35;margin:0}body#index .tc-why__card>p{font-size:14px;line-height:1.5;margin:0}body#index .tc-official18__copy{padding:24px 22px 8px}body#index .tc-official18>img{height:300px}}
/* End TC responsive spacing 2026-10-18 */

/* TC mobile gallery spacing 2026-10-18 */
@media(max-width:767.98px){body#product .product__images{margin-bottom:18px}body#product .product__carousel .carousel-item img{height:300px;object-fit:contain}body#product .product__thumbnails{margin-top:10px}body#product .product__thumbnails-list{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:2px 2px 6px;scroll-snap-type:x proximity}body#product .product__thumbnails-list>li{flex:0 0 58px;width:58px;scroll-snap-align:start}body#product .product__thumbnail{width:58px;height:58px}body#product .product__thumbnail-image{width:58px;height:58px;object-fit:contain}}
/* End TC mobile gallery spacing 2026-10-18 */

/* TC homepage purchase clarity 2026-10-18 */
body#index .tc-hero__sub{color:#475569}body#index .tc-hero__badge{color:#243c94}body#index .tc-hero__cta{color:#fff;background:#2443b4;background-image:none}body#index .tc-hero__cta:hover{background:#19338e}body#index .tc-hero__cta:focus-visible,body#index .product-miniature__add:focus-visible{outline:3px solid #15265f;outline-offset:4px}body#index .tc-hero__rotator h1{animation:none!important;opacity:1!important;transform:none!important;position:relative!important}body#index .tc-hero__rotator .tc-hero__rot:not(h1){display:none!important}body#index .product-miniature__form{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}body#index .product-miniature__add{width:100%!important;min-height:46px;border-radius:12px!important;gap:6px;justify-content:center}body#index .product-miniature__add-text{display:inline!important;font-size:13px;font-weight:700;white-space:normal}body#index .product-miniature__form .quantity-button__group{justify-content:center}body#index .tc-fin__note{color:#475569;line-height:1.5}@media(max-width:575px){body#index .tc-cats__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}body#index .tc-cat{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;padding:12px 10px;min-height:84px}body#index .tc-cat__ico{width:24px;height:32px;font-size:24px}body#index .tc-cat__arrow{display:none}body#index .tc-cat__txt{min-width:0}body#index .tc-cat__txt strong{font-size:10.5px;line-height:1.4;overflow-wrap:anywhere}body#index .tc-cat__txt>span{font-size:11px;line-height:1.4}body#index .product-miniature__add-text{font-size:12px}body#index .product-miniature__add .material-icons{font-size:19px}}

@media(max-width:359px){body#index .product-miniature__form .quantity-button__group{display:flex;flex-wrap:nowrap!important;width:100%}body#index .product-miniature__form .quantity-button__group>.btn{width:28px!important;min-width:28px;flex:0 0 28px}body#index .product-miniature__form .quantity-button__group>.form-control{width:32px!important;min-width:0;flex:1 1 32px;padding-left:2px;padding-right:2px}}

/* TopCelular 19-10-2026: banner escritorio, imagen completa y menos margen */
@media(min-width:992px){body#index .tc-hero__inner{grid-template-columns:.85fr 1.15fr;gap:24px;padding-block:20px}body#index .tc-hero__media{position:static;align-self:center;min-width:0}body#index .tc-hero__media img{position:static;transform:none;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:980/784}body#index .tc-hero{margin-bottom:20px}}

/* 19-10-2026: ampliacion visual escritorio solicitada, movil intacto */
@media(min-width:992px){body#index .tc-hero__media img{transform:scale(1.10);transform-origin:left center}}

/* TopCelular 19-10-2026: legibilidad y espacios del blog */
.tce .tce-intro{padding-block:28px 22px}.tce .tce-feature{padding-block:24px}.tce .tce-label{margin-top:28px}.tce .tce-grid{align-items:stretch}.tce .tce-card{padding:16px;border:1px solid #e7e9ef;border-radius:14px;background:#fff;min-width:0}.tce .tce-card .tce-read{min-height:44px}.tcea .tcea-cab{padding-top:18px}.tcea .tcea-cuerpo{margin-top:28px}.tcea .tcea-texto h2{scroll-margin-top:100px}.tce .tce-card h3,.tcea .tcea-rel__card h3{text-wrap:pretty}@media(min-width:992px){.tcea .tcea-foto{height:420px;aspect-ratio:auto;margin-top:24px}body .tcea .tcea-foto img{object-fit:contain}}@media(max-width:767px){.tce .tce-intro{padding-block:20px 18px}.tce .tce-card{padding:14px}.tce .tce-grid{gap:18px}.tcea .tcea-cab{padding-top:12px}.tcea .tcea-dek{font-size:1rem;line-height:1.55}.tcea .tcea-foto{margin-top:20px}.tcea .tcea-texto{font-size:17px;line-height:1.7}}

/* Blog: coherencia de portadas y lectura, 21-10-2026 */
body .tce .tce-feature__media,body .tce .tce-card__media{display:block;aspect-ratio:3/2;height:auto;overflow:hidden;background:#f7f8fa;border-radius:12px}
body .tce .tce-feature__media img,body .tce .tce-card__media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
body .tcea .tcea-foto{width:100%;height:auto;aspect-ratio:16/9;max-height:480px;margin:24px auto;background:#f7f8fa;border-radius:14px;overflow:hidden}
body .tcea .tcea-foto img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
body .tcea .tcea-rel__card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#f7f8fa;border-radius:10px}
body .tcea .tcea-texto{min-width:0;overflow-wrap:break-word}body .tcea .tcea-texto p,body .tcea .tcea-texto li{line-height:1.75}body .tcea .tcea-texto h2{margin-top:2rem}body .tcea .tcea-texto a{text-underline-offset:3px}body .tcea .tcea-texto table{display:block;max-width:100%;overflow-x:auto}
@media(max-width:767px){body .tcea .tcea-foto{margin-block:20px;max-height:none}body .tcea .tcea-texto{font-size:17px}body .tce .tce-card h3{line-height:1.3}}

/* TC_MOBILE_CLS_20261023: reserve existing visual space before async assets load. */
body#product #header .header-banner > .klarna-onsite-messaging-container[data-key="top-strip-promotion-badge"]{display:block;min-height:46px}
@media(max-width:767.98px){
 body#product #header .header-banner > .klarna-onsite-messaging-container[data-key="top-strip-promotion-badge"]{min-height:64px}
 body#product .product__carousel > .carousel-inner{height:300px}
 body#product .product__thumbnails{min-height:66px}
 body#product .product__thumbnails-list{min-height:66px}
 body#product .product__thumbnails-list > .product__thumbnail{flex:0 0 58px}
}
