/* Rotulashop · sistema de diseño. Tipografía, colores y botones principales viven en el KIT de Elementor;
   aquí van las variables y los estilos de la tienda WooCommerce (que no pasa por Elementor). */
:root{
  --rs-naranja:#F36B2D; --rs-grafito:#222523; --rs-marfil:#F9F7F1; --rs-blanco:#fff;
  --rs-linea:#E4E0D3; --rs-borde:#6b6f6c; --rs-gris:#5b5f5c; --rs-radio:12px;
  --rs-sombra:0 1px 2px rgba(34,37,35,.06),0 8px 24px rgba(34,37,35,.06);
}
html{scroll-behavior:smooth}
body.rs{background:var(--rs-marfil);color:var(--rs-grafito);font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body.rs :where(h1,h2,h3,h4,h5,h6){font-family:"Inter",system-ui,sans-serif;color:var(--rs-grafito)}
body.rs a{color:var(--rs-grafito)}
body.rs :focus-visible{outline:3px solid var(--rs-grafito);outline-offset:3px;box-shadow:0 0 0 6px var(--rs-blanco);border-radius:4px}
.site-footer,.site-header{display:none} /* cabecera y pie salen de Ultimate Addons for Elementor */

/* ---- cabecera pegajosa (comportamiento, no espaciado) ---- */
header#masthead,.ehf-header #masthead{position:sticky;top:0;z-index:50}
.admin-bar header#masthead{top:32px}

/* ---- páginas de WooCommerce (tienda, producto, carrito, pago, cuenta) ---- */
body.rs .woocommerce,body.rs .site-main:not(.elementor-page){max-width:1240px;margin-inline:auto;padding-inline:24px}
/* El <main> cambia de id (main → content) por el script de accesibilidad: se apunta por clase. Solo tienda, categorías y ficha (las demás páginas son de Elementor). */
body.post-type-archive-product main.site-main,body.tax-product_cat main.site-main,body.tax-product_tag main.site-main,body.single-product main.site-main{padding-block:56px 104px}
body.rs .page-header .entry-title,body.rs .woocommerce-products-header__title,body.rs h1.product_title,body.rs h1.entry-title{font-size:clamp(2rem,4vw,3.25rem);line-height:1.1;font-weight:700;letter-spacing:-.02em;margin:0 0 16px}
body.rs .woocommerce-breadcrumb{font-size:14px;color:var(--rs-gris);margin-bottom:24px}
body.rs .woocommerce-breadcrumb a{color:var(--rs-gris)}
body.rs .woocommerce-result-count,body.rs .woocommerce-ordering{font-size:15px;margin-bottom:24px}
body.rs .woocommerce-ordering select{padding:10px 14px;border:1px solid var(--rs-borde);border-radius:10px;background:var(--rs-blanco);font:inherit}

body.rs ul.products,body.rs .products-grid ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:0 0 48px;padding:0;list-style:none}
body.rs ul.products::before,body.rs ul.products::after{display:none}
body.rs ul.products li.product{margin:0;width:auto;float:none;background:var(--rs-blanco);border:1px solid var(--rs-linea);border-radius:var(--rs-radio);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s;position:relative}
body.rs ul.products li.product:hover{box-shadow:var(--rs-sombra);transform:translateY(-2px)}
body.rs ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;text-decoration:none}
body.rs ul.products li.product img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;margin:0;border-radius:0;background:var(--rs-marfil)}
body.rs ul.products li.product .woocommerce-loop-product__title{font-size:18px;line-height:1.3;font-weight:700;padding:18px 20px 6px;margin:0}
body.rs ul.products li.product .price{display:block;padding:0 20px 8px;font-size:16px;color:var(--rs-grafito);font-weight:600}
body.rs ul.products li.product .price ins{text-decoration:none}
body.rs ul.products li.product .button{margin:auto 20px 20px;align-self:flex-start}
body.rs span.onsale{background:var(--rs-grafito);color:var(--rs-marfil);border-radius:999px;min-height:0;min-width:0;line-height:1;padding:8px 14px;font-weight:700;font-size:13px;top:14px;left:14px;right:auto}
@media (max-width:1100px){body.rs ul.products{grid-template-columns:repeat(3,1fr)}}
@media (max-width:820px){body.rs ul.products{grid-template-columns:repeat(2,1fr);gap:16px}}
@media (max-width:480px){body.rs ul.products{grid-template-columns:1fr}}
/* columnas fijadas por el shortcode dentro de páginas Elementor */
body.rs .elementor-widget-shortcode .woocommerce ul.products{margin-bottom:0}
body.rs .elementor-widget-shortcode .woocommerce{padding-inline:0;max-width:none}

