/*
Theme Name: Taste of Heaven — Stitch Functional v7
Theme URI: https://gifts-designs.com/
Author: Gift & Design Taste of Heaven
Description: A Stitch-inspired WooCommerce theme with restored custom-order, corporate quote, contact, and checkout templates.
Version: 1.0.6
Text Domain: taste-of-heaven-stitch-builder
*/

.toh-builder-content > p:empty {
  display: none;
}

.toh-builder-content .wpb_text_column,
.toh-builder-content .wpb_content_element {
  margin-bottom: 0;
}

.toh-builder-content .vc_row,
.toh-builder-content .vc_column_container > .vc_column-inner {
  margin: 0;
  padding: 0;
}

.toh-builder-content .woocommerce .products {
  margin: 0;
}

.toh-builder-content .woocommerce ul.products::before,
.toh-builder-content .woocommerce ul.products::after {
  display: none;
}

/* Social Studio — shared Taste of Heaven boutique system */
:root {
  --ss-ink: #004f54;
  --ss-muted: #3e494a;
  --ss-paper: #ffffff;
  --ss-bg: #ebfdff;
  --ss-line: #bdc9c9;
  --ss-gold: #bda261;
  --ss-teal: #00696f;
  --ss-deep-teal: #004f54;
  --ss-ice: #e5f7f9;
  --ss-shadow: 0 20px 40px -10px rgba(49, 95, 97, 0.12);
}

.thss-standalone-body {
  background: var(--ss-bg) !important;
}

.thss-app {
  color: var(--ss-ink) !important;
  font-family: Montserrat, Inter, ui-sans-serif, system-ui, sans-serif !important;
}

.thss-app h1,
.thss-app h2,
.thss-app h3 {
  color: var(--ss-ink);
  font-family: "Playfair Display", Georgia, serif !important;
  letter-spacing: 0 !important;
}

.thss-app h1 {
  font-size: clamp(42px, 5vw, 64px) !important;
  line-height: 1.02 !important;
}

.thss-app h2 {
  font-size: clamp(28px, 3vw, 38px) !important;
}

.thss-app h3 {
  font-size: 20px !important;
}

.thss-kicker,
.thss-card-head span:not(.thss-status) {
  color: var(--ss-gold) !important;
  font-family: Montserrat, sans-serif !important;
  letter-spacing: 0.15em !important;
}

