/*
Theme Name:   HWH Theme 2026
Theme URI:    https://haikuswithhotties.com
Description:  Haikus with Hotties child theme based on Storefront
Author:       Haikus with Hotties
Author URI:   https://haikuswithhotties.com
Template:     storefront
Version:      1.2.8
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  hwh-theme-2026
Tags:         woocommerce, child-theme
*/

/* ===========================
   Global Variables
   =========================== */
:root {
    --color-black:      #000000;
    --color-white:      #ffffff;
    --color-hero-bg:    #DCD5C5;
    --max-width:        1160px;
    --color-text:       #000000;
}

/* ===========================
   Typography Variables
   =========================== */
:root {
    --font-primary:       'Zalando Sans', sans-serif;
    --font-expanded:      'Zalando Sans Expanded', sans-serif;
    --font-rakkas:        'Rakkas', cursive;

    --font-size-large-header: 64px;
    --font-size-small-header: 14px;
    --font-size-large-text:   24px;
    --font-size-small-text:   14px;

    --font-weight-black:   900;
    --font-weight-bold:    700;
    --font-weight-regular: 400;
}

/* ===========================
   Global Resets
   =========================== */

/* Override WordPress alignleft float inside our content areas */
.mk-assets .alignleft,
.mk-assets .alignright {
    float: none !important;
    margin: 0 !important;
}


a,
a:link,
a:visited {
    color: var(--color-black);
}

a:hover {
    color: var(--color-black);
}

a:focus,
a:active,
button:focus,
button:active,
input:focus,
select:focus,
textarea:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* ===========================
   Base Typography
   =========================== */
body {
    font-family: var(--font-primary);
    font-size: var(--font-size-small-text);
    font-weight: var(--font-weight-regular);
    color: var(--color-black);
}

/* Large header: Zalando Sans Expanded, Black, 64px */
h1,
.hwh-large-header {
    font-family: var(--font-expanded);
    font-size: var(--font-size-large-header);
    font-weight: var(--font-weight-black);
    line-height: 1.1;
}

/* Small header: Zalando Sans, Bold, 14px */
h1, h2, h3, h4, h5, h6,
.hwh-small-header {
    font-family: var(--font-primary);
    font-size: var(--font-size-small-header);
    font-weight: var(--font-weight-bold);
    line-height: 1.4;
    color: var(--color-black);
}

/* Large text: Zalando Sans, Regular, 24px */
.hwh-large-text {
    font-family: var(--font-primary);
    font-size: var(--font-size-large-text);
    font-weight: var(--font-weight-regular);
    line-height: 1.5;
}

/* Small text: Zalando Sans, Regular, 14px */
p,
.hwh-small-text {
    font-family: var(--font-primary);
    font-size: var(--font-size-small-text);
    font-weight: var(--font-weight-regular);
    line-height: 1.6;
}

/* ===========================
   Header & Navigation
   =========================== */
#masthead.site-header {
    position: sticky;
    top: 0;
    width: 100%;
    background: var(--color-white);
    border-bottom: none;
    padding: 0 max(40px, calc((100vw - var(--max-width)) / 2));
    z-index: 1000;
    box-sizing: border-box;
    transition: background 0.3s ease, backdrop-filter 0.3s ease;
}

body.home #masthead.site-header {
    border-bottom: 1px solid var(--color-black);
}

/* Homepage only: start with hero background colour */
body.home #masthead.site-header {
    background: var(--color-hero-bg);
}

/* Remove Storefront's clearfix pseudo-elements and margin causing gap */
#masthead.site-header::before,
#masthead.site-header::after {
    display: none !important;
    content: none !important;
}

#masthead.site-header,
.site-header {
    margin-bottom: 0 !important;
}

/* Homepage: keep hero colour while hero is still visible */
body.home #masthead.site-header.is-scrolled {
    background: var(--color-hero-bg) !important;
}

/* Homepage: switch to white once hero is scrolled out of view */
body.home #masthead.site-header.is-past-hero {
    background: var(--color-white) !important;
    transition: background 0.3s ease;
}

#masthead .hwh-header-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 96px;
    flex-wrap: nowrap !important;
    margin-top: 0;
    width: 100%;
    box-sizing: border-box;
}

/* Logo — can shrink so the right-side cart always stays in view */
#masthead .site-branding {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    align-self: center !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#masthead .site-title-link,
#masthead .site-title-link:visited,
#masthead .site-title-link:hover {
    font-family: var(--font-rakkas) !important;
    font-size: 29px !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
    color: var(--color-black) !important;
    text-decoration: none !important;
    letter-spacing: 0.01em;
    white-space: normal;
    display: block;
}

/* Right side: nav + cart — never shrinks so cart is always visible */
#masthead .hwh-header-right {
    display: flex !important;
    align-items: center;
    gap: 32px;
    flex: 0 0 auto;
    flex-shrink: 0 !important;
}

/* Nav */
#masthead .hwh-nav__list {
    display: flex !important;
    align-items: center;
    gap: 28px;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#masthead .hwh-nav__list li {
    list-style: none !important;
    padding: 0;
    margin: 0;
}

#masthead .hwh-nav__list li::before,
#masthead .hwh-nav__list li::marker {
    display: none !important;
    content: none !important;
}

#masthead .hwh-nav__list li a,
#masthead .hwh-nav__list li a:visited {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase;
    color: var(--color-black) !important;
    text-decoration: none !important;
    transition: opacity 0.2s ease;
}

#masthead .hwh-nav__list li a:hover {
    text-decoration: none !important;
    color: var(--color-black) !important;
    opacity: 0.5;
}

