:root {
    --botanical-bg: #F7F3EA;
    --botanical-surface: #FFFDF8;
    --botanical-surface-strong: #F4F0E4;
    --botanical-primary: #2F4938;
    --botanical-body: #283229;
    --botanical-secondary: #A8B59C;
    --botanical-accent: #B76E58;
    --botanical-gold: #C6A15B;
    --botanical-border: rgba(47, 73, 56, 0.15);
    --botanical-shadow: rgba(47, 73, 56, 0.12);
    --botanical-muted: #59665C;
    --botanical-button-text: #FFFDF8;
    --botanical-focus: rgba(198, 161, 91, 0.35);
}

html {
    min-height: 100%;
    background: var(--botanical-bg);
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: var(--botanical-bg);
    color: var(--botanical-body);
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    line-height: 1.6;
}

main.main {
    flex: 1 0 auto;
    padding: 0;
}

.site-footer {
    flex-shrink: 0;
}

.container {
    max-width: 116rem;
    margin: 0 auto;
    padding: 0 2rem;
}

.content,
.users.form.content,
.contactForms.form.content,
.product-card {
    background: var(--botanical-surface);
    border: 1px solid var(--botanical-border);
    border-radius: 1.4rem;
    box-shadow: 0 1rem 2.8rem var(--botanical-shadow);
}

.content {
    padding: 2.5rem;
}

h1,
h2,
h3,
h4,
h5,
h6,
legend,
.top-nav-title a,
.catalog-nav-links a,
.product-category,
.user-filters a,
.message,
.pagination a,
.side-nav-item {
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
legend {
    color: var(--botanical-primary);
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.25;
}

h1 {
    margin-bottom: 1.5rem;
}

h2,
h3 {
    margin-bottom: 1rem;
}

p,
li,
label,
th,
td,
legend,
button,
input,
select,
textarea {
    color: var(--botanical-body);
}

p {
    margin-bottom: 1.2rem;
}

strong {
    color: var(--botanical-primary);
}

a {
    color: var(--botanical-primary);
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

a:hover,
a:focus,
a:active {
    color: var(--botanical-accent);
}

:focus-visible {
    outline: 3px solid var(--botanical-gold);
    outline-offset: 3px;
    box-shadow: 0 0 0 5px var(--botanical-focus);
}

.top-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    max-width: none;
    padding: 1.5rem clamp(1.5rem, 3vw, 3rem);
    margin: 0;
    background: var(--botanical-primary);
    border: 0;
    box-shadow: none;
}

.top-nav-title a,
.top-nav-links a,
.top-nav-links a.current-page,
footer,
footer a {
    color: var(--botanical-button-text);
}

.top-nav-title a {
    font-size: clamp(2rem, 3vw, 2.8rem);
    font-weight: 700;
    letter-spacing: 0.03em;
    text-decoration: none;
}

.top-nav-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem 1rem;
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
}

.top-nav-links a {
    font-weight: 700;
    padding: 0.4rem 0.7rem;
    border-radius: 999px;
    text-decoration: none;
}

.top-nav-links a:hover,
.top-nav-links a:focus,
.top-nav-links a:active,
.top-nav-links a.current-page {
    color: var(--botanical-gold);
    background: rgba(255, 255, 255, 0.08);
    text-decoration: none;
}

.catalog-nav {
    background: var(--botanical-secondary);
    border: 0;
    border-top: 1px solid rgba(47, 73, 56, 0.18);
    border-bottom: 1px solid rgba(47, 73, 56, 0.18);
    overflow-x: auto;
}

.catalog-nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem 3.5rem;
    max-width: 116rem;
    min-width: max-content;
    padding: 1.5rem 2rem;
    margin: 0 auto;
}

.catalog-nav-links a {
    color: var(--botanical-primary);
    font-weight: 700;
    text-decoration: none;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 1.4rem;
}

.catalog-nav-links a:hover,
.catalog-nav-links a:focus,
.catalog-nav-links a:active {
    color: var(--botanical-accent);
}

.footer,
footer {
    background: var(--botanical-primary);
    color: var(--botanical-button-text);
    text-align: center;
    padding: 3rem 1.5rem;
}

footer a {
    color: var(--botanical-button-text);
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}

footer a:hover,
footer a:focus,
footer a:active {
    color: var(--botanical-gold);
}

.footer-content {
    max-width: 118rem;
    margin: 0 auto;
    text-align: left;
}

.site-footer .footer-content p,
.site-footer .footer-content strong {
    color: var(--botanical-button-text);
}

.site-footer .footer-content p {
    margin: 0;
}

.footer-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) repeat(2, minmax(14rem, 1fr));
    gap: clamp(2.5rem, 6vw, 7rem);
}

.footer-about {
    max-width: 48rem;
}

.site-footer .footer-brand {
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.site-footer .footer-description,
.site-footer .footer-contact {
    margin-top: 0.8rem;
}

.site-footer .footer-description {
    line-height: 1.7;
    opacity: 0.9;
}

.footer-heading {
    font-weight: 700;
    letter-spacing: 0.03em;
}

.footer-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.55rem;
}

.footer-links a {
    text-decoration: none;
    opacity: 0.9;
}

.footer-links a:hover,
.footer-links a:focus {
    opacity: 1;
    text-decoration: underline;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    margin-top: 2.5rem;
    padding-top: 1.8rem;
    border-top: 1px solid rgba(247, 243, 234, 0.25);
}

.site-footer .footer-privacy {
    font-size: 1.4rem;
}

.site-footer .footer-copyright {
    font-size: 1.3rem;
    opacity: 0.85;
    white-space: nowrap;
}

@media screen and (max-width: 720px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .footer-about {
        grid-column: 1 / -1;
    }

    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .site-footer .footer-copyright {
        white-space: normal;
    }
}

.button,
button,
input[type='button'],
input[type='reset'],
input[type='submit'] {
    background: var(--botanical-primary);
    border: 1px solid var(--botanical-primary);
    border-radius: 999px;
    color: var(--botanical-button-text);
    font-weight: 700;
    letter-spacing: 0.01em;
    padding: 0.85rem 1.6rem;
    text-transform: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}

.button:hover,
button:hover,
input[type='button']:hover,
input[type='reset']:hover,
input[type='submit']:hover,
.button:focus,
button:focus,
input[type='button']:focus,
input[type='reset']:focus,
input[type='submit']:focus {
    background: #243a2d;
    border-color: #243a2d;
    color: var(--botanical-button-text);
    box-shadow: 0 0.6rem 1.2rem rgba(47, 73, 56, 0.18);
}

.button.button-outline,
button.button-outline,
.button.button-clear,
button.button-clear {
    background: transparent;
    border-color: var(--botanical-primary);
    color: var(--botanical-primary);
    box-shadow: none;
}

.button.button-outline:hover,
button.button-outline:hover,
.button.button-clear:hover,
button.button-clear:hover,
.button.button-outline:focus,
button.button-outline:focus,
.button.button-clear:focus,
button.button-clear:focus {
    background: rgba(47, 73, 56, 0.05);
    border-color: var(--botanical-primary);
    color: var(--botanical-primary);
}

.button.button-clear {
    border-color: transparent;
    padding-left: 0;
    padding-right: 0;
}

.fieldset,
fieldset {
    border: 1px solid var(--botanical-border);
    border-radius: 1rem;
    background: rgba(168, 181, 156, 0.08);
    padding: 1.5rem;
}

legend {
    padding: 0 0.8rem;
    font-size: 1.8rem;
}

.input {
    margin-bottom: 1.5rem;
}

.input label {
    display: block;
    margin-bottom: 0.55rem;
    color: var(--botanical-primary);
    font-weight: 700;
}

.input input,
.input select,
.input textarea,
input,
select,
textarea {
    width: 100%;
    background: var(--botanical-surface);
    border: 1px solid var(--botanical-secondary);
    border-radius: 0.9rem;
    box-shadow: inset 0 0.1rem 0.3rem rgba(40, 50, 41, 0.04);
    color: var(--botanical-body);
    font: inherit;
    padding: 0.9rem 1rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.input input:focus,
.input select:focus,
.input textarea:focus,
input:focus,
select:focus,
textarea:focus {
    border-color: var(--botanical-primary);
    box-shadow: 0 0 0 4px var(--botanical-focus);
}

.input input[type='checkbox'],
.input input[type='radio'] {
    width: auto;
    margin-right: 0.75rem;
    accent-color: var(--botanical-primary);
}

.input label:has(input[type='checkbox']),
.input label:has(input[type='radio']) {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

textarea {
    min-height: 9rem;
}

.error-message,
.message.error {
    color: var(--botanical-accent);
}

.message {
    display: block;
    margin-bottom: 1.5rem;
    padding: 1rem 1.2rem;
    border: 1px solid transparent;
    border-radius: 0.8rem;
    background: rgba(168, 181, 156, 0.16);
    color: var(--botanical-primary);
    border-color: rgba(47, 73, 56, 0.15);
    cursor: pointer;
}

.message.hidden {
    display: none;
}

.message.success {
    background: rgba(47, 73, 56, 0.08);
    border-color: rgba(47, 73, 56, 0.22);
    color: var(--botanical-primary);
}

.message.warning {
    background: rgba(198, 161, 91, 0.12);
    border-color: rgba(198, 161, 91, 0.3);
    color: #53432a;
}

.message.error {
    background: rgba(183, 110, 88, 0.08);
    border-color: rgba(183, 110, 88, 0.25);
    color: #6b3a2d;
}

.message.info {
    background: rgba(168, 181, 156, 0.12);
    border-color: rgba(47, 73, 56, 0.15);
    color: var(--botanical-primary);
}

.users index,
.users.index,
.users.form,
.contactForms.form,
.login,
.login-choice {
    position: relative;
}

.users.index {
    width: min(150rem, calc(100vw - 4rem));
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
}

.side-nav {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem 1rem;
    margin: 0 0 2rem;
    padding: 0.8rem 1rem;
    background: rgba(168, 181, 156, 0.18);
    border: 1px solid var(--botanical-border);
    border-radius: 0.9rem;
}

.side-nav .heading {
    grid-column: 1 / -1;
    margin: 0;
}

.side-nav-item {
    display: inline-flex;
    align-items: center;
    color: var(--botanical-primary);
    font-weight: 700;
    padding: 0.2rem 0.4rem;
    border-radius: 0.6rem;
    text-decoration: none;
}

.side-nav-item:hover,
.side-nav-item:focus,
.side-nav-item:active {
    color: var(--botanical-accent);
    background: rgba(183, 110, 88, 0.05);
}

.user-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin: 1.5rem 0 2rem;
    padding: 0.8rem 1rem;
    background: rgba(168, 181, 156, 0.18);
    border: 1px solid var(--botanical-border);
    border-radius: 999px;
}

.user-filters a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--botanical-primary);
    font-weight: 700;
    border-radius: 999px;
    padding: 0.5rem 1rem;
    text-decoration: none;
}

.user-filters a:hover,
.user-filters a:focus,
.user-filters a:active,
.user-filters a.active {
    background: var(--botanical-primary);
    color: var(--botanical-button-text);
}

.table-responsive {
    border: 1px solid var(--botanical-border);
    border-radius: 1rem;
    overflow: hidden;
    background: var(--botanical-surface);
}

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    background: var(--botanical-surface);
}

thead th {
    background: var(--botanical-primary);
    color: var(--botanical-button-text);
    font-family: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-align: left;
}

.users.index thead th a {
    color: var(--botanical-button-text);
}

.users.index th:nth-child(3),
.users.index td:nth-child(3) {
    min-width: 240px;
}

.users.index th.actions,
.users.index td.actions {
    min-width: 260px;
}

.users.index th:first-child,
.users.index td:first-child {
    padding-left: 2rem !important;
}

th,
td {
    padding: 1.1rem 1.2rem;
    border-bottom: 1px solid var(--botanical-border);
    vertical-align: top;
}

tbody tr:nth-child(even) {
    background: rgba(168, 181, 156, 0.08);
}

tbody tr:hover {
    background: rgba(198, 161, 91, 0.06);
}

table a {
    color: var(--botanical-primary);
    font-weight: 700;
}

.actions a {
    color: var(--botanical-primary);
    font-weight: 700;
    margin-right: 0.7rem;
}

.actions a:hover,
.actions a:focus,
.actions a:active {
    color: var(--botanical-accent);
}

.paginator {
    margin-top: 2rem;
    text-align: center;
}

.paginator p {
    margin: 1rem 0 0;
    color: var(--botanical-muted);
}

.pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0.5rem;
}

.pagination li {
    display: inline-flex;
}

.pagination a,
.pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3.2rem;
    min-height: 3.2rem;
    padding: 0.4rem 0.8rem;
    border-radius: 999px;
    border: 1px solid var(--botanical-border);
    background: var(--botanical-surface);
    color: var(--botanical-primary);
    font-weight: 700;
    text-decoration: none;
}

.pagination a:hover,
.pagination a:focus,
.pagination a:active,
.pagination li.active a,
.pagination li.active span {
    background: var(--botanical-primary);
    border-color: var(--botanical-primary);
    color: var(--botanical-button-text);
}

.pagination .disabled a,
.pagination .disabled span {
    color: var(--botanical-muted);
    cursor: not-allowed;
    background: rgba(168, 181, 156, 0.08);
}

.premium-orders-pagination,
.admin-list-pagination {
    margin-top: 2.4rem;
    padding-top: 1.8rem;
    border-top: 1px solid var(--botanical-border);
    text-align: center;
}

.premium-orders-pagination p,
.admin-list-pagination p {
    margin: 1rem 0 0;
    color: var(--botanical-muted);
    font-size: 1.2rem;
}

.product-card {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    padding: 2rem;
}

.product-card .button {
    align-self: flex-start;
    margin-top: auto;
}

.product-card-image {
    display: block;
    margin: -2.3rem -2.3rem 1rem;
    overflow: hidden;
    border-radius: 0.5rem 0.5rem 0 0;
}

.product-card-image img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    transition: transform 0.25s ease;
}

.product-card-image:hover img,
.product-card-image:focus img {
    transform: scale(1.03);
}

.product-category {
    color: var(--botanical-accent);
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.product-price {
    color: var(--botanical-primary);
    font-size: 2rem;
    font-weight: 700;
}

.product-link {
    text-decoration: none;
}

.product-link:hover,
.product-link:focus {
    color: var(--botanical-accent);
}

.cart-total {
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--botanical-primary);
}

.cart-remove {
    color: var(--botanical-accent);
    font-weight: 700;
}

.login-choice {
    padding-top: 4rem;
}

.login-choice > .content,
.users.form.content,
.contactForms.form.content {
    max-width: 82rem;
    margin: 0 auto;
}

.contactForms.form.content.contact-page {
    margin-top: 6rem;
    margin-bottom: 8rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.contact-page #inquiry-type {
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    cursor: pointer;
    height: auto;
    min-height: 4.8rem;
    line-height: 1.4;
    padding: 0.9rem 3.25rem 0.9rem 1rem;
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='M2 2l6 6 6-6' fill='none' stroke='%23233d33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1.15rem center;
    background-size: 1rem auto;
}

.contact-page #inquiry-type:hover {
    border-color: var(--botanical-primary);
}

.login-options {
    display: flex;
    gap: 2rem;
    margin-top: 2.5rem;
}

.login-options .column {
    flex: 1 1 0;
    background: rgba(168, 181, 156, 0.08);
    border: 1px solid var(--botanical-border);
    border-radius: 1rem;
    padding: 2rem;
}

.login-options .button,
.users.form .button,
.contactForms.form .button,
hr + .button,
.login-choice .button {
    margin-top: 1rem;
}

.user-filters a.active,
.current-page {
    color: var(--botanical-button-text);
}

.hr-between-buttons {
    border-top: 1px solid rgba(47, 73, 56, 0.2);
    margin: 2rem 0 1.5rem;
}

@media screen and (max-width: 640px) {
    .container {
        padding: 0 1.5rem;
    }

    .content {
        padding: 1.5rem;
    }

    .top-nav {
        align-items: flex-start;
        flex-direction: column;
        padding: 1.2rem 1.5rem;
    }

    .top-nav-links {
        justify-content: flex-start;
        gap: 0.5rem 0.7rem;
    }

    .catalog-nav-links {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        width: 100%;
        max-width: 150rem;
        padding: 1.2rem 2rem;
        margin: 0 auto;
    }

    .catalog-category-links {
        grid-column: 2;
        display: flex;
        align-items: center;
        gap: 3.5rem;
        white-space: nowrap;
    }

    .nav-product-search {
        grid-column: 3;
        justify-self: end;
        display: flex;
        align-items: center;
        gap: 0.8rem;
        margin: 0 0 0 3rem;
    }

    .catalog-nav-links a {
        font-size: 1.2rem;
    }

    .row,
    .login-options {
        flex-direction: column;
    }

    .product-grid {
        grid-template-columns: 1fr;
    }

    .pagination {
        gap: 0.35rem;
    }

    .pagination a,
    .pagination span {
        min-width: 2.8rem;
        min-height: 2.8rem;
        padding: 0.3rem 0.65rem;
    }

    .user-filters {
        border-radius: 1rem;
    }
}

/* Creative-inspired layout adaptation (MIT source reused conceptually) */
#page-top {
    scroll-behavior: smooth;
}

#mainNav.top-nav {
    position: sticky;
    top: 0;
    z-index: 1200;
    padding-top: 1.1rem;
    padding-bottom: 1.1rem;
    background: linear-gradient(180deg, rgba(47, 73, 56, 0.98), rgba(47, 73, 56, 0.92));
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 0.3rem 1rem rgba(22, 35, 27, 0.14);
}

#mainNav .top-nav-title a {
    font-size: clamp(1.85rem, 2.8vw, 2.4rem);
}

#mainNav .top-nav-links a {
    font-size: 1.25rem;
    letter-spacing: 0.02em;
}

main.main {
    padding-top: 0;
}

hr.divider {
    height: 0.2rem;
    width: 100%;
    max-width: 5.2rem;
    margin: 1.5rem auto;
    border: 0;
    border-radius: 999px;
    opacity: 1;
    background-color: var(--botanical-accent);
}

hr.divider-light {
    background-color: var(--botanical-gold);
}

.home-page .masthead {
    position: relative;
    margin-top: 0.5rem;
    padding: clamp(4.5rem, 9vw, 8rem) clamp(1.5rem, 4vw, 4rem);
    border-radius: 1.6rem;
    background:
        linear-gradient(160deg, rgba(47, 73, 56, 0.95), rgba(47, 73, 56, 0.86)),
        radial-gradient(circle at 12% 18%, rgba(198, 161, 91, 0.28), transparent 46%),
        radial-gradient(circle at 88% 10%, rgba(183, 110, 88, 0.22), transparent 40%),
        var(--botanical-primary);
    box-shadow: 0 1.4rem 3rem rgba(30, 47, 37, 0.3);
    overflow: hidden;
    text-align: center;
}

.home-page .masthead .masthead-content {
    max-width: 76rem;
    margin: 0 auto;
}

.home-page .masthead h1 {
    margin-bottom: 0;
    color: var(--botanical-button-text);
    font-size: clamp(3rem, 4.8vw, 5rem);
    line-height: 1.1;
    letter-spacing: 0.02em;
}

.home-page .masthead p,
.home-page .masthead strong {
    color: rgba(255, 253, 248, 0.94);
}

.home-page .hero-lead {
    margin-bottom: 1.4rem;
    font-size: clamp(1.9rem, 2.4vw, 2.4rem);
    line-height: 1.45;
}

.page-section {
    padding: clamp(3.2rem, 7vw, 6.4rem) 0;
}

.page-section-soft .section-card {
    margin: 0 auto;
    max-width: 88rem;
}

.section-heading {
    margin-bottom: 0;
    font-size: clamp(2.2rem, 3vw, 3.2rem);
}

.section-center {
    text-align: center;
}

.service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.7rem;
    margin: 2.2rem 0 0;
}

.service-item {
    padding: 2.2rem 2rem;
    border: 1px solid var(--botanical-border);
    border-radius: 1.2rem;
    background: var(--botanical-surface);
    box-shadow: 0 0.8rem 2rem var(--botanical-shadow);
    text-align: center;
}

.service-item h3 {
    margin-bottom: 1rem;
}

.service-item p {
    margin-bottom: 0;
}

.page-section-cta {
    padding-top: 0.5rem;
}

.cta-panel {
    max-width: 92rem;
    margin: 0 auto;
    padding: clamp(2.4rem, 5.5vw, 4.4rem);
    border-radius: 1.5rem;
    background: linear-gradient(180deg, #355541 0%, #2f4938 100%);
    color: var(--botanical-button-text);
    text-align: center;
    box-shadow: 0 1.2rem 2.8rem rgba(28, 43, 34, 0.3);
}

.cta-panel h2,
.cta-panel p {
    color: var(--botanical-button-text);
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.8rem;
}

.cta-panel .button.button-outline {
    border-color: var(--botanical-gold);
    color: var(--botanical-gold);
}

.cta-panel .button.button-outline:hover,
.cta-panel .button.button-outline:focus,
.cta-panel .button.button-outline:active {
    border-color: var(--botanical-gold);
    color: var(--botanical-primary);
    background: var(--botanical-gold);
}

@media screen and (max-width: 960px) {
    .service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 640px) {
    #mainNav.top-nav {
        position: static;
        padding-top: 1.2rem;
        padding-bottom: 1.2rem;
    }

    main.main {
        padding-top: 0;    }

    .home-page .masthead {
        padding: 3.3rem 1.4rem;
    }

    .page-section {
        padding: 2.8rem 0;
    }

    .service-grid {
        grid-template-columns: 1fr;
        gap: 1.3rem;
    }
}

