/*
 * Olivenmeer Editorial System 5.0
 * Toda la web pública alineada.
 */

:root {
    --omeds-green: #17291f;
    --omeds-green-dark: #0d1912;
    --omeds-green-mid: #536451;
    --omeds-green-light: #dce8d2;
    --omeds-ivory: #fbf9f4;
    --omeds-cream: #f1ede4;
    --omeds-white: #fffefa;
    --omeds-text: #20251f;
    --omeds-muted: #656b63;
    --omeds-line: rgba(62, 76, 65, 0.15);
    --omeds-shadow: 0 20px 55px rgba(25, 43, 31, 0.08);
    --omeds-serif: "Libre Caslon Text", "Cormorant Garamond", Charter, Georgia, serif;
    --omeds-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --omeds-content-max: 1660px;
    --omeds-reading-max: 760px;
    --omeds-gutter: clamp(18px, 5vw, 96px);
    --omeds-section-y: clamp(70px, 8vw, 132px);
    --omeds-radius-lg: 30px;
    --omeds-radius-md: 22px;
    --omeds-header-height: 132px;
}

html {
    width: 100%;
    max-width: 100%;
    scroll-padding-top: calc(var(--omeds-header-height) + 20px);
}

body.omeds-editorial {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: clip;
    background: var(--omeds-ivory);
    color: var(--omeds-text);
    font-family: var(--omeds-sans);
}

body.omeds-editorial * {
    box-sizing: border-box;
}

body.omeds-editorial aside.om-topbar,
body.omeds-editorial .om-topbar,
body.omeds-editorial .om-topbar-inner,
body.omeds-editorial .ct-trending-block,
body.omeds-editorial [data-id="trending"],
body.omeds-editorial .om-utility-footer,
body.omeds-editorial .oma17f-header,
body.omeds-editorial .oma17f-footer,
body.omeds-editorial .oma-home-footer,
body.omeds-editorial .omx-utility-footer {
    display: none !important;
}

body.omeds-editorial
:is(
    #header,
    .site-header,
    .ct-header,
    #footer,
    .site-footer,
    .ct-footer
) {
    display: none !important;
}

body.omeds-editorial
:is(
    #main,
    .site-main,
    .content-area,
    .ct-container,
    .ct-container-full,
    .ct-content,
    article.page,
    article.type-page,
    .entry-content
) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

body.omeds-editorial .entry-content > * {
    max-width: none;
}

body.omeds-editorial h1,
body.omeds-editorial h2,
body.omeds-editorial h3 {
    margin-top: 0;
    color: var(--omeds-text);
    font-family: var(--omeds-serif);
    font-weight: 400;
    letter-spacing: -0.045em;
    text-wrap: balance;
}

body.omeds-editorial p {
    text-wrap: pretty;
}

body.omeds-editorial a {
    text-underline-offset: 0.18em;
}

body.omeds-editorial :focus-visible {
    outline: 3px solid #c8a84f;
    outline-offset: 4px;
}

.omeds-container {
    width: min(
        calc(100% - (var(--omeds-gutter) * 2)),
        var(--omeds-content-max)
    );
    margin-right: auto;
    margin-left: auto;
}

.omeds-skip-link {
    position: fixed;
    z-index: 5000;
    top: 10px;
    left: 10px;
    transform: translateY(-160%);
    padding: 12px 16px;
    border-radius: 8px;
    background: #fff;
    color: var(--omeds-green);
    font-weight: 800;
}

.omeds-skip-link:focus {
    transform: translateY(0);
}

.omeds-kicker {
    margin: 0 0 16px;
    color: var(--omeds-green-mid);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.omeds-kicker--light {
    color: rgba(255, 255, 255, 0.78);
}

.omeds-primary-button,
.omeds-text-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: var(--omeds-green);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.omeds-primary-button {
    min-height: 50px;
    margin-top: 28px;
    padding: 0 25px;
    border-radius: 999px;
    background: var(--omeds-green);
    color: #fff;
    text-decoration: none;
}

.omeds-primary-button--light {
    background: var(--omeds-green-light);
    color: var(--omeds-green);
}

.omeds-text-link {
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(23, 41, 31, 0.4);
    text-decoration: none;
}

/* Header */
.omeds-header {
    position: fixed;
    z-index: 1000;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    color: var(--omeds-green);
    border-bottom: 1px solid var(--omeds-line);
    background: rgba(251, 249, 244, 0.95);
    box-shadow: 0 8px 30px rgba(15, 34, 23, 0.06);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    transition: background-color 220ms ease, color 220ms ease, box-shadow 220ms ease;
}

body.admin-bar .omeds-header {
    top: 32px;
}

body.omeds-home .omeds-header {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.18);
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body.omeds-home .omeds-header.is-scrolled,
body.omeds-home .omeds-header.is-menu-open {
    color: var(--omeds-green);
    border-color: var(--omeds-line);
    background: rgba(251, 249, 244, 0.95);
    box-shadow: 0 8px 30px rgba(15, 34, 23, 0.07);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.omeds-header__inner {
    display: grid;
    width: 100%;
    min-height: var(--omeds-header-height);
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 28px;
    padding-right: max(clamp(20px, 4vw, 78px), env(safe-area-inset-right));
    padding-left: max(clamp(20px, 4vw, 78px), env(safe-area-inset-left));
}

.omeds-header__nav {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: clamp(18px, 2.2vw, 36px);
}

.omeds-nav-link {
    position: relative;
    color: currentColor;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.17em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
}

.omeds-nav-link::after {
    position: absolute;
    right: 0;
    bottom: -9px;
    left: 0;
    height: 1px;
    background: currentColor;
    content: "";
    opacity: 0;
    transform: scaleX(0.3);
    transition: opacity 180ms ease, transform 180ms ease;
}

.omeds-nav-link:hover::after,
.omeds-nav-link:focus-visible::after,
.omeds-nav-link.is-active::after {
    opacity: 0.75;
    transform: scaleX(1);
}

.omeds-header__logo {
    display: flex;
    width: 150px;
    height: 126px;
    align-items: center;
    justify-content: center;
    justify-self: center;
    overflow: visible;
}

.omeds-header__logo-image {
    display: block;
    width: 142px;
    height: 142px;
    object-fit: contain;
    transform: scale(1.1);
    transform-origin: center;
}

body.omeds-home .omeds-header:not(.is-scrolled) .omeds-header__logo-image {
    filter: brightness(0) invert(1);
}

.omeds-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.omeds-cart {
    position: relative;
    display: flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    color: currentColor;
}

.omeds-cart svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.omeds-cart > span {
    position: absolute;
    top: 0;
    right: -1px;
    display: flex;
    min-width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    border-radius: 99px;
    background: var(--omeds-green-light);
    color: var(--omeds-green);
    font-size: 8px;
    font-weight: 800;
}

.omeds-menu-button {
    display: none;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    justify-self: start;
    flex-direction: column;
    gap: 6px;
    border: 0;
    background: transparent;
    color: currentColor;
    cursor: pointer;
}

.omeds-menu-button span {
    width: 24px;
    height: 1.5px;
    background: currentColor;
    transition: transform 180ms ease;
}

.omeds-header.is-menu-open .omeds-menu-button span:first-child {
    transform: translateY(3.75px) rotate(45deg);
}

.omeds-header.is-menu-open .omeds-menu-button span:last-child {
    transform: translateY(-3.75px) rotate(-45deg);
}

.omeds-mobile-nav {
    display: none;
}

/* Footer */
.omeds-footer {
    position: relative;
    z-index: 10;
    width: 100%;
    margin: 0;
    border-top: 1px solid var(--omeds-line);
    background: #f7f5ef;
}

.omeds-footer__inner {
    display: flex;
    min-height: 500px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 70px max(22px, env(safe-area-inset-right))
        calc(60px + env(safe-area-inset-bottom))
        max(22px, env(safe-area-inset-left));
    text-align: center;
}

.omeds-footer__logo {
    display: flex;
    width: 220px;
    height: 220px;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.omeds-footer__logo-image {
    display: block;
    width: 206px;
    height: 206px;
    object-fit: contain;
    transform: scale(1.06);
}

.omeds-footer__main-nav,
.omeds-footer__legal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.omeds-footer__main-nav {
    gap: 14px 31px;
    margin-top: 26px;
}

.omeds-footer__main-nav a {
    color: var(--omeds-green);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-decoration: none;
    text-transform: uppercase;
}

.omeds-footer__text {
    max-width: 500px;
    margin: 25px 0 0;
    color: var(--omeds-muted);
    font-size: 13px;
    line-height: 1.65;
}

.omeds-footer__legal {
    gap: 12px 25px;
    margin-top: 28px;
}

.omeds-footer__legal a {
    color: var(--omeds-text);
    font-size: 11px;
}

.omeds-footer small {
    margin-top: 30px;
    color: var(--omeds-muted);
    font-size: 9px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* Home */
body.omeds-home .oma17f-home {
    position: relative !important;
    left: 50% !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
}

body.omeds-home .oma17f-frame {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-shadow: none !important;
}

body.omeds-home .oma17f-main {
    width: min(calc(100% - (var(--omeds-gutter) * 2)), var(--omeds-content-max)) !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

body.omeds-home .oma17f-home :is(h1, h2, h3) {
    font-family: var(--omeds-serif) !important;
    font-weight: 400 !important;
    letter-spacing: -0.05em !important;
}

body.omeds-home .oma17f-hero-product,
body.omeds-home .oma17f-hero-product__image,
body.omeds-home .oma17f-hero-product img {
    display: none !important;
}

/* Generic page structures */
.omeds-page {
    width: 100%;
    min-height: 70vh;
    padding-top: var(--omeds-header-height);
    background: var(--omeds-ivory);
}

.omeds-page-hero,
.omeds-photo-hero,
.omeds-compact-hero,
.omeds-commerce-hero,
.omeds-article-hero,
.omeds-error-hero {
    position: relative;
    overflow: hidden;
    background: var(--omeds-green-dark);
    color: #fff;
}

.omeds-page-hero {
    min-height: 690px;
}

.omeds-photo-hero {
    min-height: 760px;
}

.omeds-compact-hero,
.omeds-commerce-hero {
    min-height: 430px;
}

.omeds-article-hero {
    min-height: 680px;
}

.omeds-error-hero {
    min-height: calc(100dvh - var(--omeds-header-height));
}

.omeds-page-hero__media,
.omeds-photo-hero > img,
.omeds-compact-hero__media,
.omeds-commerce-hero__media,
.omeds-article-hero__media,
.omeds-error-hero > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.omeds-page-hero__media img,
.omeds-photo-hero > img,
.omeds-compact-hero__media img,
.omeds-commerce-hero__media img,
.omeds-article-hero__media img,
.omeds-error-hero > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.92) contrast(1.03);
}

.omeds-page-hero__shade,
.omeds-photo-hero__shade,
.omeds-compact-hero__shade,
.omeds-commerce-hero__shade,
.omeds-article-hero__shade,
.omeds-error-hero__shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(8, 18, 11, 0.87) 0%, rgba(8, 18, 11, 0.48) 58%, rgba(8, 18, 11, 0.14) 100%),
        linear-gradient(0deg, rgba(8, 18, 11, 0.54), transparent 68%);
}

.omeds-page-hero__copy,
.omeds-photo-hero__copy,
.omeds-compact-hero__copy,
.omeds-commerce-hero__copy,
.omeds-article-hero__copy,
.omeds-error-hero__copy {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: inherit;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    padding-top: clamp(120px, 15vw, 210px);
    padding-bottom: clamp(60px, 8vw, 120px);
}

.omeds-page-hero h1,
.omeds-photo-hero h1,
.omeds-article-hero h1,
.omeds-error-hero h1 {
    max-width: 1100px;
    margin: 0;
    color: #fff;
    font-size: clamp(62px, 8vw, 138px);
    line-height: 0.9;
}

.omeds-compact-hero h1,
.omeds-commerce-hero h1 {
    max-width: 1100px;
    margin: 0;
    color: #fff;
    font-size: clamp(50px, 6.4vw, 100px);
    line-height: 0.94;
}

.omeds-page-hero h1 em,
.omeds-photo-hero h1 em {
    color: #e7dfc2;
    font-weight: 400;
}

.omeds-page-hero__copy > p:last-child,
.omeds-photo-hero__copy > p:last-child,
.omeds-article-hero__copy > p:last-child,
.omeds-error-hero__copy > p:last-child {
    max-width: 680px;
    margin: 30px 0 0;
    color: rgba(255, 255, 255, 0.8);
    font-size: clamp(15px, 1.35vw, 20px);
    line-height: 1.68;
}

.omeds-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
    color: var(--omeds-muted);
    font-size: 11px;
}