/* Cart */
#masthead .hwh-cart-link,
#masthead .hwh-cart-link:visited,
#masthead .hwh-cart-link:hover {
    display: flex !important;
    align-items: center;
    gap: 4px;
    color: var(--color-black) !important;
    text-decoration: none !important;
}

#masthead .hwh-cart-link:hover {
    opacity: 0.7;
}

#masthead .hwh-cart-count {
    font-family: var(--font-primary);
    font-size: var(--font-size-small-text);
    font-weight: var(--font-weight-regular);
    color: var(--color-black);
}

/* ===========================
   Hero Section
   =========================== */

/* Remove any gap between header and hero */
body.home,
body.home #page,
body.home .site-content,
body.home #primary,
body.home #main {
    margin: 0 !important;
    padding: 0 !important;
}

/* overflow-x on body instead of #page so sticky still works */
body.home {
    overflow-x: hidden;
}

/* Kill any default spacing before the hero */
body.home .hwh-hero {
    margin-top: 0 !important;
}


.hwh-hero {
    background-color: var(--color-hero-bg);
    display: flex;
    align-items: stretch;
    min-height: 500px;
    overflow: hidden;
    width: 100%;
    margin: 0;
}

.hwh-hero__content {
    flex: 0 0 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    padding-top: 60px;
    padding-bottom: 60px;
    padding-right: 80px;
    /* Left padding aligns text with the 1160px centered container */
    padding-left: max(40px, calc((100vw - var(--max-width)) / 2));
}

.hwh-hero__title {
    font-family: var(--font-expanded);
    font-size: clamp(32px, 7.5vw, 88px);
    font-weight: var(--font-weight-black);
    line-height: 1.05;
    text-transform: uppercase;
    color: var(--color-black);
    margin: 0 0 32px 0;
}

.hwh-hero__buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

/* Buttons */
.hwh-btn {
    display: inline-block;
    font-family: var(--font-primary);
    font-size: 11px;
    font-weight: var(--font-weight-bold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none !important;
    padding: 12px 24px;
    border-radius: 100px;
    transition: opacity 0.2s ease;
    cursor: pointer;
}

.hwh-btn:hover {
    opacity: 0.8;
    text-decoration: none;
}

.hwh-btn--filled,
.hwh-btn--filled:link,
.hwh-btn--filled:visited {
    background: var(--color-black);
    color: var(--color-white) !important;
    border: 2px solid var(--color-black);
}

.hwh-btn--outline,
.hwh-btn--outline:link,
.hwh-btn--outline:visited {
    background: transparent;
    color: var(--color-black) !important;
    border: 2px solid var(--color-black);
}

/* Hero Image — centered, full height, overflows if wider than container */
.hwh-hero__image {
    flex: 1 1 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    overflow: hidden;
    position: relative;
}

/* Gradient fade from hero bg colour into image */
.hwh-hero__image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 90px;
    height: 100%;
    background: linear-gradient(to right, #DCD5C5 0%, rgba(220, 213, 197, 0) 100%);
    z-index: 1;
    pointer-events: none;
}

.hwh-hero__image img {
    height: 100%;
    width: auto;
    display: block;
    max-width: none;
}

/* ===========================
   Products Section
   =========================== */
.hwh-products {
    width: 100%;
    box-sizing: border-box;
    padding: 120px max(40px, calc((100vw - var(--max-width)) / 2));
    background: var(--color-white);
}

.hwh-products__haiku {
    font-family: var(--font-primary) !important;
    font-size: 28px !important;
    font-weight: var(--font-weight-regular) !important;
    color: var(--color-black) !important;
    line-height: 1.2 !important;
    margin: 0 0 120px 0 !important;
}

.hwh-products__grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
    width: 100%;
}

/* Card link — override all WooCommerce/Storefront link colours */
.hwh-product-card,
.hwh-product-card:visited,
.hwh-product-card:hover,
.hwh-product-card:focus,
.hwh-product-card:active {
    display: block !important;
    text-decoration: none !important;
    color: var(--color-black) !important;
    transition: opacity 0.2s ease;
}

.hwh-product-card:hover {
    opacity: 0.8;
}

.hwh-product-card__image img {
    width: 100%;
    height: auto;
    display: block;
}

.hwh-product-card__meta {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    margin-top: 16px !important;
    gap: 16px !important;
}

.hwh-product-card__title {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
    color: var(--color-black) !important;
}

.hwh-product-card__price {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: var(--font-weight-regular) !important;
    color: var(--color-black) !important;
    white-space: nowrap !important;
}

/* Strip WooCommerce's default price wrappers */
.hwh-product-card__price .woocommerce-Price-amount,
.hwh-product-card__price .amount,
.hwh-product-card__price bdi {
    font-size: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
}

/* ===========================
   About Section
   =========================== */
.hwh-about {
    padding: 80px max(40px, calc((100vw - var(--max-width)) / 2)) 0;
}

.hwh-about__inner {
    border-top: 1px solid var(--color-black);
    padding-top: 80px;
    padding-bottom: 160px;
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 120px;
}

.hwh-about__label p {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
    color: var(--color-black) !important;
    margin: 0 !important;
}

.hwh-about__body p {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-large-text) !important;
    font-weight: var(--font-weight-regular) !important;
    line-height: 1.5 !important;
    color: var(--color-black) !important;
    margin: 0 !important;
}

/* ===========================
   Timeline Section
   =========================== */
.hwh-timeline {
    padding: 0 max(40px, calc((100vw - var(--max-width)) / 2));
}

.hwh-timeline__inner {
    border-top: 1px solid var(--color-black);
    padding-top: 60px;
    padding-bottom: 120px;
}