.thss-app-header {
  position: relative;
  overflow: hidden;
  padding: clamp(32px, 5vw, 64px) !important;
  border: 1px solid var(--ss-gold);
  border-bottom: 0;
  border-radius: 4px 4px 0 0 !important;
  color: #fff;
  background:
    radial-gradient(circle at 84% 18%, rgba(187, 235, 237, 0.3), transparent 0 18%),
    radial-gradient(circle at 84% 18%, transparent 0 24%, rgba(189, 162, 97, 0.45) 24.4% 24.8%, transparent 25.2%),
    linear-gradient(135deg, #00696f 0%, #004f54 100%) !important;
}

.thss-app-header::after {
  position: absolute;
  right: -90px;
  bottom: -115px;
  width: 330px;
  height: 330px;
  border: 1px solid rgba(189, 162, 97, 0.45);
  border-radius: 50%;
  content: "";
}

.thss-app-header > * {
  position: relative;
  z-index: 1;
}

.thss-app-header h1,
.thss-app-header p {
  color: #fff !important;
}

.thss-app-header p {
  color: #dff1f3 !important;
}

.thss-status {
  border: 1px solid rgba(189, 162, 97, 0.55) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: rgba(0, 79, 84, 0.3) !important;
}

.thss-status.is-ready {
  color: #fff !important;
  background: rgba(0, 105, 111, 0.64) !important;
}

.thss-status.is-waiting {
  color: #fff3dc !important;
  background: rgba(113, 92, 34, 0.42) !important;
}

.thss-shell {
  border: 1px solid var(--ss-line) !important;
  border-top: 0 !important;
  border-radius: 0 0 4px 4px !important;
  background: var(--ss-bg) !important;
}

.thss-tabs {
  gap: 8px !important;
  padding: 14px clamp(18px, 4vw, 44px) !important;
  border-bottom-color: var(--ss-line) !important;
  background: var(--ss-ice) !important;
}

.thss-tab {
  border: 1px solid transparent !important;
  border-radius: 4px !important;
  color: var(--ss-muted) !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
}

.thss-tab span {
  color: #fff;
  background: var(--ss-teal) !important;
}

.thss-tab:hover,
.thss-tab.is-active {
  border-color: var(--ss-gold) !important;
  color: var(--ss-deep-teal) !important;
  background: #fff !important;
}

.thss-panel {
  padding: clamp(24px, 4vw, 52px) !important;
}

.thss-card,
.thss-campaign,
.thss-job {
  border-color: var(--ss-line) !important;
  border-radius: 4px !important;
  background: var(--ss-paper) !important;
  box-shadow: var(--ss-shadow) !important;
}

.thss-card {
  padding: clamp(22px, 3vw, 30px) !important;
}

.thss-dropzone {
  border: 1px dashed var(--ss-gold) !important;
  border-radius: 4px !important;
  background:
    radial-gradient(circle at 85% 18%, rgba(84, 171, 178, 0.16), transparent 24%),
    var(--ss-ice) !important;
}

.thss-dropzone::before {
  position: absolute;
  width: 118px;
  height: 118px;
  border: 1px solid rgba(189, 162, 97, 0.6);
  border-radius: 50%;
  content: "";
}

.thss-dropzone label {
  position: relative;
  z-index: 1;
}

.thss-dropzone label .dashicons {
  color: var(--ss-teal) !important;
}

.thss-dropzone label strong {
  color: var(--ss-deep-teal);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 21px;
}

.thss-app label > span,
.thss-app legend {
  color: var(--ss-deep-teal) !important;
  font-size: 11px !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.thss-app input[type="text"],
.thss-app input[type="password"],
.thss-app input[type="datetime-local"],
.thss-app select,
.thss-app textarea {
  border-color: var(--ss-line) !important;
  border-radius: 4px !important;
  color: var(--ss-ink) !important;
  background: #fff !important;
}

.thss-app input:focus,
.thss-app select:focus,
.thss-app textarea:focus {
  outline-color: rgba(0, 105, 111, 0.2) !important;
  border-color: var(--ss-gold) !important;
}

.thss-formats > label {
  border-color: var(--ss-line) !important;
  border-radius: 4px !important;
  background: var(--ss-ice) !important;
}

.thss-primary-button,
.thss-secondary-button,
.thss-text-button {
  border-radius: 4px !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.thss-primary-button {
  border-color: var(--ss-teal) !important;
  color: #fff !important;
  background: var(--ss-teal) !important;
}

.thss-primary-button:hover {
  background: var(--ss-deep-teal) !important;
}

.thss-secondary-button {
  border-color: var(--ss-gold) !important;
  color: var(--ss-deep-teal) !important;
  background: transparent !important;
}

.thss-secondary-button:hover {
  color: #fff !important;
  background: var(--ss-teal) !important;
}

.thss-text-button {
  color: var(--ss-teal) !important;
}

.thss-text-button:hover {
  color: var(--ss-deep-teal) !important;
  background: var(--ss-ice) !important;
}

.thss-guide-card {
  color: #fff !important;
  background:
    radial-gradient(circle at 92% 10%, rgba(187, 235, 237, 0.22), transparent 24%),
    linear-gradient(145deg, #00696f, #004f54) !important;
}

.thss-guide-card h2,
.thss-guide-card .thss-kicker {
  color: #fff !important;
}

.thss-guide-card li > span {
  border-color: rgba(189, 162, 97, 0.7) !important;
  border-radius: 50% !important;
  color: #fedf98 !important;
}

.thss-guide-card p {
  color: #dff1f3 !important;
}

.thss-notice {
  border-color: var(--ss-gold) !important;
  border-radius: 4px !important;
  color: var(--ss-deep-teal) !important;
  background: #fff9ec !important;
}

.thss-ad-copy {
  border-color: rgba(189, 162, 97, 0.5) !important;
  border-radius: 4px !important;
  background: linear-gradient(135deg, #fff, var(--ss-ice)) !important;
}

.thss-ad-copy span,
.thss-variant-image > span {
  border-radius: 4px !important;
  background: var(--ss-deep-teal) !important;
}

.thss-variant {
  border-color: var(--ss-line) !important;
  border-radius: 4px !important;
  background: var(--ss-ice) !important;
}

.thss-variant-image {
  background: #dff1f3 !important;
}

.thss-job-status {
  border-radius: 999px !important;
  color: var(--ss-deep-teal) !important;
  background: var(--ss-ice) !important;
}

.thss-job-status.is-published {
  color: #fff !important;
  background: var(--ss-teal) !important;
}

.thss-job-status.is-scheduled {
  color: #5c491e !important;
  background: #fedf98 !important;
}

.thss-empty {
  border-color: var(--ss-gold) !important;
  border-radius: 4px !important;
  color: var(--ss-muted) !important;
  background: var(--ss-ice) !important;
}

@media (max-width: 760px) {
  .thss-app-header,
  .thss-shell {
    border-radius: 0 !important;
  }

  .thss-app-header {
    padding: 32px 24px !important;
  }
}

/* Functional pages — the original Store Features forms in the new visual system */
.toh-page-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(68px, 10vw, 120px) 16px;
  border-bottom: 1px solid var(--ss-line);
  background:
    radial-gradient(circle at 85% 16%, rgba(84, 171, 178, 0.25), transparent 0 20%),
    linear-gradient(135deg, #ebfdff, #dff1f3);
}

.toh-page-hero::after {
  position: absolute;
  right: -120px;
  bottom: -175px;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(189, 162, 97, 0.6);
  border-radius: 50%;
  content: "";
}

.toh-page-hero__inner,
.toh-page-shell,
.toh-commerce-shell {
  position: relative;
  z-index: 1;
  width: min(1280px, calc(100% - 32px));
  margin: 0 auto;
}

.toh-page-hero__inner {
  max-width: 920px;
  text-align: center;
}

.toh-page-hero .thss-kicker {
  margin-bottom: 14px;
}

.toh-page-hero h1 {
  margin: 0;
  color: var(--ss-deep-teal);
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(42px, 6vw, 68px);
  font-weight: 400;
  line-height: 1.05;
}

.toh-page-hero p {
  max-width: 700px;
  margin: 20px auto 0;
  color: var(--ss-muted);
  font-size: 17px;
  line-height: 1.7;
}

.toh-page-shell,
.toh-commerce-shell {
  padding-top: clamp(44px, 7vw, 88px);
  padding-bottom: clamp(60px, 8vw, 110px);
}

.toh-page-content {
  max-width: 980px;
  margin: 0 auto;
  color: var(--ss-muted);
  font-family: Montserrat, sans-serif;
  font-size: 16px;
  line-height: 1.8;
}

.toh-page-content > * + * {
  margin-top: 24px;
}

.toh-page-content h2,
.toh-page-content h3,
.toh-commerce-shell h1,
.toh-commerce-shell h2,
.toh-commerce-shell h3 {
  color: var(--ss-deep-teal);
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 400;
  line-height: 1.2;
}

.toh-page-content h2 {
  margin-top: 48px;
  margin-bottom: 14px;
  font-size: clamp(28px, 4vw, 40px);
}

.toh-page-content h3 {
  margin-bottom: 12px;
  font-size: 24px;
}

.toh-page-content ul {
  display: grid;
  gap: 10px;
  padding-left: 22px;
}

.toh-page-content a:not(.button) {
  color: var(--ss-teal);
  font-weight: 700;
}

.toh-page-content .button,
.toh-page-content input[type="submit"],
.toh-commerce-shell .button,
.toh-commerce-shell .woocommerce a.button,
.toh-commerce-shell .woocommerce button.button,
.toh-commerce-shell .woocommerce input.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 20px;
  border: 1px solid var(--ss-teal);
  border-radius: 4px;
  color: #fff;
  background: var(--ss-teal);
  font-family: Montserrat, sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.toh-page-content .button:hover,
.toh-page-content input[type="submit"]:hover,
.toh-commerce-shell .button:hover,
.toh-commerce-shell .woocommerce a.button:hover,
.toh-commerce-shell .woocommerce button.button:hover,
.toh-commerce-shell .woocommerce input.button:hover {
  border-color: var(--ss-deep-teal);
  color: #fff;
  background: var(--ss-deep-teal);
  transform: translateY(-1px);
}

.toh-page-content .custom-form,
.toh-page-content .contact-card,
.toh-page-content .th-product-customization,
.toh-commerce-shell .th-product-customization,
.toh-commerce-shell .th-fulfillment-fields,
.toh-commerce-shell .woocommerce form.checkout,
.toh-commerce-shell .woocommerce form.login,
.toh-commerce-shell .woocommerce form.register,
.toh-commerce-shell .woocommerce form.cart {
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid var(--ss-line);
  border-radius: 4px;
  background: #fff;
  box-shadow: var(--ss-shadow);
}

.toh-page-content .custom-form {
  margin-top: 20px;
}

.toh-page-content .form-grid,
.toh-commerce-shell .form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.toh-page-content .form-grid .full,
.toh-commerce-shell .form-grid .full {
  grid-column: 1 / -1;
}

.toh-page-content .custom-form label,
.toh-page-content .th-product-customization label,
.toh-commerce-shell .th-product-customization label,
.toh-commerce-shell .woocommerce label {
  display: block;
  margin-bottom: 8px;
  color: var(--ss-deep-teal);
  font-family: Montserrat, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.toh-page-content input,
.toh-page-content textarea,
.toh-page-content select,
.toh-commerce-shell .th-product-customization input,
.toh-commerce-shell .th-product-customization textarea,
.toh-commerce-shell .th-product-customization select,
.toh-commerce-shell .woocommerce input.input-text,
.toh-commerce-shell .woocommerce textarea,
.toh-commerce-shell .woocommerce select,
.toh-commerce-shell .woocommerce .select2-container .select2-selection {
  width: 100%;
  min-height: 46px;
  padding: 11px 12px;
  border: 1px solid var(--ss-line);
  border-radius: 4px;
  color: var(--ss-ink);
  background: #fff;
  box-shadow: none;
  font: inherit;
}

.toh-page-content textarea,
.toh-commerce-shell .th-product-customization textarea,
.toh-commerce-shell .woocommerce textarea {
  min-height: 140px;
}

.toh-page-content input:focus,
.toh-page-content textarea:focus,
.toh-page-content select:focus,
.toh-commerce-shell .th-product-customization input:focus,
.toh-commerce-shell .th-product-customization textarea:focus,
.toh-commerce-shell .th-product-customization select:focus,
.toh-commerce-shell .woocommerce input.input-text:focus,
.toh-commerce-shell .woocommerce textarea:focus,
.toh-commerce-shell .woocommerce select:focus {
  outline: 2px solid rgba(0, 105, 111, 0.18);
  border-color: var(--ss-gold);
}

.toh-page-content input[type="file"],
.toh-commerce-shell .th-product-customization input[type="file"] {
  padding: 10px;
  background: var(--ss-ice);
}

.toh-page-content .form-notice,
.toh-commerce-shell .woocommerce-message,
.toh-commerce-shell .woocommerce-info,
.toh-commerce-shell .woocommerce-error {
  margin-bottom: 24px;
  padding: 15px 17px;
  border: 1px solid var(--ss-gold);
  border-radius: 4px;
  color: var(--ss-deep-teal);
  background: #fff9ec;
}

.toh-page-content .contact-grid {
  display: grid;
  grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr);
  gap: 28px;
  align-items: start;
}

.toh-page-content .contact-list {
  display: grid;
  gap: 18px;
  padding: 0;
  list-style: none;
}

.toh-page-content .contact-list strong {
  display: block;
  color: var(--ss-deep-teal);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 20px;
}

.toh-commerce-shell .woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.toh-commerce-shell .woocommerce ul.products li.product {
  float: none;
  clear: none;
  width: auto !important;
  margin: 0 !important;
  padding: 14px;
  border: 1px solid var(--ss-line);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(49, 95, 97, 0.07);
}

.toh-commerce-shell .woocommerce .related.products,
.toh-commerce-shell .woocommerce .upsells.products {
  clear: both;
  width: 100%;
  margin-top: 56px;
}

.toh-commerce-shell .woocommerce .related.products > h2,
.toh-commerce-shell .woocommerce .upsells.products > h2 {
  margin: 0 0 24px;
  color: var(--ss-deep-teal);
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 400;
}

.toh-commerce-shell .woocommerce ul.products li.product a img,
.toh-commerce-shell .woocommerce div.product div.images img {
  border-radius: 2px;
  background: var(--ss-ice);
}

.toh-commerce-shell .woocommerce ul.products li.product .woocommerce-loop-product__title,
.toh-commerce-shell .woocommerce div.product .product_title {
  color: var(--ss-deep-teal);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 22px;
  font-weight: 400;
}

.toh-commerce-shell .woocommerce .price,
.toh-commerce-shell .woocommerce div.product p.price,
.toh-commerce-shell .woocommerce div.product span.price {
  color: var(--ss-teal);
  font-weight: 800;
}

.toh-commerce-shell .woocommerce span.onsale {
  min-width: auto;
  min-height: auto;
  padding: 7px 10px;
  border-radius: 999px;
  color: #fff;
  background: var(--ss-teal);
  line-height: 1;
}

.toh-shop-categories {
  width: 100%;
}

.toh-shop-categories__head {
  max-width: 760px;
  margin: 0 auto 38px;
  text-align: center;
}

.toh-shop-categories__head h2 {
  margin: 10px 0 12px;
  color: var(--ss-deep-teal);
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(34px, 5vw, 54px);
  font-weight: 400;
  line-height: 1.08;
}

.toh-shop-categories__head p {
  margin: 0;
  color: var(--ss-muted);
}

.toh-shop-category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.toh-shop-category-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--ss-line);
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(49, 95, 97, 0.07);
  text-decoration: none;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.toh-shop-category-card:hover {
  border-color: var(--ss-gold);
  box-shadow: var(--ss-shadow);
  transform: translateY(-2px);
}

.toh-shop-category-card__image {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--ss-ice);
}

.toh-shop-category-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.toh-shop-category-card:hover .toh-shop-category-card__image img {
  transform: scale(1.04);
}

.toh-shop-category-card__placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: center;
  color: var(--ss-teal);
  background:
    radial-gradient(circle at 80% 20%, rgba(189, 162, 97, 0.24), transparent 25%),
    var(--ss-ice);
}

.toh-shop-category-card__placeholder .material-symbols-outlined {
  font-size: 54px;
  font-weight: 200;
}

.toh-shop-category-card__content {
  display: grid;
  gap: 8px;
  padding: 18px;
}

.toh-shop-category-card__content strong {
  color: var(--ss-deep-teal);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.15;
}

.toh-shop-category-card__content span {
  color: var(--ss-gold);
  font-family: Montserrat, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.toh-search-shell {
  max-width: 1280px;
}

.toh-search-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.toh-search-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--ss-line);
  border-radius: 4px;
  color: inherit;
  background: #fff;
  box-shadow: 0 12px 28px rgba(49, 95, 97, 0.07);
  text-decoration: none;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.toh-search-card:hover {
  border-color: var(--ss-gold);
  box-shadow: var(--ss-shadow);
  transform: translateY(-2px);
}

.toh-search-card__image {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--ss-ice);
}

.toh-search-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
}

