/* Isolated Stage draft; existing shop pages keep their styles. */
#main.abo { padding: 20px 0 0; background: transparent; }
#main.abo .gt-abo { --abo-ink: #4c3427; --abo-muted: #745e4e; --abo-berry: #963c47; --abo-cream: #fffaf0; --abo-line: #dcc8a6; color: var(--abo-ink); text-align: left; }
.gt-abo *, .gt-abo *::before, .gt-abo *::after { box-sizing: border-box; }
#main .gt-abo [hidden] { display: none !important; }
#main .gt-abo h1, #main .gt-abo h2, #main .gt-abo h3 { padding: 0; color: var(--abo-ink); font-family: Chewy, Arial, sans-serif; font-weight: normal; }
#main .gt-abo h2 { margin: 0 0 12px; font-size: 32px; line-height: 1.2; }
#main .gt-abo h3 { margin: 0 0 9px; font-size: 22px; line-height: 1.25; }
#main .gt-abo p { margin: 0 0 14px; font-size: 15px; line-height: 1.65; }
#main .gt-abo a { color: var(--abo-berry); }
.gt-abo a:focus-visible, .gt-abo button:focus-visible, .gt-abo input:focus-visible, .gt-abo select:focus-visible, .gt-abo textarea:focus-visible, .gt-abo summary:focus-visible { outline: 3px solid #287363; outline-offset: 4px; }
#main .gt-abo .gt-abo-draft { display: flex; align-items: center; gap: 12px; padding: 10px 16px; border: 1px dashed #b89661; border-radius: 7px; background: #fff7e4; color: #65503b; font-size: 12px; line-height: 1.5; }
.gt-abo-draft span { flex-shrink: 0; padding: 2px 8px; border-radius: 4px; background: #eadabb; font-size: 10px; font-weight: bold; letter-spacing: .8px; text-transform: uppercase; }
.gt-abo-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; padding: 16px 2px; font-size: 12px; color: var(--abo-muted); }
.gt-abo-breadcrumb a { text-decoration: underline; text-underline-offset: 3px; }
.gt-abo-hero { display: grid; grid-template-columns: 1.12fr 1fr; overflow: hidden; border: 1px solid #d8bd8f; border-radius: 14px; background: var(--abo-cream); box-shadow: 0 6px 0 #cfad7340; }
.gt-abo-hero-copy { padding: 36px 30px 30px; }
#main .gt-abo .gt-abo-eyebrow { margin: 0 0 12px; color: #815c3e; font-size: 10px; font-weight: bold; letter-spacing: 1.5px; line-height: 1.6; text-transform: uppercase; }
#main .gt-abo h1 { margin: 0 0 18px; font-size: 51px; line-height: 1.06; letter-spacing: -.5px; }
.gt-abo h1 em { color: var(--abo-berry); font-style: normal; }
#main .gt-abo h1.gt-abo-product-title { font-size: clamp(32px, 3.6vw, 44px); line-height: 1.14; }
#main .gt-abo h1.gt-abo-product-title em { display: block; margin-top: 9px; font-size: .76em; line-height: 1.2; }
#main .gt-abo .gt-abo-lead { font-size: 17px; line-height: 1.5; }
#main .gt-abo-hero-copy > p:not(.gt-abo-eyebrow):not(.gt-abo-end-note) { max-width: 420px; }
.gt-abo-hero-price { display: flex; align-items: center; gap: 16px; margin: 22px 0; }
.gt-abo-hero-price > strong { flex-shrink: 0; color: var(--abo-berry); font-family: Chewy, Arial, sans-serif; font-weight: normal; font-size: 47px; line-height: 1; }
.gt-abo-hero-price > span { max-width: 230px; font-size: 13px; font-weight: bold; line-height: 1.4; }
.gt-abo-hero-price small { display: block; margin-top: 5px; font-size: 11px; font-weight: normal; color: var(--abo-muted); }
.gt-abo-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 18px; }
#main .gt-abo .gt-abo-button { display: inline-flex; gap: 10px; align-items: center; justify-content: center; min-height: 46px; padding: 12px 17px; border: 1px solid var(--abo-berry); border-radius: 6px; box-shadow: 0 3px 0 #6b2933; background: var(--abo-berry); color: #fffaf0; font: bold 13px/1.4 'Trebuchet MS', Arial, sans-serif; text-align: center; text-decoration: none; cursor: pointer; }
#main .gt-abo .gt-abo-button:hover { background: #7d303b; }
#main .gt-abo .gt-abo-text-link { display: inline-block; padding: 4px 0; font-size: 13px; font-weight: bold; text-decoration: underline; text-underline-offset: 4px; }
#main .gt-abo .gt-abo-end-note { margin: 18px 0 0; font-size: 12px; color: #38614d; }
.gt-abo-end-note span { margin-right: 5px; font-weight: bold; }
.gt-abo-hero-art { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 0; padding: 26px 25px 18px; border-left: 1px solid #e1cda5; background: radial-gradient(ellipse at 45% 36%, #fff9e7 0, #fff9e700 65%), #f3e2bd; }
.gt-abo-art-kicker { max-width: 280px; margin-bottom: 25px; font-family: Chewy, Arial, sans-serif; color: #7d4936; font-size: 23px; line-height: 1.25; text-align: center; transform: rotate(-3deg); }
.gt-abo-product-postcard { position: relative; display: flex; flex-direction: column; align-items: center; padding: 12px 12px 16px; border: 1px solid #e4d7bd; background: #fffef9; box-shadow: 0 8px 20px #62432018; transform: rotate(-5deg); }
.gt-abo-product-postcard img { display: block; width: 220px; max-width: 100%; height: auto; }
.gt-abo-postcard-caption { padding-top: 10px; color: #6b4932; font-size: 12px; }
.gt-abo-tape { position: absolute; top: -12px; left: calc(50% - 40px); z-index: 1; width: 80px; height: 25px; border: 1px solid #f0c67b88; background: #f6cc83bb; transform: rotate(5deg); }
.gt-abo-stamp { position: absolute; top: 145px; right: 13px; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 93px; height: 93px; border: 2px dashed #fff4df; border-radius: 50%; outline: 5px solid var(--abo-berry); background: var(--abo-berry); color: #fff4df; font-size: 11px; transform: rotate(10deg); }
.gt-abo-stamp strong { font: normal 34px/1.2 Chewy, Arial, sans-serif; }
.gt-abo-months { display: grid; grid-template-columns: repeat(6, 1fr); gap: 7px; width: 100%; max-width: 300px; margin-top: 32px; }
.gt-abo-months span { position: relative; display: flex; align-items: center; justify-content: center; min-height: 38px; border: 1px solid #d2bc92; border-top: 6px solid #b97174; border-radius: 4px; background: #fff8e9; }
.gt-abo-months span:nth-child(3n + 2) { border-top-color: #819779; }
.gt-abo-months span:nth-child(3n) { border-top-color: #c8994a; }
.gt-abo-months b { font-size: 12px; font-weight: normal; }
.gt-abo-months i { position: absolute; right: 3px; bottom: 0; color: #a34852; font-size: 8px; font-style: normal; }
#main .gt-abo .gt-abo-art-footnote { max-width: 290px; margin: 12px 0 0; font-size: 10px; line-height: 1.5; text-align: center; color: #6c5943; }
.gt-abo-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 25px 0 0; padding: 22px 12px; border-top: 1px solid #d7ba8d; border-bottom: 1px solid #d7ba8d; list-style: none; }
.gt-abo-facts li { padding: 0 8px; text-align: center; }
.gt-abo-facts li + li { border-left: 1px solid #d7ba8d; }
.gt-abo-facts strong { display: block; margin-bottom: 5px; font-family: Chewy, Arial, sans-serif; font-size: 21px; line-height: 1.2; font-weight: normal; }
.gt-abo-facts span { display: block; font-size: 12px; line-height: 1.5; }
.gt-abo-how { padding: 48px 4px; }
.gt-abo-section-intro { margin-bottom: 26px; }
.gt-abo-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 0; padding: 0; list-style: none; }
.gt-abo-steps li { display: flex; gap: 13px; }
.gt-abo-step-number { flex-shrink: 0; color: #a66646; font: normal 27px/1 Chewy, Arial, sans-serif; }
#main .gt-abo .gt-abo-steps h3 { font-size: 21px; }
#main .gt-abo .gt-abo-steps p { margin: 0; font-size: 13px; }
.gt-abo-gift-story { display: grid; grid-template-columns: 250px 1fr; gap: 36px; align-items: center; margin-bottom: 46px; padding: 30px 36px; border: 1px solid #b2bea6; border-radius: 10px; background: #e8eddf; }
.gt-abo-gift-story > div { min-width: 0; }
.gt-abo-gift-illustration { position: relative; display: flex; align-items: center; justify-content: center; min-height: 220px; }
.gt-abo-gift-tag { position: relative; display: block; width: 212px; padding: 38px 18px 28px; border: 1px solid #dfcaa5; border-radius: 4px; background: #fff8e6; box-shadow: 0 7px 0 #75836a20; color: var(--abo-berry); font: normal 40px/1.2 Chewy, Arial, sans-serif; text-align: center; transform: rotate(-7deg); }
.gt-abo-gift-tag::before { position: absolute; top: 13px; left: calc(50% - 4px); width: 8px; height: 8px; border-radius: 50%; background: #b8b896; content: ''; }
.gt-abo-gift-tag small { display: block; margin-top: 12px; color: #6b5542; font: normal 13px/1.4 'Trebuchet MS', Arial, sans-serif; }
.gt-abo-gift-ribbon { position: absolute; top: 9px; left: calc(50% - 3px); z-index: 1; width: 6px; height: 43px; border-radius: 4px; background: #b27a48; transform: rotate(-7deg); }
.gt-abo-gift-heart { position: absolute; right: 0; bottom: 3px; color: #9c4b55; font-size: 60px; transform: rotate(13deg); }
.gt-abo-config-section { padding: 35px; border: 1px solid #d7bf99; border-radius: 12px; background: var(--abo-cream); scroll-margin-top: 20px; }
.gt-abo-config-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 30px; align-items: start; }
.gt-abo-options { min-width: 0; }
#main .gt-abo fieldset { min-width: 0; margin: 0 0 25px; padding: 0; border: 0; }
#main .gt-abo legend, #main .gt-abo .gt-abo-field > label { display: block; width: 100%; margin: 0 0 11px; padding: 0; color: var(--abo-ink); font-size: 14px; font-weight: bold; line-height: 1.5; }
.gt-abo-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
#main .gt-abo .gt-abo-choice { display: flex; align-items: flex-start; gap: 9px; margin: 0; padding: 13px 11px; border: 1px solid #d8c8af; border-radius: 6px; background: #fffefa; cursor: pointer; }
#main .gt-abo .gt-abo-choice:has(input:checked) { border-color: var(--abo-berry); background: #faeef0; box-shadow: 0 0 0 1px var(--abo-berry); }
#main .gt-abo input[type="radio"] { flex: 0 0 auto; appearance: auto; float: none; width: 16px; height: 16px; margin: 2px 0 0; padding: 0; accent-color: var(--abo-berry); }
.gt-abo-choice span { min-width: 0; }
.gt-abo-choice strong { display: block; font-size: 13px; line-height: 1.4; }
.gt-abo-choice small { display: block; margin-top: 5px; color: var(--abo-muted); font-size: 11px; line-height: 1.4; }
#main .gt-abo .gt-abo-field-help { margin: 10px 0 0; color: var(--abo-muted); font-size: 11px; line-height: 1.6; }
.gt-abo-field { margin-bottom: 20px; }
#main .gt-abo .gt-abo-field > label span { font-size: 11px; font-weight: normal; }
#main .gt-abo select, #main .gt-abo input[type="text"], #main .gt-abo textarea { display: block; width: 100%; min-height: 45px; margin: 0; padding: 11px 12px; border: 1px solid #bda98b; border-radius: 5px; background: #fffefa; box-shadow: none; color: var(--abo-ink); font: normal 16px/1.4 'Trebuchet MS', Arial, sans-serif; }
#main .gt-abo textarea { min-height: 100px; resize: vertical; }
.gt-abo-gift-fields { margin-top: 25px; padding: 20px 18px; border: 1px solid #d2b7ae; border-radius: 7px; background: #faf0e9; }
.gt-abo-summary { position: sticky; top: 20px; min-width: 0; padding: 24px 22px; border: 1px solid #bbcaad; border-radius: 8px; background: #eef1e6; }
.gt-abo-summary-kicker { display: block; margin-bottom: 8px; color: #56704d; font-size: 10px; font-weight: bold; text-transform: uppercase; letter-spacing: 1.3px; }
#main .gt-abo .gt-abo-summary-size { margin-bottom: 22px; font-size: 12px; }
.gt-abo-summary-price strong { display: block; font: normal 50px/1 Chewy, Arial, sans-serif; color: var(--abo-berry); }
.gt-abo-summary-price span { display: block; margin-top: 6px; font-size: 12px; }
#main .gt-abo .gt-abo-summary-tax { margin: 12px 0 20px; color: #5b624e; font-size: 11px; line-height: 1.6; }
.gt-abo-summary-details { margin: 0 0 20px; padding: 15px 0; border-top: 1px solid #cbd2bf; border-bottom: 1px solid #cbd2bf; font-size: 12px; }
.gt-abo-summary-details > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.gt-abo-summary-details > div:last-child { margin-bottom: 0; }
.gt-abo-summary-details dt { flex-shrink: 0; color: #62674f; }
.gt-abo-summary-details dd { margin: 0; overflow-wrap: anywhere; text-align: right; font-weight: bold; }
#main .gt-abo .gt-abo-summary-end { margin-bottom: 19px; color: #3d6245; font-size: 11px; line-height: 1.7; }
.gt-abo-summary .gt-abo-button { width: 100%; }
#main .gt-abo .gt-abo-preview-note { margin: 12px 0 0; color: #6d6150; font-size: 11px; line-height: 1.6; }
.gt-abo-preview { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: center; margin-top: 30px; padding: 26px; border: 1px dashed #a4b092; border-radius: 7px; background: #f5f4e9; scroll-margin-top: 24px; }
.gt-abo-preview:has(.gt-abo-gift-card:not([hidden])) { grid-template-columns: 1fr 1fr; }
.gt-abo-preview:focus { outline: 3px solid #287363; outline-offset: 4px; }
#main .gt-abo .gt-abo-preview-total { font-size: 13px; }
.gt-abo-gift-card { padding: 24px 20px; border: 1px solid #d9bb97; border-top: 7px solid #a34f58; background: #fff9ec; box-shadow: 3px 5px 0 #e6dbc4; text-align: center; overflow-wrap: anywhere; }
#main .gt-abo .gt-abo-gift-card .gt-abo-eyebrow { font-size: 9px; letter-spacing: .8px; }
#main .gt-abo .gt-abo-card-to { margin: 18px 0 10px; font-size: 14px; }
#main .gt-abo .gt-abo-card-title { margin-bottom: 18px; color: var(--abo-berry); font: normal 32px/1.1 Chewy, Arial, sans-serif; }
#gt-abo-card-message { white-space: pre-wrap; }
#main .gt-abo .gt-abo-card-from { margin: 20px 0 0; color: #806950; font-size: 10px; }
.gt-abo-faq { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 40px; padding: 46px 5px 30px; }
.gt-abo-faq details { padding: 15px 0; border-bottom: 1px solid #d4b98f; }
.gt-abo-faq details:first-child { padding-top: 0; }
.gt-abo-faq summary { padding: 3px 20px 3px 0; font-size: 14px; line-height: 1.5; font-weight: bold; cursor: pointer; }
#main .gt-abo .gt-abo-faq details p { margin: 12px 0 0; font-size: 13px; }
#main .gt-abo .gt-abo-bottom-note { margin: 0; padding: 18px 12px 10px; border-top: 1px solid #d4b98f; color: #7a5236; font: normal 24px/1.4 Chewy, Arial, sans-serif; text-align: center; }
.gt-abo-noscript { padding: 12px; border: 1px solid #bba078; background: #fff2d0; }
.gt-abo-tags-section { margin-top: 34px; padding-top: 30px; border-top: 1px solid var(--abo-line); scroll-margin-top: 22px; }
.gt-abo-tags-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 26px; }
.gt-abo-tags-heading > div:first-child { max-width: 540px; }
#main .gt-abo .gt-abo-tags-heading h3 { margin-bottom: 12px; font-size: 29px; }
#main .gt-abo .gt-abo-tags-heading p:not(.gt-abo-eyebrow) { font-size: 14px; }
.gt-abo-tags-actions { display: flex; flex: 0 0 205px; flex-direction: column; gap: 14px; padding-top: 18px; }
.gt-abo-tags-undo { padding: 3px 0; border: 0; background: transparent; color: var(--abo-berry); font: normal 12px/1.5 'Trebuchet MS', Arial, sans-serif; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
#main .gt-abo .gt-abo-tags-help { margin: 0 0 14px; max-width: 720px; color: var(--abo-muted); font-size: 12px; }
#main .gt-abo .gt-abo-tags-status { margin-bottom: 25px; padding: 10px 13px; border: 1px solid #c6d1b8; border-radius: 5px; background: #edf2e7; color: #3f6348; font-size: 12px; }
#main .gt-abo .gt-abo-tags-status.is-invalid { border-color: #b96b6b; background: #fff0ef; color: #8c303a; }
.gt-abo-tags-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 18px; margin: 0 0 25px; padding: 0; list-style: none; }
.gt-abo-tag { position: relative; min-width: 0; padding: 29px 15px 13px; border: 1px solid #d8c29b; border-top: 5px solid #b66a70; border-radius: 6px; background: #fff7e4; box-shadow: 0 4px 0 #b9a48022; }
.gt-abo-tag:nth-child(3n + 2) { border-top-color: #7e9777; background: #f1f4e7; }
.gt-abo-tag:nth-child(3n) { border-top-color: #c39c55; background: #fff5dc; }
.gt-abo-tag::before { position: absolute; top: 8px; left: calc(50% - 4px); width: 8px; height: 8px; border: 1px solid #c4af8c; border-radius: 50%; background: var(--abo-cream); content: ''; }
#main .gt-abo .gt-abo-tag > label { display: block; margin: 0 0 8px; color: #806b52; font-size: 10px; line-height: 1.5; font-weight: bold; text-align: center; }
#main .gt-abo .gt-abo-tag textarea { width: 100%; min-height: 88px; margin: 0; padding: 10px 7px; border: 1px dashed #c8b28d; border-radius: 4px; background: #fffdfa99; color: #783d3d; font: normal 21px/1.3 Chewy, Arial, sans-serif; text-align: center; resize: vertical; overflow-wrap: anywhere; }
#main .gt-abo .gt-abo-tag textarea:hover { border-color: #9d745b; }
.gt-abo-tag-count { display: block; margin-top: 8px; color: #796850; font-size: 10px; line-height: 1.5; text-align: right; }
.gt-abo-tag.is-invalid { border-color: #b05b66; background: #fff0ef; }
.gt-abo-tag.is-invalid textarea { border-color: #b05b66; }
.gt-abo-tag-error { display: block; margin-top: 8px; color: #8c303a; font-size: 11px; line-height: 1.5; }
#main .gt-abo .gt-abo-tag-jump { margin: -1px 0 17px; font-size: 12px; }
#main .gt-abo .gt-abo-button:disabled { border-color: #a19a8c; background: #d6d1c5; box-shadow: none; color: #625e55; cursor: not-allowed; }
.gt-abo-tag-preview { grid-column: 1 / -1; padding-top: 22px; border-top: 1px solid var(--abo-line); }
.gt-abo-tag-preview ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0 0; padding: 0; list-style: none; }
.gt-abo-tag-preview li { min-width: 0; padding: 14px 12px; border: 1px solid #dcc7a6; border-radius: 4px; background: #fffbef; text-align: center; }
.gt-abo-tag-preview li span { display: block; margin-bottom: 9px; color: #7c6852; font-size: 10px; line-height: 1.5; }
.gt-abo-tag-preview li strong { display: block; overflow-wrap: anywhere; color: #783d3d; font: normal 20px/1.3 Chewy, Arial, sans-serif; }
@media (min-width: 761px) and (max-width: 1000px) {
    body:has(.gt-abo) #header-content .gt-header-logo { display: block; width: clamp(180px, calc(100% - 548px), 380px) !important; margin-top: 34px; }
    body:has(.gt-abo) #header-content .gt-header-logo img { width: 100% !important; height: auto !important; }
    #main.abo { width: calc(100% - 32px); max-width: 960px; }
    .gt-abo-hero-copy { padding: 28px 23px; }
    #main .gt-abo h1 { font-size: 45px; }
    .gt-abo-config-section { padding: 27px; }
    .gt-abo-config-grid { gap: 22px; }
    .gt-abo-tags-list, .gt-abo-tag-preview ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    html:has(.gt-abo) { height: auto; overflow-x: clip !important; overflow-y: auto; }
    body:has(.gt-abo), body:has(.gt-abo) .page { height: auto; min-height: 100vh; overflow: visible !important; }
    #main.abo { width: auto; padding-top: 12px; margin: 0 10px; overflow: visible !important; }
    #main .gt-abo .gt-abo-draft { display: block; padding: 10px 12px; font-size: 11px; }
    .gt-abo-draft span { display: inline-block; margin: 0 5px 4px 0; }
    .gt-abo-breadcrumb { padding: 13px 2px; }
    .gt-abo-hero { grid-template-columns: 1fr; }
    .gt-abo-hero-copy { padding: 25px 23px; }
    #main .gt-abo h1 { font-size: 44px; }
    #main .gt-abo .gt-abo-eyebrow { font-size: 9px; letter-spacing: 1.1px; }
    #main .gt-abo .gt-abo-lead { font-size: 16px; }
    .gt-abo-hero-price { gap: 12px; margin: 22px 0; }
    .gt-abo-hero-price > strong { font-size: 44px; }
    .gt-abo-hero-price > span { font-size: 12px; }
    .gt-abo-hero-price small { font-size: 10px; }
    .gt-abo-actions { flex-direction: column; align-items: stretch; gap: 12px; }
    .gt-abo-actions .gt-abo-text-link { align-self: center; }
    .gt-abo-hero-art { padding: 24px 24px 17px; border-left: 0; border-top: 1px solid #e1cda5; }
    .gt-abo-art-kicker { margin-bottom: 22px; font-size: 22px; }
    .gt-abo-stamp { top: 92px; right: 16px; width: 78px; height: 78px; font-size: 9px; }
    .gt-abo-stamp strong { font-size: 29px; }
    .gt-abo-months { margin-top: 25px; }
    .gt-abo-facts { grid-template-columns: 1fr; gap: 14px; margin-top: 21px; padding: 20px 10px; }
    .gt-abo-facts li + li { padding-top: 14px; border-left: 0; border-top: 1px solid #d7ba8d; }
    .gt-abo-facts strong { font-size: 22px; }
    .gt-abo-how { padding: 32px 8px; }
    #main .gt-abo h2 { font-size: 29px; }
    .gt-abo-steps { grid-template-columns: 1fr; gap: 23px; }
    .gt-abo-steps li { gap: 15px; }
    .gt-abo-step-number { width: 30px; }
    .gt-abo-gift-story { grid-template-columns: 1fr; gap: 16px; margin-bottom: 32px; padding: 23px; }
    .gt-abo-gift-illustration { width: 235px; max-width: 100%; min-height: 205px; margin: 0 auto; }
    .gt-abo-config-section { padding: 25px 18px; }
    .gt-abo-tags-heading { flex-direction: column; gap: 3px; }
    .gt-abo-tags-actions { flex: 0 0 auto; width: 100%; padding: 0 0 18px; }
    .gt-abo-tags-list, .gt-abo-tag-preview ol { grid-template-columns: 1fr; }
    .gt-abo-tags-list { gap: 20px; }
    #main .gt-abo .gt-abo-tags-heading h3 { font-size: 27px; }
    #main .gt-abo .gt-abo-tag textarea { min-height: 83px; font-size: 23px; }
    .gt-abo-tags-section > .gt-abo-button { width: 100%; }
    .gt-abo-config-grid { grid-template-columns: 1fr; gap: 22px; }
    .gt-abo-choice-grid { gap: 8px; }
    #main .gt-abo .gt-abo-choice { gap: 7px; padding: 12px 9px; }
    .gt-abo-summary { position: static; padding: 23px 20px; }
    .gt-abo-gift-fields { padding: 17px 13px; }
    .gt-abo-preview, .gt-abo-preview:has(.gt-abo-gift-card:not([hidden])) { grid-template-columns: 1fr; padding: 19px 15px; }
    .gt-abo-faq { grid-template-columns: 1fr; gap: 18px; padding: 34px 8px 26px; }
    #main .gt-abo .gt-abo-bottom-note { font-size: 22px; }
}
@media (max-width: 350px) {
    .gt-abo-hero-copy { padding: 23px 18px; }
    #main .gt-abo h1 { font-size: 40px; }
    .gt-abo-config-section { padding: 23px 13px; }
    .gt-abo-choice-grid { grid-template-columns: 1fr; }
    .gt-abo-hero-art { padding-left: 17px; padding-right: 17px; }
    .gt-abo-stamp { right: 10px; }
}
@media print {
    .gt-abo-draft, .gt-abo-options, .gt-abo-summary .gt-abo-button { display: none; }
    .gt-abo-summary { position: static; }
}

#main .gt-abo #gt-abo-order-form { display:block; margin:0; padding:0; border:0; background:transparent; }
.gt-abo-checkout-action { grid-column:1 / -1; padding-top:18px; border-top:1px solid var(--abo-line); }
.gt-abo-order-error { padding:14px; border:1px solid #a65360; border-radius:5px; background:#fff0ef; color:#8c303a; }
