/* Plantilla 2.0 intentionally does not import Template 2's legacy landscape patch. */

@property --tpl2-v2-motion-opacity {
  syntax: "<number>";
  inherits: false;
  initial-value: 1;
}

/* A dedicated, short four-slot touch-stage. Portrait remains independent. */
@media (orientation: landscape) and (min-width: 480px) and (max-height: 499.98px) {
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-header {
    height: 48px !important;
    min-height: 48px !important;
    padding-inline: env(safe-area-inset-left) env(safe-area-inset-right);
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-header__inner {
    gap: 8px !important;
    min-height: 48px !important;
    padding: 5px max(8px, env(safe-area-inset-right)) 5px max(8px, env(safe-area-inset-left)) !important;
    width: 100% !important;
  }

  body.catalog-template--template_3 .tpl2-brand__mark:not(.tpl2-brand__mark--nav-hidden) {
    flex-basis: 36px;
    height: 36px;
    width: 36px;
  }

  body.catalog-template--template_3 .tpl2-brand__text { font-size: .76rem; }

  body.catalog-template--template_3 .tpl2-nav { gap: 4px; }

  body.catalog-template--template_3 .tpl2-nav a {
    font-size: .68rem;
    min-height: 30px;
    padding-inline: 8px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .catalog-hero-panorama {
    aspect-ratio: auto !important;
    height: calc(100dvh - 48px) !important;
    padding-inline: max(8px, env(safe-area-inset-left)) max(8px, env(safe-area-inset-right));
    width: 100% !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .catalog-hero-stage,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-hero {
    height: calc(100dvh - 48px) !important;
    margin-top: 0 !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-visual-stage {
    aspect-ratio: auto !important;
    height: calc(100dvh - 48px) !important;
    max-width: 900px !important;
    width: 100% !important;
  }

  /* The identity is centered within the same logical landscape scene as the
     four stations. Editor values remain design-space offsets and sizes. */
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-hero__copy {
    --tpl2-v2-landscape-logo-top: calc(50% - 83px * var(--tpl2-v2-stage-scale));
    height: 100% !important;
    top: 0 !important;
    z-index: 4 !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-hero .tpl1-hero__copy .tpl1-hero-logo {
    height: calc(var(--tpl2-v2-logo-max-height, 86px) * var(--tpl2-v2-stage-scale)) !important;
    left: 50% !important;
    max-height: none !important;
    top: var(--tpl2-v2-landscape-logo-top) !important;
    transform: translateX(-50%) translate(var(--tpl2-v2-logo-x, 0px), var(--tpl2-v2-logo-y, 0px)) !important;
    translate: none !important;
    width: calc(var(--tpl2-v2-logo-width, 118px) * var(--tpl2-v2-stage-scale)) !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-hero h1 {
    font-size: calc(var(--tpl2-v2-title-size, 30px) * var(--tpl2-v2-stage-scale)) !important;
    left: 50% !important;
    letter-spacing: -.08em !important;
    line-height: 1 !important;
    max-width: calc(100% - 16px) !important;
    right: auto !important;
    top: calc(var(--tpl2-v2-landscape-logo-top) + (var(--tpl2-v2-logo-max-height, 86px) + 6px) * var(--tpl2-v2-stage-scale)) !important;
    transform: translateX(-50%) !important;
    translate: var(--tpl2-v2-title-x, 0px) var(--tpl2-v2-title-y, 0px) !important;
    width: max-content !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-hero .tpl1-eyebrow {
    bottom: calc(8px + env(safe-area-inset-bottom)) !important;
    font-size: max(8px, calc(var(--tpl2-v2-label-size, 9px) * var(--tpl2-v2-stage-scale))) !important;
    left: 50% !important;
    letter-spacing: .12em !important;
    line-height: 1.1 !important;
    right: auto !important;
    top: auto !important;
    transform: translateX(-50%) !important;
    translate: var(--tpl2-v2-label-x, 0px) var(--tpl2-v2-label-y, 0px) !important;
    width: max-content !important;
    z-index: 5 !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-deco--bean,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-deco--ring,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-deco--spark {
    opacity: .35 !important;
    scale: .7;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-visual-stage > .tpl2-v2-slots > .tpl2-v2-slot {
    --slot-body-height: 80px;
    --slot-body-width: 200px;
    --slot-image-height: 110px;
    --slot-image-width: 210px;
    --slot-media-height: 86px;
    --slot-width: 236px;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: calc(var(--slot-media-height) * var(--tpl2-v2-stage-scale)) calc(var(--slot-body-height) * var(--tpl2-v2-stage-scale)) !important;
    left: 0 !important;
    opacity: var(--tpl2-v2-motion-opacity, 1) !important;
    position: absolute !important;
    top: 0 !important;
    width: calc(var(--slot-width) * var(--tpl2-v2-stage-scale)) !important;
  }

  /* Keep each image and card as one stable visual unit while WAAPI moves the
     slot. The inherited independent float can otherwise push a dish outside
     the short viewport at the same committed role after several turns. */
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-slot .tpl1-hero-product__media,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-slot .tpl1-hero-product__floating-image,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-slot .tpl1-hero-product__body {
    animation: none;
    translate: 0 0;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-hero-product__body h2 {
    font-size: clamp(14px, calc(18px * var(--tpl2-v2-stage-scale)), 18px) !important;
    line-height: 1.08 !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-hero-product__body {
    box-sizing: border-box !important;
    padding: calc(6px * var(--tpl2-v2-stage-scale)) calc(10px * var(--tpl2-v2-stage-scale)) !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-hero-product__meta a {
    line-height: 1.1 !important;
    min-height: 24px !important;
    padding-inline: 7px !important;
    width: auto !important;
  }

  /* Featured section only: eight highlights use the short landscape canvas
     as four columns by two rows, rather than inheriting the generic 3-up
     landscape layout. */
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured {
    box-sizing: border-box;
    padding-top: 6px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-section__head--showcase {
    margin-bottom: 2px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-section__head--showcase .tpl1-eyebrow {
    font-size: clamp(.78rem, 2vw, .96rem) !important;
    margin-bottom: 4px;
    min-height: 30px !important;
    padding-inline: 14px !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-section__head--showcase h2 {
    font-size: clamp(1.45rem, 3.8vw, 2rem) !important;
    line-height: .94 !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-section-divider {
    margin: 4px 0 8px !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-5,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-6,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-7,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-8 {
    gap: 8px;
    grid-auto-columns: auto;
    grid-auto-flow: row;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    /* Reserve two usable media rows even when the heading consumes most of a
       short viewport; the document may scroll vertically. */
    height: max(calc(100dvh - 156px), 280px);
    overflow: visible;
    padding-bottom: 0;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card {
    border-radius: 12px;
    display: grid;
    grid-template-rows: minmax(0, 1fr) minmax(56px, auto);
    height: 100%;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__body {
    min-width: 0;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__media {
    aspect-ratio: auto;
    align-items: center;
    display: flex;
    height: auto;
    justify-content: center;
    min-height: 0;
    overflow: hidden;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__media img {
    height: 100%;
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
    width: 100%;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__body {
    padding: 2px 6px 3px;
    text-align: center;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__body .tpl1-item-category {
    display: none;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__body h3 {
    font-size: clamp(.66rem, 1.4vw, .78rem);
    line-height: 1.1;
    margin: 0;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__foot {
    align-items: center;
    display: flex;
    gap: 6px;
    justify-content: center;
    margin-top: 1px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__foot .tpl1-price,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__foot .tpl1-inline-link {
    align-items: center;
    display: inline-flex;
    font-size: .62rem;
    height: 24px;
    justify-content: center;
    line-height: 1;
    min-height: 24px;
    padding: 0 5px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__foot .tpl1-inline-link {
    /* The narrowest four-column card must also fit the $200.00 price. */
    flex: 0 0 auto;
    margin-top: 0;
    padding-inline: clamp(3px, calc(6vw - 31px), 22px);
    width: auto;
  }

  /* The catalog/contact wrapper inherited the desktop full-viewport stage.
     In compact landscape, let the catalog begin in normal document flow. */
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining {
    min-height: 0 !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-section--catalog {
    margin-top: 0 !important;
    padding: 0 14px 12px !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-section--catalog .tpl1-section__head {
    margin-bottom: 0 !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-section--catalog .tpl1-section__head > div {
    padding-top: 2px !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-section--catalog .tpl1-section__head h2 {
    /* Keep the watermark readable, but let the catalog label and ornament
       carry the hierarchy on compact landscape canvases. */
    font-size: clamp(1.9rem, 3.9vw, 2.25rem) !important;
    line-height: .82 !important;
    opacity: .8;
    order: 1;
    transform: none !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-section--catalog .tpl1-eyebrow {
    margin: 1px auto 0 !important;
    order: 2;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-section--catalog .tpl1-section-divider {
    height: 28px !important;
    margin: 1px 0 6px !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-section--catalog .tpl1-contact-separator__ornament {
    height: 28px !important;
    margin-top: 0 !important;
    width: clamp(54px, 6vw, 72px) !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-section--catalog .tpl1-category-nav {
    margin-bottom: 8px !important;
    padding-bottom: 0 !important;
  }

  /* Product-card content uses a real two-row grid. The markup keeps price
     inside .tpl1-item-top and the cart button after it, so display: contents
     lets their parent body form one centered action row without changing DOM. */
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-body {
    align-items: center !important;
    column-gap: 8px !important;
    display: grid !important;
    grid-template-areas:
      "title title"
      "price action";
    grid-template-columns: max-content max-content !important;
    justify-content: center !important;
    row-gap: 4px !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-top {
    display: contents !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-top > div {
    grid-area: title;
    min-width: 0;
    text-align: center !important;
    width: 100% !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-top h4 {
    text-align: center !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-price {
    align-self: center;
    grid-area: price;
    justify-content: center !important;
    justify-self: end !important;
    margin: 0 !important;
    text-align: center !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-inline-link {
    align-self: center;
    grid-area: action;
    justify-self: start;
    margin: 0 !important;
  }
}

/* T3 owns the baseline category reveal surface across compact landscape;
   narrower dimensions refine this contract below without borrowing T1. */
@media (orientation: landscape) and (min-width: 560px) and (max-width: 1366px) and (max-height: 900px) {
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-section {
    border-radius: 20px;
    padding: 12px 16px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-section__head {
    margin-bottom: 8px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-section__head h3 {
    font-size: clamp(1.45rem, 4.5vw, 2.3rem);
    line-height: .96;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-section__head p {
    font-size: .68rem;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-hero-media,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-hero-media--reveal {
    border-radius: 20px;
    height: clamp(250px, 56vh, 340px);
    margin-bottom: 10px;
    max-height: 340px;
    min-height: 0;
    overflow: hidden;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-hero-media__fallback,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-hero-media img {
    aspect-ratio: auto;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    width: 100%;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__panel {
    display: block;
    transition: transform 520ms cubic-bezier(0.76, 0, 0.24, 1), filter 520ms ease;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content {
    pointer-events: auto;
    transition: opacity 180ms ease 120ms, transform 180ms ease 120ms;
  }
}

/* Compact category reveal, owned by T3. These values reproduce the complete
   in-flow contract formerly selected through T2 compatibility classes. */
@media (orientation: landscape) and (min-width: 560px) and (max-width: 843.98px) and (max-height: 400px) {
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-section {
    border-radius: clamp(16px, 2.4vw, 20px);
    padding: clamp(8px, 1.35vw, 11px);
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-section__head {
    gap: 4px;
    margin-bottom: 4px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-section__head h3 {
    font-size: clamp(1.15rem, 3.4vw, 1.7rem);
    line-height: .96;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-section__head p {
    font-size: clamp(.56rem, 1.25vw, .66rem);
    line-height: 1;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-hero-media,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-hero-media--reveal {
    border-radius: clamp(14px, 2.2vw, 18px);
    height: clamp(216px, 60dvh, 240px);
    max-height: 240px;
    min-height: clamp(216px, 60dvh, 240px);
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content {
    inset: clamp(7px, 1.2vw, 10px);
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-grid {
    align-content: start;
    gap: clamp(5px, .85vw, 7px);
    grid-auto-rows: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: none;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-card {
    min-height: 0;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-media {
    flex-basis: clamp(58px, 18dvh, 70px);
    height: clamp(58px, 18dvh, 70px);
    min-height: clamp(58px, 18dvh, 70px);
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-media img {
    max-height: clamp(64px, 19dvh, 74px);
    width: min(140%, clamp(118px, 21vw, 164px));
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-body {
    border-radius: 11px;
    margin-top: clamp(4px, 1dvh, 7px);
    padding: 4px 5px;
    width: min(100%, clamp(96px, 16vw, 116px));
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-top {
    gap: 2px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-category {
    font-size: .5rem;
    margin-bottom: 2px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-body h4 {
    font-size: clamp(.62rem, 1.45vw, .72rem);
    line-height: 1;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-price {
    font-size: .54rem;
    min-height: 18px;
    padding: 0 5px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-inline-link {
    font-size: .54rem;
    min-height: 20px;
    padding: 0 7px;
  }
}

/* In low-height landscape, preserve a usable add-to-cart target instead of
   compressing the action below the touch size floor. The featured section
   remains a two-row grid and simply continues in normal page scroll. */
@media (orientation: landscape) and (min-width: 480px) and (max-height: 375px) {
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-5,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-6,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-7,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-8 {
    height: max(calc(100dvh - 124px), 288px);
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card {
    grid-template-rows: minmax(0, 1fr) minmax(70px, auto);
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__foot .tpl1-inline-link {
    min-height: 40px;
  }
}

/* Motion is deliberately opt-in in the compact landscape scene. When users
   request reduced motion, retain the four dynamic category links in a stable,
   readable grid instead of leaving their absolute scene coordinates in place. */
@media (orientation: landscape) and (min-width: 480px) and (max-height: 499.98px) and (prefers-reduced-motion: reduce) {
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .catalog-hero-panorama,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .catalog-hero-stage,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-hero,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-visual-stage {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-hero__copy {
    display: none !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-slots {
    display: grid !important;
    gap: 8px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    padding: 8px !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-visual-stage > .tpl2-v2-slots > .tpl2-v2-slot {
    display: grid !important;
    grid-template-rows: 70px auto !important;
    left: auto !important;
    opacity: 1 !important;
    position: relative !important;
    rotate: none !important;
    scale: 1 !important;
    top: auto !important;
    translate: none !important;
    width: 100% !important;
  }
}

/* Category reveal panels outside compact mobile landscape use normal document
   flow after opening. This replaces the legacy five-row, overflow:auto track
   with a responsive product grid; the approved short-landscape layout above
   remains isolated. */
@media (orientation: portrait), (orientation: landscape) and (min-height: 500px) {
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-hero-media--reveal:is(.is-category-open, .is-category-closing) {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
  }

  /* The fallback image is visually transparent, but it still owns the legacy
     16:8 box in normal flow. Once the reveal becomes content-sized, keeping it
     in flow inserts that invisible box before the products. The animated
     panels provide the reveal surface, so the unused fallback is removed only
     after the category has opened. */
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-hero-media--reveal:is(.is-category-open, .is-category-closing) .tpl1-category-hero-media__fallback {
    display: none;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-hero-media--reveal:is(.is-category-open, .is-category-closing) .tpl1-category-reveal__content {
    display: block !important;
    inset: auto !important;
    max-height: none !important;
    overflow: visible !important;
    position: relative !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-hero-media--reveal:is(.is-category-open, .is-category-closing) .tpl1-item-grid {
    align-content: start;
    align-items: start;
    display: grid;
    grid-auto-flow: row;
    grid-auto-rows: minmax(0, 1fr);
    grid-column: auto;
    grid-row: auto;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    height: auto;
    justify-content: stretch;
    max-height: none;
    min-height: 0;
    min-width: 0;
    overflow: visible;
    padding: 0;
    width: 100%;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-card {
    align-self: start;
    height: auto;
    min-height: 0;
    min-width: 0;
  }

  /* These cards previously filled fixed reveal tracks. In a content-sized
     grid, retain their visual composition without a percentage media track or
     the legacy 84px body offset. */
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-media {
    aspect-ratio: 16 / 9;
    flex: 0 0 auto;
    height: auto;
    min-height: 0;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-media img {
    height: 100%;
    object-fit: contain;
    width: 100%;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-body {
    margin-top: 8px !important;
  }

  /* Shared product unit: title and action row use the mobile-landscape
     composition without duplicating markup. */
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-body {
    align-items: center;
    column-gap: 8px;
    display: grid;
    grid-template-areas:
      "title title"
      "price action";
    grid-template-columns: max-content max-content;
    justify-content: center;
    row-gap: 4px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-top {
    display: contents !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-top > div {
    grid-area: title;
    min-width: 0;
    text-align: center;
    width: 100% !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-item-top h4 {
    text-align: center;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-price {
    align-self: center;
    grid-area: price;
    justify-content: center;
    justify-self: end;
    margin: 0;
    text-align: center;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-reveal__content .tpl1-inline-link {
    align-self: center;
    grid-area: action;
    justify-self: start;
    margin: 0;
  }
}

@media (orientation: landscape) and (min-height: 500px) {
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-hero-media--reveal:is(.is-category-open, .is-category-closing) .tpl1-item-grid {
    gap: clamp(10px, 1.2vw, 16px) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (orientation: portrait) {
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--remaining .tpl1-category-hero-media--reveal:is(.is-category-open, .is-category-closing) .tpl1-item-grid {
    gap: clamp(8px, 2vw, 14px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Desktop contact: keep the heading, decoration and all contact details in
   one viewport. This does not affect the compact touch landscape layout. */
@media (min-width: 900px) and (min-height: 500px) and (orientation: landscape) {
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-section--contact {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100dvh;
    padding: 18px 24px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-section--contact .tpl1-section__head {
    gap: 4px;
    grid-template-rows: auto 10px;
    margin: 0 auto 2px;
    width: min(100%, 720px);
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-section--contact .tpl1-section__head > div {
    padding: 0;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-section--contact .tpl1-contact-heading {
    font-size: clamp(46px, 3.7vw, 54px);
    line-height: .94;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-section--contact .tpl1-contact-separator {
    margin: 0 0 12px !important;
    width: min(100%, 940px) !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-section--contact .tpl1-contact-separator__ornament {
    height: 34px !important;
    margin-top: 0 !important;
    width: 84px !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-section--contact .tpl1-contact-grid {
    column-gap: clamp(18px, 1.65vw, 24px);
    row-gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(76%, 900px);
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-section--contact .tpl1-contact-card {
    min-width: 0;
    padding: 14px 16px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-section--contact .tpl-map-card {
    gap: 8px;
    grid-template-rows: auto auto auto;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-section--contact .tpl-map-embed,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-section--contact .tpl-map-preview {
    aspect-ratio: auto;
    height: clamp(155px, 25dvh, 225px);
    width: 100%;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-section--contact .tpl-map-link {
    margin-top: 2px;
    min-height: 38px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl1-section--contact .tpl1-contact-card--meta-row {
    grid-column: 1 / -1;
    padding: 10px 16px;
  }
}

/* T3 owns the complete terminal layout of the only showcase heading. Keeping
   this normal-cascade contract here lets T1 retain its shared source without
   acting as the final authority for a T3-only section. */
body.catalog-template--template_3 .tpl2-v2-section--featured .tpl1-section__head--showcase {
  align-items: center;
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  margin-inline: auto;
  max-width: 100%;
  text-align: center;
  width: 100%;
}

body.catalog-template--template_3 .tpl2-v2-section--featured .tpl1-section__head--showcase > div {
  align-items: center;
  display: grid;
  justify-items: center;
  margin-inline: auto;
  max-width: 100%;
  text-align: center;
  transform: none;
  width: 100%;
}

body.catalog-template--template_3 .tpl2-v2-section--featured .tpl1-section__head--showcase .tpl1-eyebrow,
body.catalog-template--template_3 .tpl2-v2-section--featured .tpl1-section__head--showcase h2 {
  justify-self: center;
  margin-inline: auto;
  text-align: center;
}

/* Template 3 featured title has two intentional, indivisible lines at every
   viewport. The profile-specific dimensions below still protect its rhythm. */
body.catalog-template--template_3 .tpl2-v2-section--featured .tpl1-section__head--showcase h2 {
  width: max-content !important;
  max-width: 100% !important;
  line-height: .96 !important;
  text-align: center !important;
}

body.catalog-template--template_3 .tpl2-v2-section--featured .tpl2-v2-featured-heading__line {
  display: block;
  white-space: nowrap;
}

/* Keep the approved media dimensions while removing the empty space around
   Section 2's two product rows on short landscape phones. */
@media (orientation: landscape) and (min-width: 568px) and (max-width: 932px) and (max-height: 430px) {
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured {
    /* Keep the approved 4x2 composition intact; separate the next phase
       outside this section so its internal height and image rows do not move. */
    margin-bottom: 20px;
    padding-top: 2px !important;
    padding-bottom: 6px !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-section__head--showcase {
    margin-bottom: 0 !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-section__head--showcase .tpl1-eyebrow {
    margin-bottom: 0 !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-section-divider {
    height: 24px !important;
    margin: 2px 0 4px !important;
    overflow: visible !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-5,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-6,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-7,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-8 {
    height: auto;
    grid-template-rows: repeat(2, auto);
    row-gap: 6px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card {
    height: auto;
    grid-template-rows: 78px auto;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__body {
    padding: 2px 5px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__body h3 {
    line-height: 1.05;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__foot {
    margin-top: 0;
    gap: 6px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__foot .tpl1-inline-link {
    flex-grow: 0;
    padding-inline: 12px;
    width: max-content;
  }
}

@media (orientation: landscape) and (min-width: 568px) and (max-width: 812px) and (max-height: 375px) {
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured {
    padding-top: 0 !important;
    padding-bottom: 2px !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-section-divider {
    height: 14px !important;
    margin: 0 0 2px !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-5,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-6,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-7,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-8 {
    row-gap: 4px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card {
    grid-template-rows: 68px auto;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__body {
    padding: 1px 4px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__body h3 {
    line-height: 1;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__foot {
    gap: 5px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__foot .tpl1-inline-link {
    padding-inline: 3px;
  }
}

/* Only the 320px visual viewport needs the final compact flow. Media and
   40px cart targets retain their approved dimensions. */
@media (orientation: landscape) and (min-width: 568px) and (max-width: 812px) and (max-height: 320px) {
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured {
    padding-bottom: 0 !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-section__head--showcase h2 {
    font-size: clamp(20.8px, 3.3vw, 22px) !important;
    line-height: .86 !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-section__head--showcase .tpl1-eyebrow {
    margin-top: 0 !important;
    min-height: 22px !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-section-divider {
    height: 8px !important;
    margin-bottom: 0 !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-section-divider .tpl1-contact-separator__ornament {
    height: 8px !important;
    margin: 0 !important;
    mask-position: center !important;
    mask-size: 78px 54px !important;
    transform: none !important;
    width: 54px !important;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-5,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-6,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-7,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-grid--count-8 {
    row-gap: 2px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__body {
    padding-block: 0;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__body h3 {
    font-size: 10.2px;
    line-height: .95;
  }
}

/* Bring the featured action capsules closer to the compact category-card
   language without changing the approved image rows or category reveal. */
@media (orientation: landscape) and (min-width: 568px) and (max-width: 932px) and (max-height: 430px) {
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__body {
    padding-block: 0;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__foot .tpl1-price,
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__foot .tpl1-inline-link {
    height: 22px;
    min-height: 22px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__foot .tpl1-inline-link {
    position: relative;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__foot .tpl1-inline-link::before {
    content: "";
    position: absolute;
    inset: -18px 0 0;
  }
}

@media (orientation: landscape) and (min-width: 568px) and (max-width: 812px) and (max-height: 375px) {
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__foot .tpl1-price {
    height: 20px;
    min-height: 20px;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__foot .tpl1-inline-link {
    height: 26px;
    min-height: 26px;
  }

  /* The visual capsule is 26px; its invisible upper extension keeps a 40px
     clickable target inside the same card, away from the next product row. */
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__foot .tpl1-inline-link::before {
    inset: -14px 0 0;
  }
}

/* Featured products alone: preserve the approved media box and turn the
   inherited closed card into a transparent image stage plus a white ticket. */
@media (orientation: landscape) and (min-width: 568px) and (max-width: 932px) and (max-height: 430px) {
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    overflow: visible;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__media {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    overflow: visible;
  }

  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__body {
    background: rgba(255, 253, 249, .94);
    border: 1px solid rgba(76, 52, 31, .12);
    border-radius: 12px;
    box-shadow: 0 10px 20px rgba(104, 69, 37, .08);
    box-sizing: border-box;
    margin: 4px auto 0;
    padding-block: 2px 1px;
    padding-inline: 3px;
    width: max(120px, 92%);
  }
}

@media (orientation: landscape) and (min-width: 568px) and (max-width: 812px) and (max-height: 375px) {
  body.catalog-template--template_3.catalog-template--template_1.catalog-template--template_2 .tpl2-v2-section--featured .tpl1-showcase-card__foot {
    gap: 4px;
  }
}
