/* AUTO-GENERATED — do not edit. Run: Web/scripts/build-home-critical-css.sh */

/* === css/ds/components/home-fonts.css === */
/* Rubik + Josefin Sans — self-hosted para home (sin request a fonts.googleapis.com) */
@font-face {
    font-family: 'Rubik';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/rubik-latin-400.woff2') format('woff2');
}

@font-face {
    font-family: 'Rubik';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/fonts/rubik-latin-700.woff2') format('woff2');
}

@font-face {
    font-family: 'Josefin Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/fonts/josefin-sans-latin-400.woff2') format('woff2');
}

@font-face {
    font-family: 'Josefin Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/fonts/josefin-sans-latin-600.woff2') format('woff2');
}

/* Parisienne: decorativa en desktop; en móvil no se descarga (font-display: optional + sin preload). */
@media (min-width: 768px) {
    @font-face {
        font-family: 'Parisienne';
        font-style: normal;
        font-weight: 400;
        font-display: optional;
        src: url('/fonts/Parisienne-Regular.woff2') format('woff2');
    }
}

/* === css/ds/delibreakfast-tokens.css === */
/**
 * Delibreakfast Design System — tokens
 * Cambiar estética global: editar este archivo (o [data-theme]).
 */
[data-theme="default"],
:root {
  /* Tipografía */
  --font-sans: 'Rubik', system-ui, -apple-system, sans-serif;
  --font-serif: 'Josefin Sans', var(--font-sans);
  --font-script: 'Parisienne', cursive;
  --font-legacy-blog: 'Josefin Sans', var(--font-sans);

  --text-xs: 0.875rem;
  --text-sm: 1rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: clamp(1.75rem, 4vw, 2.25rem);
  /* Títulos de categoría y ficha (cestas / productos) — fluido; no reducir en móvil */
  --text-catalog-title: clamp(2.25rem, 5vw + 1rem, 3.125rem);
  --font-weight-catalog-title: 700;
  --letter-spacing-catalog-title: 0.02em;
  --line-height-catalog-title: 1.15;
  --text-hero: clamp(2rem, 5vw, 3rem);

  --line-height-tight: 1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.65;

  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;

  /* Color */
  --color-brand: #DC3545;
  --color-brand-hover: #c82333;
  --color-brand-border-hover: #bd2130;
  --color-brand-muted: rgba(220, 53, 69, 0.08);
  --color-text: #222222;
  --color-text-muted: #757575;
  --color-surface: #ffffff;
  --color-border: #ededed;
  --color-focus-ring: #DC3545;

  /* Alias legacy (theme2, blogmate, internal) */
  --delibreakfast-red: var(--color-brand);
  --delibreakfast-red-hover: var(--color-brand-hover);
  --delibreakfast-red-border-hover: var(--color-brand-border-hover);
  --delibreakfast-btn-radius: var(--radius-btn);

  /* Espaciado (escala 4px) */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;

  --radius-btn: 10px;
  --radius-sm: 4px;
  --section-padding-y: 3.75rem;

  /* Breakpoints (referencia; usar en media queries) */
  --bp-sm: 576px;
  --bp-md: 768px;
  --bp-lg: 992px;
  --bp-xl: 1200px;

  /* Layout */
  --content-max-width: 72rem;
  --legal-max-width: 48rem;
  --touch-target-min: 44px;
}

/* Tema alternativo (Fase 8): activar con data-theme="seasonal" en <html> */
[data-theme="seasonal"] {
  --color-brand: #b8860b;
  --color-brand-hover: #9a7209;
  --color-brand-border-hover: #7d5e07;
  --color-brand-muted: rgba(184, 134, 11, 0.1);
  --delibreakfast-red: var(--color-brand);
  --delibreakfast-red-hover: var(--color-brand-hover);
  --delibreakfast-red-border-hover: var(--color-brand-border-hover);
}