.catalog-redesign {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.catalog-redesign .creative-container {
    width: 100%;
    max-width: 116rem;
    margin: 0 auto;
    padding: 0 2rem;
}

.catalog-redesign .creative-row {
    display: flex;
    flex-wrap: wrap;
}

.catalog-redesign .creative-row-center {
    justify-content: center;
    text-align: center;
}

.catalog-redesign .creative-col {
    width: 100%;
}

.catalog-redesign .creative-col-hero {
    max-width: 78rem;
}

.catalog-redesign .creative-col-copy {
    max-width: 86rem;
}

.catalog-redesign .catalog-masthead {
    margin-top: 0;
    min-height: clamp(44rem, 72vh, 70rem);
    padding: clamp(7rem, 12vw, 12rem) 0 clamp(6rem, 10vw, 10rem);
    border-radius: 0;
    background-color: var(--botanical-primary);
    background-image:
        linear-gradient(
            rgba(47, 73, 56, 0.68),
            rgba(47, 73, 56, 0.68)
        ),
        var(--catalog-hero-image, none);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: 0 0.6rem 1.6rem rgba(26, 41, 33, 0.16);
    text-align: center;
    display: flex;
    align-items: center;
}

.catalog-redesign .catalog-masthead h1 {
    color: var(--botanical-button-text);
    font-size: clamp(3.2rem, 6vw, 6rem);
    margin-bottom: 0;
}

.catalog-redesign .catalog-intro {
    margin: 0 auto;
    max-width: 76rem;
    color: rgba(255, 253, 248, 0.94);
    font-size: clamp(1.9rem, 2.6vw, 2.6rem);
    line-height: 1.5;
}

.catalog-redesign .catalog-masthead .button.button-outline {
    margin-top: 1.5rem;
    border-color: var(--botanical-gold);
    color: var(--botanical-gold);
}

.catalog-redesign .catalog-masthead .button.button-outline:hover,
.catalog-redesign .catalog-masthead .button.button-outline:focus,
.catalog-redesign .catalog-masthead .button.button-outline:active {
    border-color: var(--botanical-gold);
    color: var(--botanical-primary);
    background: var(--botanical-gold);
}
.catalog-redesign .catalog-masthead.catalog-masthead--shop {
    --catalog-hero-image: url('../img/categories/category-shop.webp');
    min-height: calc(100vh - 88px);
}

.catalog-masthead--shop .catalog-intro {
    max-width: 38rem;
}

.catalog-masthead--serums {
    --catalog-hero-image: url('../img/categories/category-serums.webp');
}

.catalog-masthead--clay-masks {
    --catalog-hero-image: url('../img/categories/category-clay-masks.webp');
}

.catalog-masthead--hampers {
    --catalog-hero-image: url('../img/categories/category-hampers.webp');
}

.catalog-masthead--gifts {
    --catalog-hero-image: url('../img/categories/category-gifts.webp');
}

.catalog-masthead--wholesale {
    --catalog-hero-image: url('../img/categories/category-wholesale.webp');
}

.catalog-redesign .section-card.catalog-copy {
    margin: 0 auto;
    max-width: 88rem;
    padding: 0;
    text-align: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.catalog-redesign .catalog-copy .button {
    margin-top: 1.2rem;
}

.catalog-redesign .catalog-copy p:last-child {
    margin-bottom: 0;
}

.catalog-redesign .catalog-note {
    color: var(--botanical-muted);
}

.catalog-redesign .product-section {
    margin-top: 0;
    border-top: 0;
    padding-top: 0;
}

.catalog-filters {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    margin: 0 0 2rem;
}

.catalog-filters select,
.catalog-filters button {
    width: auto;
    margin: 0;
}

.catalog-filters select {
    height: 44px;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
    line-height: 1.4;
    background-image: none;
}

.catalog-filters select:focus {
    background-image: none;
}

.catalog-redesign .catalog-product-grid {
    width: 100%;
    max-width: 100rem;
    margin: 3rem auto 0;
    display: grid;
    gap: 1.8rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.catalog-redesign .product-card {
    min-height: 100%;
    border-radius: 0.5rem;
    box-shadow: 0 0.45rem 1.2rem rgba(47, 73, 56, 0.11);
    gap: 0.8rem;
    padding: 1.8rem;
}

.catalog-redesign .product-card-image {
    margin: -1.8rem -1.8rem 0.8rem;
}

.catalog-redesign .product-card-image img {
    aspect-ratio: 16 / 10;
}

.catalog-redesign .product-card h3 {
    margin-bottom: 0.4rem;
    font-size: 2.2rem;
    line-height: 1.25;
}

.ajax-add-to-cart {
    margin: 0;
}

.catalog-redesign .page-section {
    padding: clamp(4.2rem, 9vw, 8.4rem) 0;
}

.catalog-redesign #services {
    scroll-margin-top: 90px;
}

.catalog-redesign .page-section-soft {
    background: rgba(168, 181, 156, 0.16);
}

.catalog-redesign .page-section-cta {
    background: var(--botanical-surface);
    border-top: 1px solid var(--botanical-border);
    border-bottom: 1px solid var(--botanical-border);
}

.catalog-redesign .cta-panel {
    max-width: 96rem;
    margin: 0 auto;
    padding: 4rem 2rem;
    background: transparent;
    color: var(--botanical-body);
    text-align: center;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.catalog-redesign .cta-panel h2 {
    color: var(--botanical-primary);
    font-size: clamp(2.8rem, 4vw, 4.2rem);
}

.catalog-redesign .cta-panel p {
    max-width: 75rem;
    margin-left: auto;
    margin-right: auto;
    color: var(--botanical-body);
    line-height: 1.7;
}

.catalog-redesign .cta-panel .divider {
    margin: 1.5rem auto 2rem;
}

.catalog-redesign .cta-panel .hero-actions {
    justify-content: center;
    margin-top: 2.5rem;
}

.catalog-redesign .cta-panel .button-outline {
    color: var(--botanical-primary);
    border-color: var(--botanical-primary);
}

.catalog-redesign hr.divider {
    height: 1px;
    max-width: 7.2rem;
    margin: 1.8rem auto;
}

@media screen and (max-width: 640px) {
    .catalog-redesign .creative-container {
        padding: 0 1.5rem;
    }

    .catalog-redesign .catalog-masthead {
        min-height: 38rem;
        padding: 5rem 0 4.8rem;
    }

    .catalog-redesign .catalog-intro {
        font-size: 1.7rem;
    }

    .catalog-redesign .catalog-product-grid {
        grid-template-columns: 1fr;
        gap: 1.4rem;
    }
}

@media screen and (max-width: 960px) {
    .catalog-redesign .catalog-product-grid {
        max-width: 68rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 640px) {
    .catalog-redesign .catalog-product-grid {
        max-width: 34rem;
        grid-template-columns: 1fr;
    }
}

/* Accessible button sizing and alignment */
.button,
button,
input[type='button'],
input[type='reset'],
input[type='submit'] {
    min-height: 44px;
    padding: 12px 24px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    box-sizing: border-box;
}

.button,
button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Clearly visible keyboard focus */
.button:focus-visible,
button:focus-visible,
input[type='button']:focus-visible,
input[type='reset']:focus-visible,
input[type='submit']:focus-visible {
    outline: 3px solid #C6A15B;
    outline-offset: 3px;
}

/* Improve contrast of the hero outline button */
.catalog-masthead .button.button-outline {
    color: #FFFDF8;
    border-color: #C6A15B;
}

.nav-product-search {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin: 0;
}

.nav-product-search input[type="search"] {
    width: 22rem;
    min-height: 44px;
    margin: 0;
    padding: 0 1.4rem;
    color: var(--botanical-body);
    background: var(--botanical-surface);
    border: 1px solid var(--botanical-primary);
    border-radius: 2.2rem;
}

.nav-product-search button {
    min-height: 44px;
    margin: 0;
    padding: 0 1.8rem;
    border-radius: 2.2rem;
}

.nav-product-search input:focus-visible,
.nav-product-search button:focus-visible {
    outline: 3px solid var(--botanical-accent);
    outline-offset: 2px;
}

@media screen and (max-width: 768px) {
    .nav-product-search input[type="search"] {
        width: 15rem;
    }
}

/* Desktop category navigation and search placement */
.catalog-nav-links {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 0;
    width: 100%;
    max-width: none;
    min-width: 0;
    padding: 1.2rem 2rem;
    margin: 0;
}

.catalog-category-links {
    grid-column: 2;
    display: flex;
    align-items: center;
    gap: 3.5rem;
    white-space: nowrap;
}

.nav-product-search {
    grid-column: 3;
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    margin: 0 2rem 0 3rem;
}

@media screen and (max-width: 1100px) {
    .catalog-nav-links {
        display: flex;
        min-width: max-content;
    }

    .catalog-category-links {
        gap: 1.5rem;
    }

    .nav-product-search {
        margin-left: 2rem;
        margin-right: 0;
    }
}

.product-detail {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(30rem, 0.9fr);
    gap: 4rem;
    margin: 4rem 0;
    padding: 3rem;
}

.product-detail-image img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 1.2rem;
}

.product-detail-information {
    align-self: center;
}

.product-information-section {
    margin-top: 2.5rem;
}

.product-information-section h2 {
    font-size: 1.8rem;
    margin-bottom: 0.7rem;
}

.product-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 3rem;
}

@media screen and (max-width: 768px) {
    .product-detail {
        grid-template-columns: 1fr;
        gap: 2rem;
        padding: 2rem;
    }
}

/* About Us and FAQ pages */
.information-page {
    padding: 0.5rem 0 8rem;
}

.information-section {
    padding: clamp(5rem, 9vw, 9rem) clamp(1rem, 4vw, 4rem);
}

@media screen and (max-width: 700px) {
    .information-page {
        padding-bottom: 5rem;
    }

    .information-section {
        padding: 5rem 1rem;
    }
}

/* Simple information pages */
.simple-page-title {
    margin: clamp(4rem, 7vw, 7rem) auto 0;
    text-align: center;
    font-size: clamp(3rem, 5vw, 4.8rem);
}

.about-document {
    max-width: 88rem;
    margin: 0 auto;
    padding: clamp(4rem, 7vw, 7rem) clamp(1rem, 4vw, 4rem);
}

.about-document section {
    padding-bottom: 2rem;
    margin-bottom: 3rem;
    border-bottom: 1px solid var(--botanical-border);
}

.about-document section:last-child {
    margin-bottom: 0;
    border-bottom: 0;
}

.about-document h2 {
    font-size: clamp(2rem, 3vw, 2.6rem);
}

.about-document p {
    color: var(--botanical-muted);
    font-size: 1.65rem;
    line-height: 1.8;
}

.faq-document {
    max-width: 88rem;
    margin: 0 auto;
    padding-top: clamp(4rem, 7vw, 7rem);
    padding-bottom: clamp(4rem, 7vw, 7rem);
}

.faq-document-entry {
    padding: 0 0 2.8rem;
    margin-bottom: 2.8rem;
    border-bottom: 1px solid var(--botanical-border);
}

.faq-document-entry:last-child {
    margin-bottom: 0;
    border-bottom: 0;
}

.faq-document-entry h2 {
    margin-bottom: 1rem;
    font-size: clamp(1.9rem, 2.6vw, 2.4rem);
    line-height: 1.4;
}

.faq-document-entry p {
    margin: 0;
    color: var(--botanical-muted);
    font-size: 1.65rem;
    line-height: 1.8;
}

.faq-document-entry p strong {
    color: var(--botanical-primary);
}

@media screen and (max-width: 700px) {
    .faq-document {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .faq-document-entry {
        padding-bottom: 2.2rem;
        margin-bottom: 2.2rem;
    }
}
/* =========================================================
   CUSTOM HAMPER BUILDER
   ========================================================= */

.hamper-builder-container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 50px 40px 80px;
}

.hamper-builder-header {
    text-align: center;
    margin-bottom: 55px;
}

.hamper-builder-header h1 {
    font-size: 52px;
    line-height: 1.1;
    color: #304b3a;
    margin-bottom: 18px;
    font-weight: 700;
}

.hamper-builder-header p {
    max-width: 700px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 1.7;
    color: #5b625b;
}


/* =========================================================
   BUILDER SECTIONS
   ========================================================= */

.hamper-builder-section {
    background: #fffdf8;
    border: 1px solid #e3e1d7;
    border-radius: 18px;
    padding: 35px;
    margin-bottom: 30px;
    box-shadow: 0 5px 18px rgba(48, 75, 58, 0.06);
}

.hamper-builder-section h2 {
    color: #304b3a;
    font-size: 28px;
    margin-top: 0;
    margin-bottom: 8px;
}

.hamper-section-description {
    color: #74776f;
    margin-bottom: 28px;
    font-size: 15px;
}


/* =========================================================
   PRODUCT CARDS
   ========================================================= */

.hamper-product-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.hamper-product-card {
    position: relative;
    background: #ffffff;
    border: 2px solid #e3e6df;
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.25s ease;
    display: flex;
    flex-direction: column;
}

.hamper-product-card:hover {
    transform: translateY(-4px);
    border-color: #8fa287;
    box-shadow: 0 10px 25px rgba(48, 75, 58, 0.12);
}

.hamper-product-card:has(.hamper-product-input:checked) {
    border-color: #304b3a;
    background: #f2f5ed;
    box-shadow: 0 0 0 2px rgba(48, 75, 58, 0.08);
}

.hamper-product-checkbox {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
}

.hamper-product-input {
    width: 20px;
    height: 20px;
    accent-color: #304b3a;
    cursor: pointer;
}

.hamper-product-image {
    width: 100%;
    height: 220px;
    background: #f3f1e9;
}

.hamper-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hamper-product-info {
    padding: 20px;
}

.hamper-product-info h3 {
    margin: 0 0 8px;
    color: #304b3a;
    font-size: 18px;
}

.hamper-product-price {
    margin: 0;
    color: #6a7869;
    font-size: 17px;
    font-weight: 600;
}


/* =========================================================
   PACKAGING OPTIONS
   ========================================================= */

.hamper-packaging-options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.hamper-packaging-card {
    position: relative;
    display: block;
    border: 2px solid #e3e6df;
    border-radius: 14px;
    padding: 24px;
    background: #fff;
    cursor: pointer;
    transition: all 0.25s ease;
}

.hamper-packaging-card:hover {
    border-color: #8fa287;
    transform: translateY(-2px);
}

.hamper-packaging-card:has(.hamper-packaging-input:checked) {
    border-color: #304b3a;
    background: #f2f5ed;
}

.hamper-packaging-input {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 19px;
    height: 19px;
    accent-color: #304b3a;
}

.hamper-packaging-card div {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.hamper-packaging-card strong {
    color: #304b3a;
    font-size: 18px;
}

.hamper-packaging-card span {
    color: #687168;
    font-size: 15px;
}


/* =========================================================
   GIFT CARD
   ========================================================= */

.hamper-gift-card-option {
    background: #f5f4ec;
    border-radius: 12px;
    padding: 18px 20px;
    margin-top: 18px;
}

.hamper-gift-card-option label {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #304b3a;
    font-weight: 600;
    cursor: pointer;
}

.hamper-gift-card-option input {
    width: 19px;
    height: 19px;
    accent-color: #304b3a;
}

.hamper-gift-message {
    margin-top: 22px;
}

.hamper-gift-message textarea {
    width: 100%;
    border: 1px solid #ccd2c8;
    border-radius: 12px;
    padding: 15px;
    background: #ffffff;
    font: inherit;
    resize: vertical;
    min-height: 120px;
}

.hamper-gift-message textarea:focus {
    outline: none;
    border-color: #304b3a;
    box-shadow: 0 0 0 3px rgba(48, 75, 58, 0.08);
}

.hamper-gift-message small {
    color: #7d817a;
}


/* =========================================================
   TOTAL SUMMARY
   ========================================================= */

.hamper-builder-summary {
    background: #304b3a;
    border-radius: 18px;
    padding: 28px 32px;
    margin-top: 35px;
    color: white;
}

.hamper-builder-summary > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.hamper-builder-summary span {
    font-size: 19px;
    font-weight: 500;
}

.hamper-builder-summary strong {
    font-size: 30px;
}

.hamper-builder-summary p {
    margin: 10px 0 0;
    opacity: 0.8;
    font-size: 13px;
}


/* =========================================================
   ACTION BUTTON
   ========================================================= */

.hamper-builder-actions {
    text-align: right;
    margin-top: 22px;
}

.hamper-review-button {
    border: none;
    border-radius: 30px;
    background: #304b3a;
    color: #ffffff;
    padding: 15px 34px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s ease;
}

.hamper-review-button:hover {
    background: #23392c;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(48, 75, 58, 0.2);
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .hamper-product-grid,
    .hamper-packaging-options {
        grid-template-columns: repeat(2, 1fr);
    }

    .hamper-builder-header h1 {
        font-size: 42px;
    }
}

@media (max-width: 600px) {

    .hamper-builder-container {
        padding: 30px 18px 60px;
    }

    .hamper-product-grid,
    .hamper-packaging-options {
        grid-template-columns: 1fr;
    }

    .hamper-builder-section {
        padding: 24px 18px;
    }

    .hamper-builder-header h1 {
        font-size: 36px;
    }

    .hamper-builder-summary > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .hamper-builder-actions {
        text-align: center;
    }

    .hamper-review-button {
        width: 100%;
    }
}

/* =========================================================
   CUSTOM HAMPER REVIEW
   ========================================================= */

.hamper-review-container {
    max-width: 1250px;
    margin: 0 auto;
    padding: 55px 40px 90px;
}

.hamper-review-header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 50px;
}

.hamper-review-eyebrow {
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #7a8975;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 10px;
}

.hamper-review-header h1 {
    color: #304b3a;
    font-size: 48px;
    margin: 0 0 15px;
}

.hamper-review-header > p:last-child {
    color: #687168;
    font-size: 17px;
    line-height: 1.6;
}

.hamper-review-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(300px, 0.8fr);
    gap: 35px;
    align-items: start;
}


/* MAIN CONTENT */

.hamper-review-main {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.hamper-review-section {
    background: #fffdf8;
    border: 1px solid #e2e4dc;
    border-radius: 18px;
    padding: 30px;
    box-shadow: 0 5px 18px rgba(48, 75, 58, 0.05);
}

.hamper-review-section-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}

.hamper-review-section-heading h2 {
    margin: 0;
    color: #304b3a;
    font-size: 23px;
}

.hamper-review-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #304b3a;
    color: white;
    font-weight: 700;
}


/* PRODUCTS */

.hamper-review-products {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.hamper-review-product {
    display: flex;
    align-items: center;
    gap: 18px;
    border: 1px solid #e5e7e0;
    background: white;
    border-radius: 14px;
    padding: 14px;
}

.hamper-review-product-image {
    width: 85px;
    height: 85px;
    border-radius: 11px;
    overflow: hidden;
    flex-shrink: 0;
    background: #f1efe8;
}

.hamper-review-product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hamper-review-product-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 15px;
}

.hamper-review-product-info h3 {
    margin: 0;
    color: #304b3a;
    font-size: 17px;
}

.hamper-review-product-info span {
    color: #536557;
    font-weight: 700;
}



/* DETAILS */

.hamper-review-detail-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    padding: 18px 20px;
    background: #f5f4ec;
    border-radius: 12px;
}

.hamper-review-detail-card strong {
    color: #304b3a;
    font-size: 17px;
}

.hamper-review-detail-card p {
    margin: 4px 0 0;
    color: #747a72;
    font-size: 14px;
}

.hamper-review-detail-card > span {
    color: #304b3a;
    font-weight: 700;
    white-space: nowrap;
}


/* GIFT MESSAGE */

.hamper-review-message {
    margin-top: 18px;
    padding: 20px;
    background: #faf9f3;
    border-left: 4px solid #889982;
    border-radius: 0 12px 12px 0;
}

.hamper-review-message-label {
    display: block;
    color: #6c7869;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 700;
    margin-bottom: 8px;
}

.hamper-review-message p {
    margin: 0;
    color: #304b3a;
    font-size: 16px;
    line-height: 1.6;
}


/* SUMMARY */

.hamper-review-summary {
    position: sticky;
    top: 110px;
    background: #304b3a;
    color: #fff;
    border-radius: 18px;
    padding: 30px;
    box-shadow: 0 10px 30px rgba(48, 75, 58, 0.18);
}

.hamper-review-summary h2 {
    margin: 0 0 25px;
    font-size: 24px;
    color: white;
}

.hamper-summary-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 15px;
    font-size: 15px;
}

.hamper-summary-divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.25);
    margin: 23px 0;
}

.hamper-summary-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 28px;
}

.hamper-summary-total span {
    font-size: 18px;
}

.hamper-summary-total strong {
    font-size: 29px;
    color: #fffdf8;
}

