:root{--cast-burgundy:#8a1538;--cast-ink:#2f2926;--cast-paper:#f7f5f2;--cast-line:#ebe4df;}body{color:var(--cast-ink);}body#index #content.page-home{display:flex;flex-direction:column;}body#index #content.page-home>.banner{position:relative;order:-1;display:block;aspect-ratio:16 / 6;margin:0 0 2rem;overflow:hidden;border-radius:18px;background:#efe8e0;box-shadow:0 10px 28px rgba(65,37,28,0.14);}body#index #content.page-home>.banner img{width:100%;height:100%;object-fit:cover;object-position:72% center;}body#index #content.page-home>.banner::before{content:"Castañuelas artesanas\A para cada nivel";position:absolute;z-index:2;top:24%;left:6%;width:44%;color:#3d251f;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,4vw,3.1rem);font-weight:700;line-height:1.06;white-space:pre;text-align:left;}body#index #content.page-home>.banner::after{content:"Descubre la colección →";position:absolute;z-index:2;bottom:18%;left:6%;padding:0.75rem 1.15rem;color:#fff;font-size:0.9rem;font-weight:700;line-height:1;background:var(--cast-burgundy);border-radius:999px;box-shadow:0 5px 15px rgba(138,21,56,0.25);}.product-miniature .thumbnail-top,.product-miniature .product-thumbnail{display:block;aspect-ratio:1 / 1;overflow:hidden;background:#fff;}.product-miniature .product-thumbnail img{width:100% !important;height:100% !important;padding:6px;object-fit:contain !important;object-position:center;background:#fff;}#product .product-cover,#product .product-cover img{background:#fff;}#product .product-cover img{width:100%;aspect-ratio:1 / 1;object-fit:contain;}#product .product-images{display:flex;gap:0.5rem;max-width:100%;padding-bottom:0.35rem;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;}#product .product-images>li.thumb-container{flex:0 0 72px;margin:0;}#product .product-images img.thumb{width:72px;height:72px;object-fit:contain;background:#fff;}@media (max-width:767px){body{background:var(--cast-paper);}.container{width:100%;padding-right:14px;padding-left:14px;}#header{box-shadow:0 2px 14px rgba(44,31,24,0.08);}#header .header-nav{display:flex;min-height:56px;align-items:center;margin:0;border:0;background:#fff;}#header .header-nav .top-logo{padding-top:0;}#header .header-nav .top-logo img{width:auto;max-width:150px;max-height:34px;}#header .header-nav .blockcart{min-height:56px;background:var(--cast-burgundy);}#header .header-nav #menu-icon,#header .header-nav .user-info a{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;color:#222;}#header .header-top{padding:10px 0;background:#fff;}#search_widget{width:100%;margin:0;}#search_widget form input{height:44px;padding-left:42px;font-size:0.9rem;background:#f5f3f1;border:1px solid var(--cast-line);border-radius:11px;}#search_widget form input:focus{border-color:var(--cast-burgundy);outline:0;box-shadow:0 0 0 3px rgba(138,21,56,0.1);}#mobile_top_menu_wrapper .top-menu a[data-depth="0"]{padding:14px 10px;color:#222;font-size:0.95rem;font-weight:600;border-bottom:1px solid #eee;}#wrapper{padding-top:14px;background:var(--cast-paper);}body#index #content.page-home>.banner{aspect-ratio:4 / 3;margin-bottom:1.75rem;border-radius:16px;}body#index #content.page-home>.banner img{object-position:72% center;}body#index #content.page-home>.banner::before{top:13%;left:18px;width:57%;font-size:clamp(1.45rem,7vw,1.8rem);}body#index #content.page-home>.banner::after{bottom:12%;left:18px;padding:0.7rem 0.95rem;font-size:0.8rem;}.products-section-title,#products .h1{margin-bottom:18px !important;color:#302722;font-family:Georgia,"Times New Roman",serif !important;font-size:1.45rem !important;line-height:1.15;letter-spacing:0;text-transform:none !important;}.featured-products{margin-bottom:1.75rem;}.featured-products .products,#js-product-list .products{display:flex;flex-wrap:wrap;margin-right:-6px;margin-left:-6px;}.featured-products .product,#js-product-list .product{flex:0 0 50%;width:50% !important;max-width:50%;margin-bottom:12px;padding-right:6px;padding-left:6px;}.product-miniature .thumbnail-container{width:100% !important;height:100%;min-height:0 !important;margin:0 !important;overflow:hidden;background:#fff;border-radius:14px;box-shadow:0 4px 16px rgba(55,38,30,0.08);}.product-miniature .product-description{position:relative !important;width:100% !important;height:auto !important;min-height:112px;padding:12px 10px 14px;background:#fff;}.product-miniature .product-title{min-height:38px;margin:0 0 7px;line-height:1.25;}.product-miniature .product-title a{display:-webkit-box;overflow:hidden;color:#342c28;font-size:0.8rem;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2;}.product-miniature .product-price-and-shipping{color:#241d1a;font-size:0.95rem;font-weight:700;}.product-miniature .highlighted-informations{display:none !important;}.product-miniature .wishlist-button-add{top:8px;right:8px;width:36px;height:36px;}.all-product-link{margin-top:8px;color:var(--cast-burgundy) !important;font-size:0.85rem;}body#category #left-column,body#category #category-description{display:none;}body#category #content-wrapper{width:100%;padding-right:15px;padding-left:15px;}#products .products-selection{margin-bottom:1rem;padding:0.75rem;background:#fff;border-radius:12px;}#product .product-information,.cart-container,#checkout .checkout-step{border-radius:14px;}#product .add-to-cart,.cart-detailed-actions .btn-primary,#checkout .continue,#checkout .btn-primary{min-height:46px;border:0;border-radius:10px;background:var(--cast-burgundy);}#product .js-qv-mask{width:100%;margin:0;overflow:hidden;}#product .product-quantity{display:grid;grid-template-columns:48px minmax(0,1fr) 40px;gap:8px;align-items:start;}#product .product-quantity .qty,#product .product-quantity .wishlist-button-product{margin:0;}#product .product-quantity .add{min-width:0;}#product .add-to-cart{width:100%;padding-right:0.5rem;padding-left:0.5rem;font-size:0.875rem;white-space:normal;}.cart-item .product-line-info{font-size:0.875rem;line-height:1.35;}}@media (max-width:365px){body#index #content.page-home>.banner{aspect-ratio:1 / 1;}body#index #content.page-home>.banner::before{font-size:1.4rem;}.product-miniature .product-description{min-height:108px;padding-right:8px;padding-left:8px;}.product-miniature .product-title a{font-size:0.75rem;}#checkout .checkout-step .step-title{font-size:1.15rem;line-height:1.3;}}

.product-miniature .product-thumbnail{width:100%!important}.product-miniature .product-thumbnail picture{display:block;width:100%;height:100%}body#index #content .page-home>.banner{background-image:linear-gradient(90deg,rgba(250,246,241,.93) 0%,rgba(250,246,241,.76) 42%,rgba(250,246,241,.08) 72%),url("https://castanuelas.net/themes/leo_vanis_fashion/img/modules/leoslideshow/DSC_6224-Editar%20menor%20tama%C3%83%C2%B1o%20sin%20doblez.jpg");background-size:cover;background-position:center 38%}body#index #content .page-home>.banner img{opacity:0}#header .header-nav .blockcart{background:#8a1538!important}#header .header-nav .blockcart a,#header .header-nav .blockcart i{color:#fff!important}
body#index #content.page-home>.banner{background-image:linear-gradient(90deg,rgba(250,246,241,.93) 0%,rgba(250,246,241,.76) 42%,rgba(250,246,241,.08) 72%),url("https://castanuelas.net/themes/leo_vanis_fashion/img/modules/leoslideshow/DSC_6224-Editar%20menor%20tama%C3%83%C2%B1o%20sin%20doblez.jpg");background-size:cover;background-position:center 38%}body#index #content.page-home>.banner img{opacity:0}@media(max-width:767px){html,body{max-width:100%;overflow-x:hidden}body#category #wrapper,body#category #content-wrapper,body#category #js-product-list{max-width:100%;overflow-x:hidden}}
@media (max-width:767px){
html,body{max-width:100%;overflow-x:hidden}
body#index #content.page-home>.banner{background-image:none!important}
body#index #content.page-home>.banner img{opacity:1!important;display:block;width:100%;height:100%;object-fit:cover;object-position:50% center}
body#product .product-variants select{min-height:44px}
body#product .product-variants input[type=radio]+span,body#product .product-variants .color{min-width:36px;min-height:36px}
body#product .bootstrap-touchspin .btn-touchspin{min-width:36px;min-height:30px}
body#product .wishlist-button-add{min-width:44px;min-height:44px}
body#cart .product-line-grid-right .product-price{width:auto!important;min-width:82px;text-align:right}
#header .top-logo img{max-width:100%!important;height:auto!important}
}

body#index #content.page-home>.banner{background-image:none!important}
body#index #content.page-home>.banner img{opacity:1!important;content:url("/modules/ps_banner/img/sale70.png?v=202609140842")}
@media(max-width:767px){
body#cart .product-line-grid-right .row .price{flex:0 0 50%;max-width:50%;width:50%!important;white-space:nowrap}
}

@media(max-width:767px){
.product-miniature .thumbnail-top>.product-thumbnail{height:100%!important}
.product-miniature .thumbnail-top>.product-thumbnail picture,.product-miniature .thumbnail-top>.product-thumbnail img{display:block;width:100%!important;height:100%!important;object-fit:contain!important}
}

@media(max-width:767px){
.product-miniature .thumbnail-top,.product-miniature .thumbnail-top>.product-thumbnail{height:calc((100vw - 55px)/2)!important;aspect-ratio:1/1!important}
.product-miniature .thumbnail-top>.product-thumbnail picture,.product-miniature .thumbnail-top>.product-thumbnail img{display:block;width:100%!important;height:100%!important;object-fit:contain!important}
body#product .product-variants input[type=radio]+span,body#product .product-variants .color{min-width:44px!important;min-height:44px!important;display:inline-flex;align-items:center;justify-content:center}
}

@media(max-width:767px){
body#cart .remove-from-cart,body#cart .cart-line-product-actions a,body#cart .product-line-grid-right .cart-line-product-actions a{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px!important;min-height:44px!important}
}

@media(max-width:767px){
body#cart .cart-overview .qty .bootstrap-touchspin{display:flex!important;align-items:flex-start;width:88px!important;max-width:100%}
body#cart .cart-overview .qty .js-cart-line-product-quantity{flex:0 0 44px;width:44px!important;height:44px!important;min-width:44px;min-height:44px;padding:0 4px;text-align:center}
body#cart .cart-overview .qty .input-group-btn-vertical{position:static!important;display:flex!important;flex:0 0 44px;width:44px!important;flex-direction:column}
body#cart .cart-overview .qty .input-group-btn-vertical>.btn{position:static!important;display:inline-flex!important;align-items:center;justify-content:center;width:44px!important;height:44px!important;min-width:44px;min-height:44px;margin:0!important;padding:0!important}
}

@media (max-width:767px){
body#cart .cart-overview .product-line-grid-right .qty{width:88px!important;padding-left:0!important;padding-right:0!important}
body#cart .cart-overview .product-line-grid-right .price{width:calc(100% - 88px)!important;padding-left:8px!important;padding-right:0!important}
}


/* Colecciones: selector responsive de categorias */
:root{--collections-header-height:108px}
.mobile-category-showcase{box-sizing:border-box}
body#index #content .page-home>.banner{display:block}
body#index #content .page-home>.banner::before,body#index #content .page-home>.banner::after{pointer-events:none}
@media(max-width:767px){
 html{scroll-behavior:smooth}
 .mobile-category-showcase{display:grid;grid-template-rows:repeat(5,minmax(0,1fr));gap:7px;width:100%;height:calc(100svh - var(--collections-header-height));padding:8px 12px 10px;overflow:hidden;scroll-margin-top:var(--collections-header-height);background:#f6f2ed}
 .mobile-category-banner{position:relative;display:flex;min-width:0;min-height:0;align-items:center;overflow:hidden;padding:12px 47% 12px 18px;border:1px solid rgba(92,58,36,.12);border-radius:13px;color:#fff;text-decoration:none;isolation:isolate;background:#d8c2af;box-shadow:0 3px 12px rgba(45,28,18,.13)}
 .mobile-category-banner:nth-of-type(2){background-color:#b68770}.mobile-category-banner:nth-of-type(3){background-color:#aa8061}.mobile-category-banner:nth-of-type(4){background-color:#725041}.mobile-category-banner:nth-of-type(5){background-color:#9b7361}
 .mobile-category-banner::after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(100deg,rgba(43,25,18,.97) 0%,rgba(91,55,37,.88) 48%,rgba(91,55,37,.16) 76%,transparent 100%),linear-gradient(115deg,rgba(255,255,255,.1),transparent 40%,rgba(255,255,255,.06))}
 .mobile-category-banner img{position:absolute;z-index:0;top:0;right:0;width:58%;height:100%;object-fit:cover;object-position:center;transition:transform 180ms ease}
 .mobile-category-banner--left{justify-content:flex-end;padding:12px 18px 12px 47%;text-align:right}.mobile-category-banner--left::after{background:linear-gradient(260deg,rgba(43,25,18,.97) 0%,rgba(91,55,37,.88) 48%,rgba(91,55,37,.16) 76%,transparent 100%),linear-gradient(245deg,rgba(255,255,255,.1),transparent 40%,rgba(255,255,255,.06))}.mobile-category-banner--left img{right:auto;left:0}
 .mobile-category-banner__name{position:relative;z-index:2;display:block;max-width:100%;font-family:Georgia,"Times New Roman",serif;font-size:clamp(15px,4.2vw,19px);font-weight:600;line-height:1.08;letter-spacing:.01em;text-wrap:balance;text-shadow:0 1px 3px rgba(0,0,0,.45)}
 .mobile-category-banner:focus,.mobile-category-banner:hover{color:#fff;text-decoration:none}.mobile-category-banner:focus-visible{outline:3px solid #f2c66d;outline-offset:-4px}.mobile-category-banner:active img{transform:scale(1.035)}
}
@media(max-width:374px),(max-height:700px){.mobile-category-showcase{gap:5px;padding:6px 9px 8px}.mobile-category-banner{padding-top:7px;padding-bottom:7px;border-radius:10px}.mobile-category-banner__name{font-size:clamp(14px,4vw,17px)}}
@media(min-width:768px){
 .mobile-category-showcase{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;max-width:1320px;margin:28px auto;padding:0 20px}
 .mobile-category-banner{position:relative;display:flex;min-height:210px;align-items:flex-end;overflow:hidden;padding:18px;border-radius:16px;color:#fff;text-decoration:none;background:#5b3725;isolation:isolate}
 .mobile-category-banner img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;transition:transform 180ms ease}.mobile-category-banner::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(transparent 35%,rgba(35,20,14,.88))}.mobile-category-banner__name{position:relative;z-index:2;font:600 20px/1.15 Georgia,serif;text-shadow:0 1px 3px rgba(0,0,0,.55)}.mobile-category-banner:hover{color:#fff;text-decoration:none}.mobile-category-banner:hover img{transform:scale(1.035)}
}

/* Header logo responsive 20260914 */
@media (max-width:767px){
 #header .header-nav .container,#header .header-nav .row,#header .header-nav .mobile{width:100%;max-width:none}
 #header .header-nav .row{margin:0}
 #header .header-nav .mobile{display:grid!important;grid-template-columns:60px minmax(0,1fr) 50px 72px;grid-template-areas:"menu logo user cart";align-items:center;height:56px!important}
 #header #menu-icon{grid-area:menu;float:none!important;margin:0!important;width:60px!important;height:56px!important}
 #header #_mobile_logo{grid-area:logo;float:none!important;display:flex!important;align-items:center;justify-content:center;width:100%!important;height:56px!important;min-width:0}
 #header #_mobile_logo h1{width:auto!important;margin:0!important;line-height:0}
 #header #_mobile_logo a{display:block;line-height:0}
 #header #_mobile_logo img.logo{display:block;width:clamp(132px,38vw,160px)!important;height:auto!important;max-width:100%!important;object-fit:contain}
 #header #_mobile_user_info{grid-area:user;float:none!important;width:50px!important;height:56px!important}
 #header #_mobile_cart{grid-area:cart;float:none!important;width:72px!important;height:56px!important}
 #header #_mobile_user_info .user-info,#header #_mobile_user_info .user-info a,#header #_mobile_cart .blockcart,#header #_mobile_cart .blockcart .header,#header #_mobile_cart .blockcart .header a{display:flex;align-items:center;justify-content:center;height:56px!important;padding:0!important}
}
@media (min-width:768px){#header #_desktop_logo img.logo{display:block;width:160px!important;height:auto!important;object-fit:contain;margin:auto}}
body#index a.banner img{content:normal!important}


/* Hero artistico: mostrar lienzo completo sin capas duplicadas 20260914 */
body#index #content.page-home>.banner{aspect-ratio:auto!important;height:auto!important}
body#index #content.page-home>.banner::before,body#index #content.page-home>.banner::after{display:none!important;content:none!important}
body#index #content.page-home>.banner img{content:normal!important;display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important}

/* Hero móvil casi cuadrado 20260914 */
@media (max-width:767.98px){
 body#index #content.page-home>.banner img{content:url("/modules/ps_banner/img/banner-principal-movil-11x10-v1.png")!important;width:100%!important;height:auto!important;aspect-ratio:1315/1196!important;object-fit:contain!important;object-position:center!important}
}


/* Categorias movil premium - coherentes con hero 20260914 */
@media (max-width: 767.98px) {
  body#index #colecciones-castanuelas.mobile-category-showcase {
    display: grid !important;
    grid-template-rows: repeat(5, minmax(0, 1fr)) !important;
    gap: 6px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: calc(100svh - 6px) !important;
    min-height: 620px !important;
    max-height: 850px !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    overflow: hidden !important;
    scroll-margin-top: 6px !important;
    background: #f7f2ec !important;
  }
  body#index #colecciones-castanuelas #mobile-category-title {
    display: none !important;
  }
  body#index #colecciones-castanuelas .mobile-category-banner,
  body#index #colecciones-castanuelas .mobile-category-banner--left {
    position: relative !important;
    display: flex !important;
    min-height: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
    padding: 12px 50% 12px 18px !important;
    overflow: hidden !important;
    border: 1px solid rgba(199,154,88,.68) !important;
    border-radius: 14px !important;
    color: #fff8ed !important;
    text-align: left !important;
    text-decoration: none !important;
    isolation: isolate !important;
    background: linear-gradient(110deg,#260b0e,#4b1718 62%,#713b27) !important;
    box-shadow: inset 0 0 0 1px rgba(255,239,211,.08),0 5px 14px rgba(51,20,16,.18) !important;
  }
  body#index #colecciones-castanuelas .mobile-category-banner::before {
    content: "" !important;
    position: absolute !important;
    z-index: 1 !important;
    inset: 0 !important;
    pointer-events: none !important;
    background: linear-gradient(90deg,rgba(38,11,14,1) 0%,rgba(63,19,19,.97) 43%,rgba(63,19,19,.6) 58%,rgba(63,19,19,.08) 82%) !important;
  }
  body#index #colecciones-castanuelas .mobile-category-banner::after {
    content: "" !important;
    position: absolute !important;
    z-index: 2 !important;
    left: 18px !important;
    bottom: 15% !important;
    width: 31px !important;
    height: 1px !important;
    background: #c79a58 !important;
  }
  body#index #colecciones-castanuelas .mobile-category-banner img,
  body#index #colecciones-castanuelas .mobile-category-banner--left img {
    position: absolute !important;
    z-index: 0 !important;
    inset: 0 0 0 auto !important;
    width: 56% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    filter: saturate(.82) contrast(1.08) sepia(.08) !important;
  }
  body#index #colecciones-castanuelas .mobile-category-banner__name {
    position: relative !important;
    z-index: 3 !important;
    display: block !important;
    max-width: 100% !important;
    padding-bottom: 10px !important;
    color: #fff8ed !important;
    font-family: Georgia,"Times New Roman",serif !important;
    font-size: clamp(15.5px,4.25vw,19px) !important;
    font-weight: 600 !important;
    line-height: 1.08 !important;
    letter-spacing: .005em !important;
    text-shadow: 0 2px 4px rgba(0,0,0,.58) !important;
  }
  body#index #colecciones-castanuelas .mobile-category-banner:nth-of-type(1) img { object-position: 55% 47% !important; }
  body#index #colecciones-castanuelas .mobile-category-banner:nth-of-type(2) img { object-position: 42% 49% !important; }
  body#index #colecciones-castanuelas .mobile-category-banner:nth-of-type(3) img { object-position: 62% 47% !important; }
  body#index #colecciones-castanuelas .mobile-category-banner:nth-of-type(4) img { object-position: 44% 51% !important; }
  body#index #colecciones-castanuelas .mobile-category-banner:nth-of-type(5) img { object-position: 53% 52% !important; }
  body#index #colecciones-castanuelas .mobile-category-banner:focus-visible {
    outline: 3px solid #e1b86e !important;
    outline-offset: -4px !important;
  }
  body#index #colecciones-castanuelas .mobile-category-banner:active { transform: scale(.992); }
}

