/* Shared roles: 6px controls, 12px cards, 20px editorial images; circles for ratings only. */
:root {
  --text-xs: .75rem;
  --text-sm: .875rem;
  --text-base: 1rem;
  --text-lg: 1.25rem;
  --text-xl: 1.5rem;
  --text-2xl: 2rem;
  --text-3xl: 2.5rem;
  --text-4xl: 3rem;
  --radius-control: 6px;
  --radius-card: 12px;
  --radius-image: 20px;
  --radius: var(--radius-card);
  --control-height: 44px;
  --title-size: var(--text-4xl);
  --section-title-size: var(--text-2xl);
  --control-border: #8b9d91;
  --select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23173c31' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
body { font-size: var(--text-base); }
.footer-bottom > div { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .5rem 1.25rem; }
.footer-bottom > div a { display: inline-flex; align-items: center; min-height: 44px; margin: 0; }
.footer-bottom .withdrawal-link { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 860px) { .footer-bottom > div { justify-content: flex-start; } }
body :is(button, input, select, textarea) { font-family: Raleway, sans-serif; }
body :is(.button, button, input, select, textarea, .wp-block-button__link, .wc-block-components-button) { border-radius: var(--radius-control); }
body :is(.button, .wp-block-button__link, .wc-block-components-button:not(.is-link), button[type="submit"], input[type="submit"]),
.woocommerce :is(a.button, button.button, input.button),
.woocommerce ul.products li.product .button,
.cart-drawer .cart-drawer__panel > .button,
.product-stage__content form.cart .single_add_to_cart_button {
  display: inline-flex; justify-content: center; align-items: center; gap: .5rem;
  min-height: var(--control-height) !important; padding: .625rem 1rem; border-radius: var(--radius-control) !important;
  font-size: var(--text-sm) !important; font-weight: 600; line-height: 1.4; letter-spacing: 0; text-transform: none;
}
.product-stage__content form.cart .single_add_to_cart_button { min-height: var(--control-height); height: var(--control-height) !important; flex: 0 1 auto; margin: 0; padding-block: .5rem; line-height: 1.4 !important; }
body :is(button, .button, .wp-block-button__link, input, textarea, select, a):focus-visible { outline: 2px solid #477960; outline-offset: 3px; }
body :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):not([type="submit"]), select, textarea),
.woocommerce :is(input.input-text, select, textarea) {
  min-height: var(--control-height); padding: .625rem .75rem; border: 1px solid var(--control-border);
  border-radius: var(--radius-control); background-color: #fff; color: var(--ink);
  font-size: var(--text-base); font-weight: 400; line-height: 1.4; box-shadow: none;
}
body textarea { min-height: 8rem; resize: vertical; }
body :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]), select) { height: var(--control-height); }
body select[multiple] { height: auto; min-height: 8rem; }
body select { appearance: none; padding-right: 2.5rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23173c31' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right .75rem center; background-size: 16px; }
body :is(input[type="checkbox"], input[type="radio"]) { width: 18px; height: 18px; min-width: 18px; min-height: 18px; margin: 0; accent-color: var(--forest); vertical-align: middle; box-shadow: none; }
body input[type="checkbox"] { border-radius: 4px; }
body input[type="radio"] { border-radius: 50%; }
body :is(.pack-option, .discover-guide__choices) input[type="radio"] { position: absolute; min-width: 1px; min-height: 1px; width: 1px; height: 1px; }
.contact-form label, .woocommerce form .form-row label { font-size: var(--text-sm); font-weight: 600; text-transform: none; letter-spacing: 0; line-height: 1.5; }
.contact-form :is(input, select, textarea) { padding: .625rem .75rem; border: 1px solid var(--control-border); border-radius: var(--radius-control); background-color: #fff; }
.home-hero__actions .button, .mobile-menu .mobile-menu__foot a.button, .sticky-buy .button { padding: .625rem 1rem; line-height: 1.4; }
.shop-discovery :is(.shop-search, .shop-sort) { min-height: var(--control-height); height: var(--control-height); border: 1px solid var(--control-border); border-radius: var(--radius-control); padding: 0 .75rem; background: #fff; }
.shop-discovery .shop-search input { min-height: 0; height: 42px; border: 0; padding: 0; border-radius: 0; background: transparent; box-shadow: none; }
.shop-discovery .shop-search input:focus-visible { outline: 0; }
.shop-discovery .shop-sort .woocommerce-ordering { display: flex; align-items: center; height: 100%; margin: 0; }
.shop-discovery .shop-sort .orderby { min-height: 0; height: 42px; padding: 0 1.75rem 0 .25rem; border: 0; border-radius: 0; line-height: normal; background-image: var(--select-arrow); background-position: right center; background-repeat: no-repeat; background-size: 16px; font-size: var(--text-sm); }
.contact-form select, .woocommerce select:not(.orderby) { background-image: var(--select-arrow); background-position: right .75rem center; background-repeat: no-repeat; background-size: 16px; padding-right: 2.5rem; }
.shop-discovery .shop-sort .dashicons { flex: 0 0 16px; }
.shop-discovery [data-shop-filter-group="taste"] .shop-filter,
.shop-discovery .shop-sale-toggle { min-height: var(--control-height); border-radius: var(--radius-control); font-size: var(--text-sm); padding: .5rem .75rem; }
.shop-discovery .shop-sale-toggle { gap: .5rem; }
.shop-discovery .shop-switch { border-radius: var(--radius-card); }
.shop-discovery .shop-switch a { border-radius: var(--radius-control); min-height: var(--control-height); font-size: var(--text-sm); }
.shop-discovery [data-shop-filter-group="collection"] .shop-filter { border-radius: 0; font-size: var(--text-sm); }
.woocommerce .product-stage__content form.cart { align-items: center; }
.woocommerce .product-stage__content .quantity { display: flex; align-items: center; flex: 0 0 64px; height: var(--control-height); border: 0; padding: 0; background: transparent; border-radius: var(--radius-control); }
.woocommerce .product-stage__content .quantity .qty { width: 64px; height: var(--control-height); min-height: var(--control-height); margin: 0; padding: .5rem .25rem; text-align: center; border-radius: var(--radius-control); appearance: textfield; }
.woocommerce .quantity .qty::-webkit-inner-spin-button, .woocommerce .quantity .qty::-webkit-outer-spin-button { appearance: none; margin: 0; }
body :is(.onsale, .badge, .product-badge, .wc-product-badges span, .wc-block-components-sale-badge),
.woocommerce div.product .product-stage__content .summary > .price:has(del)::after { border-radius: var(--radius-control) !important; font-size: var(--text-xs); line-height: 1.4; font-weight: 600; letter-spacing: 0; }
.pack-option, .product-family__item { border-radius: var(--radius-card); }
.pack-option small, .pack-option__unit, .pack-option__hint { font-size: var(--text-xs); line-height: 1.5; opacity: 1; }
.pack-option strong { font-size: var(--text-base); line-height: 1.3; }
.pack-option b { font-size: var(--text-xl); }
.pack-selector legend small, .pack-selector__status { font-size: var(--text-xs); color: var(--product-ink); }
/* Pale cards need dark ink even inside the dark Menthol hero. */
.compass-product-tone-night .product-stage :is(.pack-option:not(.is-selected), .product-family__item:not(.is-current)) { background: #dbe8e3; color: #173c31; border-color: #b9d4c8; }
.compass-product-tone-night .product-stage .pack-option.is-selected { color: #173c31; background: #f7f5ef; border: 2px solid #f7f5ef; outline: 2px solid #91c6ae; outline-offset: 2px; }
.compass-product-tone-night .product-stage .pack-option .dashicons { color: currentColor; }
.compass-product-tone-night .product-stage .product-family__item.is-current { color: #173c31; background: #f7f5ef; }
.compass-product-tone-night .product-stage :is(.product-focus, .product-family__heading, .wc-product-badges, .product-buy-notes, .format-from) { color: #f7f5ef; }
.compass-product-tone-night .product-stage :is(button, a, input):focus-visible { outline-color: #fff; }
body :is(.product_meta, .sku_wrapper) { display: none !important; }
.commerce-page .wc-block-components-quantity-selector { min-height: var(--control-height); height: var(--control-height); border-radius: var(--radius-control) !important; }
.commerce-page .wc-block-components-quantity-selector input { height: 42px; min-height: 0; padding: 0; border: 0; background: transparent; }
.commerce-page .wc-block-components-text-input input, .commerce-page .wc-block-components-combobox-control input, .commerce-page .wc-block-components-country-input select { min-height: 52px !important; height: 52px !important; border-radius: var(--radius-control) !important; }
.commerce-page .wc-block-components-text-input input { padding-top: 1.5rem; padding-bottom: .375rem; }
.commerce-page .wc-block-components-checkbox .wc-block-components-checkbox__input { width: 18px; height: 18px; min-width: 18px; min-height: 18px; border-radius: 4px; }
.commerce-page .wc-block-components-button:not(.is-link) { border-radius: var(--radius-control) !important; font-size: var(--text-sm); }
.commerce-page .wc-block-components-radio-control__input { border-radius: 50%; }
.eyebrow, .site-footer h2 { font-size: var(--text-xs); }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .included-bundle h3, .journal-card h3 { font-size: var(--text-lg); line-height: 1.3; }
.product-stage__visual .woocommerce-product-gallery__image img { border-radius: var(--radius-image) !important; }
.menu-product-image, .menu-product-image img, .cart-item img { border-radius: var(--radius-control); }
.bundle-art__tins > span { border-radius: 50%; }
.drawer-head .icon-close, .mobile-menu .mobile-menu__close, .cart-toggle, .menu-toggle { border-radius: var(--radius-control); }
@media (min-width: 861px) and (max-width: 1100px) {
  :root { --text-4xl: 2.5rem; --text-3xl: 2rem; --title-size: var(--text-4xl); }
}
@media (max-width: 860px) {
  :root { --text-4xl: 2.5rem; --text-3xl: 2rem; --title-size: var(--text-2xl); --section-title-size: var(--text-xl); }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: var(--text-base); }
  .shop-discovery .shop-switch a { padding-inline: .75rem; }
  .shop-discovery [data-shop-filter-group="taste"] .shop-filter { padding-inline: .625rem; }
  .woocommerce ul.products li.product .button { padding-inline: .5rem; gap: .375rem; }
  .woocommerce ul.products .bundle-art__caption { display: none; }
}
@media (max-width: 600px) {
  :root { --text-4xl: 2rem; --text-3xl: 1.75rem; --title-size: var(--text-3xl); }
  .bundle-world h2, .home .editorial-split h2 { font-size: var(--section-title-size); }
  .product-stage__content .summary .product_title,
  .compass-product-kind-bundle .product-stage__content .summary .product_title { font-size: var(--title-size); line-height: 1.15; }
  .shop-discovery__status { flex-wrap: wrap; }
  .shop-discovery .shop-sort { order: 3; width: 100%; margin-left: 0; }
  .shop-discovery .shop-sort .woocommerce-ordering { flex: 1; min-width: 0; }
  .shop-discovery .shop-sort .orderby { width: 100%; max-width: none; }
  .shop-discovery .shop-reset { margin-left: auto; }
  .shop-discovery .shop-search input { font-size: var(--text-base); }
}