/* ---- botones de la tienda: grafito con texto marfil; naranja solo al pasar el ratón ---- */
body.rs a.button,body.rs button.button,body.rs input.button,body.rs #respond input#submit,
body.rs a.button.alt,body.rs button.button.alt,body.rs input.button.alt,
body.rs .wc-block-components-button:not(.is-link),body.rs .wp-block-button__link{
  background:var(--rs-grafito);color:var(--rs-marfil);border:2px solid var(--rs-grafito);border-radius:10px;
  font-family:"Inter",sans-serif;font-weight:600;font-size:15px;line-height:1.2;padding:14px 24px;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
body.rs a.button:hover,body.rs button.button:hover,body.rs input.button:hover,
body.rs a.button.alt:hover,body.rs button.button.alt:hover,body.rs input.button.alt:hover,
body.rs .wc-block-components-button:not(.is-link):hover{background:var(--rs-naranja);color:var(--rs-grafito);border-color:var(--rs-naranja)}
body.rs button.button:disabled,body.rs button.button.disabled{opacity:.45}

/* ---- ficha de producto ---- */
body.rs.single-product div.product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:start}
body.rs.single-product div.product .woocommerce-product-gallery{width:100%;float:none;margin:0;border-radius:var(--rs-radio);overflow:hidden;background:var(--rs-blanco);border:1px solid var(--rs-linea)}
body.rs.single-product div.product .summary{width:100%;float:none;margin:0}
body.rs.single-product .woocommerce-tabs,body.rs.single-product .related,body.rs.single-product .up-sells{grid-column:1/-1}
body.rs.single-product .summary .price{font-size:26px;font-weight:700;color:var(--rs-grafito)}
body.rs.single-product .woocommerce-product-details__short-description{font-size:17px}
body.rs.single-product form.cart{display:flex;gap:12px;flex-wrap:wrap;align-items:stretch;margin:24px 0}
body.rs .quantity .qty{height:100%;min-height:48px;width:84px;border:1px solid var(--rs-borde);border-radius:10px;font:inherit;text-align:center;background:var(--rs-blanco)}
body.rs .woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 24px;border-bottom:1px solid var(--rs-linea)}
body.rs .woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
body.rs .woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:0;margin:0 24px 0 0;padding:0}
body.rs .woocommerce div.product .woocommerce-tabs ul.tabs li::before,body.rs .woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
body.rs .woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:12px 0;font-weight:600;color:var(--rs-gris);border-bottom:3px solid transparent;display:block}
body.rs .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--rs-grafito);border-bottom-color:var(--rs-grafito)}
body.rs table.shop_attributes th{font-weight:600;width:30%}
body.rs.single-product .related>h2,body.rs.single-product .up-sells>h2{font-size:28px;margin:48px 0 24px}
body.rs .product_meta{font-size:14px;color:var(--rs-gris);margin-top:24px}
@media (max-width:820px){body.rs.single-product div.product{grid-template-columns:1fr;gap:28px}}

/* ---- formularios, carrito, pago y cuenta ---- */
body.rs .woocommerce input.input-text,body.rs .woocommerce textarea,body.rs .woocommerce select,body.rs .select2-container--default .select2-selection--single{
  border:1px solid var(--rs-borde);border-radius:10px;background:var(--rs-blanco);padding:12px 14px;font:inherit;min-height:48px;color:var(--rs-grafito)}