.omeds-breadcrumbs a {
    color: var(--omeds-green);
}

/* Shop */
.omeds-shop-intro,
.omeds-about-intro,
.omeds-blog-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.92fr);
    gap: clamp(40px, 7vw, 130px);
    padding-top: var(--omeds-section-y);
    padding-bottom: clamp(60px, 7vw, 110px);
    border-bottom: 1px solid var(--omeds-line);
}

.omeds-shop-intro h2,
.omeds-about-intro h2,
.omeds-blog-heading h2,
.omeds-split-story h2,
.omeds-map-story h2,
.omeds-shop-note h2,
.omeds-empty-state h2 {
    margin: 0;
    font-size: clamp(46px, 6vw, 92px);
    line-height: 0.98;
}

.omeds-shop-intro > p,
.omeds-blog-heading > p,
.omeds-richtext {
    align-self: end;
    margin: 0;
    color: var(--omeds-muted);
    font-size: clamp(15px, 1.3vw, 19px);
    line-height: 1.76;
}

.omeds-catalog-tools {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 24px;
    padding-top: 34px;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--omeds-line);
}

.omeds-filter-form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 14px;
}

.omeds-filter-form label {
    display: grid;
    gap: 7px;
}

.omeds-filter-form label > span {
    color: var(--omeds-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.omeds-filter-form select,
.omeds-filter-form button {
    min-height: 46px;
    border: 1px solid var(--omeds-line);
    border-radius: 999px;
    background: #fff;
    color: var(--omeds-text);
    font: inherit;
}

.omeds-filter-form select {
    padding: 0 40px 0 16px;
}

.omeds-filter-form button {
    padding: 0 20px;
    background: var(--omeds-green);
    color: #fff;
    cursor: pointer;
}

.omeds-filter-form > a {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    color: var(--omeds-green);
    font-size: 11px;
}

.omeds-result-count {
    margin: 0;
    color: var(--omeds-muted);
    font-size: 12px;
}

.omeds-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(16px, 1.7vw, 28px);
    padding-top: clamp(60px, 7vw, 110px);
    padding-bottom: clamp(90px, 10vw, 150px);
}

.omeds-product-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 600px;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--omeds-line);
    border-radius: var(--omeds-radius-md);
    background: rgba(255, 255, 255, 0.77);
    box-shadow: 0 20px 45px rgba(25, 43, 31, 0.06);
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.omeds-product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 26px 60px rgba(25, 43, 31, 0.1);
}

.omeds-product-card__visual {
    position: relative;
    display: flex;
    min-height: 360px;
    align-items: flex-end;
    justify-content: center;
    padding: 56px 30px 24px;
    background: linear-gradient(180deg, #f5f1e8 0%, #fbfaf6 100%);
}

.omeds-product-card__visual::after {
    position: absolute;
    right: 18%;
    bottom: 28px;
    left: 18%;
    height: 24px;
    border-radius: 50%;
    background: rgba(27, 41, 31, 0.14);
    content: "";
    filter: blur(15px);
}

.omeds-product-card__visual img {
    position: relative;
    z-index: 2;
    width: auto;
    max-width: 84%;
    height: 280px;
    object-fit: contain;
    filter: drop-shadow(0 20px 18px rgba(23, 35, 26, 0.19));
    transition: transform 220ms ease;
}

.omeds-product-card:hover .omeds-product-card__visual img {
    transform: translateY(-5px) scale(1.02);
}

.omeds-product-card__status {
    position: absolute;
    z-index: 3;
    top: 18px;
    left: 18px;
    padding: 8px 11px;
    border-radius: 999px;
    background: var(--omeds-green);
    color: #fff;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.omeds-product-card.is-inquiry .omeds-product-card__status {
    background: #8a681e;
}

.omeds-product-card.is-soldout .omeds-product-card__status {
    background: #6b706a;
}

.omeds-product-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 25px 24px 22px;
}

.omeds-product-card__eyebrow {
    margin: 0 0 10px;
    color: var(--omeds-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.omeds-product-card__body h2,
.omeds-product-card__body h3 {
    min-height: 78px;
    margin: 0;
    font-size: 25px;
    line-height: 1.08;
}

.omeds-product-card__body h2 a,
.omeds-product-card__body h3 a {
    color: var(--omeds-text);
    text-decoration: none;
}

.omeds-product-card__price {
    min-height: 35px;
    margin-top: 16px;
    color: var(--omeds-green);
    font-weight: 800;
}

.omeds-product-card__price del {
    margin-right: 6px;
    opacity: 0.5;
}

.omeds-product-card__price ins {
    text-decoration: none;
}

.omeds-product-card__button {
    display: flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    padding: 0 15px;
    border: 1px solid var(--omeds-line);
    border-radius: 999px;
    background: transparent;
    color: var(--omeds-green);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-decoration: none;
    text-transform: uppercase;
}

.omeds-product-card__button:hover,
.omeds-product-card__button:focus-visible {
    border-color: var(--omeds-green);
    background: var(--omeds-green);
    color: #fff;
}

.omeds-product-card__button.is-inquiry {
    border-color: #8a681e;
    background: #8a681e;
    color: #fff;
}

.omeds-shop-note {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.82fr);
    gap: clamp(40px, 7vw, 130px);
    padding-top: var(--omeds-section-y);
    padding-bottom: var(--omeds-section-y);
    border-top: 1px solid var(--omeds-line);
}

.omeds-shop-note > p {
    align-self: end;
    max-width: 700px;
    margin: 0;
    color: var(--omeds-muted);
    line-height: 1.75;
}

/* About */
.omeds-value-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    padding-top: 34px;
    padding-bottom: var(--omeds-section-y);
}

.omeds-value-grid article {
    min-height: 310px;
    padding: 30px;
    border: 1px solid var(--omeds-line);
    border-radius: var(--omeds-radius-md);
    background: #fff;
}

.omeds-value-grid article > span {
    display: flex;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: var(--omeds-green-light);
    color: var(--omeds-green);
    font-size: 10px;
    font-weight: 800;
}

.omeds-value-grid h2 {
    margin-top: 56px;
    font-size: clamp(32px, 3vw, 48px);
    line-height: 1;
}

.omeds-value-grid p {
    margin: 18px 0 0;
    color: var(--omeds-muted);
    line-height: 1.7;
}

.omeds-split-story,
.omeds-map-story {
    display: grid;
    align-items: center;
    gap: clamp(40px, 7vw, 120px);
    padding-top: var(--omeds-section-y);
    padding-bottom: var(--omeds-section-y);
    border-top: 1px solid var(--omeds-line);
}

.omeds-split-story {
    grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
}

.omeds-map-story {
    grid-template-columns: minmax(340px, 0.82fr) minmax(0, 1.18fr);
}

.omeds-split-story__media,
.omeds-map-story__media {
    overflow: hidden;
    border-radius: var(--omeds-radius-lg);
    box-shadow: var(--omeds-shadow);
}

.omeds-split-story__media img,
.omeds-map-story__media img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.omeds-split-story__copy p,
.omeds-map-story p {
    max-width: 680px;
    color: var(--omeds-muted);
    line-height: 1.75;
}

/* Blog/listings */
.omeds-article-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 30px);
    padding-top: clamp(60px, 7vw, 110px);
    padding-bottom: var(--omeds-section-y);
}

.omeds-article-card {
    overflow: hidden;
    border: 1px solid var(--omeds-line);
    border-radius: var(--omeds-radius-md);
    background: #fff;
    box-shadow: 0 18px 45px rgba(25, 43, 31, 0.06);
}

.omeds-article-card__image {
    display: block;
    overflow: hidden;
}

.omeds-article-card__image img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    transition: transform 300ms ease;
}

.omeds-article-card:hover .omeds-article-card__image img {
    transform: scale(1.025);
}

.omeds-article-card__body {
    padding: 25px;
}

.omeds-article-card__meta {
    margin: 0;
    color: var(--omeds-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.omeds-article-card h2 {
    min-height: 76px;
    margin: 15px 0 0;
    font-size: clamp(28px, 2.5vw, 39px);
    line-height: 1.03;
}

.omeds-article-card h2 a {
    color: var(--omeds-text);
    text-decoration: none;
}

.omeds-article-card__body > p:not(.omeds-article-card__meta) {
    min-height: 78px;
    margin: 18px 0 24px;
    color: var(--omeds-muted);
    line-height: 1.65;
}

.omeds-pagination {
    grid-column: 1 / -1;
    margin-top: 25px;
}

.omeds-pagination ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0;
    list-style: none;
}

.omeds-pagination a,
.omeds-pagination span {
    display: flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--omeds-line);
    border-radius: 999px;
    background: #fff;
    color: var(--omeds-green);
}

.omeds-pagination .current {
    background: var(--omeds-green);
    color: #fff;
}

/* Documents, articles, generic pages */
.omeds-document-layout,
.omeds-article-layout {
    display: grid;
    grid-template-columns: minmax(220px, 0.42fr) minmax(0, 1.58fr);
    gap: clamp(40px, 7vw, 120px);
    padding-top: var(--omeds-section-y);
    padding-bottom: var(--omeds-section-y);
}

.omeds-document-layout__aside,
.omeds-article-layout > aside {
    color: var(--omeds-muted);
    font-size: 13px;
    line-height: 1.65;
}

.omeds-document-content,
.omeds-article-content {
    width: 100%;
    max-width: var(--omeds-reading-max);
    color: var(--omeds-text);
    font-size: 17px;
    line-height: 1.78;
}

.omeds-document-content :is(h2, h3),
.omeds-article-content :is(h2, h3) {
    margin-top: 2em;
    margin-bottom: 0.6em;
    line-height: 1.03;
}

.omeds-document-content h2,
.omeds-article-content h2 {
    font-size: clamp(34px, 4vw, 58px);
}

.omeds-document-content h3,
.omeds-article-content h3 {
    font-size: clamp(27px, 3vw, 40px);
}

.omeds-document-content :is(ul, ol),
.omeds-article-content :is(ul, ol) {
    padding-left: 1.3em;
}

.omeds-document-content :is(a, button),
.omeds-article-content a {
    overflow-wrap: anywhere;
}

.omeds-document-content table,
.omeds-article-content table {
    display: block;
    width: 100%;
    overflow-x: auto;
}

.omeds-listing-layout,
.omeds-commerce-layout {
    padding-top: var(--omeds-section-y);
    padding-bottom: var(--omeds-section-y);
}

.omeds-list-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 36px;
}

.omeds-list-card {
    min-height: 300px;
    padding: 28px;
    border: 1px solid var(--omeds-line);
    border-radius: var(--omeds-radius-md);
    background: #fff;
}