.hwh-timeline__top p {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
    color: var(--color-black) !important;
    margin: 0 !important;
}

.hwh-timeline__entries {
    margin-top: 80px;
}

.hwh-timeline__row {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 120px;
    align-items: center;
    padding: 40px 0;
}

.hwh-timeline__year {
    font-family: var(--font-expanded) !important;
    font-size: 64px !important;
    font-weight: var(--font-weight-black) !important;
    line-height: 1 !important;
    color: var(--color-black) !important;
    white-space: nowrap;
}

.hwh-timeline__desc {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-large-text) !important;
    font-weight: var(--font-weight-regular) !important;
    line-height: 1.5 !important;
    color: var(--color-black) !important;
    margin: 0 !important;
}

/* ===========================
   Press Section
   =========================== */
.hwh-press {
    background: #F6F6F4;
    padding: 140px max(40px, calc((100vw - var(--max-width)) / 2)) 200px;
    text-align: center;
}

.hwh-press__label {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase !important;
    color: var(--color-black) !important;
    margin: 0 0 64px 0 !important;
}

.hwh-press__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    row-gap: 48px;
    column-gap: 40px;
    align-items: center;
}

.hwh-press__item {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    opacity: 0.85;
    transition: opacity 0.2s ease;
}

.hwh-press__item:hover {
    opacity: 1;
}

.hwh-press__item img {
    max-height: 96px;
    width: auto;
    max-width: 100%;
    display: block;
}

/* ===========================
   Footer
   =========================== */
.hwh-footer {
    background: var(--color-black);
    color: #e5e5e5;
    padding: 80px max(40px, calc((100vw - var(--max-width)) / 2));
    clear: both;
}

.hwh-footer__inner {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1.5fr 1.5fr;
    gap: 40px;
}

.hwh-footer__label {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase !important;
    color: #e5e5e5 !important;
    margin: 0 0 20px 0 !important;
}

.hwh-footer__email {
    display: block;
    font-family: var(--font-primary);
    font-size: var(--font-size-small-text);
    font-weight: 300;
    color: #e5e5e5 !important;
    text-decoration: none;
    margin-bottom: 20px;
    transition: opacity 0.2s ease;
}

.hwh-footer__email:hover {
    opacity: 0.7;
    text-decoration: none;
    color: #e5e5e5 !important;
}

.hwh-footer__social {
    display: flex;
    gap: 16px;
    align-items: center;
}

.hwh-footer__social-link {
    color: #e5e5e5 !important;
    text-decoration: none;
    display: flex;
    align-items: center;
    opacity: 0.85;
    transition: opacity 0.2s ease;
}

.hwh-footer__social-link:hover {
    opacity: 1;
    text-decoration: none;
    color: #e5e5e5 !important;
}

/* Footer nav menu */
.hwh-footer__menu {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.hwh-footer__menu li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.hwh-footer__menu li::before,
.hwh-footer__menu li::marker {
    display: none !important;
    content: none !important;
}

.hwh-footer__menu li a,
.hwh-footer__menu li a:visited {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: 300 !important;
    line-height: 1.4 !important;
    color: #e5e5e5 !important;
    text-decoration: none !important;
    display: block !important;
    transition: opacity 0.2s ease;
}

.hwh-footer__menu li a:hover {
    opacity: 0.7;
    text-decoration: none !important;
    color: #e5e5e5 !important;
}

.hwh-footer__text {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: 300 !important;
    color: #e5e5e5 !important;
    line-height: 1.3 !important;
    margin: 0 0 12px 0 !important;
}

/* Hide Storefront's default colophon */
#colophon.site-footer {
    display: none !important;
}

/* ===========================
   Genesis Columns (used on Team page)
   =========================== */
.gca-column {
    float: left;
    margin-right: 4%;
}
.gca-column.first { clear: left; }
.gca-column:last-child,
.gca-column.last { margin-right: 0; }
.one-third  { width: 30.666%; }
.two-thirds { width: 65.333%; }
.one-half   { width: 48%; }
.one-fourth { width: 22%; }
.three-fourths { width: 74%; }

/* Clearfix after column groups */
.core-team::after,
.current-team::after,
.previous-team::after,
.credits::after,
.media-kit-content::after {
    content: '';
    display: table;
    clear: both;
}

/* ===========================
   Inner Page — Common
   =========================== */
.hwh-page-content {
    padding: 0 max(40px, calc((100vw - var(--max-width)) / 2)) 120px;
}

.hwh-page-content article {
    max-width: 100%;
}

/* Top rule + page title */
.hwh-page-content .header {
    border-top: none;
    padding-top: 0;
    margin: 60px 0 60px 0;
}

.hwh-page-content .entry-title {
    font-family: var(--font-expanded) !important;
    font-size: 64px !important;
    font-weight: var(--font-weight-black) !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
    color: var(--color-black) !important;
    margin: 0 !important;
}

/* Section separators */
.hwh-page-content .entry-content-border + .entry-content-border {
    border-top: 1px solid var(--color-black);
    padding-top: 80px;
    margin-top: 80px;
}

/* Sub-section titles (h2 used as section labels below the page title) */
.hwh-page-content .entry-content-border h2.entry-title {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important;
    color: var(--color-black) !important;
    margin: 0 0 40px 0 !important;
    line-height: 1.4 !important;
}

/* Large year headings on the hotties page */
.hwh-page-content .hotties-year-header h2.entry-title {
    font-family: var(--font-expanded) !important;
    font-size: clamp(32px, 7.5vw, 88px) !important;
    font-weight: var(--font-weight-black) !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    margin: 0 0 40px 0 !important;
}