@media (max-width: 767.98px) {
  body#index #colecciones-castanuelas .mobile-category-banner:nth-of-type(2) img {
    width: 66% !important;
    object-position: 26% 49% !important;
    transform: scale(1.18);
    transform-origin: center;
  }
}

/* CASTANUELAS_RESPONSIVE_FINAL_BEGIN */
/* CASTANUELAS_RESPONSIVE_FINAL:BEGIN */
/*
 * Castanuelas.com - integración responsive/rendimiento para Classic
 * Versión: 2026-09-14
 *
 * Integrar este bloque DENTRO del único custom.css del tema, sustituyendo
 * las reglas anteriores de los mismos selectores. No enlazarlo como segundo CSS.
 */

/* ---------- Hero de portada: proporción estable, sin marco ni degradado ---------- */
body#index #content.page-home > .banner {
  position: relative;
  display: block;
  width: 100%;
  height: auto !important;
  aspect-ratio: 2061 / 763;
  overflow: hidden;
  background: #efe8e0;
  background-image: none !important;
  border: 0;
}

body#index #content.page-home > .banner::before,
body#index #content.page-home > .banner::after {
  content: none !important;
  display: none !important;
}

body#index #content.page-home > .banner > img {
  content: normal !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 1 !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* ---------- Fotos de producto: una única caja cuadrada en todas las vistas ---------- */
