/* Granite Archive Calendar Pro visual themes. The default theme remains unchanged for compatibility. */
/* Classic: an editorial calendar with square, connected cells and a strong header. */
.gps-pac--classic { --gps-border:#75869c; --gps-text:#26384b; --gps-accent:#20476b; --gps-hover:#e3edf4; padding:0; border:2px solid var(--gps-border); border-radius:0; background:#fffdfa; box-shadow:2px 3px 0 #d4dce4; }
.gps-pac--classic .gps-pac__chooser { margin:0; padding:12px 16px; background:#f1f4f6; border-bottom:1px solid var(--gps-border); }
.gps-pac--classic .gps-pac__header { padding:12px 16px; background:#20476b; color:#fff; }
.gps-pac--classic .gps-pac__title { font-family:Georgia, 'Times New Roman', serif; letter-spacing:.01em; font-weight:700; color:#fff; }
.gps-pac--classic .gps-pac__nav { border-radius:0; min-height:38px; min-width:38px; border-color:#c9d9e7; background:transparent; color:#fff; }
.gps-pac--classic .gps-pac__nav:hover:not(:disabled) { background:#315b80; }
.gps-pac--classic .gps-pac__table { border-collapse:collapse; border-spacing:0; }
.gps-pac--classic .gps-pac__table th { padding:9px 2px; border:1px solid #bbc8d4; background:#e9eef2; font-family:Georgia, 'Times New Roman', serif; }
.gps-pac--classic .gps-pac__table td { border:1px solid #bbc8d4; }
.gps-pac--classic .gps-pac__day { border:0; border-radius:0; background:#fffdfa; min-height:49px; font-family:Georgia, 'Times New Roman', serif; }
.gps-pac--classic .gps-pac__day--empty { color:#576577; }
.gps-pac--classic .gps-pac__day--has-posts { color:#20476b; background:#e2edf7; text-decoration:underline; text-underline-offset:3px; }
.gps-pac--classic .gps-pac__day--has-posts:hover { background:#cbdfee; }
.gps-pac--classic .gps-pac__day[aria-pressed='true'] { background:#20476b; color:#fff; }
.gps-pac--classic .gps-pac__day--has-posts::after { right:5px; bottom:5px; }
.gps-pac--classic .gps-pac__results { margin:0; padding:12px 14px 16px; }
.gps-pac--classic .gps-pac__result { border-radius:0; border:0; border-bottom:1px solid #c8d2dd; padding:10px 5px; background:transparent; }

/* Modern: no day tiles, airy spacing, circular selection and understated post list. */
.gps-pac--modern { --gps-border:#e1e5ea; --gps-text:#172b40; --gps-accent:#1767b1; --gps-hover:#e8f4ff; background:#fff; border:0; border-radius:20px; box-shadow:0 10px 35px rgba(24,55,88,.12); padding:clamp(14px, 3vw, 24px); }
.gps-pac--modern .gps-pac__header { padding-bottom:20px; border-bottom:1px solid #e5ecf3; margin-bottom:8px; }
.gps-pac--modern .gps-pac__title { font-size:clamp(1.25rem, 3vw, 1.65rem); font-weight:750; letter-spacing:-.035em; }
.gps-pac--modern .gps-pac__nav { border:0; border-radius:50%; background:transparent; min-width:40px; min-height:40px; font-weight:400; color:#1767b1; }
.gps-pac--modern .gps-pac__table { border-spacing:5px; }
.gps-pac--modern .gps-pac__table th { color:#53687a; font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.gps-pac--modern .gps-pac__day { background:transparent; border:0; width:min(100%, 48px); aspect-ratio:1; margin-inline:auto; min-height:0; border-radius:50%; font-size:1rem; color:#526175; }
.gps-pac--modern .gps-pac__day--has-posts { background:transparent; color:#124b80; font-weight:750; }
.gps-pac--modern .gps-pac__day--has-posts:hover { background:#eaf4ff; }
.gps-pac--modern .gps-pac__day--has-posts::after { right:calc(50% - 2.5px); bottom:2px; background:#1767b1; }
.gps-pac--modern .gps-pac__day[aria-pressed='true'] { background:#1767b1; color:#fff; }
.gps-pac--modern .gps-pac__day[aria-pressed='true']::after { background:#fff; }
.gps-pac--modern .gps-pac__results { border-top:1px solid #e5ecf3; padding-top:16px; }
.gps-pac--modern .gps-pac__result { border:0; border-bottom:1px solid #e5ecf3; border-radius:0; background:transparent; padding:12px 2px; }

/* Dark: all surfaces, interactive controls and result cards are genuinely dark. */
.gps-pac--dark { --gps-border:#44536b; --gps-text:#edf4fc; --gps-accent:#66d2ce; --gps-hover:#304d59; background:#182230; border:1px solid #465875; border-radius:14px; color:#edf4fc; box-shadow:0 10px 24px rgba(0,0,0,.2); }
.gps-pac--dark .gps-pac__header { border-bottom:1px solid #38465b; margin-bottom:8px; }
.gps-pac--dark .gps-pac__title { color:#fff; }
.gps-pac--dark .gps-pac__table th { color:#dce9f7; }
.gps-pac--dark .gps-pac__day { border-radius:8px; background:#28374b; color:#d9e4f0; border:1px solid #354760; }
.gps-pac--dark .gps-pac__day--empty { color:#b3c4d9; }
.gps-pac--dark .gps-pac__day--has-posts { background:#244d57; color:#edfffc; border-color:#66d2ce; }
.gps-pac--dark .gps-pac__day--has-posts::after { background:#66d2ce; }
.gps-pac--dark .gps-pac__day--has-posts:hover { background:#34616b; }
.gps-pac--dark .gps-pac__day[aria-pressed='true'] { background:#66d2ce; border-color:#66d2ce; color:#102d39; }
.gps-pac--dark .gps-pac__day[aria-pressed='true']::after { background:#102d39; }
.gps-pac--dark .gps-pac__nav, .gps-pac--dark .gps-pac__category, .gps-pac--dark .gps-pac__author { background:#25364a; color:#f2f7fc; border-color:#5b718a; }
.gps-pac--dark .gps-pac__nav:hover:not(:disabled) { background:#38506a; }
.gps-pac--dark .gps-pac__category option, .gps-pac--dark .gps-pac__author option { color:#fff; background:#25364a; }
.gps-pac--dark .gps-pac__result { background:#243449; color:#edf4fc; border-color:#43566e; }
.gps-pac--dark .gps-pac__result a { color:#93e5df; }
.gps-pac--dark .gps-pac__result a:hover { color:#fff; }
.gps-pac--dark .gps-pac__excerpt, .gps-pac--dark .gps-pac__post-content, .gps-pac--dark .gps-pac__post-time, .gps-pac--dark .gps-pac__post-meta { color:#edf4fc; }
.gps-pac--dark .gps-pac__post-content a { color:#93e5df; }

/* Compact: genuinely narrow, efficient widget-style calendar. */
.gps-pac--compact { --gps-border:#c6d3dd; --gps-text:#243b53; --gps-accent:#376381; --gps-hover:#e6eef4; width:100%; max-width:360px; padding:9px; border:1px solid #c6d3dd; border-radius:5px; background:#f8fafc; box-shadow:none; font-size:.85rem; }
.gps-pac--compact .gps-pac__header { gap:5px; padding-bottom:6px; border-bottom:1px solid #d9e1e8; margin-bottom:4px; }
.gps-pac--compact .gps-pac__title { font-size:1rem; font-weight:700; line-height:1.25; }
.gps-pac--compact .gps-pac__nav { min-width:30px; min-height:30px; padding:0; border-radius:3px; font-size:1.1rem; }
.gps-pac--compact .gps-pac__table { border-spacing:1px; }
.gps-pac--compact .gps-pac__table th { font-size:.72rem; padding:3px 0; }
.gps-pac--compact .gps-pac__day { min-height:30px; border-radius:3px; font-size:.8rem; padding:2px; }
.gps-pac--compact .gps-pac__day--has-posts::after { height:3px; width:3px; right:3px; bottom:3px; }
.gps-pac--compact .gps-pac__chooser { gap:5px; margin-bottom:8px; }
.gps-pac--compact .gps-pac__category { min-height:30px; font-size:.85rem; }
.gps-pac--compact .gps-pac__results { margin-top:9px; }
.gps-pac--compact .gps-pac__result { border-radius:3px; padding:6px; margin-bottom:4px; }
@media (max-width:450px) {
 .gps-pac--classic .gps-pac__day { min-height:38px; }
 .gps-pac--modern .gps-pac__day { min-height:0; }
 .gps-pac--compact .gps-pac__day { min-height:30px; }
}


/* Match Website Theme: the WordPress front-end is the source of typography,
   text color, surfaces, and (when declared) accent/link tokens.
   No external assets, hardcoded site-specific classes, or JavaScript probes.
   The small hover/selected tints preserve contrast on light and dark themes. */
.gps-pac--site {
    --gps-text: inherit;
    --gps-site-accent: var(--wp--preset--color--primary,
                       var(--awb-link-color,
                       var(--global-palette-highlight,
                       var(--e-global-color-primary,
                       var(--theme-link-color, currentColor)))));
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    background: transparent;
    border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
    border-radius: inherit;
    box-shadow: none;
}
.gps-pac--site .gps-pac__title {
    color: inherit;
    font-family: var(--wp--preset--font-family--heading, inherit);
    font-size: 1.35em;
    font-weight: 650;
}
.gps-pac--site .gps-pac__table th,
.gps-pac--site .gps-pac__day,
.gps-pac--site .gps-pac__day--empty,
.gps-pac--site .gps-pac__post-time,
.gps-pac--site .gps-pac__post-meta,
.gps-pac--site .gps-pac__excerpt,
.gps-pac--site .gps-pac__post-content,
.gps-pac--site .gps-pac__chooser { color: inherit; }
.gps-pac--site .gps-pac__header { border-bottom: 1px solid color-mix(in srgb, currentColor 14%, transparent); }
.gps-pac--site .gps-pac__table { border-spacing: 3px; }
.gps-pac--site .gps-pac__nav,
.gps-pac--site .gps-pac__category {
    color: inherit;
    font: inherit;
    background: transparent;
    border: 1px solid color-mix(in srgb, currentColor 32%, transparent);
    border-radius: .35em;
}
.gps-pac--site .gps-pac__nav:hover:not(:disabled),
.gps-pac--site .gps-pac__day--has-posts:hover {
    background: color-mix(in srgb, currentColor 9%, transparent);
}
.gps-pac--site .gps-pac__day {
    color: inherit;
    background: transparent;
    border: 1px solid transparent;
    border-radius: .3em;
}
.gps-pac--site .gps-pac__day--has-posts {
    color: inherit;
    background: transparent;
    font-weight: 700;
    border: 1px solid color-mix(in srgb, currentColor 48%, transparent);
    text-decoration: underline;
    text-decoration-color: var(--gps-site-accent);
    text-underline-offset: .2em;
}
.gps-pac--site .gps-pac__day--has-posts::after { background: currentColor; }
.gps-pac--site .gps-pac__day[aria-pressed='true'] {
    color: inherit;
    background: color-mix(in srgb, currentColor 15%, transparent);
    border: 2px solid currentColor;
    text-decoration: none;
}
.gps-pac--site .gps-pac__day[aria-pressed='true']::after { background: currentColor; }
.gps-pac--site .gps-pac__results { border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent); padding-top: .75em; }
.gps-pac--site .gps-pac__result {
    color: inherit;
    background: transparent;
    border: 0;
    border-bottom: 1px solid color-mix(in srgb, currentColor 20%, transparent);
    border-radius: 0;
}
.gps-pac--site .gps-pac__result a,
.gps-pac--site .gps-pac__post-content a {
    color: var(--gps-site-accent);
    text-decoration: underline;
}
.gps-pac--site .gps-pac__result a:hover,
.gps-pac--site .gps-pac__post-content a:hover {
    text-decoration-thickness: 2px;
}
.gps-pac--site .gps-pac__nav:focus-visible,
.gps-pac--site .gps-pac__day--has-posts:focus-visible,
.gps-pac--site .gps-pac__category:focus-visible,