/* ===========================
   Hotties Page
   =========================== */
ul.hotties {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

ul.hotties li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

ul.hotties li::before,
ul.hotties li::marker {
    display: none !important;
    content: none !important;
}

ul.hotties li a,
ul.hotties li a:visited {
    display: block !important;
    text-decoration: none !important;
    color: var(--color-black) !important;
    transition: opacity 0.2s ease;
}

ul.hotties li a:hover {
    opacity: 0.8;
    text-decoration: none !important;
}

ul.hotties li img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin-bottom: 0 !important;
}

.hotties-title {
    display: block !important;
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase !important;
    color: var(--color-black) !important;
    margin-top: 10px !important;
    line-height: 1.4 !important;
}

/* ===========================
   Press Page
   =========================== */
ul.press {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 1px solid #e0e0e0;
}

ul.press > li {
    list-style: none !important;
    display: grid;
    grid-template-columns: 300px minmax(0, 600px);
    column-gap: 48px;
    padding: 28px 0;
    border-bottom: 1px solid #e0e0e0;
    align-items: center;
}

ul.press > li::before,
ul.press > li::marker {
    display: none !important;
    content: none !important;
}

.press-title-list {
    grid-column: 1;
}

.press-right {
    grid-column: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
}

.press-logo {
    background: #F0F0EE;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 28px;
    min-height: 180px;
    width: 100%;
    box-sizing: border-box;
}

.press-logo a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.press-logo img {
    max-height: 60px !important;
    max-width: 80% !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
}

/* Press name — default (has logo) */
.press-name p {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase !important;
    color: var(--color-black) !important;
    margin: 0 !important;
}

/* Press name — no logo, treat as display masthead */
.press-name--text-only {
    font-family: var(--font-expanded) !important;
    font-size: 20px !important;
    font-weight: var(--font-weight-black) !important;
    text-transform: uppercase !important;
    line-height: 1.1 !important;
    color: var(--color-black) !important;
    margin: 0 !important;
}

/* Article title link */
p.articleTitle {
    font-size: var(--font-size-large-text) !important;
    font-weight: var(--font-weight-regular) !important;
    line-height: 1.3 !important;
    margin-bottom: 8px !important;
}

p.articleTitle a,
p.articleTitle a:visited {
    color: var(--color-black) !important;
    text-decoration: none !important;
}

p.articleTitle a:hover {
    text-decoration: underline !important;
}

.press-source {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-large-text) !important;
    font-weight: var(--font-weight-regular) !important;
    line-height: 1.3 !important;
    color: var(--color-black) !important;
    margin-bottom: 8px !important;
}

.press-source p {
    font-size: var(--font-size-large-text) !important;
    line-height: 1.3 !important;
    margin-bottom: 0 !important;
}

.press-source a,
.press-source a:visited {
    color: var(--color-black) !important;
    text-decoration: none !important;
    font-size: var(--font-size-large-text) !important;
}

.press-source a:hover {
    text-decoration: underline !important;
}

.press-date {
    font-family: var(--font-primary);
    font-size: var(--font-size-small-text);
    font-weight: var(--font-weight-regular);
    color: var(--color-black);
    margin-bottom: 20px;
}

.press-content-list {
    display: none;
}

/* ===========================
   Team Page
   =========================== */
.core-team,
.current-team,
.previous-team,
.credits {
    padding: 60px 0;
    border-top: 1px solid var(--color-black);
}

/* CSS Grid layout — shared for team bios and credits columns */
.core-team,
.credits {
    display: grid !important;
    grid-template-columns: 160px 1fr !important;
    column-gap: 48px !important;
    align-items: start !important;
}

/* Team bios sit directly under the page title — no extra border/padding needed */
.core-team {
    border-top: none !important;
    padding-top: 0 !important;
}

/* Credits section gets extra breathing room above */
.credits {
    margin-top: 48px !important;
}

/* Disable float layout on all gca-columns */
.core-team .gca-column,
.credits .gca-column {
    float: none !important;
    width: auto !important;
    margin-right: 0 !important;
    clear: none !important;
    margin-bottom: 0 !important;
}

/* Left column → grid column 1 */
.core-team .gca-column.first,
.credits .gca-column.first {
    grid-column: 1 !important;
}

/* Right column → grid column 2 */
.core-team .gca-column.last,
.core-team .gca-column.two-thirds,
.credits .gca-column.last,
.credits .gca-column.two-thirds {
    grid-column: 2 !important;
}

/* Spacing between credit year rows */
.credits .gca-column.first:has(> h4) ~ .gca-column.first:has(> h4),
.credits .gca-column.first:has(> h4) ~ .gca-column.first:has(> h4) + .gca-column {
    padding-top: 28px !important;
}

/* Hide spacer paragraphs and hrs — not needed with grid */
.core-team > p,
.credits > p {
    display: none !important;
}
.core-team > hr,
.credits > hr {
    display: none !important;
}

/* Fix default purple/blue link colors */
.core-team a,
.core-team a:visited,
.credits a,
.credits a:visited {
    color: var(--color-black) !important;
    text-decoration: none !important;
}
.core-team a:hover,
.credits a:hover {
    text-decoration: underline !important;
}

/* Profile image — fills the 240px image column, natural aspect ratio */
.team-profile-img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: 6px !important;
}

/* h4 labels — member names and credit year labels */
.core-team h4,
.current-team h4,
.previous-team h4,
.credits h4 {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase !important;
    margin: 0 0 4px 0 !important;
    line-height: 1.4 !important;
}

