/* DreamCode Yến Sào Thủ Đức Header 1.5.1 | scoped responsive & first-paint stable layout. */
.dc-ysth {
  --dc-ysth-top-bg: #b0000a;
  --dc-ysth-main-bg: #870004;
  --dc-ysth-text-color: #ffffff;
  --dc-ysth-menu-color: #fce9a8;
  --dc-ysth-border: #feea9d;
  --dc-ysth-inner-width: 1354px;
  --dc-ysth-logo-width: 161px;
  --dc-ysth-nav-gap: 35px;
  --dc-ysth-nav-font-size: 12px;
  --dc-ysth-flip-icon-color: #ffffff;
  --dc-ysth-flip-text-color: #ffffff;
  --dc-ysth-flip-size: 16px;
  --dc-ysth-flip-icon-size: 19px;
  --dc-ysth-flip-gap: 8px;
  --dc-ysth-flip-min-height: 48px;
  --dc-ysth-main-min-height: 91px;
  --dc-ysth-menu-drawer-width: 400px;
  --dc-ysth-cart-drawer-width: 460px;
  --dc-ysth-badge-bg: #d93647;
  --dc-ysth-drawer-text: #fce9a8;
  --dc-ysth-cart-btn-bg: #870004;
  --dc-ysth-cart-btn-color: #ffffff;
  --dc-ysth-action-icon-color: #ffffff;
  position: relative;
  z-index: 35;
  isolation: isolate;
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  font: 14px/1.4 Arial, Helvetica, sans-serif;
  color: var(--dc-ysth-text-color);
}
.dc-ysth, .dc-ysth *, .dc-ysth *::before, .dc-ysth *::after,
.dc-ysth__drawer-layer, .dc-ysth__drawer-layer *, .dc-ysth__drawer-layer *::before, .dc-ysth__drawer-layer *::after { box-sizing: border-box; }
.dc-ysth :where(a,button), .dc-ysth__drawer-layer :where(a,button) { -webkit-tap-highlight-color: transparent; }
.dc-ysth .dc-ysth__inner { width: min(calc(100% - 48px), var(--dc-ysth-inner-width)); min-width: 0; max-width: 100%; margin-inline: auto; }
.dc-ysth .dc-ysth__top { color: var(--dc-ysth-text-color); background: var(--dc-ysth-top-bg); }
/* Reference topbar: left contact, central icon+text flip, right opening hours. */
.dc-ysth .dc-ysth__top-inner {
  display: flex; align-items: center; justify-content: center;
  min-width: 0; min-height: var(--dc-ysth-flip-min-height); padding-block: 5px;
}
.dc-ysth .dc-ysth__icon, .dc-ysth__drawer-layer .dc-ysth__icon,
.dc-ysth .dc-ysth__custom-icon, .dc-ysth__drawer-layer .dc-ysth__custom-icon {
  display: block; flex: 0 0 auto; width: 19px; height: 19px; max-width: none;
}
.dc-ysth .dc-ysth__custom-icon, .dc-ysth__drawer-layer .dc-ysth__custom-icon { line-height: 1; }
.dc-ysth .dc-ysth__custom-icon svg, .dc-ysth__drawer-layer .dc-ysth__custom-icon svg {
  display: block; width: 100%; height: 100%; max-width: 100%; fill: currentColor;
}
.dc-ysth .dc-ysth__flip {
  display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0; max-width: 100%;
  text-align: center; font-size: var(--dc-ysth-flip-size); font-weight: 700;
}
.dc-ysth .dc-ysth__flip-stack { display: grid; align-items: center; width: 100%; min-width: 0; max-width: 100%; }
.dc-ysth .dc-ysth__flip-item {
  grid-area: 1 / 1; display: flex; align-items: center; justify-content: center;
  min-width: 0; max-width: 100%; overflow-wrap: anywhere;
  opacity: 0; visibility: hidden; transform: translateY(7px) rotateX(-65deg);
  transform-origin: 50% 50%; transition: opacity .3s ease, visibility .3s ease, transform .36s cubic-bezier(.2,.75,.25,1);
}
.dc-ysth .dc-ysth__flip-item.is-active { opacity: 1; visibility: visible; transform: none; }
.dc-ysth .dc-ysth__flip-pair,
.dc-ysth .dc-ysth__flip-pair:is(:hover,:focus,:active) {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--dc-ysth-flip-gap);
  min-width: 0; max-width: 100%; padding: 0; margin: 0;
  color: var(--dc-ysth-flip-text-color); background: transparent !important;
  font: inherit; text-decoration: none; overflow-wrap: anywhere; white-space: normal;
}
.dc-ysth .dc-ysth__flip-pair:is(a):hover { text-decoration: underline; text-underline-offset: 3px; }
.dc-ysth .dc-ysth__flip-icon {
  display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center;
  width: var(--dc-ysth-flip-icon-size); height: var(--dc-ysth-flip-icon-size);
  color: var(--dc-ysth-flip-icon-color);
}
.dc-ysth .dc-ysth__flip-icon :is(svg, i) { width: 100%; height: 100%; font-size: inherit; }
.dc-ysth .dc-ysth__flip-icon .dc-ysth__icon,
.dc-ysth .dc-ysth__flip-icon .dc-ysth__custom-icon { width: 100%; height: 100%; }
/* v1.3.0: Elementor icons (font/SVG) must inherit the chosen Flip icon colour,
   never a theme/Elementor icon colour or the surrounding Flip text colour. */
