html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
@property --mf-fade {
    syntax: "<number>";
    inherits: false;
    initial-value: 1;
}
/* Collection layout based on the supplied mock. */
.post-type-archive-coleccion { --mf-row-height: clamp(180px, 12.6vw, 290px); }
.wp-site-blocks { padding-top: 0; }
.wp-site-blocks > header { padding-block: 28px; }
.wp-site-blocks > header > .wp-block-group { align-items: center; }
.wp-site-blocks > header .wp-block-site-title { font: 800 clamp(24px, 2.2vw, 46px)/1 Arial, sans-serif; letter-spacing: -1px; }
.wp-site-blocks > header .wp-block-site-title a { text-decoration: none; }
.wp-site-blocks > header .wp-block-navigation { margin-right: auto; margin-left: clamp(40px, 15vw, 340px); font-size: 20px; }
.post-type-archive-coleccion .mf-collections { max-width: none; margin: 0 calc(-1 * 24px); padding-top: 24px; }
.mf-collections .wp-block-query, .mf-collections .wp-block-post-template { max-width: none; margin: 0; }
.mf-collections .wp-block-post-template { display: block; padding: 0; }
.mf-collections .wp-block-post { margin: 0 0 clamp(90px, 16vw, 350px); }
.mf-collection-row { --mf-number-left: 32vw; --mf-photo-start: 40.5vw; margin-left: 0; }
.mf-collection-link { display: block; position: relative; cursor: pointer; }
.mf-collection-number { position: absolute; left: var(--mf-number-left); bottom: 0; z-index: 2; pointer-events: auto; color: inherit; text-decoration: none; text-shadow: 0 0 10px white, 0 0 4px white; font: 400 clamp(18px, 1.2vw, 26px)/1.2 Arial, sans-serif; padding-bottom: 4px; overflow-wrap: anywhere; }
.mf-collection-strip { box-sizing: border-box; width: 100%; padding-left: var(--mf-photo-start); mask-image: linear-gradient(to right, rgb(0 0 0 / calc(1 - .75 * var(--mf-fade))), rgb(0 0 0 / calc(1 - .6 * var(--mf-fade))) var(--mf-number-left), #000 var(--mf-photo-start)); display: flex; gap: 10px; height: var(--mf-row-height); overflow-x: auto; overflow-y: hidden; scrollbar-width: none; overscroll-behavior-x: contain; touch-action: pan-x pan-y; }
.mf-collection-strip::-webkit-scrollbar { display: none; }
.mf-collection-strip img, .mf-collection-strip video { display: block; height: 100%; width: auto; max-width: none; flex: 0 0 auto; object-fit: contain; user-select: none; }
.mf-collection-strip:empty { min-height: 120px; }
 .mf-collection-link { color: inherit; text-decoration: none; }
.mf-detail-main { margin: 0 -24px; max-width: none; }
.mf-collection-detail { padding-top: clamp(50px, 5vw, 110px); }
.mf-detail-heading { display: flex; align-items: center; justify-content: space-between; margin: 0 24px 32px 32vw; }
.mf-detail-heading h1 { margin: 0; font: 400 clamp(48px, 7vw, 120px)/1 Arial, sans-serif; }
.mf-collection-back { display: inline-flex; align-items:center; justify-content:center; width:44px; height:44px; color:inherit; }
.mf-collection-mosaic { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 0; }
.mf-collection-mosaic figure { margin: 0; }
.mf-collection-mosaic img, .mf-collection-mosaic video { display: block; width: 100%; height: auto; }
.mf-collection-link:focus-visible, .mf-collection-strip:focus-visible, .mf-collection-back:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.mf-collections .wp-block-query-pagination { margin: 32px; }
@media (max-width: 780px) {
    .wp-site-blocks > header .wp-block-navigation { margin-left: auto; margin-right: 0; }
    .mf-collection-row { --mf-number-left: 24px; --mf-photo-start: 76px; }
    .mf-detail-heading { margin-left: 24px; }
    .mf-collection-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
}
@media (max-width: 420px) {
    .mf-collection-mosaic { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 781px) {
    .wp-site-blocks > header > .wp-block-group { display: grid; grid-template-columns: calc(32vw - 24px) 1fr; gap: 0; }
    .wp-site-blocks > header .wp-block-navigation { margin: 0; justify-content: flex-start; }
    .wp-site-blocks > header .wp-block-navigation__container { gap: clamp(24px, 3.5vw, 72px); }
}

@view-transition { navigation: auto; }
::view-transition-group(*) { animation-duration: 450ms; animation-timing-function: cubic-bezier(.22,.61,.36,1); }
@media (prefers-reduced-motion: reduce) {
    @view-transition { navigation: none; }
    ::view-transition-group(*) { animation-duration: 0s; }
}

.mf-media-link { display: block; flex: 0 0 auto; height: 100%; }
.mf-collection-number:focus-visible, .mf-media-link:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }
.mf-collection-mosaic figure { scroll-margin-top: 48px; }

/* The arrow spans the whole gallery, so sticky positioning survives the heading. */
.mf-collection-detail { display: grid; grid-template-columns: minmax(0, 1fr) 68px; grid-template-rows: auto 1fr; }
.mf-detail-heading { grid-column: 1; grid-row: 1; }
.mf-collection-detail > .mf-collection-mosaic { grid-column: 1 / -1; grid-row: 2; }
.mf-collection-back { grid-column: 2; grid-row: 1 / 3; align-self: start; position: sticky; top: 16px; z-index: 100000; background: rgb(255 255 255 / .8); border-radius: 50%; backdrop-filter: blur(8px); }
.admin-bar .mf-collection-back { top: 48px; }
@media (max-width: 782px) { .admin-bar .mf-collection-back { top: 62px; } }
@media (max-width: 600px) { .admin-bar .mf-collection-back { top: 16px; } }

/* Animate a centred cover-equivalent scale down to the complete image. */
.mf-collection-mosaic figure { --mf-cover-scale: var(--mf-scale-three, 1); aspect-ratio: var(--mf-ratio-three, .75); overflow: hidden; background: white; }
.mf-photo-open { display: block; width: 100%; height: 100%; cursor: default; overflow: hidden; }
.mf-collection-mosaic .mf-photo-open img { width: 100%; height: 100%; object-fit: contain; object-position: center; transform: scale(var(--mf-cover-scale, 1)); transform-origin: center; transition: transform 420ms cubic-bezier(.22,.61,.36,1); }
.mf-collection-mosaic figure > video { width: 100%; height: 100%; object-fit: contain; }
@media (hover: hover) and (pointer: fine) {
    .mf-collection-mosaic .mf-photo-open:hover img { transform: scale(1); }
}
.mf-collection-mosaic .mf-photo-open:focus-visible img,
.mf-collection-mosaic .mf-photo-open.is-complete img { transform: scale(1); }
.mf-photo-open:focus-visible { outline: 2px solid currentColor; outline-offset: -3px; }
@media (prefers-reduced-motion: reduce) {
    .mf-collection-mosaic .mf-photo-open img { transition: none; }
}

@media (max-width: 780px) {
    .mf-collection-mosaic figure { --mf-cover-scale: var(--mf-scale-two, 1); aspect-ratio: var(--mf-ratio-two, .75); }
}
@media (max-width: 420px) {
    .mf-collection-mosaic figure { --mf-cover-scale: var(--mf-scale-one, 1); aspect-ratio: var(--mf-ratio-one, .75); }
}

/* The mock reserves about one sixth of the viewport for the shared header. */
.wp-site-blocks > header { box-sizing: border-box; height: clamp(110px, 16.6svh, 200px); display: flex; align-items: center; padding-block: 0; }
.wp-site-blocks > header > .wp-block-group { width: 100%; }
.home .wp-site-blocks { height: 100dvh; display: flex; flex-direction: column; }
.home.admin-bar .wp-site-blocks { height: calc(100dvh - 32px); }
.home .wp-site-blocks > header { flex-shrink: 0; }
.home .mf-home-main { flex: 1; min-height: 0; margin: 0 -24px; }
.mf-home-gallery { position: relative; height: 100%; overflow: hidden; }
.mf-home-photo { display: block; position: absolute; inset: 0; overflow: hidden; }
.mf-home-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
@media (max-width: 782px) { .home.admin-bar .wp-site-blocks { height: calc(100dvh - 46px); } }

/* Products: a quiet text column beside the complete artwork photograph. */
.mf-products { --mf-product-max-height: calc(100dvh - 48px); margin-top: 0; padding-top: 24px; padding-bottom: 24px; }
.mf-products .wp-block-post-template { margin: 0; padding: 0; display: block; }
.mf-products .wp-block-post + .wp-block-post { margin-top: clamp(40px, 6vw, 100px); }
.mf-product { display: grid; grid-template-columns: calc(32vw - 24px) minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 0; row-gap: 24px; }
.mf-product-intro { grid-column: 1; grid-row: 1; padding-right: 32px; }
.mf-product h2 { font: 400 20px/1.3 Arial, sans-serif; margin: 0 0 6px; }
.mf-product-description, .mf-product-details { font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.mf-product p { margin: 0; }
.mf-product-details { grid-column: 1; grid-row: 2; align-self: end; padding-right: 32px; }
.mf-product-image { grid-column: 2; grid-row: 1 / 3; margin: 0; min-width: 0; }
.mf-product-image img { display: block; width: auto; height: auto; max-width: 100%; max-height: var(--mf-product-max-height, calc(100dvh - 48px)); margin-left: auto; }
@media (max-width: 780px) {
    .mf-product { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto; gap: 18px; }
    .mf-product-intro { grid-column: 1; grid-row: 1; padding: 0; }
    .mf-product-image { grid-column: 1; grid-row: 2; }
    .mf-product-details { grid-column: 1; grid-row: 3; padding: 0; }
}

/* Keep the site name until an image is selected for the native Site Logo block. */
.wp-site-blocks > header .mf-site-brand { min-width: 0; margin: 0; }
.wp-site-blocks > header .mf-site-brand .wp-block-site-title { margin: 0; }
.wp-site-blocks > header .wp-block-site-logo { margin: 0; max-width: 100%; }
.wp-site-blocks > header .wp-block-site-logo a { display: block; }
.wp-site-blocks > header .wp-block-site-logo img { display: block; max-width: 100%; max-height: calc(clamp(110px, 16.6svh, 200px) - 48px); height: auto; object-fit: contain; object-position: left center; }
.wp-custom-logo .wp-site-blocks > header .wp-block-site-title { display: none; }

/* Normal pages share the same 24px gap below the header as both archives. */
.mf-page { margin-top: 0; padding-top: 24px; }
.mf-page > :first-child { margin-block-start: 0; }

/* Short pages leave white space above the footer; long pages keep it in flow. */
body:not(.home) .wp-site-blocks { min-height: 100dvh; display: flex; flex-direction: column; }
body.admin-bar:not(.home) .wp-site-blocks { min-height: calc(100dvh - 32px); }
body:not(.home) .wp-site-blocks > header,
body:not(.home) .wp-site-blocks > main { flex-shrink: 0; }
body:not(.home) .wp-site-blocks > footer { margin-top: auto; padding-block: 24px; flex-shrink: 0; }
.mf-copyright { margin: 0; font: 400 14px/1.6 Arial, sans-serif; text-align: left; }
.mf-copyright a { color: inherit; text-decoration: none; }
@media (max-width: 782px) {
    body.admin-bar:not(.home) .wp-site-blocks { min-height: calc(100dvh - 46px); }
}

/* Fixed-height product stage; wide photographs crop within the column. */
.mf-product-image { position: relative; justify-self: end; align-self: start; width: 100%; max-width: 100%; height: var(--mf-product-max-height, calc(100dvh - 48px)); overflow: hidden; }
.mf-product-slide { position: absolute; inset: 0; background: #fff; }
.mf-product-slide img { height: 100%; width: auto; max-height: none; max-width: 100%; object-fit: cover; object-position: center; margin-left: auto; }
.mf-product-image [hidden] { display: none !important; }
.mf-product-image button { display: grid; place-items: center; position: absolute; z-index: 2; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border: 0; border-radius: 50%; padding: 0; background: rgb(255 255 255 / 80%); color: #111; font: 26px/1 Arial, sans-serif; cursor: pointer; opacity: 0; transition: opacity 180ms ease; }
.mf-product-prev { left: 12px; }
.mf-product-next { right: 12px; }
.mf-product-image:hover button, .mf-product-image:focus-within button { opacity: 1; }
.mf-product-image button:focus-visible { outline: 2px solid #111; outline-offset: 3px; }
@media (hover: none), (pointer: coarse) { .mf-product-image button { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .mf-product-image button { transition: none; } }

.mf-product-draggable { touch-action: pan-y pinch-zoom; cursor: grab; }
.mf-product-draggable img { user-select: none; -webkit-user-drag: none; }
.mf-product-draggable.is-dragging { cursor: grabbing; }
