/* The home selector inherits the hero's existing right column and typography. */
:is(.catalog-home-page,.product-page) .home-download-picker {
 --picker-accent:#0879fa;
 --picker-ink:#111d38;
 --picker-label-size:12px;
 --picker-value-size:15px;
 --picker-option-size:15px;
 width:100%;
 padding:0;
 border:1px solid transparent;
 border-radius:0;
 background:transparent;
 color:var(--picker-ink);
 text-align:left;
}
/* Product pages already expose each app's brand color; reuse it for the download action. */
body.office-catalog-dle .product-page .home-download-picker {
 --picker-accent:var(--product-brand,#0879fa);
}
:is(.catalog-home-page,.product-page) .home-download-picker [hidden] { display:none!important; }
:is(.catalog-home-page,.product-page) .home-picker-language-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:17px; }
:is(.catalog-home-page,.product-page) .home-picker-language-group { min-width:0; padding:13px; border:1px solid color-mix(in srgb,var(--picker-accent) 22%,white); border-radius:4px; background:var(--home-paper,#fffefd); }
:is(.catalog-home-page,.product-page) .home-picker-language-group h3 { margin:0 0 9px; color:var(--picker-ink); font-size:14px; font-weight:650; line-height:1.35; }
:is(.catalog-home-page,.product-page) .home-picker-language-action { display:flex; align-items:center; justify-content:center; box-sizing:border-box; width:100%; min-height:42px; padding:9px 10px; border:1px solid var(--picker-accent); border-radius:4px; background:var(--picker-accent); color:#fff; font:600 13px/1.3 var(--site-text-font,"Segoe UI",Arial,sans-serif); text-align:center; text-decoration:none; cursor:pointer; }
:is(.catalog-home-page,.product-page) .home-picker-language-meta + .home-picker-language-action { margin-top:12px; }
:is(.catalog-home-page,.product-page) .home-picker-language-action.is-unavailable { border-color:#d7e0e9; background:#f3f6f9; color:#64748a; cursor:not-allowed; }
:is(.catalog-home-page,.product-page) .home-picker-language-meta { display:block; margin:7px 0 0; color:#61749b; font-size:11px; line-height:1.4; overflow-wrap:anywhere; }
@media (max-width:560px) { :is(.catalog-home-page,.product-page) .home-picker-language-actions { grid-template-columns:minmax(0,1fr); } }
:is(.catalog-home-page,.product-page) .home-picker-fields { display:grid; gap:13px; }
:is(.catalog-home-page,.product-page) .home-picker-heading { margin-bottom:22px; }
:is(.catalog-home-page,.product-page) :is(#office-platforms,#product-download-start) .home-picker-heading h2 { margin:0; color:var(--picker-ink); font-family:var(--site-display-font); font-size:24px; font-weight:450; line-height:1.25; letter-spacing:-.4px; }
:is(.catalog-home-page,.product-page) .home-picker-heading p { margin:7px 0 0; color:#61749b; font-size:15px; line-height:1.5; }
:is(.catalog-home-page,.product-page) .home-picker-field { position:relative; min-width:0; }
:is(.catalog-home-page,.product-page) .home-picker-field label { position:absolute; z-index:2; top:9px; left:60px; display:block; margin:0; color:#61749b; font-family:var(--site-text-font,"Segoe UI Variable Text","Segoe UI",Arial,sans-serif); font-size:var(--picker-label-size); font-weight:400; line-height:1.4; pointer-events:none; }
:is(.catalog-home-page,.product-page) .home-picker-control { position:relative; }
:is(.catalog-home-page,.product-page) .home-picker-field-icon { position:absolute; z-index:1; inset:17px auto auto 17px; width:28px; height:28px; object-fit:contain; pointer-events:none; }
:is(.catalog-home-page,.product-page) svg.home-picker-field-icon { fill:none; stroke:var(--picker-accent); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; opacity:.82; }
:is(.catalog-home-page,.product-page) .home-picker-field select,
:is(.catalog-home-page,.product-page) .home-picker-combobox {
 appearance:none;
 display:grid;
 grid-template-columns:minmax(0,1fr) auto;
 align-items:center;
 column-gap:10px;
 width:100%;
 min-width:0;
 height:62px;
 margin:0;
 padding:22px 38px 7px 60px;
 border:1px solid color-mix(in srgb,var(--picker-accent) 25%,white);
 border-radius:4px;
 background:var(--home-paper,#fffefd) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23657083' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 13px center;
 color:var(--picker-ink);
 font:inherit;
 font-family:var(--site-text-font,"Segoe UI Variable Text","Segoe UI",Arial,sans-serif);
 font-size:var(--picker-value-size);
 line-height:1.4;
 cursor:pointer;
 text-align:left;
 transition:border-color .16s,box-shadow .16s;
}
:is(.catalog-home-page,.product-page) .home-picker-combobox>.home-picker-combobox-value { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
:is(.catalog-home-page,.product-page) .home-picker-detected-badge,
:is(.catalog-home-page,.product-page) .home-picker-option-note {
 display:inline-flex;
 align-items:center;
 justify-content:center;
 flex:none;
 box-sizing:border-box;
 min-height:23px;
 padding:3px 8px;
 border:1px solid color-mix(in srgb,var(--picker-accent) 30%,#fff);
 border-radius:999px;
 background:color-mix(in srgb,var(--picker-accent) 10%,#fff);
 color:color-mix(in srgb,var(--picker-accent) 86%,#19324d);
 font-size:11px;
 font-weight:650;
 line-height:1;
 letter-spacing:.01em;
 white-space:nowrap;
}
:is(.catalog-home-page,.product-page) .home-picker-combobox.has-detected-platform {
 align-items:center;
 column-gap:12px;
}
:is(.catalog-home-page,.product-page) .home-picker-detected-badge {
 position:relative;
 display:block;
 align-self:center;
 min-height:0;
 padding:0 0 0 19px;
 border:0;
 border-radius:0;
 background:transparent;
 color:color-mix(in srgb,var(--picker-accent) 88%,#19324d);
 font-size:11px;
 font-weight:600;
 line-height:16px;
 letter-spacing:0;
}
:is(.catalog-home-page,.product-page) .home-picker-detected-badge::before {
 content:"";
 position:absolute;
 left:0;
 top:50%;
 width:14px;
 height:14px;
 border-radius:50%;
 background:var(--picker-accent);
 transform:translateY(-50%);
}
:is(.catalog-home-page,.product-page) .home-picker-detected-badge::after {
 content:"";
 position:absolute;
 left:5px;
 top:50%;
 width:3px;
 height:6px;
 border-right:1.5px solid #fff;
 border-bottom:1.5px solid #fff;
 transform:translateY(-62%) rotate(45deg);
}
:is(.catalog-home-page,.product-page) .home-picker-detected-badge[hidden],
:is(.catalog-home-page,.product-page) .home-picker-option-note[hidden] { display:none; }
:is(.catalog-home-page,.product-page) .home-picker-combobox:hover,
:is(.catalog-home-page,.product-page) .home-picker-combobox[aria-expanded="true"] { border-color:color-mix(in srgb,var(--picker-accent) 48%,white); }
:is(.catalog-home-page,.product-page) .home-picker-combobox:disabled { cursor:default; opacity:1; background-image:none; color:#687791; }
:is(.catalog-home-page,.product-page) .home-picker-field select.home-picker-native { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; }
:is(.catalog-home-page,.product-page) .home-picker-listbox {
 position:fixed;
 inset:auto;
 z-index:1000;
 box-sizing:border-box;
 margin:0;
 padding:5px;
 overflow-y:auto;
 overscroll-behavior:contain;
 scrollbar-width:thin;
 scrollbar-color:color-mix(in srgb,var(--picker-accent) 25%,white) transparent;
 border:1px solid color-mix(in srgb,var(--picker-accent) 25%,white);
 border-radius:5px;
 background:var(--home-paper,#fffefd);
 color:var(--picker-ink);
 box-shadow:0 8px 24px rgb(38 50 66 / 12%);
 text-align:left;
 font-family:var(--site-text-font,"Segoe UI Variable Text","Segoe UI",Arial,sans-serif);
 font-size:var(--picker-option-size);
 line-height:1.4;
}
:is(.catalog-home-page,.product-page) .home-picker-option { position:relative; display:flex; align-items:center; gap:10px; min-height:44px; box-sizing:border-box; padding:10px; border-radius:3px; cursor:pointer; font-size:var(--picker-option-size); font-weight:400; line-height:1.4; }
:is(.catalog-home-page,.product-page) .home-picker-option>img,
:is(.catalog-home-page,.product-page) .home-picker-option>svg { width:22px; height:22px; flex:none; object-fit:contain; }
:is(.catalog-home-page,.product-page) .home-picker-option>svg { fill:none; stroke:var(--picker-accent); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
:is(.catalog-home-page,.product-page) .home-picker-option-label { flex:1; min-width:0; overflow-wrap:anywhere; }
:is(.catalog-home-page,.product-page) .home-picker-option-note { min-height:21px; padding-inline:7px; font-size:10px; }
:is(.catalog-home-page,.product-page) .home-picker-option[aria-selected="true"] { background:color-mix(in srgb,var(--picker-accent) 6%,transparent); font-weight:550; }
:is(.catalog-home-page,.product-page) .home-picker-option.is-active { background:color-mix(in srgb,var(--picker-accent) 10%,transparent); outline:1px solid color-mix(in srgb,var(--picker-accent) 20%,transparent); outline-offset:-1px; }
:is(.catalog-home-page,.product-page) .home-picker-option-check { width:16px; flex:none; color:var(--picker-accent); visibility:hidden; font-size:15px; }
:is(.catalog-home-page,.product-page) .home-picker-option[aria-selected="true"] .home-picker-option-check { visibility:visible; }
:is(.catalog-home-page,.product-page) .home-picker-field select:hover { border-color:color-mix(in srgb,var(--picker-accent) 42%,white); }
:is(.catalog-home-page,.product-page) .home-picker-field select:disabled { cursor:default; opacity:.7; }
/* A familiar action; selected package details stay secondary below it. */
:is(.catalog-home-page,.product-page) :is(#office-platforms,#product-download-start) .home-picker-download {
 display:flex;
 align-items:center;
 justify-content:center;
 gap:9px;
 width:100%;
 min-height:60px;
 box-sizing:border-box;
 margin-top:17px;
 padding:15px 18px;
 border:1px solid color-mix(in srgb,var(--picker-accent) 88%,#18435e);
 border-radius:4px;
 background-color:var(--picker-accent);
 color:#fff;
 font-size:18px;
 font-weight:600;
 line-height:1.4;
 text-align:center;
 text-decoration:none;
 box-shadow:0 5px 16px color-mix(in srgb,var(--picker-accent) 14%,transparent);
 transition:background-color .16s,border-color .16s;
}
:is(.catalog-home-page,.product-page) :is(#office-platforms,#product-download-start) .home-picker-download:is(:hover,:focus-visible) {
 background-color:color-mix(in srgb,var(--picker-accent) 88%,#123753);
 border-color:color-mix(in srgb,var(--picker-accent) 75%,#123753);
}
/* Show the selected file directly below the action so it is identifiable at a glance. */
:is(.catalog-home-page,.product-page) .home-picker-download-info { display:grid; gap:7px; margin-top:11px; padding:0 2px; color:#61749b; font-size:12px; font-weight:400; line-height:1.5; text-align:center; overflow-wrap:anywhere; }
:is(.catalog-home-page,.product-page) .home-picker-file-details-body { padding-top:0; text-align:left; }
:is(.catalog-home-page,.product-page) .home-picker-download-meta { margin:0; }
:is(.catalog-home-page,.product-page) .home-picker-download-meta:empty { display:none; }
:is(.catalog-home-page,.product-page) .home-picker-download-arrow { width:23px; height:23px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
:is(.catalog-home-page,.product-page) .home-picker-download-chevron { position:absolute; right:15px; width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; }
:is(.catalog-home-page,.product-page) :is(#office-platforms,#product-download-start) .home-picker-download { position:relative; padding-inline:35px; }
/* Keep the unavailable state honest, but readable and prominent in the hero.
   The shared policy uses !important in this layer, so scope its visual override here. */
:is(.catalog-home-page,.product-page) .home-download-picker :is(select,a,button,summary):focus-visible { outline:2px solid var(--picker-accent); outline-offset:3px; }
:is(.catalog-home-page,.product-page) .home-picker-noscript { margin:12px 0 0; font-size:12px; line-height:1.55; }
:is(.catalog-home-page,.product-page) .home-picker-noscript a { color:var(--picker-accent); text-decoration:underline; text-underline-offset:3px; }
@media(min-width:1081px) {
 .catalog-home-page #office-platforms .hero-download-panel.ch-home-download-panel:has(.home-download-picker) {
  width:min(456px,calc(100% + var(--home-inner-inset,20px) + clamp(0px,(100vw - 1280px) / 2 - 24px,64px)));
  margin-top:164px;
 }
}
@media(max-width:1080px) {
 .catalog-home-page #office-platforms .hero-download-panel.ch-home-download-panel:has(.home-download-picker) { width:min(540px,100%); margin:84px auto 0; }
}
@media(max-width:600px) {
 :is(.catalog-home-page,.product-page) .home-download-picker { padding:0 8px; }
 :is(.catalog-home-page,.product-page) .home-picker-fields { grid-template-columns:1fr; gap:13px; }
 :is(.catalog-home-page,.product-page) :is(#office-platforms,#product-download-start) .home-picker-heading h2 { font-size:22px; }
 :is(.catalog-home-page,.product-page) :is(#office-platforms,#product-download-start) .home-picker-download { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
 :is(.catalog-home-page,.product-page) .home-download-picker :is(select,a) { transition:none; }
}
:is(.catalog-home-page,.product-page) .home-download-picker .home-picker-download-note {
 margin:10px 0 0; color:#53677e; font-size:13px; line-height:1.55; text-align:left; overflow-wrap:anywhere;
}
:is(.catalog-home-page,.product-page) .home-picker-download-note[hidden] { display:none; }

/* Missing variants stay visible in the chooser without becoming actions. */
:is(.catalog-home-page,.product-page) .home-picker-option[aria-disabled="true"] { color:#7c8591; cursor:default; background:#f4f5f6; }
:is(.catalog-home-page,.product-page) .home-picker-option[aria-disabled="true"] > :is(img,svg) { filter:grayscale(1); opacity:.55; }
:is(.catalog-home-page,.product-page) .home-picker-option[aria-disabled="true"].is-active { outline-color:#d2d7dd; background:#eceef1; }

/* Variant names remain readable; the technical description stays in details. */
:is(.catalog-home-page,.product-page) [data-picker-variant-field] .home-picker-combobox {height:auto;min-height:62px;}
:is(.catalog-home-page,.product-page) [data-picker-variant-field] .home-picker-combobox>.home-picker-combobox-value {white-space:normal;overflow:visible;text-overflow:clip;line-height:1.4;}

@media(max-width:420px) {
 :is(.catalog-home-page,.product-page) .home-picker-detected-badge { padding-left:18px; font-size:10px; line-height:15px; }
 :is(.catalog-home-page,.product-page) .home-picker-detected-badge::before { width:13px; height:13px; }
 :is(.catalog-home-page,.product-page) .home-picker-detected-badge::after { left:4.5px; width:3px; height:5.5px; }
}

/* Product pages reuse the home fields and action without an enclosing card. */
.product-page .product-download-picker-panel .home-download-picker { box-sizing:border-box; }
.product-page .product-download-picker-panel .home-picker-noscript ul { margin:8px 0; padding-left:18px; }
