/* 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 !important;
    height: 36px !important;
    width: 36px !important;
  }

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

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

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

  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 !important;
    translate: 0 0 !important;
  }

  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 !important;
    padding-top: 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: 2px !important;
  }

  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 !important;
    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 !important;
    grid-auto-columns: auto !important;
    grid-auto-flow: row !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
    /* 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) !important;
    overflow: visible !important;
    padding-bottom: 0 !important;
  }

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

  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 !important;
    align-items: center !important;
    display: flex !important;
    height: auto !important;
    justify-content: center !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

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

  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 !important;
    text-align: center !important;
  }

  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 !important;
  }

  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) !important;
    line-height: 1.1 !important;
    margin: 0 !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
  }

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

  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 !important;
    display: inline-flex !important;
    font-size: .62rem !important;
    height: 24px !important;
    justify-content: center !important;
    line-height: 1 !important;
    min-height: 24px !important;
    padding: 0 5px !important;
  }

  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) !important;
    width: auto !important;
  }

  /* 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;
  }
}

/* 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) !important;
  }

  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) !important;
  }

  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 !important;
  }
}

/* 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 !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-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 !important;
    align-items: start !important;
    display: grid !important;
    grid-auto-flow: row !important;
    grid-auto-rows: minmax(0, 1fr) !important;
    grid-column: auto !important;
    grid-row: auto !important;
    grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
    height: auto !important;
    justify-content: stretch !important;
    max-height: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 0 !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-card {
    align-self: start !important;
    height: auto !important;
    min-height: 0 !important;
    min-width: 0 !important;
  }

  /* 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 !important;
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
  }

  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% !important;
    object-fit: contain !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-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 !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;
  }
}

@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 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-height: 100dvh !important;
    padding: 18px 24px !important;
  }

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

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

  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) !important;
    line-height: .94 !important;
  }

  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) !important;
    row-gap: 12px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(76%, 900px) !important;
  }

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

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

  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 !important;
    height: clamp(155px, 25dvh, 225px) !important;
    width: 100% !important;
  }

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

  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 !important;
    padding: 10px 16px !important;
  }
}

/* Template 3 featured title has two intentional, indivisible lines at every
   viewport. Override the shared Template 1 ch-based heading width only here. */
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 !important;
    grid-template-rows: repeat(2, auto) !important;
    row-gap: 6px !important;
  }

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

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

  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 !important;
  }

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

  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 !important;
    padding-inline: 12px !important;
    width: max-content !important;
  }
}

@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 !important;
  }

  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 !important;
  }

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

  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 !important;
  }

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

  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 !important;
  }
}

/* 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 !important;
  }

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

  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 !important;
    line-height: .95 !important;
  }
}

/* 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 !important;
  }

  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 !important;
    min-height: 22px !important;
  }

  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 !important;
    min-height: 20px !important;
  }

  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 !important;
    min-height: 26px !important;
  }

  /* 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 !important;
    border-color: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

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

  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) !important;
    border: 1px solid rgba(76, 52, 31, .12) !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 20px rgba(104, 69, 37, .08) !important;
    box-sizing: border-box !important;
    margin: 4px auto 0 !important;
    padding-block: 2px 1px !important;
    padding-inline: 3px !important;
    width: max(120px, 92%) !important;
  }
}

@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 !important;
  }
}