.product-miniature .thumbnail-top,
.product-miniature .thumbnail-top > .product-thumbnail {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden;
  background: #fff;
}

.product-miniature .thumbnail-top > .product-thumbnail picture,
.product-miniature .thumbnail-top > .product-thumbnail img {
  display: block;
  width: 100% !important;
  height: 100% !important;
}

.product-miniature .thumbnail-top > .product-thumbnail img {
  padding: 6px;
  object-fit: contain !important;
  object-position: center !important;
  background: #fff;
}

/* ---------- Categoría: respeta el formato panorámico real 870x217 ---------- */
body#category .category-cover {
  height: auto;
  overflow: hidden;
}

body#category .category-cover img {
  display: block;
  width: 100%;
  height: auto !important;
  aspect-ratio: 870 / 217;
  object-fit: contain;
  object-position: center;
}

/* ---------- Escritorio: compacta el menú de 15 categorías ---------- */
@media (min-width: 768px) {
  #header .header-top .menu > .top-menu {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    gap: 0 3px;
  }

  #header .header-top .top-menu > li > a.dropdown-item {
    padding: 6px 7px;
    font-size: 0.75rem;
    line-height: 1.25;
  }
}

/* ---------- Móvil ---------- */
@media (max-width: 767.98px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  body#index #content.page-home > .banner {
    aspect-ratio: 4 / 3;
  }

  body#index #content.page-home > .banner > img {
    object-fit: cover !important;
  }
}

