:root {
    --thirsty-navy: #16324f;
    --thirsty-cream: #f7f0e3;
    --thirsty-coral: #e98b7a;
    --thirsty-sea-glass: #8cbfc4;
    --thirsty-orange: #c9773b;
    --thirsty-black: #22201d;
    --thirsty-sand: #eadbc1;
    --thirsty-radius: 18px;
    --thirsty-shadow: 0 18px 40px rgba(22, 50, 79, 0.12);
    --thirsty-transition: 220ms ease;
}

body {
    color: var(--thirsty-black);
    background:
        radial-gradient(circle at top left, rgba(140, 191, 196, 0.16), transparent 32%),
        linear-gradient(180deg, #fffdf8 0%, var(--thirsty-cream) 100%);
}

body,
button,
input,
select,
textarea {
    font-family: "Trebuchet MS", "Segoe UI", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.woocommerce-loop-product__title,
.ct-title-label {
    color: var(--thirsty-navy);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.05;
}

h1,
.hero-section .entry-title,
.page-title {
    font-size: clamp(2.6rem, 5vw, 4.8rem);
}

h2 {
    font-size: clamp(2rem, 3vw, 3.2rem);
}

h3 {
    font-size: clamp(1.35rem, 2vw, 2rem);
}

p,
.entry-content,
.woocommerce-product-details__short-description,
.ct-text-block {
    color: rgba(34, 32, 29, 0.85);
    line-height: 1.7;
}

a {
    color: var(--thirsty-orange);
}

a:hover,
a:focus-visible {
    color: var(--thirsty-coral);
}

.ct-button,
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.added_to_cart,
.wc-forward,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    border: 0;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--thirsty-orange), var(--thirsty-coral));
    color: #fff;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 0.95rem 1.6rem;
    box-shadow: 0 12px 30px rgba(201, 119, 59, 0.28);
    transition:
        transform var(--thirsty-transition),
        box-shadow var(--thirsty-transition),
        filter var(--thirsty-transition);
}

.ct-button:hover,
.ct-button:focus-visible,
button:hover,
button:focus-visible,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.added_to_cart:hover,
.added_to_cart:focus-visible,
.wc-forward:hover,
.wc-forward:focus-visible,
.woocommerce a.button:hover,
.woocommerce a.button:focus-visible,
.woocommerce button.button:hover,
.woocommerce button.button:focus-visible,
.woocommerce input.button:hover,
.woocommerce input.button:focus-visible,
.woocommerce #respond input#submit:hover,
.woocommerce #respond input#submit:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 18px 36px rgba(201, 119, 59, 0.34);
    filter: saturate(1.05);
}

.ct-button-ghost,
.is-style-outline .wp-block-button__link,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background: transparent;
    color: var(--thirsty-navy);
    border: 2px solid rgba(22, 50, 79, 0.2);
    box-shadow: none;
}

.ct-button-ghost:hover,
.is-style-outline .wp-block-button__link:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
    background: var(--thirsty-navy);
    color: #fff;
}

.site-main > article,
.hero-section[data-type="type-1"],
.ct-section-inner-wrap,
.woocommerce .site-main {
    position: relative;
}

.entry-content > *,
.woocommerce-tabs,
.related.products,
.up-sells,
.cross-sells {
    margin-block: clamp(1.2rem, 2.6vw, 2.8rem);
}

.ct-container,
.ct-section-inner-wrap {
    padding-inline: clamp(1.1rem, 3vw, 2rem);
}

.home .site-main,
.home .entry-content {
    display: grid;
    gap: clamp(2rem, 4vw, 4rem);
}

.home .wp-block-group,
.home .ct-section {
    margin-block: 0;
}