/* Member name in the text column — slightly larger */
.core-team .gca-column.last > h4,
.core-team .gca-column.two-thirds > h4 {
    font-size: 18px !important;
    letter-spacing: 0.01em !important;
    margin-bottom: 4px !important;
}

/* "Credits" heading — must come AFTER the general .credits h4 rule to win cascade */
.credits > h4 {
    grid-column: 1 / -1 !important;
    font-family: var(--font-expanded) !important;
    font-size: 40px !important;
    font-weight: var(--font-weight-black) !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
    margin: 0 0 60px 0 !important;
}

.core-team h6,
.current-team h6,
.previous-team h6,
.credits h6 {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: var(--font-weight-bold) !important;
    color: var(--color-black) !important;
    margin: 20px 0 6px 0 !important;
    line-height: 1.4 !important;
}

.core-team p,
.current-team p,
.previous-team p,
.credits p {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: var(--font-weight-regular) !important;
    line-height: 1.6 !important;
    color: var(--color-black) !important;
    margin: 0 0 8px 0 !important;
}

/* Member role (Creator, Co-Producer, etc.) — black, regular weight */
.core-team .team-title {
    color: var(--color-black) !important;
    text-transform: none !important;
    font-weight: var(--font-weight-regular) !important;
    margin-bottom: 20px !important;
}

/* Spacing before 2nd, 3rd, 4th member rows — no separator lines */
.core-team .gca-column.first ~ .gca-column.first:has(> .team-profile-img),
.core-team .gca-column.first ~ .gca-column.first:has(> .team-profile-img) + .gca-column {
    padding-top: 48px !important;
}

/* Social links row */
.team-social {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin-top: 12px !important;
    margin-bottom: 0 !important;
    flex-wrap: wrap !important;
}

.team-social-sep {
    color: var(--color-black);
}

/* Social icon SVGs */
.hwh-social-icon {
    width: 14px;
    height: 14px;
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}

/* Social icon + handle link */
.media-sm-links,
.team-social .media-sm-links {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    color: var(--color-black) !important;
    text-decoration: none !important;
}

/* Horizontal rules in credits */
.core-team hr,
.credits hr {
    display: none !important;
}

/* ===========================
   Media Kit Page
   =========================== */

/* Remove top border on the page title header */
.hwh-no-top-border {
    border-top: none !important;
    margin-top: 60px !important;
}

/* Make the page title large — specificity must match h2.entry-title rule (0,3,1) */
.hwh-page-content .hwh-no-top-border h2.entry-title {
    font-family: var(--font-expanded) !important;
    font-size: clamp(32px, 7.5vw, 88px) !important;
    font-weight: var(--font-weight-black) !important;
    line-height: 1.05 !important;
    text-transform: uppercase !important;
    color: var(--color-black) !important;
}

/* "View Press" button wrapper — strip all defaults */
.hwh-mk-button {
    background: none !important;
    padding: 0 !important;
    margin: 0 0 60px 0 !important;
    border: none !important;
}

