/* CityPaws multi-pane drawer. This intentionally owns only the drawer shell. */
@layer cp-multi-drawer {
  #siteDrawer.cp-multi-drawer {
    --cp-cream: #faf8f2;
    --cp-forest: #092e20;
    --cp-gold: #bd913d;
    --cp-ink-soft: #58675c;
    --cp-rule: #e8e2d5;
    --cp-wash: #f2efe6;
    box-sizing: border-box !important;
    position: fixed !important;
    inset: 0 0 0 auto !important;
    width: min(320px, 100vw) !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-inline-start: 0 !important;
    border-radius: 0 !important;
    background: var(--cp-cream) !important;
    color: var(--cp-forest) !important;
    box-shadow: -12px 0 34px rgb(9 46 32 / 13%) !important;
    direction: rtl !important;
    overscroll-behavior: contain !important;
    isolation: isolate !important;
    animation: cpDrawerEnter 280ms cubic-bezier(.2,.75,.25,1) both !important;
  }

  #siteDrawer.cp-multi-drawer[open] {
    display: flex !important;
  }

  #siteDrawer.cp-multi-drawer::backdrop {
    background: rgb(0 0 0 / 45%) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    backdrop-filter: blur(4px) !important;
    animation: cpDrawerBackdropIn 280ms ease both !important;
  }

  #siteDrawer.cp-multi-drawer.is-closing {
    animation: cpDrawerExit 280ms cubic-bezier(.4,0,.8,.3) both !important;
    pointer-events: none !important;
  }

  #siteDrawer.cp-multi-drawer.is-closing::backdrop {
    animation: cpDrawerBackdropOut 280ms ease both !important;
  }

  #siteDrawer.cp-multi-drawer *,
  #siteDrawer.cp-multi-drawer *::before,
  #siteDrawer.cp-multi-drawer *::after {
    box-sizing: border-box !important;
  }

  #siteDrawer.cp-multi-drawer #drawerContent {
    position: relative !important;
    display: block !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: var(--cp-cream) !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-layout {
    position: relative !important;
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: var(--cp-cream) !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-main,
  #siteDrawer.cp-multi-drawer .cp-drawer-sub {
    position: relative !important;
    display: flex !important;
    flex: 0 0 100% !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
    background: var(--cp-cream) !important;
    color: var(--cp-forest) !important;
    text-align: start !important;
    transition: transform 280ms cubic-bezier(.2,.75,.25,1), opacity 180ms ease !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-main {
    z-index: 1 !important;
    transition-delay: 0s !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-sub {
    position: absolute !important;
    z-index: 2 !important;
    inset: 0 !important;
    visibility: visible !important;
    opacity: 0 !important;
    transform: translateX(100%) !important;
    pointer-events: none !important;
  }

  #siteDrawer.cp-multi-drawer[data-level="sub"] .cp-drawer-main {
    visibility: visible !important;
    opacity: 0 !important;
    transform: translateX(-12%) !important;
    pointer-events: none !important;
  }

  #siteDrawer.cp-multi-drawer[data-level="sub"] .cp-drawer-sub {
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateX(0) !important;
    pointer-events: auto !important;
    transition-delay: 0s !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-head,
  #siteDrawer.cp-multi-drawer .cp-drawer-sub-top {
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    flex: 0 0 64px !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-direction: row-reverse !important;
    min-height: 64px !important;
    padding: 0 15px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--cp-rule) !important;
    background: var(--cp-cream) !important;
    color: var(--cp-forest) !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-head [data-close-drawer],
  #siteDrawer.cp-multi-drawer .cp-drawer-sub-top [data-close-drawer] {
    display: grid !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    place-items: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: var(--cp-forest) !important;
    cursor: pointer !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-head [data-close-drawer] svg,
  #siteDrawer.cp-multi-drawer .cp-drawer-sub-top [data-close-drawer] svg {
    width: 20px !important;
    height: 20px !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-brand {
    direction: ltr !important;
    min-height: 44px !important;
    display: grid !important;
    grid-template-columns: auto 22px !important;
    grid-template-areas: "word paw" "subtitle subtitle" !important;
    align-items: center !important;
    justify-content: end !important;
    gap: 1px 5px !important;
    min-width: 0 !important;
    color: var(--cp-forest) !important;
    text-align: end !important;
    text-decoration: none !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-brand > span:first-child {
    grid-area: word !important;
    color: var(--cp-forest) !important;
    font-family: "Trebuchet MS", "Arial", sans-serif !important;
    font-size: 21px !important;
    font-weight: 800 !important;
    letter-spacing: -.65px !important;
    line-height: 1 !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-brand .cp-drawer-paw {
    grid-area: paw !important;
    display: inline-flex !important;
    width: 20px !important;
    height: 20px !important;
    color: var(--cp-gold) !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-brand .cp-drawer-paw svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    fill: currentColor !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-brand small {
    grid-area: subtitle !important;
    display: block !important;
    margin: 2px 0 0 !important;
    color: #77766b !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-align: center !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-main-scroll,
  #siteDrawer.cp-multi-drawer .cp-drawer-sub-scroll {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 8px 13px calc(13px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-color: #cfc5ae transparent !important;
    scrollbar-width: thin !important;
  }

  #siteDrawer.cp-multi-drawer :is(a, button, summary) {
    font-family: inherit !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  #siteDrawer.cp-multi-drawer a {
    color: inherit !important;
    text-decoration: none !important;
  }

  #siteDrawer.cp-multi-drawer button {
    color: inherit !important;
    font: inherit !important;
  }

  #siteDrawer.cp-multi-drawer :is(a, button, summary):focus-visible {
    position: relative !important;
    z-index: 4 !important;
    outline: 2px solid var(--cp-gold) !important;
    outline-offset: 2px !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-account {
    display: grid !important;
    grid-template-columns: 25px minmax(0, 1fr) 20px !important;
    align-items: center !important;
    gap: 9px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 4px 6px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--cp-rule) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--cp-forest) !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-account > svg {
    width: 20px !important;
    height: 20px !important;
    color: var(--cp-forest) !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-account > b,
  #siteDrawer.cp-multi-drawer .cp-drawer-account > span:not(.cp-drawer-chevron) {
    min-width: 0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-account small {
    display: block !important;
    margin-top: 2px !important;
    color: var(--cp-ink-soft) !important;
    font-size: 10px !important;
    font-weight: 400 !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-chevron {
    display: inline-grid !important;
    width: 20px !important;
    height: 24px !important;
    place-items: center !important;
    color: #8b7952 !important;
    font-size: 20px !important;
    line-height: 1 !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-quick {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin: 0 0 8px !important;
    border-bottom: 1px solid var(--cp-rule) !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-quick > a {
    display: flex !important;
    min-width: 0 !important;
    min-height: 56px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 5px 2px !important;
    border-inline-start: 1px solid var(--cp-rule) !important;
    color: var(--cp-forest) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-align: center !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-quick > a:first-child {
    border-inline-start: 0 !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-quick svg {
    width: 20px !important;
    height: 20px !important;
    color: var(--cp-forest) !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-label {
    margin: 7px 2px 3px !important;
    color: #686b5c !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-categories {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-row {
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) 20px !important;
    align-items: center !important;
    gap: 9px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 4px 5px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--cp-rule) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--cp-forest) !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
    text-align: start !important;
    cursor: pointer !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-row img,
  #siteDrawer.cp-multi-drawer .cp-drawer-app img {
    display: block !important;
    width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #eeeadd !important;
    object-fit: cover !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-row > span:not(.cp-drawer-chevron) {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-row[aria-expanded="true"] {
    background: #f0eee3 !important;
    box-shadow: inset -2px 0 0 var(--cp-gold) !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-utilities {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin: 5px 0 8px !important;
    border-bottom: 1px solid var(--cp-rule) !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-utilities > :is(a, button) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 4px 3px !important;
    border: 0 !important;
    border-inline-start: 1px solid var(--cp-rule) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #46564a !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    text-align: center !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-utilities > :first-child {
    border-inline-start: 0 !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-utilities svg {
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-whatsapp {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 44px !important;
    margin: 8px 0 2px !important;
    padding: 7px 10px !important;
    border: 1px solid #7a9a82 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #176344 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-align: center !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-whatsapp svg {
    width: 19px !important;
    height: 19px !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-more {
    margin: 0 !important;
    border-bottom: 1px solid var(--cp-rule) !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-more > summary {
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
    padding: 4px 5px !important;
    color: var(--cp-forest) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    list-style: none !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-more > summary::-webkit-details-marker {
    display: none !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-more > summary::after {
    width: 18px !important;
    margin-inline-start: auto !important;
    color: #8b7952 !important;
    content: "⌄" !important;
    font-size: 17px !important;
    text-align: center !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-more[open] > summary::after {
    content: "⌃" !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-more > :is(a, button),
  #siteDrawer.cp-multi-drawer .drawer-extra-actions > :is(a, button) {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 5px 7px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #46564a !important;
    font-size: 12px !important;
    text-align: start !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-app {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 4px 0 !important;
    padding: 5px 7px !important;
    border: 0 !important;
    border-top: 1px solid var(--cp-rule) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--cp-forest) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    text-align: start !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-languages {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    margin: 9px 0 0 !important;
    padding: 8px 0 0 !important;
    border-top: 1px solid var(--cp-rule) !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-languages button {
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 5px 4px !important;
    border: 1px solid #e7e0d2 !important;
    border-radius: 8px !important;
    background: #fcfbf7 !important;
    color: var(--cp-forest) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-languages button[aria-pressed="true"] {
    border-color: var(--cp-forest) !important;
    background: var(--cp-forest) !important;
    color: var(--cp-cream) !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-back {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    width: 100% !important;
    min-height: 46px !important;
    margin: 0 0 8px !important;
    padding: 4px 3px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--cp-rule) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #45564a !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-align: start !important;
    cursor: pointer !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-category-head {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 70px !important;
    padding: 5px 2px 10px !important;
    border-bottom: 1px solid var(--cp-rule) !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-category-head img {
    display: block !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: #eeeadd !important;
    object-fit: cover !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-category-head > div {
    min-width: 0 !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-category-head h2 {
    margin: 0 0 4px !important;
    color: var(--cp-forest) !important;
    font-size: 17px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-view-all {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 44px !important;
    color: #9b762f !important;
    font-size: 11px !important;
    font-weight: 650 !important;
    line-height: 1.3 !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-branches {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-branch {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 5px 3px !important;
    border-bottom: 1px solid var(--cp-rule) !important;
    color: var(--cp-forest) !important;
    font-size: 12px !important;
    font-weight: 550 !important;
    line-height: 1.3 !important;
  }

  #siteDrawer.cp-multi-drawer .cp-drawer-branch::before {
    flex: 0 0 auto !important;
    color: #88774f !important;
    content: none !important;
    font-size: 19px !important;
    line-height: 1 !important;
  }

  #siteDrawer.cp-multi-drawer [dir="ltr"] {
    direction: ltr !important;
  }

  #siteDrawer.cp-multi-drawer[dir="ltr"] .cp-drawer-main,
  #siteDrawer.cp-multi-drawer[dir="ltr"] .cp-drawer-sub {
    direction: ltr !important;
  }

  #siteDrawer.cp-multi-drawer[dir="ltr"] .cp-drawer-row[aria-expanded="true"] {
    box-shadow: inset 2px 0 0 var(--cp-gold) !important;
  }

  @media (min-width: 1024px) {
    #siteDrawer.cp-multi-drawer {
      width: 320px !important;
      max-width: min(320px, 100vw) !important;
    }

    #siteDrawer.cp-multi-drawer[data-level="sub"] {
      width: min(620px, 100vw) !important;
      max-width: min(620px, 100vw) !important;
    }

    #siteDrawer.cp-multi-drawer .cp-drawer-main,
    #siteDrawer.cp-multi-drawer .cp-drawer-sub {
      position: relative !important;
      inset: auto !important;
      flex: 0 0 320px !important;
      width: 320px !important;
      opacity: 1 !important;
      visibility: visible !important;
      transform: none !important;
      pointer-events: auto !important;
      transition: none !important;
    }

    #siteDrawer.cp-multi-drawer .cp-drawer-sub {
      flex-basis: 300px !important;
      width: 300px !important;
      border-inline-end: 1px solid var(--cp-rule) !important;
    }

    #siteDrawer.cp-multi-drawer[data-level="main"] .cp-drawer-sub,
    #siteDrawer.cp-multi-drawer .cp-drawer-sub[inert] {
      display: none !important;
    }

    #siteDrawer.cp-multi-drawer[data-level="sub"] .cp-drawer-sub {
      display: flex !important;
    }

    #siteDrawer.cp-multi-drawer[data-level="sub"] .cp-drawer-main {
      display: flex !important;
      opacity: 1 !important;
      visibility: visible !important;
      transform: none !important;
      pointer-events: auto !important;
    }

    #siteDrawer.cp-multi-drawer .cp-drawer-sub-top {
      display: none !important;
    }
    #siteDrawer.cp-multi-drawer .cp-drawer-back {
      display: none !important;
    }
  }

  @media (max-width: 1023px) {
    #siteDrawer.cp-multi-drawer {
      width: min(340px, 90vw) !important;
      max-width: min(340px, 90vw) !important;
      box-shadow: -10px 0 28px rgb(9 46 32 / 15%) !important;
    }

    #siteDrawer.cp-multi-drawer .cp-drawer-layout {
      width: 100% !important;
    }

    #siteDrawer.cp-multi-drawer .cp-drawer-main,
    #siteDrawer.cp-multi-drawer .cp-drawer-sub {
      position: absolute !important;
      inset: 0 !important;
      width: 100% !important;
      height: 100% !important;
      flex: 0 0 100% !important;
    }

    #siteDrawer.cp-multi-drawer .cp-drawer-sub-top {
      display: flex !important;
    }

  }

  @keyframes cpDrawerEnter {
    from { opacity: 0; transform: translateX(100%); }
    to { opacity: 1; transform: translateX(0); }
  }

  @keyframes cpDrawerExit {
    from { opacity: 1; transform: translateX(0); }
    to { opacity: 0; transform: translateX(100%); }
  }

  @keyframes cpDrawerBackdropIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }

  @keyframes cpDrawerBackdropOut {
    from { opacity: 1; }
    to { opacity: 0; }
  }

  @media (prefers-reduced-motion: reduce) {
    #siteDrawer.cp-multi-drawer,
    #siteDrawer.cp-multi-drawer *,
    #siteDrawer.cp-multi-drawer *::before,
    #siteDrawer.cp-multi-drawer *::after,
    #siteDrawer.cp-multi-drawer::backdrop,
    #siteDrawer.cp-multi-drawer[data-level] .cp-drawer-main,
    #siteDrawer.cp-multi-drawer[data-level] .cp-drawer-sub {
      animation-duration: .01ms !important;
      transition-duration: .01ms !important;
      scroll-behavior: auto !important;
    }
  }
}