.dc-ysth .dc-ysth__flip-icon .dc-ysth__custom-icon,
.dc-ysth .dc-ysth__flip-icon .dc-ysth__custom-icon :is(svg, i) {
  color: var(--dc-ysth-flip-icon-color);
}
.dc-ysth .dc-ysth__flip-icon svg.dc-ysth__custom-icon:not([fill="none"]),
.dc-ysth .dc-ysth__flip-icon .dc-ysth__custom-icon svg:not([fill="none"]) {
  fill: currentColor;
}
/* Honour "none" on outline SVGs, but recolour fixed-fill SVG shapes. */
.dc-ysth .dc-ysth__flip-icon svg.dc-ysth__custom-icon :is(path, circle, rect, ellipse, polygon, use)[fill]:not([fill="none"]),
.dc-ysth .dc-ysth__flip-icon .dc-ysth__custom-icon svg :is(path, circle, rect, ellipse, polygon, use)[fill]:not([fill="none"]) {
  fill: currentColor;
}
.dc-ysth .dc-ysth__flip-copy { display: block; min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.dc-ysth .dc-ysth__flip-mobile { display: none; }
/* Contact appears in the drawer only; it is not a separate topbar. */
.dc-ysth__drawer-layer .dc-ysth__contact-item {
  display: flex; align-items: center; gap: 8px; min-width: 0; max-width: 100%;
  color: white; text-decoration: none; overflow-wrap: anywhere;
}
.dc-ysth__drawer-layer .dc-ysth__contact-item :is(.dc-ysth__icon,.dc-ysth__custom-icon),
.dc-ysth__drawer-layer .dc-ysth__drawer-hours :is(.dc-ysth__icon,.dc-ysth__custom-icon) { width: 19px; height: 19px; }
.dc-ysth .dc-ysth__main { color: var(--dc-ysth-menu-color); background: var(--dc-ysth-main-bg); border-top: 1px solid var(--dc-ysth-border); }
.dc-ysth .dc-ysth__main-inner { display: flex; align-items: center; gap: 30px; min-height: var(--dc-ysth-main-min-height); padding-block: 4px; }
.dc-ysth .dc-ysth__logo { display: block; flex: 0 0 auto; min-width: 0; max-width: 100%; width: min(var(--dc-ysth-logo-width), 100%); line-height: 0; text-decoration: none; background: transparent !important; }
.dc-ysth .dc-ysth__logo-img { display: block; width: 100%; max-width: 100%; height: auto; object-fit: contain; object-position: center; border: none; box-shadow: none; }
.dc-ysth .dc-ysth__nav { min-width: 0; max-width: 100%; margin-left: auto; }
.dc-ysth .dc-ysth__nav-list, .dc-ysth .dc-ysth__nav-list ul { padding: 0; margin: 0; list-style: none; }
.dc-ysth .dc-ysth__nav-list { display: flex; align-items: center; justify-content: flex-end; gap: var(--dc-ysth-nav-gap); min-width: 0; }
.dc-ysth .dc-ysth__nav-list li { position: relative; min-width: 0; margin: 0; padding: 0; }
.dc-ysth .dc-ysth__nav-list > li { display: flex; align-items: center; }
.dc-ysth .dc-ysth__nav-list a, .dc-ysth .dc-ysth__nav-text {
  position: relative; display: inline-block; padding: 12px 0; min-width: 0; max-width: 100%;
  color: var(--dc-ysth-menu-color); font-size: var(--dc-ysth-nav-font-size); line-height: 1.4; font-weight: 700;
  letter-spacing: 0; text-transform: none; text-decoration: none; white-space: normal; overflow-wrap: anywhere; background: transparent !important;
}
.dc-ysth .dc-ysth__nav-list a,
.dc-ysth .dc-ysth__nav-text { display: inline-flex; align-items: center; gap: 6px; }
.dc-ysth .dc-ysth__menu-item-icon,
.dc-ysth__drawer-layer .dc-ysth__menu-item-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 16px; height: 16px; }
.dc-ysth .dc-ysth__menu-item-icon :is(svg,i),
.dc-ysth__drawer-layer .dc-ysth__menu-item-icon :is(svg,i) { display: block; width: 100%; height: 100%; }
.dc-ysth .dc-ysth__menu-item-text,
.dc-ysth__drawer-layer .dc-ysth__menu-item-text { min-width: 0; overflow-wrap: anywhere; }
.dc-ysth .dc-ysth__nav-list a:is(:hover,:focus-visible) { color: white; text-decoration: none; }
.dc-ysth .dc-ysth__nav-list > li > a::after {
  position: absolute; bottom: 5px; left: 0; right: 0; height: 2px; content: '';
  background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .18s ease;
}
.dc-ysth .dc-ysth__nav-list > li > a:is(:hover,:focus-visible)::after,
.dc-ysth .dc-ysth__nav-list > li.current-menu-item > a::after,
.dc-ysth .dc-ysth__nav-list > li.current-menu-ancestor > a::after { transform: scaleX(1); }
.dc-ysth .dc-ysth__actions { display: flex; align-items: center; justify-content: flex-end; flex: 0 0 auto; gap: 6px; }
/* Override Elementor's global button background/hover/active only inside our component. */
.elementor .dc-ysth button.dc-ysth__cart-link,
.elementor .dc-ysth button.dc-ysth__toggle,
.elementor .dc-ysth button.dc-ysth__submenu-toggle,
.dc-ysth button.dc-ysth__cart-link,
.dc-ysth button.dc-ysth__toggle,
.dc-ysth button.dc-ysth__submenu-toggle,
.elementor .dc-ysth button.dc-ysth__cart-link:is(:hover,:focus,:active),
.elementor .dc-ysth button.dc-ysth__toggle:is(:hover,:focus,:active),
.elementor .dc-ysth button.dc-ysth__submenu-toggle:is(:hover,:focus,:active),
.dc-ysth button.dc-ysth__cart-link:is(:hover,:focus,:active),
.dc-ysth button.dc-ysth__toggle:is(:hover,:focus,:active),
.dc-ysth button.dc-ysth__submenu-toggle:is(:hover,:focus,:active) {
  -webkit-appearance: none; appearance: none; display: inline-flex; align-items: center; justify-content: center;
  background: transparent !important; background-image: none !important; border: 0 !important; border-radius: 0;
  box-shadow: none !important; color: var(--dc-ysth-menu-color) !important; font: inherit; line-height: 1;
  text-shadow: none; text-transform: none; padding: 0; margin: 0; cursor: pointer; outline-offset: 3px;
}
.dc-ysth button.dc-ysth__cart-link { position: relative; width: 48px; height: 48px; flex: 0 0 auto; }
.dc-ysth .dc-ysth__icon--cart { width: 29px; height: 29px; color: var(--dc-ysth-action-icon-color); }
.dc-ysth .dc-ysth__cart-link .dc-ysth__custom-icon { width: 29px; height: 29px; color: var(--dc-ysth-action-icon-color); }
.dc-ysth .dc-ysth__cart-badge { position: absolute; top: 1px; right: 0; display: inline-flex; align-items: center; justify-content: center; min-width: 19px; min-height: 19px; border-radius: 30px; padding: 0 4px; color: #fff; background: var(--dc-ysth-badge-bg); font-size: 11px; font-weight: 700; line-height: 1; }
.dc-ysth .dc-ysth__cart-badge[data-empty="1"] { display: none; }
.elementor .dc-ysth button.dc-ysth__toggle, .dc-ysth button.dc-ysth__toggle { display: none; width: 48px; height: 48px; flex: 0 0 auto; }
.dc-ysth .dc-ysth__icon--menu { width: 26px; height: 26px; color: var(--dc-ysth-action-icon-color); }
.dc-ysth .dc-ysth__toggle .dc-ysth__custom-icon { width: 26px; height: 26px; color: var(--dc-ysth-action-icon-color); }
.dc-ysth button.dc-ysth__submenu-toggle { flex: 0 0 auto; width: 36px; height: 44px; }
.dc-ysth .dc-ysth__submenu-toggle svg, .dc-ysth__drawer-layer .dc-ysth__submenu-toggle svg { display: block; width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; transition: transform .2s ease; }
.dc-ysth .is-submenu-open > .dc-ysth__submenu-toggle svg, .dc-ysth__drawer-layer .is-submenu-open > .dc-ysth__submenu-toggle svg { transform: rotate(180deg); }
.dc-ysth .dc-ysth__nav-list ul.sub-menu {
  position: absolute; z-index: 5; top: 100%; left: -12px; display: block; width: max-content;
  min-width: 195px; max-width: min(290px, calc(100vw - 32px)); padding: 9px 12px;
  background: var(--dc-ysth-main-bg); border: 1px solid var(--dc-ysth-border); box-shadow: 0 10px 28px #0003;
  opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.dc-ysth .dc-ysth__nav-list ul.sub-menu ul.sub-menu { top: -9px; left: 100%; }
.dc-ysth .dc-ysth__nav-list > li:nth-last-child(-n+2) > ul.sub-menu { left: auto; right: 0; }
.dc-ysth .dc-ysth__nav-list > li:nth-last-child(-n+2) ul.sub-menu ul.sub-menu { left: auto; right: 100%; }
.dc-ysth .dc-ysth__nav-list li:is(:hover,:focus-within,.is-submenu-open) > ul.sub-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.dc-ysth .dc-ysth__nav-list ul.sub-menu li { display: flex; align-items: center; flex-wrap: wrap; }
.dc-ysth .dc-ysth__nav-list ul.sub-menu a, .dc-ysth .dc-ysth__nav-list ul.sub-menu .dc-ysth__nav-text { flex: 1 1 0; padding-block: 11px; white-space: normal; }
.dc-ysth .dc-ysth__menu-note { font-size: 14px; color: white; }
.dc-ysth :where(a,button):focus-visible, .dc-ysth__drawer-layer :where(a,button):focus-visible { outline: 2px solid var(--dc-ysth-border); outline-offset: 3px; }

/* Portal layers are moved to <body>, outside Elementor section overflow/transform contexts. */
.dc-ysth__drawer-layer {
  --dc-ysth-cart-btn-bg: #870004; --dc-ysth-cart-btn-color: #fff; --dc-ysth-action-icon-color: #fff;
  --dc-ysth-menu-drawer-width: 400px; --dc-ysth-cart-drawer-width: 460px;
  --dc-ysth-drawer-text: #fce9a8; --dc-ysth-badge-bg: #d93647;
  --dc-ysth-top-bg: #b0000a; --dc-ysth-main-bg: #870004;
  --dc-ysth-text-color: #fff; --dc-ysth-menu-color: #fce9a8; --dc-ysth-border: #feea9d;
  position: fixed; inset: 0; z-index: 2147483000; display: flex; width: 100%; height: 100vh; height: 100dvh;
  margin: 0; padding: 0; font: 14px/1.45 Arial,Helvetica,sans-serif; color: #211c1c; pointer-events: auto;
}
.dc-ysth__drawer-layer[hidden] { display: none !important; }
html.dc-ysth-overlay-open { overflow: hidden; }
.dc-ysth__drawer-layer .dc-ysth__drawer-backdrop { position: absolute; inset: 0; background: rgba(22,0,0,.63); cursor: pointer; }
.dc-ysth__drawer-layer .dc-ysth__drawer-panel {
  position: relative; display: grid; grid-template-rows: auto minmax(0,1fr) auto;
  width: min(92vw, var(--dc-ysth-menu-drawer-width)); max-width: 100%; min-width: 0; height: 100%; margin: 0;
  overflow: hidden; box-shadow: 0 0 36px rgba(0,0,0,.22); outline: none;
}
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu { margin-right: auto; background: var(--dc-ysth-main-bg); color: var(--dc-ysth-drawer-text); }
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--cart { margin-left: auto; width: min(94vw, var(--dc-ysth-cart-drawer-width)); background: #fff; color: #242424; }
.dc-ysth__drawer-layer .dc-ysth__drawer-head {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  min-width: 0; min-height: 72px; padding: 13px 18px; background: var(--dc-ysth-main-bg); color: var(--dc-ysth-menu-color);
  border-bottom: 1px solid rgba(252,233,168,.26);
}
.dc-ysth__drawer-layer .dc-ysth__drawer-head h2 { min-width: 0; margin: 0; padding: 0; font: 700 20px/1.25 Arial,Helvetica,sans-serif; color: inherit; overflow-wrap: anywhere; }
.elementor .dc-ysth__drawer-layer button.dc-ysth__drawer-close,
.dc-ysth__drawer-layer button.dc-ysth__drawer-close,
.dc-ysth__drawer-layer button.dc-ysth__submenu-toggle,
.dc-ysth__drawer-layer button.dc-ysth__qty-btn,
.dc-ysth__drawer-layer .dc-ysth__qty button,
.dc-ysth__drawer-layer button.dc-ysth__remove-item,
.dc-ysth__drawer-layer button:is(:hover,:focus,:active) {
  appearance: none; -webkit-appearance: none; background: transparent !important; background-image: none !important;
  border: 0; border-radius: 0; box-shadow: none !important; text-transform: none; font-family: inherit; cursor: pointer;
}
.dc-ysth__drawer-layer button.dc-ysth__drawer-close { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 44px; height: 44px; padding: 10px; margin: 0; color: inherit !important; }
.dc-ysth__drawer-layer .dc-ysth__icon--close { width: 24px; height: 24px; }
.dc-ysth__drawer-layer .dc-ysth__drawer-body { min-width: 0; min-height: 0; max-width: 100%; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding: 16px 18px; }
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu .dc-ysth__drawer-body { padding-block: 4px 16px; }
.dc-ysth__drawer-layer .dc-ysth__nav { display: block; width: 100%; min-width: 0; max-width: 100%; margin: 0; }
.dc-ysth__drawer-layer .dc-ysth__nav-list, .dc-ysth__drawer-layer .dc-ysth__nav-list ul { list-style: none; padding: 0; margin: 0; }
.dc-ysth__drawer-layer .dc-ysth__nav-list { display: flex; flex-direction: column; min-width: 0; gap: 0; }
.dc-ysth__drawer-layer .dc-ysth__nav-list li { position: relative; display: flex; align-items: center; flex-wrap: wrap; min-width: 0; width: 100%; margin: 0; padding: 0; border-bottom: 1px solid rgba(255,255,255,.17); }
.dc-ysth__drawer-layer .dc-ysth__nav-list a, .dc-ysth__drawer-layer .dc-ysth__nav-text {
  flex: 1 1 0; min-width: 0; max-width: 100%; display: block; padding: 15px 6px;
  color: var(--dc-ysth-drawer-text); background: transparent !important; box-shadow: none !important;
  text-decoration: none; font-size: 14px; line-height: 1.42; font-weight: 700; overflow-wrap: anywhere; white-space: normal;
}
.dc-ysth__drawer-layer .dc-ysth__nav-list a:is(:hover,:focus-visible) { color: #fff; }
.dc-ysth__drawer-layer button.dc-ysth__submenu-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 44px; height: 48px; padding: 0; margin: 0; color: var(--dc-ysth-drawer-text) !important; }
.dc-ysth__drawer-layer .dc-ysth__nav-list ul.sub-menu { display: none; position: static; flex: 1 0 100%; min-width: 0; width: 100%; max-width: 100%; padding: 0 0 0 14px; background: rgba(0,0,0,.08); border: 0; box-shadow: none; transform: none; visibility: visible; opacity: 1; pointer-events: auto; }
.dc-ysth__drawer-layer .dc-ysth__nav-list li.is-submenu-open > ul.sub-menu { display: block; }
.dc-ysth__drawer-layer .dc-ysth__nav-list ul.sub-menu a { font-weight: 600; font-size: 13px; }
.dc-ysth__drawer-layer .dc-ysth__drawer-foot { border-top: 1px solid rgba(255,255,255,.19); padding: 14px 18px 18px; min-width: 0; }
.dc-ysth__drawer-layer .dc-ysth__drawer-contact { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.dc-ysth__drawer-layer .dc-ysth__contact-item { font-size: 13px; min-height: 26px; color: #fff; }
.dc-ysth__drawer-layer .dc-ysth__drawer-hours { display: flex; align-items: center; gap: 8px; margin-top: 8px; min-width: 0; color: #fff; font-size: 13px; overflow-wrap: anywhere; }
.dc-ysth__drawer-layer .dc-ysth__drawer-status { margin: 10px 0; padding: 12px; font-size: 14px; background: #fff8ed; color: #6f3300; border-radius: 6px; overflow-wrap: anywhere; }
.dc-ysth__drawer-layer .dc-ysth__drawer-status.is-error { color: #981321; background: #fff1f1; }
.dc-ysth__drawer-layer .dc-ysth__cart-item { display: grid; grid-template-columns: 88px minmax(0,1fr); gap: 14px; padding: 17px 0; min-width: 0; border-bottom: 1px solid #eee4e4; }
.dc-ysth__drawer-layer .dc-ysth__cart-item:first-child { padding-top: 3px; }
.dc-ysth__drawer-layer .dc-ysth__cart-image { min-width: 0; }
.dc-ysth__drawer-layer .dc-ysth__cart-image img { display: block; width: 88px; height: auto; max-width: 100%; aspect-ratio: 1; object-fit: contain; border-radius: 6px; }
.dc-ysth__drawer-layer .dc-ysth__cart-info { min-width: 0; }
.dc-ysth__drawer-layer .dc-ysth__cart-product-title { margin: 0 0 8px; font: 700 14px/1.45 Arial,Helvetica,sans-serif; color: #372c2c; overflow-wrap: anywhere; }
.dc-ysth__drawer-layer .dc-ysth__cart-product-title a { color: inherit; background: transparent !important; text-decoration: none; }
.dc-ysth__drawer-layer .dc-ysth__cart-variation { min-width: 0; font-size: 12px; color: #676767; overflow-wrap: anywhere; }
.dc-ysth__drawer-layer .dc-ysth__cart-variation dl { display: block; margin: 4px 0; }
.dc-ysth__drawer-layer .dc-ysth__cart-variation dd, .dc-ysth__drawer-layer .dc-ysth__cart-variation dt { display: inline; margin: 0 5px 0 0; }
.dc-ysth__drawer-layer .dc-ysth__cart-price { margin: 5px 0 10px; font-size: 14px; font-weight: 700; color: var(--dc-ysth-top-bg); overflow-wrap: anywhere; }
.dc-ysth__drawer-layer .dc-ysth__cart-item-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.dc-ysth__drawer-layer .dc-ysth__qty { display: inline-flex; align-items: center; border: 1px solid #d8cccc; border-radius: 5px; }
.dc-ysth__drawer-layer .dc-ysth__qty button { width: 44px; height: 44px; min-width: 44px; margin: 0; padding: 0; color: #700000 !important; font-size: 22px; line-height: 1; }
.dc-ysth__drawer-layer .dc-ysth__qty button:disabled { opacity: .35; cursor: not-allowed; }
.dc-ysth__drawer-layer .dc-ysth__qty span { display: inline-block; min-width: 24px; text-align: center; font-weight: 700; }
.dc-ysth__drawer-layer button.dc-ysth__remove-item { min-height: 44px; min-width: 44px; margin: 0; padding: 0; font-size: 13px; color: #a50b17 !important; text-decoration: underline; }
.dc-ysth__drawer-layer .dc-ysth__cart-foot { padding: 15px 18px max(18px,env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #eadfdf; box-shadow: 0 -4px 16px #0000000a; }
.dc-ysth__drawer-layer .dc-ysth__cart-total { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px; margin-bottom: 15px; font-size: 15px; overflow-wrap: anywhere; }
.dc-ysth__drawer-layer .dc-ysth__cart-total strong { color: var(--dc-ysth-top-bg); }
.dc-ysth__drawer-layer .dc-ysth__cart-buttons { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; }
.dc-ysth__drawer-layer a.dc-ysth__cart-btn,
.dc-ysth__drawer-layer a.dc-ysth__cart-btn:is(:hover,:focus,:active) {
  display: flex; justify-content: center; align-items: center; text-align: center; min-width: 0;
  min-height: 48px; padding: 11px 12px; border: 1px solid var(--dc-ysth-main-bg); border-radius: 5px;
  font-size: 14px; line-height: 1.25; font-weight: 700; text-decoration: none; overflow-wrap: anywhere;
  box-shadow: none; background: var(--dc-ysth-cart-btn-bg) !important; color: var(--dc-ysth-cart-btn-color) !important;
}
.dc-ysth__drawer-layer a.dc-ysth__cart-btn--secondary,
.dc-ysth__drawer-layer a.dc-ysth__cart-btn--secondary:is(:hover,:focus,:active) { background: #fff !important; color: var(--dc-ysth-main-bg) !important; }
.dc-ysth__drawer-layer .dc-ysth__empty-cart { padding: 24px 0; font-size: 15px; text-align: center; }
.dc-ysth__drawer-layer .dc-ysth__empty-cart a { color: var(--dc-ysth-main-bg); text-decoration: underline; }
.dc-ysth__drawer-layer[data-dc-busy="true"] .dc-ysth__cart-content button { pointer-events: none; opacity: .56; }
@media (prefers-reduced-motion: no-preference) {
  .dc-ysth__drawer-layer[data-dc-motion="yes"] .dc-ysth__drawer-panel--menu { animation: dc-ysth-slide-left .25s cubic-bezier(.18,.82,.28,1) both; }
  .dc-ysth__drawer-layer[data-dc-motion="yes"] .dc-ysth__drawer-panel--cart { animation: dc-ysth-slide-right .25s cubic-bezier(.18,.82,.28,1) both; }
}
@keyframes dc-ysth-slide-left { from { transform: translateX(-100%); } to { transform: translateX(0); } }
@keyframes dc-ysth-slide-right { from { transform: translateX(100%); } to { transform: translateX(0); } }
@media (max-width:1560px) and (min-width:1121px) {
  .dc-ysth .dc-ysth__nav-list { gap: min(var(--dc-ysth-nav-gap), 1.5vw); }
  .dc-ysth .dc-ysth__main-inner { gap: 22px; }
}
@media (max-width:1280px) and (min-width:1121px) {
  .dc-ysth .dc-ysth__logo { width: min(var(--dc-ysth-logo-width),143px); }
  .dc-ysth .dc-ysth__main-inner { gap: 14px; }
}
@media (max-width:1120px) {
  .dc-ysth { --dc-ysth-main-min-height: 76px; --dc-ysth-flip-min-height: 38px; --dc-ysth-flip-size: 13px; --dc-ysth-flip-icon-size: 17px; }
  .dc-ysth .dc-ysth__main-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 8px; }
  .dc-ysth .dc-ysth__logo { grid-column:1; grid-row:1; width:min(var(--dc-ysth-logo-width),144px); }
  .dc-ysth .dc-ysth__actions { grid-column:2; grid-row:1; }
  .elementor .dc-ysth button.dc-ysth__toggle, .dc-ysth button.dc-ysth__toggle { display:inline-flex; }
  .dc-ysth .dc-ysth__nav { display:none; }
}
@media (max-width:767px) {
  .dc-ysth { --dc-ysth-main-min-height: 69px; --dc-ysth-flip-min-height: 36px; --dc-ysth-flip-size: 12px; --dc-ysth-flip-icon-size: 16px; }
  .dc-ysth .dc-ysth__inner { width:calc(100% - 30px); }
  .dc-ysth .dc-ysth__top-inner { padding-block:6px; }
  .dc-ysth .dc-ysth__flip { max-width:100%; }
  .dc-ysth .dc-ysth__flip-desktop { display:none; }
  .dc-ysth .dc-ysth__flip-mobile { display:inline; }
  .dc-ysth .dc-ysth__logo { width:min(var(--dc-ysth-logo-width),124px); }
  .dc-ysth .dc-ysth__actions { gap:0; }
}
@media (max-width:359px) {
  .dc-ysth .dc-ysth__inner { width:calc(100% - 24px); }
  .dc-ysth .dc-ysth__logo { width:min(var(--dc-ysth-logo-width),108px); }
  .dc-ysth__drawer-layer .dc-ysth__cart-item { grid-template-columns:70px minmax(0,1fr); gap:10px; }
  .dc-ysth__drawer-layer .dc-ysth__cart-image img { width:70px; }
  .dc-ysth__drawer-layer .dc-ysth__drawer-body { padding-inline:13px; }
  .dc-ysth__drawer-layer .dc-ysth__cart-buttons { gap:7px; }
  .dc-ysth__drawer-layer a.dc-ysth__cart-btn { padding-inline:7px; }
}
@media (prefers-reduced-motion:reduce) {
  .dc-ysth *, .dc-ysth *::before, .dc-ysth *::after,
  .dc-ysth__drawer-layer *, .dc-ysth__drawer-layer *::before, .dc-ysth__drawer-layer *::after {
    animation-duration:.01ms !important; animation-delay:0ms !important; transition-duration:.01ms !important;
  }
}

/* Elementor/global button skins cannot tint the drawer icon controls. */
.dc-ysth__drawer-layer .dc-ysth__drawer-close .dc-ysth__custom-icon { width:22px; height:22px; color:inherit; }
.dc-ysth__drawer-layer .dc-ysth__nav-list a,
.dc-ysth__drawer-layer .dc-ysth__nav-text { min-width:0; overflow-wrap:anywhere; }


/* v1.3.0: single flip item visible at a time. Prevent the outgoing icon ghosting. */
.dc-ysth .dc-ysth__flip-item { transition: none; pointer-events: none; }
.dc-ysth .dc-ysth__flip-item.is-active { pointer-events: auto; }
@media (prefers-reduced-motion:no-preference) {
  .dc-ysth .dc-ysth__flip-item.is-active { animation: dc-ysth-flip-enter .34s cubic-bezier(.18,.75,.32,1) both; }
}
@keyframes dc-ysth-flip-enter {
  from { opacity:0; transform:translateY(6px) rotateX(-23deg); }
  to { opacity:1; transform:none; }
}
.dc-ysth .dc-ysth__top-inner { padding-block: var(--dc-ysth-top-padding-y,5px); padding-inline: var(--dc-ysth-top-padding-x,12px); }
.dc-ysth .dc-ysth__flip-stack { max-width:var(--dc-ysth-flip-max-width,1354px); }
.dc-ysth .dc-ysth__flip-pair:is(a):hover { color:var(--dc-ysth-flip-hover,var(--dc-ysth-flip-text-color)); }
.dc-ysth .dc-ysth__main-inner { padding-block:var(--dc-ysth-header-padding-y,4px); padding-inline:var(--dc-ysth-header-padding-x,24px); }
.dc-ysth .dc-ysth__logo { padding:var(--dc-ysth-logo-padding,0px); background:var(--dc-ysth-logo-bg,transparent) !important; }
.dc-ysth .dc-ysth__logo-img { max-height:var(--dc-ysth-logo-height,85px); width:100%; height:auto; object-fit:contain; }
.dc-ysth .dc-ysth__menu-item-icon { width:var(--dc-ysth-nav-icon-size,16px); height:var(--dc-ysth-nav-icon-size,16px); color:var(--dc-ysth-nav-icon,var(--dc-ysth-menu-color)); }
.dc-ysth .dc-ysth__nav-list a:is(:hover,:focus-visible) { color:var(--dc-ysth-nav-hover,#fff); }
.dc-ysth button.dc-ysth__cart-link, .dc-ysth button.dc-ysth__toggle,
.elementor .dc-ysth button.dc-ysth__cart-link, .elementor .dc-ysth button.dc-ysth__toggle { 
  width:var(--dc-ysth-action-hit,48px); height:var(--dc-ysth-action-hit,48px);
  background-color:var(--dc-ysth-action-bg,transparent) !important;
}
.dc-ysth button.dc-ysth__cart-link:is(:hover,:focus-visible), .dc-ysth button.dc-ysth__toggle:is(:hover,:focus-visible),
.elementor .dc-ysth button.dc-ysth__cart-link:is(:hover,:focus-visible), .elementor .dc-ysth button.dc-ysth__toggle:is(:hover,:focus-visible) {
  background-color:var(--dc-ysth-action-hover-bg,transparent) !important;
}
.dc-ysth .dc-ysth__cart-link :is(.dc-ysth__custom-icon,.dc-ysth__icon--cart),
.dc-ysth .dc-ysth__toggle :is(.dc-ysth__custom-icon,.dc-ysth__icon--menu) {
  width:var(--dc-ysth-action-size,29px); height:var(--dc-ysth-action-size,29px);
  color:var(--dc-ysth-action-icon-color,#fff);
}
.dc-ysth button.dc-ysth__cart-link:is(:hover,:focus-visible) :is(.dc-ysth__custom-icon,.dc-ysth__icon),
.dc-ysth button.dc-ysth__toggle:is(:hover,:focus-visible) :is(.dc-ysth__custom-icon,.dc-ysth__icon) { color:var(--dc-ysth-action-hover-color,#fff); }
.dc-ysth .dc-ysth__cart-badge { min-width:var(--dc-ysth-badge-size,19px); min-height:var(--dc-ysth-badge-size,19px); color:var(--dc-ysth-badge-color,#fff); }
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu { background:var(--dc-ysth-drawer-bg,var(--dc-ysth-main-bg)); }
.dc-ysth__drawer-layer .dc-ysth__drawer-head { background:var(--dc-ysth-drawer-head-bg,var(--dc-ysth-main-bg)); color:var(--dc-ysth-drawer-head-color,var(--dc-ysth-menu-color)); padding-inline:var(--dc-ysth-drawer-padding-x,18px); }
.dc-ysth__drawer-layer .dc-ysth__drawer-foot { padding-inline:var(--dc-ysth-drawer-padding-x,18px); }
.dc-ysth__drawer-layer .dc-ysth__drawer-body { padding-inline:var(--dc-ysth-drawer-padding-x,18px); }
.dc-ysth__drawer-layer .dc-ysth__nav-list { gap:var(--dc-ysth-drawer-menu-gap,0px); }
.dc-ysth__drawer-layer .dc-ysth__nav-list a:is(:hover,:focus-visible) { color:var(--dc-ysth-drawer-hover,#fff); }
.dc-ysth__drawer-layer .dc-ysth__contact-item, .dc-ysth__drawer-layer .dc-ysth__drawer-hours { color:var(--dc-ysth-drawer-contact-color,#fff); }
.dc-ysth__drawer-layer .dc-ysth__contact-item :is(svg,i),
.dc-ysth__drawer-layer .dc-ysth__drawer-hours :is(svg,i) { color:var(--dc-ysth-drawer-icon,#fff); }
.dc-ysth__drawer-layer button.dc-ysth__drawer-close { color:var(--dc-ysth-close-color,var(--dc-ysth-menu-color)) !important; }
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--cart, .dc-ysth__drawer-layer .dc-ysth__cart-foot { background:var(--dc-ysth-cart-bg,#fff); color:var(--dc-ysth-cart-text,#242424); }
.dc-ysth__drawer-layer .dc-ysth__cart-product-title { color:var(--dc-ysth-cart-text,#242424); }
.dc-ysth__drawer-layer .dc-ysth__cart-price, .dc-ysth__drawer-layer .dc-ysth__cart-total strong { color:var(--dc-ysth-cart-price,var(--dc-ysth-top-bg)); }
.dc-ysth__drawer-layer .dc-ysth__cart-item { grid-template-columns:minmax(0,var(--dc-ysth-cart-image-size,88px)) minmax(0,1fr); }
.dc-ysth__drawer-layer .dc-ysth__cart-image img { width:100%; max-height:var(--dc-ysth-cart-image-size,88px); }
.dc-ysth__drawer-layer a.dc-ysth__cart-btn,
.dc-ysth__drawer-layer a.dc-ysth__cart-btn:is(:hover,:focus,:active) { border-color:var(--dc-ysth-cart-btn-border,var(--dc-ysth-main-bg)); border-radius:var(--dc-ysth-cart-radius,5px); }
.dc-ysth__drawer-layer a.dc-ysth__cart-btn--secondary,
.dc-ysth__drawer-layer a.dc-ysth__cart-btn--secondary:is(:hover,:focus,:active) { background:var(--dc-ysth-cart-btn-secondary-bg,#fff) !important; color:var(--dc-ysth-cart-btn-secondary-color,var(--dc-ysth-main-bg)) !important; }
/* Never force desktop geometry onto small viewports. Only constrain values where essential for fit. */
@media (max-width:1120px) {
  .dc-ysth .dc-ysth__main-inner { padding-inline:min(var(--dc-ysth-header-padding-x,24px),16px); }
}
@media (max-width:767px) {
  .dc-ysth .dc-ysth__top-inner { padding-inline:min(var(--dc-ysth-top-padding-x,12px),10px); }
  .dc-ysth .dc-ysth__main-inner { padding-inline:min(var(--dc-ysth-header-padding-x,24px),8px); }
  .dc-ysth .dc-ysth__flip-pair { min-width:0; }
  .dc-ysth .dc-ysth__flip-copy { overflow-wrap:anywhere; }
}
@media (max-width:359px) {
  .dc-ysth__drawer-layer .dc-ysth__cart-item { grid-template-columns:minmax(0,min(var(--dc-ysth-cart-image-size,88px),70px)) minmax(0,1fr); }
}

.dc-ysth .dc-ysth__flip-item { justify-content:var(--dc-ysth-flip-align,center); text-align:var(--dc-ysth-flip-text-align,center); }
.dc-ysth .dc-ysth__flip-pair { justify-content:var(--dc-ysth-flip-align,center); }
.dc-ysth .dc-ysth__main-inner { gap:var(--dc-ysth-main-gap,30px); }
.dc-ysth__drawer-layer .dc-ysth__drawer-backdrop { background:var(--dc-ysth-overlay-color,rgba(22,0,0,.63)); }
.dc-ysth__drawer-layer .dc-ysth__contact-item :is(.dc-ysth__icon,.dc-ysth__custom-icon),
.dc-ysth__drawer-layer .dc-ysth__drawer-hours :is(.dc-ysth__icon,.dc-ysth__custom-icon) { width:var(--dc-ysth-contact-icon-size,19px); height:var(--dc-ysth-contact-icon-size,19px); }
.dc-ysth__drawer-layer button.dc-ysth__drawer-close :is(.dc-ysth__icon,.dc-ysth__custom-icon) { width:var(--dc-ysth-close-icon-size,24px); height:var(--dc-ysth-close-icon-size,24px); }
@media (max-width:1560px) and (min-width:1121px) { .dc-ysth .dc-ysth__main-inner { gap:min(var(--dc-ysth-main-gap,30px),22px); } }
@media (max-width:1280px) and (min-width:1121px) { .dc-ysth .dc-ysth__main-inner { gap:min(var(--dc-ysth-main-gap,30px),14px); } }
@media (max-width:1120px) { .dc-ysth .dc-ysth__main-inner { gap:0 min(var(--dc-ysth-main-gap,30px),8px); } }

/* Keep responsive logo/icon controls effective without sacrificing narrow-screen layout. */
.dc-ysth .dc-ysth__flip-icon { font-size:var(--dc-ysth-flip-icon-size,19px); line-height:1; }
.dc-ysth .dc-ysth__flip-icon i { font-size:inherit; line-height:1; }
.dc-ysth .dc-ysth__cart-link :is(.dc-ysth__custom-icon,.dc-ysth__icon--cart),
.dc-ysth .dc-ysth__toggle :is(.dc-ysth__custom-icon,.dc-ysth__icon--menu) { font-size:var(--dc-ysth-action-size,29px); }
@media (max-width:1280px) and (min-width:1121px) { .dc-ysth .dc-ysth__logo { width:min(var(--dc-ysth-logo-width),30vw); } }
@media (max-width:1120px) { .dc-ysth .dc-ysth__logo { width:min(var(--dc-ysth-logo-width),35vw); } }
@media (max-width:767px) { .dc-ysth .dc-ysth__logo { width:min(var(--dc-ysth-logo-width),47vw); } }
@media (max-width:359px) { .dc-ysth .dc-ysth__logo { width:min(var(--dc-ysth-logo-width),47vw); } }

.dc-ysth__drawer-layer .dc-ysth__menu-item-icon { color:var(--dc-ysth-drawer-icon,#fff); }

/* v1.4.0 — DESKTOP VISUAL REFERENCE (1852 × 140 image)
   No duplicate legacy topbar: this is one bar with three independent regions. */
.dc-ysth {
 --dc-ysth-reference-contact-color:#fff;
 --dc-ysth-reference-contact-icon-color:#fff;
 --dc-ysth-reference-hours-color:#fff;
 --dc-ysth-reference-hours-icon-color:#fff;
 --dc-ysth-reference-separator-color:#fff;
 --dc-ysth-reference-contact-size:14px;
 --dc-ysth-reference-hours-size:14px;
 --dc-ysth-reference-contact-icon-size:19px;
 --dc-ysth-reference-hours-icon-size:19px;
 --dc-ysth-reference-contact-gap:9px;
 --dc-ysth-reference-icon-gap:8px;
 --dc-ysth-reference-columns-gap:20px;
 --dc-ysth-reference-center-track:1.55fr;
 --dc-ysth-header-padding-x:0px;
 --dc-ysth-top-padding-x:0px;
}
.dc-ysth .dc-ysth__top--reference .dc-ysth__top-inner {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,var(--dc-ysth-reference-center-track,1.55fr)) minmax(0,1fr);
  column-gap:var(--dc-ysth-reference-columns-gap,20px);
  align-items:center;
  justify-content:normal;
  min-height:48px;
}
.dc-ysth .dc-ysth__top-contact,
.dc-ysth .dc-ysth__top-hours { min-width:0; max-width:100%; display:flex; align-items:center; color:var(--dc-ysth-reference-contact-color); line-height:1.35; font-size:var(--dc-ysth-reference-contact-size,14px); font-weight:600; overflow-wrap:anywhere; }
.dc-ysth .dc-ysth__top-contact { justify-content:flex-start; gap:var(--dc-ysth-reference-contact-gap,9px); }
.dc-ysth .dc-ysth__top-hours { justify-content:flex-end; gap:var(--dc-ysth-reference-icon-gap,8px); color:var(--dc-ysth-reference-hours-color,#fff); font-size:var(--dc-ysth-reference-hours-size,14px); text-align:right; }
.dc-ysth .dc-ysth__top-contact-item,
.dc-ysth .dc-ysth__top-contact-item:is(:hover,:focus,:active) {
 display:inline-flex; align-items:center; justify-content:flex-start;
 gap:var(--dc-ysth-reference-icon-gap,8px);
 min-width:0; max-width:100%; padding:0; margin:0;
 color:inherit; background:transparent !important;
 font:inherit; text-decoration:none; overflow-wrap:anywhere;
}
.dc-ysth .dc-ysth__top-contact-item:is(a):hover { text-decoration:underline; text-underline-offset:3px; }
.dc-ysth .dc-ysth__top-contact-text,
.dc-ysth .dc-ysth__top-hours-text { min-width:0; overflow-wrap:anywhere; }
.dc-ysth .dc-ysth__top-separator { display:block; width:1px; height:21px; flex:0 0 1px; background:var(--dc-ysth-reference-separator-color,#fff); opacity:.95; }
.dc-ysth .dc-ysth__top-contact-icon,
.dc-ysth .dc-ysth__top-hours-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:var(--dc-ysth-reference-contact-icon-size,19px); height:var(--dc-ysth-reference-contact-icon-size,19px); color:var(--dc-ysth-reference-contact-icon-color,#fff); font-size:var(--dc-ysth-reference-contact-icon-size,19px); line-height:1; }
.dc-ysth .dc-ysth__top-hours-icon { width:var(--dc-ysth-reference-hours-icon-size,19px); height:var(--dc-ysth-reference-hours-icon-size,19px); color:var(--dc-ysth-reference-hours-icon-color,#fff); font-size:var(--dc-ysth-reference-hours-icon-size,19px); }
.dc-ysth .dc-ysth__top-contact-icon :is(.dc-ysth__icon,.dc-ysth__custom-icon,svg,i),
.dc-ysth .dc-ysth__top-hours-icon :is(.dc-ysth__icon,.dc-ysth__custom-icon,svg,i) { display:block; width:100%; height:100%; max-width:100%; font-size:inherit; color:inherit; }
.dc-ysth .dc-ysth__top-contact-icon svg:not([fill="none"]),
.dc-ysth .dc-ysth__top-hours-icon svg:not([fill="none"]) { fill:currentColor; }
.dc-ysth .dc-ysth__top-contact-icon svg [fill]:not([fill="none"]),
.dc-ysth .dc-ysth__top-hours-icon svg [fill]:not([fill="none"]) { fill:currentColor; }
.dc-ysth .dc-ysth__top--reference .dc-ysth__flip { width:100%; min-width:0; max-width:100%; }
.dc-ysth .dc-ysth__top--reference .dc-ysth__flip-stack { width:100%; }
.dc-ysth .dc-ysth__top--reference .dc-ysth__flip-pair { min-width:0; max-width:100%; }
/* Reference header has no 24px extra inset, matching logo alignment with top left. */
.dc-ysth .dc-ysth__main-inner { padding-inline:var(--dc-ysth-header-padding-x,0px); }
@media (max-width:1560px) and (min-width:1201px) {
 .dc-ysth .dc-ysth__top--reference .dc-ysth__top-inner { column-gap:min(var(--dc-ysth-reference-columns-gap,20px),12px); }
 .dc-ysth .dc-ysth__top-contact { gap:min(var(--dc-ysth-reference-contact-gap,9px),7px); }
 .dc-ysth .dc-ysth__top--reference .dc-ysth__top-contact,
 .dc-ysth .dc-ysth__top--reference .dc-ysth__top-hours { font-size:var(--dc-ysth-reference-contact-size,14px); }
 .dc-ysth .dc-ysth__top--reference .dc-ysth__top-hours { font-size:var(--dc-ysth-reference-hours-size,14px); }
 .dc-ysth .dc-ysth__top--reference .dc-ysth__flip { font-size:var(--dc-ysth-flip-size,16px); }
}
/* Tablet/mobile: one concise message band, but contact + opening hours
   remain accessible in the existing drawer footer. */
@media (max-width:1200px) {
 .dc-ysth .dc-ysth__top--reference .dc-ysth__top-inner { display:flex; justify-content:center; column-gap:0; }
 .dc-ysth .dc-ysth__top--reference .dc-ysth__top-contact,
 .dc-ysth .dc-ysth__top--reference .dc-ysth__top-hours { display:none; }
 .dc-ysth .dc-ysth__top--reference .dc-ysth__flip { flex:1 1 auto; max-width:100%; }
}
@media(max-width:767px) {
 .dc-ysth .dc-ysth__top--reference .dc-ysth__top-inner { min-height:var(--dc-ysth-flip-min-height,36px); }
 .dc-ysth .dc-ysth__main-inner { padding-inline:min(var(--dc-ysth-header-padding-x,0px),8px); }
}

@media (max-width:1200px) { .dc-ysth .dc-ysth__top--reference.dc-ysth__top--no-flip { display:none; } }

/* v1.4.1 — ONE COLOUR OWNER FOR EACH ICON, including Elementor SVG and
   Font Awesome <i>. Theme/Global Styles are not allowed to turn the icon black.
   Only actual icon shapes are normalized; text/button backgrounds stay separate. */
.dc-ysth .dc-ysth__top-contact-icon.dc-ysth__paint-icon {
  --dc-ysth-icon-ink:var(--dc-ysth-reference-contact-icon-color,#fff);
}
.dc-ysth .dc-ysth__top-hours-icon.dc-ysth__paint-icon {
  --dc-ysth-icon-ink:var(--dc-ysth-reference-hours-icon-color,#fff);
}
.dc-ysth .dc-ysth__flip-icon.dc-ysth__paint-icon {
  --dc-ysth-icon-ink:var(--dc-ysth-flip-icon-color,#fff);
}
.dc-ysth .dc-ysth__menu-item-icon.dc-ysth__paint-icon {
  --dc-ysth-icon-ink:var(--dc-ysth-nav-icon,var(--dc-ysth-menu-color,#fce9a8));
}
.dc-ysth .dc-ysth__action-icon--cart {
  --dc-ysth-icon-ink:var(--dc-ysth-cart-icon-color,var(--dc-ysth-action-icon-color,#fff));
}
.dc-ysth .dc-ysth__action-icon--menu {
  --dc-ysth-icon-ink:var(--dc-ysth-menu-icon-color,var(--dc-ysth-action-icon-color,#fff));
}
.dc-ysth .dc-ysth__action-icon {
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 auto;width:var(--dc-ysth-action-size,29px);
  height:var(--dc-ysth-action-size,29px);font-size:var(--dc-ysth-action-size,29px);
  line-height:1;
}
.dc-ysth__drawer-layer .dc-ysth__drawer-contact-icon {
  --dc-ysth-icon-ink:var(--dc-ysth-drawer-contact-icon-color,var(--dc-ysth-drawer-icon,#fff));
}
.dc-ysth__drawer-layer .dc-ysth__drawer-hours-icon {
  --dc-ysth-icon-ink:var(--dc-ysth-drawer-hours-icon-color,var(--dc-ysth-drawer-icon,#fff));
}
.dc-ysth__drawer-layer .dc-ysth__close-icon {
  --dc-ysth-icon-ink:var(--dc-ysth-close-color,var(--dc-ysth-menu-color,#fce9a8));
}
.dc-ysth__drawer-layer .dc-ysth__drawer-contact-icon,
.dc-ysth__drawer-layer .dc-ysth__drawer-hours-icon,
.dc-ysth__drawer-layer .dc-ysth__close-icon {
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:var(--dc-ysth-contact-icon-size,19px);
  height:var(--dc-ysth-contact-icon-size,19px);
  font-size:var(--dc-ysth-contact-icon-size,19px);line-height:1;
}
.dc-ysth__drawer-layer .dc-ysth__close-icon {
  width:var(--dc-ysth-close-icon-size,24px);height:var(--dc-ysth-close-icon-size,24px);
  font-size:var(--dc-ysth-close-icon-size,24px);
}
/* The colour owner wins over Elementor's :is(svg,i) defaults, including
   global icon CSS with !important. Each element retains the chosen ink. */
.dc-ysth .dc-ysth__paint-icon,
.dc-ysth__drawer-layer .dc-ysth__paint-icon {
  color:var(--dc-ysth-icon-ink,#fff) !important;
}
.dc-ysth .dc-ysth__paint-icon :is(svg,svg *,i),
.dc-ysth__drawer-layer .dc-ysth__paint-icon :is(svg,svg *,i) {
  color:inherit !important;
}
.dc-ysth .dc-ysth__paint-icon > :is(svg,i),
.dc-ysth__drawer-layer .dc-ysth__paint-icon > :is(svg,i) {
  display:block;flex:0 0 auto;
  width:100%;height:100%;max-width:100%;
  font-size:inherit;line-height:1;
}
/* Fill icons (FA SVG / custom SVG): normalize hard-coded black fill.
   Outline icons carrying fill=none retain their transparent interiors. */
.dc-ysth .dc-ysth__paint-icon svg:not([fill="none"]),
.dc-ysth__drawer-layer .dc-ysth__paint-icon svg:not([fill="none"]),
.dc-ysth .dc-ysth__paint-icon svg:not([fill="none"]) :is(path,rect,circle,ellipse,polygon,polyline,use):not([fill="none"]),
.dc-ysth__drawer-layer .dc-ysth__paint-icon svg:not([fill="none"]) :is(path,rect,circle,ellipse,polygon,polyline,use):not([fill="none"]),
.dc-ysth .dc-ysth__paint-icon svg[fill="none"] :is(path,rect,circle,ellipse,polygon,polyline,use)[fill]:not([fill="none"]),
.dc-ysth__drawer-layer .dc-ysth__paint-icon svg[fill="none"] :is(path,rect,circle,ellipse,polygon,polyline,use)[fill]:not([fill="none"]) {
  fill:currentColor !important;
}
.dc-ysth .dc-ysth__paint-icon svg[fill="none"],
.dc-ysth__drawer-layer .dc-ysth__paint-icon svg[fill="none"],
.dc-ysth .dc-ysth__paint-icon svg [fill="none"],
.dc-ysth__drawer-layer .dc-ysth__paint-icon svg [fill="none"] {
  fill:none !important;
}
.dc-ysth .dc-ysth__paint-icon svg :is([stroke]:not([stroke="none"])),
.dc-ysth__drawer-layer .dc-ysth__paint-icon svg :is([stroke]:not([stroke="none"])),
.dc-ysth .dc-ysth__paint-icon svg[stroke]:not([stroke="none"]),
.dc-ysth__drawer-layer .dc-ysth__paint-icon svg[stroke]:not([stroke="none"]) {
  stroke:currentColor !important;
}
/* Touch/hover: each action may have a separate selected colour. */
.dc-ysth button.dc-ysth__cart-link:is(:hover,:focus-visible) .dc-ysth__action-icon--cart,
.dc-ysth button.dc-ysth__toggle:is(:hover,:focus-visible) .dc-ysth__action-icon--menu {
  --dc-ysth-icon-ink:var(--dc-ysth-action-hover-color,#fff);
}
/* Submenu arrows are also iconography; do not allow global svg skins to tint them. */
.dc-ysth__drawer-layer button.dc-ysth__submenu-toggle svg,
.dc-ysth__drawer-layer button.dc-ysth__submenu-toggle svg path {
  color:var(--dc-ysth-drawer-icon,#fff) !important;
  stroke:currentColor !important;
  fill:none !important;
}
/* Fallback stroke SVGs inherit their stroke from <svg>. Force the descendant
   shapes as well, because an Elementor icon skin may set path stroke/fill. */
.dc-ysth .dc-ysth__paint-icon svg[stroke]:not([stroke="none"]) :is(path,rect,circle,ellipse,polygon,polyline,line,use):not([stroke="none"]),
.dc-ysth__drawer-layer .dc-ysth__paint-icon svg[stroke]:not([stroke="none"]) :is(path,rect,circle,ellipse,polygon,polyline,line,use):not([stroke="none"]) {
  stroke:currentColor !important;
}
.dc-ysth .dc-ysth__paint-icon svg[fill="none"] :is(path,rect,circle,ellipse,polygon,polyline,line,use):not([fill]),
.dc-ysth__drawer-layer .dc-ysth__paint-icon svg[fill="none"] :is(path,rect,circle,ellipse,polygon,polyline,line,use):not([fill]) {
  fill:none !important;
}
/* Font Awesome actually paints glyphs in ::before (pseudo-elements cannot be
   selected inside :is()). Respect the selected color even with global skins. */
.dc-ysth .dc-ysth__paint-icon i::before,
.dc-ysth__drawer-layer .dc-ysth__paint-icon i::before {
  color:inherit !important;
}

/* First-paint full bleed: width and offset are CSS-owned before JavaScript executes.
   JS only makes a subpixel/scrollbar/Elementor offset adjustment afterwards.
   No transform on this root (fixed sticky row must stay viewport-fixed). */
.dc-ysth[data-dc-fullbleed="yes"] {
  position:relative;
  width:var(--dc-ysth-viewport-width,100vw);
  max-width:none;
  margin-inline-start:calc(50% - 50vw + var(--dc-ysth-bleed-shift,0px));
}
/* Submenu controls take reserved space from first paint (no late nav reflow). */
@media (min-width:1121px) {
  .dc-ysth .dc-ysth__main .dc-ysth__nav-list li.menu-item-has-children > :is(a,.dc-ysth__nav-text) { padding-inline-end:26px; }
  .dc-ysth .dc-ysth__main .dc-ysth__nav-list li.menu-item-has-children > button.dc-ysth__submenu-toggle {
    position:absolute; inset-inline-end:0; top:50%; transform:translateY(-50%);
    width:24px; height:44px; margin:0; z-index:1;
  }
}
/* v1.5.0 — edge-to-edge header, independently sticky lower row,
   product-category dropdown and real, keyboard-operable drawer tabs. */
.dc-ysth { --dc-ysth-dropdown-bg:#FFF9F0; --dc-ysth-dropdown-text:#541018;
  --dc-ysth-dropdown-active-bg:#FCE9A8; --dc-ysth-dropdown-active-text:#870004;
  --dc-ysth-dropdown-width:248px; --dc-ysth-dropdown-radius:14px;
  --dc-ysth-tab-bg:#F8ECE5; --dc-ysth-tab-active-bg:#870004;
  --dc-ysth-tab-text:#870004; --dc-ysth-tab-active-text:#FFFFFF;
  --dc-ysth-drawer-list-bg:#FFF9F0; --dc-ysth-drawer-list-text:#541018;
}
/* Keep the two bars flush without a gap from border/margins; JS expands the
   root to the viewport when the Elementor parent is padded or boxed. */
.dc-ysth .dc-ysth__top, .dc-ysth .dc-ysth__main { margin:0; padding-top:0; padding-bottom:0; border-width:0; width:100%; }
.dc-ysth .dc-ysth__top { border-bottom:1px solid var(--dc-ysth-border,#FEEA9D); }
.dc-ysth .dc-ysth__main { border-top:0; }
.dc-ysth .dc-ysth__sticky-spacer { display:block; height:0; width:100%; min-width:0; pointer-events:none; }
.dc-ysth.is-dc-sticky-root { z-index:9980; }
.dc-ysth .dc-ysth__main.is-dc-sticky {
  position:fixed; top:0; inset-inline:0; z-index:9981;
  margin:0; width:100%; max-width:100%;
  box-shadow:0 8px 22px rgba(38,0,0,.17);
}
/* Submenu: light cream like the supplied dropdown geometry, but tied to YST palette. */
.dc-ysth .dc-ysth__main .dc-ysth__nav-list ul.sub-menu {
  background:var(--dc-ysth-dropdown-bg,#FFF9F0);
  color:var(--dc-ysth-dropdown-text,#541018);
  width:var(--dc-ysth-dropdown-width,248px);
  min-width:min(190px,calc(100vw - 20px));
  max-width:min(var(--dc-ysth-dropdown-width,248px),calc(100vw - 20px));
  padding:10px; border:1px solid rgba(135,0,4,.12);
  border-radius:var(--dc-ysth-dropdown-radius,14px);
  box-shadow:0 12px 32px rgba(40,5,6,.15);
}
.dc-ysth .dc-ysth__main .dc-ysth__nav-list ul.sub-menu > li { min-width:0; margin:0; }
.dc-ysth .dc-ysth__main .dc-ysth__nav-list ul.sub-menu > li > :is(a,.dc-ysth__nav-text) {
  display:flex; align-items:center; min-width:0; flex:1 1 auto;
  padding:12px 13px; border-radius:10px;
  font-weight:500; font-size:14px; line-height:1.4;
  color:var(--dc-ysth-dropdown-text,#541018);
  background:transparent !important; text-decoration:none;
  text-transform:none; white-space:normal; overflow-wrap:anywhere;
}
 .dc-ysth .dc-ysth__main .dc-ysth__nav-list ul.sub-menu > li > a:is(:hover,:focus-visible),
 .dc-ysth .dc-ysth__main .dc-ysth__nav-list ul.sub-menu > li.current-menu-item > a {
  background:var(--dc-ysth-dropdown-active-bg,#FCE9A8) !important;
  color:var(--dc-ysth-dropdown-active-text,#870004);
}
.dc-ysth .dc-ysth__main .dc-ysth__nav-list ul.sub-menu .dc-ysth__submenu-toggle { color:var(--dc-ysth-dropdown-text,#541018) !important; }
/* Transparent desktop button skins cannot leak onto the dropdown/list item. */
.dc-ysth .dc-ysth__main .dc-ysth__nav-list > li > .dc-ysth__submenu-toggle { background:transparent !important; }

/* MOBILE DRAWER — one menu-row surface, one focus/hover state, no nested hover overlays.
   The portal outside Elementor is intentional; CSS variables are copied by JS.
   All controls already exposed in Elementor retain their original IDs. */
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu {
  display:flex; flex-direction:column; min-width:0; min-height:0;
  background:var(--dc-ysth-drawer-list-bg,#fff9f0);
  color:var(--dc-ysth-drawer-list-text,#541018);
}
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu > .dc-ysth__drawer-head {
  flex:0 0 auto; min-height:68px;
  padding-inline:var(--dc-ysth-drawer-padding-x,18px);
  background:var(--dc-ysth-drawer-head-bg,var(--dc-ysth-main-bg,#870004));
  border-bottom:2px solid var(--dc-ysth-border,#fce9a8);
}
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu > .dc-ysth__drawer-foot {
  flex:0 1 auto; min-height:0; max-height:min(35dvh,190px);
  overflow:auto; overscroll-behavior:contain;
  background:var(--dc-ysth-drawer-bg,#870004);
  border-top:1px solid rgba(252,233,168,.35);
}
.dc-ysth__drawer-layer .dc-ysth__menu-tabs {
  flex:0 0 auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px; padding:14px var(--dc-ysth-drawer-padding-x,18px) 11px;
  min-width:0; background:var(--dc-ysth-drawer-list-bg,#fff9f0);
}
.dc-ysth__drawer-layer .dc-ysth__menu-tabs button.dc-ysth__menu-tab,
.dc-ysth__drawer-layer .dc-ysth__menu-tabs button.dc-ysth__menu-tab:is(:hover,:focus,:active) {
  -webkit-appearance:none; appearance:none; display:flex;
  align-items:center; justify-content:center; min-width:0; min-height:46px;
  padding:9px 10px; margin:0; border:1px solid rgba(135,0,4,.13) !important;
  border-radius:11px; box-shadow:none !important; background-image:none !important;
  font-family:inherit; font-size:14px; font-weight:700; line-height:1.4;
  text-transform:none; text-align:center; cursor:pointer;
  background:var(--dc-ysth-tab-bg,#f8ece5) !important;
  color:var(--dc-ysth-tab-text,#870004) !important;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease;
}
.dc-ysth__drawer-layer .dc-ysth__menu-tabs button.dc-ysth__menu-tab[aria-selected="true"],
.dc-ysth__drawer-layer .dc-ysth__menu-tabs button.dc-ysth__menu-tab[aria-selected="true"]:is(:hover,:focus,:active) {
  background:var(--dc-ysth-tab-active-bg,#870004) !important;
  color:var(--dc-ysth-tab-active-text,#fff) !important;
  border-color:var(--dc-ysth-main-bg,#870004) !important;
  box-shadow:none !important;
}
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu > .dc-ysth__drawer-panels {
  display:flex; flex:1 1 auto; flex-direction:column;
  min-width:0; min-height:0; max-width:100%; overflow:hidden;
  background:var(--dc-ysth-drawer-list-bg,#fff9f0);
}
.dc-ysth__drawer-layer .dc-ysth__drawer-panels > .dc-ysth__drawer-body {
  flex:1 1 auto; min-width:0; min-height:0; max-width:100%;
  overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain;
  padding:4px var(--dc-ysth-drawer-padding-x,18px) 18px;
}
.dc-ysth__drawer-layer .dc-ysth__drawer-panels > .dc-ysth__drawer-body[hidden] { display:none !important; }
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu .dc-ysth__nav-list,
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu .dc-ysth__nav-list ul {
  list-style:none; padding:0; margin:0; min-width:0; width:100%;
}
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu .dc-ysth__nav-list li {
  position:relative; display:flex; align-items:stretch; flex-wrap:wrap;
  width:100%; min-width:0; margin:0;
  border:0; border-bottom:1px solid rgba(135,0,4,.09);
  background:transparent;
}
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu .dc-ysth__nav-list li > :is(a,.dc-ysth__nav-text),
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu .dc-ysth__nav-list ul.sub-menu li > :is(a,.dc-ysth__nav-text) {
  position:relative; flex:1 1 auto; display:flex; align-items:center; gap:10px;
  min-width:0; min-height:51px; max-width:100%; margin:0; padding:13px 12px;
  border:0; border-radius:9px;
  background:transparent !important;
  color:var(--dc-ysth-drawer-list-text,#541018) !important;
  font:inherit; font-size:14px; font-weight:600; line-height:1.45;
  text-decoration:none; text-shadow:none; box-shadow:none !important;
  text-transform:none; overflow-wrap:anywhere; white-space:normal;
  transition:background-color .16s ease, color .16s ease;
}
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu .dc-ysth__nav-list li.menu-item-has-children > :is(a,.dc-ysth__nav-text) {
  padding-inline-end:54px; width:100%;
}
/* Only the *actual* focused/hovered link is highlighted. Not the li/descendants. */
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu .dc-ysth__nav-list li > a:is(:hover,:focus-visible),
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu .dc-ysth__nav-list li.current-menu-item > a,
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu .dc-ysth__nav-list li.current-menu-ancestor > a {
  background:var(--dc-ysth-dropdown-active-bg,#fce9a8) !important;
  color:var(--dc-ysth-dropdown-active-text,#870004) !important;
}
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu button.dc-ysth__submenu-toggle,
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu button.dc-ysth__submenu-toggle:is(:hover,:focus,:active) {
  position:absolute; inset-inline-end:1px; top:4px; z-index:1;
  width:44px; height:44px; min-width:44px; min-height:44px;
  border:0 !important; border-radius:9px;
  margin:0; padding:0; background:transparent !important;
  box-shadow:none !important; color:var(--dc-ysth-drawer-list-text,#541018) !important;
}
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu button.dc-ysth__submenu-toggle:is(:hover,:focus-visible),
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu li.is-submenu-open > button.dc-ysth__submenu-toggle {
  background:var(--dc-ysth-dropdown-active-bg,#fce9a8) !important;
  color:var(--dc-ysth-dropdown-active-text,#870004) !important;
}
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu button.dc-ysth__submenu-toggle svg,
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu button.dc-ysth__submenu-toggle svg path {
  color:inherit !important; stroke:currentColor !important;
  stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round;
}
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu button.dc-ysth__submenu-toggle svg {
  width:18px; height:18px;
}
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu .dc-ysth__nav-list ul.sub-menu {
  flex:1 0 100%; display:none; position:static;
  width:100%; max-width:100%; min-width:0; padding:0 0 2px 13px;
  background:transparent; border:0; border-inline-start:2px solid rgba(135,0,4,.18);
  border-radius:0; box-shadow:none; opacity:1; visibility:visible; pointer-events:auto;
  transform:none;
}
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu .dc-ysth__nav-list li.is-submenu-open > ul.sub-menu { display:block; }
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu .dc-ysth__nav-list ul.sub-menu li > :is(a,.dc-ysth__nav-text) {
  font-size:13.5px; font-weight:500; padding-block:12px; min-height:46px;
}
.dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu .dc-ysth__menu-item-icon { color:var(--dc-ysth-dropdown-active-text,#870004); }
.dc-ysth__drawer-layer .dc-ysth__category-empty {
  padding:18px 12px; color:var(--dc-ysth-drawer-list-text,#541018);
  line-height:1.5; overflow-wrap:anywhere;
}
@media (max-width:430px) {
  .dc-ysth__drawer-layer .dc-ysth__menu-tabs { padding-inline:12px; }
  .dc-ysth__drawer-layer .dc-ysth__drawer-panels > .dc-ysth__drawer-body { padding-inline:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .dc-ysth__drawer-layer .dc-ysth__drawer-panel--menu :is(a,button) { transition:none; }
}
@media (max-width:1120px) {
  .dc-ysth .dc-ysth__main-inner { grid-template-columns:minmax(0,1fr) auto; }
  .dc-ysth .dc-ysth__actions, .dc-ysth .dc-ysth__logo { min-width:0; }
}
@media (max-width:430px) {
  .dc-ysth .dc-ysth__main-inner { padding-block:4px; }
}
@media (prefers-reduced-motion:reduce) {
  .dc-ysth .dc-ysth__main.is-dc-sticky { transition:none; }
}
/* Hidden dropdowns must not contribute to document scrollWidth on laptops. */
@media (min-width:1121px) {
  .dc-ysth .dc-ysth__main .dc-ysth__nav-list > li > ul.sub-menu { left:auto; right:0; }
  .dc-ysth .dc-ysth__main .dc-ysth__nav-list ul.sub-menu ul.sub-menu { left:auto; right:100%; }
}