/* En 320 px el contenido editorial medido ocupa 280-288 px. */
@media (max-width: 365px) {
  body#index #content.page-home > .banner {
    aspect-ratio: 1 / 1;
  }

  body#index .home-editorial-banner,
  body#index .home-editorial-banner__content {
    min-height: 290px;
  }

  body#index .home-editorial-banner__content {
    width: min(78%, 220px);
    padding: 20px 16px;
  }
}
/* CASTANUELAS_RESPONSIVE_FINAL:END */
/* CASTANUELAS_RESPONSIVE_FINAL_END */

/* CASTANUELAS_PRODUCT_FINAL_BEGIN */
/*
 * Ajustes finales para la ficha de producto de PrestaShop Classic.
 * Acotados a body#product para no alterar listados, portada ni carrito.
 */

body#product {
  --product-accent: #8a1538;
  --product-accent-dark: #68102a;
  --product-ink: #232323;
  --product-muted: #5f5a57;
  --product-line: #dedad7;
  --product-soft: #f7f4f2;
  --product-focus: #146c94;
}

body#product #main,
body#product .product-container,
body#product .product-container > [class*="col-"] {
  min-width: 0;
}

/* Galería: proporción estable y miniaturas sin barra de scroll visible. */
body#product .product-cover,
body#product .product-cover picture {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #fff;
}