/* Old .button div — neutralise any Storefront/WP styles */
.button {
    background: none !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

.button p {
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Assets: images in a flex row */
.mk-assets {
    max-width: 100% !important;
}

.mk-assets img,
.mk-assets p img {
    max-height: 160px !important;
    width: auto !important;
    height: auto !important;
    display: inline-block !important;
    float: none !important;
    vertical-align: top;
    margin: 0 !important;
}

.mk-assets a {
    display: inline-flex !important;
    align-items: flex-start;
    margin-right: 16px !important;
    margin-bottom: 16px !important;
}

.mk-assets strong {
    display: block;
    margin-bottom: 12px;
}

.mk-assets p {
    margin-bottom: 32px !important;
}

/* Links section — clean SVG list */
.mk-links {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.mk-links__group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mk-link,
.mk-link:visited {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: var(--font-weight-regular) !important;
    color: var(--color-black) !important;
    text-decoration: none !important;
    transition: opacity 0.2s ease;
}

.mk-link:hover {
    opacity: 0.6;
    text-decoration: none !important;
}

.mk-link svg {
    flex-shrink: 0;
}

.media-kit-headline {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-large-text) !important;
    font-weight: var(--font-weight-regular) !important;
    line-height: 1.5 !important;
    color: var(--color-black) !important;
    margin: 0 0 80px 0 !important;
    max-width: 720px;
}

.media-kit-title {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase !important;
    color: var(--color-black) !important;
    border-top: 1px solid var(--color-black) !important;
    padding-top: 40px !important;
    margin: 60px 0 20px 0 !important;
}

.media-kit-content {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: var(--font-weight-regular) !important;
    line-height: 1.6 !important;
    color: var(--color-black) !important;
    max-width: 720px;
}

.media-kit-content p {
    margin: 0 0 12px 0 !important;
}

.media-kit-content a,
.media-kit-content a:visited {
    color: var(--color-black) !important;
    text-decoration: underline;
}

.media-kit-content strong {
    font-weight: var(--font-weight-bold) !important;
}

/* ===========================
   Single Hottie Profile Page
   =========================== */
.hwh-hottie-single {
    padding: 60px 0 80px;
}

.hwh-hottie-single__image img {
    width: 100%;
    max-width: 480px;
    height: auto;
    display: block;
    margin-bottom: 40px;
}

.hwh-hottie-single__content {
    max-width: 720px;
    font-size: var(--font-size-large-text);
    line-height: 1.5;
}

.hwh-hottie-single__content a,
.hwh-hottie-single__content a:link,
.hwh-hottie-single__content a:visited {
    font-weight: var(--font-weight-bold);
}

/* Haiku Q&A blocks — left border, Medium-style */
.hwh-hottie-single__content p.has-background {
    background: none !important;
    border-left: 2px solid var(--color-black) !important;
    padding: 0 0 0 24px !important;
    font-family: var(--font-primary) !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 300 !important;
    font-style: normal !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Space before first block in a run */
.hwh-hottie-single__content p:not(.has-background) + p.has-background {
    margin-top: 48px !important;
}

/* Extra gap after each response — separates pairs */
.hwh-hottie-single__content p.has-very-dark-gray-background-color {
    margin-bottom: 40px !important;
}

/* Strip bold from strong in response */
.hwh-hottie-single__content p.has-very-dark-gray-background-color strong {
    font-weight: 300 !important;
}

/* Questions (HWH voice): italic */
.hwh-hottie-single__content p.has-very-light-gray-background-color {
    color: var(--color-black) !important;
    padding-bottom: 24px !important;
}

/* Responses (Hottie voice): black */
.hwh-hottie-single__content p.has-very-dark-gray-background-color {
    color: var(--color-black) !important;
}

/* Breathing room after haiku section into prose */
.hwh-hottie-single__content p.has-background + p:not(.has-background) {
    margin-top: 48px !important;
}

/* ===========================
   Single Product Page
   =========================== */
.hwh-single-product__notices {
    padding: 0 max(40px, calc((100vw - var(--max-width)) / 2));
}

.hwh-single-product__notices:empty {
    display: none;
}

.hwh-single-product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    padding: 80px max(40px, calc((100vw - var(--max-width)) / 2)) 200px;
    align-items: start;
}

body.single-product .hwh-page-content {
    padding-top: 200px;
    padding-bottom: 300px;
}

.hwh-single-product__image img {
    width: 100%;
    height: auto;
    display: block;
}

.hwh-single-product__title {
    font-family: var(--font-expanded) !important;
    font-size: 48px !important;
    font-weight: var(--font-weight-black) !important;
    text-transform: uppercase !important;
    line-height: 1.05 !important;
    margin: 0 0 24px 0 !important;
    color: var(--color-black) !important;
}

.hwh-single-product__price {
    font-size: var(--font-size-large-text);
    font-weight: var(--font-weight-regular);
    margin-bottom: 32px;
}

.hwh-single-product__form {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 32px;
}

.hwh-single-product__qty input {
    width: 64px;
    padding: 12px;
    border: 1px solid var(--color-black);
    border-radius: 100px;
    font-size: var(--font-size-small-text);
    text-align: center;
    -moz-appearance: textfield;
}

.hwh-single-product__qty input::-webkit-inner-spin-button,
.hwh-single-product__qty input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.hwh-single-product__description {
    font-size: var(--font-size-small-text);
    line-height: 1.6;
}

.hwh-single-product__price,
.hwh-single-product__price del,
.hwh-single-product__price bdi {
    color: var(--color-black) !important;
}

.hwh-single-product a,
.hwh-single-product a:visited,
.hwh-page-content .hwh-single-product a,
.hwh-page-content .hwh-single-product a:visited {
    color: var(--color-black) !important;
    text-decoration: none !important;
}

.hwh-products__grid--3col {
    grid-template-columns: 1fr 1fr 1fr !important;
}

.hwh-single-product__wide {
    width: 100%;
}

.hwh-single-product__wide img {
    width: 100%;
    height: auto;
    display: block;
}

/* ===========================
   Cart Page
   =========================== */

/* Hide Storefront's default page title on WooCommerce pages */
body.woocommerce-cart .entry-header,
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .page-title,
body.woocommerce-checkout .entry-header,
body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .page-title {
    display: none !important;
}

/* Fix Storefront's dark content wrapper on cart pages */
body.woocommerce-cart #page,
body.woocommerce-cart .site-content,
body.woocommerce-cart #primary,
body.woocommerce-cart #main,
body.woocommerce-checkout #page,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout #primary,
body.woocommerce-checkout #main {
    background: var(--color-white) !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Force full-width layout — prevent Storefront's sidebar float from squeezing the cart */
body.woocommerce-cart #primary,
body.woocommerce-cart #main,
body.woocommerce-checkout #primary,
body.woocommerce-checkout #main {
    width: 100% !important;
    float: none !important;
}

/* Hide the sidebar on cart/checkout pages */
body.woocommerce-cart #secondary,
body.woocommerce-checkout #secondary {
    display: none !important;
}

/* WooCommerce notice overrides */
.woocommerce-notices-wrapper {
    padding: 0 max(40px, calc((100vw - var(--max-width)) / 2));
}

.woocommerce-message,
.woocommerce-info {
    background: var(--color-white) !important;
    border-top-color: var(--color-black) !important;
    color: var(--color-black) !important;
}

/* Empty cart */
.hwh-cart-empty {
    padding: 80px max(40px, calc((100vw - var(--max-width)) / 2)) 120px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
}

.hwh-cart-empty__products {
    width: 100%;
    margin-top: 48px;
    padding-top: 48px;
    border-top: 1px solid rgba(0,0,0,0.1);
}

.hwh-cart-empty__products-title {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase !important;
    color: var(--color-black) !important;
    margin: 0 0 40px 0 !important;
}

.hwh-cart-empty__message {
    font-size: var(--font-size-large-text) !important;
    font-weight: var(--font-weight-regular) !important;
    margin: 0 !important;
}

/* Cart with items */
.hwh-cart {
    padding: 80px max(40px, calc((100vw - var(--max-width)) / 2)) 120px;
}