/* === css/ds/delibreakfast-base.css === */
/**
 * Base tipográfica Delibreakfast — override suave sobre Floura (style.css)
 */
body.delibreakfast {
    font-family: var(--font-sans);
    font-size: var(--text-base);
    line-height: var(--line-height-normal);
    color: var(--color-text);
}

body.delibreakfast h1,
body.delibreakfast h2,
body.delibreakfast h3,
body.delibreakfast h4,
body.delibreakfast h5,
body.delibreakfast h6,
body.delibreakfast .page-heading {
    font-family: var(--font-serif);
    font-weight: var(--font-weight-normal);
    color: var(--color-text);
}

body.delibreakfast h1 { font-size: var(--text-3xl); }
body.delibreakfast h2 { font-size: var(--text-2xl); }
body.delibreakfast h3 { font-size: var(--text-xl); }
body.delibreakfast h4 { font-size: var(--text-lg); }

body.delibreakfast a {
    color: var(--color-brand);
}

body.delibreakfast a:hover,
body.delibreakfast a:focus {
    color: var(--color-brand-hover);
}

body.delibreakfast a:focus-visible,
body.delibreakfast button:focus-visible,
body.delibreakfast .button:focus-visible {
    outline: 2px solid var(--color-focus-ring);
    outline-offset: 2px;
}

body.delibreakfast .home-section {
    padding-top: var(--section-padding-y);
    padding-bottom: var(--section-padding-y);
}

/* === css/ds/delibreakfast-utilities.css === */
/**
 * Utilidades mínimas Delibreakfast
 */
.ds-text-xs { font-size: var(--text-xs); }
.ds-text-sm { font-size: var(--text-sm); }
.ds-text-base { font-size: var(--text-base); }
.ds-text-lg { font-size: var(--text-lg); }
.ds-text-muted { color: var(--color-text-muted); }
.ds-font-sans { font-family: var(--font-sans); }
.ds-font-serif { font-family: var(--font-serif); }
.ds-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* === css/ds/components/home-container-critical.css === */
/**
 * Home: ancho de .container igual que páginas interiores (Bootstrap 3 + style.css).
 */
.container {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 768px) {
    .container {
        width: 750px;
    }
}

@media (min-width: 992px) {
    .container {
        width: 970px;
    }
}

@media (min-width: 1200px) {
    .container {
        width: 1170px;
    }
}

@media (min-width: 1300px) {
    .container {
        width: 1300px;
    }
}

@media (min-width: 1350px) {
    .container {
        width: 1320px;
    }
}

