.utility-state {
    max-width: 760px;
    margin: 16px auto 0;
    padding: clamp(24px, 5vw, 58px) clamp(14px, 4vw, 36px);
    border-radius: var(--radius-panel);
}
.utility-state h1 { font-size: var(--type-title); line-height: 1.2; }
.utility-state h2 { font-size: var(--type-panel); line-height: 1.3; }
.success-state { max-width: 760px; }
.success-state > .button { margin-top: 16px; }

.content-area .prose {
    max-width: 76ch;
    padding: clamp(16px, 4vw, 36px);
    line-height: 1.65;
    overflow-wrap: anywhere;
}
.prose h2 { margin: 28px 0 12px; font-size: 22px; line-height: 1.35; letter-spacing: -.015em; }
.prose h3 { margin: 24px 0 10px; font-size: 18px; line-height: 1.4; }
.prose > :first-child { margin-top: 0; }
.prose p + p, .prose :is(ul, ol) { margin-top: 12px; }
.prose :is(ul, ol) { padding-inline-start: 1.4em; }
.prose li + li { margin-top: .4em; }
.prose a { text-decoration: underline; text-underline-offset: .16em; }

.woocommerce :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) {
    border-inline-start: 3px solid var(--notice-color, #525d70);
    background: var(--notice-bg, #f7f8fb);
    color: var(--ink);
    overflow-wrap: anywhere;
    margin: 0 0 16px;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.5;
    list-style: none;
}
.woocommerce .woocommerce-error { --notice-color: #ab1833; --notice-bg: #fff3f5; }
.woocommerce .woocommerce-message { --notice-color: #28714c; --notice-bg: #f1faf5; }
.woocommerce-error li + li { margin-top: 6px; }
.woocommerce :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) a:not(.button) {
    text-decoration: underline;
    text-underline-offset: .16em;
}
.woocommerce .woocommerce-invalid :is(input.input-text, select, textarea) {
    border-color: #ab1833;
}
.park-notices {
    position: fixed;
    z-index: 1200;
    inset-inline-end: 20px;
    bottom: max(20px, env(safe-area-inset-bottom));
    display: grid;
    gap: 8px;
    width: min(390px, calc(100% - 40px));
    max-height: 45dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
}
.park-notice {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 8px 8px 8px 14px;
    border: 1px solid var(--line);
    border-inline-start: 3px solid #656574;
    border-radius: 9px;
    background: #fff;
    color: var(--ink);
    box-shadow: 0 4px 16px #17171b14;
    font-size: 14px;
    line-height: 1.5;
    animation: park-notice-in .18s ease-out;
}
.park-notice[data-type="success"] { border-inline-start-color: #28714c; }
.park-notice[data-type="error"] { border-inline-start-color: var(--red); }
.park-notice-content { margin: 0; padding: 0; list-style: none; overflow-wrap: anywhere; }
.park-notice-content li + li { margin-top: 6px; }
.park-notice-content a,
.park-notice-content a.button {
    display: inline;
    float: none;
    padding: 0;
    border: 0;
    background: none;
    color: var(--red);
    font: inherit;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: .15em;
}
.park-notice > button {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--ink);
    font-size: 22px;
    line-height: 1;
}
.park-notice > button:active { background: var(--interaction-pressed); }
@media (hover: hover) and (pointer: fine) {
    .park-notice > button:hover { background: var(--interaction-hover); }
    .park-notice-content a:hover { color: #a61933; }
}
.park-notice > button:focus-visible { outline-offset: -2px; }
@keyframes park-notice-in {
    from { opacity: 0; transform: translateY(6px); }
}
@media (max-width: 600px) {
    .park-notices {
        inset-inline: 12px;
        bottom: max(12px, env(safe-area-inset-bottom));
        width: auto;
    }
}
@media (prefers-reduced-motion: reduce) {
    .park-notice { animation: none; }
}
.woocommerce :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--red); }
.woocommerce :is(.woocommerce-order, .woocommerce-customer-details, .woocommerce-order-details) {
    overflow-wrap: anywhere;
}
.woocommerce .woocommerce-thankyou-order-received {
    border-inline-start: 3px solid #28714c;
    border-radius: 8px;
    background: #f1faf5;
    padding: 15px 18px;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 600;
}
.woocommerce .woocommerce-order-overview {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    padding: 16px 18px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
    list-style: none;
}

.woocommerce-account .site-main > .content-area > .woocommerce { margin-top: var(--space-4); }
.woocommerce-account .content-area > .woocommerce > h2,
.woocommerce-account #customer_login h2 { margin-bottom: var(--space-3); }
.woocommerce-account #customer_login {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-6);
    max-width: 984px;
}
.woocommerce-account #customer_login > div {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.woocommerce-account #customer_login form { flex: 1; }
.woocommerce-account :is(.woocommerce-form-login, .woocommerce-form-register, .lost_reset_password, .woocommerce-MyAccount-content) {
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
    background: var(--white);
    padding: clamp(16px, 3vw, 28px);
    min-width: 0;
}
.woocommerce-account :is(.woocommerce-form-login, .lost_reset_password) { max-width: 480px; }
.woocommerce-account .lost_reset_password > p:first-of-type { color: var(--muted); }
.woocommerce-account :is(.woocommerce-form-login, .woocommerce-form-register, .lost_reset_password) .form-row { width: 100%; float: none; }
.woocommerce-account .woocommerce form .form-row { margin: var(--space-4) 0; }
.woocommerce-account .woocommerce :is(.woocommerce-form-login, .woocommerce-form-register, .lost_reset_password) > p:first-of-type { margin-top: 0; }
.woocommerce-account :is(.woocommerce-form-register, .lost_reset_password) > .form-row:last-of-type { margin-bottom: 0; }
.woocommerce-account .woocommerce-form-register .woocommerce-privacy-policy-link { text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-account .woocommerce form label {
    margin-bottom: var(--space-2);
    font-size: var(--type-label);
    font-weight: var(--weight-medium);
    line-height: 1.5;
}
.woocommerce-account .woocommerce form :is(.input-text, select) {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--ink);
    background: var(--white);
    font-size: 16px;
    line-height: 1.5;
}
.woocommerce-account .woocommerce .password-input { display: block; position: relative; }
.woocommerce-account .woocommerce .password-input .input-text { padding-inline-end: 52px; }
.woocommerce-account .show-password-input {
    position: absolute;
    inset: 1px 1px 1px auto;
    display: grid;
    place-items: center;
    width: 44px;
    padding: 0;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--muted);
}
.woocommerce-account .show-password-input::before {
    content: "";
    width: 20px;
    height: 20px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.65' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.5-6 10-6 10 6 10 6-3.5 6-10 6S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='2.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce-account .show-password-input.display-password::after {
    content: "";
    position: absolute;
    width: 19px;
    height: 1.5px;
    background: currentColor;
    transform: rotate(-42deg);
}
.woocommerce-account .show-password-input:focus-visible { outline-offset: -3px; }
.woocommerce-account .woocommerce .woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    width: fit-content;
    min-height: 44px;
}
.woocommerce-account .woocommerce-form-login__rememberme input { margin: 0; }
.woocommerce-account .content-area .woocommerce :is(.woocommerce-form, .lost_reset_password, .woocommerce-EditAccountForm) button.button {
    border-color: var(--red);
    background: var(--red);
    color: var(--white);
}
.woocommerce-account :is(.woocommerce-form-login, .woocommerce-form-register, .lost_reset_password) button.button { width: 100%; }
.woocommerce-account .woocommerce .lost_password { font-size: var(--type-label); }
.woocommerce-account :is(.lost_password, .woocommerce-MyAccount-content > p) a {
    color: var(--red);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.woocommerce-account .content-area > .woocommerce:has(> .woocommerce-MyAccount-navigation) {
    display: grid;
    grid-template-columns: minmax(192px, 232px) minmax(0, 1fr);
    align-items: start;
    gap: var(--space-6);
}
.woocommerce-account .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 1; }
.woocommerce-account .woocommerce-MyAccount-content { grid-column: 2; grid-row: 1; overflow-wrap: anywhere; }
.woocommerce-account .content-area > .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: grid;
    gap: 3px;
    list-style: none;
    margin: 0;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: var(--radius-panel);
    background: var(--white);
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: var(--type-label);
    font-weight: var(--weight-medium);
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
    background: #faedf0;
    color: #a61933;
    box-shadow: inset 2px 0 var(--red);
}
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout {
    margin-top: 4px;
    padding-top: 4px;
    border-top: 1px solid var(--line);
}
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a {
    color: var(--muted);
}
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible { outline-offset: -2px; }
.woocommerce-account .content-area[aria-busy="true"] .woocommerce-MyAccount-navigation a { cursor: progress; }
.woocommerce-account .woocommerce-MyAccount-content > :is(h2, h3, p) + :is(h2, h3, form, table, section) { margin-top: var(--space-4); }
.woocommerce-account .woocommerce-MyAccount-content :is(fieldset, address) {
    margin: var(--space-4) 0 0;
    padding: var(--space-4);
    border: 1px solid var(--line);
    border-radius: 8px;
}
.woocommerce-account .woocommerce-MyAccount-content address { font-style: normal; }
.woocommerce-account .woocommerce-MyAccount-content legend {
    padding-inline: var(--space-2);
    font-size: var(--type-label);
    font-weight: var(--weight-medium);
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
    max-width: 680px;
}
.woocommerce-account .woocommerce .woocommerce-EditAccountForm > * { grid-column: 1 / -1; min-width: 0; margin: 0; }
.woocommerce-account .woocommerce .woocommerce-EditAccountForm > :is(.form-row-first, .form-row-last) { grid-column: span 1; }
.woocommerce-account .woocommerce .woocommerce-EditAccountForm > .clear { display: none; }
.woocommerce-account .woocommerce .woocommerce-EditAccountForm > .form-row { float: none; width: auto; margin: 0; }
.woocommerce-account #account_display_name_description {
    display: block;
    margin-top: var(--space-2);
    color: var(--muted);
    font-size: var(--type-label);
}
.woocommerce-account #account_display_name_description em { font-style: normal; }
.woocommerce-account .park-account-password { border: 1px solid var(--line); border-radius: 8px; }
.woocommerce-account .park-account-password summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    min-height: 46px;
    padding: 8px var(--space-4);
    border-radius: 7px;
    cursor: pointer;
    font-size: var(--type-label);
    font-weight: var(--weight-medium);
    list-style: none;
}
.woocommerce-account .park-account-password summary::-webkit-details-marker { display: none; }
.woocommerce-account .park-account-password summary::after {
    content: "";
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border: solid currentColor;
    border-width: 0 1.5px 1.5px 0;
    transform: translateY(-2px) rotate(45deg);
}
.woocommerce-account .park-account-password[open] summary::after { transform: translateY(2px) rotate(225deg); }
.woocommerce-account .park-account-password fieldset { min-width: 0; margin: 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; }
.woocommerce-account .park-account-password fieldset .form-row:first-of-type { margin-top: 0; }
.woocommerce-account .park-account-password fieldset .form-row:last-of-type { margin-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-3) var(--space-4);
    margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-info:has(.park-empty-orders) {
    padding: 0;
    border: 0;
    background: none;
    color: var(--muted);
}
.park-favorites-guest { margin-bottom: var(--space-4); color: var(--muted); }
.park-favorites-guest a { color: var(--red); text-decoration: underline; text-underline-offset: 3px; }
.park-favorites-empty { color: var(--muted); }
.park-favorites .woocommerce ul.products,
.woocommerce .park-favorites ul.products { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-content:has(> .park-favorites .park-product-card) {
    padding: 0;
    border: 0;
    background: none;
}
@media (min-width: 960px) {
    .woocommerce-account .content-area > .woocommerce:has(> .woocommerce-MyAccount-content > .park-favorites) {
        grid-template-columns: var(--catalog-sidebar-width) minmax(0, 1fr);
        column-gap: var(--catalog-sidebar-gap);
    }
    .woocommerce > .park-favorites [data-favorites-list] > ul.products {
        max-width: calc(100% - var(--catalog-sidebar-width) - var(--catalog-sidebar-gap));
    }
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table { font-size: var(--type-label); }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number a { text-decoration: underline; text-underline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
    .woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active) a:hover {
        text-decoration: underline;
        text-underline-offset: 3px;
    }
    .woocommerce-account .park-account-password summary:hover { background: var(--interaction-hover); }
    .woocommerce-account .show-password-input:hover { color: var(--ink); background: var(--interaction-hover); }
    .woocommerce-account .content-area .woocommerce :is(.woocommerce-form, .lost_reset_password, .woocommerce-EditAccountForm) button.button:hover {
        border-color: #a61933;
        background: #a61933;
    }
}
@media (max-width: 760px) {
    .woocommerce-account #customer_login { grid-template-columns: minmax(0, 1fr); max-width: 480px; }
    .woocommerce-account .content-area > .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
    .woocommerce-account .woocommerce-MyAccount-content { grid-column: 1; grid-row: 2; }
    .woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .woocommerce-account .woocommerce-MyAccount-navigation li:not(.woocommerce-MyAccount-navigation-link--customer-logout) a {
        justify-content: center;
        height: 100%;
        padding-inline: 6px;
        text-align: center;
        line-height: 1.3;
    }
    .woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout { grid-column: 1 / -1; }
    .woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-orders-table, .woocommerce-table--order-downloads) thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
    }
    .woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-orders-table, .woocommerce-table--order-downloads) :is(tbody, tr) { display: block; }
    .woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-orders-table, .woocommerce-table--order-downloads) :is(th[scope="row"], td) {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: var(--space-2) var(--space-3);
        flex-wrap: wrap;
        padding: var(--space-2) var(--space-3);
    }
    .woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-orders-table, .woocommerce-table--order-downloads) :is(th[scope="row"], td)[data-title]::before {
        content: attr(data-title);
        font-weight: var(--weight-medium);
    }
}
@media (max-width: 600px) {
    .woocommerce-account .woocommerce-MyAccount-content .woocommerce-EditAccountForm { grid-template-columns: minmax(0, 1fr); }
}