.hwh-cart__title {
    font-family: var(--font-expanded) !important;
    font-size: clamp(28px, 8vw, 64px) !important;
    font-weight: var(--font-weight-black) !important;
    text-transform: uppercase !important;
    color: var(--color-black) !important;
    margin: 0 0 60px 0 !important;
}

.hwh-cart__table {
    width: 100%;
    border-collapse: collapse;
}

/* Strip all Storefront/WooCommerce background colours from the table */
.hwh-cart__table,
.hwh-cart__table thead,
.hwh-cart__table tbody,
.hwh-cart__table tfoot,
.hwh-cart__table tr,
.hwh-cart__table th,
.hwh-cart__table td {
    background: transparent !important;
    background-color: transparent !important;
}

.hwh-cart__table thead tr {
    border-bottom: 1px solid var(--color-black);
}

.hwh-cart__table th {
    font-family: var(--font-primary) !important;
    font-size: var(--font-size-small-text) !important;
    font-weight: var(--font-weight-bold) !important;
    text-transform: uppercase !important;
    color: var(--color-black) !important;
    padding: 0 0 16px 0 !important;
    text-align: left !important;
}

.hwh-cart__table td {
    padding: 24px 0 !important;
    border-bottom: 1px solid rgba(0,0,0,0.1);
    vertical-align: middle;
    color: var(--color-black) !important;
    font-size: var(--font-size-small-text) !important;
}

/* Hide any empty rows WooCommerce injects via hooks */
.hwh-cart__table tbody tr:empty,
.hwh-cart__table tbody tr td:only-child:empty {
    display: none !important;
}

/* Remove bottom border from the last visible product row */
.hwh-cart__table tbody tr:last-child td {
    border-bottom: none !important;
}

.hwh-cart__col--image img {
    width: 80px;
    height: auto;
    display: block;
}

.hwh-cart__col--remove {
    width: 32px;
}

/* Price right-aligned on desktop */
.hwh-cart__table th.hwh-cart__col--price,
.hwh-cart__table td.hwh-cart__col--price {
    text-align: right !important;
}

.hwh-cart__remove {
    font-size: 20px !important;
    color: var(--color-black) !important;
    text-decoration: none !important;
    line-height: 1 !important;
    font-weight: var(--font-weight-regular) !important;
    opacity: 0.4;
    transition: opacity 0.2s ease;
    /* Reset Storefront/WooCommerce icons.css styles */
    background: none !important;
    display: inline-block !important;
    width: auto !important;
    height: auto !important;
    border-radius: 0 !important;
    border: none !important;
    text-indent: 0 !important;
    position: static !important;
}

.hwh-cart__remove::before,
.hwh-cart__remove::after {
    display: none !important;
    content: none !important;
}

.hwh-cart__remove:hover {
    opacity: 1 !important;
    color: var(--color-black) !important;
    text-decoration: none !important;
}

.hwh-cart__col--qty .quantity input {
    width: 56px;
    padding: 8px;
    border: 1px solid var(--color-black);
    border-radius: 100px;
    text-align: center;
    font-size: var(--font-size-small-text);
    -moz-appearance: textfield;
}

.hwh-cart__col--qty .quantity input::-webkit-inner-spin-button,
.hwh-cart__col--qty .quantity input::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

/* Cart order total */
.hwh-cart__summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 32px 0;
    border-top: 1px solid rgba(0,0,0,0.15);
    border-bottom: 1px solid rgba(0,0,0,0.15);
    margin-bottom: 40px;
}

.hwh-cart__summary-label {
    font-family: var(--font-primary);
    font-size: var(--font-size-small-text);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-black);
}

.hwh-cart__summary-amount {
    font-family: var(--font-primary);
    font-size: var(--font-size-small-text);
    font-weight: var(--font-weight-bold);
    color: var(--color-black);
}

.hwh-cart__summary-amount .woocommerce-Price-amount,
.hwh-cart__summary-amount bdi {
    font-size: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
}

/* Hide WooCommerce's default cart collaterals/totals table */
body.woocommerce-cart .cart-collaterals {
    display: none !important;
}

.hwh-cart__actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    width: 100%;
}