/* === css/ds/components/home-fontawesome-min.css === */
/* Home: subset Font Awesome 4 (woff2 local) — solo iconos usados en esta vista */
@font-face {
    font-family: 'FontAwesome';
    src: url('/fonts/fontawesome-webfont.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.fa {
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.fa-shopping-basket:before { content: "\f291"; }
.fa-chevron-down:before { content: "\f078"; }
.fa-phone:before { content: "\f095"; }
.fa-envelope-o:before { content: "\f003"; }
.fa-bars:before { content: "\f0c9"; }
.fa-facebook:before { content: "\f09a"; }
.fa-instagram:before { content: "\f16d"; }
.fa-pinterest-p:before { content: "\f231"; }
.fa-star:before { content: "\f005"; }
.fa-google:before { content: "\f1a0"; }
.fa-times:before { content: "\f00d"; }
.fa-search:before { content: "\f002"; }
.fa-whatsapp:before { content: "\f232"; }
.fa-heart:before { content: "\f004"; }
.fa-heart-o:before { content: "\f08a"; }

/* === css/ds/components/home-hero.css === */
/* Home: vertical rhythm between sections */
.home-section {
    padding-top: 60px;
    padding-bottom: 60px;
}

.home-section.home-hero {
    padding-top: 0;
    padding-bottom: 0;
    --home-hero-header-offset: 7.5rem;
}

/* Gana sobre body.delibreakfast .home-section (--section-padding-y = 3.75rem) */
body.delibreakfast .home-section.home-hero {
    padding-top: 0;
    padding-bottom: 0;
}

.home-section.home-hero .home-hero__inner.slider-res {
    position: relative;
    width: 100%;
    max-width: none;
    margin: 0;
    min-height: calc(100svh - var(--home-hero-header-offset));
    min-height: calc(100dvh - var(--home-hero-header-offset));
    overflow: visible;
}

.home-section.home-hero .home-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

.home-section.home-hero .home-hero__img.slider-home {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.home-section.home-hero .home-hero__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    pointer-events: none;
}

.home-section.home-hero .home-hero__content {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 80px 1.5rem 6.5rem;
    pointer-events: none;
}

.home-section.home-hero .home-hero__content a,
.home-section.home-hero .home-hero__content button {
    pointer-events: auto;
}

.home-section.home-hero .home-hero__text {
    position: static;
    width: 100%;
    max-width: 920px;
    margin: 0;
    line-height: 1.25;
    text-align: center;
    color: #f5f5f5;
    font-family: var(--font-serif);
    font-size: clamp(calc(1.05rem + 4pt), calc(2.4vw + 4pt), calc(1.65rem + 4pt));
    font-weight: 400;
}

.home-section.home-hero .home-hero__media picture,
.home-section.home-aperitivos picture,
.home-section.home-basket picture,
.home-por-ti__card picture {
    display: block;
    width: 100%;
    height: 100%;
}

.home-section.home-hero .home-hero__media picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-section.home-aperitivos picture img,
.home-section.home-basket picture img,
.home-por-ti__card picture img {
    width: 100%;
    height: auto;
}

@media only screen and (max-width: 767px) {
    .home-section.home-hero .home-hero__text h1.upper {
        font-family: cursive;
    }
}

.home-section.home-hero .home-hero__text h1.upper {
    display: block;
    margin: 0;
    font-family: 'Parisienne', cursive;
    font-size: clamp(calc(3.5rem + 4pt), calc(8.4vw + 4pt), calc(5.5rem + 4pt));
    font-weight: 400;
    line-height: 1.1;
    text-transform: none !important;
    color: #fafafa;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
    /* Reserva espacio antes de aplicar Parisienne (evita CLS en desktop) */
    min-height: clamp(3.85rem, 9.2vw, 6.05rem);
}

.home-section.home-hero .home-hero__text p.sub,
.home-section.home-hero .home-hero__text span.sub {
    position: static;
    top: auto;
    left: auto;
    width: auto;
    display: block;
    margin: 0.75rem 0 0;
    font-size: clamp(calc(1.05rem + 4pt), calc(2.4vw + 4pt), calc(1.65rem + 4pt));
    font-weight: 400;
    line-height: 1.35;
    color: #f0f0f0;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
}

.home-section.home-hero .home-hero__cta.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin-top: 1.75rem;
    padding: 0.85rem 2.15rem;
    font-family: var(--font-sans);
    font-size: clamp(calc(1.05rem + 4pt), calc(2.2vw + 4pt), calc(1.35rem + 4pt));
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: none;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    animation: home-hero-cta-attention 2.4s ease-in-out infinite;
}

@keyframes home-hero-cta-attention {
    0%, 100% {
        box-shadow: 0 4px 16px rgba(220, 53, 69, 0.4);
        transform: scale(1);
    }

    50% {
        box-shadow: 0 8px 26px rgba(220, 53, 69, 0.72);
        transform: scale(1.035);
    }
}

.home-section.home-hero .home-hero__scroll-hint {
    position: absolute;
    left: 50%;
    bottom: calc(1.75rem + 40px);
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    transform: translateX(-50%);
    color: #f5f5f5;
    text-decoration: none;
    opacity: 0.92;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.home-section.home-hero .home-hero__scroll-hint:hover,
.home-section.home-hero .home-hero__scroll-hint:focus {
    color: #fff;
    opacity: 1;
    text-decoration: none;
    outline: none;
}

.home-section.home-hero .home-hero__scroll-hint.is-hidden {
    opacity: 0;
    pointer-events: none;
    transform: translateX(-50%) translateY(12px);
}

.home-section.home-hero .home-hero__scroll-hint-text {
    font-family: var(--font-sans);
    font-size: calc(0.8rem + 4pt);
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);
}

.home-section.home-hero .home-hero__scroll-hint-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.2);
    font-size: calc(1rem + 4pt);
    line-height: 1;
    animation: home-hero-scroll-bounce 1.8s ease-in-out infinite;
}