body#product .product-cover .js-qv-product-cover {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body#product .product-images {
  gap: 8px;
  padding: 0 2px 6px;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

body#product .product-images::-webkit-scrollbar {
  display: none;
}

body#product .product-images .thumb-container {
  flex: 0 0 80px;
  margin: 0;
  scroll-snap-align: start;
}

body#product .product-images .thumb {
  width: 80px;
  height: 80px;
  padding: 4px;
  object-fit: contain;
  background: #fff;
  border: 2px solid transparent;
}

body#product .product-images .thumb.selected,
body#product .product-images .thumb-container[aria-current="true"] .thumb {
  border-color: var(--product-accent);
}

/* Jerarquía: nombre en caja normal y precio con contraste AA. */
body#product .product-container h1.h1 {
  margin: 0 0 12px;
  color: var(--product-ink);
  font-size: clamp(1.4rem, 2vw, 1.9rem);
  line-height: 1.15;
  letter-spacing: -0.015em;
  text-transform: none;
}

body#product .product-prices {
  margin-bottom: 18px;
}

body#product .product-price,
body#product .current-price,
body#product .current-price .current-price-value {
  color: var(--product-accent);
  font-size: 1.5rem;
  line-height: 1.2;
  font-weight: 700;
}

body#product .tax-shipping-delivery-label {
  color: var(--product-muted);
}

/* Variantes: grupos compactos, controles consistentes y selección visible. */
body#product .product-variants > .product-variants-item {
  margin: 0 0 18px;
}

body#product .product-variants-item .control-label {
  display: block;
  margin: 0 0 7px;
  color: var(--product-ink);
  font-weight: 600;
  line-height: 1.35;
}

