/* ==========================================================================
   Kayem Foodservice — mobile design pass (pages)
   Scope: Home (12), Products (118), Brands (1234), About (1343),
          header template (18), footer template (19).
   Everything lives inside @media (max-width: 767px) — desktop is untouched.
   Loaded after kayem-site.css.

   Spacing scale (phones)
     gutter        20px
     section pad   56px (48px where two soft bands meet)
     stack gap     16px / 24px
   Type scale (phones)
     h1 34 · h2 28 · h3 22 · body 16 · small 14 · eyebrow 12
   ========================================================================== */

@media (max-width: 767px) {

  :root {
    --km-gutter: 20px;
    --km-sec: 56px;
    --km-gap: 16px;
  }

  /* ── Shared: type scale ────────────────────────────────────────────────── */
  body.kayem-homepage .elementor-widget-heading h1,
  body.page-id-118 .elementor-widget-heading h1,
  body.page-id-1343 .elementor-widget-heading h1 {
    font-size: 34px !important;
    line-height: 1.12 !important;
  }

  body.kayem-homepage .elementor-widget-heading:not(.elementor-element-0af5652) h2,
  body.page-id-118 .elementor-widget-heading h2,
  body.page-id-1343 .elementor-widget-heading h2 {
    font-size: 28px !important;
    line-height: 1.15 !important;
  }

  body.kayem-homepage .kayem-eyebrow p,
  body.page-id-118 .kayem-eyebrow p,
  body.page-id-1343 .kayem-eyebrow p {
    font-size: 12px !important;
    letter-spacing: 0.14em !important;
  }

  /* ======================================================================
     HEADER — template 18
     A phone bar carries one action, not two. Logo left, one toggle right,
     20px gutters, 72px tall. The CONTACT pill leaves the bar and comes back
     as the last row of the dropdown (appended by the header's small
     phones-only script, so the desktop menu keeps exactly five items).
     ====================================================================== */

  .elementor-element.elementor-element-815f407 {
    padding: 0 !important;
    position: relative !important;
    z-index: 200;
  }

  .elementor-element.elementor-element-815f407 > .e-con-inner {
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    justify-content: space-between !important;
    min-height: 72px !important;
    padding: 0 var(--km-gutter) !important;
  }

  .elementor-element.elementor-element-3a90b9d {
    flex: 0 0 auto !important;
    padding: 0 !important;
    width: auto !important;
  }

  .elementor-element.elementor-element-3a90b9d .kayem-brand-logo img {
    display: block;
    height: 44px;
    width: auto;
  }

  .elementor-element.elementor-element-66f9e37 {
    align-items: flex-end !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    width: auto !important;
  }

  /* Contact leaves the bar — the script re-adds it inside the panel. */
  .elementor-element.elementor-element-046d232 {
    display: none !important;
  }

  /* 44px tap target; the glyph itself sits on the 20px gutter. */
  .elementor-element-a4b4d44 .e-n-menu-toggle {
    align-items: center !important;
    height: 44px !important;
    justify-content: flex-end !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 44px !important;
  }

  .elementor-element-a4b4d44 .e-n-menu-toggle-icon.e-close {
    bottom: auto !important;
    left: auto !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  .elementor-element-a4b4d44 .e-n-menu-toggle-icon,
  .elementor-element-a4b4d44 .e-n-menu-toggle-icon svg {
    height: 26px !important;
    width: 26px !important;
  }

  /* Anchor the panel to the bar itself rather than to the toggle, so it can
     be full-bleed and start exactly at the bottom edge of the header. */
  .elementor-element.elementor-element-66f9e37,
  .elementor-element-a4b4d44,
  .elementor-element-a4b4d44 .e-n-menu {
    position: static !important;
  }

  .elementor-element-a4b4d44 .e-n-menu-wrapper {
    background: #FEFBF7 !important;
    border-top: 1px solid rgba(0, 45, 116, 0.12);
    box-shadow: 0 20px 34px rgba(0, 45, 116, 0.16);
    left: 0 !important;
    max-height: calc(100vh - 72px) !important;
    max-width: 100% !important;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 4px 0 20px !important;
    right: 0 !important;
    top: 100% !important;
    width: 100% !important;
  }

  .elementor-element-a4b4d44 .e-n-menu-heading {
    background: transparent !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 var(--km-gutter) !important;
    width: 100% !important;
  }

  .elementor-element-a4b4d44 .e-n-menu-item,
  .elementor-element-a4b4d44 .e-n-menu-item > .e-n-menu-title {
    background: transparent !important;
  }

  .elementor-element-a4b4d44 .e-n-menu-item {
    flex-direction: column !important;
    width: 100% !important;
  }

  .elementor-element-a4b4d44 .e-n-menu-item > .e-n-menu-title {
    align-items: center !important;
    border-bottom: 1px solid rgba(0, 45, 116, 0.12);
    justify-content: space-between !important;
    min-height: 52px !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .elementor-element-a4b4d44 .e-n-menu-title-text {
    font-size: 16px !important;
    letter-spacing: 1px !important;
  }

  /* The submenu toggle ships with no icon; give it a chevron that flips. */
  .elementor-element-a4b4d44 .e-n-menu-dropdown-icon {
    background: none !important;
    border: 0 !important;
    flex: 0 0 auto;
    height: 52px !important;
    padding: 0 !important;
    position: relative;
    width: 40px !important;
  }

  .elementor-element-a4b4d44 .e-n-menu-dropdown-icon::after {
    border-bottom: 2px solid rgba(0, 45, 116, 0.55);
    border-right: 2px solid rgba(0, 45, 116, 0.55);
    content: "";
    height: 8px;
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-70%) rotate(45deg);
    transition: transform 0.2s ease;
    width: 8px;
  }

  .elementor-element-a4b4d44 .e-n-menu-dropdown-icon[aria-expanded="true"]::after {
    transform: translateY(-25%) rotate(-135deg);
  }

  /* Mega-menu content is width-stretched to the viewport by the widget; inside
     the padded panel that pushed it 20px off-centre. Keep it on the gutters. */
  .elementor-element-a4b4d44 .e-n-menu-content,
  .elementor-element-a4b4d44 .e-n-menu-content > .elementor-element {
    left: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .elementor-element-a4b4d44 .e-n-menu-content > .elementor-element {
    margin-top: 6px !important;
  }

  /* Contact, highlighted, as the last row of the panel. */
  .elementor-element-a4b4d44 .kayem-m-contact {
    padding-top: 18px;
  }

  .elementor-element-a4b4d44 .kayem-m-contact-link {
    align-items: center;
    background: #002D74;
    border-radius: 999px;
    color: #FEFBF7;
    display: flex;
    font-family: "refrigerator-deluxe", Oswald, Georgia, serif;
    font-size: 16px;
    font-weight: 600;
    justify-content: center;
    letter-spacing: 1px;
    min-height: 52px;
    text-decoration: none;
    text-transform: uppercase;
    width: 100%;
  }

  /* ======================================================================
     HOME — post 12
     ====================================================================== */

  /* Hero: the chef photo full-bleed under the bar, then a single kraft panel
     that laps 32px over it and carries the whole message in one colour.
     Was: kraft band, white headline, navy copy, then a boxed photo — four
     unrelated pieces stacked. */
  body.kayem-homepage .elementor-element.elementor-element-f9e091e {
    background-color: transparent !important;
    background-image: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-f9e091e > .e-con-inner {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    padding: 0 !important;
  }

  /* 1 — photo, edge to edge */
  body.kayem-homepage .elementor-element.elementor-element-d22ff1b {
    margin: 0 !important;
    order: 1;
    padding: 0 !important;
    width: 100% !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-d22ff1b .elementor-image-carousel-wrapper {
    padding: 0 !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-d22ff1b .swiper-pagination,
  body.kayem-homepage .elementor-element.elementor-element-d22ff1b .elementor-swiper-button {
    display: none !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-d22ff1b img {
    display: block;
    height: 296px;
    max-height: 296px;
    object-fit: cover;
    width: 100%;
  }

  /* 2 — kraft panel, lapped over the photo */
  body.kayem-homepage .elementor-element.elementor-element-7a81111 {
    background-image: url("/wp-content/uploads/2026/04/kraft-paper.webp") !important;
    background-position: center !important;
    background-repeat: repeat !important;
    border-radius: 22px 22px 0 0;
    gap: 14px !important;
    margin: -32px 0 0 !important;
    order: 2;
    padding: 30px var(--km-gutter) 38px !important;
    position: relative;
    width: 100% !important;
    z-index: 2;
  }

  /* One text colour on the kraft: navy reads, cream did not. */
  body.kayem-homepage .elementor-element.elementor-element-cbed483 h1 {
    color: #002D74 !important;
    font-size: 34px !important;
    line-height: 1.1 !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-32ad7b4,
  body.kayem-homepage .elementor-element.elementor-element-32ad7b4 p {
    color: #002D74 !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-32ad7b4 p {
    margin-bottom: 0 !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-5fb20ba .elementor-button {
    display: flex !important;
    font-size: 15px !important;
    justify-content: center;
    padding: 15px 24px !important;
    width: 100%;
  }

  /* Decorative off-canvas hero cut-out: hide, it only leaked off the left edge. */
  body.kayem-homepage .elementor-element.elementor-element-2114875 {
    display: none !important;
  }

  /* ── "Explore Our Products" carousel ─────────────────────────────────── */
  body.kayem-homepage .elementor-element.elementor-element-46e444f {
    padding: var(--km-sec) 0 !important;
  }

  /* The LEFT / RIGHT outlined boxes read as broken buttons on a phone.
     Replace the JS carousel with a native swipe-snap rail. */
  body.kayem-homepage .kayem-pc__arrow {
    display: none !important;
  }

  body.kayem-homepage .kayem-pc__header {
    padding: 0 var(--km-gutter);
  }

  body.kayem-homepage .kayem-pc__eyebrow {
    font-size: 12px !important;
    letter-spacing: 0.14em !important;
  }

  body.kayem-homepage .kayem-pc__heading-row {
    gap: 0 !important;
  }

  body.kayem-homepage .kayem-pc__heading-row .kayem-pc__heading {
    font-size: 28px !important;
    line-height: 1.15 !important;
    margin: 6px 0 0 !important;
    width: 100%;
  }

  body.kayem-homepage .kayem-pc,
  body.kayem-homepage .kayem-pc__carousel-wrap {
    overflow: visible;
  }

  body.kayem-homepage .kayem-pc__carousel-wrap {
    margin-top: 28px !important;
    overflow-x: auto !important;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scroll-padding-left: var(--km-gutter);
    padding: 0 var(--km-gutter) 4px;
    scrollbar-width: none;
  }

  body.kayem-homepage .kayem-pc__carousel-wrap::-webkit-scrollbar {
    display: none;
  }

  body.kayem-homepage .kayem-pc__track {
    transform: none !important;
    transition: none !important;
    gap: 12px !important;
    width: max-content;
  }

  body.kayem-homepage .kayem-pc__card {
    width: 152px !important;
    min-width: 152px !important;
    scroll-snap-align: start;
  }

  body.kayem-homepage .kayem-pc__card-image {
    height: 152px !important;
    border-radius: 6px;
  }

  body.kayem-homepage .kayem-pc__card-label {
    padding: 10px 2px 0 !important;
    text-align: left;
    font-size: 13px !important;
    letter-spacing: 0.08em;
  }

  body.kayem-homepage .kayem-pc__footer {
    margin-top: 28px !important;
    padding: 0 var(--km-gutter);
  }

  body.kayem-homepage .kayem-pc__button {
    width: 100%;
    text-align: center;
    padding: 15px 24px !important;
  }

  /* ── "Our Family of Brands" logo grids ───────────────────────────────── */
  body.kayem-homepage .elementor-element.elementor-element-f4bfd31 {
    padding: var(--km-sec) 0 !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-034cd10 {
    padding: 0 var(--km-gutter) !important;
    gap: 14px !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-6243db3 p {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  /* Four flagship logos: even 2-up cells. Seven secondary logos: even 3-up
     cells. Both were free-flowing flex rows with mismatched box sizes. */
  body.kayem-homepage .elementor-element.elementor-element-18974ef,
  body.kayem-homepage .elementor-element.elementor-element-721b605 {
    display: grid !important;
    width: 100% !important;
    --width: 100% !important;
    gap: 4px 12px !important;
    padding: 0 !important;
    align-items: stretch;
  }

  body.kayem-homepage .elementor-element.elementor-element-18974ef {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 12px !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-721b605 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 4px !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-721b605 > .e-con:last-child {
    grid-column: 2;
  }

  body.kayem-homepage .elementor-element.elementor-element-18974ef > .e-con,
  body.kayem-homepage .elementor-element.elementor-element-721b605 > .e-con {
    width: auto !important;
    --width: auto !important;
    padding: 0 !important;
    align-items: center;
    justify-content: center;
  }

  body.kayem-homepage .elementor-element.elementor-element-18974ef > .e-con {
    min-height: 104px;
  }

  body.kayem-homepage .elementor-element.elementor-element-721b605 > .e-con {
    min-height: 66px;
  }

  body.kayem-homepage .elementor-element.elementor-element-18974ef img,
  body.kayem-homepage .elementor-element.elementor-element-721b605 img {
    width: auto !important;
    max-width: 100%;
    object-fit: contain;
    margin: 0 auto;
  }

  body.kayem-homepage .elementor-element.elementor-element-18974ef img {
    max-height: 72px;
  }

  body.kayem-homepage .elementor-element.elementor-element-721b605 img {
    max-height: 40px;
  }

  body.kayem-homepage .elementor-element.elementor-element-0af5652 {
    margin-top: 20px !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-0af5652 h2 {
    font-size: 13px !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase;
    text-decoration: underline;
    text-underline-offset: 5px;
  }

  /* ── "We Serve You" → compact 2-up industry cards ────────────────────── */
  body.kayem-homepage .elementor-element.elementor-element-c17227d {
    padding: var(--km-sec) 0 22px !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-93fea30 {
    padding: 0 var(--km-gutter) !important;
    gap: 8px !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-cf6e088 {
    padding: 0 var(--km-gutter) var(--km-sec) !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-cf6e088 > .e-con-inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px !important;
    width: 100%;
    max-width: none;
    align-items: stretch;
    padding: 0 !important;
  }

  /* The six cards live in two row-containers; flatten them into one grid. */
  body.kayem-homepage .elementor-element.elementor-element-db0a66b,
  body.kayem-homepage .elementor-element.elementor-element-17c50bd {
    display: contents !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-08bafaf,
  body.kayem-homepage .elementor-element.elementor-element-278da98,
  body.kayem-homepage .elementor-element.elementor-element-9a08660,
  body.kayem-homepage .elementor-element.elementor-element-52f26d2,
  body.kayem-homepage .elementor-element.elementor-element-52cf000,
  body.kayem-homepage .elementor-element.elementor-element-2cd24ab {
    width: auto !important;
    --width: auto !important;
    padding: 18px 12px 16px !important;
    gap: 6px !important;
    background: #fefbf7;
    border: 1px solid rgba(13, 46, 110, 0.12);
    border-radius: 10px;
    text-align: center;
    align-items: center;
    justify-content: flex-start;
  }

  body.kayem-homepage .elementor-element.elementor-element-cf6e088 .elementor-widget-image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 62px;
    width: 100% !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-cf6e088 .elementor-widget-image img {
    width: auto !important;
    max-width: 56px;
    max-height: 54px;
    height: auto;
    margin: 0 auto;
  }

  body.kayem-homepage .elementor-element.elementor-element-cf6e088 .elementor-widget-heading h3,
  body.kayem-homepage .elementor-element.elementor-element-cf6e088 .elementor-widget-heading h2 {
    font-size: 17px !important;
    line-height: 1.2 !important;
    margin-top: 4px;
  }

  body.kayem-homepage .elementor-element.elementor-element-cf6e088 .elementor-widget-text-editor,
  body.kayem-homepage .elementor-element.elementor-element-cf6e088 .elementor-widget-text-editor p {
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-cf6e088 .kayem-text-lik-button {
    margin-top: auto !important;
    padding-top: 10px;
  }

  body.kayem-homepage .elementor-element.elementor-element-cf6e088 .kayem-text-lik-button .elementor-button {
    font-size: 11px !important;
    padding: 8px 14px !important;
    letter-spacing: 0.08em;
  }

  /* ── "100 Years" history block ───────────────────────────────────────── */
  body.kayem-homepage .elementor-element.elementor-element-1e60c44 {
    padding: 8px 0 var(--km-sec) !important;
    gap: 26px !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-aa7d2ed {
    width: calc(100% - 40px) !important;
    --width: calc(100% - 40px) !important;
    margin: 0 auto !important;
    border-width: 10px !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-8492f73 img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
  }

  body.kayem-homepage .elementor-element.elementor-element-f43eb2f {
    padding: 0 var(--km-gutter) !important;
    gap: 12px !important;
  }

  /* ── Testimonial ─────────────────────────────────────────────────────── */
  body.kayem-homepage .elementor-element.elementor-element-2c84239 {
    padding: 48px 0 !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-23a561e {
    padding: 0 var(--km-gutter) !important;
    gap: 18px !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-8130864 {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-8130864 h2,
  body.kayem-homepage .elementor-element.elementor-element-8130864 h3 {
    font-size: 22px !important;
    line-height: 1.35 !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-f72df34 p {
    font-size: 12px !important;
    letter-spacing: 0.12em !important;
  }

  /* ── "Get Inspired" ──────────────────────────────────────────────────── */
  body.kayem-homepage .elementor-element.elementor-element-386fdc7 {
    padding: var(--km-sec) 0 !important;
    gap: 24px !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-b470099 {
    padding: 0 var(--km-gutter) !important;
    gap: 12px !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-767ad8d {
    flex-direction: column !important;
    --flex-direction: column !important;
    width: 100% !important;
    --width: 100% !important;
    padding: 0 var(--km-gutter) !important;
    gap: 12px !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-2eb814c,
  body.kayem-homepage .elementor-element.elementor-element-0bbf445 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
    inset: auto !important;
    position: relative !important;
    aspect-ratio: auto !important;
  }

  body.kayem-homepage .elementor-element.elementor-element-2eb814c img,
  body.kayem-homepage .elementor-element.elementor-element-0bbf445 img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    border-radius: 4px;
  }

  /* ======================================================================
     PRODUCTS — post 118
     ====================================================================== */

  body.page-id-118 .elementor-element.elementor-element-f4168b4 {
    padding: 36px 0 0 !important;
    gap: 22px !important;
  }

  body.page-id-118 .elementor-element.elementor-element-1d2ecac {
    padding: 0 var(--km-gutter) !important;
    gap: 12px !important;
    width: 100% !important;
    --width: 100% !important;
  }

  body.page-id-118 .elementor-element.elementor-element-b5bb6e7 {
    width: 100% !important;
    --width: 100% !important;
    padding: 0 var(--km-gutter) !important;
    margin: 0 0 -18px !important;
  }

  body.page-id-118 .elementor-element.elementor-element-b5bb6e7 img {
    aspect-ratio: 16 / 10 !important;
    max-height: 240px;
  }

  body.page-id-118 .elementor-element.elementor-element-32dc5c4 {
    padding: 44px 0 56px !important;
  }

  /* "Ready to Serve" CTA */
  body.page-id-118 .elementor-element.elementor-element-06d21bf {
    padding: 40px var(--km-gutter) 0 !important;
    gap: 12px !important;
  }

  /* Decorative plate photo: park it in the flow instead of over the copy. */
  body.page-id-118 .elementor-element.elementor-element-c744e94.elementor-absolute {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: 300px !important;
    margin: 24px auto 0 !important;
    align-self: center !important;
  }

  /* Two stacked CTA panels (brands + inspiration) */
  body.page-id-118 .elementor-element.elementor-element-bd1acfd {
    padding: var(--km-sec) 0 !important;
    gap: 34px !important;
  }

  body.page-id-118 .elementor-element.elementor-element-fca56ea,
  body.page-id-118 .elementor-element.elementor-element-72ab6ac {
    width: 100% !important;
    --width: 100% !important;
    padding: 0 var(--km-gutter) !important;
    gap: 14px !important;
  }

  /* Headings were pinned to 50% of the column and wrapped one word per line. */
  body.page-id-118 .elementor-element.elementor-element-e21f8e5,
  body.page-id-118 .elementor-element.elementor-element-589caa0 {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-id-118 .elementor-element.elementor-element-e21f8e5 h2,
  body.page-id-118 .elementor-element.elementor-element-589caa0 h2 {
    font-size: 28px !important;
    line-height: 1.15 !important;
  }

  /* The 2px vertical rule between the two panels becomes a horizontal rule. */
  body.page-id-118 .elementor-element.elementor-element-469c3ec {
    width: calc(100% - 40px) !important;
    --width: calc(100% - 40px) !important;
    height: 0 !important;
    min-height: 0 !important;
    border-width: 1px 0 0 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  /* Four brand logos were stacking full-width; even 2-up cells instead. */
  body.page-id-118 .elementor-element.elementor-element-dcb8fbc {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px !important;
    width: 100% !important;
    --width: 100% !important;
    padding: 4px 0 0 !important;
  }

  body.page-id-118 .elementor-element.elementor-element-dcb8fbc > .e-con {
    width: auto !important;
    --width: auto !important;
    padding: 0 !important;
    min-height: 78px;
    align-items: center;
    justify-content: center;
  }

  body.page-id-118 .elementor-element.elementor-element-dcb8fbc img {
    width: auto !important;
    max-width: 100%;
    max-height: 60px;
    object-fit: contain;
    margin: 0 auto;
  }

  body.page-id-118 .elementor-element.elementor-element-3959b0f.elementor-absolute {
    max-width: 300px !important;
    margin: 8px auto 0 !important;
  }

  body.page-id-118 .elementor-element.elementor-element-c744e94 img,
  body.page-id-118 .elementor-element.elementor-element-3959b0f img {
    width: 100%;
    height: auto;
  }

  /* Product filter bar + results: consistent 20px gutters. */
  body.page-id-118 .elementor-element.elementor-element-573a980 {
    padding: 0 !important;
  }

  /* Catalogue reads as a grid on phones instead of one 430px card per screen.
     (Grid only — the loop card template itself is untouched.) */
  body.page-id-118 .elementor-element.elementor-element-89989b8 .elementor-loop-container.elementor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    padding: 0 var(--km-gutter);
  }

  /* Card typography has to come down with the column width. Scoped to this
     page's grid only, so the shared loop-card template is unaffected elsewhere. */
  body.page-id-118 .elementor-element.elementor-element-89989b8 .elementor-loop-container .elementor-widget-heading .elementor-heading-title {
    font-size: 15px !important;
    line-height: 1.25 !important;
    overflow-wrap: break-word;
    hyphens: none;
  }

  body.page-id-118 .elementor-element.elementor-element-89989b8 .elementor-loop-container .elementor-element-e86cc53 .elementor-heading-title {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }

  body.page-id-118 .elementor-element.elementor-element-89989b8 .elementor-loop-container .elementor-widget-image img {
    width: 100%;
    height: 150px !important;
    object-fit: cover;
    display: block;
  }

  body.page-id-118 .elementor-element.elementor-element-89989b8 .elementor-loop-container .elementor-element-03ab724 {
    padding: 12px 12px 16px !important;
    gap: 4px !important;
  }

  body.page-id-118 .elementor-element.elementor-element-89989b8 .elementor-loop-container .elementor-element-f58bc6d {
    font-size: 11px !important;
  }

  /* "See more" and "Contact us" were two different button sizes; match them. */
  body.page-id-118 .elementor-element.elementor-element-89989b8 .elementor-button,
  body.page-id-118 .elementor-element.elementor-element-68afd9a .elementor-button,
  body.page-id-118 .elementor-element.elementor-element-d4f4eff .elementor-button,
  body.page-id-118 .elementor-element.elementor-element-a08e35b .elementor-button {
    min-width: 240px;
    justify-content: center;
    padding: 15px 28px !important;
    font-size: 13px !important;
    letter-spacing: 0.1em;
  }

  /* ======================================================================
     BRANDS — post 1234
     ====================================================================== */

  body.page-id-1234 .kayem-brand-directory {
    padding: 48px 0 56px !important;
  }

  body.page-id-1234 .kayem-brand-directory .kbd-title {
    font-size: 28px !important;
    line-height: 1.15 !important;
  }

  body.page-id-1234 .kayem-brand-directory .kbd-eyebrow {
    font-size: 12px !important;
    letter-spacing: 0.14em !important;
  }

  body.page-id-1234 .kayem-brand-directory .kbd-copy {
    font-size: 16px !important;
    margin-bottom: 28px !important;
  }

  body.page-id-1234 .kayem-brand-directory .kbd-grid {
    gap: 12px !important;
  }

  body.page-id-1234 .kayem-brand-directory .kbd-card {
    min-height: 144px !important;
    padding: 20px 14px !important;
  }

  body.page-id-1234 .kayem-brand-directory .kbd-name {
    font-size: 16px !important;
    margin-top: 12px !important;
  }

  /* ======================================================================
     ABOUT — post 1343
     ====================================================================== */

  body.page-id-1343 .elementor-element.elementor-element-33c7cb0,
  body.page-id-1343 .elementor-element.elementor-element-acc8185,
  body.page-id-1343 .elementor-element.elementor-element-c3385a3 {
    padding: var(--km-sec) 0 !important;
    gap: 28px !important;
  }

  body.page-id-1343 .elementor-element.elementor-element-67af0c5,
  body.page-id-1343 .elementor-element.elementor-element-6fa3f36,
  body.page-id-1343 .elementor-element.elementor-element-1d3b549 {
    padding: 0 var(--km-gutter) !important;
    gap: 12px !important;
  }

  body.page-id-1343 .elementor-element.elementor-element-ca999b2,
  body.page-id-1343 .elementor-element.elementor-element-a3a72a4,
  body.page-id-1343 .elementor-element.elementor-element-83478c6 {
    padding: 0 var(--km-gutter) !important;
    gap: 14px !important;
  }

  body.page-id-1343 .elementor-element.elementor-element-13fde97,
  body.page-id-1343 .elementor-element.elementor-element-693a5bc,
  body.page-id-1343 .elementor-element.elementor-element-76792aa,
  body.page-id-1343 .elementor-element.elementor-element-846d7b2,
  body.page-id-1343 .elementor-element.elementor-element-3572699 {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-id-1343 .elementor-element.elementor-element-13fde97 img,
  body.page-id-1343 .elementor-element.elementor-element-693a5bc img,
  body.page-id-1343 .elementor-element.elementor-element-76792aa img,
  body.page-id-1343 .elementor-element.elementor-element-846d7b2 img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
  }

  /* The About copy was pasted in with wrapper markup from an external editor;
     its leftover empty rows added ~90px of dead space under each paragraph. */
  body.page-id-1343 .elementor-widget-text-editor div.z-0,
  body.page-id-1343 .elementor-widget-text-editor div.mt-3 {
    display: none !important;
  }

  body.page-id-1343 .elementor-element.elementor-element-3572699 img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    display: block;
  }

  /* ======================================================================
     FOOTER — template 19
     ====================================================================== */

  .elementor-element.elementor-element-c202bd1 {
    padding: 44px 0 32px !important;
    gap: 4px !important;
  }

  .elementor-element.elementor-element-8938805 {
    padding: 0 var(--km-gutter) !important;
  }

  .elementor-element.elementor-element-4dba33e {
    padding: 8px var(--km-gutter) 4px !important;
  }

  .elementor-element.elementor-element-007ce56 img {
    max-width: 190px;
    margin: 0 auto;
  }

  /* The tagline / contact / socials block was right-aligned against a
     left-aligned link list. Left-align the whole column. */
  .elementor-element.elementor-element-98335ad {
    padding: 4px var(--km-gutter) 0 !important;
    align-items: flex-start !important;
    --align-items: flex-start !important;
    gap: 16px !important;
  }

  .elementor-element.elementor-element-9b69e62,
  .elementor-element.elementor-element-9b69e62 p {
    text-align: left !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  .elementor-element.elementor-element-d9b3ac4,
  .elementor-element.elementor-element-3f8caf8 {
    width: auto !important;
    margin-left: 0 !important;
  }

  .elementor-element.elementor-element-3f8caf8 .elementor-social-icons-wrapper {
    justify-content: flex-start !important;
  }

  .elementor-element.elementor-element-d933909 {
    padding: 16px var(--km-gutter) !important;
  }

  .elementor-element.elementor-element-45ddd16,
  .elementor-element.elementor-element-1fb1bd2 {
    padding: 0 !important;
    align-items: flex-start !important;
    --align-items: flex-start !important;
  }

  /* Utility links were right-aligned and wrapped 3 + 1 under a left-aligned
     copyright line; left-align and space them evenly. */
  .elementor-element.elementor-element-d933909 {
    gap: 12px !important;
  }

  .elementor-element.elementor-element-kn0futil .elementor-nav-menu {
    justify-content: flex-start !important;
    flex-wrap: wrap;
    gap: 4px 18px;
  }

  .elementor-element.elementor-element-kn0futil .elementor-nav-menu--main .elementor-item {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