@keyframes home-hero-scroll-bounce {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(7px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-section.home-hero .home-hero__scroll-hint-icon {
        animation: none;
    }

    .home-section.home-hero .home-hero__cta.button {
        animation: none;
    }

    .home-section.home-hero .home-hero__scroll-hint.is-hidden {
        transform: translateX(-50%);
    }
}

/* === css/ds/components/home-header-critical.css === */
/**
 * Home: menú desktop + carrito en el camino crítico (sin style.css bloqueante).
 */
header.header-site #nav {
    list-style: none;
    position: relative;
    z-index: 10;
    padding: 0;
    margin: 0 auto;
    text-align: center;
}

header.header-site #nav li {
    text-align: left;
    list-style: none;
}

header.header-site #nav li a {
    display: block;
    text-decoration: none;
}

header.header-site #nav > li {
    display: inline-block;
    border-bottom: none;
}

header.header-site #nav > li > a {
    font-family: var(--font-sans), 'Rubik', sans-serif;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.35px;
    text-transform: uppercase;
    position: relative;
    white-space: nowrap;
}

header.header-site #nav > li > a > span {
    display: inline-block;
    padding: 0 10px 0 8px;
    border-right: 1px solid rgba(0, 0, 0, 0.12);
}

header.header-site #nav > li:last-child > a > span {
    border-right: 0;
}

header.header-site .mini-cart {
    text-align: center;
    cursor: pointer;
    margin: 0;
}

header.header-site .top-cart-contain {
    position: relative;
    z-index: 100;
}

header.header-site .mini-cart .basket a {
    position: relative;
    display: block;
    text-decoration: none;
    line-height: 1;
}

header.header-site .mini-cart .basket a:before {
    content: '\f291';
    font-family: FontAwesome;
    font-size: 22px;
    color: #fff;
    display: inline-block;
    width: 40px;
    height: 38px;
    line-height: 38px;
    text-align: center;
    font-weight: normal;
}

header.header-site .mini-cart .basket a span.cart_count {
    display: inline-block;
    color: var(--color-brand, #dc3545);
    width: 18px;
    height: 18px;
    font-size: 10px;
    font-weight: 600;
    line-height: 18px;
    text-align: center;
    background: #fff;
    border-radius: 999px;
    position: absolute;
    top: 4px;
    right: 8px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
}

@media (min-width: 768px) {
    header.header-site #nav {
        flex-wrap: nowrap;
        white-space: nowrap;
    }
}

/* Mini-carrito: estilos base cuando existe .top-cart-content (legacy); hover vía JS en common.js / common-home.js */
@media (hover: hover) and (pointer: fine) {
    header.header-site .top-cart-content {
        display: none;
        position: absolute;
        right: 0;
        top: 100%;
        margin-top: 8px;
        min-width: 300px;
        background: #fff;
        border: 1px solid #e5e5e5;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
        z-index: 200;
    }
}

@media (max-width: 767px) {
    header.header-site .hidden-xs {
        display: none !important;
    }
}

/* --- Above-the-fold header (home crítico; el resto en header.css diferido) --- */
header.header-site {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.07);
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04);
}

header .header-top {
    padding: 3px 0 4px !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
}

header .header-top .container > .row {
    display: flex;
    align-items: center;
}

