/* YDC navigation: department bar + mega menu, phone shop sheet, tab bar, search form, header strip, bag badge.
   Uses the --ydc-* tokens from global.css / site.css. Everything is scoped to .ydc-* classes. */

/* ---------- Department bar (desktop) ---------- */
.ydc-nav-root{ width:100%; }
.ydc-dnav{ border-top:1px solid var(--ydc-line,#E2E4EE); }
.ydc-dnav ul{ list-style:none; margin:0; padding:0; display:flex; justify-content:center; flex-wrap:wrap; gap:2px; }
.ydc-dnav li{ display:flex; margin:0; }
.ydc-dnav .ydc-navbtn{ border:0 !important; background:transparent !important; color:var(--ydc-ink,#0A0B1A) !important; padding:0 14px !important; margin:0 !important; min-height:46px !important; height:auto !important; font:600 13.5px/1.2 var(--ydc-font-body,system-ui,sans-serif) !important; letter-spacing:.02em !important; text-transform:none !important; cursor:pointer; border-radius:0 !important; box-shadow:none !important; transition:background .15s ease, color .15s ease; }
.ydc-dnav .ydc-navbtn:hover{ background:var(--ydc-mist,#F3F4F8) !important; }
.ydc-dnav .ydc-navbtn[aria-expanded="true"]{ background:var(--ydc-ink,#0A0B1A) !important; color:#fff !important; }
.ydc-dnav .ydc-navbtn.ydc-svc{ color:#2A40D6 !important; }
.ydc-dnav .ydc-navbtn.ydc-svc[aria-expanded="true"]{ background:var(--ydc-blue,#3F5BF6) !important; color:#fff !important; }
.ydc-dnav .ydc-sep{ width:1px; background:var(--ydc-line,#E2E4EE); margin:10px 8px; }
.ydc-navbtn:focus-visible,.ydc-mega a:focus-visible,.ydc-mega button:focus-visible,.ydc-sheet a:focus-visible,.ydc-sheet button:focus-visible,.ydc-tabbar a:focus-visible,.ydc-tabbar button:focus-visible,.ydc-search input:focus-visible,.ydc-search button:focus-visible{ outline:2px solid var(--ydc-blue,#3F5BF6); outline-offset:2px; border-radius:6px; }

/* ---------- Mega menu (M&S structure): rail · intro + link columns with "from" prices · popular / quote / case panel · promise bar ---------- */
.ydc-mega{ position:absolute; left:0; right:0; top:100%; z-index:70; background:#fff; color:var(--ydc-ink,#0A0B1A); border-top:1px solid var(--ydc-line,#E2E4EE); box-shadow:0 30px 60px rgba(10,11,26,.14); max-height:calc(100vh - 150px); overflow-y:auto; overscroll-behavior:contain; text-align:left; }
.ydc-mega[hidden],.ydc-mega-panel[hidden],.ydc-sheet[hidden],.ydc-sheet-sub[hidden],.ydc-sheet-root[hidden],.ydc-sheet [hidden]{ display:none !important; }
.ydc-mega-panel{ position:relative; }
.ydc-mega-inner{ display:grid; grid-template-columns:220px minmax(0,1fr) 330px; }
.ydc-mega-rail{ background:var(--ydc-mist,#F3F4F8); padding:22px 18px; display:grid; align-content:start; gap:6px; }
.ydc-mega-rail a{ display:flex; align-items:center; gap:12px; text-decoration:none; color:inherit; padding:6px; border-radius:12px; font:600 14px/1.3 var(--ydc-font-body,system-ui,sans-serif); }
.ydc-mega-rail a:hover{ background:#fff; }
.ydc-mega-rail .ydc-thumb{ width:46px; height:46px; border-radius:50%; overflow:hidden; flex:none; background:#E9EBF2; display:grid; place-items:center; color:var(--ydc-ink,#0A0B1A); }
.ydc-mega-rail .ydc-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.ydc-mega-rail .ydc-thumb svg{ width:22px; height:22px; }
.ydc-mega-main{ display:grid; align-content:start; min-width:0; }
.ydc-mega-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin:0 32px; padding:24px 0 18px; border-bottom:1px solid var(--ydc-line,#E2E4EE); }
.ydc-mega-head > div{ display:grid; gap:6px; min-width:0; }
.ydc-mega-head .ydc-h-md{ font:700 clamp(21px,1.9vw,28px)/1.12 var(--ydc-font-display,system-ui,sans-serif); font-stretch:108%; margin:0; }
.ydc-mega-head p{ margin:0; color:var(--ydc-mute,#5D6075); font:400 14.5px/1.5 var(--ydc-font-body,system-ui,sans-serif); max-width:64ch; }
.ydc-mega-cols{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding:20px 32px 26px; align-content:start; }
.ydc-mega-col h4{ margin:0 0 8px; font:700 12.5px/1.3 var(--ydc-font-body,system-ui,sans-serif); letter-spacing:.1em; text-transform:uppercase; color:var(--ydc-ink,#0A0B1A); }
.ydc-mega-col ul{ list-style:none; margin:0; padding:0; display:grid; }
.ydc-mega-col li{ margin:0; padding:0; }
.ydc-mega-col a{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; text-decoration:none; font:400 14.5px/1.4 var(--ydc-font-body,system-ui,sans-serif); color:#2B2E45; padding:6px 0; }
.ydc-mega-col a:hover .ydc-ml{ text-decoration:underline; text-underline-offset:3px; }
.ydc-mega-cols.ydc-svc a{ padding:7px 0; }
.ydc-ml{ display:grid; gap:2px; min-width:0; }
.ydc-ml small{ font-size:12.5px; color:var(--ydc-mute,#5D6075); }
.ydc-mfrom{ flex:none; font:500 11.5px/1 var(--ydc-font-mono,ui-monospace,monospace); color:var(--ydc-mute,#5D6075); white-space:nowrap; }
.ydc-mega-col a:hover .ydc-mfrom{ color:#2A40D6; }
.ydc-mega-side{ background:var(--ydc-mist,#F3F4F8); padding:22px 22px 24px; display:grid; align-content:start; min-width:0; }
.ydc-mega-side.ydc-dark{ background:var(--ydc-ink,#0A0B1A); color:#F4F5FB; padding:0; align-content:stretch; }
.ydc-mega-label{ font:600 11.5px/1 var(--ydc-font-body,system-ui,sans-serif); letter-spacing:.14em; text-transform:uppercase; color:var(--ydc-mute,#5D6075); padding:6px 0 4px; }
.ydc-mega-pop{ display:grid; gap:12px; }
.ydc-mini{ display:grid; grid-template-columns:92px minmax(0,1fr); gap:14px; align-items:center; text-decoration:none; color:inherit; background:#fff; border-radius:16px; padding:8px; transition:box-shadow .2s ease; }
.ydc-mini:hover{ box-shadow:0 10px 26px rgba(10,11,26,.1); }
.ydc-mini-img{ display:block; width:92px; aspect-ratio:1; border-radius:12px; overflow:hidden; background:#E9EBF2; }
.ydc-mini-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.ydc-mini-t{ display:grid; gap:3px; font:400 13.5px/1.35 var(--ydc-font-body,system-ui,sans-serif); min-width:0; }
.ydc-mini-t b{ font:700 15px/1.2 var(--ydc-font-display,system-ui,sans-serif); font-stretch:104%; }
.ydc-mini-t .ydc-muted{ font-size:12.5px; color:var(--ydc-mute,#5D6075); }
.ydc-mega-quote,.ydc-mega-case{ position:relative; display:flex; align-items:flex-end; height:100%; min-height:330px; color:#fff; text-decoration:none; overflow:hidden; }
.ydc-mega-quote img,.ydc-mega-case img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ydc-mega-quote::after,.ydc-mega-case::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,11,26,.05) 10%,rgba(10,11,26,.93) 68%); }
.ydc-mega-quote > div,.ydc-mega-case > div{ position:relative; z-index:1; padding:22px; display:grid; gap:10px; }
.ydc-mega-quote strong,.ydc-mega-case strong{ font:760 22px/1.08 var(--ydc-font-display,system-ui,sans-serif); font-stretch:110%; }
.ydc-mega-quote p{ margin:0; font:400 14px/1.5 var(--ydc-font-body,system-ui,sans-serif); color:#A9ADC6; }
.ydc-mega-case .ydc-eyebrow{ color:#C9CCE0; font:600 12px/1.2 var(--ydc-font-body,system-ui,sans-serif); letter-spacing:.14em; text-transform:uppercase; }
.ydc-mega-case .ydc-kpi{ display:flex; gap:22px; }
.ydc-mega-case .ydc-kpi div{ display:grid; gap:2px; }
.ydc-mega-case .ydc-kpi b{ font:800 24px/1 var(--ydc-font-display,system-ui,sans-serif); font-stretch:110%; font-variant-numeric:tabular-nums; }
.ydc-mega-case .ydc-kpi span{ font-size:11.5px; color:#A9ADC6; }
.ydc-mega-case .ydc-u-link,.ydc-mega .ydc-u-link,.ydc-sheet .ydc-u-link{ color:inherit; text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; font-weight:600; justify-self:start; background:none; border:0; padding:0; }
.ydc-mega-foot{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px 34px; padding:13px 32px; border-top:1px solid var(--ydc-line,#E2E4EE); font:600 13px/1.3 var(--ydc-font-body,system-ui,sans-serif); }
.ydc-mega-foot span{ display:inline-flex; align-items:center; gap:8px; }
.ydc-mega-foot svg{ width:18px; height:18px; color:var(--ydc-blue,#3F5BF6); flex:none; }
.ydc-mega-close{ position:absolute; right:14px; top:12px; z-index:2; }
.ydc-iconbtn{ width:44px !important; height:44px !important; min-height:0 !important; border-radius:50% !important; border:0 !important; background:transparent !important; color:inherit !important; display:grid; place-items:center; position:relative; text-decoration:none; cursor:pointer; padding:0 !important; margin:0 !important; box-shadow:none !important; }
.ydc-iconbtn:hover{ background:var(--ydc-mist,#F3F4F8) !important; }
.ydc-iconbtn svg{ width:22px; height:22px; }
.ydc-mega-close .ydc-iconbtn{ background:#fff !important; width:36px !important; height:36px !important; box-shadow:0 2px 8px rgba(10,11,26,.12) !important; }

/* Buttons used inside plugin-rendered markup */
.ydc-mega .ydc-btn,.ydc-sheet .ydc-btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:0 24px; border-radius:999px; border:1.5px solid var(--ydc-ink,#0A0B1A); background:var(--ydc-ink,#0A0B1A); color:#fff; font:600 15px/1.2 var(--ydc-font-body,system-ui,sans-serif); text-decoration:none; white-space:nowrap; transition:transform .15s ease; }
.ydc-mega .ydc-btn:hover,.ydc-sheet .ydc-btn:hover{ transform:translateY(-1px); }
.ydc-mega .ydc-btn-sm{ min-height:38px; padding:0 16px; font-size:14px; }
.ydc-mega .ydc-btn-light{ background:#fff; color:var(--ydc-ink,#0A0B1A); border-color:#fff; }
.ydc-mega .ydc-btn-ghost-light{ background:transparent; color:#F4F5FB; border-color:rgba(244,245,251,.45); }
.ydc-mega .ydc-ctas{ display:flex; gap:12px; flex-wrap:wrap; }
.ydc-mega img,.ydc-sheet img{ max-width:100%; border:0; box-shadow:none; }

/* ---------- Search form ---------- */
.ydc-search{ position:relative; max-width:620px; width:100%; margin:0; }
.ydc-search input[type="search"]{ width:100%; height:46px; border:1.5px solid var(--ydc-ink,#0A0B1A); border-radius:999px; padding:0 56px 0 20px; font:400 15px/1.2 var(--ydc-font-body,system-ui,sans-serif); color:var(--ydc-ink,#0A0B1A); background:#fff; box-shadow:none; margin:0; -webkit-appearance:none; appearance:none; }
.ydc-search input::placeholder{ color:#8B8EA3; }
.ydc-search button{ position:absolute; right:4px; top:4px; width:38px !important; height:38px !important; min-height:0 !important; border-radius:50% !important; border:0 !important; background:var(--ydc-ink,#0A0B1A) !important; color:#fff !important; display:grid; place-items:center; padding:0 !important; cursor:pointer; margin:0 !important; box-shadow:none !important; }
.ydc-search button svg{ width:18px; height:18px; }
.ydc-sr{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ---------- Bag badge ---------- */
.ydc-badge{ position:absolute; top:-6px; right:-10px; min-width:18px; height:18px; border-radius:9px; background:var(--ydc-blue,#3F5BF6); color:#fff; font:700 11px/18px var(--ydc-font-body,system-ui,sans-serif); text-align:center; padding:0 5px; }
.ydc-badge[hidden]{ display:none; }

/* ---------- Header strip rotation (icon-list items) ---------- */
.ydc-strip-msgs .elementor-icon-list-items.is-rotating .elementor-icon-list-item{ display:none; }
.ydc-strip-msgs .elementor-icon-list-items.is-rotating .elementor-icon-list-item.is-on{ display:block; animation:ydc-strip-in .4s ease; }
@keyframes ydc-strip-in{ from{ opacity:0; transform:translateY(4px); } }

/* ---------- Phone shop sheet ---------- */
.ydc-sheet{ position:fixed; z-index:100000; inset:0; background:#fff; color:var(--ydc-ink,#0A0B1A); display:flex; flex-direction:column; animation:ydc-sheetup .3s cubic-bezier(.2,.8,.2,1); font-family:var(--ydc-font-body,system-ui,sans-serif); }
@keyframes ydc-sheetup{ from{ transform:translateY(24px); opacity:0; } }
.ydc-sheet-h{ display:flex; margin:0; align-items:center; gap:8px; padding:14px 12px; border-bottom:1px solid var(--ydc-line,#E2E4EE); min-height:64px; }
.ydc-sheet-title{ flex:1; text-align:center; font-weight:650; font-size:16px; }
.ydc-sheet-b{ flex:1; overflow:auto; padding:16px 16px 120px; display:grid; gap:10px; align-content:start; }
.ydc-sheet-root,.ydc-sheet-sub{ display:grid; gap:10px; align-content:start; }
.ydc-sheet .ydc-h-lg{ margin:6px 2px 8px; font:760 clamp(28px,8vw,36px)/1.02 var(--ydc-font-display,system-ui,sans-serif); font-stretch:112%; letter-spacing:-.01em; }
.ydc-deptrow{ display:grid !important; grid-template-columns:minmax(0,1fr) 96px; align-items:center; border:0 !important; background:var(--ydc-mist,#F3F4F8) !important; color:var(--ydc-ink,#0A0B1A) !important; border-radius:16px !important; overflow:hidden; text-align:left; padding:0 !important; margin:0 !important; min-height:76px !important; height:auto !important; cursor:pointer; width:100% !important; box-shadow:none !important; font:inherit !important; letter-spacing:0 !important; text-transform:none !important; }
.ydc-deptrow .ydc-dt{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; font:700 17px/1.15 var(--ydc-font-display,system-ui,sans-serif); font-stretch:106%; }
.ydc-deptrow .ydc-dt svg{ width:16px; height:16px; color:var(--ydc-mute,#5D6075); flex:none; }
.ydc-deptrow img,.ydc-deptrow-ph{ width:96px; height:76px; object-fit:cover; display:block; background:#E9EBF2; }
.ydc-deptrow.ydc-svc{ background:var(--ydc-ink,#0A0B1A) !important; color:#F4F5FB !important; }
.ydc-deptrow.ydc-svc .ydc-dt svg{ color:#A9ADC6; }
.ydc-sheet .ydc-tile{ position:relative; overflow:hidden; border-radius:16px; color:#fff; text-decoration:none; display:flex; align-items:flex-end; background:var(--ydc-ink,#0A0B1A); height:170px; width:100%; }
.ydc-sheet .ydc-tile img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ydc-sheet .ydc-tile::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,11,26,0) 40%,rgba(10,11,26,.78)); }
.ydc-sheet .ydc-tile-txt{ position:relative; z-index:1; padding:18px 20px; display:grid; gap:4px; width:100%; }
.ydc-sheet .ydc-tile strong{ font:760 22px/1.05 var(--ydc-font-display,system-ui,sans-serif); font-stretch:112%; }
.ydc-sheet .ydc-tile span span{ font-size:13.5px; opacity:.86; }
.ydc-sheet-intro{ margin:6px 2px 0; color:var(--ydc-mute,#5D6075); font-size:15px; }
.ydc-sublist h5{ margin:18px 0 6px; font:700 12px/1 var(--ydc-font-body,system-ui,sans-serif); letter-spacing:.14em; text-transform:uppercase; color:var(--ydc-mute,#5D6075); }
.ydc-sublist a{ display:flex; justify-content:space-between; align-items:center; gap:10px; padding:14px 2px; border-bottom:1px solid var(--ydc-line,#E2E4EE); text-decoration:none; color:inherit; font-size:16px; }
.ydc-sublist a svg{ width:16px; height:16px; color:var(--ydc-mute,#5D6075); flex:none; }
.ydc-sublist .ydc-ml{ flex:1; }
.ydc-sublist .ydc-mfrom{ margin-right:6px; }
.ydc-note{ display:flex; gap:10px; align-items:flex-start; padding:12px 14px; border-radius:12px; background:var(--ydc-mist,#F3F4F8); font-size:13.5px; margin-top:8px; }
.ydc-note svg{ width:18px; height:18px; flex:none; margin-top:1px; color:var(--ydc-blue,#3F5BF6); }
html.ydc-sheet-open{ overflow:hidden; }
html.ydc-sheet-open .ydc-launcher{ display:none; }

/* ---------- Phone tab bar (Ro pill) ---------- */
.ydc-tabbar{ display:none; }
@media (max-width:900px){
	.ydc-tabbar{ display:flex; position:fixed; z-index:99985; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom,0px)); justify-content:space-around; background:rgba(255,255,255,.86); -webkit-backdrop-filter:saturate(1.6) blur(18px); backdrop-filter:saturate(1.6) blur(18px); border:1px solid rgba(10,11,26,.08); border-radius:999px; padding:6px; box-shadow:0 10px 30px rgba(10,11,26,.16); }
	.ydc-tabbar a,.ydc-tabbar button{ flex:1; border:0 !important; background:transparent !important; min-height:0 !important; height:auto !important; box-shadow:none !important; text-transform:none !important; letter-spacing:0 !important; display:grid; justify-items:center; gap:2px; padding:7px 0 5px !important; border-radius:999px !important; font:600 10.5px/1.2 var(--ydc-font-body,system-ui,sans-serif) !important; text-decoration:none; color:#2B2E45 !important; cursor:pointer; margin:0 !important; }
	.ydc-tabbar svg{ width:22px; height:22px; }
	.ydc-tabbar [aria-current="page"]{ background:#E9EBF2 !important; color:var(--ydc-ink,#0A0B1A) !important; }
	html.ydc-has-tabbar body{ padding-bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
	html.ydc-has-tabbar .ydc-launcher{ bottom:calc(var(--ydc-bottom-offset,88px) + 12px); }
	.ydc-dnav,.ydc-mega{ display:none !important; }
	.ydc-sheet-b{ padding-bottom:140px; }
}
@media (prefers-reduced-motion:reduce){ .ydc-sheet,.ydc-strip-msgs .elementor-icon-list-item{ animation:none !important; } }