.toh-search-card__content {
  display: grid;
  gap: 9px;
  padding: 18px;
}

.toh-search-card__content strong {
  color: var(--ss-deep-teal);
  font-family: "Playfair Display", Georgia, serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.15;
}

.toh-search-card__content span {
  color: var(--ss-muted);
  font-style: normal;
}

.toh-search-card__price {
  color: var(--ss-teal) !important;
  font-weight: 800;
}

.toh-search-card__content em {
  display: inline-flex;
  width: fit-content;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  margin-top: 6px;
  padding: 10px 14px;
  border-radius: 4px;
  color: #fff;
  background: var(--ss-teal);
  font-family: Montserrat, sans-serif;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.toh-pagination {
  margin-top: 34px;
}

.toh-pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.toh-pagination .page-numbers {
  display: inline-flex;
  min-width: 38px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ss-line);
  border-radius: 4px;
  color: var(--ss-deep-teal);
  background: #fff;
  text-decoration: none;
}

.toh-pagination .page-numbers.current {
  border-color: var(--ss-teal);
  color: #fff;
  background: var(--ss-teal);
}

.toh-commerce-shell .woocommerce table.shop_table,
.toh-commerce-shell .woocommerce-checkout #payment {
  border-color: var(--ss-line);
  border-radius: 4px;
  background: #fff;
}

