/* Loaded only on the Premium subscription page. */
.gm-premium-page { background: var(--gm-page, #f4f7fb); color: var(--gm-ink, #142033); padding: 1.6rem 0 4.5rem; }
.gm-premium-shell { max-width: 1180px; }
.gm-premium-breadcrumb { display: flex; align-items: center; gap: .75rem; margin: 0 0 1.4rem; color: var(--gm-copy, #617488); font-size: .75rem; font-weight: 500; }
.gm-premium-breadcrumb a { color: inherit; text-decoration: none; }
.gm-premium-breadcrumb a:hover { color: var(--gm-ink, #142033); }
.gm-premium-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr); grid-template-rows: 1fr auto; gap: 2rem 3.5rem; overflow: hidden; padding: clamp(1.4rem, 4vw, 3.5rem); border: 1px solid #29434d; border-radius: 1.5rem; background: radial-gradient(ellipse at 15% 110%, #26534580, transparent 60%), radial-gradient(ellipse at 90% 0, #bf963a18, transparent 50%), #101f29; color: #f6f7f9; }
.gm-premium-hero::before { content: ''; position: absolute; pointer-events: none; width: 500px; height: 500px; top: -360px; left: -80px; border: 1px solid #ffffff0c; border-radius: 50%; box-shadow: 0 0 0 60px #ffffff03, 0 0 0 120px #ffffff02; }
.gm-premium-intro { position: relative; min-width: 0; align-self: center; }
.gm-premium-eyebrow { display: inline-flex; align-items: center; gap: .6rem; color: #edc66f; font-size: .66rem; font-weight: 800; letter-spacing: .15em; }
.gm-premium-eyebrow .gm-premium-icon { width: 22px; height: 22px; }
.gm-premium-intro h1 { margin: 1.6rem 0 1.2rem; color: #f6f7f9; font-size: clamp(3rem, 5.9vw, 4.9rem); line-height: .99; font-weight: 900; letter-spacing: -.055em; }
.gm-premium-intro h1 em { color: #f0cb7b; font-style: normal; }
.gm-premium-intro > p { max-width: 350px; margin: 0; color: #b1c1c9; font-size: .98rem; font-weight: 400; line-height: 1.8; }
.gm-premium-explore { display: inline-flex; align-items: center; gap: .7rem; margin-top: 1.4rem; color: #eef3f4; font-size: .76rem; font-weight: 600; text-decoration: none; }
.gm-premium-explore:hover { color: #f0cb7b; }
.gm-premium-preview { display: flex; align-items: center; gap: .85rem; min-width: 0; padding-top: 1.6rem; border-top: 1px solid #ffffff18; }
.gm-premium-preview__avatar { display: grid; place-items: center; flex: 0 0 46px; height: 46px; border: 1px solid #dbbe783b; border-radius: .85rem; background: #dbc07910; color: #edc66f; font-size: 1.5rem; }
.gm-premium-preview > div:last-child { min-width: 0; }
.gm-premium-preview__caption { display: block; margin-bottom: .2rem; color: #90a7af; font-size: .6rem; letter-spacing: .06em; text-transform: uppercase; font-weight: 600; }
.gm-premium-preview strong { display: block; color: #f3f6f7; font-size: .95rem; }
.gm-premium-preview p { margin: .1rem 0 0; color: #90a7af; font-size: .65rem; line-height: 1.6; }
.gm-premium-card { position: relative; grid-column: 2; grid-row: 1 / 3; align-self: start; min-width: 0; padding: 1.8rem; border: 1px solid #d4b06660; border-radius: 1rem; background: #1c2e38; box-shadow: 0 16px 36px #07121b40; }
.gm-premium-card__head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem; }
.gm-premium-card h2 { margin: 0; color: #e1e8ed; font-size: .78rem; font-weight: 650; }
.gm-premium-plan-label { padding: .3rem .6rem; border-radius: .4rem; border: 1px solid #e5bf6938; background: #e5bf6912; color: #f1ce82; font-size: .6rem; font-weight: 750; }
.gm-premium-price { display: flex; align-items: center; gap: .85rem; margin: 1.4rem 0 1.25rem; }
.gm-premium-price__amount { display: inline-flex; align-items: flex-start; gap: .1rem; color: #fff; font-size: 4.5rem; font-weight: 850; line-height: 1; letter-spacing: -.07em; }
.gm-premium-price__amount sup { position: static; margin-top: .55rem; font-size: 1.9rem; line-height: 1; font-weight: 550; letter-spacing: 0; }
.gm-premium-price__period { color: #e7edf0; font-size: .83rem; font-weight: 600; }
.gm-premium-price__period small { display: block; max-width: 130px; margin-top: .35rem; color: #97adb9; font-size: .67rem; font-weight: 400; line-height: 1.6; }
.gm-premium-included { display: grid; gap: .7rem; margin: 0 0 1.5rem; padding: 1.1rem 0; border-top: 1px solid #ffffff12; border-bottom: 1px solid #ffffff12; list-style: none; }
.gm-premium-included li { display: flex; align-items: flex-start; gap: .65rem; color: #c9d6dd; font-size: .75rem; font-weight: 450; line-height: 1.5; }
.gm-premium-included i { flex: none; color: #f0cb7b; }
.gm-premium-button { display: flex; width: 100%; min-height: 46px; align-items: center; justify-content: center; gap: .65rem; padding: .8rem .9rem; border: 1px solid #f0cb7b; border-radius: .65rem; background: #f0cb7b; color: #292314; font: inherit; font-size: .79rem; font-weight: 800; line-height: 1.4; text-align: center; text-decoration: none; transition: background .15s, border-color .15s; }
.gm-premium-button:hover { border-color: #ffe1a1; background: #ffe1a1; color: #292314; }
.gm-premium-button--secondary { margin-bottom: 1rem; border-color: #677265; background: transparent; color: #f0cb7b; }
.gm-premium-button--secondary:hover { background: #f0cb7b12; color: #f0cb7b; }
.gm-premium-consent { display: flex; align-items: flex-start; gap: .65rem; margin-bottom: 1rem; color: #bacbd4; font-size: .72rem; line-height: 1.65; cursor: pointer; }
.gm-premium-consent input { flex: 0 0 16px; width: 16px; height: 16px; margin: .17rem 0 0; accent-color: #f0cb7b; cursor: pointer; }
.gm-premium-signup { margin: .85rem 0 0; color: #aebfc9; font-size: .7rem; line-height: 1.65; text-align: center; }
.gm-premium-signup a { color: #f0cb7b; text-underline-offset: .2em; }
.gm-premium-reassurance { display: flex; justify-content: center; align-items: center; gap: .4rem; margin: 1.25rem 0 0; color: #97adb9; font-size: .62rem; line-height: 1.6; text-align: center; }
.gm-premium-reassurance i { flex: none; font-size: .85rem; }
.gm-premium-notice { margin: 1rem 0; padding: .8rem; border: 1px solid #4e727e; border-radius: .6rem; color: #d4e8ef; background: #2a4855; font-size: .75rem; line-height: 1.7; overflow-wrap: anywhere; }
.gm-premium-notice--error { border-color: #bb7475; background: #512c32; color: #ffdbdb; }
.gm-premium-status { margin: 1rem 0; padding: .85rem; border: 1px solid #86cfad38; border-radius: .6rem; background: #70c69b0b; }
.gm-premium-status > span { display: flex; align-items: center; gap: .45rem; color: #a5e6c5; font-size: .74rem; font-weight: 600; }
.gm-premium-status p { margin: .45rem 0 0; color: #b3c9c1; font-size: .67rem; line-height: 1.7; }
.gm-premium-status p strong { color: #deeee7; font-weight: 500; }
.gm-premium-subscription { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .4rem; margin-top: 1rem; color: #acbfcb; font-size: .7rem; }
.gm-premium-subscription strong { color: #edf2f5; font-weight: 600; }
.gm-premium-manage { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .4rem; margin-top: 1rem; padding-top: .5rem; border-top: 1px solid #ffffff12; }
.gm-premium-manage button { display: inline-flex; align-items: center; gap: .35rem; min-height: 40px; padding: .25rem 0; border: 0; background: transparent; color: #d6e2e8; font-size: .67rem; text-decoration: underline; text-underline-offset: .2em; }
.gm-premium-manage .gm-premium-manage__cancel { color: #f1bcbc; }
.gm-premium-benefits { padding: 3.5rem 0; scroll-margin-top: 100px; }
.gm-premium-section-head { margin-bottom: 1.6rem; }
.gm-premium-kicker { display: block; color: var(--gm-copy, #617488); font-size: .6rem; font-weight: 800; letter-spacing: .13em; }
.gm-premium-section-head h2 { margin: .6rem 0 .4rem; color: var(--gm-ink, #142033); font-size: clamp(1.45rem, 2.5vw, 1.9rem); font-weight: 800; letter-spacing: -.03em; }
.gm-premium-section-head p { margin: 0; color: var(--gm-copy, #617488); font-size: .8rem; line-height: 1.7; }
.gm-premium-benefit-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.gm-premium-benefit { padding: 1.5rem; border: 1px solid var(--gm-border, #dfe7f0); border-radius: .9rem; background: var(--gm-surface, #fff); }
.gm-premium-benefit__icon { display: grid; place-items: center; width: 36px; height: 36px; margin-bottom: 1.2rem; border: 1px solid #c39a452f; border-radius: .65rem; background: #b48c2710; color: #926818; font-size: 1.05rem; }
.gm-premium-benefit h3 { margin: 0 0 .5rem; color: var(--gm-ink, #142033); font-size: .92rem; font-weight: 750; }
.gm-premium-benefit p { margin: 0; color: var(--gm-copy, #617488); font-size: .77rem; line-height: 1.85; }
.gm-premium-faq { display: grid; grid-template-columns: 1fr 1.4fr; gap: 3rem; padding-top: 2.5rem; border-top: 1px solid var(--gm-border, #dfe7f0); }
.gm-premium-faq details { border-bottom: 1px solid var(--gm-border, #dfe7f0); }
.gm-premium-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 56px; padding: 1rem 0; color: var(--gm-ink, #142033); font-size: .82rem; font-weight: 600; line-height: 1.5; list-style: none; cursor: pointer; }
.gm-premium-faq summary::-webkit-details-marker { display: none; }
.gm-premium-faq summary i { flex: none; font-size: 1.15rem; }
.gm-premium-faq details[open] summary i { transform: rotate(45deg); }
.gm-premium-faq details p { margin: 0 0 1.2rem; color: var(--gm-copy, #617488); font-size: .78rem; line-height: 1.85; }
.gm-premium-page :is(a, button, input, summary):focus-visible { outline: 3px solid #219cc1; outline-offset: 4px; }
.gm-premium-hero :is(a, button, input):focus-visible { outline-color: #f0cb7b; }
html[data-theme="dark"] .gm-premium-benefit__icon { color: #eaca86; }
@media (max-width: 991px) {
    .gm-premium-hero { gap: 1.8rem; padding: 2rem; }
    .gm-premium-card { padding: 1.4rem; }
    .gm-premium-preview p { max-width: 200px; }
}
@media (max-width: 767px) {
    .gm-premium-page { padding: 1rem 0 3rem; }
    .gm-premium-breadcrumb { margin-bottom: 1rem; }
    .gm-premium-hero { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; padding: 1.4rem; gap: 1.6rem; border-radius: 1rem; }
    .gm-premium-intro h1 { margin: 1.15rem 0 .8rem; font-size: 3.6rem; }
    .gm-premium-intro h1 br { display: none; }
    .gm-premium-intro h1 em::before { content: ' '; }
    .gm-premium-intro > p { max-width: 440px; font-size: .85rem; line-height: 1.75; }
    .gm-premium-explore { margin-top: .85rem; }
    .gm-premium-card { grid-column: auto; grid-row: auto; }
    .gm-premium-preview { padding-top: 1.25rem; }
    .gm-premium-preview p { max-width: none; }
    .gm-premium-benefits { padding: 2.5rem 0; }
    .gm-premium-benefit-grid { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
    .gm-premium-benefit { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: .35rem .85rem; padding: 1.15rem; }
    .gm-premium-benefit__icon { grid-row: 1 / 3; margin: 0; }
    .gm-premium-benefit h3 { align-self: center; margin: 0; }
    .gm-premium-benefit p { grid-column: 2; }
    .gm-premium-faq { grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: 2rem; }
    .gm-premium-faq .gm-premium-section-head { margin-bottom: .8rem; }
}
@media (max-width: 380px) {
    .gm-premium-hero { padding: 1.05rem; }
    .gm-premium-card { padding: 1.1rem; }
    .gm-premium-intro h1 { font-size: 3rem; }
    .gm-premium-button { font-size: .72rem; }
}
@media (prefers-reduced-motion: reduce) { .gm-premium-button { transition: none; } }