.header-main .container {
    padding-left: 15px;
    padding-right: 15px;
}

.header-main__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 0;
}

.header-main__logo {
    flex: 0 0 auto;
    display: block;
    line-height: 0;
    padding: 4px 0;
}

.header-main__logo img {
    display: block;
    width: auto;
    max-width: min(500px, 52vw);
    height: auto;
    max-height: 67px;
}

.header-main__menu {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.header-main__toolbar {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 6px;
}

.header-main__menu .mm-toggle-wrap {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    background: transparent !important;
    border: none !important;
}

.header-main__menu .mm-toggle {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    margin: 0;
    padding: 0;
    background: transparent !important;
    border: none !important;
    color: var(--color-brand) !important;
    line-height: 1;
    cursor: pointer;
}

.header-main__menu .mm-toggle .fa {
    font-size: 22px;
    line-height: 1;
}

.header-main__toolbar .mini-cart .basket a {
    background: var(--color-brand) !important;
    border-radius: 6px;
    padding: 10px 12px 7px !important;
}

.header-main__toolbar .mini-cart .basket a span.cart_count {
    background: #fff !important;
    color: var(--color-brand, #dc3545) !important;
    font-weight: 600;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
}

@media only screen and (max-width: 767px) {
    :root {
        --header-site-safe-top: env(safe-area-inset-top, 0px);
        --header-site-topbar-height: calc(5px + 30px);
        --header-site-main-height: 56px;
        --header-site-mobile-height: calc(
            var(--header-site-safe-top) +
            var(--header-site-topbar-height) +
            var(--header-site-main-height)
        );
    }

    #page {
        overflow: visible;
    }

    header .header-top {
        padding: 2px 0 3px !important;
    }

    header .header-top .container > .row {
        justify-content: center;
    }

    header .header-top .col-xs-12 {
        justify-content: center !important;
    }

    header .header-top .welcome-msg,
    header .header-top .welcome-msg a {
        font-size: 10px !important;
    }

    header .header-top .welcome-msg {
        justify-content: center;
        width: 100%;
        text-align: center;
        gap: 2px;
    }

    header .header-top .welcome-msg a {
        min-height: 0 !important;
        padding: 3px 3px !important;
        line-height: 1.2 !important;
    }

    header .header-top .welcome-msg i {
        font-size: 9px;
    }

    header.header-site {
        z-index: 1002 !important;
        background: rgba(255, 255, 255, 0.92) !important;
        box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06) !important;
        padding-top: env(safe-area-inset-top, 0);
        box-sizing: border-box;
    }

    .header-main .container {
        padding-left: 10px;
        padding-right: 10px;
    }

    .header-main__inner {
        gap: 8px;
        min-height: 54px;
    }

    .header-main__logo {
        flex: 1 1 auto;
        min-width: 0;
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    .header-main__logo img {
        max-width: min(240px, 58vw);
        max-height: 52px;
    }

    .header-main__menu .nav-inner--desktop {
        display: none !important;
    }

    body.mobile-menu-is-open header.header-site {
        position: fixed !important;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
    }

    body.mobile-menu-is-open .header-main__menu .mm-toggle .fa-bars:before {
        content: "\f00d";
    }
}

@media (min-width: 768px) {
    .header-main__toolbar .mm-toggle-wrap {
        display: none !important;
    }

    .header-main__inner {
        min-height: 75px;
    }
}

/* === css/ds/components/buttons.css === */
/* Botones: rectangular con radio amplio y rojo de marca unificado */
:root {
    --delibreakfast-btn-radius: 10px;
    --delibreakfast-red: var(--color-brand);
    --delibreakfast-red-hover: #c82333;
    --delibreakfast-red-border-hover: #bd2130;
}

a.button,
button.button {
    border-radius: var(--delibreakfast-btn-radius) !important;
}

a.button:hover,
button.button:hover {
    background-color: var(--delibreakfast-red-hover) !important;
    border-color: var(--delibreakfast-red-border-hover) !important;
    color: #fff !important;
}

a.button.button-red,
button.button.button-red,
button.button-red,
a.button-red {
    border-radius: var(--delibreakfast-btn-radius) !important;
    background-color: var(--delibreakfast-red) !important;
    border: 1px solid var(--delibreakfast-red) !important;
    color: #fff !important;
}

a.button.button-red:hover,
a.button.button-red:focus,
button.button.button-red:hover,
button.button.button-red:focus,
button.button-red:hover,
button.button-red:focus,
a.button-red:hover,
a.button-red:focus {
    background-color: var(--delibreakfast-red-hover) !important;
    border-color: var(--delibreakfast-red-border-hover) !important;
    color: #fff !important;
}

button.button-black,
a.button-black {
    border-radius: var(--delibreakfast-btn-radius) !important;
    background-color: var(--delibreakfast-red) !important;
    color: #fff !important;
    border: 1px solid var(--delibreakfast-red) !important;
}

a.button-black:hover,
a.button-black:focus,
button.button-black:hover,
button.button-black:focus {
    background-color: var(--delibreakfast-red-hover) !important;
    border-color: var(--delibreakfast-red-border-hover) !important;
}

button.button-outline,
a.button-outline {
    border-radius: var(--delibreakfast-btn-radius) !important;
    background-color: transparent !important;
    color: var(--delibreakfast-red, var(--color-brand)) !important;
    border: 2px solid var(--delibreakfast-red, var(--color-brand)) !important;
}

a.button-outline:hover,
a.button-outline:focus,
button.button-outline:hover,
button.button-outline:focus {
    background-color: rgba(220, 53, 69, 0.08) !important;
    color: var(--delibreakfast-red-hover, #c82333) !important;
    border-color: var(--delibreakfast-red-hover, #c82333) !important;
}

.modal-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.modal-footer .button {
    margin: 0;
}

.product-view .product-shop .add-to-box .btn-cart,
button.button.btn-cart {
    border-radius: var(--delibreakfast-btn-radius) !important;
}

.empresa-propuesta .cta-btn {
    border-radius: var(--delibreakfast-btn-radius) !important;
    border-width: 1px;
    border-color: var(--delibreakfast-red) !important;
    color: var(--delibreakfast-red) !important;
    font-size: 17px !important;
    line-height: 1.4;
}

.empresa-propuesta .cta-btn:hover,
.empresa-propuesta .cta-btn:focus {
    background: var(--delibreakfast-red-hover) !important;
    border-color: var(--delibreakfast-red-border-hover) !important;
    color: #fff !important;
}

.empresa-propuesta .cta-btn.primary {
    background: var(--delibreakfast-red) !important;
    border-color: var(--delibreakfast-red) !important;
    color: #fff !important;
}

.empresa-propuesta .cta-btn.primary:hover,
.empresa-propuesta .cta-btn.primary:focus {
    background: var(--delibreakfast-red-hover) !important;
    border-color: var(--delibreakfast-red-border-hover) !important;
}

/* === css/home.css === */
﻿.new_title {
    padding: 0px 0px 50px 0px !important;
}
.bottom-banner-section {
    background:none !important
}
.product-flexslider {
    margin-bottom:0px !important
}
.category-product {
    margin-bottom:-8px !important;
}
.thm-slideshow,
.history,
.bestseller,
.our2{
    padding-bottom: 50px !important;
}
.history,
.our,
.our2,
.review,
.brand-logo {
    /*padding-top: 50px;*/
}
.new_title .entry {
    margin:0px !important;
}
.brand-logo {
    margin-top:0px !important;
}
footer {
    margin-top:0px !important
}

.responsive {
    width: 100%;
    height: auto;
}

/* === css/ds/components/home-mobile-perf.css === */
/**
 * Home en móvil / touch: sin animaciones decorativas ni hovers que se pegan al tap.
 * Solo afecta a secciones .home-section (cargado únicamente desde _Home.cshtml).
 */
@media (hover: none), (pointer: coarse), (max-width: 767px) {
    /* Hero: sin pulso ni rebote continuo */
    .home-section.home-hero .home-hero__cta.button {
        animation: none;
    }

    .home-section.home-hero .home-hero__scroll-hint-icon {
        animation: none;
    }

    .home-section.home-hero .home-hero__scroll-hint {
        transition: none;
    }

    .home-section.home-hero .home-hero__scroll-hint.is-hidden {
        transform: translateX(-50%);
    }

    /* Banners (aperitivos, gourmet, san valentín…) */
    .home-section.home-aperitivos .home-aperitivos__media,
    .home-section.home-basket .home-aperitivos__media,
    .home-section.home-aperitivos .home-aperitivos__img,
    .home-section.home-basket .home-aperitivos__img,
    .home-section.home-aperitivos .home-aperitivos__overlay,
    .home-section.home-basket .home-aperitivos__overlay,
    .home-section.home-aperitivos .home-aperitivos__title,
    .home-section.home-basket .home-aperitivos__title {
        transition: none !important;
    }

    .home-section.home-aperitivos .home-aperitivos__banner:hover .home-aperitivos__media,
    .home-section.home-aperitivos .home-aperitivos__banner:active .home-aperitivos__media,
    .home-section.home-aperitivos .home-aperitivos__banner:focus .home-aperitivos__media,
    .home-section.home-basket .home-aperitivos__banner:hover .home-aperitivos__media,
    .home-section.home-basket .home-aperitivos__banner:active .home-aperitivos__media,
    .home-section.home-basket .home-aperitivos__banner:focus .home-aperitivos__media {
        box-shadow: none !important;
    }

    .home-section.home-aperitivos .home-aperitivos__banner:hover .home-aperitivos__img,
    .home-section.home-aperitivos .home-aperitivos__banner:active .home-aperitivos__img,
    .home-section.home-aperitivos .home-aperitivos__banner:focus .home-aperitivos__img,
    .home-section.home-basket .home-aperitivos__banner:hover .home-aperitivos__img,
    .home-section.home-basket .home-aperitivos__banner:active .home-aperitivos__img,
    .home-section.home-basket .home-aperitivos__banner:focus .home-aperitivos__img,
    .home-section.home-aperitivos .home-aperitivos__banner:hover .home-aperitivos__title,
    .home-section.home-aperitivos .home-aperitivos__banner:active .home-aperitivos__title,
    .home-section.home-aperitivos .home-aperitivos__banner:focus .home-aperitivos__title,
    .home-section.home-basket .home-aperitivos__banner:hover .home-aperitivos__title,
    .home-section.home-basket .home-aperitivos__banner:active .home-aperitivos__title,
    .home-section.home-basket .home-aperitivos__banner:focus .home-aperitivos__title {
        transform: none !important;
    }

    .home-section.home-aperitivos .home-aperitivos__banner:hover .home-aperitivos__overlay,
    .home-section.home-aperitivos .home-aperitivos__banner:active .home-aperitivos__overlay,
    .home-section.home-aperitivos .home-aperitivos__banner:focus .home-aperitivos__overlay,
    .home-section.home-basket .home-aperitivos__banner:hover .home-aperitivos__overlay,
    .home-section.home-basket .home-aperitivos__banner:active .home-aperitivos__overlay,
    .home-section.home-basket .home-aperitivos__banner:focus .home-aperitivos__overlay {
        background-color: rgba(0, 0, 0, 0.25) !important;
    }

    /* Sugeridos: sin overlay ni brillo al tap */
    .home-section.home-basket .products-grid .item .item-inner .item-img .item-img-info a.product-image,
    .home-section.home-basket .products-grid .item .item-inner .item-img .item-img-info a.product-image img,
    .home-section.home-basket .box-hover,
    .home-section.home-basket .box-hover .add-to-links li a {
        -webkit-tap-highlight-color: transparent;
    }

    .home-section.home-basket .products-grid .item .item-inner .item-img .item-img-info a.product-image::before,
    .home-section.home-basket .products-grid .item:hover .item-inner .item-img .item-img-info a.product-image::before,
    .home-section.home-basket .products-grid .item:active .item-inner .item-img .item-img-info a.product-image::before,
    .home-section.home-basket .products-grid .item:focus-within .item-inner .item-img .item-img-info a.product-image::before {
        opacity: 0 !important;
        animation: none !important;
        background: transparent !important;
    }

    .home-section.home-basket .products-grid .item .item-inner .item-img .item-img-info a.product-image img,
    .home-section.home-basket .products-grid .item:hover .item-inner .item-img .item-img-info a.product-image img,
    .home-section.home-basket .products-grid .item:active .item-inner .item-img .item-img-info a.product-image img {
        transition: none !important;
        transform: none !important;
        filter: none !important;
    }

    .home-section.home-basket .products-grid .item .item-inner:hover .item-img .box-hover,
    .home-section.home-basket .products-grid .item .item-inner:active .item-img .box-hover,
    .home-section.home-basket .products-grid .item .item-inner .item-img .box-hover {
        opacity: 0 !important;
        visibility: hidden !important;
        right: -100% !important;
    }

    .home-section.home-basket .slider-items-products .owl-buttons .owl-prev a,
    .home-section.home-basket .slider-items-products .owl-buttons .owl-next a {
        transition: none !important;
    }

    .home-section.home-basket .slider-items-products .owl-buttons .owl-prev a:hover,
    .home-section.home-basket .slider-items-products .owl-buttons .owl-next a:hover,
    .home-section.home-basket .slider-items-products .owl-buttons .owl-prev a:active,
    .home-section.home-basket .slider-items-products .owl-buttons .owl-next a:active,
    .home-section.home-basket .slider-items-products .owl-buttons .owl-prev a:focus,
    .home-section.home-basket .slider-items-products .owl-buttons .owl-next a:focus {
        transform: none !important;
        opacity: 1 !important;
    }

    .home-section.home-basket .basket-wishlist-btn:hover,
    .home-section.home-basket .basket-wishlist-btn:active {
        transform: none;
    }

    .home-section.home-basket .animated.fadeInUp {
        animation: none !important;
        opacity: 1 !important;
    }

    /* Testimonios */
    .home-section.home-testimonials .home-testimonials__carousel .carousel-control.home-testimonials__nav {
        transition: none !important;
    }

    .home-section.home-testimonials .home-testimonials__carousel .carousel-control.home-testimonials__nav:hover,
    .home-section.home-testimonials .home-testimonials__carousel .carousel-control.home-testimonials__nav:active,
    .home-section.home-testimonials .home-testimonials__carousel .carousel-control.home-testimonials__nav:focus {
        transform: none !important;
        background: #fff !important;
    }

    .home-section.home-testimonials .home-testimonials__carousel .carousel-indicators li {
        transition: none !important;
    }

    .home-section.home-testimonials .home-testimonials__carousel .carousel-indicators li:hover {
        transform: none !important;
    }

    /* FAQs home */
    .home-faq .home-faq__toggle,
    .home-faq__more {
        transition: none !important;
    }
}

/* Sugeridos: corazón rojo de marca (wishlist.css carga diferido en home) */
.home-section.home-basket .basket-wishlist-btn,
.home-section.home-basket .basket-wishlist-btn .fa {
    color: var(--color-brand, #DC3545);
}

.home-section.home-basket .basket-wishlist-btn.is-active,
.home-section.home-basket .basket-wishlist-btn:hover,
.home-section.home-basket .basket-wishlist-btn.is-active .fa,
.home-section.home-basket .basket-wishlist-btn:hover .fa {
    color: var(--color-brand-hover, #c82333);
}
