/* Canonical GetCups design tokens and shared controls. Page CSS owns layout only. */
:root {
    color-scheme: only light;
    --gc-font: Arial, "Helvetica Neue", Helvetica, sans-serif;
    --gc-navy: #172967;
    --gc-navy-hover: #213a86;
    --gc-navy-dark: #0d193f;
    --gc-magenta: #d00078;
    --gc-magenta-hover: #91005a;
    --gc-ink: #252d43;
    --gc-muted: #59627a;
    --gc-paper: #f4f1eb;
    --gc-soft: #f7f7f9;
    --gc-line: #c4c9d5;
    --gc-white: #fff;
    --gc-radius: 7px;
    --gc-heading: var(--gc-navy);
    --gc-input-radius: 8px;
    --gc-focus: 3px solid rgba(208, 0, 120, .35);
    /* Legacy selectors and product layouts resolve to the same source. */
    --brand-navy: var(--gc-navy); --brand-navy-hover: var(--gc-navy-hover); --brand-navy-dark: var(--gc-navy-dark);
    --brand-magenta: var(--gc-magenta); --brand-magenta-dark: var(--gc-magenta-hover);
    --brand-ink: var(--gc-ink); --brand-muted: var(--gc-muted); --brand-paper: var(--gc-paper);
    --brand-soft: var(--gc-soft); --brand-line: var(--gc-line); --brand-white: var(--gc-white);
    --editorial-navy: var(--gc-navy); --editorial-magenta: var(--gc-magenta); --editorial-magenta-dark: var(--gc-magenta-hover);
    --editorial-ink: var(--gc-ink); --editorial-muted: var(--gc-muted); --editorial-paper: var(--gc-paper);
    --editorial-line: var(--gc-line); --editorial-white: var(--gc-white);
    --gc77-navy: var(--gc-navy); --gc77-navy-hover: var(--gc-navy-hover); --gc77-magenta: var(--gc-magenta);
    --gc77-muted: var(--gc-muted); --gc77-line: var(--gc-line); --gc77-paper: var(--gc-white);
    --navy: var(--gc-navy); --ink: var(--gc-ink); --pink: var(--gc-magenta);
    --muted: var(--gc-muted); --line: var(--gc-line); --soft: var(--gc-soft); --radius: var(--gc-input-radius);
}
.gc-site { font-family: var(--gc-font); }
.gc-site :where(h1, h2, h3, button, input, select, textarea, summary, .site-header, .footer) { font-family: var(--gc-font) !important; }
.gc-product :where(h1, h2, h3) { color: var(--gc-heading); }
.gc-site :where(a, button, input, select, textarea, summary):focus-visible { outline: var(--gc-focus); outline-offset: 3px; }
/* Sizing remains appropriate to each control; surface, states and type are shared. */
.gc-site :is(.button, .inpsmb) {
    font-family: var(--gc-font); border-radius: var(--gc-radius);
    color: var(--gc-white); background: var(--gc-navy); background-image: none;
}
.gc-site :is(.button, .inpsmb):not(:disabled):hover { background-color: var(--gc-navy-hover); }
.gc-product .button, .gc-button {
    display: inline-flex; align-items: center; justify-content: center; gap: 24px;
    min-height: 54px; padding: 18px 28px; border: 0; text-decoration: none;
    font-weight: 700; line-height: 1.2; cursor: pointer;
    box-shadow: 0 4px 0 var(--gc-navy-dark);
}
.gc-product .button-accent { background: var(--gc-magenta); box-shadow: 0 4px 0 var(--gc-magenta-hover); }
.gc-product .button-accent:not(:disabled):hover { background-color: var(--gc-magenta-hover); }
.gc-product .button-small { min-height: 46px; padding: 13px 22px; font-size: 16px; }
.gc-product .button span { font-size: 24px; }
.gc-site .button:disabled { opacity: .65; cursor: wait; }
.gc-site :is(input:not([type=radio]):not([type=checkbox]):not([type=range]):not([type=submit]):not([type=hidden]), select, textarea) {
    border-color: var(--gc-line); border-radius: var(--gc-input-radius);
    color: var(--gc-navy); background-color: var(--gc-white);
}
.gc-site input[aria-invalid=true] { border-color: #b72552; }
.gc-site .footer { background: var(--gc-navy); border-top: 6px solid var(--gc-magenta); }
.gc-footer-privacy { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; font-size: 14px; line-height: 1.4; }
.gc-footer-privacy :is(a, button), .gc-footer-privacy a:visited {
    padding: 0; margin: 0; border: 0; background: none; color: var(--gc-white);
    font: inherit; text-align: left; text-decoration: underline; text-underline-offset: 2px; cursor: pointer;
}
.gc-footer-privacy :is(a, button):hover { text-decoration-thickness: 2px; }
.gc-site .gc-new-window-icon { box-sizing: border-box; padding: 0; margin: 0; line-height: 1; display: inline-block; width: 14px; height: 14px; vertical-align: -.08em; fill: none; stroke: currentColor; }
/* The main page's informational notice and explicit settings, shared verbatim. */
.cookie.gc-cookie { position: fixed; inset: auto 0 0; width: 100%; z-index: 9999999; padding: 14px 12px;
    border-top: 1px solid #d9d9d9; background: rgba(255,255,255,.98); color: #333;
    font: 16px/1.4 var(--gc-font); box-shadow: 0 -4px 24px rgba(19,35,91,.14); }
.cookie.gc-cookie.disabled { display: none; }
.gc-cookie-container { box-sizing: border-box; width: min(1170px, 100%); margin: auto; padding: 0 15px; }
.cookie.gc-cookie .content { display: grid; grid-template-areas: "text actions"; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 6px 18px; }
.cookie.gc-cookie .text { grid-area: text; display: block; padding: 0; color: #333; font-size: 16px; line-height: 1.4; }
.cookie.gc-cookie .text a, .cookie.gc-cookie .text a:visited { font: inherit; letter-spacing: normal; color: var(--gc-navy); text-decoration: underline; text-underline-offset: 2px; }
.cookie.gc-cookie .confirm { grid-area: actions; display: flex; width: auto; }
.cookie.gc-cookie .confirm .gc-button { width: auto !important; min-width: 128px; min-height: 42px; height: auto !important; margin: 0;
    padding: 9px 16px !important; border: 0 !important; border-radius: var(--gc-radius); font: 500 15px/1.2 var(--gc-font); white-space: nowrap; }
.gc-privacy-backdrop[hidden] { display: none; }
.gc-privacy-backdrop { position: fixed; inset: 0; z-index: 10000010; display: grid; grid-template-columns: minmax(0, 1fr); place-items: center; padding: 20px; background: rgba(8,11,24,.68); }
.gc-privacy-settings { box-sizing: border-box; width: max-content; max-width: 100%; max-height: calc(100dvh - 40px); overflow: auto;
    padding: 26px; text-align: center; border-radius: 14px; background: var(--gc-white); color: var(--gc-ink); box-shadow: 0 18px 60px rgba(8,11,24,.28); font-family: var(--gc-font); }
.gc-privacy-settings h2 { margin: 0 0 14px; color: var(--gc-navy); font-size: 26px; font-weight: 700; line-height: 1.2; letter-spacing: normal; text-align: center; text-transform: none; }
.gc-privacy-settings p { margin: 0 0 20px; font-size: 17px; line-height: 1.45; }
.gc-privacy-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.gc-site .gc-privacy-settings .gc-button { min-height: 42px; padding: 10px 16px; border: 0; border-radius: var(--gc-radius); background: var(--gc-navy); color: var(--gc-white); font: 700 15px/1.25 var(--gc-font); }
.gc-site .gc-privacy-settings .gc-button-secondary { border: 1px solid var(--gc-navy); background: var(--gc-white); color: var(--gc-navy); box-shadow: none; }
.gc-site .gc-privacy-settings .gc-button-secondary:hover { background: var(--gc-soft); }
body.has-privacy-modal { overflow: hidden; }
@media (max-width: 767px) {
    .cookie.gc-cookie { padding: 10px 12px 11px !important; }
    .gc-cookie-container { padding: 0; }
    .cookie.gc-cookie .content { grid-template-areas: "text" "actions"; grid-template-columns: 1fr; }
    .cookie.gc-cookie .text { padding: 0 0 7px !important; font-size: 12px !important; line-height: 1.32 !important; }
    .cookie.gc-cookie .confirm { width: 100%; }
    .cookie.gc-cookie .confirm .gc-button { min-height: 40px !important; }
}
@media (max-width: 600px) {
    .gc-privacy-settings { padding: 22px 18px; }
    .gc-privacy-actions, .gc-privacy-settings .gc-button { width: 100%; }
}
@media (max-width: 720px) {
    .gc-product .button { font-size: 17px; padding: 17px 22px; }
    .gc-product .button-small { min-height: 39px; font-size: 13px; padding: 12px; }
    .gc-product .gc-privacy-settings .gc-button { min-height: 42px; padding: 10px 16px; font-size: 15px; }
}

/* A full-width bottom row keeps the project credit aligned at every breakpoint. */
.gc-home .footer .footer-legal-row{display:flex;justify-content:center;align-items:center;float:none;clear:both;width:100%;margin:0;padding:20px 15px 0;text-align:center}
.footer-project-credit{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:2px .3em;max-width:100%}
.footer-project-credit>span{white-space:nowrap}

@media(max-width:767px){.gc-home .footer{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}}