body#product .product-variants-item ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
}

body#product .product-variants-item .input-container {
  float: none !important;
  margin: 0 !important;
}

body#product .product-variants-item select.form-control-select {
  min-height: 44px;
  padding: 8px 38px 8px 12px;
  color: var(--product-ink);
  background-color: #fff;
  border: 1px solid #aaa3a0;
  border-radius: 4px;
}

body#product .product-variants-item .radio-label {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 12px;
  color: var(--product-ink);
  line-height: 1.3;
  white-space: normal;
  background: #fff;
  border: 1px solid var(--product-line);
  border-radius: 4px;
}

body#product .product-variants-item .input-radio:checked + .radio-label {
  color: var(--product-accent-dark);
  background: #fff7f9;
  border: 2px solid var(--product-accent);
}

body#product .product-variants-item .color {
  width: 44px;
  height: 44px;
  margin: 0;
  border: 1px solid #8b8581;
  box-shadow: none;
}

body#product .product-variants-item .input-color:checked + .color {
  border: 3px solid #fff;
  outline: 2px solid var(--product-accent);
  outline-offset: 0;
}

/* Compra: cantidad, CTA y favoritos forman una sola fila estable. */
body#product .product-add-to-cart {
  margin-top: 2px;
}

body#product .product-add-to-cart > .control-label {
  display: block;
  margin-bottom: 7px;
  font-weight: 600;
}

body#product .product-quantity {
  display: grid !important;
  grid-template-columns: 88px minmax(0, 1fr) 48px;
  gap: 8px;
  align-items: start;
  width: 100%;
}

body#product .product-quantity .qty {
  width: 88px !important;
  height: 48px !important;
  margin: 0;
}

body#product .product-quantity .bootstrap-touchspin {
  display: grid !important;
  grid-template-columns: 44px 44px;
  grid-template-rows: 24px 24px;
  width: 88px;
  height: 48px;
}

body#product .product-quantity #quantity_wanted {
  grid-column: 1;
  grid-row: 1 / 3;
  width: 44px !important;
  height: 48px;
  padding: 0;
  text-align: center;
  border: 1px solid #aaa3a0;
  border-radius: 4px 0 0 4px;
}

body#product .product-quantity .input-group-btn-vertical {
  position: static;
  grid-column: 2;
  grid-row: 1 / 3;
  display: grid;
  grid-template-rows: 24px 24px;
  width: 44px;
  height: 48px;
}

body#product .product-quantity .btn-touchspin {
  position: static;
  width: 44px;
  height: 24px;
  min-height: 24px;
  padding: 0;
  border-color: #aaa3a0;
  border-radius: 0 4px 0 0;
}

body#product .product-quantity .bootstrap-touchspin-down {
  border-radius: 0 0 4px 0;
}

body#product .product-quantity .add {
  width: auto;
  min-width: 0;
}

body#product .product-quantity .add-to-cart {
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 0 12px;
  color: #fff;
  background: var(--product-accent);
  border-color: var(--product-accent);
  border-radius: 5px;
  font-weight: 700;
}

body#product .product-quantity .add-to-cart:hover,
body#product .product-quantity .add-to-cart:focus {
  background: var(--product-accent-dark);
  border-color: var(--product-accent-dark);
}

body#product .product-quantity .wishlist-button-product {
  width: 48px;
  min-width: 48px;
  height: 48px;
  margin: 0;
}

body#product body#product-availability {
  grid-column: 1 / -1;
  width: 100%;
  margin: 8px 0 0;
}

body#product body#product-availability .alert {
  margin: 0;
}

/* Confianza: icono y texto alineados; tres tarjetas en escritorio. */
body#product .blockreassurance_product {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 28px 0;
}

body#product .blockreassurance_product > div:not(.clearfix) {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-content: start;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--product-line);
  border-radius: 6px;
}

body#product .blockreassurance_product .item-product {
  grid-column: 1;
  grid-row: 1 / 3;
  width: 40px;
  height: 40px;
  margin: 0;
}

body#product .blockreassurance_product .item-product svg,
body#product .blockreassurance_product .item-product img {
  width: 36px !important;
  height: 36px !important;
}

body#product .blockreassurance_product .block-title {
  grid-column: 2;
  margin: 0;
  font-weight: 700;
  line-height: 1.3;
}

body#product .blockreassurance_product p {
  grid-column: 2;
  margin: 3px 0 0;
  line-height: 1.4;
}

body#product .blockreassurance_product > .clearfix {
  display: none;
}

/* La ficha técnica usa todo el ancho disponible y no parece una pestaña vacía. */
body#product .tabs {
  width: 100%;
  margin-top: 12px;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--product-line);
  border-radius: 6px;
  box-shadow: none;
}

body#product .tabs .nav-tabs .nav-link,
body#product .tabs .nav-tabs .nav-link.active {
  color: var(--product-accent-dark);
  border-bottom-color: var(--product-accent);
}

body#product .product-features > dl.data-sheet {
  display: grid;
  grid-template-columns: minmax(130px, 0.6fr) minmax(0, 1fr);
  gap: 6px 10px;
}

body#product .product-features > dl.data-sheet dt,
body#product .product-features > dl.data-sheet dd {
  width: auto;
  min-width: 0;
  margin: 0;
}

/* Foco visible para teclado, también en elementos que el JS hace operables. */
body#product :is(button, select, input, [role="button"], a):focus-visible {
  outline: 3px solid var(--product-focus);
  outline-offset: 3px;
}