.omeds-list-card > p:first-child {
    color: var(--omeds-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.omeds-list-card h2 {
    margin: 25px 0 0;
    font-size: clamp(30px, 3vw, 44px);
    line-height: 1.03;
}

.omeds-list-card h2 a {
    color: var(--omeds-text);
    text-decoration: none;
}

.omeds-list-card > div {
    margin: 18px 0 28px;
    color: var(--omeds-muted);
    line-height: 1.65;
}

.omeds-search-form {
    max-width: 720px;
    margin-top: 30px;
}

.omeds-search-form form,
.omeds-search-form .search-form {
    display: flex;
    gap: 10px;
}

.omeds-search-form input[type="search"] {
    min-height: 52px;
    flex: 1;
    border: 1px solid var(--omeds-line);
    border-radius: 999px;
    background: #fff;
    padding: 0 18px;
}

.omeds-search-form button,
.omeds-search-form input[type="submit"] {
    min-height: 52px;
    border: 0;
    border-radius: 999px;
    background: var(--omeds-green);
    color: #fff;
    padding: 0 22px;
}

/* Commerce */
.omeds-commerce-content {
    margin-top: 35px;
}

body.omeds-editorial
:is(
    .woocommerce-cart-form,
    .cart_totals,
    .woocommerce-checkout,
    .woocommerce-MyAccount-navigation,
    .woocommerce-MyAccount-content,
    .wc-block-cart,
    .wc-block-checkout
) {
    border-radius: var(--omeds-radius-md);
}

body.omeds-editorial .woocommerce table.shop_table {
    border-color: var(--omeds-line);
    border-radius: var(--omeds-radius-md);
    background: #fff;
}

body.omeds-editorial .woocommerce :is(input, select, textarea) {
    min-height: 48px;
    border: 1px solid var(--omeds-line);
    border-radius: 12px;
    background: #fff;
}

body.omeds-editorial .woocommerce textarea {
    min-height: 130px;
}

body.omeds-editorial .woocommerce :is(button.button, a.button, input.button),
body.omeds-editorial :is(.wc-block-components-button, .wp-element-button) {
    min-height: 48px;
    border-radius: 999px !important;
    background: var(--omeds-green) !important;
    color: #fff !important;
    font-weight: 800;
}

body.omeds-editorial .woocommerce-message,
body.omeds-editorial .woocommerce-info,
body.omeds-editorial .woocommerce-error {
    border-radius: 14px;
    border-top-color: var(--omeds-green);
    background: #fff;
}

body.omeds-checkout .omeds-commerce-hero {
    min-height: 330px;
}

body.omeds-checkout .omeds-header__nav,
body.omeds-checkout .omeds-footer__main-nav {
    opacity: 0.65;
}

/* Single product */
.omeds-product-heading {
    padding-top: clamp(70px, 7vw, 105px);
    padding-bottom: clamp(48px, 6vw, 85px);
    background: var(--omeds-cream);
    border-bottom: 1px solid var(--omeds-line);
}

.omeds-product-heading h1 {
    max-width: 1180px;
    margin: 15px 0 0;
    font-size: clamp(48px, 6.8vw, 104px);
    line-height: 0.94;
}

.omeds-product-heading__status {
    display: inline-flex;
    margin-top: 24px;
    padding: 9px 13px;
    border-radius: 999px;
    background: var(--omeds-green);
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.omeds-product-heading__status.is-inquiry {
    background: #8a681e;
}

.omeds-product-heading__status.is-soldout {
    background: #6b706a;
}

.omeds-product-shell {
    padding-top: var(--omeds-section-y);
    padding-bottom: var(--omeds-section-y);
}

body.omeds-product .woocommerce div.product {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
    gap: clamp(40px, 7vw, 110px);
    align-items: start;
}

body.omeds-product .woocommerce div.product div.images,
body.omeds-product .woocommerce div.product div.summary {
    width: 100%;
    float: none;
    margin: 0;
}

body.omeds-product .woocommerce div.product div.images {
    padding: clamp(30px, 4vw, 60px);
    border-radius: var(--omeds-radius-lg);
    background: linear-gradient(180deg, #f3eee4, #fbfaf6);
}

body.omeds-product .woocommerce div.product div.images img {
    max-height: 690px;
    object-fit: contain;
}

body.omeds-product .woocommerce div.product div.summary {
    padding-top: 20px;
}

body.omeds-product .woocommerce div.product .product_title {
    display: none;
}

body.omeds-product .woocommerce div.product .price {
    color: var(--omeds-green);
    font-family: var(--omeds-serif);
    font-size: clamp(32px, 3.5vw, 52px);
}

body.omeds-product .woocommerce div.product .woocommerce-product-details__short-description {
    color: var(--omeds-muted);
    font-size: 17px;
    line-height: 1.75;
}

body.omeds-product .woocommerce div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

body.omeds-product .woocommerce div.product form.cart .quantity input {
    min-height: 52px;
    border: 1px solid var(--omeds-line);
    border-radius: 999px;
}

body.omeds-product .woocommerce div.product form.cart .button {
    min-height: 52px;
    border-radius: 999px;
    background: var(--omeds-green);
}

body.omeds-product .woocommerce div.product .woocommerce-tabs,
body.omeds-product .related.products {
    grid-column: 1 / -1;
    margin-top: clamp(55px, 7vw, 100px);
}

body.omeds-product .woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 0;
}

body.omeds-product .woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border-color: var(--omeds-line);
}

body.omeds-product .related.products > h2 {
    font-size: clamp(40px, 5vw, 70px);
}

body.omeds-product .related.products ul.products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

body.omeds-product .related.products ul.products::before,
body.omeds-product .related.products ul.products::after {
    display: none;
}

/* Empty/error states */
.omeds-empty-state {
    grid-column: 1 / -1;
    max-width: 820px;
    padding: 70px 0;
}

.omeds-empty-state p {
    max-width: 620px;
    color: var(--omeds-muted);
    line-height: 1.7;
}

.omeds-error-hero__copy {
    justify-content: center;
}

/* Cookie/consent */
body.omeds-editorial .cmplz-manage-consent {
    z-index: 1200;
}

/* Responsive */
@media (max-width: 1220px) {
    .omeds-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .omeds-article-grid,
    .omeds-list-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.omeds-product .related.products ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    :root {
        --omeds-header-height: 82px;
    }

    .omeds-header__inner {
        min-height: var(--omeds-header-height);
        grid-template-columns: 56px 1fr 56px;
        padding-right: max(14px, env(safe-area-inset-right));
        padding-left: max(14px, env(safe-area-inset-left));
    }

    .omeds-header__nav {
        display: none;
    }

    .omeds-menu-button {
        display: flex;
    }

    .omeds-header__logo {
        width: 76px;
        height: 76px;
    }

    .omeds-header__logo-image {
        width: 72px;
        height: 72px;
    }

    .omeds-mobile-nav {
        display: grid;
        max-height: 0;
        overflow: hidden;
        background: rgba(251, 249, 244, 0.99);
        transition: max-height 220ms ease, padding 220ms ease;
    }

    .omeds-header.is-menu-open .omeds-mobile-nav {
        max-height: 390px;
        padding: 8px 22px 24px;
    }

    .omeds-mobile-nav a {
        padding: 14px 0;
        border-bottom: 1px solid var(--omeds-line);
        color: var(--omeds-green);
        font-size: 11px;
        font-weight: 800;
        letter-spacing: 0.14em;
        text-decoration: none;
        text-transform: uppercase;
    }

    .omeds-shop-intro,
    .omeds-about-intro,
    .omeds-blog-heading,
    .omeds-shop-note,
    .omeds-split-story,
    .omeds-map-story,
    .omeds-document-layout,
    .omeds-article-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .omeds-catalog-tools {
        grid-template-columns: minmax(0, 1fr);
    }

    .omeds-result-count {
        justify-self: start;
    }

    .omeds-value-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .omeds-value-grid article {
        min-height: auto;
    }

    .omeds-value-grid h2 {
        margin-top: 32px;
    }

    .omeds-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .omeds-article-grid,
    .omeds-list-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.omeds-product .woocommerce div.product {
        grid-template-columns: minmax(0, 1fr);
    }

    body.omeds-product .related.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .omeds-document-content,
    .omeds-article-content {
        max-width: 100%;
    }
}

@media (max-width: 782px) {
    body.admin-bar .omeds-header {
        top: 46px;
    }
}

@media (max-width: 680px) {
    :root {
        --omeds-gutter: 14px;
    }

    .omeds-page-hero {
        min-height: 620px;
    }

    .omeds-photo-hero,
    .omeds-article-hero {
        min-height: 650px;
    }

    .omeds-compact-hero,
    .omeds-commerce-hero {
        min-height: 350px;
    }

    .omeds-page-hero h1,
    .omeds-photo-hero h1,
    .omeds-article-hero h1,
    .omeds-error-hero h1 {
        font-size: clamp(46px, 14vw, 70px);
    }

    .omeds-compact-hero h1,
    .omeds-commerce-hero h1 {
        font-size: clamp(40px, 12vw, 58px);
    }

    .omeds-filter-form {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    .omeds-filter-form label,
    .omeds-filter-form select,
    .omeds-filter-form button,
    .omeds-filter-form > a {
        width: 100%;
    }

    .omeds-product-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .omeds-product-card {
        min-height: 570px;
    }

    .omeds-product-card__visual {
        min-height: 340px;
    }

    .omeds-product-card__visual img {
        height: 265px;
    }

    .omeds-article-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .omeds-footer__inner {
        min-height: 520px;
    }

    .omeds-footer__logo {
        width: 160px;
        height: 160px;
    }

    .omeds-footer__logo-image {
        width: 148px;
        height: 148px;
    }

    .omeds-footer__main-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: min(100%, 340px);
    }

    body.omeds-product .related.products ul.products {
        grid-template-columns: minmax(0, 1fr);
    }

    body.omeds-product .woocommerce div.product div.images {
        padding: 22px;
    }

    .omeds-search-form form,
    .omeds-search-form .search-form {
        flex-direction: column;
    }
}

@media (max-width: 360px) {
    .omeds-header__logo {
        width: 66px;
        height: 66px;
    }

    .omeds-header__logo-image {
        width: 62px;
        height: 62px;
    }

    .omeds-product-card__body h2,
    .omeds-product-card__body h3 {
        font-size: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.omeds-editorial *,
    body.omeds-editorial *::before,
    body.omeds-editorial *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media print {
    .omeds-header,
    .omeds-footer,
    .omeds-compact-hero__media,
    .omeds-commerce-hero__media,
    .omeds-page-hero__media,
    .omeds-photo-hero > img,
    .omeds-article-hero__media {
        display: none !important;
    }

    .omeds-page {
        padding-top: 0;
    }

    body.omeds-editorial {
        background: #fff;
        color: #000;
    }
}


/* ==================================================
 * V6 — FOTOS REALES DE CADA PRODUCTO WOOCOMMERCE
 * ================================================== */

.omeds-product-card__visual {
    align-items: center;
    background: #ffffff;
}

.omeds-product-card__visual::after {
    display: none;
}

.omeds-product-card__visual .omeds-product-card__image,
.omeds-product-card__visual img[data-image-source="woocommerce"] {
    width: 100%;
    max-width: 100%;
    height: 320px;
    object-fit: contain;
    object-position: center;
    filter: none;
}

.omeds-product-card:hover
.omeds-product-card__visual
.omeds-product-card__image {
    transform: scale(1.015);
}

body.omeds-home
:is(
    .oma17f-product-card,
    .oma17f-featured,
    .oma17f-product,
    .oma17f-products article
)
img[data-image-source="woocommerce"] {
    width: 100%;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
    filter: none !important;
}

body.omeds-product .woocommerce div.product div.images {
    border: 1px solid var(--omeds-line);
    background: #ffffff;
}

body.omeds-product
.woocommerce-product-gallery__wrapper {
    display: grid;
    gap: 14px;
}

body.omeds-product
.woocommerce-product-gallery__image {
    overflow: hidden;
    border-radius: 18px;
    background: #fff;
}

body.omeds-product
.woocommerce-product-gallery__image
img {
    width: 100%;
    max-height: 760px;
    object-fit: contain;
    object-position: center;
    filter: none;
}

body.omeds-product
.flex-control-thumbs {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px !important;
}

body.omeds-product
.flex-control-thumbs
li {
    width: 100% !important;
    margin: 0 !important;
}

body.omeds-product
.flex-control-thumbs
img {
    aspect-ratio: 1;
    border: 1px solid var(--omeds-line);
    border-radius: 12px;
    object-fit: contain;
    background: #fff;
}

body.omeds-product .product_meta {
    display: grid;
    gap: 8px;
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid var(--omeds-line);
    color: var(--omeds-muted);
    font-size: 12px;
}

body.omeds-product .woocommerce-product-rating {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

body.omeds-product .woocommerce-tabs {
    border-top: 1px solid var(--omeds-line);
    padding-top: 42px;
}

body.omeds-product
.woocommerce-Tabs-panel {
    max-width: var(--omeds-reading-max);
    color: var(--omeds-muted);
    font-size: 16px;
    line-height: 1.76;
}

body.omeds-product
.woocommerce-Tabs-panel
:is(h2, h3) {
    color: var(--omeds-text);
}

body.omeds-product
#reviews {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
}

body.omeds-product
#review_form_wrapper {
    padding: 28px;
    border: 1px solid var(--omeds-line);
    border-radius: var(--omeds-radius-md);
    background: #fff;
}

.omeds-inquiry-panel {
    margin-top: 34px;
    padding: 28px;
    border: 1px solid rgba(138, 104, 30, 0.28);
    border-radius: var(--omeds-radius-md);
    background: #fbf4e5;
}

.omeds-inquiry-panel h2 {
    margin: 0;
    font-size: clamp(34px, 3.4vw, 50px);
    line-height: 1.02;
}

.omeds-inquiry-panel > p:not(.omeds-kicker) {
    margin: 18px 0 0;
    color: #655737;
    line-height: 1.7;
}

.omeds-inquiry-panel .omeds-primary-button {
    background: #8a681e;
}

body.omeds-editorial
:is(
    .woocommerce-form,
    .woocommerce-address-fields,
    .woocommerce-EditAccountForm,
    .woocommerce-ResetPassword,
    .woocommerce-order-details,
    .woocommerce-customer-details
) {
    padding: clamp(22px, 4vw, 42px);
    border: 1px solid var(--omeds-line);
    border-radius: var(--omeds-radius-md);
    background: #fff;
}

body.omeds-editorial
.woocommerce-MyAccount-navigation
ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.omeds-editorial
.woocommerce-MyAccount-navigation
a {
    display: flex;
    min-height: 46px;
    align-items: center;
    padding: 0 15px;
    border: 1px solid var(--omeds-line);
    border-radius: 999px;
    color: var(--omeds-green);
    text-decoration: none;
}

body.omeds-editorial
.woocommerce-MyAccount-navigation
.is-active
a {
    background: var(--omeds-green);
    color: #fff;
}

body.omeds-editorial
.woocommerce-MyAccount-content {
    min-width: 0;
}

body.omeds-editorial
.woocommerce-account
.woocommerce {
    display: grid;
    grid-template-columns: minmax(220px, 0.35fr) minmax(0, 1.65fr);
    gap: clamp(28px, 5vw, 70px);
}

.omeds-table-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 980px) {
    body.omeds-editorial
    .woocommerce-account
    .woocommerce {
        grid-template-columns: minmax(0, 1fr);
    }

    body.omeds-product
    .flex-control-thumbs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .omeds-product-card__visual .omeds-product-card__image,
    .omeds-product-card__visual img[data-image-source="woocommerce"] {
        height: 290px;
    }

    body.omeds-product
    .flex-control-thumbs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ==================================================
 * V7 — CONSOLIDACIÓN BASADA EN EL ESQUEMA REAL
 * 16 páginas, 9 productos, 9 taxonomías y 44 rutas.
 * ================================================== */

body.omeds-editorial .oma17f-header,
body.omeds-editorial .oma17f-footer,
body.omeds-editorial .om-utility-footer,
body.omeds-editorial aside.om-topbar {
    display: none !important;
}

body.omeds-home .oma17f-home {
    padding-top: 0 !important;
}

body.omeds-home .oma17f-hero {
    min-height: 100svh;
}

body.omeds-home .oma17f-hero__content {
    max-width: min(900px, 92vw);
}

body.omeds-home .oma17f-product-card__visual {
    background: #fff;
}

body.omeds-home .oma17f-product-card__visual img {
    width: 100%;
    max-width: 100%;
    height: 310px;
    object-fit: contain;
    filter: none;
}

body.omeds-home .oma17f-product-card__visual::after {
    display: none;
}

body.omeds-home .oma17f-frame,
body.omeds-home .oma17f-section {
    border-radius: 0 !important;
}

body.omeds-editorial.tax-product_brand .omeds-page-hero,
body.omeds-editorial.tax-product_cat .omeds-page-hero,
body.omeds-editorial.tax-product_tag .omeds-page-hero,
body.omeds-editorial.tax-intensidad .omeds-page-hero,
body.omeds-editorial.tax-maridaje .omeds-page-hero {
    min-height: 520px;
}

body.omeds-editorial .om-inquiry-overview,
body.omeds-editorial .om-inquiry-form,
body.omeds-editorial #vorbestellung-anfragen {
    margin-top: 34px;
    padding: clamp(24px, 4vw, 38px);
    border: 1px solid rgba(138, 104, 30, 0.28);
    border-radius: var(--omeds-radius-md);
    background: #fbf4e5;
}

body.omeds-editorial .om-inquiry-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
}

body.omeds-editorial .om-inquiry-facts > div {
    padding: 15px;
    border: 1px solid rgba(138, 104, 30, 0.18);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.62);
}