.toh-commerce-shell .woocommerce table.shop_table td,
.toh-commerce-shell .woocommerce table.shop_table th {
  padding: 15px;
}

.toh-builder-content .gradient-turquoise form {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  max-width: 560px;
  margin: 0 auto;
}

.toh-builder-content .gradient-turquoise input[type="email"] {
  flex: 1;
  min-height: 46px;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid rgba(187, 235, 237, 0.7);
  border-radius: 0;
  color: #fff;
  background: transparent;
}

.toh-builder-content .gradient-turquoise input[type="email"]::placeholder {
  color: rgba(223, 241, 243, 0.8);
}

.toh-builder-content .gradient-turquoise .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 18px;
  border: 1px solid #fff;
  border-radius: 4px;
  color: var(--ss-deep-teal);
  background: #fff;
  font-family: Montserrat, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

/* Homepage category circles use WooCommerce term thumbnails. Keep the image
   crop inside the circle while preserving a stable, touch-friendly layout. */
.toh-category-grid {
  align-items: start;
}

.toh-category-circle {
  flex: 0 0 auto;
  aspect-ratio: 1 / 1;
}

.toh-category-circle img {
  display: block;
}

/* Page-builder and shortcode forms should remain contained on narrow screens. */
.toh-page-content form,
.toh-page-content .custom-form,
.toh-page-content .contact-card,
.toh-commerce-shell .woocommerce form,
.toh-commerce-shell .th-product-customization,
.toh-commerce-shell .th-fulfillment-fields {
  max-width: 100%;
  box-sizing: border-box;
}