@media (min-width: 992px) {
  body#product .product-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 56px;
    align-items: start;
    margin-right: 0;
    margin-left: 0;
  }

  body#product .product-container > .col-md-6:first-child {
    grid-column: 1;
    grid-row: 1 / span 4;
    width: auto;
    max-width: none;
    padding: 0;
    position: sticky;
    top: 16px;
  }

  body#product .product-container > .col-md-6:nth-child(2),
  body#product .product-information {
    display: contents;
  }

  body#product .product-container > .col-md-6:nth-child(2) > h1 {
    grid-column: 2;
    grid-row: 1;
  }

  body#product .product-container > .col-md-6:nth-child(2) > .product-prices {
    grid-column: 2;
    grid-row: 2;
  }

  body#product .product-information > .product-description {
    grid-column: 2;
    grid-row: 3;
  }

  body#product .product-information > .product-actions {
    grid-column: 2;
    grid-row: 4;
  }

  body#product .product-information > .blockreassurance_product {
    grid-column: 1 / -1;
    grid-row: 5;
  }

  body#product .product-information > .tabs {
    grid-column: 1 / -1;
    grid-row: 6;
  }
}

@media (max-width: 767.98px) {
  body#product .breadcrumb {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body#product .breadcrumb li:last-child {
    display: none;
  }

  body#product .product-container h1.h1 {
    margin-top: 14px;
    font-size: 1.4rem;
  }

  body#product .product-images .thumb-container,
  body#product .product-images .thumb {
    width: 72px;
    flex-basis: 72px;
  }

  body#product .product-variants > .product-variants-item {
    margin-bottom: 16px;
  }

  body#product .product-variants-item .radio-label {
    width: 100%;
  }

  body#product .blockreassurance_product {
    grid-template-columns: 1fr;
    margin: 22px 0;
  }

  body#product .tabs {
    padding: 18px 14px;
  }
}

@media (max-width: 359.98px) {
  body#product .product-quantity {
    grid-template-columns: 80px minmax(0, 1fr) 44px;
    gap: 6px;
  }

  body#product .product-quantity .qty,
  body#product .product-quantity .bootstrap-touchspin {
    width: 80px !important;
  }

  body#product .product-quantity .bootstrap-touchspin {
    grid-template-columns: 40px 40px;
  }

  body#product .product-quantity #quantity_wanted,
  body#product .product-quantity .input-group-btn-vertical,
  body#product .product-quantity .btn-touchspin {
    width: 40px !important;
  }

  body#product .product-quantity .wishlist-button-product {
    width: 44px;
    min-width: 44px;
  }

  body#product .product-quantity .add-to-cart {
    padding: 0 7px;
    font-size: 0.78rem;
  }
}
/* CASTANUELAS_PRODUCT_FINAL_END */

/* CASTANUELAS_320_FINAL_START */
/*
 * Correcciones finales para móviles estrechos (320-359 px).
 * Añadir al final del custom.css activo para que prevalezca sobre los bloques anteriores.
 */
@media (max-width: 359.98px) {
  /* El CTA de regalos necesita más ancho útil que el 64 % heredado. */
  body#index .gift-event-banner .home-editorial-banner__content {
    width: 78% !important;
    max-width: 78% !important;
    padding: 18px 16px !important;
  }

  body#index .gift-event-banner .home-editorial-banner__cta {
    max-width: 100%;
    box-sizing: border-box;
    padding: 6px 7px;
    font-size: 0.5rem;
    line-height: 1.15;
    letter-spacing: 0.04em;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  /* Permite dos líneas completas en las categorías largas del menú hamburguesa. */
  #mobile_top_menu_wrapper .top-menu .dropdown-item,
  #mobile_top_menu_wrapper .top-menu a[data-depth] {
    display: block;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding-right: 44px;
    line-height: 1.3;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: break-word;
  }

  /* Recupera 30 px para el logo manteniendo cómodos los cuatro controles. */
  #header .header-nav .mobile {
    grid-template-columns: 48px minmax(0, 1fr) 44px 60px !important;
  }

  #header #menu-icon {
    width: 48px !important;
  }

  #header #_mobile_user_info {
    width: 44px !important;
  }

  #header #_mobile_cart {
    width: 60px !important;
  }

  #header #_mobile_logo h1,
  #header #_mobile_logo a {
    width: 100% !important;
  }

  #header #_mobile_logo img.logo {
    width: 154px !important;
    max-width: 100% !important;
    max-height: 38px !important;
  }

  /* Una sola línea para comprar, conservando cantidad y favoritos accesibles. */
  body#product .product-quantity {
    grid-template-columns: 72px minmax(0, 1fr) 40px;
    gap: 5px;
  }

  body#product .product-quantity .qty,
  body#product .product-quantity .bootstrap-touchspin {
    width: 72px !important;
  }

  body#product .product-quantity .bootstrap-touchspin {
    grid-template-columns: 36px 36px;
  }

  body#product .product-quantity #quantity_wanted,
  body#product .product-quantity .input-group-btn-vertical,
  body#product .product-quantity .btn-touchspin {
    width: 36px !important;
  }

  body#product .product-quantity .wishlist-button-product {
    width: 40px;
    min-width: 40px;
  }

  body#product .product-quantity .add-to-cart {
    padding: 0 5px;
    font-size: 0.72rem;
    line-height: 1;
    white-space: nowrap;
  }

  body#product .product-quantity .add-to-cart .material-icons {
    margin-right: 3px;
    font-size: 18px;
  }
}
/* CASTANUELAS_320_FINAL_END */