body.rs .woocommerce table.shop_table{background:var(--rs-blanco);border:1px solid var(--rs-linea);border-radius:var(--rs-radio);border-collapse:separate;overflow:hidden}
body.rs .woocommerce table.shop_table th,body.rs .woocommerce table.shop_table td{border-color:var(--rs-linea);padding:16px}
body.rs .woocommerce-message,body.rs .woocommerce-info,body.rs .woocommerce-error{background:var(--rs-blanco);border-top:3px solid var(--rs-naranja);color:var(--rs-grafito);border-radius:10px}
body.rs .woocommerce-message::before,body.rs .woocommerce-info::before{color:var(--rs-naranja)}
body.rs .cart_totals h2,body.rs #order_review_heading,body.rs .woocommerce-billing-fields h3{font-size:24px}
body.rs .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0}
body.rs .woocommerce-MyAccount-navigation li a{display:block;padding:12px 16px;border-radius:10px;text-decoration:none;font-weight:600}
body.rs .woocommerce-MyAccount-navigation li.is-active a{background:var(--rs-grafito);color:var(--rs-marfil)}
body.rs .woocommerce-pagination ul.page-numbers{border:0;display:flex;gap:8px;justify-content:center}
body.rs .woocommerce-pagination ul.page-numbers li{border:0}
body.rs .woocommerce-pagination .page-numbers a,body.rs .woocommerce-pagination .page-numbers span{border-radius:10px;padding:10px 16px;background:var(--rs-blanco);border:1px solid var(--rs-linea)}
body.rs .woocommerce-pagination .page-numbers .current{background:var(--rs-grafito);color:var(--rs-marfil);border-color:var(--rs-grafito)}

/* ---- tarjetas de categoría (shortcode product_categories) ---- */
body.rs ul.products li.product-category{text-align:center}
body.rs ul.products li.product-category h2.woocommerce-loop-category__title{font-size:18px;padding:18px 20px 22px;margin:0;font-weight:700}
body.rs ul.products li.product-category .count{background:none;color:var(--rs-gris);font-size:14px;font-weight:400}

/* ---- pequeños detalles de las páginas de Elementor ---- */
body.rs .elementor-widget-text-editor a,body.rs .woocommerce-product-details__short-description a{text-decoration:underline;text-underline-offset:3px}
body.rs .elementor-widget-icon-list .elementor-icon-list-item a{text-decoration:none}
body.rs .elementor-widget-icon-list .elementor-icon-list-item a:hover{text-decoration:underline}

/* WooCommerce fija un ancho en % por columna (columns-3…): se anula porque la rejilla ya es CSS grid */
body.rs.woocommerce ul.products[class*="columns-"] li.product,body.rs .woocommerce ul.products[class*="columns-"] li.product{width:auto;float:none;margin:0}

/* Cabecera en tableta y móvil: el desplegable del menú ocupa todo el ancho de la fila de la cabecera (no solo el del icono) */
@media (max-width:1024px){
  header#masthead .elementor-widget-navigation-menu,header#masthead .elementor-widget-navigation-menu>.elementor-widget-container,header#masthead .hfe-nav-menu{position:static}
  header#masthead .hfe-nav-menu__layout-horizontal.hfe-dropdown{position:absolute;left:0;right:0;top:100%;background:var(--rs-blanco);box-shadow:0 12px 24px rgba(34,37,35,.08)}
}

/* Tablas de las páginas legales (cookies, privacidad): desplazamiento propio en pantallas estrechas */
body.rs .elementor-widget-text-editor .tabla-responsive{overflow-x:auto}
body.rs .elementor-widget-text-editor table{border-collapse:collapse;width:100%;min-width:560px;font-size:15px}
body.rs .elementor-widget-text-editor th,body.rs .elementor-widget-text-editor td{border:1px solid var(--rs-linea);padding:10px 12px;text-align:left;vertical-align:top}
body.rs .elementor-widget-text-editor th{background:var(--rs-blanco)}