.toh-page-content form input,
.toh-page-content form select,
.toh-page-content form textarea,
.toh-page-content .custom-form input,
.toh-page-content .custom-form select,
.toh-page-content .custom-form textarea,
.toh-commerce-shell form input,
.toh-commerce-shell form select,
.toh-commerce-shell form textarea {
  box-sizing: border-box;
  max-width: 100%;
}

@media (max-width: 900px) {
  .toh-commerce-shell .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .toh-shop-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .toh-search-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .toh-page-content .contact-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .toh-page-content .form-grid,
  .toh-commerce-shell .form-grid,
  .toh-commerce-shell .woocommerce ul.products {
    grid-template-columns: 1fr;
  }

  .toh-shop-category-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .toh-search-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .toh-shop-categories__head {
    margin-bottom: 28px;
    text-align: left;
  }

  .toh-shop-categories__head h2 {
    font-size: 34px;
  }

  .toh-shop-category-card__content {
    padding: 16px;
  }

  .toh-search-card__content {
    padding: 16px;
  }

  .toh-search-card__content em {
    width: 100%;
  }

  .toh-page-content .form-grid .full,
  .toh-commerce-shell .form-grid .full {
    grid-column: auto;
  }

  .toh-builder-content .gradient-turquoise form {
    align-items: stretch;
    flex-direction: column;
  }

  .toh-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 16px;
  }

  .toh-category-circle {
    width: min(42vw, 180px);
    height: auto;
  }

  .toh-category-grid .group {
    min-width: 0;
    gap: 14px;
  }

  .toh-category-grid h3 {
    overflow-wrap: anywhere;
    font-size: 16px;
  }

  .toh-page-hero__inner,
  .toh-page-shell,
  .toh-commerce-shell {
    width: min(100% - 24px, 1280px);
  }

  .toh-page-content .custom-form,
  .toh-page-content .contact-card,
  .toh-page-content .th-product-customization,
  .toh-commerce-shell .th-product-customization,
  .toh-commerce-shell .th-fulfillment-fields,
  .toh-commerce-shell .woocommerce form.checkout,
  .toh-commerce-shell .woocommerce form.login,
  .toh-commerce-shell .woocommerce form.register,
  .toh-commerce-shell .woocommerce form.cart {
    padding: 18px;
  }

  .toh-page-content input,
  .toh-page-content textarea,
  .toh-page-content select,
  .toh-commerce-shell input,
  .toh-commerce-shell textarea,
  .toh-commerce-shell select {
    font-size: 16px;
  }
}