/* CASTANUELAS_PRODUCT_TABLET_768_991_BEGIN */
@media (min-width: 768px) and (max-width: 991.98px) {
  /* La franja superior no dispone de espacio para teléfono y controles a la vez. */
  #header .header-nav .left-nav {
    display: none !important;
  }

  #header .header-nav .right-nav {
    display: flex;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    align-items: center;
    justify-content: flex-end;
  }

  /* Evita que la fila/columnas Bootstrap ensanchen la ficha. */
  body#product #main,
  body#product .product-container,
  body#product .product-container > [class*="col-"],
  body#product .product-information,
  body#product .product-actions {
    min-width: 0;
    max-width: 100%;
  }

  body#product .product-container {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
  }

  body#product .product-container > .col-md-6 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;
  }

  body#product .product-container > .col-md-6 + .col-md-6 {
    margin-top: 24px;
  }

  /* Cantidad + compra + favoritos: tres columnas que pueden encoger. */
  body#product .product-quantity {
    grid-template-columns: 72px minmax(0, 1fr) 44px;
    gap: 7px;
    width: 100%;
    max-width: 100%;
  }

  body#product .product-quantity > *,
  body#product .product-quantity .add {
    min-width: 0;
    max-width: 100%;
  }

  body#product .product-quantity .qty,
  body#product .product-quantity .bootstrap-touchspin {
    width: 72px !important;
  }

  body#product .product-quantity .bootstrap-touchspin {
    grid-template-columns: 36px 36px;
  }

  body#product .product-quantity #quantity_wanted,
  body#product .product-quantity .input-group-btn-vertical,
  body#product .product-quantity .btn-touchspin {
    width: 36px !important;
  }

  body#product .product-quantity .add-to-cart {
    width: 100%;
    min-width: 0 !important;
    max-width: 100%;
    padding: 0 8px;
    font-size: 0.875rem;
    line-height: 1.15;
    white-space: nowrap;
    overflow-wrap: anywhere;
  }

  body#product .product-quantity .wishlist-button-product {
    width: 44px;
    min-width: 44px;
  }

  body#product #product-availability {
    grid-column: 1 / -1;
    min-width: 0;
    max-width: 100%;
  }

  /* Las tres garantías dejan de comprimirse en tarjetas ilegibles. */
  body#product .blockreassurance_product {
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
    min-width: 0;
  }

  body#product .blockreassurance_product > div:not(.clearfix) {
    grid-template-columns: 40px minmax(0, 1fr);
    min-width: 0;
  }

  body#product .blockreassurance_product .block-title,
  body#product .blockreassurance_product p {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}
/* CASTANUELAS_PRODUCT_TABLET_768_991_END */

/* CHECKOUT_MOBILE_QTY_V2_20260915 */
@media (max-width: 767.98px) {
  body#cart .cart-item .product-line-grid-right > .row {display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:12px;align-items:center;margin:0}
  body#cart .cart-item .product-line-grid-right > .row > .hidden-md-up {display:none!important}
  body#cart .cart-item .product-line-grid-right > .row > .col-md-10 {grid-column:1;width:auto;max-width:none;min-width:0;padding:0}
  body#cart .cart-item .product-line-grid-right > .row > .col-md-2 {grid-column:2;width:44px;max-width:none;padding:0}
  body#cart .cart-item .product-line-grid-right > .row > .col-md-10 > .row {display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0}
  body#cart .cart-item .product-line-grid-right .qty {flex:0 0 132px;width:132px!important;max-width:none;padding:0!important}
  body#cart .cart-item .product-line-grid-right .price {flex:1 1 80px;width:auto!important;max-width:none;min-width:0;padding:0!important;text-align:right;white-space:normal}
  body#cart .cart-item .product-line-grid-right .cart-line-product-actions a {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
  body#cart .cart-item .qty .bootstrap-touchspin {display:grid!important;grid-template-columns:44px 44px 44px;width:132px!important;align-items:stretch}
  body#cart .cart-item .qty .bootstrap-touchspin > .form-control {grid-column:1;width:44px!important;min-width:44px;height:44px;margin:0!important;padding:0;text-align:center;border:1px solid #cfc7c0;border-radius:4px 0 0 4px}
  body#cart .cart-item .qty .input-group-btn-vertical {position:static!important;display:grid!important;grid-column:2/4;grid-template-columns:44px 44px;width:88px!important;height:44px!important}
  body#cart .cart-item .qty .input-group-btn-vertical .btn-touchspin {position:relative!important;display:flex!important;width:44px!important;height:44px!important;min-width:44px;align-items:center;justify-content:center;margin:0!important;padding:0!important;border:1px solid #cfc7c0!important;border-left:0!important;border-radius:0!important;background:#fff!important;color:#4b251d!important;font-size:22px!important;line-height:1!important}
  body#cart .cart-item .qty .input-group-btn-vertical .bootstrap-touchspin-up {grid-column:2;border-radius:0 4px 4px 0!important}
  body#cart .cart-item .qty .input-group-btn-vertical .bootstrap-touchspin-down {grid-column:1;grid-row:1}
  body#cart .cart-item .qty .bootstrap-touchspin-up::before {content:'+'}
  body#cart .cart-item .qty .bootstrap-touchspin-down::before {content:'−'}
  body#cart .cart-item .qty .btn-touchspin .material-icons {display:none!important}
}
/* /CHECKOUT_MOBILE_QTY_V2_20260915 */