.hwh-cart__actions-left {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.hwh-cart__actions-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.hwh-cart__actions .hwh-btn,
.hwh-cart__actions .hwh-btn:visited {
    text-decoration: none !important;
}

@media ( max-width: 768px ) {
    /* Cart actions: stack buttons vertically */
    .hwh-cart__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .hwh-cart__actions-left,
    .hwh-cart__actions-right {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .hwh-cart__actions-left .hwh-btn,
    .hwh-cart__actions-right .hwh-btn {
        width: 100%;
        text-align: center;
    }

    .hwh-cart__coupon {
        width: 100%;
    }

    .hwh-cart__coupon-input {
        flex: 1;
        width: 100%;
    }

    /* Cart table: hide header, grid layout per row */
    .hwh-cart__table thead {
        display: none !important;
    }

    /* 4-col grid: [×] [image] [name / qty+price] */
    .hwh-cart__table .hwh-cart__row {
        display: grid !important;
        grid-template-columns: 32px 80px 1fr auto !important;
        column-gap: 16px !important;
        row-gap: 8px !important;
        padding: 20px 0 !important;
        border-bottom: none !important;
        align-items: center !important;
    }

    .hwh-cart__table .hwh-cart__row td {
        display: block !important;
        border-bottom: none !important;
        padding: 0 !important;
    }

    /* Col 1: × centered vertically across both rows */
    .hwh-cart__col--remove {
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        width: auto !important;
        text-align: center !important;
        align-self: center !important;
    }

    .hwh-cart__col--remove .hwh-cart__remove {
        opacity: 0.7 !important;
        font-size: 18px !important;
    }

    /* Col 2: image spans rows 1–2 */
    .hwh-cart__col--image {
        grid-column: 2 !important;
        grid-row: 1 / span 2 !important;
        align-self: start !important;
    }

    .hwh-cart__col--image img {
        width: 80px !important;
    }

    /* Row 1: name spans cols 3–4 */
    .hwh-cart__col--name {
        grid-column: 3 / span 2 !important;
        grid-row: 1 !important;
    }

    /* Row 2: qty left (col 3), price right-aligned (col 4) */
    .hwh-cart__col--qty {
        grid-column: 3 !important;
        grid-row: 2 !important;
    }

    .hwh-cart__col--price {
        grid-column: 4 !important;
        grid-row: 2 !important;
        text-align: right !important;
        opacity: 0.5;
    }
}

.hwh-cart__coupon {
    display: flex;
    align-items: center;
    gap: 8px;
}

.hwh-cart__coupon-input {
    padding: 12px 16px;
    border: 1px solid var(--color-black);
    border-radius: 100px;
    font-size: var(--font-size-small-text);
    font-family: var(--font-primary);
    width: 180px;
}

/* ===========================
   Shop Template (legacy calendar page)
   =========================== */
.hwh-shop-calendar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

.hwh-shop-calendar__images img {
    width: 100%;
    height: auto;
    display: block;
}

/* ===========================
   Responsive
   =========================== */
@media ( max-width: 1180px ) {
    .hwh-hero {
        flex-direction: column;
    }

    .hwh-hero__content {
        padding: 40px 24px;
        text-align: center;
    }

    .hwh-hero__title {
        font-size: 40px;
    }

    .hwh-hero__buttons {
        justify-content: center;
    }

    .hwh-hero__image {
        flex: 0 0 auto;
        width: 100%;
        overflow: hidden;
        display: flex;
        justify-content: center;
    }

    /* Top-fade gradient on mobile */
    .hwh-hero__image::before {
        display: block;
        width: 100%;
        height: 70px;
        top: 0;
        left: 0;
        background: linear-gradient(to bottom, #DCD5C5 0%, rgba(220, 213, 197, 0) 100%);
    }

    .hwh-hero__image img {
        height: auto;
        width: auto;
        max-width: none;
        min-width: 170%;
    }

    .hwh-products {
        padding: 48px 24px !important;
    }

    .hwh-products__grid {
        grid-template-columns: 1fr !important;
        gap: 48px !important;
    }

    .hwh-about,
    .hwh-timeline {
        padding: 0 24px !important;
    }

    .hwh-about__inner {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding-bottom: 80px !important;
    }

    .hwh-timeline__row {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .hwh-timeline__year {
        font-size: 64px !important;
    }

    .hwh-press {
        padding: 60px 24px !important;
    }

    .hwh-press__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        row-gap: 40px !important;
    }

    .hwh-footer {
        padding: 60px 24px !important;
    }

    .hwh-footer__inner {
        grid-template-columns: 1fr 1fr !important;
        gap: 40px !important;
    }

    ul.hotties {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    .hwh-page-content .entry-title {
        font-size: 40px !important;
    }
}

@media ( max-width: 600px ) {
    .hwh-page-content .hwh-no-top-border h2.entry-title,
    .hwh-page-content .hotties-year-header h2.entry-title {
        font-size: 28px !important;
    }
}

@media ( max-width: 900px ) {
    ul.hotties {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    ul.press > li {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        padding: 24px 0 !important;
    }

    .press-title-list {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .press-right {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .press-logo {
        min-height: 120px !important;
    }

    .gca-column {
        float: none !important;
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 24px !important;
    }

    /* Team page: switch grid to single column on mobile */
    .core-team,
    .credits {
        grid-template-columns: 1fr !important;
        column-gap: 0 !important;
    }

    .core-team .gca-column.first,
    .core-team .gca-column.last,
    .core-team .gca-column.two-thirds,
    .credits .gca-column.first,
    .credits .gca-column.last,
    .credits .gca-column.two-thirds {
        grid-column: 1 !important;
    }

    .credits > h4 {
        font-size: 28px !important;
    }

    /* Cap image width on mobile */
    .team-profile-img {
        max-width: 200px !important;
    }

    /* Spacing between stacked members on mobile — no separator lines */
    .core-team .gca-column.first ~ .gca-column.first:has(> .team-profile-img) {
        padding-top: 40px !important;
        margin-top: 16px !important;
    }

    .core-team .gca-column.first ~ .gca-column.first:has(> .team-profile-img) + .gca-column {
        border-top: none !important;
        padding-top: 0 !important;
    }
}

@media ( max-width: 768px ) {
    #masthead.site-header {
        padding: 0 20px !important;
    }

    #masthead .hwh-header-inner {
        height: 64px !important;
    }

    #masthead .site-title-link,
    #masthead .site-title-link:visited,
    #masthead .site-title-link:hover {
        font-size: 16px !important;
    }

    #masthead .hwh-nav__list {
        gap: 16px !important;
    }

    #masthead .hwh-header-right {
        gap: 16px !important;
    }

    #masthead .hwh-nav__list li a {
        font-size: 11px !important;
    }

    .hwh-single-product {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
        padding: 40px 20px 100px !important;
    }

    body.single-product .hwh-page-content {
        padding-top: 100px !important;
        padding-bottom: 100px !important;
    }

    .hwh-single-product__title {
        font-size: 32px !important;
    }

    .hwh-shop-calendar {
        grid-template-columns: 1fr !important;
    }

    .hwh-products__grid--3col {
        grid-template-columns: 1fr 1fr !important;
    }
}