/* Keep inner-page branding compact; the homepage keeps its existing logo scale. */
body:not(.home) .toh-site-header .toh-site-logo {
  display: block;
  width: auto !important;
  height: 72px !important;
  max-width: 220px;
  object-fit: contain;
}

body:not(.home) .toh-site-footer .toh-site-footer-logo {
  display: block;
  width: auto !important;
  height: 120px !important;
  max-width: 260px;
  object-fit: contain;
}

@media (max-width: 640px) {
  body:not(.home) .toh-site-header .toh-site-logo {
    height: 52px !important;
    max-width: 170px;
  }

  body:not(.home) .toh-site-footer .toh-site-footer-logo {
    height: 92px !important;
    max-width: 210px;
  }
}

/* Mobile compatibility pass */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
video,
iframe,
embed,
object {
  max-width: 100%;
}

.toh-mobile-menu {
  width: 100%;
  margin-top: 14px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.toh-mobile-menu ul {
  display: flex;
  gap: 10px;
  min-width: max-content;
  margin: 0;
  padding: 0 0 4px;
  list-style: none;
}

.toh-mobile-menu a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 11px;
  border: 1px solid rgba(189, 162, 97, 0.5);
  border-radius: 4px;
  color: var(--ss-deep-teal);
  background: rgba(255, 255, 255, 0.65);
  font-family: Montserrat, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.1;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.toh-commerce-shell .woocommerce table.shop_table {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.toh-commerce-shell .woocommerce table.shop_table tbody,
.toh-commerce-shell .woocommerce table.shop_table thead,
.toh-commerce-shell .woocommerce table.shop_table tfoot {
  width: 100%;
}

.toh-commerce-shell .woocommerce img {
  height: auto;
}

.toh-commerce-shell .woocommerce div.product {
  overflow: hidden;
}

.toh-commerce-shell .woocommerce div.product div.images,
.toh-commerce-shell .woocommerce div.product div.summary {
  max-width: 100%;
}

.toh-commerce-shell .woocommerce .quantity .qty {
  min-width: 82px;
}

@media (max-width: 900px) {
  .toh-site-header {
    position: sticky;
  }

  .toh-site-header > div {
    padding-top: 12px;
    padding-bottom: 10px;
  }

  .toh-primary-menu {
    display: none !important;
  }

  .toh-commerce-shell .woocommerce .woocommerce-ordering,
  .toh-commerce-shell .woocommerce .woocommerce-result-count {
    float: none;
    width: 100%;
    margin: 0 0 16px;
  }

  .toh-commerce-shell .woocommerce .woocommerce-ordering select {
    width: 100%;
  }

  .toh-commerce-shell .woocommerce div.product div.images,
  .toh-commerce-shell .woocommerce div.product div.summary {
    float: none;
    width: 100%;
  }
}

@media (max-width: 640px) {
  .bg-on-primary-fixed-variant.text-secondary-fixed {
    padding-top: 7px;
    padding-bottom: 7px;
  }

  .bg-on-primary-fixed-variant.text-secondary-fixed p {
    font-size: 9px;
    line-height: 1.35;
    letter-spacing: 0.09em;
  }

  .toh-site-header .toh-site-logo {
    display: block;
    width: auto !important;
    height: 56px !important;
    max-width: 170px;
    object-fit: contain;
  }

  .home .toh-site-header .toh-site-logo {
    height: 64px !important;
    max-width: 190px;
  }

  .toh-site-header .material-symbols-outlined {
    font-size: 22px;
  }

  .toh-site-header .flex.items-center.gap-4 {
    gap: 12px;
    flex: 0 0 auto;
  }

  .toh-builder-content section:first-child {
    min-height: 520px;
    height: auto;
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .toh-builder-content section:first-child h1 {
    font-size: clamp(38px, 11vw, 48px) !important;
    line-height: 1.08 !important;
  }

  .toh-builder-content section:first-child p {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  .toh-builder-content section {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .toh-builder-content .flex.justify-between.items-end {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .toh-builder-content .grid {
    max-width: 100%;
  }

  .toh-page-hero {
    padding: 56px 12px;
  }

  .toh-page-hero::after {
    right: -190px;
    bottom: -230px;
  }

  .toh-page-hero h1 {
    font-size: clamp(34px, 10vw, 44px);
    line-height: 1.08;
    overflow-wrap: anywhere;
  }

  .toh-page-hero p,
  .toh-page-content,
  .toh-commerce-shell {
    font-size: 15px;
    line-height: 1.65;
  }

  .toh-page-shell,
  .toh-commerce-shell {
    padding-top: 40px;
    padding-bottom: 56px;
  }

  .toh-page-content > * + * {
    margin-top: 18px;
  }

  .toh-page-content h2 {
    margin-top: 34px;
    font-size: 28px;
  }

  .toh-page-content h3,
  .toh-commerce-shell .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .toh-commerce-shell .woocommerce div.product .product_title {
    font-size: 22px;
  }

  .toh-page-content .button,
  .toh-page-content input[type="submit"],
  .toh-commerce-shell .button,
  .toh-commerce-shell .woocommerce a.button,
  .toh-commerce-shell .woocommerce button.button,
  .toh-commerce-shell .woocommerce input.button {
    width: 100%;
    min-height: 46px;
    padding-right: 14px;
    padding-left: 14px;
    white-space: normal;
  }

  .toh-commerce-shell .woocommerce ul.products li.product {
    padding: 12px;
  }

  .toh-commerce-shell .woocommerce ul.products li.product a img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
  }

  .toh-commerce-shell .woocommerce table.shop_table td,
  .toh-commerce-shell .woocommerce table.shop_table th {
    min-width: 120px;
    padding: 12px;
  }

  .toh-commerce-shell .woocommerce-cart-form,
  .toh-commerce-shell .cart-collaterals,
  .toh-commerce-shell .woocommerce-checkout,
  .toh-commerce-shell .woocommerce-account-fields,
  .toh-commerce-shell .woocommerce-billing-fields,
  .toh-commerce-shell .woocommerce-shipping-fields,
  .toh-commerce-shell .woocommerce-additional-fields {
    max-width: 100%;
  }

  .toh-commerce-shell .woocommerce .col2-set .col-1,
  .toh-commerce-shell .woocommerce .col2-set .col-2 {
    float: none;
    width: 100%;
  }

  .toh-site-footer .grid {
    gap: 28px;
    padding-top: 52px;
    padding-bottom: 52px;
  }

  .toh-site-footer .toh-site-footer-logo {
    height: 96px !important;
    max-width: 210px;
    object-fit: contain;
  }
}

@media (max-width: 380px) {
  .toh-category-grid {
    grid-template-columns: 1fr;
  }

  .toh-category-circle {
    width: min(68vw, 210px);
  }

  .toh-mobile-menu a {
    padding-right: 10px;
    padding-left: 10px;
    font-size: 10px;
  }
}