body.omeds-editorial .om-inquiry-facts dt {
    color: #78683f;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body.omeds-editorial .om-inquiry-facts dd {
    margin: 7px 0 0;
    color: var(--omeds-text);
    font-weight: 700;
}

body.omeds-editorial .om-catalog-status {
    margin: 8px 0;
    font-size: 11px;
    font-weight: 700;
}

body.omeds-editorial .om-status-instock {
    color: #2f6a3a;
}

body.omeds-editorial .om-status-outofstock {
    color: #6b706a;
}

body.omeds-editorial .om-status-inquiry {
    color: #8a681e;
}

body.omeds-editorial .om-price-per-liter,
body.omeds-editorial .om-loop-ppl {
    color: var(--omeds-muted);
    font-size: 12px;
}

body.omeds-editorial .om-pdp-block {
    margin: 18px 0;
}

body.omeds-editorial .om-quickfacts {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.omeds-editorial .om-quickfacts li {
    display: grid;
    grid-template-columns: minmax(110px, 0.38fr) minmax(0, 0.62fr);
    gap: 14px;
    padding-bottom: 9px;
    border-bottom: 1px solid var(--omeds-line);
}

body.omeds-editorial .om-quickfacts .label {
    color: var(--omeds-muted);
}

body.omeds-editorial .om-quickfacts a {
    color: var(--omeds-green);
}

body.omeds-editorial .wpzf-form,
body.omeds-editorial form.wpzf-form {
    max-width: 760px;
    padding: clamp(22px, 4vw, 42px);
    border: 1px solid var(--omeds-line);
    border-radius: var(--omeds-radius-md);
    background: #fff;
}

body.omeds-editorial .omeds-empty-state {
    min-height: 300px;
}

@media (max-width: 680px) {
    body.omeds-editorial .om-inquiry-facts {
        grid-template-columns: minmax(0, 1fr);
    }

    body.omeds-home .oma17f-product-card__visual img {
        height: 270px;
    }
}


/* ==================================================
 * V8 — MOBILE APP DOCK OLIVENMEER
 * Concepto app móvil, sin menú hamburguesa superior.
 * ================================================== */

:root {
    --omeds-mobile-active: #82c86b;
    --omeds-mobile-dock-height: 78px;
    --omeds-mobile-dock-gap: 12px;
    --omeds-mobile-dock-clearance:
        calc(
            var(--omeds-mobile-dock-height)
            + 42px
            + env(safe-area-inset-bottom)
        );
}

.omeds-mobile-ui,
.omeds-contact-dialog {
    display: none;
}

@media (max-width: 1024px) {
    body.omeds-editorial {
        padding-bottom:
            var(--omeds-mobile-dock-clearance)
            !important;
    }

    body.omeds-editorial.omeds-contact-open {
        overflow: hidden;
    }

    body.omeds-editorial .omeds-header {
        top: 0;
        color: #fff;
        border: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        pointer-events: none;
    }

    body.admin-bar.omeds-editorial .omeds-header {
        top: 46px;
    }

    body.omeds-editorial
    .omeds-header.is-scrolled {
        color: #fff;
        border: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    body.omeds-editorial
    .omeds-header__inner {
        display: flex;
        min-height: 82px;
        align-items: center;
        justify-content: center;
        padding-right:
            max(
                13px,
                env(safe-area-inset-right)
            );
        padding-left:
            max(
                13px,
                env(safe-area-inset-left)
            );
    }

    body.omeds-editorial
    .omeds-header__nav,
    body.omeds-editorial
    .omeds-header__actions,
    body.omeds-editorial
    .omeds-menu-button,
    body.omeds-editorial
    .omeds-mobile-nav {
        display: none !important;
    }

    body.omeds-editorial
    .omeds-header__logo {
        display: flex;
        width: 70px;
        height: 70px;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(255, 255, 255, 0.22);
        border-radius: 50%;
        background: rgba(10, 25, 16, 0.24);
        box-shadow:
            0 10px 30px rgba(4, 14, 8, 0.16);
        backdrop-filter:
            blur(14px)
            saturate(1.15);
        -webkit-backdrop-filter:
            blur(14px)
            saturate(1.15);
        pointer-events: auto;
    }

    body.omeds-editorial
    .omeds-header__logo-image {
        width: 66px;
        height: 66px;
        filter:
            brightness(0)
            invert(1)
            drop-shadow(
                0 3px 10px rgba(0, 0, 0, 0.18)
            )
            !important;
        transform: scale(1.08);
    }

    body.omeds-editorial
    .omeds-page {
        padding-top: 0;
    }

    body.omeds-editorial
    :is(
        .omeds-page-hero__copy,
        .omeds-photo-hero__copy,
        .omeds-compact-hero__copy,
        .omeds-commerce-hero__copy,
        .omeds-article-hero__copy,
        .omeds-error-hero__copy
    ) {
        padding-top:
            calc(
                112px
                + env(safe-area-inset-top)
            );
        padding-bottom:
            calc(
                130px
                + env(safe-area-inset-bottom)
            );
    }

    body.omeds-product
    .omeds-product-heading {
        padding-top:
            calc(
                112px
                + env(safe-area-inset-top)
            );
    }

    body.omeds-home
    .oma17f-hero {
        min-height: 100svh;
        min-height: 100dvh;
    }

    body.omeds-home
    .oma17f-hero__content {
        min-height: 100svh;
        min-height: 100dvh;
        justify-content: flex-end;
        padding-top:
            calc(
                112px
                + env(safe-area-inset-top)
            );
        padding-right: clamp(20px, 5vw, 44px);
        padding-bottom:
            calc(
                145px
                + env(safe-area-inset-bottom)
            );
        padding-left: clamp(20px, 5vw, 44px);
    }

    body.omeds-editorial
    .omeds-footer__inner {
        padding-bottom:
            calc(
                72px
                + var(--omeds-mobile-dock-clearance)
            );
    }

    body.omeds-editorial
    :is(
        .ct-floating-bar,
        .woocommerce-sticky-add-to-cart,
        .sticky-add-to-cart,
        .wc-block-components-drawer__screen-overlay
    ) {
        bottom:
            var(--omeds-mobile-dock-clearance)
            !important;
    }

    body.omeds-editorial
    .cmplz-manage-consent {
        bottom:
            calc(
                var(--omeds-mobile-dock-clearance)
                + 8px
            )
            !important;
    }

    .omeds-mobile-ui {
        position: fixed;
        z-index: 1300;
        right:
            max(
                10px,
                env(safe-area-inset-right)
            );
        bottom:
            max(
                10px,
                env(safe-area-inset-bottom)
            );
        left:
            max(
                10px,
                env(safe-area-inset-left)
            );
        display: flex;
        max-width: 720px;
        margin-right: auto;
        margin-left: auto;
        flex-direction: column;
        align-items: flex-end;
        gap: 8px;
        pointer-events: none;
        transition:
            opacity 180ms ease,
            transform 180ms ease;
    }

    .omeds-mobile-dock {
        display: grid;
        width: 100%;
        min-height:
            var(--omeds-mobile-dock-height);
        grid-template-columns:
            repeat(5, minmax(0, 1fr));
        align-items: stretch;
        gap: 3px;
        padding: 7px;
        border:
            1px solid
            rgba(255, 255, 255, 0.24);
        border-radius: 25px;
        background:
            linear-gradient(
                135deg,
                rgba(19, 42, 28, 0.84),
                rgba(13, 29, 20, 0.72)
            );
        box-shadow:
            0 22px 55px rgba(4, 19, 10, 0.28),
            inset 0 1px 0 rgba(255, 255, 255, 0.16);
        backdrop-filter:
            blur(24px)
            saturate(1.32);
        -webkit-backdrop-filter:
            blur(24px)
            saturate(1.32);
        pointer-events: auto;
    }

    .omeds-mobile-dock__item {
        position: relative;
        display: flex;
        min-width: 0;
        min-height: 62px;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 4px;
        padding: 6px 2px 5px;
        border-radius: 18px;
        color: rgba(255, 255, 255, 0.72);
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
        transition:
            color 180ms ease,
            background-color 180ms ease,
            transform 160ms ease;
    }

    .omeds-mobile-dock__item:hover,
    .omeds-mobile-dock__item:focus-visible {
        color: #fff;
        background:
            rgba(255, 255, 255, 0.08);
    }

    .omeds-mobile-dock__item:active {
        transform: scale(0.96);
    }

    .omeds-mobile-dock__item.is-active {
        color:
            var(--omeds-mobile-active);
        background:
            rgba(130, 200, 107, 0.13);
    }

    .omeds-mobile-dock__item.is-active::before {
        position: absolute;
        top: 4px;
        left: 50%;
        width: 22px;
        height: 2px;
        border-radius: 999px;
        background:
            var(--omeds-mobile-active);
        box-shadow:
            0 0 13px
            rgba(130, 200, 107, 0.5);
        content: "";
        transform: translateX(-50%);
    }

    .omeds-mobile-dock__icon {
        position: relative;
        display: flex;
        width: 26px;
        height: 26px;
        align-items: center;
        justify-content: center;
    }

    .omeds-mobile-dock__icon svg,
    .omeds-contact-fab__icon svg,
    .omeds-contact-dialog__close svg {
        display: block;
        width: 100%;
        height: 100%;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.65;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .omeds-mobile-dock__label {
        display: block;
        width: 100%;
        overflow: hidden;
        font-size: clamp(7.5px, 2.2vw, 9px);
        font-weight: 780;
        letter-spacing: 0.015em;
        line-height: 1.08;
        text-align: center;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .omeds-cart-count-fragment--dock {
        position: absolute;
        top: -6px;
        right: -9px;
        display: flex;
        min-width: 18px;
        height: 18px;
        align-items: center;
        justify-content: center;
        padding: 0 5px;
        border: 2px solid rgba(16, 35, 24, 0.9);
        border-radius: 999px;
        background:
            var(--omeds-mobile-active);
        color: #102015;
        font-size: 8px;
        font-weight: 900;
        line-height: 1;
    }

    .omeds-cart-count-fragment.is-empty {
        display: none;
    }

    .omeds-contact-fab {
        display: inline-flex;
        min-height: 39px;
        align-items: center;
        justify-content: center;
        gap: 7px;
        padding: 0 14px;
        border:
            1px solid
            rgba(255, 255, 255, 0.24);
        border-radius: 999px;
        background:
            rgba(18, 42, 28, 0.76);
        box-shadow:
            0 14px 32px rgba(4, 19, 10, 0.2);
        color: rgba(255, 255, 255, 0.88);
        font: inherit;
        cursor: pointer;
        backdrop-filter:
            blur(18px)
            saturate(1.22);
        -webkit-backdrop-filter:
            blur(18px)
            saturate(1.22);
        pointer-events: auto;
        -webkit-tap-highlight-color: transparent;
    }

    .omeds-contact-fab__icon {
        display: flex;
        width: 18px;
        height: 18px;
    }

    .omeds-contact-fab__label {
        font-size: 9px;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    body.omeds-checkout
    .omeds-contact-fab,
    body.omeds-cart
    .omeds-contact-fab {
        display: none;
    }

    .omeds-contact-dialog {
        width:
            min(
                calc(100% - 24px),
                540px
            );
        max-height:
            min(
                82dvh,
                760px
            );
        margin: auto;
        padding: 0;
        overflow: visible;
        border: 0;
        border-radius: 28px;
        background: transparent;
        color: var(--omeds-text);
    }

    .omeds-contact-dialog[open] {
        display: block;
    }

    .omeds-contact-dialog::backdrop {
        background:
            rgba(5, 16, 9, 0.58);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
    }

    .omeds-contact-dialog__panel {
        position: relative;
        max-height:
            min(
                82dvh,
                760px
            );
        overflow-y: auto;
        padding:
            clamp(30px, 7vw, 54px);
        border:
            1px solid
            rgba(255, 255, 255, 0.6);
        border-radius: 28px;
        background:
            rgba(251, 249, 244, 0.96);
        box-shadow:
            0 30px 80px
            rgba(4, 17, 9, 0.34);
        backdrop-filter:
            blur(22px)
            saturate(1.12);
        -webkit-backdrop-filter:
            blur(22px)
            saturate(1.12);
    }

    .omeds-contact-dialog__close {
        position: absolute;
        top: 16px;
        right: 16px;
        display: flex;
        width: 44px;
        height: 44px;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--omeds-line);
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.75);
        color: var(--omeds-green);
        cursor: pointer;
    }

    .omeds-contact-dialog__close svg {
        width: 20px;
        height: 20px;
    }

    .omeds-contact-dialog h2 {
        max-width: 390px;
        margin: 0;
        font-size: clamp(42px, 10vw, 68px);
        line-height: 0.94;
    }

    .omeds-contact-dialog__panel
    > p:not(.omeds-kicker) {
        max-width: 420px;
        margin: 24px 0 0;
        color: var(--omeds-muted);
        font-size: 15px;
        line-height: 1.7;
    }

    .omeds-contact-dialog__actions {
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        gap: 15px;
        margin-top: 30px;
    }

    .omeds-contact-dialog__actions
    .omeds-primary-button {
        width: 100%;
        margin-top: 0;
    }

    .omeds-contact-dialog__link {
        color: var(--omeds-green);
        font-size: 11px;
        font-weight: 760;
        text-underline-offset: 4px;
    }

    body.omeds-keyboard-open
    .omeds-mobile-ui {
        opacity: 0;
        transform: translateY(120%);
        pointer-events: none;
    }
}

@supports not (
    (
        backdrop-filter: blur(2px)
    )
    or
    (
        -webkit-backdrop-filter: blur(2px)
    )
) {
    @media (max-width: 1024px) {
        .omeds-mobile-dock {
            background: rgba(15, 35, 23, 0.97);
        }

        .omeds-contact-fab {
            background: rgba(15, 35, 23, 0.97);
        }

        .omeds-contact-dialog__panel {
            background: #fbf9f4;
        }
    }
}

@media (
    max-width: 420px
) {
    .omeds-mobile-ui {
        right:
            max(
                7px,
                env(safe-area-inset-right)
            );
        bottom:
            max(
                7px,
                env(safe-area-inset-bottom)
            );
        left:
            max(
                7px,
                env(safe-area-inset-left)
            );
    }

    .omeds-mobile-dock {
        padding: 6px 4px;
        border-radius: 23px;
    }

    .omeds-mobile-dock__item {
        min-height: 60px;
        gap: 3px;
        padding-right: 1px;
        padding-left: 1px;
        border-radius: 16px;
    }

    .omeds-mobile-dock__icon {
        width: 24px;
        height: 24px;
    }

    .omeds-contact-fab__label {
        display: none;
    }

    .omeds-contact-fab {
        width: 42px;
        min-height: 42px;
        padding: 0;
        border-radius: 50%;
    }
}

@media (
    max-width: 340px
) {
    .omeds-mobile-dock__label {
        font-size: 7px;
        letter-spacing: -0.01em;
    }

    .omeds-mobile-dock__icon {
        width: 22px;
        height: 22px;
    }
}

@media (
    max-width: 1024px
)
and (
    orientation: landscape
)
and (
    max-height: 620px
) {
    :root {
        --omeds-mobile-dock-height: 66px;
    }

    body.omeds-editorial
    .omeds-header__inner {
        min-height: 66px;
    }

    body.omeds-editorial
    .omeds-header__logo {
        width: 58px;
        height: 58px;
    }

    body.omeds-editorial
    .omeds-header__logo-image {
        width: 54px;
        height: 54px;
    }

    .omeds-mobile-dock {
        min-height: 66px;
        padding: 5px;
    }

    .omeds-mobile-dock__item {
        min-height: 54px;
        gap: 2px;
    }

    .omeds-mobile-dock__icon {
        width: 22px;
        height: 22px;
    }

    .omeds-contact-fab {
        display: none;
    }
}

@media print {
    .omeds-mobile-ui,
    .omeds-contact-dialog {
        display: none !important;
    }
}



/* ==================================================
 * V8.2 — ALINEACIÓN TOTAL Y CERO HAMBURGUESA
 * Un único shell HTML para todas las páginas públicas.
 * ================================================== */

:root {
    --omeds-content-max: 1660px;
    --omeds-gutter: clamp(16px, 4vw, 72px);
    --omeds-edge: max(
        var(--omeds-gutter),
        calc((100vw - var(--omeds-content-max)) / 2)
    );
}

html,
body.omeds-editorial {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 !important;
    overflow-x: clip;
}

body.omeds-editorial
:is(
    #header,
    header#header,
    header.site-header,
    header.ct-header,
    .site-header,
    .ct-header,
    .ct-header-trigger,
    .ct-header-trigger-box,
    .mobile-menu-toggle,
    .menu-toggle,
    .hamburger,
    .hamburger-menu,
    .mobile-menu,
    .mobile-menu-wrapper,
    .mobile-menu-container,
    .offcanvas-menu,
    .off-canvas-menu,
    .ct-panel,
    .ct-panel-actions,
    [data-device="mobile"],
    [data-id="mobile-menu"],
    [data-toggle-panel],
    [aria-controls*="mobile-menu" i],
    button[aria-label*="menü öffnen" i],
    button[aria-label*="menu öffnen" i],
    button[aria-label*="open menu" i],
    .omeds-menu-button,
    .omeds-mobile-nav,
    .oma17f-menu-button,
    .oma17f-mobile-menu
) {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body.omeds-editorial
:is(
    #page,
    .site,
    .site-content,
    .ct-site-container,
    .ct-container-full,
    .content-area,
    .site-main,
    #main,
    .entry-content,
    article.page,
    article.type-page
) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.omeds-editorial
.omeds-container {
    width: calc(100% - (var(--omeds-edge) * 2));
    max-width: var(--omeds-content-max);
    min-width: 0;
    margin-right: auto;
    margin-left: auto;
}

body.omeds-editorial
.omeds-header__inner {
    width: calc(100% - (var(--omeds-edge) * 2));
    max-width: var(--omeds-content-max);
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0;
}

body.omeds-editorial
.omeds-footer__inner {
    width: calc(100% - (var(--omeds-edge) * 2));
    max-width: var(--omeds-content-max);
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0;
}

body.omeds-editorial
:is(
    .omeds-page,
    .omeds-page > section,
    .omeds-page > article,
    .omeds-footer,
    .oma17f-home,
    .oma17f-frame,
    .oma17f-hero,
    .oma17f-main
) {
    min-width: 0;
}

body.omeds-editorial
.oma17f-frame {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-shadow: none !important;
}

body.omeds-editorial
.oma17f-main {
    width: calc(100% - (var(--omeds-edge) * 2)) !important;
    max-width: var(--omeds-content-max) !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

body.omeds-editorial
.oma17f-hero__content {
    width: calc(100% - (var(--omeds-edge) * 2));
    max-width: var(--omeds-content-max);
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0;
}

body.omeds-editorial
.oma17f-facts {
    padding-right: var(--omeds-edge);
    padding-left: var(--omeds-edge);
}

body.omeds-editorial
:is(
    img,
    video,
    iframe,
    svg,
    canvas
) {
    max-width: 100%;
}

body.omeds-editorial
:is(
    table,
    .woocommerce table,
    .wc-block-components-main,
    .wc-block-components-sidebar,
    .woocommerce-form,
    form.checkout,
    form.woocommerce-cart-form,
    .woocommerce-MyAccount-content,
    .woocommerce-MyAccount-navigation
) {
    min-width: 0;
    max-width: 100%;
}

body.omeds-editorial
.omeds-table-scroll,
body.omeds-editorial
.woocommerce-cart-form,
body.omeds-editorial
.woocommerce-checkout-review-order {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 1024px) {
    :root {
        --omeds-gutter: clamp(14px, 4.5vw, 28px);
    }

    body.omeds-editorial
    .omeds-header__inner {
        width: calc(100% - (var(--omeds-edge) * 2));
        max-width: none;
        padding-right: 0;
        padding-left: 0;
    }

    body.omeds-editorial
    .omeds-header__logo {
        pointer-events: auto;
    }

    body.omeds-editorial
    .oma17f-hero__content {
        width: calc(100% - (var(--omeds-edge) * 2));
        max-width: none;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    body.omeds-editorial
    .oma17f-main {
        width: calc(100% - (var(--omeds-edge) * 2)) !important;
    }

    body.omeds-editorial
    .omeds-footer__inner {
        width: calc(100% - (var(--omeds-edge) * 2));
        max-width: none;
        padding-right: 0;
        padding-left: 0;
    }
}

@media (max-width: 420px) {
    :root {
        --omeds-gutter: 14px;
    }

    body.omeds-editorial
    .omeds-container,
    body.omeds-editorial
    .omeds-header__inner,
    body.omeds-editorial
    .omeds-footer__inner,
    body.omeds-editorial
    .oma17f-main,
    body.omeds-editorial
    .oma17f-hero__content {
        width: calc(100% - 28px) !important;
    }
}

/* ==================================================
 * V8.3 — NORMALIZACIÓN SEMÁNTICA DE CONTENIDO INTERNO
 * Un único H1 por documento; títulos internos continúan como H2.
 * ================================================== */

.omeds-commerce-content > h2:first-child,
.omeds-product-shell .summary > h2:first-child {
    margin-top: 0;
}


/* ==================================================
 * V8.4 — LEGAL Y PÁGINAS INTERNAS ALINEADAS
 * ================================================== */

.omeds-document-content
> .wp-block-spacer:first-child,
.omeds-commerce-content
> .wp-block-spacer:first-child {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.omeds-document-content
> :first-child:not(.wp-block-spacer),
.omeds-commerce-content
> :first-child:not(.wp-block-spacer) {
    margin-top: 0;
}

.omeds-document-content
> h2:first-of-type {
    margin-top: 0;
}


/* ==================================================
 * V8.5 — PULIDO MÓVIL REAL SEGÚN CAPTURAS
 * ================================================== */

body.omeds-editorial {
    display: block !important;
}

body.omeds-editorial
:is(
    main,
    .omeds-page,
    .omeds-footer
) {
    clear: both !important;
    width: 100% !important;
}

.omeds-product-card__image[loading="eager"],
.omeds-map-story__media img,
.omeds-split-story__media img {
    opacity: 1;
}

@media (max-width: 1024px) {
    html {
        margin-top: 0 !important;
    }

    body.admin-bar {
        margin-top: 0 !important;
    }

    #wpadminbar {
        display: none !important;
    }

    body.admin-bar.omeds-editorial
    .omeds-header {
        top: 0 !important;
    }

    :root {
        --omeds-mobile-dock-height: 66px;
        --omeds-mobile-dock-clearance:
            calc(
                92px
                + env(safe-area-inset-bottom)
            );
    }

    .omeds-mobile-ui {
        max-width: 610px;
        transition:
            opacity 190ms ease,
            transform 230ms
            cubic-bezier(
                0.2,
                0.7,
                0.2,
                1
            );
    }

    body.omeds-dock-hidden
    .omeds-mobile-ui {
        opacity: 0;
        transform:
            translateY(
                calc(
                    100%
                    + 24px
                    + env(safe-area-inset-bottom)
                )
            );
        pointer-events: none;
    }

    .omeds-mobile-dock {
        min-height: 66px;
        gap: 2px;
        padding: 5px;
        border-radius: 22px;
        background:
            linear-gradient(
                135deg,
                rgba(19, 42, 28, 0.82),
                rgba(13, 29, 20, 0.70)
            );
        box-shadow:
            0 15px 36px
            rgba(4, 19, 10, 0.23),
            inset 0 1px 0
            rgba(255, 255, 255, 0.14);
    }

    .omeds-mobile-dock__item {
        min-height: 54px;
        gap: 2px;
        padding: 5px 1px 4px;
        border-radius: 16px;
    }

    .omeds-mobile-dock__icon {
        width: 22px;
        height: 22px;
    }

    .omeds-mobile-dock__label {
        font-size:
            clamp(
                7px,
                1.85vw,
                8.5px
            );
    }

    .omeds-contact-fab {
        min-height: 35px;
        padding-right: 12px;
        padding-left: 12px;
        box-shadow:
            0 10px 24px
            rgba(4, 19, 10, 0.18);
    }

    body.omeds-product-inquiry
    .omeds-contact-fab {
        display: none !important;
    }

    body.omeds-editorial
    .omeds-header__logo {
        width: 74px;
        height: 74px;
    }

    body.omeds-editorial
    .omeds-header__logo-image {
        width: 70px;
        height: 70px;
    }

    body.omeds-editorial
    .omeds-footer__inner {
        min-height: 0;
        padding-top: 54px;
        padding-bottom:
            calc(
                45px
                + var(
                    --omeds-mobile-dock-clearance
                )
            );
    }

    body.omeds-editorial
    .omeds-footer__logo {
        width: 126px;
        height: 126px;
    }

    body.omeds-editorial
    .omeds-footer__logo-image {
        width: 118px;
        height: 118px;
    }

    body.omeds-editorial
    .omeds-footer__main-nav {
        margin-top: 14px;
    }

    body.omeds-editorial
    .omeds-footer__text {
        margin-top: 19px;
    }

    body.omeds-editorial
    .omeds-footer__legal {
        margin-top: 20px;
    }

    body.omeds-editorial
    .omeds-footer small {
        margin-top: 22px;
    }

    body.omeds-cart
    .omeds-commerce-page,
    body.omeds-checkout
    .omeds-commerce-page,
    body.omeds-account
    .omeds-commerce-page {
        display: block !important;
        clear: both !important;
        min-height:
            calc(
                100dvh
                - var(--omeds-header-height)
            );
    }

    body.omeds-cart
    .omeds-commerce-layout {
        display: block !important;
        min-height:
            clamp(
                470px,
                64dvh,
                760px
            );
        overflow: visible;
    }

    body.omeds-cart
    .omeds-commerce-content {
        width: 100%;
        max-width: none;
        margin-top: 24px;
    }

    body.omeds-cart
    :is(
        .wp-block-woocommerce-empty-cart-block,
        .wc-block-cart__empty-cart__title,
        .cart-empty,
        .woocommerce-info
    ) {
        max-width: 720px;
    }

    body.omeds-cart
    .omeds-footer {
        position: relative;
        clear: both !important;
        float: none !important;
        margin-top: 0;
    }

    .omeds-empty-state {
        min-height: 390px;
        padding-top: 52px;
        padding-bottom:
            calc(
                75px
                + var(
                    --omeds-mobile-dock-clearance
                )
            );
    }

    .omeds-empty-state h2 {
        max-width: 620px;
        font-size:
            clamp(
                38px,
                8.8vw,
                56px
            );
        line-height: 0.98;
    }

    .omeds-map-story__media img,
    .omeds-split-story__media img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .omeds-map-story__media {
        min-height: 330px;
    }
}

@media (max-width: 680px) {
    .omeds-product-grid {
        gap: 12px;
        padding-top: 40px;
        padding-bottom: 78px;
    }

    .omeds-product-card {
        min-height: 480px;
        border-radius: 18px;
    }

    .omeds-product-card__visual {
        min-height: 276px;
        padding:
            44px
            20px
            16px;
    }

    .omeds-product-card__visual img {
        height: 218px;
        max-width: 88%;
    }

    .omeds-product-card__body {
        padding:
            20px
            18px
            18px;
    }

    .omeds-product-card__body h2,
    .omeds-product-card__body h3 {
        min-height: 0;
        font-size: 23px;
    }

    .omeds-product-card__price {
        min-height: 28px;
        margin-top: 12px;
    }

    .omeds-product-card__button {
        min-height: 42px;
    }

    body.omeds-product
    .omeds-product-heading h1 {
        font-size:
            clamp(
                40px,
                11vw,
                58px
            );
    }

    body.omeds-product
    .omeds-product-shell {
        padding-top: 34px;
        padding-bottom: 72px;
    }

    body.omeds-product
    .woocommerce div.product div.summary {
        padding-top: 0;
    }

    body.omeds-blog
    .omeds-blog-heading {
        padding-bottom: 48px;
    }

    body.omeds-blog
    .omeds-article-grid {
        padding-bottom: 40px;
    }
}

@media (max-width: 420px) {
    .omeds-mobile-ui {
        right:
            max(
                6px,
                env(safe-area-inset-right)
            );
        bottom:
            max(
                6px,
                env(safe-area-inset-bottom)
            );
        left:
            max(
                6px,
                env(safe-area-inset-left)
            );
    }

    .omeds-mobile-dock {
        padding: 4px;
        border-radius: 20px;
    }

    .omeds-mobile-dock__item {
        min-height: 52px;
    }

    .omeds-mobile-dock__icon {
        width: 21px;
        height: 21px;
    }

    .omeds-contact-fab {
        width: 38px;
        min-height: 38px;
    }

    body.omeds-editorial
    .omeds-footer__main-nav {
        gap: 11px 18px;
    }

    body.omeds-editorial
    .omeds-footer__legal {
        gap: 10px 16px;
    }
}


/* ==================================================
 * V8.6 — PULIDO VISUAL GLOBAL Y ESCRITORIO
 * Basado en capturas reales de Home, Über uns, Shop,
 * Blog, Warenkorb y fichas WooCommerce.
 * ================================================== */

html {
    margin-top: 0 !important;
}

body.omeds-editorial #wpadminbar {
    display: none !important;
}

body.admin-bar.omeds-editorial .omeds-header {
    top: 0 !important;
}

/* Contraste real de los héroes frente a la regla global de H1. */
body.omeds-editorial
:is(
    .omeds-page-hero,
    .omeds-photo-hero,
    .omeds-compact-hero,
    .omeds-commerce-hero,
    .omeds-article-hero,
    .omeds-error-hero
)
h1,
body.omeds-home .oma17f-hero h1 {
    color: #f7f1df !important;
    text-shadow:
        0 2px 2px rgba(0, 0, 0, 0.16),
        0 12px 34px rgba(0, 0, 0, 0.24);
}

body.omeds-editorial
:is(
    .omeds-page-hero,
    .omeds-photo-hero,
    .omeds-compact-hero,
    .omeds-commerce-hero,
    .omeds-article-hero,
    .omeds-error-hero
)
h1 em,
body.omeds-home .oma17f-hero h1 em {
    color: #f0e4bf !important;
}

body.omeds-editorial
:is(
    .omeds-page-hero__shade,
    .omeds-photo-hero__shade,
    .omeds-compact-hero__shade,
    .omeds-commerce-hero__shade,
    .omeds-article-hero__shade,
    .omeds-error-hero__shade
) {
    background:
        linear-gradient(
            90deg,
            rgba(7, 17, 10, 0.90) 0%,
            rgba(8, 18, 11, 0.58) 50%,
            rgba(8, 18, 11, 0.16) 100%
        ),
        linear-gradient(
            0deg,
            rgba(8, 18, 11, 0.54),
            transparent 68%
        );
}

body.omeds-home .oma17f-hero__shade {
    background:
        linear-gradient(
            90deg,
            rgba(5, 14, 8, 0.91) 0%,
            rgba(7, 17, 10, 0.64) 45%,
            rgba(7, 15, 9, 0.20) 78%,
            rgba(7, 13, 9, 0.35) 100%
        ),
        linear-gradient(
            180deg,
            rgba(4, 10, 6, 0.22) 0%,
            rgba(4, 11, 7, 0.03) 42%,
            rgba(4, 11, 7, 0.68) 100%
        );
}

/* Logo real con medallón de contraste. */
body.omeds-editorial .omeds-header__logo,
body.omeds-editorial .omeds-footer__logo {
    border-radius: 50%;
    background:
        radial-gradient(
            circle at 36% 30%,
            rgba(255, 255, 255, 0.16),
            rgba(255, 255, 255, 0) 34%
        ),
        var(--omeds-green);
    box-shadow:
        0 13px 32px rgba(10, 28, 17, 0.16),
        inset 0 0 0 1px rgba(255, 255, 255, 0.13);
}

body.omeds-editorial
:is(
    .omeds-header__logo-image,
    .omeds-footer__logo-image
) {
    filter:
        brightness(0)
        invert(1)
        contrast(1.08)
        drop-shadow(
            0 4px 11px rgba(0, 0, 0, 0.12)
        ) !important;
    opacity: 1 !important;
}

/* Footer más definido y menos alto. */
body.omeds-editorial .omeds-footer__inner {
    min-height: 380px;
    padding-top: 52px;
    padding-bottom: 52px;
}

body.omeds-editorial .omeds-footer__logo {
    width: 148px;
    height: 148px;
}

body.omeds-editorial .omeds-footer__logo-image {
    width: 136px;
    height: 136px;
}

body.omeds-editorial .omeds-footer__main-nav {
    margin-top: 20px;
}

body.omeds-editorial .omeds-footer__text {
    margin-top: 20px;
}

body.omeds-editorial .omeds-footer__legal {
    margin-top: 22px;
}

body.omeds-editorial .omeds-footer small {
    margin-top: 24px;
}

/* Consentimiento siempre en una esquina y fuera de la composición. */
body.omeds-editorial .cmplz-manage-consent {
    position: fixed !important;
    z-index: 850 !important;
    right: 14px !important;
    bottom: 14px !important;
    left: auto !important;
    top: auto !important;
    margin: 0 !important;
    transform: none !important;
}

/* Shop premium 3 × 3. */
@media (min-width: 981px) {
    body.omeds-shop .omeds-product-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
        gap: clamp(22px, 2vw, 32px);
    }

    body.omeds-shop .omeds-product-card {
        min-height: 560px;
    }

    body.omeds-shop
    .omeds-product-card__visual {
        min-height: 330px;
    }

    body.omeds-shop
    .omeds-product-card__visual img {
        height: 250px;
    }

    body.omeds-shop
    .omeds-product-card__body h2,
    body.omeds-shop
    .omeds-product-card__body h3 {
        min-height: 62px;
        font-size: clamp(24px, 2vw, 31px);
    }
}

/* Blog vacío útil, compacto y basado en categorías reales. */
body.omeds-blog .omeds-article-grid:has(
    .omeds-empty-state--blog
) {
    display: block;
    padding-top: clamp(54px, 6vw, 88px);
    padding-bottom: clamp(70px, 8vw, 110px);
}

.omeds-empty-state--blog {
    max-width: none;
    padding: 0;
}

.omeds-empty-state--blog
.omeds-empty-state__copy {
    max-width: 850px;
}

.omeds-empty-state--blog h2 {
    max-width: 820px;
}

.omeds-empty-topic-grid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 42px;
}

.omeds-empty-topic-grid a {
    position: relative;
    display: grid;
    min-height: 190px;
    align-content: start;
    gap: 14px;
    padding: 28px;
    border: 1px solid var(--omeds-line);
    border-radius: var(--omeds-radius-md);
    background: rgba(255, 255, 255, 0.78);
    color: var(--omeds-text);
    text-decoration: none;
    box-shadow: var(--omeds-shadow);
    transition:
        transform 180ms ease,
        border-color 180ms ease;
}

.omeds-empty-topic-grid a:hover,
.omeds-empty-topic-grid a:focus-visible {
    border-color: rgba(23, 41, 31, 0.38);
    transform: translateY(-3px);
}

.omeds-empty-topic-grid span {
    font-family: var(--omeds-serif);
    font-size: clamp(27px, 2.4vw, 38px);
    line-height: 1.02;
}

.omeds-empty-topic-grid small {
    max-width: 34ch;
    color: var(--omeds-muted);
    font-size: 13px;
    line-height: 1.65;
}

.omeds-empty-topic-grid strong {
    position: absolute;
    right: 24px;
    bottom: 22px;
    color: var(--omeds-green);
    font-size: 22px;
    font-weight: 400;
}

/* Carrito vacío: hero y contenido proporcionados. */
body.omeds-cart-empty .omeds-commerce-hero {
    min-height: 340px;
}

body.omeds-cart-empty
.omeds-commerce-hero__copy {
    padding-top: 74px;
    padding-bottom: 64px;
}

body.omeds-cart-empty
.omeds-commerce-layout {
    min-height: 360px;
    padding-top: 62px;
    padding-bottom: 76px;
}

body.omeds-cart-empty
.omeds-commerce-content {
    max-width: 900px;
    margin-right: auto;
    margin-left: auto;
}

body.omeds-cart-empty
:is(
    .wp-block-woocommerce-empty-cart-block,
    .cart-empty,
    .woocommerce-info
) {
    margin-right: auto;
    margin-left: auto;
}

/* Fichas más compactas y con salida clara en agotados. */
body.omeds-product .omeds-product-heading {
    padding-top: clamp(52px, 5vw, 78px);
    padding-bottom: clamp(38px, 4vw, 62px);
}

body.omeds-product .omeds-product-heading h1 {
    max-width: 1040px;
    font-size: clamp(50px, 5.2vw, 82px);
    line-height: 0.96;
}

body.omeds-product .omeds-product-shell {
    padding-top: clamp(54px, 6vw, 88px);
    padding-bottom: clamp(66px, 7vw, 105px);
}

body.omeds-product
.woocommerce div.product {
    grid-template-columns:
        minmax(0, 1fr)
        minmax(390px, 0.86fr);
    gap: clamp(34px, 5vw, 76px);
}

body.omeds-product
.woocommerce div.product div.summary {
    padding: clamp(28px, 3.3vw, 44px);
    border: 1px solid var(--omeds-line);
    border-radius: var(--omeds-radius-lg);
    background: rgba(255, 255, 255, 0.78);
    box-shadow: var(--omeds-shadow);
}

body.omeds-product
.woocommerce div.product div.images {
    min-height: 610px;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.omeds-product
.woocommerce div.product div.images img {
    max-height: 560px;
}

body.omeds-product
.woocommerce div.product .price {
    font-size: clamp(30px, 2.8vw, 44px);
}

body.omeds-product
.woocommerce-tabs {
    padding-top: 34px;
}

body.omeds-product
.woocommerce-tabs ul.tabs a {
    font-size: 11px;
    letter-spacing: 0.08em;
}

body.omeds-product
.woocommerce-Tabs-panel {
    max-width: 980px;
    font-size: 17px;
}

.omeds-soldout-actions {
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid var(--omeds-line);
}

.omeds-soldout-actions p {
    margin: 0;
    color: var(--omeds-muted);
}

.omeds-soldout-actions
.omeds-primary-button {
    width: 100%;
    margin-top: 18px;
    text-align: center;
}

@media (min-width: 1025px) {
    :root {
        --omeds-header-height: 112px;
    }

    /* En escritorio el header ya no queda fijo:
       evita repeticiones en capturas de página completa. */
    body.omeds-editorial .omeds-header {
        position: relative;
        top: auto !important;
    }

    body.omeds-home .omeds-header {
        position: absolute;
        top: 0 !important;
    }

    body.omeds-editorial .omeds-page {
        padding-top: 0 !important;
    }

    body.omeds-editorial
    .omeds-header__inner {
        min-height: var(--omeds-header-height);
    }

    body.omeds-editorial
    .omeds-header__logo {
        width: 88px;
        height: 88px;
    }

    body.omeds-editorial
    .omeds-header__logo-image {
        width: 80px;
        height: 80px;
        transform: none;
    }

    body.omeds-home
    .omeds-header {
        border-color:
            rgba(255, 255, 255, 0.16);
        background: transparent;
    }

    body.omeds-home
    .omeds-header__logo {
        background:
            rgba(13, 31, 20, 0.58);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
    }

    body.omeds-home
    .omeds-header.is-scrolled {
        color: #fff;
        border-color:
            rgba(255, 255, 255, 0.16);
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
}

@media (max-width: 1024px) {
    body.omeds-editorial
    .omeds-footer__inner {
        min-height: 0;
    }

    body.omeds-editorial
    .omeds-footer__logo {
        width: 112px;
        height: 112px;
    }

    body.omeds-editorial
    .omeds-footer__logo-image {
        width: 102px;
        height: 102px;
    }

    body.omeds-editorial
    .cmplz-manage-consent {
        right:
            max(
                8px,
                env(safe-area-inset-right)
            ) !important;
        bottom:
            calc(
                var(--omeds-mobile-dock-clearance)
                + 8px
            ) !important;
    }

    .omeds-empty-topic-grid {
        grid-template-columns:
            minmax(0, 1fr);
        gap: 12px;
        margin-top: 30px;
    }

    .omeds-empty-topic-grid a {
        min-height: 145px;
        padding: 22px;
    }

    body.omeds-product
    .woocommerce div.product div.summary {
        padding: 24px;
    }

    body.omeds-product
    .woocommerce div.product div.images {
        min-height: 0;
    }
}

@media (max-width: 680px) {
    body.omeds-cart-empty
    .omeds-commerce-hero {
        min-height: 290px;
    }

    body.omeds-cart-empty
    .omeds-commerce-layout {
        min-height: 0;
        padding-top: 38px;
        padding-bottom:
            calc(
                58px
                + var(
                    --omeds-mobile-dock-clearance
                )
            );
    }

    body.omeds-product
    .omeds-product-heading h1 {
        font-size: clamp(38px, 10.7vw, 54px);
    }

    body.omeds-product
    .woocommerce div.product div.summary {
        padding: 20px;
        border-radius: 20px;
    }
}


/* ==================================================
 * V8.7 — FOOTER PREMIUM Y CONSENTIMIENTO OPERATIVO
 * ================================================== */

/* El control nativo queda disponible para JavaScript,
   pero deja de ocupar una posición flotante defectuosa. */
body.omeds-editorial
#cmplz-manage-consent
.cmplz-manage-consent,
body.omeds-editorial
#cmplz-manage-consent-container {
    position: fixed !important;
    z-index: -1 !important;
    right: auto !important;
    bottom: auto !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    min-height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* El banner abierto debe estar siempre por encima del dock y del footer. */
body.omeds-editorial
.cmplz-cookiebanner {
    z-index: 20000 !important;
    pointer-events: auto !important;
}

body.omeds-editorial
.omeds-footer--premium {
    position: relative;
    overflow: hidden;
    border-top: 0;
    background:
        linear-gradient(
            135deg,
            #091f15 0%,
            #103020 52%,
            #071a11 100%
        );
    color: #f4efdf;
}

.omeds-footer__ambient {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(
            circle at 14% 4%,
            rgba(130, 200, 107, 0.18),
            transparent 34%
        ),
        radial-gradient(
            circle at 88% 100%,
            rgba(210, 188, 117, 0.13),
            transparent 31%
        );
}

body.omeds-editorial
.omeds-footer--premium
.omeds-footer__inner {
    position: relative;
    z-index: 1;
    display: block;
    width: min(
        calc(100% - 44px),
        var(--omeds-content-max)
    );
    min-height: 0;
    margin: 0 auto;
    padding:
        clamp(72px, 7vw, 112px)
        0
        calc(
            42px
            + env(safe-area-inset-bottom)
        );
    text-align: left;
}

.omeds-footer__top {
    display: grid;
    grid-template-columns:
        minmax(0, 1.08fr)
        minmax(460px, 0.92fr);
    gap: clamp(64px, 8vw, 132px);
    align-items: start;
}

.omeds-footer__brand {
    max-width: 750px;
}

body.omeds-editorial
.omeds-footer--premium
.omeds-footer__logo {
    width: 92px;
    height: 92px;
    border: 1px solid rgba(244, 239, 223, 0.22);
    background: rgba(255, 255, 255, 0.04);
    box-shadow:
        0 18px 48px rgba(0, 0, 0, 0.24);
}

body.omeds-editorial
.omeds-footer--premium
.omeds-footer__logo-image {
    width: 82px;
    height: 82px;
}

.omeds-footer__eyebrow {
    margin: 31px 0 0;
    color: #82c86b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.2em;
}

body.omeds-editorial
.omeds-footer--premium h2 {
    max-width: 680px;
    margin: 17px 0 0;
    color: #f5f0e2;
    font-size: clamp(54px, 5.5vw, 92px);
    line-height: 0.91;
    letter-spacing: -0.055em;
}

body.omeds-editorial
.omeds-footer--premium h2 em {
    display: block;
    color: #d9c98f;
    font-weight: 400;
}

body.omeds-editorial
.omeds-footer--premium
.omeds-footer__text {
    max-width: 590px;
    margin: 27px 0 0;
    color: rgba(244, 239, 223, 0.70);
    font-size: 15px;
    line-height: 1.75;
}

.omeds-footer__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 31px;
}

.omeds-footer__primary,
.omeds-footer__secondary {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0 21px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 820;
    letter-spacing: 0.1em;
    text-decoration: none;
    text-transform: uppercase;
}

.omeds-footer__primary {
    border: 1px solid #d9c98f;
    background: #d9c98f;
    color: #102319;
}

.omeds-footer__secondary {
    border: 1px solid rgba(244, 239, 223, 0.28);
    color: #f5f0e2;
}

.omeds-footer__navigation {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: clamp(28px, 4vw, 58px);
    padding-top: 10px;
}

.omeds-footer__column > p {
    margin: 0 0 22px;
    color: rgba(244, 239, 223, 0.48);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

body.omeds-editorial
.omeds-footer--premium
:is(
    .omeds-footer__main-nav,
    .omeds-footer__legal,
    .omeds-footer__column nav
) {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 13px;
    margin: 0;
}

body.omeds-editorial
.omeds-footer--premium
:is(
    .omeds-footer__main-nav a,
    .omeds-footer__legal a,
    .omeds-footer__column nav a,
    .omeds-cookie-settings
) {
    border: 0;
    background: transparent;
    color: rgba(244, 239, 223, 0.84);
    font: inherit;
    font-size: 13px;
    font-weight: 560;
    line-height: 1.4;
    text-decoration: none;
    cursor: pointer;
}

body.omeds-editorial
.omeds-footer--premium
.omeds-cookie-settings {
    padding: 0;
    text-align: left;
}

body.omeds-editorial
.omeds-footer--premium
:is(
    .omeds-footer__main-nav a,
    .omeds-footer__legal a,
    .omeds-footer__column nav a,
    .omeds-cookie-settings
):hover,
body.omeds-editorial
.omeds-footer--premium
:is(
    .omeds-footer__main-nav a,
    .omeds-footer__legal a,
    .omeds-footer__column nav a,
    .omeds-cookie-settings
):focus-visible {
    color: #82c86b;
}

.omeds-footer__trust {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    margin-top: clamp(62px, 7vw, 100px);
    border-top: 1px solid rgba(244, 239, 223, 0.13);
    border-bottom: 1px solid rgba(244, 239, 223, 0.13);
}

.omeds-footer__trust > div {
    position: relative;
    min-height: 150px;
    padding: 30px clamp(25px, 3vw, 46px);
}

.omeds-footer__trust > div:first-child {
    padding-left: 0;
}

.omeds-footer__trust > div:last-child {
    padding-right: 0;
}

.omeds-footer__trust > div + div::before {
    position: absolute;
    top: 25px;
    bottom: 25px;
    left: 0;
    width: 1px;
    background: rgba(244, 239, 223, 0.12);
    content: "";
}

.omeds-footer__trust span {
    color: #82c86b;
    font-size: 9px;
    font-weight: 850;
}

.omeds-footer__trust strong {
    display: block;
    margin-top: 14px;
    color: #f5f0e2;
    font-family: var(--omeds-serif);
    font-size: clamp(25px, 2vw, 34px);
    font-weight: 400;
}

.omeds-footer__trust small {
    display: block;
    max-width: 38ch;
    margin-top: 12px;
    color: rgba(244, 239, 223, 0.56);
    font-size: 11px;
    line-height: 1.6;
    text-transform: none;
}

.omeds-footer__bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
    padding-top: 29px;
}

body.omeds-editorial
.omeds-footer--premium
.omeds-footer__bottom small,
.omeds-footer__bottom > span,
.omeds-footer__bottom > a {
    margin: 0;
    color: rgba(244, 239, 223, 0.48);
    font-size: 9px;
    letter-spacing: 0.11em;
    text-decoration: none;
    text-transform: uppercase;
}

.omeds-footer__bottom > a {
    color: rgba(244, 239, 223, 0.72);
}

/* Botón dentro del modal móvil. */
.omeds-contact-dialog
.omeds-cookie-settings {
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
    text-align: left;
}

@media (max-width: 1120px) {
    .omeds-footer__top {
        grid-template-columns: minmax(0, 1fr);
        gap: 62px;
    }

    .omeds-footer__navigation {
        max-width: 760px;
    }
}

@media (max-width: 760px) {
    body.omeds-editorial
    .omeds-footer--premium
    .omeds-footer__inner {
        width: min(
            calc(100% - 32px),
            var(--omeds-content-max)
        );
        padding-top: 56px;
        padding-bottom:
            calc(
                34px
                + var(--omeds-mobile-dock-clearance)
                + env(safe-area-inset-bottom)
            );
    }

    body.omeds-editorial
    .omeds-footer--premium h2 {
        font-size: clamp(45px, 13vw, 66px);
    }

    .omeds-footer__navigation {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        gap: 38px 26px;
    }

    .omeds-footer__navigation
    .omeds-footer__column:last-child {
        grid-column: 1 / -1;
    }

    .omeds-footer__trust {
        grid-template-columns: minmax(0, 1fr);
        margin-top: 56px;
    }

    .omeds-footer__trust > div {
        min-height: 0;
        padding: 26px 0;
    }

    .omeds-footer__trust > div + div::before {
        top: 0;
        right: 0;
        bottom: auto;
        left: 0;
        width: auto;
        height: 1px;
    }

    .omeds-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
        padding-top: 25px;
    }
}

@media (max-width: 420px) {
    .omeds-footer__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .omeds-footer__primary,
    .omeds-footer__secondary {
        width: 100%;
    }

    .omeds-footer__navigation {
        grid-template-columns: minmax(0, 1fr);
        gap: 31px;
    }

    .omeds-footer__navigation
    .omeds-footer__column:last-child {
        grid-column: auto;
    }
}


/* ==================================================
 * V8.8 — FOOTER GLOBAL, LOGO TRANSPARENTE Y
 * CONSENTIMIENTO VISIBLE CON ICONO
 * ================================================== */

/* El logo nunca vuelve a tener medallón, fondo o borde. */
body.omeds-editorial
:is(
    .omeds-header__logo,
    .omeds-footer__logo
) {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Header claro: logo verde oscuro. */
body.omeds-editorial
.omeds-header__logo-image {
    opacity: 1 !important;
    filter:
        brightness(0)
        saturate(100%)
        invert(15%)
        sepia(20%)
        saturate(1080%)
        hue-rotate(92deg)
        brightness(91%)
        contrast(96%)
        drop-shadow(
            0 4px 10px
            rgba(15, 38, 24, 0.12)
        )
        !important;
    transition:
        filter 220ms ease,
        opacity 220ms ease,
        transform 220ms ease;
}

/* Header transparente sobre fotografía: logo claro. */
body.omeds-home
.omeds-header:not(.is-scrolled)
.omeds-header__logo-image {
    filter:
        brightness(0)
        invert(1)
        drop-shadow(
            0 4px 13px
            rgba(0, 0, 0, 0.24)
        )
        !important;
}

/* Footer oscuro: logo blanco/crema y siempre transparente. */
body.omeds-editorial
.omeds-footer--premium
.omeds-footer__logo-image {
    filter:
        brightness(0)
        invert(1)
        sepia(8%)
        saturate(520%)
        hue-rotate(347deg)
        brightness(106%)
        drop-shadow(
            0 5px 14px
            rgba(0, 0, 0, 0.22)
        )
        !important;
}

/* Consentimiento visible en todas las páginas. */
.omeds-consent-badge {
    position: fixed;
    z-index: 1400;
    right:
        max(
            14px,
            env(safe-area-inset-right)
        );
    bottom:
        max(
            14px,
            env(safe-area-inset-bottom)
        );
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 0 16px 0 11px;
    border:
        1px solid
        rgba(255, 255, 255, 0.25);
    border-radius: 999px;
    background:
        linear-gradient(
            135deg,
            rgba(17, 48, 31, 0.96),
            rgba(8, 29, 18, 0.96)
        );
    box-shadow:
        0 16px 38px
        rgba(4, 18, 10, 0.26),
        inset 0 1px 0
        rgba(255, 255, 255, 0.13);
    color: #f7f1df;
    font: inherit;
    cursor: pointer;
    backdrop-filter:
        blur(16px)
        saturate(1.18);
    -webkit-backdrop-filter:
        blur(16px)
        saturate(1.18);
    -webkit-tap-highlight-color: transparent;
    transition:
        transform 180ms ease,
        opacity 180ms ease,
        background-color 180ms ease;
}

.omeds-consent-badge:hover,
.omeds-consent-badge:focus-visible {
    background:
        linear-gradient(
            135deg,
            #1b5133,
            #0c321f
        );
    transform: translateY(-2px);
}

.omeds-consent-badge__icon {
    display: flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    flex: 0 0 28px;
    border-radius: 50%;
    background: #82c86b;
    color: #102319;
}

.omeds-consent-badge__icon svg {
    display: block;
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.omeds-consent-badge__label {
    font-size: 10px;
    font-weight: 820;
    letter-spacing: 0.065em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

body.omeds-consent-panel-open
.omeds-consent-badge {
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
}

/* El enlace del footer también lleva un icono visible. */
body.omeds-editorial
.omeds-footer--premium
.omeds-cookie-settings {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

body.omeds-editorial
.omeds-footer--premium
.omeds-cookie-settings::before {
    display: inline-block;
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    border:
        1px solid
        rgba(130, 200, 107, 0.78);
    border-radius: 50%;
    color: #82c86b;
    content: "✓";
    font-size: 9px;
    font-weight: 900;
    line-height: 13px;
    text-align: center;
}

@media (max-width: 1024px) {
    /* En móvil el header cambia de transparente a cristal claro:
       el logo cambia al mismo tiempo de blanco a verde. */
    body.omeds-editorial
    .omeds-header {
        transition:
            background-color 220ms ease,
            color 220ms ease,
            box-shadow 220ms ease;
    }

    body.omeds-editorial
    .omeds-header.is-scrolled {
        color: var(--omeds-green);
        border-bottom:
            1px solid
            rgba(23, 41, 31, 0.10);
        background:
            rgba(251, 249, 244, 0.92);
        box-shadow:
            0 9px 28px
            rgba(15, 34, 23, 0.10);
        backdrop-filter:
            blur(18px)
            saturate(1.12);
        -webkit-backdrop-filter:
            blur(18px)
            saturate(1.12);
    }

    body.omeds-editorial
    .omeds-header.is-scrolled
    .omeds-header__logo-image {
        filter:
            brightness(0)
            saturate(100%)
            invert(15%)
            sepia(20%)
            saturate(1080%)
            hue-rotate(92deg)
            brightness(91%)
            contrast(96%)
            drop-shadow(
                0 4px 10px
                rgba(15, 38, 24, 0.12)
            )
            !important;
    }

    body.omeds-editorial
    :is(
        .omeds-home,
        .omeds-about,
        .omeds-shop,
        .omeds-blog,
        .omeds-article,
        .omeds-cart,
        .omeds-checkout,
        .omeds-account,
        .omeds-legal,
        .omeds-search,
        .omeds-archive,
        .omeds-error404,
        .omeds-page
    )
    .omeds-header:not(.is-scrolled)
    .omeds-header__logo-image {
        filter:
            brightness(0)
            invert(1)
            drop-shadow(
                0 4px 13px
                rgba(0, 0, 0, 0.24)
            )
            !important;
    }

    .omeds-consent-badge {
        right:
            max(
                8px,
                env(safe-area-inset-right)
            );
        bottom:
            calc(
                var(--omeds-mobile-dock-clearance)
                + 8px
            );
        min-height: 42px;
        padding:
            0 13px
            0 9px;
    }

    body.omeds-dock-hidden
    .omeds-consent-badge {
        bottom:
            max(
                9px,
                env(safe-area-inset-bottom)
            );
    }

    .omeds-consent-badge__icon {
        width: 25px;
        height: 25px;
        flex-basis: 25px;
    }

    .omeds-consent-badge__icon svg {
        width: 16px;
        height: 16px;
    }

    .omeds-consent-badge__label {
        font-size: 8px;
    }
}

@media (max-width: 390px) {
    .omeds-consent-badge {
        width: 43px;
        min-height: 43px;
        padding: 0;
        border-radius: 50%;
    }

    .omeds-consent-badge__label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .omeds-consent-badge__icon {
        width: 29px;
        height: 29px;
        flex-basis: 29px;
    }
}

@media print {
    .omeds-consent-badge {
        display: none !important;
    }
}

