/* Notice ownership is explicit: shared page notices and account content only.
   Cookie consent, checkout/authentication messages and product availability
   widgets retain their own presentation and behavior. */
body .page.messages.cg-notices-host {
    position:fixed; inset:84px 16px auto auto; z-index:10000;
    width:440px; max-width:calc(100vw - 32px); max-height:calc(100vh - 110px);
    max-height:calc(100dvh - 110px); margin:0; padding:0;
    overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain;
    transform:none; background:none; border:0; box-shadow:none;
    scrollbar-width:thin; scrollbar-color:#799a8a transparent;
}
body .cg-notices, body .cg-notices *, body .cg-downloads, body .cg-downloads * { box-sizing:border-box; }
body .cg-notices { margin:0; padding:0; color:#203b3b; font:400 14px/1.5 Inter,"Work Sans",Arial,sans-serif; }
body .cg-notices__list { margin:0; padding:0; }
body .page.messages.cg-notices-host .message.cg-notice {
    --cg-notice-ink:#245c58; --cg-notice-tint:#edf5ef; --cg-notice-edge:#c8dcd2;
    display:grid!important; grid-template-columns:30px minmax(0,1fr) 44px;
    align-items:start; justify-content:normal; gap:10px; position:relative;
    width:100%!important; min-width:0; margin:0 0 10px; padding:15px 12px 15px 16px!important;
    border:1px solid var(--cg-notice-edge); border-left:3px solid var(--cg-notice-ink);
    border-radius:12px; background:linear-gradient(125deg,var(--cg-notice-tint),#fffefa);
    color:#203b3b; font:400 14px/1.5 Inter,"Work Sans",Arial,sans-serif;
    box-shadow:0 7px 20px #183b301a; opacity:1; visibility:visible;
    transform:none!important; translate:none!important; scale:none!important;
    transition:none; overflow:visible; backdrop-filter:none; will-change:auto; text-align:left;
}
body .page.messages.cg-notices-host .message.cg-notice--success { --cg-notice-ink:#2c6944; --cg-notice-tint:#edf6eb; --cg-notice-edge:#c7dec8; }
body .page.messages.cg-notices-host .message.cg-notice--warning { --cg-notice-ink:#825a1f; --cg-notice-tint:#fff6e4; --cg-notice-edge:#e4d1a7; }
body .page.messages.cg-notices-host .message.cg-notice--error { --cg-notice-ink:#9c3f38; --cg-notice-tint:#fff0ec; --cg-notice-edge:#e8c7bf; }
body .page.messages.cg-notices-host .message.cg-notice::before,
body .page.messages.cg-notices-host .message.cg-notice > :first-child::before { content:none!important; display:none!important; }
body .page.messages.cg-notices-host .message.cg-notice > :first-child { padding:0; position:static; }
body .page.messages.cg-notices-host .cg-notice__icon { display:block; flex:none; width:27px; height:27px; margin:1px 0 0; padding:0; color:var(--cg-notice-ink); }
body .page.messages.cg-notices-host .cg-notice__body { min-width:0; padding:0; overflow-wrap:anywhere; }
body .page.messages.cg-notices-host .cg-notice__title { display:block; margin:0 0 3px; color:var(--cg-notice-ink); font:650 14px/1.4 Inter,"Work Sans",Arial,sans-serif; }
body .page.messages.cg-notices-host .cg-notice__text { margin:0; color:#344e47; font:400 13px/1.55 Inter,"Work Sans",Arial,sans-serif; }
body .page.messages.cg-notices-host .cg-notice__text > :first-child { margin-top:0; }
body .page.messages.cg-notices-host .cg-notice__text > :last-child { margin-bottom:0; }
body .page.messages.cg-notices-host .cg-notice__dismiss {
    display:grid; place-items:center; position:static; width:44px; height:44px;
    min-width:44px; min-height:44px; margin:-8px -7px 0 0; padding:0!important;
    border:1px solid transparent; border-radius:8px; color:var(--cg-notice-ink);
    background:transparent; box-shadow:none; font:inherit; cursor:pointer;
    transform:none!important; transition:background-color .15s ease;
}
body .page.messages.cg-notices-host .cg-notice__dismiss svg { display:block; width:18px; height:18px; }
body .page.messages.cg-notices-host .cg-notice__dismiss:hover { background:#ffffffb8; border-color:var(--cg-notice-edge); }
body .page.messages.cg-notices-host .cg-notice a,
body .page.messages.cg-notices-host .cg-notice a:visited {
    display:inline; width:auto; min-height:0; margin:0; padding:0; border:0; border-radius:0;
    color:var(--cg-notice-ink)!important; background:none; font:inherit;
    font-weight:600; text-decoration:underline; text-underline-offset:3px;
    box-shadow:none; transform:none!important; translate:none!important; scale:none!important;
}
body .page.messages.cg-notices-host .cg-notice a:hover { color:#183b3b!important; background:none; text-decoration-thickness:2px; }
body .page.messages.cg-notices-host .cg-notice :is(a,button):focus-visible { outline:3px solid #497e70!important; outline-offset:3px; }
body .page.messages.cg-notices-host [hidden] { display:none!important; }

/* Native persistent account notices keep their source text and form behavior.
   Exclusions prevent the hidden authentication popup from being restyled. */
body.cg-customer-experience #maincontent .column.main .message:is(.info,.notice,.success,.warning,.error):not(.global):not(.available):not(.cg-notice):not(#authenticationPopup .message):not([data-role="checkout-messages"] .message) {
    --cg-inline-ink:#245c58; --cg-inline-tint:#eef5ef; --cg-inline-edge:#cbded3;
    position:relative; width:100%!important; max-width:100%; min-width:0;
    align-items:flex-start; justify-content:flex-start; flex-wrap:wrap; gap:6px;
    margin:0 0 16px; padding:15px 18px!important; border:1px solid var(--cg-inline-edge);
    border-left:3px solid var(--cg-inline-ink); border-radius:11px;
    background:linear-gradient(120deg,var(--cg-inline-tint),#fffefa); color:var(--cg-inline-ink);
    font:400 14px/1.6 Inter,"Work Sans",Arial,sans-serif; text-align:left;
    box-shadow:0 3px 12px #183b3006; backdrop-filter:none;
    transform:none!important; translate:none!important; scale:none!important; transition:none;
}
body.cg-customer-experience #maincontent .column.main .message.success:not(.global):not(.available):not(.cg-notice):not(#authenticationPopup .message):not([data-role="checkout-messages"] .message) { --cg-inline-ink:#2c6944; --cg-inline-tint:#edf6eb; --cg-inline-edge:#c7dec8; }
body.cg-customer-experience #maincontent .column.main .message.warning:not(.global):not(.available):not(.cg-notice):not(#authenticationPopup .message):not([data-role="checkout-messages"] .message) { --cg-inline-ink:#825a1f; --cg-inline-tint:#fff6e4; --cg-inline-edge:#e4d1a7; }
body.cg-customer-experience #maincontent .column.main .message.error:not(.global):not(.available):not(.cg-notice):not(#authenticationPopup .message):not([data-role="checkout-messages"] .message) { --cg-inline-ink:#9c3f38; --cg-inline-tint:#fff0ec; --cg-inline-edge:#e8c7bf; }
body.cg-customer-experience #maincontent .column.main .message:is(.info,.notice,.success,.warning,.error):not(.global):not(.available):not(.cg-notice):not(#authenticationPopup .message):not([data-role="checkout-messages"] .message)::before,
body.cg-customer-experience #maincontent .column.main .message:is(.info,.notice,.success,.warning,.error):not(.global):not(.available):not(.cg-notice):not(#authenticationPopup .message):not([data-role="checkout-messages"] .message) > :first-child::before { content:none!important; display:none!important; }
body.cg-customer-experience #maincontent .column.main .message:is(.info,.notice,.success,.warning,.error):not(.global):not(.available):not(.cg-notice):not(#authenticationPopup .message):not([data-role="checkout-messages"] .message) > :first-child { position:static; margin-top:0; padding-left:0; }
body.cg-customer-experience #maincontent .column.main .message:is(.info,.notice,.success,.warning,.error):not(.global):not(.available):not(.cg-notice):not(#authenticationPopup .message):not([data-role="checkout-messages"] .message) a {
    display:inline; margin:0; padding:0; border:0; border-radius:0;
    color:var(--cg-inline-ink)!important; background:none; font:inherit; font-weight:600;
    text-decoration:underline; text-underline-offset:3px; box-shadow:none;
    transform:none!important; translate:none!important; scale:none!important;
}
body.cg-customer-experience #maincontent .column.main .message:is(.info,.notice,.success,.warning,.error):not(.global):not(.available):not(.cg-notice):not(#authenticationPopup .message):not([data-role="checkout-messages"] .message) a:focus-visible { outline:3px solid #497e70!important; outline-offset:3px; }
body.cg-customer-experience #maincontent .cgce-empty { border-color:#d4e0d5; background:linear-gradient(125deg,#f2f7ef,#fffefa); }

/* Digital downloads: compact overview, with native item data and actions. */
body.cgce-downloads-active .page-title-wrapper { margin:0 0 18px; padding:18px 22px; border:1px solid #294f50; border-radius:14px; background:radial-gradient(ellipse at 100% 0,#728e6945,transparent 62%),linear-gradient(115deg,#182f3d,#1d5353); box-shadow:0 5px 18px #183b3010; }
body.cgce-downloads-active .page-title-wrapper .page-title { margin:0; color:#fffdf7; font:650 26px/1.25 Inter,"Work Sans",Arial,sans-serif; letter-spacing:-.025em; }
/* Keep this route's title legible over its dark banner even when legacy
   global heading rules are loaded later in the compiled theme stylesheet. */
body.cgce-downloads-active #maincontent .page-title-wrapper .page-title,
body.cgce-downloads-active #maincontent .page-title-wrapper .page-title .base { color:#fffdf7!important; text-shadow:none; }
body.cgce-downloads-active #maincontent .page-title-wrapper .page-title { display:block!important; }
body .cg-downloads { min-width:0; color:#203b3b; font:400 14px/1.55 Inter,"Work Sans",Arial,sans-serif; }
body .cg-downloads a, body .cg-downloads a:hover, body .cg-downloads a:focus { transform:none!important; scale:none!important; translate:none!important; }
body .cg-downloads :is(a,button,select):focus-visible { outline:3px solid #497e70!important; outline-offset:3px; }
body .cg-downloads__sr-only { position:absolute!important; width:1px!important; height:1px!important; margin:-1px!important; padding:0!important; border:0!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; }
body .cg-downloads__intro { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:9px 18px; margin:0 0 17px; }
body .cg-downloads__intro p { flex:1 1 350px; margin:0; color:#5c6b65; font-size:13px; }
body .cg-downloads__text-link { display:inline; padding:0; border:0; background:none; color:#245c58; font-size:13px; font-weight:600; line-height:1.5; text-decoration:underline; text-underline-offset:4px; box-shadow:none; }
body .cg-downloads__text-link:hover { color:#183b3b; text-decoration:underline; }
body .cg-downloads__empty { display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:20px; min-width:0; padding:26px; border:1px solid #d4e0d5; border-radius:14px; background:radial-gradient(ellipse at 0 0,#dcebd66b,transparent 60%),linear-gradient(125deg,#f2f7ef,#fffefa); box-shadow:0 3px 12px #183b3006; }
body .cg-downloads__empty-icon { display:grid; place-items:center; width:58px; height:64px; border:1px solid #cfdfcd; border-radius:14px; background:linear-gradient(135deg,#e2edde,#f3f4e8); color:#356a58; }
body .cg-downloads__empty-icon svg { width:32px; height:32px; }
body .cg-downloads__empty-copy { min-width:0; }
body .cg-downloads__empty h2 { margin:0 0 7px; color:#203b3b; font:650 20px/1.35 Inter,"Work Sans",Arial,sans-serif; letter-spacing:-.015em; }
body .cg-downloads__empty p { margin:0; max-width:520px; color:#5c6b65; font-size:14px; line-height:1.6; }
body .cg-downloads__actions { display:flex; flex-direction:column; align-items:center; gap:10px; }
body .cg-downloads__button { display:inline-flex; align-items:center; justify-content:center; gap:13px; min-height:44px; padding:11px 16px; border:1px solid #315b55; border-radius:9px; background:linear-gradient(115deg,#182f3d,#1d5353); color:#fffdf7; font:600 13px/1.4 Inter,"Work Sans",Arial,sans-serif; text-decoration:none; white-space:normal; box-shadow:none; }
body .cg-downloads__button:hover { border-color:#24524d; background:linear-gradient(115deg,#152e38,#184949); color:#fff; text-decoration:none; }
body .cg-downloads__table-wrap { width:100%; margin:0; border:1px solid #d8e3d9; border-radius:12px; background:#fffefa; overflow:hidden; }
body .cg-downloads__table { width:100%; margin:0; border:0; border-collapse:separate; border-spacing:0; table-layout:auto; font-size:13px; }
body .cg-downloads__table thead th { padding:13px 15px; border:0; border-bottom:1px solid #d8e3d9; background:linear-gradient(115deg,#edf3e9,#f7f8ef); color:#496355; font-size:11px; font-weight:650; line-height:1.4; letter-spacing:.015em; text-transform:none; }
body .cg-downloads__table tbody td { padding:17px 15px; border:0; border-bottom:1px solid #e5ebe3; background:none; color:#344e47; font-size:13px; line-height:1.5; vertical-align:top; overflow-wrap:anywhere; }
body .cg-downloads__table tbody tr:last-child td { border-bottom:0; }
body .cg-downloads__table tbody tr:hover td { background:#f8faf4; }
body .cg-downloads__table .title { width:40%; }
body .cg-downloads__product { display:block; margin:0 0 6px; color:#203b3b; font-size:14px; font-weight:600; line-height:1.5; }
body .cg-downloads__file { display:inline-flex; align-items:center; gap:7px; min-height:44px; max-width:100%; margin:2px 0 0; padding:8px 10px; border:1px solid #d0dfd0; border-radius:8px; background:#eff5ec; color:#245c58; font-size:12px; font-weight:600; text-decoration:none; box-shadow:none; }
body .cg-downloads__file:hover { border-color:#8fac9a; background:#e6f0e4; color:#183b3b; text-decoration:none; }
body .cg-downloads__file svg { width:17px; height:17px; flex:none; }
body .cg-downloads__status { display:inline-block; max-width:100%; padding:4px 8px; border:1px solid #dce3dc; border-radius:14px; background:#f3f5ef; color:#5c6b65; font-size:11px; font-weight:600; }
body .cg-downloads__status.is-available { border-color:#c8dfcc; background:#edf5ed; color:#326343; }
body .cg-downloads__pager { margin:16px 0 0; font-size:13px; }
body .cg-downloads__pager .pager { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 18px; }
body .cg-downloads__pager .toolbar-amount { margin:0; }
body .cg-downloads__pager .limiter { display:flex; align-items:center; gap:8px; }
body .cg-downloads__pager select { width:auto; min-height:40px; border:1px solid #ccd8d0; border-radius:7px; background:#fff; color:#203b3b; }
@media (max-width:1100px) {
    body .cg-downloads__empty { grid-template-columns:52px minmax(0,1fr); gap:16px; }
    body .cg-downloads__actions { grid-column:2; flex-direction:row; flex-wrap:wrap; justify-content:flex-start; gap:12px 20px; }
    body .cg-downloads__empty-icon { width:52px; height:58px; }
}
@media (max-width:767px) {
    body .page.messages.cg-notices-host { inset:12px 12px auto auto; width:440px; max-width:calc(100vw - 24px); max-height:calc(100vh - 90px); max-height:calc(100dvh - 90px); }
    body .page.messages.cg-notices-host .message.cg-notice { grid-template-columns:25px minmax(0,1fr) 44px; gap:8px; padding:13px 10px 13px 13px!important; }
    body .page.messages.cg-notices-host .cg-notice__icon { width:23px; height:23px; }
    body .page.messages.cg-notices-host .cg-notice__dismiss { width:44px; height:44px; min-width:44px; min-height:44px; }
    body.cgce-downloads-active .page-title-wrapper { padding:16px 18px; }
    body.cgce-downloads-active .page-title-wrapper .page-title { font-size:23px; }
    body .cg-downloads__empty { padding:20px 18px; grid-template-columns:43px minmax(0,1fr); gap:13px; }
    body .cg-downloads__empty-icon { width:43px; height:50px; border-radius:11px; }
    body .cg-downloads__empty-icon svg { width:27px; height:27px; }
    body .cg-downloads__empty h2 { font-size:18px; }
    body .cg-downloads__empty p { font-size:13px; }
    body .cg-downloads__actions { grid-column:1/-1; margin-top:4px; }
    body .cg-downloads__table-wrap { border:0; border-radius:0; overflow:visible; background:none; }
    body .cg-downloads__table, body .cg-downloads__table tbody { display:block; }
    body .cg-downloads__table thead { display:none; }
    body .cg-downloads__table tbody tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 16px; margin:0 0 12px; padding:17px; border:1px solid #d8e3d9; border-radius:11px; background:linear-gradient(125deg,#fffefa,#f8faf4); }
    body .cg-downloads__table tbody td { display:block; width:auto; min-width:0; padding:0; border:0; }
    body .cg-downloads__table tbody td::before { content:attr(data-th); display:block; position:static; float:none; width:auto; padding:0; margin:0 0 5px; color:#647769; font-size:10px; font-weight:600; line-height:1.4; }
    body .cg-downloads__table tbody td.title { grid-column:1/-1; grid-row:1; width:auto; }
    body .cg-downloads__table tbody td.title::before { display:none; }
    body .cg-downloads__table tbody tr:hover td { background:none; }
    body .cg-downloads__product { font-size:15px; }
    body .cg-downloads__pager .pager { justify-content:flex-start; }
}
@media (prefers-reduced-motion:reduce) {
    body .cg-notices *, body .cg-downloads * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
@media print {
    body .page.messages.cg-notices-host { display:none!important; }
    body .cg-downloads__empty, body .cg-downloads__table-wrap { box-shadow:none; }
}