@media (760px < width < 960px) {
    .woocommerce-account .content-area > .woocommerce:has(> .woocommerce-MyAccount-content > .park-favorites) {
        grid-template-columns: minmax(0, 1fr);
    }
    .woocommerce-account .woocommerce-MyAccount-content:has(> .park-favorites) {
        grid-column: 1;
        grid-row: 2;
    }
    .woocommerce-account .content-area > .woocommerce:has(> .woocommerce-MyAccount-content > .park-favorites) > .woocommerce-MyAccount-navigation ul {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        align-items: center;
    }
    .woocommerce-account .content-area > .woocommerce:has(> .woocommerce-MyAccount-content > .park-favorites) .woocommerce-MyAccount-navigation-link--customer-logout {
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
    }
}

.request-form .terms input:focus-visible + span { outline: 2px solid var(--interaction-focus); outline-offset: 2px; }
.request-form .terms span { min-height: 44px; }
.credit-main { max-width: 100%; }
.payment output { overflow-wrap: anywhere; }

body.login {
    background: #f7f7f9;
    color: #211f26;
    font-family: var(--font-store);
    font-size: 14px;
    line-height: 1.5;
}
.login #login { width: min(420px, calc(100% - 32px)); padding-top: clamp(25px, 8vh, 75px); }
.login h1 a {
    width: 100%;
    height: 68px;
    margin-bottom: 18px;
    border-radius: 12px;
    background: #191619 url(logo.svg) center / 174px auto no-repeat;
}
.login form { border-color: #dedee5; border-radius: 12px; box-shadow: none; }
.login form .input { border-color: #ceccd6; font-family: inherit; font-size: 16px; line-height: 1.5; }
.login form label { display: block; margin-bottom: 6px; font-size: 14px; line-height: 1.5; font-weight: 600; }
.login :is(.message, .notice, .success), .login #login_error { font-size: 14px; line-height: 1.5; }
.login :is(#nav, #backtoblog) { font-size: 14px; line-height: 1.5; }
.login :is(.message, .notice, .success) { border-radius: 8px; box-shadow: none; }
.login #login .button-primary { background: #a61933; border-color: #a61933; font: 700 14px/1.4 var(--font-store); min-height: 44px; padding: 10px 16px; }
@media (hover: hover) and (pointer: fine) {
    .login .button-primary:hover { background: #881329; border-color: #881329; }
}
.login .button-primary:active { background: #781124; border-color: #781124; }
.login :is(a, button, input):focus-visible { outline: 2px solid #a61933; outline-offset: 2px; }

@media (max-width: 600px) {
    .woocommerce .woocommerce-order-overview { gap: 10px 16px; }
    .request-form .terms { flex-wrap: wrap; }
}