/* Icono del carrito sin texto visible: el texto «Carrito» queda solo para lectores de pantalla (nombre accesible del enlace) */
body.rs .rs-solo-icono .elementor-icon-list-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Ficha de producto: WooCommerce da 48 % de ancho a galería y resumen; aquí van dentro de una rejilla de dos columnas */
body.rs.single-product div.product div.images,body.rs.single-product div.product div.summary,body.rs.single-product div.product .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important}
body.rs.single-product table.variations{width:100%}
body.rs.single-product table.variations th,body.rs.single-product table.variations td{display:block;padding:0 0 8px;text-align:left}
body.rs.single-product table.variations label{font-weight:600}
body.rs.single-product table.variations select{width:100%;max-width:100%}
body.rs.single-product .woocommerce-variation-price .price{font-size:26px;font-weight:700}
body.rs.single-product .reset_variations{display:inline-block;margin-top:8px;font-size:14px}
.rs-gracias{background:var(--rs-blanco);border:1px solid var(--rs-linea);border-radius:var(--rs-radio);padding:24px;margin:0 0 32px}
body.rs.single-product table.variations,body.rs.single-product table.variations tr,body.rs.single-product table.variations th,body.rs.single-product table.variations td{background:transparent;border:0}

/* ---- Ficha de producto: sustituye los colores por defecto de WooCommerce (lila/gris) por los de la marca ---- */
/* Botón «Añadir al carrito» mientras no se elige opción (estado desactivado) */
body.rs .single_add_to_cart_button,body.rs button.single_add_to_cart_button.alt,body.rs button.button.alt.disabled,body.rs button.button.alt:disabled,body.rs button.button.alt.disabled:hover,body.rs button.button.alt:disabled[disabled]{
  background:var(--rs-grafito);color:var(--rs-marfil);border:2px solid var(--rs-grafito);padding:14px 24px}
body.rs button.single_add_to_cart_button.disabled,body.rs button.single_add_to_cart_button.wc-variation-selection-needed,body.rs button.button.alt.disabled,body.rs button.button.alt:disabled[disabled]{opacity:.45;cursor:not-allowed}
body.rs button.single_add_to_cart_button:not(.disabled):hover{background:var(--rs-naranja);color:var(--rs-grafito);border-color:var(--rs-naranja)}
/* Pestañas (Descripción / Información adicional) */
body.rs.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 24px;border-bottom:1px solid var(--rs-linea);overflow:visible}
body.rs.woocommerce div.product .woocommerce-tabs ul.tabs::before,body.rs.woocommerce div.product .woocommerce-tabs ul.tabs li::before,body.rs.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;border:0;box-shadow:none}
body.rs.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;margin:0 24px 0 0;padding:0}
body.rs.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:12px 0;font-weight:600;color:var(--rs-gris);border-bottom:3px solid transparent;display:block}
body.rs.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:transparent;border:0}
body.rs.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--rs-grafito);border-bottom-color:var(--rs-grafito)}
/* El título de cada panel repite el de la pestaña: se oculta */
body.rs .woocommerce-Tabs-panel>h2:first-child{display:none}
/* Tabla de información adicional */
body.rs table.woocommerce-product-attributes,body.rs table.shop_attributes{width:100%;border:0;border-collapse:collapse;background:transparent;font-size:16px}
body.rs table.shop_attributes th,body.rs table.shop_attributes td{background:transparent;border:0;border-bottom:1px solid var(--rs-linea);padding:14px 12px;text-align:left;font-style:normal;vertical-align:top}
body.rs table.shop_attributes th{width:32%;font-weight:600;color:var(--rs-grafito)}
body.rs table.shop_attributes td p{margin:0;padding:0}
/* Menú de cabecera: los elementos no se parten en dos líneas */
header#masthead .hfe-nav-menu__layout-horizontal .hfe-nav-menu{flex-wrap:nowrap}
header#masthead .hfe-nav-menu .menu-item a.hfe-menu-item{white-space:nowrap}