.thirsty-trust-bar,
.wp-block-group.is-style-thirsty-trust-bar,
.ct-footer [class*="trust"],
.ct-content-block.thirsty-trust-bar {
    background: linear-gradient(135deg, var(--thirsty-navy), #244d6d);
    color: var(--thirsty-cream);
    border-radius: var(--thirsty-radius);
    padding: 1rem 1.4rem;
    box-shadow: var(--thirsty-shadow);
}

.thirsty-trust-bar :is(p, li, strong, span),
.wp-block-group.is-style-thirsty-trust-bar :is(p, li, strong, span),
.ct-content-block.thirsty-trust-bar :is(p, li, strong, span) {
    color: inherit;
}

.thirsty-trust-bar ul,
.wp-block-group.is-style-thirsty-trust-bar ul,
.ct-content-block.thirsty-trust-bar ul {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.thirsty-trust-bar li,
.wp-block-group.is-style-thirsty-trust-bar li,
.ct-content-block.thirsty-trust-bar li {
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.84rem;
}

.woocommerce ul.products,
.woocommerce-page ul.products,
.wp-block-query.is-flex-container,
.wc-block-grid__products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2.5vw, 1.8rem);
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
    display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.wc-block-grid__product,
.thirsty-category-card,
.wp-block-cover.thirsty-category-card,
.wp-block-group.thirsty-category-card {
    margin: 0;
    border-radius: calc(var(--thirsty-radius) + 4px);
    overflow: hidden;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(22, 50, 79, 0.08);
    box-shadow: var(--thirsty-shadow);
    transition:
        transform var(--thirsty-transition),
        box-shadow var(--thirsty-transition),
        border-color var(--thirsty-transition);
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover,
.wc-block-grid__product:hover,
.thirsty-category-card:hover,
.wp-block-cover.thirsty-category-card:hover,
.wp-block-group.thirsty-category-card:hover {
    transform: translateY(-6px) rotate(-0.5deg);
    border-color: rgba(233, 139, 122, 0.38);
    box-shadow: 0 24px 46px rgba(22, 50, 79, 0.16);
}

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.wc-block-grid__product-image img,
.thirsty-category-card img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100%;
    margin: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title {
    font-size: 1.25rem;
    padding-inline: 1.15rem;
    margin-top: 1rem;
    margin-bottom: 0.45rem;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.wc-block-grid__product-price {
    color: var(--thirsty-orange);
    font-weight: 800;
    font-size: 1.02rem;
    padding-inline: 1.15rem;
    margin-bottom: 0.9rem;
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.wc-block-grid__product-add-to-cart .wp-block-button__link {
    margin: 0 1.15rem 1.15rem;
    width: calc(100% - 2.3rem);
    text-align: center;
}

.woocommerce span.onsale,
.wc-block-grid__product-onsale {
    background: var(--thirsty-coral);
    color: #fff;
    border-radius: 999px;
    padding: 0.35rem 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    top: 0.85rem;
    left: 0.85rem;
    min-height: auto;
    line-height: 1.2;
}

.product-category,
.wc-block-product-category {
    position: relative;
}

.product-category > a,
.wc-block-product-category > a,
.thirsty-category-card {
    display: block;
    text-decoration: none;
}

.product-category .woocommerce-loop-category__title,
.wc-block-product-category__title,
.thirsty-category-card .wp-block-heading,
.thirsty-category-card h3 {
    padding: 1.2rem 1.2rem 1.35rem;
    margin: 0;
    color: var(--thirsty-navy);
}

.product-category .count,
.wc-block-product-category__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 0.55rem;
    padding: 0.12rem 0.55rem;
    border-radius: 999px;
    background: rgba(140, 191, 196, 0.2);
    color: var(--thirsty-navy);
    font-size: 0.74em;
}

.woocommerce .quantity .qty,
.woocommerce-page .quantity .qty,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
    border-radius: 14px;
    border: 1px solid rgba(22, 50, 79, 0.14);
    background: rgba(255, 255, 255, 0.92);
    color: var(--thirsty-black);
}

.woocommerce .quantity .qty:focus,
.woocommerce-page .quantity .qty:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: rgba(140, 191, 196, 0.9);
    box-shadow: 0 0 0 4px rgba(140, 191, 196, 0.18);
}

.woocommerce-breadcrumb,
.ct-breadcrumbs {
    color: rgba(34, 32, 29, 0.62);
}

.woocommerce-breadcrumb a,
.ct-breadcrumbs a {
    color: var(--thirsty-navy);
}

.site-footer,
.ct-footer {
    background:
        linear-gradient(180deg, rgba(22, 50, 79, 0.98), rgba(34, 32, 29, 0.98)),
        var(--thirsty-black);
    color: var(--thirsty-cream);
}

.site-footer :is(h1, h2, h3, h4, h5, h6, p, a, span, li),
.ct-footer :is(h1, h2, h3, h4, h5, h6, p, a, span, li) {
    color: inherit;
}

@media (max-width: 999px) {
    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .wp-block-query.is-flex-container,
    .wc-block-grid__products,
    .thirsty-trust-bar ul,
    .wp-block-group.is-style-thirsty-trust-bar ul,
    .ct-content-block.thirsty-trust-bar ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .ct-container,
    .ct-section-inner-wrap {
        padding-inline: 1rem;
    }

    .home .site-main,
    .home .entry-content {
        gap: 1.5rem;
    }

    h1,
    .hero-section .entry-title,
    .page-title {
        font-size: clamp(2.2rem, 9vw, 3.1rem);
    }

    h2 {
        font-size: clamp(1.7rem, 6vw, 2.4rem);
    }

    .woocommerce ul.products,
    .woocommerce-page ul.products,
    .wp-block-query.is-flex-container,
    .wc-block-grid__products,
    .thirsty-trust-bar ul,
    .wp-block-group.is-style-thirsty-trust-bar ul,
    .ct-content-block.thirsty-trust-bar ul {
        grid-template-columns: minmax(0, 1fr);
    }

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product,
    .wc-block-grid__product,
    .thirsty-category-card,
    .wp-block-cover.thirsty-category-card,
    .wp-block-group.thirsty-category-card {
        border-radius: 16px;
    }

    .woocommerce ul.products li.product .button,
    .woocommerce-page ul.products li.product .button,
    .wc-block-grid__product-add-to-cart .wp-block-button__link,
    .ct-button,
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce input.button {
        width: 100%;
        margin-inline: 0;
    }

    .woocommerce ul.products li.product .button,
    .woocommerce-page ul.products li.product .button,
    .wc-block-grid__product-add-to-cart .wp-block-button__link {
        width: calc(100% - 2.3rem);
        margin-inline: 1.15rem;
    }
}

.home.page .entry-header,
.home.page .hero-section[data-type="type-1"] {
    display: none;
}