.hamper-add-cart-button {
    display: block;
    width: 100%;
    border: 0;
    border-radius: 28px;
    padding: 15px 20px;
    background: #f3f1e8;
    color: #304b3a;
    font-weight: 700;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.hamper-add-cart-button:hover {
    background: white;
    color: #304b3a;
    transform: translateY(-2px);
}

.hamper-summary-note {
    text-align: center;
    opacity: 0.75;
    font-size: 12px;
    margin: 15px 0 0;
}


/* EDIT LINK */

.hamper-review-back {
    margin-top: -5px;
}

.hamper-edit-link {
    color: #304b3a;
    font-weight: 600;
    text-decoration: none;
}

.hamper-edit-link:hover {
    text-decoration: underline;
}


/* RESPONSIVE */

@media (max-width: 850px) {

    .hamper-review-layout {
        grid-template-columns: 1fr;
    }

    .hamper-review-summary {
        position: static;
    }
}

@media (max-width: 600px) {

    .hamper-review-container {
        padding: 35px 18px 70px;
    }

    .hamper-review-header h1 {
        font-size: 36px;
    }

    .hamper-review-section {
        padding: 22px 18px;
    }

    .hamper-review-product-info {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .hamper-review-detail-card {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }
}
/* =========================================================
   CUSTOM HAMPERS IN CART
   ========================================================= */

.cart-review-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 30rem;
    gap: 3rem;
    align-items: start;
}

.cart-page {
    margin-top: 4rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.cart-items-column {
    min-width: 0;
}

.cart-products-table,
.cart-summary-panel {
    border: 1px solid var(--botanical-border);
    border-radius: 0.8rem;
    background: var(--botanical-surface);
}

.cart-products-table {
    padding: 1.5rem;
}

.cart-products-table table {
    margin-bottom: 0;
}

.cart-products-table th,
.cart-products-table td {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
}

.cart-summary-panel {
    padding: 2rem;
}

.cart-summary-panel h2 {
    margin-bottom: 1.5rem;
    padding-bottom: 1.2rem;
    border-bottom: 1px solid var(--botanical-border);
    font-size: 1.6rem;
    text-transform: uppercase;
}

.cart-summary-panel .cart-grand-total {
    margin: 0;
    padding: 1.5rem 0;
    border-radius: 0;
    color: var(--botanical-primary);
    background: transparent;
}

.cart-summary-actions {
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
}

.cart-summary-actions .button {
    width: 100%;
    margin: 0;
    text-align: center;
}

.cart-hampers {
    margin-top: 45px;
}

.cart-hampers > h2 {
    color: #304b3a;
    margin-bottom: 20px;
}

.cart-hamper-card {
    border: 1px solid #e1e4dc;
    border-radius: 18px;
    background: #fffdf8;
    margin-bottom: 25px;
    padding: 28px;
    box-shadow: 0 5px 18px rgba(48, 75, 58, 0.06);
}

.cart-hamper-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    border-bottom: 1px solid #e5e7df;
    padding-bottom: 18px;
    margin-bottom: 22px;
}

.cart-hamper-label {
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 11px;
    color: #7d8a79;
    font-weight: 700;
}

.cart-hamper-header h3 {
    margin: 5px 0 0;
    color: #304b3a;
}

.cart-hamper-price {
    color: #304b3a;
    font-size: 22px;
}

.cart-hamper-details {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.cart-hamper-section strong {
    color: #304b3a;
}

.cart-hamper-section p {
    color: #666f67;
}

.cart-hamper-section ul {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
}

.cart-hamper-section li {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 7px 0;
    border-bottom: 1px solid #eee;
}

.cart-hamper-message {
    margin-top: 12px;
    background: #f3f2ea;
    border-radius: 10px;
    padding: 12px;
}

.cart-hamper-message span {
    font-size: 12px;
    font-weight: 700;
    color: #697568;
}

.cart-hamper-message p {
    margin: 5px 0 0;
}

.cart-hamper-actions {
    margin-top: 22px;
    text-align: right;
}

.cart-grand-total {
    margin-top: 35px;
    background: #304b3a;
    color: white;
    padding: 22px 28px;
    border-radius: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cart-grand-total span {
    font-size: 20px;
}

.cart-grand-total strong {
    font-size: 28px;
}

@media (max-width: 800px) {
    .cart-review-layout {
        grid-template-columns: 1fr;
    }

    .cart-hamper-details {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   NEW GLOBAL REDESIGN
   Grown Alchemist × MECCA direction
   ============================================================ */

:root {

    --botanical-bg: #fffdfa;

    --botanical-surface: #ffffff;

    --botanical-surface-strong: #f5f1e9;

    --botanical-primary: #23382f;

    --botanical-body: #222824;

    --botanical-secondary: #dce3d7;

    --botanical-accent: #687d6f;

    --botanical-gold: #9c815a;

    --botanical-border: #dedbd4;

    --botanical-shadow:
        rgba(29, 42, 36, 0.08);

    --botanical-muted: #707771;

    --botanical-button-text:
        #ffffff;

    --botanical-focus:
        rgba(104, 125, 111, 0.22);
}


/* ============================================================
   GLOBAL PAGE
   ============================================================ */

html,
body {

    background:
        var(--botanical-bg);

}


body {

    margin: 0;

    color:
        var(--botanical-body);

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    letter-spacing: 0;

}


main.main {

    padding: 0;

}


main.main > .container {

    width: 100%;

    max-width: 144rem;

    padding-left:
        clamp(1.8rem, 3vw, 4rem);

    padding-right:
        clamp(1.8rem, 3vw, 4rem);

}


/* ============================================================
   TYPOGRAPHY
   ============================================================ */

h1,
h2,
h3,
h4,
h5,
h6,
legend {

    color:
        var(--botanical-primary);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-weight: 400;

    letter-spacing:
        -0.02em;

}


h1 {

    line-height: 1.02;

}


p,
li,
label,
th,
td,
input,
select,
textarea {

    color:
        var(--botanical-body);

}


a {

    color:
        var(--botanical-primary);

}


a:hover,
a:focus,
a:active {

    color:
        var(--botanical-accent);

}


/* ============================================================
   BUTTONS
   ============================================================ */

button,
.button,
input[type="submit"],
input[type="button"] {

    border-radius: 0.2rem;

    font-size: 1.25rem;

    font-weight: 700;

    letter-spacing:
        0.035em;

    text-transform:
        uppercase;

}


/* ============================================================
   FORMS
   ============================================================ */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="number"],
select,
textarea {

    border-color:
        var(--botanical-border);

    border-radius: 0.2rem;

    background: #ffffff;

    box-shadow: none;

}


input:focus,
select:focus,
textarea:focus {

    border-color:
        var(--botanical-accent);

    box-shadow:
        0 0 0 3px
        var(--botanical-focus);

}


/* Remove old heavy shadows */

.content,
.users.form.content,
.contactForms.form.content,
.product-card {

    box-shadow: none;

}


/* ============================================================
   ANNOUNCEMENT BAR
   ============================================================ */

.retail-announcement {

    min-height: 3.4rem;

    padding:
        0.9rem 2rem;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 1rem;

    background:
        #171917;

    color:
        #ffffff;

    font-size:
        1.05rem;

    font-weight: 600;

    letter-spacing:
        0.12em;

    text-align: center;

    text-transform:
        uppercase;

}


.announcement-divider {

    opacity: 0.45;

}


/* ============================================================
   MAIN HEADER
   ============================================================ */

.retail-header {

    position: sticky;

    top: 0;

    z-index: 1000;

    background:
        rgba(
            255,
            253,
            250,
            0.97
        );

    border-bottom:
        1px solid
        var(--botanical-border);

    backdrop-filter:
        blur(14px);

}


/* ============================================================
   HEADER TOP ROW
   ============================================================ */

.retail-header-main {

    max-width:
        144rem;

    min-height:
        8.2rem;

    margin:
        0 auto;

    padding:
        0 3rem;

    display:
        grid;

    grid-template-columns:
        minmax(24rem, 1fr)
        auto
        minmax(24rem, 1fr);

    align-items:
        center;

    gap:
        3rem;

}


/* ============================================================
   SEARCH
   ============================================================ */

.retail-search {

    width:
        min(36rem, 100%);

    height:
        4.2rem;

    margin:
        0;

    display:
        flex;

    align-items:
        center;

    gap:
        0.9rem;

    border-bottom:
        1px solid
        #444a46;

}


.retail-search > svg {

    width:
        1.9rem;

    height:
        1.9rem;

    flex:
        0 0 auto;

    fill:
        none;

    stroke:
        currentColor;

    stroke-width:
        1.6;

}


.retail-search input[type="search"] {

    min-width:
        0;

    height:
        4rem;

    margin:
        0;

    padding:
        0;

    border:
        0;

    background:
        transparent;

    color:
        var(--botanical-body);

    font-size:
        1.3rem;

    box-shadow:
        none;

}


.retail-search input[type="search"]:focus {

    border:
        0;

    box-shadow:
        none;

}


.retail-search input::placeholder {

    color:
        #777d78;

}


/* ============================================================
   FILTER BUTTON BESIDE SEARCH
   ============================================================ */

.catalog-filter-toggle {

    width:
        3.2rem;

    height:
        3.2rem;

    margin:
        0 0 0 auto;

    padding:
        0;

    border:
        0;

    background:
        transparent;

    color:
        var(--botanical-primary);

    display:
        inline-grid;

    place-items:
        center;

}


.catalog-filter-toggle:hover,
.catalog-filter-toggle.is-active {

    background:
        var(--botanical-surface-strong);

    color:
        var(--botanical-primary);

}


.catalog-filter-toggle svg {

    width:
        1.9rem;

    height:
        1.9rem;

    fill:
        none;

    stroke:
        currentColor;

    stroke-width:
        1.6;

}


/* ============================================================
   BRAND / LOGO
   ============================================================ */

.retail-brand {

    text-align:
        center;

}


.retail-brand a {

    display:
        inline-flex;

    flex-direction:
        column;

    align-items:
        center;

    color:
        #1f3029;

    text-decoration:
        none;

    line-height:
        1;

}


.brand-wordmark {

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        2.45rem;

    letter-spacing:
        0.16em;

}


.brand-submark {

    margin-top:
        0.5rem;

    font-size:
        0.88rem;

    font-weight:
        700;

    letter-spacing:
        0.38em;

}


.retail-brand a:hover {

    color:
        #1f3029;

    opacity:
        0.72;

}


/* ============================================================
   ACCOUNT + BAG
   ============================================================ */

.retail-utilities {

    display:
        flex;

    align-items:
        center;

    justify-content:
        flex-end;

    gap:
        2.2rem;

}


.utility-link,
.utility-text {

    min-height:
        3.8rem;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        0.65rem;

    color:
        #242a26;

    font-size:
        1.2rem;

    font-weight:
        600;

    text-decoration:
        none;

    white-space:
        nowrap;

}


.utility-link svg {

    width:
        2.05rem;

    height:
        2.05rem;

    fill:
        none;

    stroke:
        currentColor;

    stroke-width:
        1.55;

}


.utility-link:hover,
.utility-text:hover {

    color:
        var(--botanical-accent);

}


.utility-logout {

    min-height:
        3.4rem;

    padding:
        0 1.25rem;

    border:
        1px solid
        var(--botanical-primary);

    color:
        var(--botanical-primary);

    font-size:
        1.05rem;

    letter-spacing:
        0.06em;

    text-transform:
        uppercase;

}


.utility-logout:hover,
.utility-logout:focus {

    background:
        var(--botanical-primary);

    color:
        #ffffff;

}


.retail-bag-link {

    position:
        relative;

}


.retail-cart-count {

    min-width:
        2rem;

    height:
        2rem;

    padding:
        0 0.55rem;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        999px;

    background:
        var(--botanical-primary);

    color:
        #ffffff;

    font-size:
        0.95rem;

    line-height:
        1;

}


/* ============================================================
   NAVIGATION ROW
   ============================================================ */

.retail-nav {

    min-height:
        4.6rem;

    padding:
        0 2.5rem;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        clamp(
            2rem,
            3vw,
            4.2rem
        );

    border-top:
        1px solid
        #eeeae3;

    overflow-x:
        auto;

    scrollbar-width:
        none;

}


.retail-nav::-webkit-scrollbar {

    display:
        none;

}


.retail-nav a {

    flex:
        0 0 auto;

    padding:
        1.55rem 0
        1.3rem;

    border-bottom:
        2px solid
        transparent;

    color:
        #202622;

    font-size:
        1.13rem;

    font-weight:
        700;

    letter-spacing:
        0.075em;

    text-decoration:
        none;

    text-transform:
        uppercase;

    white-space:
        nowrap;

}


.retail-nav a:hover,
.retail-nav a:focus {

    border-bottom-color:
        #202622;

    color:
        #202622;

}


/* ============================================================
   ADMIN HEADER
   KEEP EXISTING ADMIN FUNCTIONALITY
   ============================================================ */

.admin-header {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        2rem;

    padding:
        1.5rem 3rem;

    background:
        var(--botanical-primary);

}


.admin-header-brand a,
.admin-header-links a {

    color:
        #ffffff;

    text-decoration:
        none;

}


.admin-header-brand a {

    font-size:
        2.2rem;

    font-weight:
        700;

}


.admin-header-links {

    display:
        flex;

    align-items:
        center;

    gap:
        1.4rem;

}


/* ============================================================
   FOOTER
   ============================================================ */

.site-footer {

    margin-top:
        7rem;

    background:
        #171917;

}


.footer-grid {

    gap:
        clamp(
            3rem,
            7vw,
            8rem
        );

}


.site-footer .footer-brand {

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-weight:
        400;

    letter-spacing:
        0.08em;

}


/* ============================================================
   TABLET
   ============================================================ */

@media screen and (max-width: 980px) {

    .retail-header-main {

        min-height:
            7rem;

        grid-template-columns:
            1fr auto;

        padding:
            0 2rem;

    }


    .retail-search {

        grid-column:
            1 / -1;

        grid-row:
            2;

        width:
            100%;

        max-width:
            none;

        margin-bottom:
            1.4rem;

    }


    .retail-brand {

        grid-column:
            1;

        grid-row:
            1;

        text-align:
            left;

    }


    .retail-brand a {

        align-items:
            flex-start;

    }


    .retail-utilities {

        grid-column:
            2;

        grid-row:
            1;

    }


    .retail-nav {

        justify-content:
            flex-start;

        padding-left:
            2rem;

        padding-right:
            2rem;

    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media screen and (max-width: 640px) {

    .retail-announcement {

        font-size:
            0.92rem;

        letter-spacing:
            0.07em;

    }


    .announcement-divider,
    .retail-announcement span:nth-child(3) {

        display:
            none;

    }


    .retail-header-main {

        padding:
            0 1.5rem;

    }


    .brand-wordmark {

        font-size:
            1.8rem;

    }


    .brand-submark {

        font-size:
            0.7rem;

    }


    .utility-link span:not(.retail-cart-count),
    .utility-text {

        font-size:
            0;

    }


    .utility-text::after {

        content:
            "Account";

        font-size:
            1.1rem;

    }


    .retail-utilities {

        gap:
            1.2rem;

    }


    main.main > .container {

        padding-left:
            1.5rem;

        padding-right:
            1.5rem;

    }

}

/* ============================================================
   STEP 2 — PREMIUM HOMEPAGE
   Grown Alchemist × MECCA direction
   ============================================================ */


/* ============================================================
   HOMEPAGE RESET
   ============================================================ */

.retail-home {

    margin-left:
        calc(
            -1 * clamp(
            1.8rem,
            3vw,
            4rem
            )
        );

    margin-right:
        calc(
            -1 * clamp(
            1.8rem,
            3vw,
            4rem
            )
        );

}


.home-eyebrow {

    margin:
        0 0 1.6rem;

    color:
        #68756e;

    font-size:
        1.05rem;

    font-weight:
        700;

    letter-spacing:
        0.17em;

    line-height:
        1.4;

    text-transform:
        uppercase;

}


/* ============================================================
   HERO
   ============================================================ */

.home-hero {

    min-height:
        68rem;

    display:
        grid;

    grid-template-columns:
        0.9fr 1.1fr;

    background:
        #f1ece3;

}


.home-hero-copy {

    padding:
        clamp(
            6rem,
            8vw,
            12rem
        );

    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-start;

    justify-content:
        center;

}


.home-hero-copy h1 {

    max-width:
        65rem;

    margin:
        0;

    color:
        #20372e;

    font-size:
        clamp(
            5.8rem,
            7.3vw,
            10.5rem
        );

    line-height:
        0.91;

    letter-spacing:
        -0.055em;

}


.home-hero-description {

    max-width:
        53rem;

    margin:
        3rem 0 0;

    color:
        #525d57;

    font-size:
        1.75rem;

    line-height:
        1.75;

}


.home-hero-actions {

    margin-top:
        3.5rem;

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        1.2rem;

}


/* ============================================================
   BUTTONS
   ============================================================ */

.home-primary-button,
.home-secondary-button,
.home-secondary-light {

    min-height:
        5rem;

    padding:
        0 2.3rem;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid #202622;

    border-radius:
        0;

    font-size:
        1.15rem;

    font-weight:
        700;

    letter-spacing:
        0.085em;

    line-height:
        1;

    text-decoration:
        none;

    text-transform:
        uppercase;

    transition:
        0.22s ease;

}


.home-primary-button {

    background:
        #1c211e;

    color:
        #ffffff;

}


.home-primary-button:hover {

    background:
        #36463e;

    border-color:
        #36463e;

    color:
        #ffffff;

}


.home-secondary-button {

    background:
        transparent;

    color:
        #1c211e;

}


.home-secondary-button:hover {

    background:
        #ffffff;

    color:
        #1c211e;

}


/* ============================================================
   HERO IMAGE
   ============================================================ */

.home-hero-image {

    position:
        relative;

    min-height:
        68rem;

    overflow:
        hidden;

    background:
        #cad1c5;

}


.home-hero-image > img {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    position:
        absolute;

    inset:
        0;

    transition:
        transform 0.7s ease;

}


.home-hero:hover
.home-hero-image > img {

    transform:
        scale(1.015);

}


.home-hero-image::after {

    content:
        "";

    position:
        absolute;

    inset:
        0;

    background:
        linear-gradient(
            to top,
            rgba(13, 25, 20, 0.24),
            transparent 42%
        );

}


.home-hero-image-caption {

    position:
        absolute;

    z-index:
        2;

    right:
        4rem;

    bottom:
        4rem;

    left:
        4rem;

    color:
        #ffffff;

}


.home-hero-image-caption span {

    display:
        block;

    margin-bottom:
        0.7rem;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.15em;

}


.home-hero-image-caption strong {

    color:
        #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            2.6rem,
            3vw,
            4.2rem
        );

    font-weight:
        400;

}


/* ============================================================
   SERVICE STRIP
   ============================================================ */

.home-service-strip {

    display:
        grid;

    grid-template-columns:
        repeat(4, 1fr);

    border-top:
        1px solid
        var(--botanical-border);

    border-bottom:
        1px solid
        var(--botanical-border);

    background:
        #fffdfa;

}


.home-service-item {

    min-height:
        9rem;

    padding:
        2.2rem;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    text-align:
        center;

    border-right:
        1px solid
        var(--botanical-border);

}


.home-service-item:last-child {

    border-right:
        0;

}


.home-service-item strong {

    margin-bottom:
        0.5rem;

    color:
        #28372f;

    font-size:
        1.28rem;

}


.home-service-item span {

    color:
        #747c77;

    font-size:
        1.1rem;

}


/* ============================================================
   SHARED HOMEPAGE SECTIONS
   ============================================================ */

.home-section {

    max-width:
        144rem;

    margin:
        0 auto;

    padding:
        clamp(
            7rem,
            8vw,
            12rem
        )
        clamp(
            2rem,
            4vw,
            5rem
        );

}


.home-section-heading {

    margin-bottom:
        4rem;

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        3rem;

}


.home-section-heading h2 {

    max-width:
        75rem;

    margin:
        0;

    font-size:
        clamp(
            4rem,
            4.8vw,
            7rem
        );

    line-height:
        0.98;

    letter-spacing:
        -0.045em;

}


.home-text-link {

    padding-bottom:
        0.5rem;

    border-bottom:
        1px solid
        #2c3832;

    color:
        #2c3832;

    font-size:
        1.2rem;

    font-weight:
        700;

    letter-spacing:
        0.06em;

    text-decoration:
        none;

    text-transform:
        uppercase;

}


.home-text-link:hover {

    border-color:
        var(--botanical-accent);

}


/* ============================================================
   PRODUCT GRID
   ============================================================ */

.home-product-grid {

    display:
        grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap:
        2rem;

}


.home-product-card {

    min-width:
        0;

}


.home-product-image {

    position:
        relative;

    height:
        43rem;

    display:
        block;

    overflow:
        hidden;

    background:
        #efebe4;

}


.home-product-image img {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    transition:
        transform 0.45s ease;

}


.home-product-card:hover
.home-product-image img {

    transform:
        scale(1.025);

}


.home-product-content {

    padding:
        2rem 0 0;

}


.home-product-category {

    margin:
        0 0 0.8rem;

    color:
        #7a827d;

    font-size:
        0.98rem;

    font-weight:
        700;

    letter-spacing:
        0.15em;

    text-transform:
        uppercase;

}


.home-product-content h3 {

    margin:
        0 0 1rem;

    font-size:
        2.3rem;

    line-height:
        1.1;

}


.home-product-description {

    min-height:
        5rem;

    margin:
        0;

    color:
        #606864;

    font-size:
        1.32rem;

    line-height:
        1.6;

}


.home-product-footer {

    margin-top:
        1.8rem;

    padding-top:
        1.5rem;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        1rem;

    border-top:
        1px solid
        var(--botanical-border);

}


.home-product-footer span {

    color:
        #7b827e;

    font-size:
        1.05rem;

}


.home-product-link {

    color:
        #24372e;

    font-size:
        1.05rem;

    font-weight:
        700;

    letter-spacing:
        0.06em;

    text-transform:
        uppercase;

}


/* ============================================================
   SHOP BY RITUAL
   ============================================================ */

.home-ritual-section {

    padding-top:
        5rem;

}


.home-ritual-grid {

    display:
        grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap:
        1.6rem;

}


.home-ritual-card {

    position:
        relative;

    min-height:
        55rem;

    display:
        block;

    overflow:
        hidden;

    background:
        #dce2d8;

}


.home-ritual-card > img {

    width:
        100%;

    height:
        100%;

    position:
        absolute;

    inset:
        0;

    object-fit:
        cover;

    transition:
        transform 0.55s ease;

}


.home-ritual-card:hover > img {

    transform:
        scale(1.025);

}


.home-ritual-card::after {

    content:
        "";

    position:
        absolute;

    inset:
        0;

    background:
        linear-gradient(
            to top,
            rgba(15, 29, 23, 0.66),
            rgba(15, 29, 23, 0.02) 58%
        );

}


.home-ritual-overlay {

    position:
        absolute;

    z-index:
        2;

    right:
        3rem;

    bottom:
        3rem;

    left:
        3rem;

    color:
        #ffffff;

}


.home-ritual-overlay p {

    margin:
        0 0 0.9rem;

    color:
        #ffffff;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.15em;

}


.home-ritual-overlay h3 {

    margin:
        0 0 1.4rem;

    color:
        #ffffff;

    font-size:
        clamp(
            3.2rem,
            3vw,
            4.8rem
        );

}


.home-ritual-overlay span {

    color:
        #ffffff;

    font-size:
        1.15rem;

    font-weight:
        700;

    letter-spacing:
        0.07em;

    text-transform:
        uppercase;

}


/* ============================================================
   HAMPER FEATURE
   ============================================================ */

.home-hamper-feature {

    min-height:
        65rem;

    display:
        grid;

    grid-template-columns:
        1.08fr 0.92fr;

    background:
        #e6e0d6;

}


.home-hamper-image {

    min-height:
        65rem;

    overflow:
        hidden;

}


.home-hamper-image img {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

}


.home-hamper-content {

    padding:
        clamp(
            6rem,
            8vw,
            12rem
        );

    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-start;

    justify-content:
        center;

}


.home-hamper-content h2 {

    max-width:
        58rem;

    margin:
        0 0 2.6rem;

    font-size:
        clamp(
            4.6rem,
            5vw,
            7.5rem
        );

    line-height:
        0.96;

    letter-spacing:
        -0.05em;

}


.home-hamper-content p:not(.home-eyebrow) {

    max-width:
        52rem;

    margin:
        0 0 1.7rem;

    color:
        #5b625e;

    font-size:
        1.45rem;

    line-height:
        1.75;

}


.home-hamper-content
.home-primary-button {

    margin-top:
        1.6rem;

}


/* ============================================================
   BRAND STORY
   ============================================================ */

.home-brand-story {

    padding:
        clamp(
            9rem,
            11vw,
            16rem
        )
        2rem;

    background:
        #22372e;

    color:
        #ffffff;

}


.home-brand-story-inner {

    max-width:
        90rem;

    margin:
        0 auto;

    text-align:
        center;

}


.home-brand-story
.home-eyebrow {

    color:
        #b6c3ba;

}


.home-brand-story h2 {

    margin:
        0;

    color:
        #ffffff;

    font-size:
        clamp(
            4.8rem,
            6vw,
            8.4rem
        );

    line-height:
        0.96;

    letter-spacing:
        -0.05em;

}


.home-brand-story p:not(.home-eyebrow) {

    max-width:
        67rem;

    margin:
        3rem auto;

    color:
        #d7dfd9;

    font-size:
        1.55rem;

    line-height:
        1.8;

}


.home-brand-story
.home-text-link {

    border-color:
        #ffffff;

    color:
        #ffffff;

}


/* ============================================================
   JOURNAL
   ============================================================ */

.home-journal-grid {

    display:
        grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap:
        2rem;

}


.home-journal-card {

    background:
        #ffffff;

}


.home-journal-image {

    min-height:
        34rem;

}


.home-journal-image-one {

    background:
        linear-gradient(
            145deg,
            #4d665a,
            #b8c4b3
        );

}


.home-journal-image-two {

    background:
        linear-gradient(
            145deg,
            #ac877b,
            #e0cfc8
        );

}


.home-journal-image-three {

    background:
        linear-gradient(
            145deg,
            #967b55,
            #ddcab0
        );

}


.home-journal-content {

    padding:
        2.4rem 0;

}


.home-journal-content h3 {

    max-width:
        35rem;

    margin:
        0 0 1.2rem;

    font-size:
        2.8rem;

    line-height:
        1.08;

}


.home-journal-content p:last-child {

    color:
        #686f6b;

    font-size:
        1.25rem;

}


/* ============================================================
   FINAL CTA
   ============================================================ */

.home-final-cta {

    min-height:
        40rem;

    padding:
        clamp(
            5rem,
            7vw,
            9rem
        );

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        5rem;

    background:
        #b7c1b4;

}


.home-final-cta h2 {

    max-width:
        65rem;

    margin:
        0;

    color:
        #193128;

    font-size:
        clamp(
            4.7rem,
            6vw,
            8rem
        );

    line-height:
        0.94;

}


.home-final-cta-actions {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        1rem;

}


.home-primary-light {

    background:
        #ffffff;

    border-color:
        #ffffff;

    color:
        #20332a;

}


.home-primary-light:hover {

    background:
        #20332a;

    border-color:
        #20332a;

    color:
        #ffffff;

}


.home-secondary-light {

    border-color:
        #20332a;

    color:
        #20332a;

}


/* ============================================================
   TABLET
   ============================================================ */

@media screen and (max-width: 1000px) {

    .home-hero {

        grid-template-columns:
            1fr;

    }


    .home-hero-copy {

        min-height:
            58rem;

    }


    .home-hero-image {

        min-height:
            62rem;

    }


    .home-product-grid {

        grid-template-columns:
            repeat(2, 1fr);

        row-gap:
            5rem;

    }


    .home-ritual-grid {

        grid-template-columns:
            1fr;

    }


    .home-ritual-card {

        min-height:
            52rem;

    }


    .home-hamper-feature {

        grid-template-columns:
            1fr;

    }


    .home-hamper-image {

        min-height:
            60rem;

    }


    .home-journal-grid {

        grid-template-columns:
            1fr 1fr;

    }


    .home-final-cta {

        align-items:
            flex-start;

        flex-direction:
            column;

    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media screen and (max-width: 650px) {

    .retail-home {

        margin-left:
            -1.5rem;

        margin-right:
            -1.5rem;

    }


    .home-hero-copy {

        min-height:
            52rem;

        padding:
            5rem 2.2rem;

    }


    .home-hero-copy h1 {

        font-size:
            clamp(
                5.2rem,
                17vw,
                7.2rem
            );

    }


    .home-hero-description {

        font-size:
            1.45rem;

    }


    .home-hero-image {

        min-height:
            50rem;

    }


    .home-hero-image-caption {

        right:
            2.2rem;

        bottom:
            2.2rem;

        left:
            2.2rem;

    }


    .home-service-strip {

        grid-template-columns:
            1fr 1fr;

    }


    .home-service-item {

        border-bottom:
            1px solid
            var(--botanical-border);

    }


    .home-section {

        padding:
            7rem 2rem;

    }


    .home-section-heading {

        align-items:
            flex-start;

        flex-direction:
            column;

    }


    .home-product-grid {

        grid-template-columns:
            1fr;

    }


    .home-product-image {

        height:
            47rem;

    }


    .home-ritual-card {

        min-height:
            46rem;

    }


    .home-hamper-image {

        min-height:
            48rem;

    }


    .home-hamper-content {

        padding:
            6rem 2.2rem;

    }


    .home-journal-grid {

        grid-template-columns:
            1fr;

    }


    .home-final-cta {

        min-height:
            47rem;

        padding:
            6rem 2.2rem;

    }


    .home-final-cta-actions {

        width:
            100%;

    }


    .home-final-cta-actions a {

        width:
            100%;

    }

}

/* ============================================================
   STEP 2 POLISH — HERO BALANCE
   ============================================================ */

.home-hero-copy {

    padding:
        clamp(
            5.5rem,
            7vw,
            9rem
        );

}


.home-hero-copy h1 {

    max-width:
        58rem;

    font-size:
        clamp(
            5rem,
            6.2vw,
            8.8rem
        );

    line-height:
        0.94;

    letter-spacing:
        -0.045em;

}


.home-hero-description {

    max-width:
        48rem;

    margin-top:
        2.4rem;

    font-size:
        1.6rem;

}


.home-hero-actions {

    margin-top:
        2.8rem;

}


.home-hero-image-caption {

    bottom:
        3rem;

}


/* Slightly improve first-screen visibility on laptop-sized displays */

@media screen and (min-width: 1001px) and (max-height: 850px) {

    .home-hero {

        min-height:
            58rem;

    }


    .home-hero-image {

        min-height:
            58rem;

    }


    .home-hero-copy {

        padding-top:
            5rem;

        padding-bottom:
            5rem;

    }


    .home-hero-copy h1 {

        font-size:
            clamp(
                4.8rem,
                5.8vw,
                7.8rem
            );

    }

}

/* ============================================================
   STEP 3 — PREMIUM SHOP / CATALOGUE
   Grown Alchemist × MECCA
   ============================================================ */


/* ============================================================
   PAGE
   ============================================================ */

.premium-catalog {

    margin-left:
        calc(
            -1 * clamp(
            1.8rem,
            3vw,
            4rem
            )
        );

    margin-right:
        calc(
            -1 * clamp(
            1.8rem,
            3vw,
            4rem
            )
        );

    background:
        #fffdfa;

}


/* ============================================================
   HEADER
   ============================================================ */

.premium-catalog-header {

    padding:
        clamp(
            6rem,
            8vw,
            10rem
        )
        clamp(
            2rem,
            5vw,
            7rem
        )
        clamp(
            5rem,
            6vw,
            8rem
        );

    border-bottom:
        1px solid
        var(--botanical-border);

    background:
        #f5f1e9;

}


.premium-catalog-header-inner {

    max-width:
        144rem;

    margin:
        0 auto;

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        4rem;

}


.premium-catalog-heading {

    max-width:
        80rem;

}


.premium-catalog-eyebrow {

    margin:
        0 0 1.5rem;

    color:
        #6f7973;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.17em;

    line-height:
        1.4;

    text-transform:
        uppercase;

}


.premium-catalog-heading h1 {

    margin:
        0;

    color:
        #21372e;

    font-size:
        clamp(
            5rem,
            6vw,
            8.7rem
        );

    line-height:
        0.95;

    letter-spacing:
        -0.05em;

}


.premium-catalog-intro {

    max-width:
        60rem;

    margin:
        2.4rem 0 0;

    color:
        #606963;

    font-size:
        1.5rem;

    line-height:
        1.75;

}

.premium-wholesale-intro {
    padding: clamp(5rem, 8vw, 9rem) clamp(2rem, 5vw, 7rem);
    background: #fffdfa;
    border-bottom: 1px solid var(--botanical-border);
}

.premium-wholesale-intro-inner {
    max-width: 120rem;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(3rem, 8vw, 10rem);
    align-items: center;
}

.premium-wholesale-intro h2 {
    margin: 0;
    max-width: 52rem;
    color: #21372e;
    font-size: clamp(2.8rem, 4vw, 5.2rem);
    line-height: 1.05;
}

.premium-wholesale-intro-copy {
    max-width: 62rem;
}

.premium-wholesale-intro-copy p {
    margin: 0;
    color: #606963;
    font-size: 1.6rem;
    line-height: 1.75;
}

.premium-catalog-wholesale-button {
    display: inline-block;
    margin-top: 2.2rem;
    text-decoration: none;
}

@media (max-width: 700px) {
    .premium-wholesale-intro-inner {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }
}


.premium-product-count {

    color:
        #717873;

    font-size:
        1.18rem;

    white-space:
        nowrap;

}


/* ============================================================
   TOOLBAR
   ============================================================ */

.premium-shop-toolbar {

    max-width:
        144rem;

    margin:
        0 auto;

    padding:
        2rem
        clamp(
            2rem,
            4vw,
            5rem
        );

    border-bottom:
        1px solid
        var(--botanical-border);

    background:
        #fffdfa;

}


.premium-shop-toolbar-inner {

    min-height:
        5rem;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        3rem;

}


.premium-shop-toolbar-left {

    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        2rem;

}


/* ============================================================
   FILTER BUTTON
   ============================================================ */

.premium-filter-button {

    height:
        4.2rem;

    margin:
        0;

    padding:
        0 1.4rem;

    display:
        inline-flex;

    align-items:
        center;

    gap:
        0.8rem;

    border:
        1px solid
        #29332e;

    border-radius:
        0;

    background:
        transparent;

    color:
        #29332e;

    font-size:
        1.08rem;

    font-weight:
        700;

    letter-spacing:
        0.08em;

    line-height:
        1;

    text-transform:
        uppercase;

}


.premium-filter-button:hover {

    background:
        #29332e;

    color:
        #ffffff;

}


.premium-filter-button svg {

    width:
        1.7rem;

    height:
        1.7rem;

    fill:
        none;

    stroke:
        currentColor;

    stroke-width:
        1.5;

}


.premium-filter-count {

    min-width:
        1.9rem;

    height:
        1.9rem;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        999px;

    background:
        #29332e;

    color:
        #ffffff;

    font-size:
        0.92rem;

}


.premium-filter-button:hover
.premium-filter-count {

    background:
        #ffffff;

    color:
        #29332e;

}


/* ============================================================
   SEARCH RESULT
   ============================================================ */

.premium-search-result {

    color:
        #626b65;

    font-size:
        1.2rem;

}


.premium-search-result strong {

    color:
        #28362f;

}


/* ============================================================
   SORT
   ============================================================ */

.premium-sort-form {

    margin:
        0;

    display:
        flex;

    align-items:
        center;

    gap:
        1rem;

}


.premium-sort-form label {

    margin:
        0;

    color:
        #6d746f;

    font-size:
        1.08rem;

    font-weight:
        600;

}


.premium-sort-form select {
    background-image: none;
    -webkit-appearance: menulist;
    appearance: auto;

    width:
        auto;

    min-width:
        18rem;

    height:
        4.2rem;

    margin:
        0;

    padding:
        0 3.8rem
        0 1.3rem;

    border:
        0;

    border-bottom:
        1px solid
        #5f6762;

    border-radius:
        0;

    background-color:
        transparent;

    box-shadow:
        none;

    color:
        #29342e;

    font-size:
        1.15rem;

}


/* ============================================================
   ACTIVE FILTERS
   ============================================================ */

.premium-active-filters {

    margin-top:
        1.4rem;

    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        0.8rem;

}


.premium-filter-chip {

    padding:
        0.7rem 1.1rem;

    border:
        1px solid
        #d5d5cf;

    border-radius:
        999px;

    background:
        #f4f1eb;

    color:
        #4d5852;

    font-size:
        1.05rem;

}


.premium-clear-filters {

    margin-left:
        0.7rem;

    border-bottom:
        1px solid
        #454d48;

    color:
        #454d48;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.07em;

    text-transform:
        uppercase;

}


/* ============================================================
   PRODUCT SECTION
   ============================================================ */

.premium-products-section {

    background:
        #fffdfa;

}


.premium-products-inner {

    max-width:
        144rem;

    margin:
        0 auto;

    padding:
        clamp(
            4rem,
            5vw,
            7rem
        )
        clamp(
            2rem,
            4vw,
            5rem
        )
        clamp(
            8rem,
            9vw,
            13rem
        );

}


/* ============================================================
   PRODUCT GRID
   ============================================================ */

.premium-product-grid {

    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    gap:
        6rem 2.3rem;

}


/* ============================================================
   PRODUCT CARD
   ============================================================ */

.premium-product-card {

    min-width:
        0;

    background:
        transparent;

}


/* ============================================================
   PRODUCT IMAGE
   ============================================================ */

.premium-product-image-wrap {

    position:
        relative;

    height:
        clamp(
            42rem,
            35vw,
            56rem
        );

    overflow:
        hidden;

    background:
        #f1eee7;

}


.premium-product-image {

    width:
        100%;

    height:
        100%;

    display:
        block;

}


.premium-product-image img {

    width:
        100%;

    height:
        100%;

    display:
        block;

    object-fit:
        cover;

    transition:
        transform 0.5s ease;

}


.premium-product-card:hover
.premium-product-image img {

    transform:
        scale(1.025);

}


/* ============================================================
   ADD TO BAG HOVER
   ============================================================ */

.premium-product-image-action {

    position:
        absolute;

    right:
        1.5rem;

    bottom:
        1.5rem;

    left:
        1.5rem;

    opacity:
        0;

    transform:
        translateY(
            1rem
        );

    transition:
        0.25s ease;

}


.premium-product-card:hover
.premium-product-image-action {

    opacity:
        1;

    transform:
        translateY(
            0
        );

}


.premium-product-image-action form {

    margin:
        0;

}


.premium-add-button {

    width:
        100%;

    min-height:
        4.8rem;

    margin:
        0;

    border:
        1px solid
        #ffffff;

    border-radius:
        0;

    background:
        rgba(
            255,
            255,
            255,
            0.94
        );

    color:
        #1d2923;

    backdrop-filter:
        blur(10px);

    font-size:
        1.08rem;

    font-weight:
        700;

    letter-spacing:
        0.1em;

    text-transform:
        uppercase;

}


.premium-add-button:hover {

    border-color:
        #1f2c25;

    background:
        #1f2c25;

    color:
        #ffffff;

}


.premium-add-button:disabled {

    opacity:
        0.7;

    cursor:
        not-allowed;

    border-color:
        #d6d7d3;

    background:
        #ecece8;

    color:
        #6f746f;

}


/* ============================================================
   PRODUCT INFO
   ============================================================ */

.premium-product-info {

    padding:
        2rem 0 0;

}


.premium-product-meta {

    min-height:
        2rem;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        1rem;

}


.premium-product-category,
.premium-product-size {

    color:
        #777f7a;

    font-size:
        0.98rem;

    font-weight:
        700;

    letter-spacing:
        0.13em;

    text-transform:
        uppercase;

}


.premium-product-size {

    font-weight:
        500;

}


.premium-product-name {

    margin:
        1rem 0 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            2.1rem,
            2vw,
            2.8rem
        );

    font-weight:
        400;

    line-height:
        1.12;

}


.premium-product-name a {

    color:
        #21362d;

    text-decoration:
        none;

}


.premium-product-name a:hover {

    color:
        #63766c;

}


.premium-product-bottom {

    margin-top:
        1.8rem;

    padding-top:
        1.5rem;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        1rem;

    border-top:
        1px solid
        #e3e0d9;

}


.premium-product-price {

    color:
        #222c27;

    font-size:
        1.35rem;

    font-weight:
        700;

}


.premium-product-view {

    border-bottom:
        1px solid
        #57635c;

    color:
        #57635c;

    font-size:
        0.98rem;

    font-weight:
        700;

    letter-spacing:
        0.07em;

    text-transform:
        uppercase;

}


/* ============================================================
   NO RESULTS
   ============================================================ */

.premium-no-results {

    max-width:
        70rem;

    margin:
        5rem auto;

    padding:
        8rem 3rem;

    text-align:
        center;

}


.premium-no-results h2 {

    margin:
        0;

    font-size:
        clamp(
            4rem,
            5vw,
            6.5rem
        );

}


.premium-no-results > p:not(
    .premium-catalog-eyebrow
) {

    max-width:
        50rem;

    margin:
        2rem auto
        3rem;

    color:
        #656e69;

    font-size:
        1.4rem;

}


/* ============================================================
   CATEGORY CONTENT MODULES
   ============================================================ */

.catalog-content-modules {
    max-width: 148rem;
    margin: 0 auto;
    padding: 0 clamp(2rem, 6vw, 8rem) clamp(7rem, 10vw, 13rem);
}

.catalog-guide-section,
.catalog-faq-section {
    padding: clamp(6rem, 9vw, 11rem) 0;
}

.catalog-module-heading {
    max-width: 72rem;
    margin-bottom: clamp(3rem, 5vw, 5.5rem);
}

.catalog-module-heading h2,
.catalog-complete-routine h2,
.catalog-assistant-section h2 {
    margin: 0 0 1.6rem;
    color: #274637;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(3.4rem, 5vw, 6.2rem);
    font-weight: 400;
    line-height: 1.05;
}

.catalog-module-heading > p:not(.premium-catalog-eyebrow),
.catalog-complete-routine > div > p:not(.premium-catalog-eyebrow),
.catalog-assistant-section > p:not(.premium-catalog-eyebrow) {
    max-width: 66rem;
    margin: 0;
    color: #667069;
    font-size: 1.55rem;
    line-height: 1.75;
}

.catalog-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
}

.catalog-choice-card {
    border: 1px solid #dce1da;
    background: #fbfaf6;
}

.catalog-choice-card-copy {
    min-height: 32rem;
    padding: clamp(3rem, 5vw, 5rem);
}

.catalog-choice-icon {
    display: grid;
    width: 7.2rem;
    height: 7.2rem;
    margin-bottom: clamp(3.5rem, 5vw, 6rem);
    place-items: center;
    border: 1px solid #aebdb4;
    border-radius: 50%;
    background: #f1f3ed;
    color: #304f40;
}

.catalog-choice-icon svg {
    width: 3.8rem;
    height: 3.8rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.6;
}

.catalog-choice-card h3 {
    margin: 0 0 1.6rem;
    color: #274637;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(2.7rem, 3vw, 4rem);
    font-weight: 400;
}

.catalog-choice-card-copy > p:last-child {
    max-width: 52rem;
    margin: 0;
    color: #667069;
    font-size: 1.45rem;
    line-height: 1.8;
}

.catalog-routine-section {
    padding: clamp(5rem, 7vw, 8rem);
    background: #304f40;
    color: #fff;
}

.catalog-module-heading--light h2,
.catalog-routine-section .premium-catalog-eyebrow {
    color: #fff;
}

.catalog-routine-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.catalog-routine-steps li {
    min-height: 18rem;
    padding: 2.4rem;
    border-top: 1px solid rgba(255, 255, 255, 0.35);
    border-right: 1px solid rgba(255, 255, 255, 0.2);
}

.catalog-routine-steps li:last-child {
    border-right: 0;
}

.catalog-routine-steps span,
.catalog-routine-steps strong {
    display: block;
}

.catalog-routine-steps span {
    margin-bottom: 3.5rem;
    color: #cdd8d1;
    font-size: 1.15rem;
    letter-spacing: 0.16em;
}

.catalog-routine-steps strong {
    margin-bottom: 0.8rem;
    color: #fff;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 2.3rem;
    font-weight: 400;
}

.catalog-routine-steps p {
    margin: 0;
    color: rgba(255, 255, 255, 0.75);
    font-size: 1.3rem;
    line-height: 1.65;
}

.catalog-complete-routine {
    display: grid;
    grid-template-columns: minmax(24rem, 0.75fr) minmax(0, 1fr) auto;
    gap: 4rem;
    align-items: end;
    padding: clamp(6rem, 9vw, 11rem) 0;
    border-bottom: 1px solid #dce1da;
}

.catalog-complete-routine-image {
    overflow: hidden;
}

.catalog-complete-routine-image img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.catalog-module-link {
    display: inline-flex;
    min-height: 5rem;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 1.3rem 2.4rem;
    border: 1px solid #304f40;
    border-radius: 0;
    background: #304f40;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}

.catalog-module-link:hover,
.catalog-module-link:focus {
    background: transparent;
    color: #304f40;
}

.catalog-assistant-section {
    margin: clamp(6rem, 9vw, 11rem) 0 0;
    padding: clamp(5rem, 8vw, 9rem);
    background: #f1eee5;
    text-align: center;
}

.catalog-assistant-section > p {
    margin-right: auto !important;
    margin-left: auto !important;
}

.catalog-assistant-section .catalog-module-link {
    margin-top: 3rem;
}

.catalog-faq-list {
    border-top: 1px solid #cfd6cf;
}

.catalog-faq-list details {
    border-bottom: 1px solid #cfd6cf;
}

.catalog-faq-list summary {
    position: relative;
    padding: 2.4rem 5rem 2.4rem 0;
    color: #274637;
    cursor: pointer;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(1.8rem, 2.2vw, 2.5rem);
    list-style: none;
}

.catalog-faq-list summary::-webkit-details-marker {
    display: none;
}

.catalog-faq-list summary::after {
    position: absolute;
    right: 1rem;
    content: '+';
    font-family: Arial, sans-serif;
    font-weight: 300;
}

.catalog-faq-list details[open] summary::after {
    content: '−';
}

.catalog-faq-list details p {
    max-width: 80rem;
    margin: 0;
    padding: 0 5rem 2.8rem 0;
    color: #667069;
    font-size: 1.45rem;
    line-height: 1.75;
}

@media screen and (max-width: 800px) {
    .catalog-choice-grid,
    .catalog-complete-routine {
        grid-template-columns: 1fr;
    }

    .catalog-routine-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .catalog-routine-steps li:nth-child(2) {
        border-right: 0;
    }
}

@media screen and (max-width: 520px) {
    .catalog-content-modules {
        padding-right: 1.5rem;
        padding-left: 1.5rem;
    }

    .catalog-routine-section,
    .catalog-assistant-section {
        padding: 4rem 2.4rem;
    }

    .catalog-routine-steps {
        grid-template-columns: 1fr;
    }

    .catalog-routine-steps li {
        min-height: auto;
        border-right: 0;
    }

    .catalog-routine-steps span {
        margin-bottom: 1.5rem;
    }
}


/* ============================================================
   CTA
   ============================================================ */

.premium-catalog-cta {

    min-height:
        38rem;

    padding:
        clamp(
            5rem,
            7vw,
            9rem
        );

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        5rem;

    background:
        #263b32;

}


.premium-catalog-cta
.premium-catalog-eyebrow {

    color:
        #b6c3bb;

}


.premium-catalog-cta h2 {

    margin:
        0;

    color:
        #ffffff;

    font-size:
        clamp(
            4rem,
            5vw,
            7rem
        );

    line-height:
        0.95;

}


.premium-catalog-cta p:not(
    .premium-catalog-eyebrow
) {

    max-width:
        55rem;

    margin:
        2rem 0 0;

    color:
        #d5ded8;

    font-size:
        1.4rem;

}


.premium-catalog-cta-link {

    min-width:
        16rem;

    min-height:
        5rem;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid
        #ffffff;

    color:
        #ffffff;

    font-size:
        1.08rem;

    font-weight:
        700;

    letter-spacing:
        0.09em;

    text-transform:
        uppercase;

}


.premium-catalog-cta-link:hover {

    background:
        #ffffff;

    color:
        #263b32;

}


/* ============================================================
   TOAST
   ============================================================ */

.cart-toast {

    position:
        fixed;

    z-index:
        2000;

    right:
        2.5rem;

    bottom:
        2.5rem;

    max-width:
        36rem;

    padding:
        1.5rem 2rem;

    background:
        #1e3028;

    color:
        #ffffff;

    font-size:
        1.2rem;

    opacity:
        0;

    pointer-events:
        none;

    transform:
        translateY(
            1rem
        );

    transition:
        0.25s ease;

}


.cart-toast.is-visible {

    opacity:
        1;

    transform:
        translateY(
            0
        );

}


/* ============================================================
   FILTER DRAWER POLISH
   ============================================================ */

.catalog-filter-drawer {

    background:
        #fffdfa;

}


.catalog-filter-drawer-header {

    padding:
        3rem;

    border-bottom:
        1px solid
        var(--botanical-border);

}


.catalog-filter-drawer-header h2 {

    margin:
        0;

    font-size:
        3.2rem;

}


.catalog-filter-eyebrow {

    color:
        #77817b;

    font-size:
        0.95rem;

    font-weight:
        700;

    letter-spacing:
        0.17em;

}


.catalog-filter-close {

    background:
        transparent;

    color:
        #27352e;

}


.catalog-filter-field {

    margin-bottom:
        2.5rem;

}


.catalog-filter-field label {

    margin-bottom:
        0.8rem;

    color:
        #3d4943;

    font-size:
        1.05rem;

    font-weight:
        700;

    letter-spacing:
        0.07em;

    text-transform:
        uppercase;

}


.catalog-filter-field select {

    border:
        0;

    border-bottom:
        1px solid
        #9da39f;

    border-radius:
        0;

    background:
        transparent;

}


.catalog-filter-apply-button {

    border-radius:
        0;

    background:
        #23372e;

}


.catalog-filter-clear-button {

    border-bottom:
        1px solid
        #35423c;

    color:
        #35423c;

}


/* ============================================================
   TABLET
   ============================================================ */

@media screen and (max-width: 1000px) {

    .premium-product-grid {

        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );

    }


    .premium-product-image-wrap {

        height:
            50rem;

    }


    .premium-product-image-action {

        opacity:
            1;

        transform:
            none;

    }


    .premium-catalog-cta {

        align-items:
            flex-start;

        flex-direction:
            column;

    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media screen and (max-width: 650px) {

    .premium-catalog {

        margin-left:
            -1.5rem;

        margin-right:
            -1.5rem;

    }


    .premium-catalog-header {

        padding:
            5rem 2rem;

    }


    .premium-catalog-header-inner {

        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            2rem;

    }


    .premium-catalog-heading h1 {

        font-size:
            clamp(
                4.8rem,
                16vw,
                6.6rem
            );

    }


    .premium-shop-toolbar {

        padding:
            1.5rem 2rem;

    }


    .premium-shop-toolbar-inner {

        align-items:
            stretch;

        flex-direction:
            column;

    }


    .premium-shop-toolbar-left {

        justify-content:
            space-between;

    }


    .premium-filter-button {

        flex:
            1;

    }


    .premium-sort-form {

        width:
            100%;

        justify-content:
            space-between;

    }


    .premium-sort-form select {

        flex:
            1;

        min-width:
            0;

    }


    .premium-products-inner {

        padding:
            4rem 2rem
            8rem;

    }


    .premium-product-grid {

        grid-template-columns:
            1fr;

        gap:
            5rem;

    }


    .premium-product-image-wrap {

        height:
            50rem;

    }


    .premium-product-image-action {

        right:
            1rem;

        bottom:
            1rem;

        left:
            1rem;

        opacity:
            1;

        transform:
            none;

    }


    .premium-product-name {

        font-size:
            2.5rem;

    }


    .premium-catalog-cta {

        min-height:
            42rem;

        padding:
            6rem 2.2rem;

    }


    .premium-catalog-cta-link {

        width:
            100%;

    }


    .cart-toast {

        right:
            1.5rem;

        bottom:
            1.5rem;

        left:
            1.5rem;

        max-width:
            none;

    }

}

/* ============================================================
   STEP 4 — PREMIUM PRODUCT DETAIL
   ============================================================ */


.premium-product-page {

    margin-left:
        calc(
            -1 * clamp(
            1.8rem,
            3vw,
            4rem
            )
        );

    margin-right:
        calc(
            -1 * clamp(
            1.8rem,
            3vw,
            4rem
            )
        );

    background:
        #fffdfa;

}


/* ============================================================
   MAIN PRODUCT LAYOUT
   ============================================================ */

.premium-product-detail {

    max-width:
        144rem;

    margin:
        0 auto;

    padding:
        clamp(
            4rem,
            5vw,
            7rem
        )
        clamp(
            2rem,
            4vw,
            5rem
        )
        clamp(
            8rem,
            9vw,
            12rem
        );

    display:
        grid;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(38rem, 0.85fr);

    gap:
        clamp(
            4rem,
            6vw,
            9rem
        );

}


/* ============================================================
   PRODUCT GALLERY
   ============================================================ */

.premium-product-gallery {

    min-width:
        0;

}


.premium-product-gallery-main {

    height:
        clamp(
            58rem,
            58vw,
            82rem
        );

    overflow:
        hidden;

    background:
        #f1eee7;

}


.premium-product-gallery-main img {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    transition:
        transform 0.6s ease;

}


.premium-product-gallery-main:hover img {

    transform:
        scale(1.018);

}


.premium-product-gallery-secondary {

    margin-top:
        1.5rem;

    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        1.5rem;

}


.premium-product-gallery-detail,
.premium-product-gallery-editorial {

    min-height:
        37rem;

}


.premium-product-gallery-detail {

    overflow:
        hidden;

    background:
        #ebe7df;

}


.premium-product-gallery-detail img {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    transform:
        scale(1.12);

}


.premium-product-gallery-editorial {

    padding:
        4rem;

    display:
        flex;

    align-items:
        flex-end;

    background:
        linear-gradient(
            145deg,
            #263e33,
            #8a9a8d
        );

    color:
        #ffffff;

}


.premium-product-gallery-editorial span {

    display:
        block;

    margin-bottom:
        1.2rem;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.17em;

}


.premium-product-gallery-editorial strong {

    max-width:
        28rem;

    display:
        block;

    color:
        #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            3rem,
            3vw,
            4.5rem
        );

    font-weight:
        400;

    line-height:
        1.02;

}


/* ============================================================
   INFORMATION COLUMN
   ============================================================ */

.premium-product-detail-info {

    min-width:
        0;

}


.premium-product-detail-sticky {

    position:
        sticky;

    top:
        17rem;

}


.premium-product-detail-category {

    margin:
        0 0 1.8rem;

    color:
        #707973;

    font-size:
        1.05rem;

    font-weight:
        700;

    letter-spacing:
        0.15em;

    text-transform:
        uppercase;

}


.premium-product-detail-category span {

    font-weight:
        500;

}


.premium-product-detail-info h1 {

    max-width:
        55rem;

    margin:
        0;

    color:
        #20362d;

    font-size:
        clamp(
            4.6rem,
            5vw,
            7.5rem
        );

    line-height:
        0.96;

    letter-spacing:
        -0.045em;

}


.premium-product-detail-price {

    margin:
        2.4rem 0 0;

    color:
        #243029;

    font-size:
        2rem;

    font-weight:
        700;

}


.premium-product-detail-description {

    max-width:
        53rem;

    margin:
        2.6rem 0 0;

    color:
        #5f6762;

    font-size:
        1.48rem;

    line-height:
        1.75;

}


/* ============================================================
   ACTIONS
   ============================================================ */

.premium-product-detail-actions {

    margin-top:
        3.5rem;

    display:
        grid;

    grid-template-columns:
        1fr;

    gap:
        1rem;

}


.premium-product-add-form {

    margin:
        0;

}


.premium-product-add-main {

    width:
        100%;

    min-height:
        5.4rem;

    margin:
        0;

    border:
        1px solid
        #1e2923;

    border-radius:
        0;

    background:
        #1e2923;

    color:
        #ffffff;

    font-size:
        1.12rem;

    font-weight:
        700;

    letter-spacing:
        0.1em;

    text-transform:
        uppercase;

}


.premium-product-add-main:hover {

    border-color:
        #405148;

    background:
        #405148;

    color:
        #ffffff;

}

.premium-product-add-main:disabled {
    cursor: not-allowed;
    border-color: #b9bcb8;
    background: #d9dad6;
    color: #626762;
}


.premium-product-hamper-link {

    min-height:
        5.4rem;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid
        #28352f;

    color:
        #28352f;

    font-size:
        1.1rem;

    font-weight:
        700;

    letter-spacing:
        0.1em;

    text-decoration:
        none;

    text-transform:
        uppercase;

}


.premium-product-hamper-link:hover {

    background:
        #f0ece4;

    color:
        #28352f;

}


/* ============================================================
   DELIVERY / BENEFITS
   ============================================================ */

.premium-product-delivery {

    margin-top:
        3.5rem;

    padding:
        2.4rem 0;

    display:
        grid;

    gap:
        2rem;

    border-top:
        1px solid
        var(--botanical-border);

    border-bottom:
        1px solid
        var(--botanical-border);

}


.premium-product-delivery > div {

    display:
        grid;

    grid-template-columns:
        3rem 1fr;

    gap:
        1.2rem;

}


.premium-product-delivery-icon {

    color:
        #52685c;

    font-size:
        1.8rem;

}


.premium-product-delivery strong {

    color:
        #2b3932;

    font-size:
        1.18rem;

}


.premium-product-delivery p {

    margin:
        0.35rem 0 0;

    color:
        #747b77;

    font-size:
        1.08rem;

}


/* ============================================================
   ACCORDION
   ============================================================ */

.premium-product-accordion {

    margin-top:
        2rem;

}


.premium-product-accordion details {

    border-bottom:
        1px solid
        var(--botanical-border);

}


.premium-product-accordion summary {

    position:
        relative;

    padding:
        2rem 3rem
        2rem 0;

    color:
        #29362f;

    font-size:
        1.22rem;

    font-weight:
        700;

    cursor:
        pointer;

    list-style:
        none;

}


.premium-product-accordion summary::-webkit-details-marker {

    display:
        none;

}


.premium-product-accordion summary::after {

    content:
        "+";

    position:
        absolute;

    right:
        0;

    top:
        50%;

    transform:
        translateY(-50%);

    color:
        #53635a;

    font-size:
        2rem;

    font-weight:
        400;

}


.premium-product-accordion details[open]
summary::after {

    content:
        "−";

}


.premium-product-accordion details > div {

    padding:
        0 0 2.2rem;

}


.premium-product-accordion details p {

    margin:
        0;

    color:
        #626b66;

    font-size:
        1.25rem;

    line-height:
        1.75;

}


/* ============================================================
   SPECS
   ============================================================ */

.premium-product-specs {

    display:
        grid;

    gap:
        1.4rem;

}


.premium-product-specs > div {

    display:
        flex;

    align-items:
        baseline;

    justify-content:
        space-between;

    gap:
        2rem;

}


.premium-product-specs span {

    color:
        #7a817d;

    font-size:
        1.08rem;

}


.premium-product-specs strong {

    color:
        #303b35;

    font-size:
        1.12rem;

    text-align:
        right;

}


/* ============================================================
   BACK LINK
   ============================================================ */

.premium-product-back {

    margin-top:
        2.5rem;

}


.premium-product-back a {

    padding-bottom:
        0.4rem;

    border-bottom:
        1px solid
        #56625c;

    color:
        #56625c;

    font-size:
        1.05rem;

    font-weight:
        700;

    letter-spacing:
        0.07em;

    text-transform:
        uppercase;

}


/* ============================================================
   EDITORIAL SECTION
   ============================================================ */

.premium-product-editorial {

    min-height:
        56rem;

    display:
        grid;

    grid-template-columns:
        1fr 1fr;

    background:
        #f1ece3;

}


.premium-product-editorial-copy {

    padding:
        clamp(
            6rem,
            8vw,
            12rem
        );

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        center;

}


.premium-product-editorial-eyebrow {

    margin:
        0 0 1.5rem;

    color:
        #6d7972;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.17em;

    text-transform:
        uppercase;

}


.premium-product-editorial-copy h2 {

    max-width:
        60rem;

    margin:
        0;

    font-size:
        clamp(
            4.4rem,
            5vw,
            7rem
        );

    line-height:
        0.96;

    letter-spacing:
        -0.045em;

}


.premium-product-editorial-copy p:last-child {

    max-width:
        52rem;

    margin:
        2.7rem 0 0;

    color:
        #616a65;

    font-size:
        1.45rem;

    line-height:
        1.75;

}


.premium-product-editorial-visual {

    min-height:
        56rem;

    display:
        grid;

    place-items:
        center;

    background:
        linear-gradient(
            135deg,
            #385244,
            #a4b1a1
        );

}


.premium-product-editorial-visual span {

    color:
        rgba(
            255,
            255,
            255,
            0.92
        );

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            4rem,
            7vw,
            10rem
        );

    letter-spacing:
        0.12em;

}


/* ============================================================
   DISCOVERY
   ============================================================ */

.premium-product-discovery {

    min-height:
        38rem;

    padding:
        clamp(
            5rem,
            7vw,
            9rem
        );

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        5rem;

    background:
        #263a31;

}


.premium-product-discovery
.premium-product-editorial-eyebrow {

    color:
        #b5c2ba;

}


.premium-product-discovery h2 {

    max-width:
        62rem;

    margin:
        0;

    color:
        #ffffff;

    font-size:
        clamp(
            4rem,
            5vw,
            7rem
        );

    line-height:
        0.96;

}


.premium-product-discovery-actions {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        1rem;

}


.premium-product-discovery-primary,
.premium-product-discovery-secondary {

    min-height:
        5rem;

    padding:
        0 2rem;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    font-size:
        1.08rem;

    font-weight:
        700;

    letter-spacing:
        0.08em;

    text-transform:
        uppercase;

}


.premium-product-discovery-primary {

    border:
        1px solid
        #ffffff;

    background:
        #ffffff;

    color:
        #263a31;

}


.premium-product-discovery-secondary {

    border:
        1px solid
        #ffffff;

    color:
        #ffffff;

}


.premium-product-discovery-primary:hover {

    background:
        transparent;

    color:
        #ffffff;

}


.premium-product-discovery-secondary:hover {

    background:
        #ffffff;

    color:
        #263a31;

}


/* ============================================================
   TABLET
   ============================================================ */

@media screen and (max-width: 1000px) {

    .premium-product-detail {

        grid-template-columns:
            1fr;

    }


    .premium-product-detail-sticky {

        position:
            static;

    }


    .premium-product-gallery-main {

        height:
            70rem;

    }


    .premium-product-editorial {

        grid-template-columns:
            1fr;

    }


    .premium-product-editorial-visual {

        min-height:
            44rem;

    }


    .premium-product-discovery {

        align-items:
            flex-start;

        flex-direction:
            column;

    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media screen and (max-width: 650px) {

    .premium-product-page {

        margin-left:
            -1.5rem;

        margin-right:
            -1.5rem;

    }


    .premium-product-detail {

        padding:
            2rem 1.5rem
            7rem;

        gap:
            4rem;

    }


    .premium-product-gallery-main {

        height:
            50rem;

    }


    .premium-product-gallery-secondary {

        grid-template-columns:
            1fr;

    }


    .premium-product-gallery-detail,
    .premium-product-gallery-editorial {

        min-height:
            36rem;

    }


    .premium-product-detail-info h1 {

        font-size:
            clamp(
                4.3rem,
                14vw,
                6.2rem
            );

    }


    .premium-product-editorial {

        min-height:
            0;

    }


    .premium-product-editorial-copy {

        padding:
            6rem 2.2rem;

    }


    .premium-product-editorial-visual {

        min-height:
            38rem;

    }


    .premium-product-discovery {

        min-height:
            44rem;

        padding:
            6rem 2.2rem;

    }


    .premium-product-discovery-actions {

        width:
            100%;

    }


    .premium-product-discovery-actions a {

        width:
            100%;

    }

}

/* ============================================================
   STEP 5 — PREMIUM HAMPER BUILDER
   ============================================================ */


.premium-hamper-page {

    margin-left:
        calc(
            -1 * clamp(
            1.8rem,
            3vw,
            4rem
            )
        );

    margin-right:
        calc(
            -1 * clamp(
            1.8rem,
            3vw,
            4rem
            )
        );

    background:
        #fffdfa;

}


/* ============================================================
   HERO
   ============================================================ */

.premium-hamper-hero {

    min-height:
        50rem;

    padding:
        clamp(
            6rem,
            8vw,
            11rem
        );

    display:
        grid;

    grid-template-columns:
        1fr auto;

    align-items:
        end;

    gap:
        6rem;

    background:
        #ede8df;

}


.premium-hamper-hero-copy {

    max-width:
        90rem;

}


.premium-hamper-eyebrow {

    margin:
        0 0 1.5rem;

    color:
        #68746d;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.18em;

    line-height:
        1.4;

    text-transform:
        uppercase;

}


.premium-hamper-hero h1 {

    max-width:
        85rem;

    margin:
        0;

    color:
        #20362d;

    font-size:
        clamp(
            5.5rem,
            7vw,
            10rem
        );

    line-height:
        0.92;

    letter-spacing:
        -0.055em;

}


.premium-hamper-hero-copy > p:last-child {

    max-width:
        58rem;

    margin:
        2.8rem 0 0;

    color:
        #59625d;

    font-size:
        1.5rem;

    line-height:
        1.75;

}


.premium-hamper-hero-side {

    display:
        grid;

    grid-template-columns:
        auto auto;

    gap:
        1.2rem 1.5rem;

    align-items:
        baseline;

}


.premium-hamper-hero-side span {

    color:
        #879089;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.14em;

}


.premium-hamper-hero-side strong {

    color:
        #293b32;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        2.4rem;

    font-weight:
        400;

}


/* ============================================================
   MAIN LAYOUT
   ============================================================ */

.premium-hamper-layout {

    max-width:
        144rem;

    margin:
        0 auto;

    padding:
        clamp(
            6rem,
            7vw,
            10rem
        )
        clamp(
            2rem,
            4vw,
            5rem
        )
        clamp(
            9rem,
            10vw,
            14rem
        );

    display:
        grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(34rem, 0.65fr);

    gap:
        clamp(
            4rem,
            6vw,
            9rem
        );

}


/* ============================================================
   STEP
   ============================================================ */

.premium-hamper-step {

    padding-bottom:
        8rem;

    margin-bottom:
        8rem;

    border-bottom:
        1px solid
        var(--botanical-border);

}


.premium-hamper-step:last-child {

    margin-bottom:
        0;

}


.premium-hamper-step-heading {

    max-width:
        75rem;

    margin-bottom:
        4rem;

    display:
        grid;

    grid-template-columns:
        5.5rem 1fr;

    gap:
        2.2rem;

}


.premium-step-number {

    width:
        5rem;

    height:
        5rem;

    display:
        grid;

    place-items:
        center;

    border:
        1px solid
        #33463d;

    border-radius:
        50%;

    color:
        #33463d;

    font-size:
        1.05rem;

    font-weight:
        700;

}


.premium-hamper-step-heading h2 {

    margin:
        0;

    font-size:
        clamp(
            4rem,
            4.4vw,
            6.5rem
        );

    line-height:
        0.98;

    letter-spacing:
        -0.045em;

}


.premium-hamper-step-heading
div > p:last-child {

    max-width:
        56rem;

    margin:
        1.5rem 0 0;

    color:
        #626a66;

    font-size:
        1.35rem;

}


/* ============================================================
   PRODUCT GRID
   ============================================================ */

.premium-hamper-product-grid {

    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    gap:
        2rem;

}


.premium-hamper-product-card {

    position:
        relative;

    display:
        block;

    cursor:
        pointer;

}


.premium-hamper-product-card
> input {

    position:
        absolute;

    width:
        1px;

    height:
        1px;

    opacity:
        0;

    pointer-events:
        none;

}


.premium-hamper-product-image {

    position:
        relative;

    height:
        34rem;

    overflow:
        hidden;

    background:
        #f0ede6;

    border:
        1px solid
        transparent;

    transition:
        0.22s ease;

}


.premium-hamper-product-image img {

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    transition:
        transform 0.45s ease;

}


.premium-hamper-product-card:hover
.premium-hamper-product-image img {

    transform:
        scale(1.025);

}


.premium-hamper-product-card.is-selected
.premium-hamper-product-image {

    border-color:
        #293c32;

}


.premium-hamper-selected {

    position:
        absolute;

    top:
        1.3rem;

    right:
        1.3rem;

    padding:
        0.8rem 1.1rem;

    background:
        #263a31;

    color:
        #ffffff;

    font-size:
        0.95rem;

    font-weight:
        700;

    letter-spacing:
        0.08em;

    text-transform:
        uppercase;

    opacity:
        0;

    transform:
        translateY(-0.5rem);

    transition:
        0.2s ease;

}


.premium-hamper-product-card.is-selected
.premium-hamper-selected {

    opacity:
        1;

    transform:
        translateY(0);

}


.premium-hamper-product-info {

    padding:
        1.7rem 0 0;

    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        1.5rem;

}


.premium-hamper-product-category {

    margin:
        0 0 0.6rem;

    color:
        #7a827d;

    font-size:
        0.9rem;

    font-weight:
        700;

    letter-spacing:
        0.13em;

    text-transform:
        uppercase;

}


.premium-hamper-product-info h3 {

    margin:
        0;

    font-size:
        2rem;

    line-height:
        1.12;

}


.premium-hamper-product-price {

    color:
        #28332e;

    font-size:
        1.18rem;

    font-weight:
        700;

    white-space:
        nowrap;

}

.premium-hamper-quantity-control {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.3rem;
    border: 0;
    background: transparent;
}

.premium-hamper-quantity-control button {
    min-width: 0;
    width: 1.4rem;
    height: 1.4rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #35423b;
    font-size: 1rem;
    line-height: 1;
    text-transform: none;
}

.premium-hamper-quantity-control button:hover,
.premium-hamper-quantity-control button:focus {
    background: transparent;
    box-shadow: none;
    color: #21372e;
}

.premium-hamper-quantity-control > span {
    min-width: 1rem;
    text-align: center;
    font-weight: 700;
}


/* ============================================================
   PACKAGING
   ============================================================ */

.premium-hamper-packaging-grid {

    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(
                0,
                1fr
            )
        );

    gap:
        1.5rem;

}


.premium-hamper-packaging-card {

    position:
        relative;

    min-height:
        18rem;

    padding:
        2.5rem;

    display:
        block;

    border:
        1px solid
        var(--botanical-border);

    background:
        #ffffff;

    cursor:
        pointer;

    transition:
        0.2s ease;

}


.premium-hamper-packaging-card:hover {

    border-color:
        #7c8b82;

}


.premium-hamper-packaging-card.is-selected {

    border-color:
        #263b32;

    background:
        #f4f1ea;

}


.premium-hamper-packaging-card
> input {

    position:
        absolute;

    opacity:
        0;

    pointer-events:
        none;

}


.premium-packaging-card-inner {

    min-height:
        12rem;

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        space-between;

}


.premium-packaging-label {

    display:
        block;

    margin-bottom:
        1rem;

    color:
        #838983;

    font-size:
        0.9rem;

    font-weight:
        700;

    letter-spacing:
        0.15em;

}


.premium-packaging-card-inner h3 {

    margin:
        0;

    font-size:
        2.4rem;

}


.premium-packaging-card-inner
> strong {

    color:
        #4f5d55;

    font-size:
        1.15rem;

}


.premium-packaging-check {

    position:
        absolute;

    top:
        1.5rem;

    right:
        1.5rem;

    width:
        2.8rem;

    height:
        2.8rem;

    display:
        grid;

    place-items:
        center;

    border:
        1px solid
        #6a766f;

    border-radius:
        50%;

    color:
        transparent;

    font-size:
        1.1rem;

}


.premium-hamper-packaging-card.is-selected
.premium-packaging-check {

    background:
        #263b32;

    border-color:
        #263b32;

    color:
        #ffffff;

}


/* ============================================================
   GIFT CARD
   ============================================================ */

.premium-gift-card-panel {

    border:
        1px solid
        var(--botanical-border);

    background:
        #f6f2eb;

}


.premium-gift-card-toggle {

    min-height:
        9rem;

    margin:
        0;

    padding:
        2.3rem;

    display:
        flex;

    align-items:
        center;

    gap:
        1.6rem;

    cursor:
        pointer;

}


.premium-gift-card-toggle
> input {

    position:
        absolute;

    opacity:
        0;

}


.premium-gift-toggle-box {

    width:
        2.8rem;

    height:
        2.8rem;

    flex:
        0 0 auto;

    display:
        grid;

    place-items:
        center;

    border:
        1px solid
        #55645c;

    color:
        transparent;

}


.premium-gift-card-toggle
input:checked
+ .premium-gift-toggle-box {

    background:
        #263a31;

    color:
        #ffffff;

}


.premium-gift-toggle-copy {

    display:
        flex;

    flex-direction:
        column;

    gap:
        0.4rem;

}


.premium-gift-toggle-copy strong {

    color:
        #29372f;

    font-size:
        1.3rem;

}


.premium-gift-toggle-copy small {

    color:
        #727974;

    font-size:
        1.05rem;

}


.premium-gift-message {

    padding:
        0 2.3rem
        2.3rem;

}


.premium-gift-message label {

    color:
        #3b4841;

    font-size:
        1.05rem;

    font-weight:
        700;

    letter-spacing:
        0.06em;

    text-transform:
        uppercase;

}


.premium-gift-message textarea {

    min-height:
        15rem;

    margin-bottom:
        1rem;

    border-radius:
        0;

}


.premium-gift-message-meta {

    display:
        flex;

    justify-content:
        space-between;

    gap:
        1rem;

    color:
        #7a807c;

    font-size:
        1rem;

}


/* ============================================================
   SUMMARY
   ============================================================ */

.premium-hamper-summary {

    align-self:
        start;

}


.premium-hamper-summary-inner {

    position:
        sticky;

    top:
        10rem;

    z-index:
        2;

    padding:
        3.2rem;

    background:
        #f1ece3;

}


.premium-hamper-summary h2 {

    margin:
        0 0 3rem;

    font-size:
        4rem;

    line-height:
        1;

}


.premium-hamper-summary-count,
.premium-hamper-summary-row,
.premium-hamper-summary-total {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        2rem;

}


.premium-hamper-summary-count {

    padding:
        1.8rem 0;

    border-top:
        1px solid
        #d4cfc5;

    border-bottom:
        1px solid
        #d4cfc5;

}


.premium-hamper-summary-count span,
.premium-hamper-summary-row span,
.premium-hamper-summary-total span {

    color:
        #68706b;

    font-size:
        1.12rem;

}


.premium-hamper-summary-count strong {

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        2.5rem;

    font-weight:
        400;

}


.premium-hamper-selected-list {

    padding:
        2rem 0;

    border-bottom:
        1px solid
        #d4cfc5;

}


.premium-hamper-empty {

    margin:
        0;

    color:
        #7d837f;

    font-size:
        1.1rem;

    line-height:
        1.6;

}


.premium-hamper-selected-item {

    display:
        flex;

    justify-content:
        space-between;

    gap:
        1.5rem;

    padding:
        0.7rem 0;

    color:
        #35423b;

    font-size:
        1.08rem;

}

.premium-hamper-selected-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.75rem;
}

.premium-hamper-selected-name {
    min-width: 0;
}


.premium-hamper-summary-row {

    padding:
        1.5rem 0;

    border-bottom:
        1px solid
        #d4cfc5;

}


.premium-hamper-summary-row strong {

    max-width:
        55%;

    color:
        #354139;

    font-size:
        1.08rem;

    text-align:
        right;

}


.premium-hamper-summary-total {

    padding:
        2.4rem 0
        1rem;

}


.premium-hamper-summary-total strong {

    color:
        #20362d;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        3.5rem;

    font-weight:
        400;

}


.premium-hamper-summary-note {

    margin:
        1.5rem 0 2.2rem;

    color:
        #757d78;

    font-size:
        1.02rem;

    line-height:
        1.6;

}


.premium-hamper-review-button {

    width:
        100%;

    min-height:
        5.3rem;

    margin:
        0;

    border:
        1px solid
        #23382f;

    border-radius:
        0;

    background:
        #23382f;

    color:
        #ffffff;

    font-size:
        1.08rem;

    letter-spacing:
        0.09em;

}


.premium-hamper-review-button:hover {

    background:
        #405249;

}


.premium-hamper-shop-link {

    margin-top:
        1.5rem;

    display:
        block;

    color:
        #536159;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.07em;

    text-align:
        center;

    text-decoration:
        underline;

    text-transform:
        uppercase;

}


/* ============================================================
   LOWER EDITORIAL
   ============================================================ */

.premium-hamper-editorial {

    min-height:
        44rem;

    padding:
        clamp(
            6rem,
            8vw,
            11rem
        );

    display:
        grid;

    grid-template-columns:
        1.1fr 0.9fr;

    align-items:
        center;

    gap:
        8rem;

    background:
        #263a31;

}


.premium-hamper-editorial
.premium-hamper-eyebrow {

    color:
        #b6c3bb;

}


.premium-hamper-editorial h2 {

    max-width:
        70rem;

    margin:
        0;

    color:
        #ffffff;

    font-size:
        clamp(
            4.5rem,
            5.5vw,
            7.5rem
        );

    line-height:
        0.95;

}


.premium-hamper-editorial
> p {

    max-width:
        54rem;

    margin:
        0;

    color:
        #d5ddd7;

    font-size:
        1.45rem;

    line-height:
        1.8;

}


/* ============================================================
   TABLET
   ============================================================ */

@media screen and (max-width: 1000px) {

    .premium-hamper-hero {

        grid-template-columns:
            1fr;

    }


    .premium-hamper-hero-side {

        max-width:
            34rem;

    }


    .premium-hamper-layout {

        grid-template-columns:
            1fr;

    }


    .premium-hamper-summary-inner {

        position:
            static;

    }


    .premium-hamper-product-grid {

        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );

    }


    .premium-hamper-packaging-grid {

        grid-template-columns:
            1fr;

    }


    .premium-hamper-editorial {

        grid-template-columns:
            1fr;

        gap:
            3rem;

    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media screen and (max-width: 650px) {

    .premium-hamper-page {

        margin-left:
            -1.5rem;

        margin-right:
            -1.5rem;

    }


    .premium-hamper-hero {

        min-height:
            0;

        padding:
            5rem 2.2rem;

    }


    .premium-hamper-hero h1 {

        font-size:
            clamp(
                5rem,
                16vw,
                7rem
            );

    }


    .premium-hamper-layout {

        padding:
            5rem 1.7rem
            7rem;

    }


    .premium-hamper-step {

        margin-bottom:
            6rem;

        padding-bottom:
            6rem;

    }


    .premium-hamper-step-heading {

        grid-template-columns:
            1fr;

    }


    .premium-hamper-product-grid {

        grid-template-columns:
            1fr;

    }


    .premium-hamper-product-image {

        height:
            47rem;

    }


    .premium-hamper-summary-inner {

        padding:
            2.5rem;

    }


    .premium-hamper-editorial {

        min-height:
            45rem;

        padding:
            6rem 2.2rem;

    }

}

/* ============================================================
   STEP 5 POLISH — HAMPER SUMMARY
   ============================================================ */

.premium-hamper-layout {

    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(30rem, 0.55fr);

}


.premium-hamper-summary-inner {

    padding:
        2.8rem;

}


.premium-hamper-summary h2 {

    margin-bottom:
        2.2rem;

    font-size:
        3.5rem;

}


.premium-hamper-selected-list {

    padding:
        1.5rem 0;

}


.premium-hamper-summary-row {

    padding:
        1.2rem 0;

}


.premium-hamper-summary-total {

    padding:
        2rem 0 0.8rem;

}


.premium-hamper-summary-note {

    margin:
        1.2rem 0 1.8rem;

}

/* ============================================================
   STEP 6 — PREMIUM CART / BAG
   ============================================================ */


.premium-cart-page {

    margin-left:
        calc(
            -1 * clamp(
            1.8rem,
            3vw,
            4rem
            )
        );

    margin-right:
        calc(
            -1 * clamp(
            1.8rem,
            3vw,
            4rem
            )
        );

    background:
        #fffdfa;

}


/* ============================================================
   HEADER
   ============================================================ */

.premium-cart-header {

    padding:
        clamp(
            6rem,
            8vw,
            10rem
        )
        clamp(
            2rem,
            5vw,
            7rem
        );

    background:
        #f1ece3;

}


.premium-cart-header > div {

    max-width:
        144rem;

    margin:
        0 auto;

}


.premium-cart-eyebrow {

    margin:
        0 0 1.5rem;

    color:
        #6b756f;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.18em;

    text-transform:
        uppercase;

}


.premium-cart-header h1 {

    max-width:
        85rem;

    margin:
        0;

    color:
        #20362d;

    font-size:
        clamp(
            5rem,
            6.5vw,
            9rem
        );

    line-height:
        0.94;

    letter-spacing:
        -0.05em;

}


.premium-cart-header p:last-child {

    max-width:
        60rem;

    margin:
        2rem 0 0;

    color:
        #606863;

    font-size:
        1.45rem;

    line-height:
        1.75;

}


/* ============================================================
   CART LAYOUT
   ============================================================ */

.premium-cart-layout {

    max-width:
        144rem;

    margin:
        0 auto;

    padding:
        clamp(
            5rem,
            7vw,
            9rem
        )
        clamp(
            2rem,
            4vw,
            5rem
        )
        clamp(
            8rem,
            10vw,
            13rem
        );

    display:
        grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(30rem, 0.65fr);

    gap:
        clamp(
            4rem,
            6vw,
            8rem
        );

}


/* ============================================================
   CART SECTION
   ============================================================ */

.premium-cart-section {

    margin-bottom:
        7rem;

}


.premium-cart-section:last-child {

    margin-bottom:
        0;

}


.premium-cart-section-heading {

    margin-bottom:
        3rem;

}


.premium-cart-section-heading h2 {

    margin:
        0;

    color:
        #24372f;

    font-size:
        clamp(
            3.5rem,
            4vw,
            5.5rem
        );

    line-height:
        1;

}


/* ============================================================
   PRODUCT ROW
   ============================================================ */

.premium-cart-product {

    padding:
        2.2rem 0;

    display:
        grid;

    grid-template-columns:
        15rem
        minmax(0, 1fr)
        auto;

    gap:
        2.4rem;

    align-items:
        center;

    border-top:
        1px solid
        var(--botanical-border);

}


.premium-cart-product:last-child {

    border-bottom:
        1px solid
        var(--botanical-border);

}


.premium-cart-product-image {

    height:
        15rem;

    overflow:
        hidden;

    background:
        #efebe4;

}


.premium-cart-product-image a,
.premium-cart-product-image img {

    width:
        100%;

    height:
        100%;

    display:
        block;

}


.premium-cart-product-image img {

    object-fit:
        cover;

    transition:
        transform 0.35s ease;

}


.premium-cart-product-image:hover img {

    transform:
        scale(1.025);

}


/* ============================================================
   PRODUCT INFO
   ============================================================ */

.premium-cart-product-category {

    margin:
        0 0 0.7rem;

    color:
        #7b827e;

    font-size:
        0.92rem;

    font-weight:
        700;

    letter-spacing:
        0.14em;

    text-transform:
        uppercase;

}


.premium-cart-product-details h3 {

    margin:
        0;

    font-size:
        2.6rem;

    line-height:
        1.1;

}


.premium-cart-product-details h3 a {

    color:
        #23372e;

}


.premium-cart-product-size {

    margin:
        0.7rem 0 0;

    color:
        #747c77;

    font-size:
        1.1rem;

}


.premium-cart-product-mobile-price {

    display:
        none;

}


/* ============================================================
   CONTROLS
   ============================================================ */

.premium-cart-product-controls {

    margin-top:
        2rem;

    display:
        flex;

    align-items:
        center;

    gap:
        1.2rem;

}


.premium-cart-product-controls label {

    margin:
        0;

    color:
        #68716c;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.06em;

    text-transform:
        uppercase;

}


.premium-cart-product-controls input[type="number"].premium-cart-quantity {

    width:
        7rem;

    min-width: 0;
    max-width: 7rem;
    flex: 0 0 7rem;

    height:
        4rem;

    margin:
        0;

    border-radius:
        0;

    text-align:
        center;

}


.premium-cart-remove {

    color:
        #747b77;

    font-size:
        0.95rem;

    font-weight:
        700;

    letter-spacing:
        0.06em;

    text-decoration:
        underline;

    text-transform:
        uppercase;

}


.premium-cart-remove:hover {

    color:
        #9a5048;

}


/* ============================================================
   PRODUCT PRICE
   ============================================================ */

.premium-cart-product-pricing {

    min-width:
        12rem;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-end;

    gap:
        0.8rem;

    text-align:
        right;

}


.premium-cart-unit-price {

    color:
        #818783;

    font-size:
        1rem;

}


.premium-cart-product-pricing strong {

    color:
        #24352e;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        2.5rem;

    font-weight:
        400;

}


/* ============================================================
   HAMPER
   ============================================================ */

.premium-cart-hamper {

    margin-bottom:
        2rem;

    padding:
        3rem;

    border:
        1px solid
        var(--botanical-border);

    background:
        #f6f2eb;

}


.premium-cart-hamper-header {

    padding-bottom:
        2.2rem;

    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        2rem;

    border-bottom:
        1px solid
        #d6d1c7;

}


.premium-cart-hamper-label {

    margin:
        0 0 0.8rem;

    color:
        #7a827d;

    font-size:
        0.92rem;

    font-weight:
        700;

    letter-spacing:
        0.15em;

}


.premium-cart-hamper-header h3 {

    margin:
        0;

    font-size:
        3.2rem;

}


.premium-cart-hamper-total {

    color:
        #22362d;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        2.8rem;

    font-weight:
        400;

    white-space:
        nowrap;

}


/* ============================================================
   HAMPER PRODUCTS
   ============================================================ */

.premium-cart-hamper-products {

    padding:
        2.4rem 0;

    border-bottom:
        1px solid
        #d6d1c7;

}


.premium-cart-hamper-subheading {

    display:
        block;

    margin-bottom:
        1.2rem;

    color:
        #777f7a;

    font-size:
        0.9rem;

    font-weight:
        700;

    letter-spacing:
        0.13em;

    text-transform:
        uppercase;

}


.premium-cart-hamper-product-row {

    padding:
        0.65rem 0;

    display:
        flex;

    justify-content:
        space-between;

    gap:
        2rem;

    color:
        #35413b;

    font-size:
        1.12rem;

}


/* ============================================================
   HAMPER META
   ============================================================ */

.premium-cart-hamper-meta {

    padding:
        1.7rem 0;

    border-bottom:
        1px solid
        #d6d1c7;

}


.premium-cart-hamper-meta > div {

    padding:
        0.7rem 0;

    display:
        flex;

    align-items:
        baseline;

    justify-content:
        space-between;

    gap:
        2rem;

}


.premium-cart-hamper-meta span {

    color:
        #737b76;

    font-size:
        1.05rem;

}


.premium-cart-hamper-meta strong {

    max-width:
        55%;

    color:
        #35423b;

    font-size:
        1.08rem;

    text-align:
        right;

}


/* ============================================================
   GIFT MESSAGE
   ============================================================ */

.premium-cart-gift-message {

    margin-top:
        2rem;

    padding:
        2rem;

    background:
        #ffffff;

}


.premium-cart-gift-message span {

    color:
        #7c837f;

    font-size:
        0.9rem;

    font-weight:
        700;

    letter-spacing:
        0.14em;

}


.premium-cart-gift-message p {

    margin:
        1rem 0 0;

    color:
        #46534c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        1.7rem;

    font-style:
        italic;

    line-height:
        1.6;

}


.premium-cart-hamper-actions {

    margin-top:
        2rem;

}


/* ============================================================
   SUMMARY
   ============================================================ */

.premium-cart-summary {

    align-self:
        start;

}


.premium-cart-summary-inner {

    position:
        sticky;

    top:
        17rem;

    padding:
        3rem;

    background:
        #f1ece3;

}


.premium-cart-summary h2 {

    margin:
        0 0 3rem;

    font-size:
        4rem;

    line-height:
        1;

}


.premium-cart-summary-row {

    padding:
        1.4rem 0;

    display:
        flex;

    align-items:
        baseline;

    justify-content:
        space-between;

    gap:
        2rem;

    border-bottom:
        1px solid
        #d4cfc5;

}


.premium-cart-summary-row span {

    color:
        #68706b;

    font-size:
        1.08rem;

}


.premium-cart-summary-row strong {

    max-width:
        58%;

    color:
        #35423b;

    font-size:
        1.08rem;

    text-align:
        right;

}


/* ============================================================
   SUMMARY TOTAL
   ============================================================ */

.premium-cart-summary-total {

    padding:
        2.5rem 0
        1rem;

    display:
        flex;

    align-items:
        baseline;

    justify-content:
        space-between;

    gap:
        2rem;

}


.premium-cart-summary-total span {

    color:
        #59635d;

    font-size:
        1.2rem;

    font-weight:
        700;

}


.premium-cart-summary-total strong {

    color:
        #20362d;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        3.8rem;

    font-weight:
        400;

}


.premium-cart-summary-note {

    margin:
        1.5rem 0
        2.2rem;

    color:
        #767d79;

    font-size:
        1rem;

    line-height:
        1.6;

}


/* ============================================================
   SUMMARY ACTIONS
   ============================================================ */

.premium-cart-checkout-button {

    width:
        100%;

    min-height:
        5.2rem;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid
        #21372e;

    background:
        #21372e;

    color:
        #ffffff;

    font-size:
        1.08rem;

    font-weight:
        700;

    letter-spacing:
        0.09em;

    text-transform:
        uppercase;

}


.premium-cart-checkout-button:hover {

    background:
        #415148;

    color:
        #ffffff;

}


.premium-cart-continue {

    margin-top:
        1.4rem;

    display:
        block;

    color:
        #59655e;

    font-size:
        0.98rem;

    font-weight:
        700;

    letter-spacing:
        0.07em;

    text-align:
        center;

    text-decoration:
        underline;

    text-transform:
        uppercase;

}


/* ============================================================
   EMPTY STATE
   ============================================================ */

.premium-cart-empty {

    max-width:
        90rem;

    margin:
        0 auto;

    padding:
        clamp(
            9rem,
            12vw,
            16rem
        )
        2rem;

    text-align:
        center;

}


.premium-cart-empty h2 {

    margin:
        0;

    font-size:
        clamp(
            4.5rem,
            6vw,
            8rem
        );

}


.premium-cart-empty > p:not(
    .premium-cart-eyebrow
) {

    max-width:
        55rem;

    margin:
        2rem auto
        3rem;

    color:
        #656e69;

    font-size:
        1.4rem;

}


.premium-cart-empty-actions {

    display:
        flex;

    justify-content:
        center;

    flex-wrap:
        wrap;

    gap:
        1rem;

}


.premium-cart-primary-button,
.premium-cart-secondary-button {

    min-height:
        5rem;

    padding:
        0 2.2rem;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid
        #22362d;

    font-size:
        1.05rem;

    font-weight:
        700;

    letter-spacing:
        0.09em;

    text-transform:
        uppercase;

}


.premium-cart-primary-button {

    background:
        #22362d;

    color:
        #ffffff;

}


.premium-cart-secondary-button {

    color:
        #22362d;

}


/* ============================================================
   TRUST STRIP
   ============================================================ */

.premium-cart-trust {

    display:
        grid;

    grid-template-columns:
        repeat(3, 1fr);

    border-top:
        1px solid
        var(--botanical-border);

    background:
        #f5f1e9;

}


.premium-cart-trust > div {

    min-height:
        11rem;

    padding:
        2rem;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    border-right:
        1px solid
        var(--botanical-border);

    text-align:
        center;

}


.premium-cart-trust > div:last-child {

    border-right:
        0;

}


.premium-cart-trust strong {

    margin-bottom:
        0.5rem;

    color:
        #2c3d34;

    font-size:
        1.18rem;

}


.premium-cart-trust span {

    color:
        #737b76;

    font-size:
        1.02rem;

}


/* ============================================================
   TABLET
   ============================================================ */

@media screen and (max-width: 1000px) {

    .premium-cart-layout {

        grid-template-columns:
            1fr;

    }


    .premium-cart-summary-inner {

        position:
            static;

    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media screen and (max-width: 650px) {

    .premium-cart-page {

        margin-left:
            -1.5rem;

        margin-right:
            -1.5rem;

    }


    .premium-cart-header {

        padding:
            5rem 2rem;

    }


    .premium-cart-layout {

        padding:
            4rem 1.6rem
            7rem;

    }


    .premium-cart-product {

        grid-template-columns:
            10rem 1fr;

        align-items:
            start;

    }


    .premium-cart-product-image {

        height:
            10rem;

    }


    .premium-cart-product-pricing {

        display:
            none;

    }


    .premium-cart-product-mobile-price {

        margin-top:
            1rem;

        display:
            block;

        color:
            #28352e;

        font-size:
            1.25rem;

        font-weight:
            700;

    }


    .premium-cart-product-controls {

        align-items:
            flex-start;

        flex-direction:
            column;

    }


    .premium-cart-hamper {

        padding:
            2rem;

    }


    .premium-cart-hamper-header {

        align-items:
            flex-start;

        flex-direction:
            column;

    }


    .premium-cart-hamper-total {

        font-size:
            2.5rem;

    }


    .premium-cart-summary-inner {

        padding:
            2.4rem;

    }


    .premium-cart-trust {

        grid-template-columns:
            1fr;

    }


    .premium-cart-trust > div {

        border-right:
            0;

        border-bottom:
            1px solid
            var(--botanical-border);

    }


    .premium-cart-trust > div:last-child {

        border-bottom:
            0;

    }

}
/* ============================================================
   STEP 7 — PREMIUM CHECKOUT REVIEW
   ============================================================ */


.premium-checkout-page {

    margin-left:
        calc(
            -1 * clamp(
            1.8rem,
            3vw,
            4rem
            )
        );

    margin-right:
        calc(
            -1 * clamp(
            1.8rem,
            3vw,
            4rem
            )
        );

    background:
        #fffdfa;

}


/* ============================================================
   HEADER
   ============================================================ */

.premium-checkout-header {

    padding:
        clamp(
            6rem,
            8vw,
            10rem
        )
        clamp(
            2rem,
            5vw,
            7rem
        );

    background:
        #f1ece3;

}


.premium-checkout-header-inner {

    max-width:
        144rem;

    margin:
        0 auto;

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        5rem;

}


.premium-checkout-eyebrow {

    margin:
        0 0 1.4rem;

    color:
        #6b756f;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.18em;

    text-transform:
        uppercase;

}


.premium-checkout-header h1 {

    max-width:
        80rem;

    margin:
        0;

    color:
        #20362d;

    font-size:
        clamp(
            5rem,
            6.5vw,
            9rem
        );

    line-height:
        0.94;

    letter-spacing:
        -0.05em;

}


.premium-checkout-header
div > p:last-child {

    max-width:
        60rem;

    margin:
        2rem 0 0;

    color:
        #606863;

    font-size:
        1.45rem;

    line-height:
        1.75;

}


/* ============================================================
   PROGRESS
   ============================================================ */

.premium-checkout-progress {

    min-width:
        33rem;

    display:
        flex;

    gap:
        2.5rem;

}


.premium-checkout-progress > div {

    opacity:
        0.45;

}


.premium-checkout-progress
> div.is-active {

    opacity:
        1;

}


.premium-checkout-progress span {

    display:
        block;

    margin-bottom:
        0.6rem;

    color:
        #65726b;

    font-size:
        0.9rem;

    font-weight:
        700;

    letter-spacing:
        0.13em;

}


.premium-checkout-progress strong {

    color:
        #293a31;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        1.8rem;

    font-weight:
        400;

}


/* ============================================================
   MAIN LAYOUT
   ============================================================ */

.premium-checkout-layout {

    max-width:
        144rem;

    margin:
        0 auto;

    padding:
        clamp(
            5rem,
            7vw,
            9rem
        )
        clamp(
            2rem,
            4vw,
            5rem
        )
        clamp(
            8rem,
            10vw,
            13rem
        );

    display:
        grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(30rem, 0.65fr);

    gap:
        clamp(
            4rem,
            6vw,
            8rem
        );

}


/* ============================================================
   SECTION HEADING
   ============================================================ */

.premium-checkout-section-heading {

    margin-bottom:
        3rem;

}


.premium-checkout-section-heading h2 {

    margin:
        0;

    font-size:
        clamp(
            3.5rem,
            4vw,
            5.5rem
        );

}


/* ============================================================
   ITEM
   ============================================================ */

.premium-checkout-item {

    padding:
        2.5rem 0;

    display:
        grid;

    grid-template-columns:
        10rem
        minmax(0, 1fr)
        auto;

    gap:
        2.4rem;

    align-items:
        center;

    border-top:
        1px solid
        var(--botanical-border);

}


.premium-checkout-item:last-child {

    border-bottom:
        1px solid
        var(--botanical-border);

}


/* ============================================================
   ITEM VISUAL
   ============================================================ */

.premium-checkout-item-symbol {

    width:
        10rem;

    height:
        12rem;

    display:
        grid;

    place-items:
        center;

    background:
        linear-gradient(
            145deg,
            #dce4d9,
            #aab8a9
        );

}


.premium-checkout-item-symbol.is-hamper {

    background:
        linear-gradient(
            145deg,
            #e7dac8,
            #b89b74
        );

}


.premium-checkout-item-symbol span {

    color:
        #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        1.2rem;

    letter-spacing:
        0.14em;

}


/* ============================================================
   ITEM INFO
   ============================================================ */

.premium-checkout-item-type {

    margin:
        0 0 0.7rem;

    color:
        #7b827e;

    font-size:
        0.92rem;

    font-weight:
        700;

    letter-spacing:
        0.14em;

}


.premium-checkout-item-info h3 {

    margin:
        0;

    color:
        #24372f;

    font-size:
        2.7rem;

    line-height:
        1.1;

}


.premium-checkout-unit-price {

    margin:
        0.8rem 0 0;

    color:
        #6c746f;

    font-size:
        1.08rem;

}


/* ============================================================
   CONTROLS
   ============================================================ */

.premium-checkout-item-controls {

    margin-top:
        1.8rem;

    display:
        flex;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        1.2rem;

}


.premium-checkout-item-controls label {

    margin:
        0;

    color:
        #67716b;

    font-size:
        0.96rem;

    font-weight:
        700;

    letter-spacing:
        0.07em;

    text-transform:
        uppercase;

}


.premium-checkout-item-controls input[type="number"].premium-checkout-quantity {

    width:
        7rem;

    min-width: 0;
    max-width: 7rem;
    flex: 0 0 7rem;

    height:
        4rem;

    margin:
        0;

    border-radius:
        0;

    text-align:
        center;

}


.premium-checkout-remove {

    color:
        #727a75;

    font-size:
        0.95rem;

    font-weight:
        700;

    letter-spacing:
        0.06em;

    text-decoration:
        underline;

    text-transform:
        uppercase;

}


.premium-checkout-remove:hover {

    color:
        #985049;

}


.premium-checkout-fixed-quantity {

    color:
        #6f7772;

    font-size:
        1rem;

}


/* ============================================================
   ITEM TOTAL
   ============================================================ */

.premium-checkout-item-total {

    min-width:
        13rem;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-end;

    gap:
        0.7rem;

}


.premium-checkout-item-total span {

    color:
        #7c837f;

    font-size:
        0.95rem;

}


.premium-checkout-item-total strong {

    color:
        #24362e;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        2.6rem;

    font-weight:
        400;

}


/* ============================================================
   PAYMENT INFORMATION
   ============================================================ */

.premium-checkout-payment-info {

    margin-top:
        5rem;

    padding:
        3rem;

    display:
        grid;

    grid-template-columns:
        5rem 1fr;

    gap:
        2rem;

    background:
        #f4f1ea;

}


.premium-checkout-security-icon {

    width:
        5rem;

    height:
        5rem;

    display:
        grid;

    place-items:
        center;

    border:
        1px solid
        #617269;

    border-radius:
        50%;

    color:
        #44594e;

    font-size:
        2rem;

}


.premium-checkout-payment-info h3 {

    margin:
        0;

    font-size:
        2.7rem;

}


.premium-checkout-payment-info
div > p:last-child {

    max-width:
        60rem;

    margin:
        1rem 0 0;

    color:
        #68706b;

    font-size:
        1.15rem;

    line-height:
        1.7;

}


/* ============================================================
   SUMMARY
   ============================================================ */

.premium-checkout-summary {

    align-self:
        start;

}


.premium-checkout-summary-inner {

    position:
        sticky;

    top:
        17rem;

    padding:
        3rem;

    background:
        #f1ece3;

}


.premium-checkout-summary h2 {

    margin:
        0 0 3rem;

    font-size:
        4rem;

    line-height:
        1;

}


.premium-checkout-summary-row {

    padding:
        1.4rem 0;

    display:
        flex;

    align-items:
        baseline;

    justify-content:
        space-between;

    gap:
        2rem;

    border-bottom:
        1px solid
        #d4cfc5;

}


.premium-checkout-summary-row span {

    color:
        #69716c;

    font-size:
        1.08rem;

}


.premium-checkout-summary-row strong {

    max-width:
        58%;

    color:
        #35423b;

    font-size:
        1.08rem;

    text-align:
        right;

}


/* ============================================================
   TOTAL
   ============================================================ */

.premium-checkout-summary-total {

    padding:
        2.6rem 0
        1rem;

    display:
        flex;

    align-items:
        baseline;

    justify-content:
        space-between;

    gap:
        2rem;

}


.premium-checkout-summary-total span {

    color:
        #56635c;

    font-size:
        1.2rem;

    font-weight:
        700;

}


.premium-checkout-summary-total strong {

    color:
        #20362d;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        4rem;

    font-weight:
        400;

}


/* ============================================================
   SUMMARY NOTE
   ============================================================ */

.premium-checkout-summary-note {

    margin:
        1.5rem 0
        2.4rem;

    color:
        #747c77;

    font-size:
        1rem;

    line-height:
        1.65;

}


/* ============================================================
   PAYMENT BUTTON
   ============================================================ */

.premium-checkout-summary-inner form {

    margin:
        0;

}


.premium-checkout-pay-button {

    width:
        100%;

    min-height:
        5.4rem;

    margin:
        0;

    border:
        1px solid
        #21372e;

    border-radius:
        0;

    background:
        #21372e;

    color:
        #ffffff;

    font-size:
        1.05rem;

    font-weight:
        700;

    letter-spacing:
        0.09em;

    text-transform:
        uppercase;

}


.premium-checkout-pay-button:hover {

    border-color:
        #405148;

    background:
        #405148;

}


/* ============================================================
   LINKS
   ============================================================ */

.premium-checkout-return {

    margin-top:
        1.4rem;

    display:
        block;

    color:
        #59655e;

    font-size:
        0.97rem;

    font-weight:
        700;

    letter-spacing:
        0.07em;

    text-align:
        center;

    text-decoration:
        underline;

    text-transform:
        uppercase;

}


/* ============================================================
   SECURE NOTE
   ============================================================ */

.premium-checkout-secure-note {

    margin-top:
        2.5rem;

    padding-top:
        2rem;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        0.8rem;

    border-top:
        1px solid
        #d4cfc5;

}


.premium-checkout-secure-note span {

    color:
        #607068;

    font-size:
        0.75rem;

    font-weight:
        700;

    letter-spacing:
        0.1em;

}


.premium-checkout-secure-note p {

    margin:
        0;

    color:
        #707873;

    font-size:
        0.98rem;

}


/* ============================================================
   EMPTY
   ============================================================ */

.premium-checkout-empty {

    max-width:
        85rem;

    margin:
        0 auto;

    padding:
        clamp(
            10rem,
            13vw,
            17rem
        )
        2rem;

    text-align:
        center;

}


.premium-checkout-empty h2 {

    margin:
        0;

    font-size:
        clamp(
            4.6rem,
            6vw,
            8rem
        );

}


.premium-checkout-empty
> p:not(
    .premium-checkout-eyebrow
) {

    max-width:
        55rem;

    margin:
        2rem auto
        3rem;

    color:
        #65706a;

    font-size:
        1.4rem;

}


.premium-checkout-primary {

    min-height:
        5rem;

    padding:
        0 2.3rem;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    background:
        #22372e;

    color:
        #ffffff;

    font-size:
        1.05rem;

    font-weight:
        700;

    letter-spacing:
        0.09em;

    text-transform:
        uppercase;

}


/* ============================================================
   TRUST
   ============================================================ */

.premium-checkout-trust {

    display:
        grid;

    grid-template-columns:
        repeat(3, 1fr);

    border-top:
        1px solid
        var(--botanical-border);

    background:
        #f5f1e9;

}


.premium-checkout-trust > div {

    min-height:
        11rem;

    padding:
        2rem;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        center;

    justify-content:
        center;

    border-right:
        1px solid
        var(--botanical-border);

    text-align:
        center;

}


.premium-checkout-trust
> div:last-child {

    border-right:
        0;

}


.premium-checkout-trust strong {

    margin-bottom:
        0.5rem;

    color:
        #2c3d34;

    font-size:
        1.18rem;

}


.premium-checkout-trust span {

    color:
        #737b76;

    font-size:
        1.02rem;

}


/* ============================================================
   TABLET
   ============================================================ */

@media screen and (max-width: 1000px) {

    .premium-checkout-header-inner {

        align-items:
            flex-start;

        flex-direction:
            column;

    }


    .premium-checkout-layout {

        grid-template-columns:
            1fr;

    }


    .premium-checkout-summary-inner {

        position:
            static;

    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media screen and (max-width: 650px) {

    .premium-checkout-page {

        margin-left:
            -1.5rem;

        margin-right:
            -1.5rem;

    }


    .premium-checkout-header {

        padding:
            5rem 2rem;

    }


    .premium-checkout-progress {

        min-width:
            0;

        width:
            100%;

        justify-content:
            space-between;

        gap:
            1rem;

    }


    .premium-checkout-layout {

        padding:
            4rem 1.6rem
            7rem;

    }


    .premium-checkout-item {

        grid-template-columns:
            8rem 1fr;

        align-items:
            start;

    }


    .premium-checkout-item-symbol {

        width:
            8rem;

        height:
            9rem;

    }


    .premium-checkout-item-total {

        grid-column:
            2;

        align-items:
            flex-start;

        margin-top:
            0.5rem;

    }


    .premium-checkout-payment-info {

        grid-template-columns:
            1fr;

    }


    .premium-checkout-summary-inner {

        padding:
            2.4rem;

    }


    .premium-checkout-trust {

        grid-template-columns:
            1fr;

    }


    .premium-checkout-trust > div {

        border-right:
            0;

        border-bottom:
            1px solid
            var(--botanical-border);

    }

}
/* ============================================================
   STEP 8 — CUSTOMER ORDERS
   ============================================================ */


.premium-orders-page,
.premium-order-detail-page {

    margin-left:
        calc(
            -1 * clamp(
            1.8rem,
            3vw,
            4rem
            )
        );

    margin-right:
        calc(
            -1 * clamp(
            1.8rem,
            3vw,
            4rem
            )
        );

    background:
        #fffdfa;

}


/* ============================================================
   SHARED EYEBROW
   ============================================================ */

.premium-orders-eyebrow {

    margin:
        0 0 1.3rem;

    color:
        #6e7972;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.17em;

    text-transform:
        uppercase;

}


/* ============================================================
   ORDER HISTORY HEADER
   ============================================================ */

.premium-orders-header {

    padding:
        clamp(
            6rem,
            8vw,
            10rem
        )
        clamp(
            2rem,
            5vw,
            7rem
        );

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        4rem;

    background:
        #f1ece3;

}


.premium-orders-header > div {

    max-width:
        80rem;

}


.premium-orders-header h1 {

    margin:
        0;

    color:
        #20362d;

    font-size:
        clamp(
            5rem,
            6.5vw,
            9rem
        );

    line-height:
        0.94;

    letter-spacing:
        -0.05em;

}


.premium-orders-header p:last-child {

    max-width:
        58rem;

    margin:
        2rem 0 0;

    color:
        #606963;

    font-size:
        1.4rem;

    line-height:
        1.75;

}


.premium-orders-header-link {

    min-height:
        4.8rem;

    padding:
        0 2rem;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid
        #26382f;

    color:
        #26382f;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.08em;

    text-transform:
        uppercase;

}


/* ============================================================
   ORDERS CONTENT
   ============================================================ */

.premium-orders-content {

    max-width:
        120rem;

    margin:
        0 auto;

    padding:
        clamp(
            5rem,
            7vw,
            9rem
        )
        clamp(
            2rem,
            4vw,
            5rem
        )
        12rem;

}


/* ============================================================
   ORDER CARD
   ============================================================ */

.premium-order-card {

    margin-bottom:
        2rem;

    padding:
        3rem;

    border:
        1px solid
        var(--botanical-border);

    background:
        #ffffff;

}


.premium-order-card-main {

    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        3rem;

}


.premium-order-card h2 {

    margin:
        0;

    color:
        #25372f;

    font-size:
        3.3rem;

}


.premium-order-date {

    margin:
        1rem 0 0;

    color:
        #747c77;

    font-size:
        1.08rem;

}


.premium-order-statuses {

    display:
        flex;

    align-items:
        flex-end;

    flex-direction:
        column;

    gap:
        0.8rem;

}


.premium-order-status {

    padding:
        0.7rem 1.1rem;

    background:
        #e8eee6;

    color:
        #355445;

    font-size:
        0.92rem;

    font-weight:
        700;

    letter-spacing:
        0.07em;

    text-transform:
        uppercase;

}


.premium-order-payment {

    color:
        #727a75;

    font-size:
        1rem;

}


/* ============================================================
   ORDER CARD FOOTER
   ============================================================ */

.premium-order-card-footer {

    margin-top:
        2.8rem;

    padding-top:
        2rem;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        2rem;

    border-top:
        1px solid
        var(--botanical-border);

}


.premium-order-card-footer > div {

    display:
        flex;

    flex-direction:
        column;

    gap:
        0.4rem;

}


.premium-order-card-footer span {

    color:
        #747c77;

    font-size:
        1rem;

}


.premium-order-card-footer strong {

    color:
        #22372e;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        2.5rem;

    font-weight:
        400;

}


.premium-order-view-button {

    min-height:
        4.7rem;

    padding:
        0 2rem;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    background:
        #22372e;

    color:
        #ffffff;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.08em;

    text-transform:
        uppercase;

}


.premium-order-view-button:hover {

    background:
        #405148;

    color:
        #ffffff;

}


/* ============================================================
   EMPTY
   ============================================================ */

.premium-orders-empty {

    max-width:
        80rem;

    margin:
        auto;

    padding:
        8rem 2rem;

    text-align:
        center;

}


.premium-orders-empty h2 {

    margin:
        0;

    font-size:
        clamp(
            4rem,
            5vw,
            7rem
        );

}


.premium-orders-empty
> p:not(
    .premium-orders-eyebrow
) {

    margin:
        2rem auto 3rem;

    color:
        #68716c;

    font-size:
        1.35rem;

}


.premium-orders-primary {

    min-height:
        5rem;

    padding:
        0 2.2rem;

    display:
        inline-flex;

    align-items:
        center;

    background:
        #22372e;

    color:
        white;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.08em;

    text-transform:
        uppercase;

}


/* ============================================================
   ORDER DETAIL HEADER
   ============================================================ */

.premium-order-detail-header {

    padding:
        clamp(
            6rem,
            8vw,
            10rem
        )
        clamp(
            2rem,
            5vw,
            7rem
        );

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        4rem;

    background:
        #f1ece3;

}


.premium-order-detail-header h1 {

    margin:
        0;

    font-size:
        clamp(
            5rem,
            6vw,
            8rem
        );

    line-height:
        0.95;

}


.premium-order-detail-header
div > p:last-child {

    margin:
        1.7rem 0 0;

    color:
        #68716c;

    font-size:
        1.25rem;

}


.premium-order-detail-status {

    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-end;

    gap:
        0.8rem;

}


.premium-order-detail-status span {

    padding:
        0.8rem 1.2rem;

    background:
        #e2eadf;

    color:
        #355445;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.07em;

    text-transform:
        uppercase;

}


.premium-order-detail-status small {

    color:
        #69736d;

}


/* ============================================================
   DELIVERY PROGRESS
   ============================================================ */

.premium-delivery-progress {

    max-width:
        144rem;

    margin:
        0 auto;

    padding:
        6rem
        clamp(
            2rem,
            4vw,
            5rem
        );

    border-bottom:
        1px solid
        var(--botanical-border);

}


.premium-order-section-heading {

    margin-bottom:
        3rem;

}


.premium-order-section-heading h2 {

    margin:
        0;

    font-size:
        clamp(
            3.4rem,
            4vw,
            5.5rem
        );

}


.premium-delivery-progress ol {

    margin:
        0;

    padding:
        0;

    display:
        grid;

    grid-template-columns:
        repeat(
            5,
            1fr
        );

    list-style:
        none;

}


.premium-delivery-progress li {

    position:
        relative;

    padding-top:
        3.2rem;

    color:
        #9a9f9c;

    font-size:
        1.05rem;

    text-align:
        center;

}


.premium-delivery-progress li::before {

    content:
        "";

    position:
        absolute;

    top:
        1rem;

    left:
        0;

    width:
        100%;

    height:
        1px;

    background:
        #d9d9d3;

}


.premium-progress-dot {

    position:
        absolute;

    z-index:
        2;

    top:
        0.5rem;

    left:
        50%;

    width:
        1.2rem;

    height:
        1.2rem;

    transform:
        translateX(-50%);

    border-radius:
        50%;

    background:
        #d0d3d0;

}


.premium-delivery-progress
li.is-complete {

    color:
        #314a3d;

    font-weight:
        700;

}


.premium-delivery-progress
li.is-complete::before {

    background:
        #62796d;

}


.premium-delivery-progress
li.is-complete
.premium-progress-dot {

    background:
        #314a3d;

}


/* ============================================================
   DETAIL LAYOUT
   ============================================================ */

.premium-order-detail-layout {

    max-width:
        144rem;

    margin:
        0 auto;

    padding:
        clamp(
            5rem,
            7vw,
            9rem
        )
        clamp(
            2rem,
            4vw,
            5rem
        )
        12rem;

    display:
        grid;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(30rem, 0.65fr);

    gap:
        clamp(
            4rem,
            6vw,
            8rem
        );

}


/* ============================================================
   ORDER ITEMS
   ============================================================ */

.premium-order-item {

    padding:
        2.2rem 0;

    display:
        grid;

    grid-template-columns:
        9rem
        minmax(0, 1fr)
        auto;

    gap:
        2rem;

    align-items:
        center;

    border-top:
        1px solid
        var(--botanical-border);

}


.premium-order-item:last-child {

    border-bottom:
        1px solid
        var(--botanical-border);

}


.premium-order-item-symbol {

    width:
        9rem;

    height:
        10rem;

    display:
        grid;

    place-items:
        center;

    background:
        linear-gradient(
            145deg,
            #dfe6db,
            #aebbac
        );

}


.premium-order-item-symbol span {

    color:
        white;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        1rem;

    letter-spacing:
        0.12em;

}


.premium-order-item-info h3 {

    margin:
        0;

    font-size:
        2.5rem;

}


.premium-order-item-info p {

    margin:
        0.7rem 0 0;

    color:
        #747c77;

    font-size:
        1.05rem;

}


.premium-order-item-info > span {

    display:
        block;

    margin-top:
        0.5rem;

    color:
        #6f7772;

    font-size:
        1rem;

}


.premium-order-item-price {

    min-width:
        12rem;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-end;

    gap:
        0.7rem;

}


.premium-order-item-price span {

    color:
        #7b827e;

    font-size:
        0.95rem;

}


.premium-order-item-price strong {

    color:
        #25372f;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        2.4rem;

    font-weight:
        400;

}


/* ============================================================
   ORDER TOTAL
   ============================================================ */

.premium-order-total {

    margin-top:
        2.5rem;

    display:
        flex;

    align-items:
        baseline;

    justify-content:
        space-between;

    gap:
        2rem;

}


.premium-order-total span {

    color:
        #5f6a64;

    font-size:
        1.2rem;

    font-weight:
        700;

}


.premium-order-total strong {

    color:
        #20362d;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        4rem;

    font-weight:
        400;

}


/* ============================================================
   DELIVERY CARD
   ============================================================ */

.premium-order-delivery-card {

    align-self:
        start;

    position:
        sticky;

    top:
        17rem;

    padding:
        3rem;

    background:
        #f1ece3;

}


.premium-order-delivery-card h2 {

    margin:
        0 0 3rem;

    font-size:
        4rem;

}


.premium-order-delivery-row {

    padding:
        1.4rem 0;

    display:
        flex;

    align-items:
        baseline;

    justify-content:
        space-between;

    gap:
        2rem;

    border-bottom:
        1px solid
        #d4cfc5;

}


.premium-order-delivery-row span {

    color:
        #69716c;

    font-size:
        1.05rem;

}


.premium-order-delivery-row strong {

    max-width:
        60%;

    color:
        #35423b;

    font-size:
        1.08rem;

    text-align:
        right;

}


.premium-order-track-button {

    width:
        100%;

    min-height:
        5rem;

    margin-top:
        2.5rem;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    background:
        #22372e;

    color:
        white;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.08em;

    text-transform:
        uppercase;

}


.premium-order-back-link {

    margin-top:
        1.6rem;

    display:
        block;

    color:
        #59655e;

    font-size:
        0.98rem;

    font-weight:
        700;

    text-align:
        center;

    text-decoration:
        underline;

    text-transform:
        uppercase;

}


/* ============================================================
   LOWER CTA
   ============================================================ */

.premium-order-lower-cta {

    min-height:
        38rem;

    padding:
        clamp(
            5rem,
            7vw,
            9rem
        );

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        5rem;

    background:
        #263a31;

}


.premium-order-lower-cta
.premium-orders-eyebrow {

    color:
        #b7c3bb;

}


.premium-order-lower-cta h2 {

    max-width:
        65rem;

    margin:
        0;

    color:
        white;

    font-size:
        clamp(
            4rem,
            5vw,
            7rem
        );

    line-height:
        0.96;

}


.premium-order-lower-cta
> div:last-child {

    display:
        flex;

    gap:
        1rem;

    flex-wrap:
        wrap;

}


.premium-order-shop-button,
.premium-order-hamper-button {

    min-height:
        5rem;

    padding:
        0 2rem;

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid white;

    font-size:
        1rem;

    font-weight:
        700;

    letter-spacing:
        0.08em;

    text-transform:
        uppercase;

}


.premium-order-shop-button {

    background:
        white;

    color:
        #263a31;

}


.premium-order-hamper-button {

    color:
        white;

}


/* ============================================================
   TABLET
   ============================================================ */

@media screen and (max-width: 1000px) {

    .premium-order-detail-layout {

        grid-template-columns:
            1fr;

    }


    .premium-order-delivery-card {

        position:
            static;

    }


    .premium-order-lower-cta {

        align-items:
            flex-start;

        flex-direction:
            column;

    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media screen and (max-width: 650px) {

    .premium-orders-page,
    .premium-order-detail-page {

        margin-left:
            -1.5rem;

        margin-right:
            -1.5rem;

    }


    .premium-orders-header,
    .premium-order-detail-header {

        padding:
            5rem 2rem;

        align-items:
            flex-start;

        flex-direction:
            column;

    }


    .premium-orders-content {

        padding:
            4rem 1.6rem
            8rem;

    }


    .premium-order-card-main,
    .premium-order-card-footer {

        align-items:
            flex-start;

        flex-direction:
            column;

    }


    .premium-order-statuses {

        align-items:
            flex-start;

    }


    .premium-delivery-progress {

        padding:
            5rem 1.7rem;

    }


    .premium-delivery-progress ol {

        grid-template-columns:
            1fr;

        gap:
            1.3rem;

    }


    .premium-delivery-progress li {

        padding:
            0 0 0 3rem;

        text-align:
            left;

    }


    .premium-delivery-progress li::before {

        top:
            0;

        bottom:
            -1.3rem;

        left:
            0.6rem;

        width:
            1px;

        height:
            auto;

    }


    .premium-progress-dot {

        top:
            0.2rem;

        left:
            0.6rem;

    }


    .premium-order-detail-layout {

        padding:
            4rem 1.6rem
            8rem;

    }


    .premium-order-item {

        grid-template-columns:
            7rem 1fr;

    }


    .premium-order-item-symbol {

        width:
            7rem;

        height:
            8rem;

    }


    .premium-order-item-price {

        grid-column:
            2;

        align-items:
            flex-start;

    }


    .premium-order-delivery-card {

        padding:
            2.4rem;

    }


    .premium-order-lower-cta {

        padding:
            6rem 2.2rem;

    }


    .premium-order-lower-cta
    > div:last-child {

        width:
            100%;

    }


    .premium-order-shop-button,
    .premium-order-hamper-button {

        width:
            100%;

    }

}

/* ============================================================
   STEP 9 — ADMIN ORDER MANAGEMENT
   ============================================================ */

.admin-orders-page,
.admin-order-detail-page,
.admin-order-edit-page {
    max-width: 1500px;
    margin: 0 auto;
    padding: 4rem 3rem 10rem;
}


/* ============================================================
   COMMON
   ============================================================ */

.admin-orders-eyebrow {
    margin: 0 0 1rem;
    color: #728078;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.admin-primary-button,
.admin-secondary-button,
.admin-cancel-button,
.admin-delete-button {
    min-height: 4.6rem;
    padding: 0 1.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #25382f;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
}

.admin-primary-button {
    background: #25382f;
    color: #ffffff;
}

.admin-primary-button:hover {
    background: #40534a;
    color: #ffffff;
}

.admin-secondary-button {
    background: transparent;
    color: #25382f;
}

.admin-secondary-button:hover {
    background: #25382f;
    color: #ffffff;
}


/* ============================================================
   HEADER
   ============================================================ */

.admin-orders-heading,
.admin-order-detail-heading,
.admin-order-edit-heading {
    margin-bottom: 4rem;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 3rem;
}

.admin-orders-heading h1,
.admin-order-detail-heading h1,
.admin-order-edit-heading h1 {
    margin: 0;
    color: #21362d;
    font-size: clamp(4.5rem, 6vw, 7.5rem);
    line-height: 0.95;
}

.admin-orders-heading div > p:last-child,
.admin-order-detail-heading div > p:last-child,
.admin-order-edit-heading div > p:last-child {
    margin: 1.5rem 0 0;
    color: #68736d;
    font-size: 1.2rem;
}

.admin-order-detail-actions {
    display: flex;
    gap: 1rem;
}


/* ============================================================
   KPI CARDS
   ============================================================ */

.admin-order-stats {
    margin-bottom: 4rem;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-top: 1px solid #dcded8;
    border-left: 1px solid #dcded8;
}

.admin-order-stats article {
    min-height: 16rem;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    border-right: 1px solid #dcded8;
    border-bottom: 1px solid #dcded8;
    background: #fffdfa;
}

.admin-order-stats span {
    color: #728078;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.admin-order-stats strong {
    margin-top: auto;
    color: #243a30;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 3.6rem;
    font-weight: 400;
}

.admin-order-stats small {
    margin-top: 0.5rem;
    color: #7d8580;
}


/* ============================================================
   TOOLBAR
   ============================================================ */

.admin-orders-toolbar {
    margin-bottom: 2rem;
    padding: 2rem;
    border: 1px solid #dcded8;
    background: #f4f1ea;
}

.admin-orders-search-form {
    margin: 0;
    display: grid;
    grid-template-columns:
        minmax(28rem, 1fr)
        minmax(20rem, 28rem)
        auto
        auto;
    gap: 1.2rem;
    align-items: end;
}

.admin-orders-toolbar label {
    margin-bottom: 0.7rem;
    color: #536159;
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.admin-orders-toolbar input,
.admin-orders-toolbar select {
    height: 4.7rem;
    margin: 0;
    border: 1px solid #cbd0ca;
    border-radius: 0;
    background: #ffffff;
}

.admin-order-filter-button,
.admin-order-reset-button {
    height: 4.7rem;
    padding: 0 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    border: 1px solid #25382f;
    border-radius: 0;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.admin-order-filter-button {
    background: #25382f;
    color: #ffffff;
}

.admin-order-reset-button {
    background: transparent;
    color: #25382f;
}


/* ============================================================
   ORDERS TABLE
   ============================================================ */

.admin-orders-table-card {
    border: 1px solid #dcded8;
    background: #ffffff;
}

.admin-orders-table-wrap {
    overflow-x: auto;
}

.admin-orders-table {
    width: 100%;
    margin: 0;
}

.admin-orders-table th {
    padding: 1.6rem;
    background: #f4f1ea;
    color: #657168;
    border-bottom: 1px solid #dcded8;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.admin-orders-table td {
    padding: 1.8rem 1.6rem;
    vertical-align: middle;
    border-bottom: 1px solid #ebece8;
    color: #35423b;
}

.admin-orders-table tbody tr:last-child td {
    border-bottom: 0;
}

.admin-orders-table tbody tr:hover {
    background: #faf9f5;
}

.admin-orders-table td small {
    display: block;
    margin-top: 0.4rem;
    color: #808782;
}

.admin-order-view-link {
    color: #28483a;
    font-size: 0.95rem;
    font-weight: 700;
    text-decoration: underline;
    text-transform: uppercase;
}

.admin-product-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.75rem;
    align-items: center;
}


/* ============================================================
   BADGES
   ============================================================ */

.admin-status-badge,
.admin-payment-badge {
    padding: 0.6rem 0.9rem;
    display: inline-block;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.admin-status-processing,
.admin-status-paid {
    background: #edf0e4;
    color: #526244;
}

.admin-status-shipped,
.admin-status-out_for_delivery {
    background: #e2ebef;
    color: #3e5b67;
}

.admin-status-delivered {
    background: #ddebe1;
    color: #345c43;
}

.admin-status-cancelled {
    background: #efe4e2;
    color: #7c4843;
}

.admin-payment-paid {
    background: #ddebe1;
    color: #345c43;
}

.admin-payment-pending {
    background: #f0ead8;
    color: #766233;
}

.admin-payment-failed {
    background: #efe2e1;
    color: #804944;
}


/* ============================================================
   DETAIL STATUS STRIP
   ============================================================ */

.admin-order-status-strip {
    margin-bottom: 4rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid #dcded8;
}

.admin-order-status-strip > div {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    border-right: 1px solid #dcded8;
}

.admin-order-status-strip > div:last-child {
    border-right: none;
}

.admin-order-status-strip span {
    color: #79827d;
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-order-status-strip strong {
    color: #263a31;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.4rem;
    font-weight: 400;
}


/* ============================================================
   DETAIL GRID
   ============================================================ */

.admin-order-detail-grid {
    margin-bottom: 4rem;
    display: grid;
    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(30rem, 0.55fr);
    gap: 2rem;
}

.admin-order-side {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.admin-order-panel {
    padding: 3rem;
    border: 1px solid #dcded8;
    background: #ffffff;
}

.admin-order-panel h2 {
    margin: 0 0 2.5rem;
    color: #263a31;
    font-size: 3.2rem;
}


/* ============================================================
   ORDER ITEMS
   ============================================================ */

.admin-order-item {
    padding: 1.8rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    border-top: 1px solid #e4e5e1;
}

.admin-order-item:last-child {
    border-bottom: 1px solid #e4e5e1;
}

.admin-order-item h3 {
    margin: 0;
    color: #34433b;
    font-size: 1.8rem;
}

.admin-order-item p {
    margin: 0.6rem 0 0;
    color: #7b837e;
}

.admin-order-item > strong {
    color: #263a31;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2rem;
    font-weight: 400;
}

.admin-order-total {
    margin-top: 2.5rem;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.admin-order-total span {
    color: #657068;
    font-weight: 700;
}

.admin-order-total strong {
    color: #263a31;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 3.5rem;
    font-weight: 400;
}


/* ============================================================
   INFORMATION ROWS
   ============================================================ */

.admin-info-row {
    padding: 1.3rem 0;
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    border-bottom: 1px solid #e4e5e1;
}

.admin-info-row span {
    color: #77807a;
}

.admin-info-row strong {
    max-width: 60%;
    color: #35443c;
    text-align: right;
    overflow-wrap: anywhere;
}


/* ============================================================
   EDIT PAGE
   ============================================================ */

.admin-order-edit-card {
    max-width: 100rem;
    padding: 4rem;
    border: 1px solid #dcded8;
    background: #ffffff;
}

.admin-order-edit-card form {
    margin: 0;
}

.admin-edit-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
}

.admin-edit-field label {
    color: #57645c;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.admin-edit-field input,
.admin-edit-field select {
    height: 5rem;
    border: 1px solid #ccd1cb;
    border-radius: 0;
    background: #ffffff;
}

.admin-payment-readonly {
    margin-top: 3rem;
    padding: 2rem;
    background: #f4f1ea;
}

.admin-payment-readonly div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
}

.admin-payment-readonly span {
    color: #768079;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.admin-payment-readonly strong {
    color: #263a31;
    font-size: 1.5rem;
}

.admin-payment-readonly p {
    margin: 1rem 0 0;
    color: #77807a;
}

.admin-edit-actions {
    margin-top: 3rem;
    display: flex;
    gap: 1rem;
}


/* ============================================================
   ORDER MANAGEMENT
   ============================================================ */

.admin-order-danger-zone {
    padding: 3rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4rem;
    border: 1px solid #d7cbc7;
    background: #faf6f3;
}

.admin-order-danger-zone h2 {
    margin: 0;
    color: #523a35;
    font-size: 3rem;
}

.admin-order-danger-zone p:last-child {
    max-width: 60rem;
    margin: 1rem 0 0;
    color: #796863;
}

.admin-danger-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1rem;
    flex-wrap: wrap;
}

.admin-cancel-button {
    border-color: #8a6259;
    background: transparent;
    color: #764d45;
}

.admin-delete-button {
    border-color: #743d36;
    background: #743d36;
    color: #ffffff;
}

.admin-paid-protection {
    max-width: 28rem;
    color: #796863;
    font-size: 0.9rem;
}


/* ============================================================
   EMPTY STATE
   ============================================================ */

.admin-orders-empty {
    padding: 8rem 2rem;
    text-align: center;
}

.admin-orders-empty h2 {
    margin: 0;
    color: #263a31;
    font-size: 4rem;
}

.admin-orders-empty p:last-child {
    margin: 1rem 0 0;
    color: #77807a;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media screen and (max-width: 1100px) {

    .admin-order-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .admin-order-detail-grid {
        grid-template-columns: 1fr;
    }

    .admin-orders-search-form {
        grid-template-columns: 1fr 1fr;
    }

}

@media screen and (max-width: 700px) {

    .admin-orders-page,
    .admin-order-detail-page,
    .admin-order-edit-page {
        padding: 3rem 1.5rem 7rem;
    }

    .admin-orders-heading,
    .admin-order-detail-heading,
    .admin-order-edit-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-order-detail-actions {
        width: 100%;
        flex-direction: column;
    }

    .admin-order-detail-actions a {
        width: 100%;
    }

    .admin-order-stats {
        grid-template-columns: 1fr;
    }

    .admin-orders-search-form {
        grid-template-columns: 1fr;
    }

    .admin-order-status-strip {
        grid-template-columns: 1fr 1fr;
    }

    .admin-order-status-strip > div {
        border-bottom: 1px solid #dcded8;
    }

    .admin-edit-grid {
        grid-template-columns: 1fr;
    }

    .admin-order-edit-card {
        padding: 2.5rem 1.8rem;
    }

    .admin-order-danger-zone {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-danger-actions {
        width: 100%;
        justify-content: flex-start;
    }

}

/* ============================================================
   PREMIUM CUSTOMER ACCOUNT
   ============================================================ */

.premium-account-page {
    margin-left: calc(-1 * clamp(1.8rem, 3vw, 4rem));
    margin-right: calc(-1 * clamp(1.8rem, 3vw, 4rem));
    background: #fffdfa;
}

.premium-account-eyebrow {
    margin: 0 0 1.2rem;
    color: #7a867e;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}


/* ============================================================
   HERO
   ============================================================ */

.premium-account-hero {
    min-height: 42rem;
    padding:
        clamp(6rem, 8vw, 10rem)
        clamp(2rem, 6vw, 8rem);

    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 4rem;

    background:
        linear-gradient(
            110deg,
            #ece8df 0%,
            #f7f4ee 55%,
            #dfe6dd 100%
        );

    border-bottom: 1px solid #d9ddd7;
}

.premium-account-hero-copy {
    max-width: 85rem;
}

.premium-account-hero h1 {
    max-width: 82rem;
    margin: 0;
    color: #21362d;
    font-size: clamp(5rem, 7vw, 9rem);
    line-height: 0.92;
    letter-spacing: -0.055em;
}

.premium-account-intro {
    max-width: 60rem;
    margin: 2.2rem 0 0;
    color: #5f6a64;
    font-size: 1.45rem;
    line-height: 1.7;
}

.premium-account-hero-meta {
    min-width: 22rem;
    padding-bottom: 0.5rem;
    text-align: right;
}

.premium-account-hero-meta span {
    display: inline-block;
    padding: 0.7rem 1.1rem;
    background: rgba(255, 255, 255, 0.62);
    border: 1px solid rgba(47, 73, 56, 0.15);
    color: #31473b;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.premium-account-hero-meta p {
    margin: 1rem 0 0;
    color: #657069;
    font-size: 1rem;
}


/* ============================================================
   MAIN DASHBOARD
   ============================================================ */

.premium-account-dashboard {
    max-width: 145rem;
    margin: 0 auto;
    padding:
        clamp(5rem, 7vw, 9rem)
        clamp(2rem, 4vw, 5rem);

    display: grid;
    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(30rem, 0.65fr);

    gap: clamp(3rem, 5vw, 7rem);
}

.premium-account-main {
    display: flex;
    flex-direction: column;
    gap: 6rem;
}


/* ============================================================
   FEATURE CARD
   ============================================================ */

.premium-account-feature-card {
    min-height: 40rem;
    padding:
        clamp(3rem, 5vw, 6rem);

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    background: #283c33;
    color: #ffffff;
}

.premium-account-feature-card
.premium-account-eyebrow {
    color: #b9c6bd;
}

.premium-account-feature-card h2 {
    max-width: 65rem;
    margin: 0;
    color: #ffffff;
    font-size: clamp(4rem, 5vw, 7rem);
    line-height: 0.96;
}

.premium-account-feature-card p:not(
    .premium-account-eyebrow
) {
    max-width: 58rem;
    margin: 2rem 0 0;
    color: #d4ddd7;
    font-size: 1.2rem;
    line-height: 1.7;
}

.premium-account-feature-actions {
    margin-top: 4rem;
    display: flex;
    align-items: center;
    gap: 2rem;
    flex-wrap: wrap;
}


/* ============================================================
   BUTTONS
   ============================================================ */

.premium-account-primary-button,
.premium-account-light-button,
.premium-account-outline-light {
    min-height: 5rem;
    padding: 0 2.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;

    transition:
        transform 0.2s ease,
        background 0.2s ease,
        color 0.2s ease;
}

.premium-account-primary-button {
    background: #ffffff;
    color: #263b31;
}

.premium-account-primary-button:hover,
.premium-account-light-button:hover {
    transform: translateY(-2px);
}

.premium-account-text-link {
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-decoration: underline;
    text-transform: uppercase;
}


/* ============================================================
   PROFILE
   ============================================================ */

.premium-account-section-heading {
    margin-bottom: 2.5rem;
}

.premium-account-section-heading h2 {
    margin: 0;
    color: #263a31;
    font-size: clamp(3.4rem, 4vw, 5rem);
}

.premium-account-profile-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    border-top: 1px solid #dcded8;
    border-left: 1px solid #dcded8;
}

.premium-account-profile-grid article {
    min-height: 22rem;
    padding: 3rem;
    border-right: 1px solid #dcded8;
    border-bottom: 1px solid #dcded8;
    background: #ffffff;
}

.premium-account-profile-grid span {
    color: #7d877f;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.premium-account-profile-grid strong {
    display: block;
    margin-top: 4rem;
    color: #253a30;
    font-family:
        Georgia,
        "Times New Roman",
        serif;
    font-size: 2.7rem;
    font-weight: 400;
    overflow-wrap: anywhere;
}

.premium-account-profile-grid p {
    max-width: 35rem;
    margin: 1rem 0 0;
    color: #737c76;
    line-height: 1.6;
}


/* ============================================================
   SIDEBAR
   ============================================================ */

.premium-account-sidebar {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.premium-account-side-card {
    padding: 3rem;
    background: #f1ede5;
}

.premium-account-side-card h2 {
    margin: 0;
    color: #283b32;
    font-size: 3.6rem;
    line-height: 1.02;
}

.premium-account-side-card p:not(
    .premium-account-eyebrow
) {
    margin: 1.5rem 0 0;
    color: #69736d;
    line-height: 1.7;
}

.premium-account-hamper-card {
    min-height: 46rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    background:
        linear-gradient(
            160deg,
            rgba(42, 67, 54, 0.12),
            rgba(255, 253, 248, 0.4)
        ),
        #cdd8cc;
}

.premium-account-hamper-card
.premium-account-light-button {
    margin-top: 3rem;
    align-self: flex-start;
}

.premium-account-light-button {
    background: #263a31;
    color: #ffffff;
}

.premium-account-quick-links {
    margin-top: 2rem;
    display: flex;
    flex-direction: column;
}

.premium-account-quick-links a {
    padding: 1.5rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;

    border-bottom: 1px solid #d5d1c9;

    color: #30433a;
    font-size: 1.1rem;
    font-weight: 700;
}

.premium-account-quick-links a::after {
    content: "→";
    font-size: 1.2rem;
}


/* ============================================================
   LOWER CTA
   ============================================================ */

.premium-account-lower-cta {
    min-height: 38rem;
    padding:
        clamp(5rem, 7vw, 9rem);

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5rem;

    background: #20352c;
}

.premium-account-lower-cta
.premium-account-eyebrow {
    color: #b7c5bc;
}

.premium-account-lower-cta h2 {
    max-width: 70rem;
    margin: 0;
    color: #ffffff;
    font-size: clamp(4rem, 5vw, 7rem);
    line-height: 0.95;
}

.premium-account-lower-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.premium-account-lower-cta
.premium-account-light-button {
    background: #ffffff;
    color: #263a31;
}

.premium-account-outline-light {
    border: 1px solid #ffffff;
    color: #ffffff;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media screen and (max-width: 1000px) {

    .premium-account-dashboard {
        grid-template-columns: 1fr;
    }

    .premium-account-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .premium-account-hero-meta {
        text-align: left;
    }

}

@media screen and (max-width: 700px) {

    .premium-account-page {
        margin-left: -1.5rem;
        margin-right: -1.5rem;
    }

    .premium-account-hero {
        min-height: auto;
        padding: 5rem 2rem;
    }

    .premium-account-dashboard {
        padding: 4rem 1.6rem 7rem;
    }

    .premium-account-profile-grid {
        grid-template-columns: 1fr;
    }

    .premium-account-feature-card {
        min-height: 34rem;
        padding: 3rem 2.2rem;
    }

    .premium-account-lower-cta {
        padding: 6rem 2.2rem;
        align-items: flex-start;
        flex-direction: column;
    }

    .premium-account-lower-actions {
        width: 100%;
    }

    .premium-account-lower-actions a {
        width: 100%;
    }

}

/* ============================================================
   PREMIUM ACCOUNT SETTINGS
   ============================================================ */

.premium-settings-page {
    margin-left: calc(-1 * clamp(1.8rem, 3vw, 4rem));
    margin-right: calc(-1 * clamp(1.8rem, 3vw, 4rem));
    background: #fffdfa;
}

.premium-settings-eyebrow {
    margin: 0 0 1.1rem;
    color: #77847c;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}


/* HERO */

.premium-settings-hero {
    padding:
        clamp(6rem, 8vw, 10rem)
        clamp(2rem, 6vw, 8rem);

    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 4rem;

    background: #f0ece3;
}

.premium-settings-hero h1 {
    margin: 0;
    color: #20362d;
    font-size: clamp(5rem, 7vw, 9rem);
    line-height: 0.92;
    letter-spacing: -0.05em;
}

.premium-settings-hero
div > p:last-child {
    max-width: 55rem;
    margin: 2rem 0 0;
    color: #66716a;
    font-size: 1.3rem;
    line-height: 1.7;
}

.premium-settings-back {
    min-height: 4.8rem;
    padding: 0 2rem;
    display: inline-flex;
    align-items: center;
    border: 1px solid #263a31;
    color: #263a31;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}


/* LAYOUT */

.premium-settings-layout {
    max-width: 145rem;
    margin: auto;
    padding:
        clamp(5rem, 7vw, 9rem)
        clamp(2rem, 4vw, 5rem)
        12rem;

    display: grid;
    grid-template-columns: 27rem 1fr;
    gap: clamp(4rem, 7vw, 10rem);
}

.premium-settings-nav {
    align-self: start;
    position: sticky;
    top: 16rem;
}

.premium-settings-nav a {
    padding: 1.5rem 0;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #dbddd7;
    color: #33483d;
    font-weight: 700;
}

.premium-settings-content {
    min-width: 0;
}


/* SECTIONS */

.premium-settings-section {
    padding: 0 0 7rem;
    margin-bottom: 7rem;
    border-bottom: 1px solid #dadcd7;
}

.premium-settings-heading {
    margin-bottom: 3rem;
}

.premium-settings-heading h2 {
    margin: 0;
    color: #253a30;
    font-size: clamp(3.5rem, 4vw, 5.5rem);
}

.premium-settings-heading
p:last-child {
    margin: 1.2rem 0 0;
    color: #6e7772;
    font-size: 1.15rem;
}


/* FORMS */

.premium-settings-form {
    max-width: 85rem;
}

.premium-settings-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 2rem;
}

.premium-settings-form label {
    color: #56635b;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.premium-settings-form input {
    height: 5.3rem;
    border: 1px solid #cdd1cb;
    border-radius: 0;
    background: #ffffff;
}

.premium-settings-form input:focus {
    border-color: #445b4e;
    box-shadow: none;
}

.premium-settings-primary {
    min-height: 5rem;
    margin-top: 1rem;
    padding: 0 2.3rem;
    border: 0;
    border-radius: 0;
    background: #263a31;
    color: #ffffff;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}


/* LANGUAGES */

.premium-language-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    border-top: 1px solid #dcded8;
    border-left: 1px solid #dcded8;
}

.premium-language-grid button {
    min-height: 8rem;
    margin: 0;
    padding: 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 0;
    border-right: 1px solid #dcded8;
    border-bottom: 1px solid #dcded8;
    border-radius: 0;
    background: #ffffff;
    color: #35473e;
    text-align: left;
    text-transform: none;
}

.premium-language-grid
button:hover {
    background: #f5f2eb;
}

.premium-language-grid
button.is-selected {
    background: #293e34;
    color: #ffffff;
}

.premium-language-grid strong {
    font-family:
        Georgia,
        "Times New Roman",
        serif;
    font-size: 1.7rem;
    font-weight: 400;
}

.premium-language-grid span {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.premium-settings-note {
    margin: 1.5rem 0 0;
    color: #828983;
    font-size: 0.95rem;
}


/* PREFERENCES */

.premium-preference-row {
    padding: 2.3rem 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    border-top: 1px solid #dedfda;
}

.premium-preference-row:last-child {
    border-bottom: 1px solid #dedfda;
}

.premium-preference-row strong {
    color: #34483e;
    font-family:
        Georgia,
        "Times New Roman",
        serif;
    font-size: 2rem;
    font-weight: 400;
}

.premium-preference-row p {
    max-width: 55rem;
    margin: 0.6rem 0 0;
    color: #737b76;
}

.premium-settings-status,
.premium-settings-coming {
    padding: 0.7rem 1rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.09em;
}

.premium-settings-status {
    background: #e1ebe1;
    color: #3b5d46;
}

.premium-settings-coming {
    background: #eeeae1;
    color: #746c5b;
}


/* FOOTER */

.premium-settings-footer {
    padding: 4rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    background: #263a31;
}

.premium-settings-footer
.premium-settings-eyebrow {
    color: #b6c4bb;
}

.premium-settings-footer h2 {
    margin: 0;
    color: #ffffff;
    font-size: 3.5rem;
}

.premium-settings-logout {
    min-height: 4.8rem;
    padding: 0 2rem;
    display: inline-flex;
    align-items: center;
    border: 1px solid #ffffff;
    color: #ffffff;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}


/* RESPONSIVE */

@media screen and (max-width: 900px) {

    .premium-settings-layout {
        grid-template-columns: 1fr;
    }

    .premium-settings-nav {
        position: static;
    }

}

@media screen and (max-width: 650px) {

    .premium-settings-page {
        margin-left: -1.5rem;
        margin-right: -1.5rem;
    }

    .premium-settings-hero {
        padding: 5rem 2rem;
        align-items: flex-start;
        flex-direction: column;
    }

    .premium-settings-layout {
        padding: 4rem 1.6rem 8rem;
    }

    .premium-settings-grid,
    .premium-language-grid {
        grid-template-columns: 1fr;
    }

    .premium-settings-footer {
        padding: 3rem 2rem;
        align-items: flex-start;
        flex-direction: column;
    }

}

/* ============================================================
   PREMIUM LOGIN PAGE
   ============================================================ */

body:has(.premium-login-page) {
    margin: 0;
    background: #f7f4ed;
}

body:has(.premium-login-page) .main {
    max-width: none;
    margin: 0;
    padding: 0;
}

body:has(.premium-login-page) .site-footer {
    display: none;
}


/* ============================================================
   MAIN LAYOUT
   ============================================================ */

.premium-login-page {
    min-height: 100vh;

    display: grid;
    grid-template-columns:
        minmax(0, 1.05fr)
        minmax(45rem, 0.95fr);

    background: #f8f5ee;
}


/* ============================================================
   BRAND PANEL
   ============================================================ */

.premium-login-brand-panel {
    min-height: 100vh;

    padding:
        clamp(3rem, 5vw, 6rem);

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    position: relative;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 75% 25%,
            rgba(221, 231, 219, 0.95),
            transparent 35%
        ),
        radial-gradient(
            circle at 20% 75%,
            rgba(179, 198, 182, 0.85),
            transparent 40%
        ),
        linear-gradient(
            145deg,
            #e9e7dd 0%,
            #dbe3d9 45%,
            #b8c8ba 100%
        );
}


/* decorative botanical circles */

.premium-login-brand-panel::before {
    content: "";

    position: absolute;

    width: 55rem;
    height: 55rem;

    right: -18rem;
    bottom: -18rem;

    border-radius: 50%;

    border:
        1px solid
        rgba(42, 68, 54, 0.16);
}


.premium-login-brand-panel::after {
    content: "";

    position: absolute;

    width: 34rem;
    height: 34rem;

    right: -7rem;
    bottom: -7rem;

    border-radius: 50%;

    border:
        1px solid
        rgba(42, 68, 54, 0.18);
}


/* ============================================================
   BRAND TOP
   ============================================================ */

.premium-login-brand-top {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: baseline;
    gap: 1rem;
}


.premium-login-wordmark {
    color: #20362c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 2.6rem;

    letter-spacing:
        0.14em;

    text-decoration:
        none;
}


.premium-login-brand-top span {
    color: #42584c;

    font-size: 0.75rem;

    font-weight: 700;

    letter-spacing:
        0.4em;
}


/* ============================================================
   BRAND COPY
   ============================================================ */

.premium-login-brand-copy {
    position: relative;
    z-index: 2;

    max-width: 70rem;
}


.premium-login-eyebrow {
    margin: 0 0 1.8rem;

    color: #687970;

    font-size: 0.8rem;

    font-weight: 700;

    letter-spacing:
        0.22em;

    text-transform:
        uppercase;
}


.premium-login-brand-copy h1 {
    margin: 0;

    color: #20362c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            5.5rem,
            7vw,
            10rem
        );

    font-weight:
        400;

    line-height:
        0.86;

    letter-spacing:
        -0.06em;
}


.premium-login-brand-description {
    max-width: 47rem;

    margin:
        3rem
        0
        0;

    color: #52635a;

    font-size: 1.25rem;

    line-height: 1.8;
}


.premium-login-brand-line {
    width: 7rem;

    height: 1px;

    margin-top: 3rem;

    background: #385044;
}


/* ============================================================
   BRAND FOOTER
   ============================================================ */

.premium-login-brand-footer {
    position: relative;
    z-index: 2;

    display: flex;
    justify-content: space-between;

    gap: 2rem;

    color: #53665c;

    font-size: 0.72rem;

    font-weight: 700;

    letter-spacing:
        0.15em;
}


/* ============================================================
   FORM PANEL
   ============================================================ */

.premium-login-form-panel {
    min-height: 100vh;

    padding:
        clamp(3rem, 5vw, 7rem);

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fffdfa;
}


.premium-login-form-shell {
    width: 100%;

    max-width: 60rem;
}


/* ============================================================
   TOP ROW
   ============================================================ */

.premium-login-form-top {
    margin-bottom: 7rem;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 2rem;
}


.premium-login-form-top span,
.premium-login-back {
    color: #6d7972;

    font-size: 0.75rem;

    font-weight: 700;

    letter-spacing:
        0.12em;

    text-transform:
        uppercase;
}


.premium-login-back {
    text-decoration:
        none;
}


.premium-login-back:hover {
    color: #20362c;
}


/* ============================================================
   HEADING
   ============================================================ */

.premium-login-heading {
    margin-bottom: 4rem;
}


.premium-login-heading h2 {
    margin:
        0
        0
        1.5rem;

    color: #20362c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            5rem,
            6vw,
            7.5rem
        );

    font-weight:
        400;

    line-height:
        0.9;

    letter-spacing:
        -0.05em;
}


.premium-login-heading > p:last-child {
    max-width: 46rem;

    margin: 0;

    color: #717b75;

    font-size: 1.1rem;

    line-height: 1.7;
}


/* ============================================================
   FLASH
   ============================================================ */

.premium-login-flash {
    margin-bottom: 2rem;
}


.premium-login-flash .message {
    padding: 1.5rem 1.8rem;

    border-radius: 0;

    font-size: 1rem;
}


/* ============================================================
   FORM
   ============================================================ */

.premium-login-form fieldset {
    margin: 0;
    padding: 0;

    border: 0;
}


.premium-login-field {
    margin-bottom: 2.6rem;
}


.premium-login-field label {
    display: block;

    margin-bottom: 0.8rem;

    color: #31483c;

    font-size: 0.82rem;

    font-weight: 700;

    letter-spacing:
        0.12em;

    text-transform:
        uppercase;
}


.premium-login-label-row {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 2rem;
}


.premium-login-forgot {
    color: #69776f;

    font-size: 0.9rem;

    font-weight: 500;

    text-decoration:
        none;
}


.premium-login-forgot:hover {
    color: #20362c;

    text-decoration:
        underline;
}


/* Cake wrapper */

.premium-login-field .input {
    margin: 0;
}


/* INPUT */

.premium-login-input {
    width: 100% !important;

    height: 6rem !important;

    margin: 0 !important;

    padding:
        0
        1.8rem !important;

    border:
        1px solid
        #cdd3ce !important;

    border-radius:
        0 !important;

    background:
        #fffdfa !important;

    color:
        #20362c !important;

    font-size:
        1.05rem !important;

    box-shadow:
        none !important;

    transition:
        border-color
        0.2s ease,
        background
        0.2s ease;
}


.premium-login-input:focus {
    border-color:
        #324b3d !important;

    background:
        #ffffff !important;

    outline:
        none !important;
}


.premium-login-input::placeholder {
    color: #929993;
}


/* ============================================================
   PASSWORD
   ============================================================ */

.premium-login-password-wrap {
    position: relative;
}


.premium-login-password-wrap
.input {
    margin: 0;
}


.premium-login-password-wrap
.premium-login-input {
    padding-right:
        7rem !important;
}


.premium-login-password-toggle {
    position: absolute;

    right: 1.7rem;
    top: 50%;

    transform:
        translateY(-50%);

    margin: 0;
    padding: 0;

    border: 0;

    background:
        transparent;

    color: #53665b;

    font-size: 0.8rem;

    font-weight: 700;

    letter-spacing:
        0.08em;

    text-transform:
        uppercase;

    cursor:
        pointer;
}


.premium-login-password-toggle:hover {
    color: #20362c;
}


/* ============================================================
   LOGIN BUTTON
   ============================================================ */

.premium-login-submit {
    width: 100%;

    height: 6rem;

    margin:
        1rem
        0
        0;

    border:
        1px solid
        #20362c;

    border-radius:
        0;

    background:
        #20362c;

    color:
        #ffffff;

    font-size:
        0.85rem;

    font-weight:
        700;

    letter-spacing:
        0.16em;

    text-transform:
        uppercase;

    transition:
        background
        0.2s ease,
        transform
        0.2s ease;
}


.premium-login-submit:hover {
    background:
        #304a3c;

    border-color:
        #304a3c;

    transform:
        translateY(-2px);
}


/* ============================================================
   REGISTER
   ============================================================ */

.premium-login-register {
    margin-top: 2.5rem;

    display: flex;

    justify-content: center;

    gap: 0.6rem;

    color: #747e78;

    font-size: 1rem;
}


.premium-login-register a {
    color: #20362c;

    font-weight: 700;

    text-decoration:
        underline;
}


/* ============================================================
   DIVIDER
   ============================================================ */

.premium-login-divider {
    margin:
        4rem
        0
        3rem;

    display: flex;

    align-items: center;

    gap: 1.5rem;

    color: #8a928d;

    font-size: 0.68rem;

    font-weight: 700;

    letter-spacing:
        0.16em;
}


.premium-login-divider::before,
.premium-login-divider::after {
    content: "";

    flex: 1;

    height: 1px;

    background: #dfe1dc;
}


/* ============================================================
   BENEFITS
   ============================================================ */

.premium-login-benefits {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 1px;

    background: #dcdfda;

    border:
        1px solid
        #dcdfda;
}


.premium-login-benefits div {
    min-height: 10rem;

    padding: 1.6rem;

    display: flex;

    flex-direction: column;

    justify-content:
        space-between;

    background:
        #f7f5ef;
}


.premium-login-benefits span {
    color: #89928c;

    font-size: 0.72rem;

    font-weight: 700;

    letter-spacing:
        0.1em;
}


.premium-login-benefits strong {
    color: #30463a;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.25rem;

    font-weight:
        400;

    line-height: 1.25;
}


/* ============================================================
   LOAD ANIMATION
   ============================================================ */

@keyframes botanicalLoginFade {

    from {
        opacity: 0;

        transform:
            translateY(12px);
    }

    to {
        opacity: 1;

        transform:
            translateY(0);
    }

}


.premium-login-form-shell {
    animation:
        botanicalLoginFade
        0.55s
        ease-out;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media screen and (max-width: 1000px) {

    .premium-login-page {
        grid-template-columns: 1fr;
    }


    .premium-login-brand-panel {
        min-height: 42rem;
    }


    .premium-login-form-panel {
        min-height: auto;

        padding:
            6rem
            3rem;
    }


    .premium-login-form-top {
        margin-bottom: 5rem;
    }

}


@media screen and (max-width: 600px) {

    .premium-login-brand-panel {
        min-height: 32rem;

        padding:
            3rem
            2rem;
    }


    .premium-login-brand-copy h1 {
        font-size: 5rem;
    }


    .premium-login-brand-description {
        display: none;
    }


    .premium-login-brand-footer {
        display: none;
    }


    .premium-login-form-panel {
        padding:
            4rem
            2rem;
    }


    .premium-login-form-top {
        margin-bottom: 4rem;
    }


    .premium-login-form-top > span {
        display: none;
    }


    .premium-login-benefits {
        grid-template-columns: 1fr;
    }


    .premium-login-benefits div {
        min-height: 7rem;
    }


    .premium-login-register {
        align-items: center;

        flex-direction: column;
    }

}

/* ============================================================
   PREMIUM REGISTER PAGE
   ============================================================ */

body:has(.premium-register-page) {
    margin: 0;
    background: #f7f4ed;
}

body:has(.premium-register-page) .main {
    max-width: none;
    margin: 0;
    padding: 0;
}

body:has(.premium-register-page) .site-footer {
    display: none;
}


/* MAIN */

.premium-register-page {
    min-height: 100vh;

    display: grid;

    grid-template-columns:
        minmax(0, 0.95fr)
        minmax(48rem, 1.05fr);

    background: #fffdfa;
}


/* ============================================================
   LEFT BRAND PANEL
   ============================================================ */

.premium-register-brand-panel {
    min-height: 100vh;

    padding:
        clamp(3rem, 5vw, 6rem);

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    position: relative;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 20% 25%,
            rgba(240, 234, 217, 0.92),
            transparent 38%
        ),
        radial-gradient(
            circle at 80% 78%,
            rgba(174, 198, 179, 0.9),
            transparent 42%
        ),
        linear-gradient(
            145deg,
            #ece8dc 0%,
            #d8e1d5 55%,
            #b9cbbb 100%
        );
}


.premium-register-brand-panel::before {
    content: "";

    position: absolute;

    width: 48rem;
    height: 48rem;

    left: -17rem;
    bottom: -16rem;

    border-radius: 50%;

    border:
        1px solid
        rgba(41, 65, 52, 0.17);
}


.premium-register-brand-panel::after {
    content: "";

    position: absolute;

    width: 30rem;
    height: 30rem;

    left: -7rem;
    bottom: -7rem;

    border-radius: 50%;

    border:
        1px solid
        rgba(41, 65, 52, 0.2);
}


/* BRAND TOP */

.premium-register-brand-top {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: baseline;
    gap: 1rem;
}


.premium-register-wordmark {
    color: #20362c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 2.6rem;

    letter-spacing: 0.14em;

    text-decoration: none;
}


.premium-register-brand-top span {
    color: #42584c;

    font-size: 0.75rem;

    font-weight: 700;

    letter-spacing: 0.4em;
}


/* COPY */

.premium-register-brand-copy {
    position: relative;
    z-index: 2;

    max-width: 70rem;
}


.premium-register-eyebrow {
    margin: 0 0 1.8rem;

    color: #687970;

    font-size: 0.8rem;

    font-weight: 700;

    letter-spacing: 0.22em;

    text-transform: uppercase;
}


.premium-register-brand-copy h1 {
    margin: 0;

    color: #20362c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            5.5rem,
            7vw,
            9.5rem
        );

    font-weight: 400;

    line-height: 0.87;

    letter-spacing: -0.055em;
}


.premium-register-brand-description {
    max-width: 48rem;

    margin: 3rem 0 0;

    color: #52635a;

    font-size: 1.2rem;

    line-height: 1.8;
}


.premium-register-brand-line {
    width: 7rem;

    height: 1px;

    margin-top: 3rem;

    background: #385044;
}


/* BENEFITS */

.premium-register-benefit-list {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 1px;

    background:
        rgba(42, 65, 53, 0.2);
}


.premium-register-benefit-list div {
    min-height: 11rem;

    padding: 1.8rem;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    background:
        rgba(255, 255, 255, 0.45);
}


.premium-register-benefit-list span {
    color: #64756c;

    font-size: 0.72rem;

    font-weight: 700;

    letter-spacing: 0.1em;
}


.premium-register-benefit-list strong {
    color: #2b4337;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.2rem;

    font-weight: 400;
}


/* ============================================================
   RIGHT FORM
   ============================================================ */

.premium-register-form-panel {
    min-height: 100vh;

    padding:
        clamp(3rem, 5vw, 7rem);

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fffdfa;
}


.premium-register-form-shell {
    width: 100%;

    max-width: 72rem;

    animation:
        premiumRegisterFade
        0.55s
        ease-out;
}


/* TOP */

.premium-register-form-top {
    margin-bottom: 5rem;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 2rem;
}


.premium-register-form-top span,
.premium-register-back {
    color: #6d7972;

    font-size: 0.75rem;

    font-weight: 700;

    letter-spacing: 0.12em;

    text-transform: uppercase;
}


.premium-register-back {
    text-decoration: none;
}


.premium-register-back:hover {
    color: #20362c;
}


/* HEADING */

.premium-register-heading {
    margin-bottom: 3.5rem;
}


.premium-register-heading h2 {
    margin:
        0
        0
        1.4rem;

    color: #20362c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            4.8rem,
            6vw,
            7.2rem
        );

    font-weight: 400;

    line-height: 0.9;

    letter-spacing: -0.05em;
}


.premium-register-heading > p:last-child {
    margin: 0;

    color: #707b74;

    font-size: 1.1rem;

    line-height: 1.7;
}


/* FLASH */

.premium-register-flash {
    margin-bottom: 2rem;
}


/* ============================================================
   FIELDS
   ============================================================ */

.premium-register-form fieldset {
    margin: 0;
    padding: 0;

    border: 0;
}


.premium-register-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 2rem;
}


.premium-register-field {
    margin-bottom: 2.4rem;
}


.premium-register-field label {
    display: block;

    margin-bottom: 0.8rem;

    color: #31483c;

    font-size: 0.8rem;

    font-weight: 700;

    letter-spacing: 0.12em;

    text-transform: uppercase;
}


.premium-register-field .input {
    margin: 0;
}


.premium-register-input {
    width: 100% !important;

    height: 5.8rem !important;

    margin: 0 !important;

    padding:
        0
        1.7rem !important;

    border:
        1px solid
        #cdd3ce !important;

    border-radius: 0 !important;

    background:
        #fffdfa !important;

    color:
        #20362c !important;

    box-shadow:
        none !important;

    font-size:
        1.05rem !important;
}


.premium-register-input:focus {
    border-color:
        #30483b !important;

    outline: none !important;
}


.premium-register-input::placeholder {
    color: #959d98;
}


/* PASSWORD */

.premium-register-password-wrap {
    position: relative;
}


.premium-register-password-wrap
.premium-register-input {
    padding-right:
        7rem !important;
}


.premium-register-password-toggle {
    position: absolute;

    top: 50%;
    right: 1.6rem;

    transform:
        translateY(-50%);

    margin: 0;
    padding: 0;

    border: 0;

    background: transparent;

    color: #52665b;

    font-size: 0.78rem;

    font-weight: 700;

    letter-spacing: 0.08em;

    text-transform: uppercase;

    cursor: pointer;
}


.premium-register-password-note {
    margin:
        -0.5rem
        0
        2.5rem;

    color: #7a847e;

    font-size: 0.9rem;
}


/* BUTTON */

.premium-register-submit {
    width: 100%;

    height: 6rem;

    margin: 0;

    border:
        1px solid
        #20362c;

    border-radius: 0;

    background:
        #20362c;

    color:
        #ffffff;

    font-size: 0.85rem;

    font-weight: 700;

    letter-spacing: 0.16em;

    text-transform: uppercase;

    transition:
        transform
        0.2s ease,
        background
        0.2s ease;
}


.premium-register-submit:hover {
    transform:
        translateY(-2px);

    background:
        #304a3c;

    border-color:
        #304a3c;
}


/* LOGIN LINK */

.premium-register-login {
    margin-top: 2.5rem;

    display: flex;

    justify-content: center;

    gap: 0.6rem;

    color: #737d77;

    font-size: 1rem;
}


.premium-register-login a {
    color: #20362c;

    font-weight: 700;

    text-decoration: underline;
}


/* TRUST BAR */

.premium-register-trust {
    margin-top: 4rem;

    padding-top: 2rem;

    display: flex;

    justify-content: space-between;

    gap: 2rem;

    border-top:
        1px solid
        #dfe1dc;

    color: #818b84;

    font-size: 0.68rem;

    font-weight: 700;

    letter-spacing: 0.12em;
}


/* ANIMATION */

@keyframes premiumRegisterFade {

    from {
        opacity: 0;

        transform:
            translateY(12px);
    }

    to {
        opacity: 1;

        transform:
            translateY(0);
    }

}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media screen and (max-width: 1050px) {

    .premium-register-page {
        grid-template-columns: 1fr;
    }


    .premium-register-brand-panel {
        min-height: 46rem;
    }


    .premium-register-form-panel {
        min-height: auto;

        padding:
            6rem
            3rem;
    }

}


@media screen and (max-width: 650px) {

    .premium-register-brand-panel {
        min-height: 34rem;

        padding:
            3rem
            2rem;
    }


    .premium-register-brand-copy h1 {
        font-size: 5rem;
    }


    .premium-register-brand-description,
    .premium-register-benefit-list {
        display: none;
    }


    .premium-register-form-panel {
        padding:
            4rem
            2rem;
    }


    .premium-register-form-top {
        margin-bottom: 4rem;
    }


    .premium-register-form-top > span {
        display: none;
    }


    .premium-register-grid {
        grid-template-columns: 1fr;

        gap: 0;
    }


    .premium-register-login {
        align-items: center;

        flex-direction: column;
    }


    .premium-register-trust {
        align-items: center;

        flex-direction: column;
    }

}


/* ============================================================
   PREMIUM CONTENT STUDIO / CMS
   ============================================================ */

.botanical-content-studio {
    width: 100%;
    max-width: 150rem;

    margin:
        0
        auto;

    padding:
        3rem
        clamp(
            2rem,
            4vw,
            5rem
        )
        10rem;

    color: #243a30;
}


/* ============================================================
   EYEBROW
   ============================================================ */

.cms-studio-eyebrow {
    margin:
        0
        0
        1.1rem;

    color: #77847c;

    font-size: 0.78rem;

    font-weight: 700;

    letter-spacing: 0.18em;

    text-transform: uppercase;
}


/* ============================================================
   HERO
   ============================================================ */

.cms-studio-hero {
    min-height: 40rem;

    padding:
        clamp(
            4rem,
            6vw,
            7rem
        );

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 5rem;

    background:
        radial-gradient(
            circle at 80% 20%,
            rgba(
                207,
                220,
                207,
                0.8
            ),
            transparent 35%
        ),
        linear-gradient(
            120deg,
            #f3eee4 0%,
            #edf1e9 60%,
            #d7e2d8 100%
        );

    border:
        1px solid
        #d8ddd7;
}


.cms-studio-hero-copy {
    max-width: 78rem;
}


.cms-studio-hero h1 {
    margin: 0;

    color: #20362c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            5rem,
            7vw,
            9rem
        );

    font-weight: 400;

    letter-spacing: -0.055em;

    line-height: 0.9;
}


.cms-studio-intro {
    max-width: 65rem;

    margin:
        2rem
        0
        0;

    color: #637069;

    font-size: 1.2rem;

    line-height: 1.75;
}


.cms-studio-hero-actions {
    display: flex;

    gap: 1rem;

    flex-wrap: wrap;
}


/* ============================================================
   BUTTONS
   ============================================================ */

.cms-studio-button {
    min-height: 4.8rem;

    padding:
        0
        2rem;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    border:
        1px solid
        #263d32;

    border-radius: 0;

    font-size: 0.78rem;

    font-weight: 700;

    letter-spacing: 0.12em;

    text-decoration: none;

    text-transform: uppercase;

    transition:
        transform 0.2s ease,
        background 0.2s ease,
        color 0.2s ease;
}


.cms-studio-button:hover {
    transform:
        translateY(-2px);
}


.cms-studio-button-dark {
    background: #263d32;

    color: #ffffff;
}


.cms-studio-button-light {
    background:
        rgba(
            255,
            255,
            255,
            0.65
        );

    color: #263d32;
}


/* ============================================================
   STATISTICS
   ============================================================ */

.cms-studio-stats {
    margin-top: 1.5rem;

    display: grid;

    grid-template-columns:
        repeat(
            4,
            minmax(
                0,
                1fr
            )
        );

    gap: 1.5rem;
}


.cms-studio-stat {
    min-height: 16rem;

    padding: 2.2rem;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    background: #ffffff;

    border:
        1px solid
        #dce0da;
}


.cms-studio-stat > span {
    color: #78847d;

    font-size: 0.7rem;

    font-weight: 700;

    letter-spacing: 0.15em;
}


.cms-studio-stat strong {
    margin-top: 2rem;

    color: #263c32;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 3.8rem;

    font-weight: 400;
}


.cms-studio-stat small {
    margin-top: 0.6rem;

    color: #808983;

    font-size: 0.85rem;
}


.cms-studio-status-value {
    color: #3d674c !important;
}


/* ============================================================
   NAVIGATION
   ============================================================ */

.cms-studio-navigation {
    padding:
        7rem
        0
        3rem;

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 4rem;

    border-bottom:
        1px solid
        #daddd8;
}


.cms-studio-navigation h2 {
    margin: 0;

    color: #263c32;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            3.5rem,
            4vw,
            5rem
        );

    font-weight: 400;
}


.cms-studio-nav-links {
    display: flex;

    gap:
        0.8rem
        1.8rem;

    flex-wrap: wrap;

    justify-content: flex-end;
}


.cms-studio-nav-links a {
    color: #4d6056;

    font-size: 0.82rem;

    font-weight: 700;

    letter-spacing: 0.08em;

    text-decoration: none;

    text-transform: uppercase;
}


.cms-studio-nav-links a:hover {
    color: #20362c;

    text-decoration: underline;
}


/* ============================================================
   GROUP
   ============================================================ */

.cms-studio-group {
    padding:
        7rem
        0;

    border-bottom:
        1px solid
        #daddd8;

    scroll-margin-top:
        4rem;
}


.cms-studio-group-header {
    margin-bottom: 3rem;

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 3rem;
}


.cms-studio-group-header h2 {
    margin: 0;

    color: #273d33;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            3.8rem,
            5vw,
            6rem
        );

    font-weight: 400;

    letter-spacing:
        -0.035em;
}


.cms-studio-group-header p:last-child {
    margin:
        1rem
        0
        0;

    color: #7b867f;
}


.cms-studio-published-badge {
    padding:
        0.7rem
        1rem;

    background: #e1ebe1;

    color: #3f654b;

    font-size: 0.7rem;

    font-weight: 700;

    letter-spacing: 0.11em;
}


/* ============================================================
   BLOCK GRID
   ============================================================ */

.cms-studio-block-grid {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            minmax(
                0,
                1fr
            )
        );

    gap: 1.6rem;
}


/* ============================================================
   CMS BLOCK CARD
   ============================================================ */

.cms-studio-block-card {
    min-height: 32rem;

    padding: 2.8rem;

    display: flex;

    flex-direction: column;

    background: #ffffff;

    border:
        1px solid
        #dce0da;

    transition:
        border-color 0.2s ease,
        transform 0.2s ease;
}


.cms-studio-block-card:hover {
    border-color: #9eaca3;

    transform:
        translateY(-2px);
}


.cms-studio-block-top {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 1rem;

    flex-wrap: wrap;
}


.cms-studio-type-badge,
.cms-studio-history-badge {
    font-size: 0.67rem;

    font-weight: 700;

    letter-spacing: 0.12em;
}


.cms-studio-type-badge {
    color: #68776e;
}


.cms-studio-history-badge {
    padding:
        0.5rem
        0.7rem;

    background: #eee9de;

    color: #756a56;
}


/* ============================================================
   CARD CONTENT
   ============================================================ */

.cms-studio-block-content {
    flex: 1;
}


.cms-studio-block-content h3 {
    margin:
        2rem
        0
        1rem;

    color: #263c32;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 2.5rem;

    font-weight: 400;
}


.cms-studio-block-content > p {
    max-width: 55rem;

    margin: 0;

    color: #747f78;

    line-height: 1.6;
}


/* ============================================================
   CURRENT CONTENT PREVIEW
   ============================================================ */

.cms-studio-current-value {
    margin-top: 2.6rem;

    padding-top: 2rem;

    border-top:
        1px solid
        #e1e3df;
}


.cms-studio-current-value > span {
    color: #8a938d;

    font-size: 0.65rem;

    font-weight: 700;

    letter-spacing: 0.13em;
}


.cms-studio-value-preview {
    margin:
        1rem
        0
        0 !important;

    color:
        #354a3f !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.35rem;

    line-height: 1.45 !important;
}


.cms-studio-empty {
    margin-top: 1rem;

    color: #999f9a;
}


/* ============================================================
   IMAGE PREVIEW
   ============================================================ */

.cms-studio-image-preview {
    height: 15rem;

    margin-top: 1rem;

    overflow: hidden;

    background: #f1efe9;
}


.cms-studio-image-preview img {
    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;
}


/* ============================================================
   CARD ACTIONS
   ============================================================ */

.cms-studio-block-actions {
    margin-top: 2.5rem;

    padding-top: 1.8rem;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 2rem;

    border-top:
        1px solid
        #e1e3df;
}


.cms-studio-edit-link {
    color: #263d32;

    font-size: 0.78rem;

    font-weight: 700;

    letter-spacing: 0.1em;

    text-decoration: none;

    text-transform: uppercase;
}


.cms-studio-edit-link::after {
    content: " →";

    margin-left: 0.4rem;
}


.cms-studio-restore-link {
    color: #856358;

    font-size: 0.75rem;

    font-weight: 700;

    text-decoration: none;
}


/* ============================================================
   INFORMATION SECTION
   ============================================================ */

.cms-studio-information {
    margin-top: 7rem;

    padding:
        clamp(
            4rem,
            6vw,
            7rem
        );

    display: grid;

    grid-template-columns:
        minmax(
            0,
            0.8fr
        )
        minmax(
            0,
            1.2fr
        );

    gap: 6rem;

    background: #263c32;

    color: #ffffff;
}


.cms-studio-information
.cms-studio-eyebrow {
    color: #bcc9c1;
}


.cms-studio-information h2 {
    margin: 0;

    color: #ffffff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            3.8rem,
            5vw,
            6rem
        );

    font-weight: 400;
}


.cms-studio-information > p {
    max-width: 65rem;

    margin: 0;

    color: #d5ded8;

    font-size: 1.1rem;

    line-height: 1.8;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media screen and (max-width: 1050px) {

    .cms-studio-hero {
        align-items: flex-start;

        flex-direction: column;
    }


    .cms-studio-stats {
        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );
    }


    .cms-studio-navigation {
        align-items: flex-start;

        flex-direction: column;
    }


    .cms-studio-nav-links {
        justify-content: flex-start;
    }


    .cms-studio-information {
        grid-template-columns: 1fr;

        gap: 3rem;
    }

}


@media screen and (max-width: 700px) {

    .botanical-content-studio {
        padding:
            1.5rem
            1.5rem
            7rem;
    }


    .cms-studio-hero {
        min-height: auto;

        padding:
            4rem
            2.2rem;
    }


    .cms-studio-stats,
    .cms-studio-block-grid {
        grid-template-columns: 1fr;
    }


    .cms-studio-group-header {
        align-items: flex-start;

        flex-direction: column;
    }


    .cms-studio-block-card {
        min-height: auto;

        padding: 2rem;
    }


    .cms-studio-block-actions {
        align-items: flex-start;

        flex-direction: column;
    }


    .cms-studio-information {
        padding:
            4rem
            2.2rem;
    }

}

/* ============================================================
   CONTENT STUDIO POLISH FIX
   ============================================================ */

.cms-studio-group {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
}

.cms-studio-group-header {
    margin-bottom: 2.2rem;
}

.cms-studio-group-header h2 {
    font-size: clamp(
        3.5rem,
        4.5vw,
        5.5rem
    );
}

.cms-studio-block-grid {
    gap: 1.8rem;
}

.cms-studio-block-card {
    min-height: 27rem;

    padding: 2.6rem;

    background: #fffefb;

    border:
        1px solid
        #d7ddd7;
}

.cms-studio-block-card:hover {
    border-color: #8ea093;

    box-shadow:
        0
        1.5rem
        3rem
        rgba(32, 54, 44, 0.06);
}

.cms-studio-block-content h3 {
    font-size: 2.35rem;

    line-height: 1.15;
}

.cms-studio-block-content > p {
    font-size: 1rem;

    line-height: 1.55;
}

.cms-studio-current-value {
    margin-top: 2rem;

    padding-top: 1.6rem;
}

.cms-studio-value-preview {
    font-size: 1.25rem;

    line-height: 1.45 !important;
}

.cms-studio-block-actions {
    margin-top: 2rem;

    padding-top: 1.6rem;

    border-top: 0;
}

.cms-studio-edit-link {
    min-height: 4.5rem;

    padding:
        0
        1.7rem;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    background: #263d32;

    color: #ffffff !important;

    font-size: 0.75rem;

    font-weight: 700;

    letter-spacing: 0.1em;

    text-transform: uppercase;

    text-decoration: none;

    transition:
        transform 0.2s ease,
        background 0.2s ease;
}

.cms-studio-edit-link:hover {
    background: #324d3e;

    color: #ffffff !important;

    transform:
        translateY(-2px);
}

.cms-studio-edit-link::after {
    content: " →";

    margin-left: 0.5rem;
}

.cms-studio-restore-link {
    min-height: 4.5rem;

    padding:
        0
        1.5rem;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    border:
        1px solid
        #bcaea2;

    color: #765f54 !important;

    font-size: 0.72rem;

    font-weight: 700;

    letter-spacing: 0.08em;

    text-decoration: none;

    text-transform: uppercase;
}

.cms-studio-type-badge {
    color: #6d7a72;

    font-size: 0.65rem;

    letter-spacing: 0.14em;
}

.cms-studio-published-badge {
    padding:
        0.7rem
        1.1rem;

    background: #dfe9df;

    color: #355b43;

    border:
        1px solid
        #cbd9cd;
}

.cms-studio-current-value > span {
    font-size: 0.62rem;

    letter-spacing: 0.15em;
}

/* ============================================================
   CONTENT STUDIO BUTTON LAYOUT FIX
   ============================================================ */

.cms-studio-block-actions {
    margin-top: 2rem;
    padding-top: 0;
    border-top: 0;

    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
    flex-wrap: wrap;

    background: transparent;
}

.cms-studio-edit-link,
.cms-studio-restore-link {
    width: auto !important;
    max-width: fit-content;
    flex: 0 0 auto;
    align-self: flex-start;
}

.cms-studio-edit-link {
    min-height: 4.6rem;
    padding: 0 2rem;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    background: #263d32;
    color: #ffffff !important;

    border: 1px solid #263d32;

    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-decoration: none;

    box-shadow: none;
}

.cms-studio-edit-link:hover {
    background: #30493b;
    border-color: #30493b;
    color: #ffffff !important;
}

.cms-studio-restore-link {
    min-height: 4.6rem;
    padding: 0 1.6rem;

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    background: #fffaf7;
    border: 1px solid #cdbfb4;

    color: #7a6257 !important;

    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
}

.cms-studio-block-actions {
    justify-content: flex-start;
}

.cms-studio-edit-link,
.cms-studio-restore-link {
    margin-left: 0 !important;
}

.cms-studio-block-actions {
    margin-left: 0;
    padding-left: 0;
}

.cms-studio-edit-link {
    margin-left: 0 !important;
}

/* ============================================================
   PREMIUM CMS EDITOR
   ============================================================ */

.botanical-cms-editor-page {
    width: 100%;
    max-width: 150rem;

    margin: 0 auto;

    padding:
        4rem
        clamp(2rem, 4vw, 5rem)
        10rem;

    color: #243a30;
}


/* ============================================================
   TOPBAR
   ============================================================ */

.cms-editor-topbar {
    padding-bottom: 4rem;

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 4rem;

    border-bottom:
        1px solid
        #d9ddd8;
}


.cms-editor-topbar h1 {
    margin: 0;

    color: #20362c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            5rem,
            7vw,
            8rem
        );

    font-weight: 400;

    line-height: 0.9;

    letter-spacing: -0.05em;
}


.cms-editor-subtitle {
    max-width: 60rem;

    margin:
        1.8rem
        0
        0;

    color: #707c75;

    font-size: 1.1rem;

    line-height: 1.7;
}


.cms-editor-back {
    color: #3c5347;

    font-size: 0.78rem;

    font-weight: 700;

    letter-spacing: 0.1em;

    text-decoration: none;

    text-transform: uppercase;
}


.cms-editor-back:hover {
    text-decoration: underline;
}


/* ============================================================
   LAYOUT
   ============================================================ */

.cms-editor-layout {
    padding-top: 5rem;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        34rem;

    gap:
        clamp(
            4rem,
            6vw,
            8rem
        );
}


/* ============================================================
   MAIN EDITOR
   ============================================================ */

.cms-editor-main {
    min-width: 0;
}


.cms-editor-block-heading {
    margin-bottom: 3rem;
}


.cms-editor-type-row {
    display: flex;

    align-items: center;

    gap: 1rem;
}


.cms-editor-type-badge,
.cms-editor-live-badge {
    font-size: 0.67rem;

    font-weight: 700;

    letter-spacing: 0.13em;
}


.cms-editor-type-badge {
    color: #6d7c73;
}


.cms-editor-live-badge {
    padding:
        0.5rem
        0.7rem;

    background: #dfe9df;

    color: #386047;
}


.cms-editor-block-heading h2 {
    margin:
        1.8rem
        0
        1rem;

    color: #263c32;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            3.5rem,
            5vw,
            5.7rem
        );

    font-weight: 400;

    line-height: 1;
}


.cms-editor-block-heading > p {
    max-width: 70rem;

    margin: 0;

    color: #737f77;

    font-size: 1.05rem;

    line-height: 1.7;
}


/* ============================================================
   FORM
   ============================================================ */

.cms-editor-form {
    margin-top: 3rem;
}


.cms-editor-field > label {
    display: block;

    margin-bottom: 1rem;

    color: #6d7a72;

    font-size: 0.72rem;

    font-weight: 700;

    letter-spacing: 0.14em;
}


.cms-editor-field .input {
    margin: 0;
}


.cms-editor-input {
    width: 100% !important;

    min-height: 6rem !important;

    margin: 0 !important;

    padding:
        0
        1.8rem !important;

    border:
        1px solid
        #cbd2cc !important;

    border-radius:
        0 !important;

    background:
        #fffefa !important;

    color:
        #243b30 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        1.35rem !important;

    box-shadow:
        none !important;
}


.cms-editor-input:focus {
    border-color:
        #385345 !important;
}


.cms-editor-textarea {
    min-height: 28rem;
}


/* ============================================================
   CKEDITOR
   ============================================================ */

.ck-editor {
    width: 100%;
}


.ck-editor__editable_inline {
    min-height: 30rem !important;

    color: #263c32;

    font-size: 1rem;
}


/* ============================================================
   IMAGE
   ============================================================ */

.cms-editor-image-preview {
    width: 100%;

    max-height: 44rem;

    margin-bottom: 2rem;

    overflow: hidden;

    background: #eeece6;

    border:
        1px solid
        #d7dcd7;
}


.cms-editor-image-preview img {
    width: 100%;

    max-height: 44rem;

    display: block;

    object-fit: cover;
}


.cms-editor-upload-box {
    padding: 3rem;

    border:
        1px dashed
        #aebbb2;

    background: #faf8f3;
}


.cms-editor-upload-box p {
    margin:
        1rem
        0
        0;

    color: #7b857f;

    font-size: 0.9rem;
}


/* ============================================================
   ACTIONS
   ============================================================ */

.cms-editor-actions {
    margin-top: 3rem;

    padding-top: 2.5rem;

    display: flex;

    align-items: center;

    gap: 1.2rem;

    border-top:
        1px solid
        #dfe2dd;
}


.cms-editor-save {
    min-height: 5.2rem;

    margin: 0;

    padding:
        0
        2.4rem;

    border:
        1px solid
        #263d32;

    border-radius: 0;

    background:
        #263d32;

    color:
        #ffffff;

    font-size: 0.78rem;

    font-weight: 700;

    letter-spacing: 0.12em;

    text-transform: uppercase;
}


.cms-editor-save:hover {
    background:
        #314c3d;

    border-color:
        #314c3d;
}


.cms-editor-cancel {
    min-height: 5.2rem;

    padding:
        0
        2rem;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    border:
        1px solid
        #bbc3bd;

    color:
        #42574b;

    font-size: 0.78rem;

    font-weight: 700;

    letter-spacing: 0.1em;

    text-decoration: none;

    text-transform: uppercase;
}


/* ============================================================
   SIDEBAR
   ============================================================ */

.cms-editor-sidebar {
    display: flex;

    flex-direction: column;

    gap: 1.5rem;
}


.cms-editor-sidebar-card {
    padding: 2.4rem;

    background: #fffefb;

    border:
        1px solid
        #dce0da;
}


.cms-editor-meta {
    margin: 0;
}


.cms-editor-meta > div {
    padding:
        1.4rem
        0;

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 2rem;

    border-bottom:
        1px solid
        #e3e5e1;
}


.cms-editor-meta > div:last-child {
    border-bottom: 0;
}


.cms-editor-meta dt {
    color: #89928c;

    font-size: 0.67rem;

    font-weight: 700;

    letter-spacing: 0.12em;
}


.cms-editor-meta dd {
    margin: 0;

    color: #354a3e;

    font-size: 0.9rem;

    font-weight: 600;

    text-align: right;

    word-break: break-word;
}


.cms-editor-current-copy {
    margin: 0;

    color: #364c40;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.2rem;

    line-height: 1.55;
}


.cms-editor-muted {
    margin: 0;

    color: #7b857f;

    line-height: 1.6;
}


.cms-editor-side-image {
    overflow: hidden;

    background: #eeece6;
}


.cms-editor-side-image img {
    width: 100%;

    display: block;
}


/* ============================================================
   RESTORE
   ============================================================ */

.cms-editor-restore {
    min-height: 4.4rem;

    margin-top: 1.6rem;

    padding:
        0
        1.5rem;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    border:
        1px solid
        #c9b8ac;

    color: #755e53;

    font-size: 0.72rem;

    font-weight: 700;

    letter-spacing: 0.08em;

    text-decoration: none;

    text-transform: uppercase;
}


/* ============================================================
   HELP
   ============================================================ */

.cms-editor-help {
    padding: 2.4rem;

    background: #263c32;

    color: #ffffff;
}


.cms-editor-help strong {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 1.5rem;

    font-weight: 400;
}


.cms-editor-help p {
    margin:
        1rem
        0
        0;

    color: #d0dad3;

    line-height: 1.65;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media screen and (max-width: 1000px) {

    .cms-editor-layout {
        grid-template-columns: 1fr;
    }


    .cms-editor-sidebar {
        display: grid;

        grid-template-columns:
            repeat(
                2,
                minmax(
                    0,
                    1fr
                )
            );
    }

}


@media screen and (max-width: 700px) {

    .botanical-cms-editor-page {
        padding:
            2rem
            1.5rem
            7rem;
    }


    .cms-editor-topbar {
        align-items: flex-start;

        flex-direction: column;
    }


    .cms-editor-sidebar {
        grid-template-columns: 1fr;
    }


    .cms-editor-actions {
        align-items: stretch;

        flex-direction: column;
    }


    .cms-editor-save,
    .cms-editor-cancel {
        width: 100%;
    }

}


/* ============================================================
   ADMIN ACTIVE NAVIGATION
   ============================================================ */

.admin-header-links a {
    position: relative;
}

.admin-header-links a.current-page::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: -0.65rem;

    height: 1px;

    background: #ffffff;
}


/* CMS should use the admin header,
   not the customer navigation */
.admin-header-links .admin-nav-link {
    white-space: nowrap;
}
