:root {
  --cw-core-paper: var(--cw-paper, #fffdf9);
  --cw-core-soft: var(--cw-paper-soft, #fbf5ed);
  --cw-core-beige: var(--cw-porcelain, #f2e7dc);
  --cw-core-ink: var(--cw-ink, #2d211b);
  --cw-core-muted: var(--cw-ink-soft, #67574e);
  --cw-core-clay: var(--cw-clay-deep, #a65b36);
  --cw-core-sky: var(--cw-sky, #4c98c5);
  --cw-core-sage: var(--cw-sage, #75988a);
  --cw-core-line: rgba(72, 51, 40, 0.15);
  --cw-core-shadow: 0 24px 70px rgba(75, 48, 31, 0.09);
}

.cw-form-honey { height: 1px !important; left: -10000px !important; overflow: hidden !important; position: absolute !important; width: 1px !important; }
.cw-contact-system, .cw-booking-system, .cw-catalogue { color: var(--cw-core-ink); margin-inline: auto; max-width: 1380px; }
.cw-contact-system { display: grid; grid-template-columns: minmax(0, 2.1fr) minmax(250px, 1fr); gap: clamp(20px, 3vw, 38px); align-items: start; }
.cw-contact-system--form-only { grid-template-columns: minmax(0, 760px); justify-content: center; }
.cw-contact-system > .cw-form-notice { grid-column: 1 / -1; }
.cw-contact-system *, .cw-enquiry-response { box-sizing: border-box; }
.cw-contact-system .cw-contact-form, .cw-contact-system .cw-contact-details { background: #f8f1e9; border: 1px solid var(--cw-core-line); border-radius: 30px; padding: clamp(22px, 3vw, 42px); margin: 0; min-width: 0; }
.cw-contact-system h2 { font-family: var(--wp--preset--font-family--display, Raleway, sans-serif); font-size: clamp(1.75rem, 3.2vw, 2.8rem); line-height: 1.12; margin: 0 0 16px; overflow-wrap: normal; word-break: normal; }
.cw-contact-form-heading { margin-bottom: 26px; max-width: 62ch; }
.cw-contact-form-heading p:not(.cw-kicker) { color: var(--cw-core-muted); line-height: 1.65; }
.cw-contact-details a { overflow-wrap: anywhere; }
.cw-enquiry-response { max-width: 1240px; padding: 36px 20px; margin: auto; }
.cw-form-feedback:not([hidden]) { display: block; padding: 16px; margin-block: 14px; border: 1px solid #b95f38; border-radius: 12px; }
.cw-field-error { color: #9f3425; font-size: .85rem; }
.cw-field [aria-invalid="true"] { border-color: #9f3425; }
.cw-contact-system [hidden] { display: none !important; }
@media (max-width: 820px) { .cw-contact-system { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 540px) { .cw-contact-system .cw-form-grid { grid-template-columns: minmax(0, 1fr); } .cw-contact-system input, .cw-contact-system textarea { font-size: 16px; } }
.cw-premium-form { background: rgba(255, 253, 249, 0.88); border: 1px solid var(--cw-core-line); border-radius: 34px; box-shadow: var(--cw-core-shadow); padding: clamp(1.4rem, 4vw, 3.25rem); }
.cw-form-grid { display: grid; gap: 1.2rem 1.4rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cw-field { display: flex; flex-direction: column; gap: 0.48rem; min-width: 0; }
.cw-field--wide { grid-column: 1 / -1; }
.cw-field label { color: var(--cw-core-ink); font-size: 0.85rem; font-weight: 680; }
.cw-field input, .cw-field select, .cw-field textarea,
.cw-catalogue input, .cw-catalogue select {
  appearance: none; background: var(--cw-core-paper); border: 1px solid rgba(72, 51, 40, 0.22); border-radius: 14px;
  box-sizing: border-box; color: var(--cw-core-ink); font: inherit; min-height: 52px; padding: 0.78rem 0.95rem; width: 100%;
}
.cw-field select, .cw-sort select { background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 18px) 22px, calc(100% - 13px) 22px; background-repeat: no-repeat; background-size: 5px 5px; padding-right: 2.6rem; }
.cw-field textarea { min-height: 120px; resize: vertical; }
.cw-field input:focus, .cw-field select:focus, .cw-field textarea:focus,
.cw-catalogue input:focus, .cw-catalogue select:focus { border-color: var(--cw-core-sky); box-shadow: 0 0 0 4px rgba(76, 152, 197, 0.13); outline: 0; }
.cw-file-field input[type="file"] { padding: 0.62rem; }
.cw-file-field input[type="file"]::file-selector-button { background: var(--cw-core-beige); border: 0; border-radius: 9px; color: var(--cw-core-ink); cursor: pointer; font: inherit; margin-right: 0.8rem; padding: 0.55rem 0.8rem; }
.cw-field small, .cw-form-privacy { color: var(--cw-core-muted); font-size: 0.75rem; line-height: 1.55; }
.cw-primary-action, .cw-outline-action {
  align-items: center; border-radius: 999px; box-sizing: border-box; cursor: pointer; display: inline-flex; font: inherit; font-size: 0.9rem; font-weight: 680; justify-content: center; min-height: 49px; padding: 0.72rem 1.45rem; text-decoration: none; transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.cw-primary-action { background: linear-gradient(135deg, #bc6a42, var(--cw-core-clay)); border: 1px solid transparent; box-shadow: 0 10px 24px rgba(166, 91, 54, 0.2); color: #fff; margin-top: 1.5rem; }
.cw-primary-action:hover { box-shadow: 0 14px 30px rgba(166, 91, 54, 0.28); color: #fff; transform: translateY(-2px); }
.cw-primary-action:disabled { cursor: wait; opacity: 0.62; transform: none; }
.cw-outline-action { background: transparent; border: 1px solid rgba(45, 33, 27, 0.58); color: var(--cw-core-ink); width: 100%; }
.cw-outline-action:hover { background: var(--cw-core-ink); color: #fff; }
.cw-form-notice { border-radius: 15px; color: var(--cw-core-muted); line-height: 1.55; margin: 0 0 1.2rem; padding: 0.9rem 1.05rem; }
.cw-form-notice.is-success { background: rgba(117, 152, 138, 0.14); border: 1px solid rgba(117, 152, 138, 0.35); color: #355e4f; }
.cw-form-notice.is-error { background: rgba(166, 91, 54, 0.11); border: 1px solid rgba(166, 91, 54, 0.29); color: #7b3f27; }
.cw-contact-details { background: linear-gradient(135deg, var(--cw-core-beige), #f8f0e7); border-radius: 28px; margin-top: 1.5rem; padding: clamp(1.4rem, 3vw, 2.4rem); position: relative; }
.cw-contact-details::after { background: var(--cw-core-sky); border-radius: 50%; content: ""; height: 12px; position: absolute; right: 2rem; top: 2rem; width: 12px; }
.cw-contact-details h2 { font-family: Constantia, "Palatino Linotype", Georgia, serif; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 400; margin: 0 0 0.7rem; }
.cw-contact-details p { color: var(--cw-core-muted); line-height: 1.7; margin: 0; }
.cw-contact-social { margin-top: 0.55rem !important; }

/* Lesson booking */
.cw-lesson-facts { display: grid; gap: 0.9rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 1.6rem; }
.cw-lesson-facts > div { background: var(--cw-core-soft); border: 1px solid var(--cw-core-line); border-radius: 20px; padding: 1.1rem 1.2rem; }
.cw-lesson-facts dt { color: var(--cw-core-muted); font-size: 0.72rem; font-weight: 740; letter-spacing: 0.08em; text-transform: uppercase; }
.cw-lesson-facts dd { font-family: Constantia, "Palatino Linotype", Georgia, serif; font-size: 1.35rem; margin: 0.3rem 0 0; }
.cw-booking-panel { background: radial-gradient(circle at 96% 6%, rgba(76, 152, 197, 0.13), transparent 15rem), var(--cw-core-beige); border: 1px solid var(--cw-core-line); border-radius: 44px; overflow: hidden; padding: clamp(1.4rem, 4vw, 3.8rem); position: relative; }
.cw-booking-panel::after { border: 2px solid var(--cw-core-sage); border-left-color: transparent; border-radius: 50%; content: ""; height: 180px; pointer-events: none; position: absolute; right: -85px; top: 22%; transform: rotate(-15deg); width: 210px; }
.cw-booking-panel__intro { margin-bottom: 1.5rem; max-width: 760px; position: relative; z-index: 1; }
.cw-kicker { color: var(--cw-core-clay); font-size: 0.76rem; font-weight: 750; letter-spacing: 0.12em; margin: 0 0 0.55rem; text-transform: uppercase; }
.cw-booking-panel__intro h2 { font-family: Constantia, "Palatino Linotype", Georgia, serif; font-size: clamp(2.3rem, 4.5vw, 4rem); font-weight: 400; letter-spacing: -0.03em; line-height: 1.05; margin: 0; }
.cw-booking-panel__intro p:last-child { color: var(--cw-core-muted); font-size: 1rem; line-height: 1.65; }
.cw-booking-form { position: relative; z-index: 1; }
.cw-booking-review { background: var(--cw-core-soft); border: 1px solid var(--cw-core-line); border-radius: 22px; margin-top: 1.35rem; padding: 1.2rem 1.35rem; }
.cw-booking-review h3 { font-family: Constantia, "Palatino Linotype", Georgia, serif; font-size: 1.45rem; font-weight: 400; margin: 0 0 0.7rem; }
.cw-booking-review dl { display: grid; gap: 0.4rem; margin: 0; }
.cw-booking-review dl > div { display: flex; gap: 1rem; justify-content: space-between; }
.cw-booking-review dt { color: var(--cw-core-muted); }
.cw-booking-review dd { font-weight: 650; margin: 0; text-align: right; }
.cw-booking-fallback { background: rgba(255, 253, 249, 0.72); border-radius: 22px; padding: 1.25rem; position: relative; z-index: 1; }

/* Amelia stays functional inside a restrained Clay Way shell. */
.cw-amelia-shell {
  background: #fffaf4;
  border: 1px solid var(--cw-core-line);
  border-radius: 22px;
  box-shadow: 0 18px 46px rgba(75, 48, 31, 0.055);
  display: grid;
  grid-template-columns: minmax(260px, 0.36fr) minmax(0, 0.64fr);
  overflow: hidden;
  width: 100%;
}
.cw-amelia-selection { border-right: 1px solid var(--cw-core-line); min-width: 0; padding: clamp(1.35rem, 3vw, 2.2rem); }
.cw-amelia-selection figure { aspect-ratio: 1; border-radius: 16px; margin: 0 1rem 1rem 0; overflow: hidden; width: clamp(90px, 10vw, 132px); float: left; }
.cw-amelia-selection figure[hidden] { display: none; }
.cw-amelia-selection img { height: 100%; object-fit: cover; width: 100%; }
.cw-amelia-selection h3,
.cw-amelia-form-host__intro h3 { color: var(--cw-core-ink); font-family: var(--wp--preset--font-family--display, Raleway, sans-serif); font-size: clamp(1.45rem, 2.4vw, 1.9rem); font-weight: 400; line-height: 1.2; margin: 0; }
.cw-amelia-selection > p:not(.cw-kicker),
.cw-amelia-form-host__intro > p:last-child { color: var(--cw-core-muted); font-size: 0.88rem; line-height: 1.55; }
.cw-amelia-selection ul { display: grid; gap: 0.55rem; list-style: none; margin: 1.15rem 0 0; padding: 0; }
.cw-amelia-selection li { color: var(--cw-core-muted); font-size: 0.78rem; line-height: 1.4; padding-left: 1rem; position: relative; }
.cw-amelia-selection li::before { background: var(--cw-core-clay); border-radius: 50%; content: ""; height: 5px; left: 0; position: absolute; top: 0.55em; width: 5px; }
.cw-amelia-form-host { min-width: 0; padding: clamp(1.35rem, 3vw, 2.2rem); }
.cw-amelia-form-host__intro { margin-bottom: 1.25rem; max-width: 720px; }
.cw-amelia-frame { border: 0; display: block; min-height: 560px; width: 100%; }
.cw-booking-embed-document { margin: 0 !important; }
body.cw-booking-embed-document { background: #fffaf4; padding: 8px; }
body.cw-booking-embed-document #wpadminbar { display: none; }
#cw-booking-root { display: flow-root; }
#cw-booking-root #amelia-container.am-fs__wrapper { margin: 0 auto !important; }
.cw-amelia-form { min-width: 0; width: 100%; }
.cw-amelia-form > * { max-width: 100%; }
.cw-amelia-unavailable { background: var(--cw-core-paper); border: 1px dashed rgba(166, 91, 54, 0.35); border-radius: 16px; color: var(--cw-core-muted); line-height: 1.55; padding: 1rem 1.15rem; }
.cw-amelia-unavailable p { margin: 0; }
.cw-amelia-unavailable p + p { margin-top: 0.7rem; }

/* Live WooCommerce catalogue */
.cw-catalogue { min-height: 620px; }
.cw-catalogue-toolbar { align-items: center; display: grid; gap: 1rem; grid-template-columns: minmax(260px, 1fr) auto; margin-bottom: 1.5rem; }
.cw-catalogue-search { align-items: center; display: flex; max-width: 680px; position: relative; }
.cw-catalogue-search span { color: var(--cw-core-muted); font-size: 1.55rem; left: 1rem; line-height: 1; pointer-events: none; position: absolute; top: 50%; transform: translateY(-53%); }
.cw-catalogue-search input { border-radius: 999px; padding-left: 3rem; }
.cw-sort { align-items: center; color: var(--cw-core-muted); display: flex; font-size: 0.82rem; gap: 0.7rem; white-space: nowrap; }
.cw-sort select { min-width: 220px; }
.cw-filter-toggle { background: transparent; border: 1px solid var(--cw-core-line); border-radius: 999px; color: var(--cw-core-ink); display: none; font: inherit; min-height: 48px; padding: 0.6rem 1.15rem; }
.cw-catalogue-layout { align-items: start; display: grid; gap: clamp(1.5rem, 3vw, 3rem); grid-template-columns: 270px minmax(0, 1fr); }
.cw-catalogue-filters { background: var(--cw-core-soft); border: 1px solid var(--cw-core-line); border-radius: 26px; padding: 1.35rem; position: sticky; top: 110px; }
.cw-filter-heading { align-items: center; display: flex; justify-content: space-between; }
.cw-filter-heading h2 { font-family: Constantia, "Palatino Linotype", Georgia, serif; font-size: 1.75rem; font-weight: 400; margin: 0; }
.cw-filter-heading button { background: transparent; border: 0; display: none; font-size: 2rem; }
.cw-filter-group { border: 0; border-top: 1px solid var(--cw-core-line); display: grid; gap: 0.55rem; margin: 1.15rem 0 0; padding: 1.1rem 0 0; }
.cw-filter-group legend { float: left; font-size: 0.8rem; font-weight: 730; margin-bottom: 0.7rem; width: 100%; }
.cw-filter-group label { align-items: center; color: var(--cw-core-muted); cursor: pointer; display: flex; font-size: 0.86rem; gap: 0.55rem; }
.cw-filter-group label small { margin-left: auto; }
.cw-filter-group input[type="radio"], .cw-filter-group input[type="checkbox"] { appearance: none; border: 1px solid rgba(72, 51, 40, 0.38); border-radius: 4px; flex: 0 0 17px; height: 17px; min-height: 17px; padding: 0; width: 17px; }
.cw-filter-group input[type="radio"] { border-radius: 50%; }
.cw-filter-group input:checked { background: var(--cw-core-clay); border-color: var(--cw-core-clay); box-shadow: inset 0 0 0 3px var(--cw-core-soft); }
.cw-price-inputs { align-items: flex-end; display: grid; gap: 0.45rem; grid-template-columns: 1fr auto 1fr; }
.cw-price-inputs label { align-items: flex-start; flex-direction: column; font-size: 0.72rem; gap: 0.25rem; }
.cw-price-inputs input { min-height: 42px; padding: 0.5rem; }
.cw-reset-filters { background: transparent; border: 0; color: var(--cw-core-clay); cursor: pointer; font: inherit; font-size: 0.82rem; font-weight: 680; margin-top: 1.2rem; padding: 0; text-decoration: underline; text-underline-offset: 0.18em; }
.cw-results-meta { align-items: center; display: flex; justify-content: space-between; min-height: 38px; }
.cw-results-meta p { color: var(--cw-core-muted); font-size: 0.85rem; margin: 0 0 1rem; }
.cw-results-meta .is-error { color: #7b3f27; }
.cw-product-results { display: grid; gap: clamp(1rem, 2vw, 1.5rem); grid-template-columns: repeat(3, minmax(0, 1fr)); opacity: 1; transition: opacity 160ms ease; }
.cw-product-results.is-updating { opacity: 0.68; }
.cw-live-product-card { background: var(--cw-core-soft); border: 1px solid rgba(72, 51, 40, 0.1); border-radius: 24px; min-width: 0; overflow: hidden; transition: box-shadow 240ms ease, transform 240ms ease; }
.cw-live-product-card:hover { box-shadow: 0 17px 40px rgba(75, 48, 31, 0.1); transform: translateY(-4px); }
.cw-live-product-card__image { align-items: center; aspect-ratio: 1 / 0.92; background: linear-gradient(145deg, #eee2d5, #fbf6ef); display: flex; justify-content: center; overflow: hidden; padding: 0; }
.cw-live-product-card__image img { height: 100%; object-fit: contain; object-position: center; transition: transform 380ms ease; width: 100%; }
.cw-live-product-card:hover .cw-live-product-card__image img { transform: scale(1.025); }
.cw-live-product-card__body { padding: 1.05rem 1.1rem 1.2rem; }
.cw-live-product-card__category { color: var(--cw-core-muted); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em; margin: 0; text-transform: uppercase; }
.cw-live-product-card h2 { font-family: Constantia, "Palatino Linotype", Georgia, serif; font-size: clamp(1.3rem, 2vw, 1.7rem); font-weight: 400; line-height: 1.16; margin: 0.35rem 0 0.8rem; }
.cw-live-product-card h2 a { color: var(--cw-core-ink); text-decoration: none; }
.cw-live-product-card__meta { align-items: baseline; display: flex; gap: 0.7rem; justify-content: space-between; margin-bottom: 0.85rem; }
.cw-live-product-card__price { font-size: 0.88rem; font-weight: 700; margin: 0; }
.cw-stock { font-size: 0.7rem; margin: 0; text-align: right; }
.cw-stock.is-in-stock { color: #4f7968; }
.cw-stock.is-out-of-stock { color: #8a5138; }
.cw-no-results { background: var(--cw-core-soft); border: 1px solid var(--cw-core-line); border-radius: 28px; padding: clamp(2rem, 6vw, 5rem); text-align: center; }
.cw-no-results h2 { font-family: Constantia, "Palatino Linotype", Georgia, serif; font-size: clamp(2rem, 4vw, 3.3rem); font-weight: 400; margin: 0; }
.cw-no-results .cw-primary-action { margin-top: 0.8rem; }
.cw-filter-backdrop { background: rgba(45, 33, 27, 0.35); inset: 0; position: fixed; z-index: 89; }

@media (max-width: 1100px) {
  .cw-product-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cw-catalogue-layout { grid-template-columns: 240px minmax(0, 1fr); }
}

@media (max-width: 800px) {
  .cw-form-grid { grid-template-columns: 1fr; }
  .cw-field--wide { grid-column: auto; }
  .cw-lesson-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cw-amelia-shell { grid-template-columns: 1fr; }
  .cw-amelia-selection { border-bottom: 1px solid var(--cw-core-line); border-right: 0; }
  .cw-catalogue-toolbar { grid-template-columns: 1fr auto; }
  .cw-catalogue-search { grid-column: 1 / -1; max-width: none; }
  .cw-filter-toggle { display: inline-flex; }
  .cw-catalogue-layout { display: block; }
  .cw-catalogue-filters { border-radius: 28px 0 0 28px; bottom: 0; box-shadow: -20px 0 60px rgba(45, 33, 27, 0.18); max-width: min(88vw, 360px); overflow-y: auto; padding: 1.4rem; position: fixed; right: 0; top: 0; transform: translateX(110%); transition: transform 220ms ease; width: 100%; z-index: 90; }
  .cw-catalogue-filters.is-open { transform: translateX(0); }
  .cw-filter-heading button { display: inline-block; }
  .cw-filters-open { overflow: hidden; }
}

@media (max-width: 520px) {
  .cw-premium-form, .cw-booking-panel { border-radius: 24px; padding: 1.1rem; }
  .cw-lesson-facts { grid-template-columns: 1fr; }
  .cw-catalogue-toolbar { grid-template-columns: 1fr 1fr; }
  .cw-sort { align-items: flex-start; flex-direction: column; gap: 0.3rem; }
  .cw-sort select { min-width: 0; }
  .cw-product-results { gap: 0.75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cw-live-product-card { border-radius: 18px; }
  .cw-live-product-card__body { padding: 0.8rem; }
  .cw-live-product-card h2 { font-size: 1.12rem; }
  .cw-live-product-card__meta { align-items: flex-start; flex-direction: column; gap: 0.25rem; }
  .cw-stock { text-align: left; }
  .cw-outline-action { font-size: 0.78rem; min-height: 42px; padding-inline: 0.7rem; }
}

@media (max-width: 370px) {
  .cw-product-results { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .cw-product-results, .cw-catalogue-filters, .cw-live-product-card, .cw-primary-action { transition: none !important; }
}

/* Catalogue v3: approved Clay Way composition. */
.cw-catalogue-page.cw-inner-page { background: var(--cw-core-paper); padding-bottom: 3rem; }
.cw-catalogue-intro { box-sizing: border-box; margin: 0 auto; max-width: 1380px; padding: clamp(3.8rem, 6vw, 6.2rem) 0 clamp(3rem, 4.7vw, 4.8rem); text-align: center; width: var(--cw-wide, min(92vw, 1380px)); }
.cw-catalogue-intro--runtime[hidden] { display: none; }
.cw-el-page .e-con-inner:has(> .elementor-widget-shortcode .cw-catalogue-intro--runtime) > .elementor-widget-heading:first-child,
.cw-el-page .e-con-inner:has(> .elementor-widget-shortcode .cw-catalogue-intro--runtime) > .elementor-widget-heading:first-child + .elementor-widget-text-editor { display: none; }
.cw-catalogue-title-ornament { align-items: center; display: grid; gap: clamp(1.1rem, 2.4vw, 2.2rem); grid-template-columns: minmax(70px, 1fr) auto minmax(70px, 1fr); }
.cw-catalogue-title-ornament h1 { align-items: center; color: var(--cw-core-ink); display: flex; flex-wrap: nowrap; font-family: "Raleway", "Segoe UI", sans-serif; font-size: clamp(2.45rem, 4vw, 3.85rem); font-weight: 430; gap: clamp(0.55rem, 1.25vw, 1.05rem); justify-content: center; letter-spacing: -0.045em; line-height: 1.04; margin: 0; min-width: 0; white-space: nowrap; }
.cw-catalogue-title-ornament h1 > span { display: inline-block; }
.cw-catalogue-title-logo { display: block; flex: 0 1 auto; height: auto; max-width: 100%; object-fit: contain; width: clamp(152px, 14vw, 206px); }
.cw-catalogue-title-logo img { display: block; width: 100%; height: auto; object-fit: contain; }
.cw-catalogue-title-ornament > span { background: var(--cw-core-sky); height: 1px; position: relative; }
.cw-catalogue-title-ornament > span::after { background: var(--cw-core-sky); border: 4px solid var(--cw-core-paper); border-radius: 50%; content: ""; height: 14px; position: absolute; right: -1px; top: 50%; transform: translate(50%, -50%); width: 14px; }
.cw-catalogue-title-ornament > span:last-child::after { left: -1px; right: auto; transform: translate(-50%, -50%); }
.cw-catalogue-intro > p { display: none; }

.cw-catalogue { min-height: 620px; }
.cw-catalogue-mobile-tools { display: none; }
.cw-catalogue-layout { align-items: start; display: grid; gap: 1.75rem; grid-template-columns: 262px minmax(0, 1fr); }
.cw-catalogue-filters { background: #fffaf4; border: 1px solid #e6d7c7; border-radius: 22px; box-shadow: 0 15px 42px rgba(72, 48, 35, 0.035); overflow: hidden; padding: 0; position: sticky; top: 110px; }
.cw-filter-heading { display: none; }
.cw-catalogue-filters form { padding: 1.75rem 1.45rem 1.6rem; }
.cw-filter-search-block { border-bottom: 1px solid #e6d7c7; padding-bottom: 1.65rem; }
.cw-filter-search-block > label:first-child strong,
.cw-filter-group legend { color: var(--cw-core-ink); display: block; float: none; font-family: Constantia, "Palatino Linotype", Georgia, serif; font-size: 1.42rem; font-weight: 400; line-height: 1.1; margin: 0 0 1rem; width: 100%; }
.cw-catalogue-search { align-items: center; background: var(--cw-core-paper); border: 1px solid #af9b84; border-radius: 11px; display: flex; max-width: none; min-height: 52px; padding: 0 0.9rem 0 1rem; position: relative; }
.cw-catalogue-search:focus-within { border-color: var(--cw-core-sky); box-shadow: 0 0 0 3px rgba(76, 152, 197, 0.12); }
.cw-catalogue .cw-catalogue-search input { background: transparent; border: 0; border-radius: 0; box-shadow: none; font-size: 1rem; min-height: 50px; min-width: 0; outline: 0; padding: 0; width: 100%; }
.cw-catalogue-search > span:not(.screen-reader-text) { color: #7d725d; flex: 0 0 auto; font-size: 1.3rem; left: auto; line-height: 1; pointer-events: none; position: static; top: auto; transform: none; }
.cw-filter-group { border: 0; border-bottom: 1px solid #e6d7c7; display: grid; gap: 0.28rem; margin: 0; padding: 1.7rem 0; }
.cw-filter-search-block + [data-cw-category-filter],
[data-cw-category-filter] + [data-cw-price-filter],
[data-cw-price-filter] + .cw-filter-group { margin-top: 14px; }
.cw-filter-group label { align-items: flex-start; color: #443831; cursor: pointer; display: flex; font-size: 1rem; gap: 0.62rem; line-height: 1.35; min-height: 30px; }
.cw-filter-group label small { color: var(--cw-core-muted); margin-left: auto; }
.cw-filter-category--child { padding-left: 1.25rem; position: relative; }
.cw-filter-category--child::before { background: #d6c4b2; content: ""; height: 1px; left: 0.15rem; position: absolute; top: 0.62rem; width: 0.7rem; }
.cw-filter-category-row { align-items: center; display: grid; gap: 0.35rem; grid-template-columns: minmax(0, 1fr) 44px; min-width: 0; }
.cw-filter-category-row > label { min-width: 0; }
.cw-filter-category-row:not(:has(.cw-category-disclosure)) { grid-template-columns: minmax(0, 1fr); }
.cw-filter-category-children { display: grid; gap: 0.28rem; min-width: 0; }
.cw-filter-category-children[hidden] { display: none; }
.cw-filter-category-children .cw-filter-category-row { padding-left: 1rem; }
.cw-category-disclosure { align-items: center; align-self: start; background: transparent; border: 0; border-radius: 50%; color: var(--cw-core-ink); cursor: pointer; display: inline-flex; height: 44px; justify-content: center; margin-top: -7px; padding: 0; width: 44px; }
.cw-category-disclosure:hover { background: rgba(76, 152, 197, 0.08); }
.cw-category-disclosure:focus-visible { outline: 3px solid #176182; outline-offset: 2px; }
.cw-category-disclosure svg { fill: none; height: 20px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; transition: transform 160ms ease; width: 20px; }
.cw-category-disclosure[aria-expanded="true"] svg { transform: rotate(180deg); }
.cw-catalogue .cw-filter-group input[type="radio"],
.cw-catalogue .cw-filter-group input[type="checkbox"] { appearance: none; background: var(--cw-core-paper); border: 1px solid #a99983; border-radius: 3px; box-shadow: none; flex: 0 0 16px; height: 16px; margin: 1px 0 0; min-height: 16px; padding: 0; width: 16px; }
.cw-catalogue .cw-filter-group input[type="radio"] { border-radius: 50%; }
.cw-catalogue .cw-filter-group input[type="radio"]:checked { background: var(--cw-core-clay); border: 4px solid var(--cw-core-paper); box-shadow: 0 0 0 1px var(--cw-core-clay); }
.cw-catalogue .cw-filter-group input[type="checkbox"]:checked { background: var(--cw-core-clay); border-color: var(--cw-core-clay); }
.cw-catalogue .cw-filter-group input[type="checkbox"]:checked::after { color: #fff; content: "✓"; display: block; font-size: 0.7rem; font-weight: 700; line-height: 14px; text-align: center; }
.cw-price-track { height: 20px; margin: 0 0.45rem 0.6rem; position: relative; }
.cw-price-track::before { background: var(--cw-core-clay); content: ""; height: 2px; left: 0; position: absolute; right: 0; top: 9px; }
.cw-price-track span { background: var(--cw-core-clay); border-radius: 50%; height: 12px; position: absolute; top: 4px; width: 12px; }
.cw-price-track span:first-child { left: 0; }
.cw-price-track span:last-child { right: 0; }
.cw-price-inputs { align-items: center; display: grid; gap: 0.45rem; grid-template-columns: 1fr auto 1fr auto; }
.cw-price-inputs label { display: block; }
.cw-catalogue .cw-price-inputs input { background: var(--cw-core-paper); border: 1px solid #af9b84; border-radius: 8px; font-size: 1rem; min-height: 43px; padding: 0.5rem 0.62rem; }
.cw-price-inputs > span { color: var(--cw-core-muted); }
.cw-reset-filters { align-items: center; background: transparent; border: 1px solid #968b72; border-radius: 8px; color: var(--cw-core-ink); cursor: pointer; display: flex; font: inherit; font-size: 1rem; gap: 1rem; justify-content: center; margin-top: 1.6rem; min-height: 48px; padding: 0.55rem 0.9rem; text-decoration: none; width: 100%; }
.cw-reset-filters:hover { background: #fff; border-color: var(--cw-core-clay); color: var(--cw-core-clay); }
.cw-filter-mobile-actions { display: none; }

.cw-catalogue-results { min-width: 0; }
.cw-results-meta { align-items: flex-start; display: grid; gap: 1rem; grid-template-columns: auto minmax(0, 1fr) auto; margin-bottom: 1.25rem; min-height: 50px; }
.cw-results-meta > p { color: var(--cw-core-muted); font-size: 1.125rem; margin: 0.72rem 0 0; white-space: nowrap; }
.cw-results-meta > p strong { color: var(--cw-core-ink); font-weight: 520; }
.cw-results-meta [data-cw-results-range] { color: var(--cw-core-muted); }
.cw-active-filters { display: flex; flex-wrap: wrap; gap: 0.5rem; min-width: 0; padding-top: 0.18rem; }
.cw-active-filters[hidden] { display: none; }
.cw-results-meta > .cw-active-filters { grid-column: 2; }
.cw-filter-chip { align-items: center; background: var(--cw-core-paper); border: 1px solid #aaa184; border-radius: 10px; color: var(--cw-core-ink); cursor: pointer; display: inline-flex; font-size: 0.74rem; gap: 0.55rem; min-height: 38px; padding: 0.45rem 0.75rem; }
.cw-filter-chip:hover { border-color: var(--cw-core-sky); }
.cw-filter-chip > span:first-of-type { color: var(--cw-core-muted); font-size: 1.1rem; line-height: 1; }
.cw-sort { align-items: center; background: var(--cw-core-paper); border: 1px solid #af9b84; border-radius: 9px; color: var(--cw-core-ink); display: flex; font-size: 1rem; gap: 0.5rem; min-height: 44px; padding: 0 0.6rem 0 0.85rem; white-space: nowrap; }
.cw-catalogue .cw-sort select { background: transparent; border: 0; border-radius: 0; box-shadow: none; font-size: 1rem; min-height: 42px; min-width: 145px; outline: 0; padding: 0 1.4rem 0 0; }
.cw-sort--desktop { grid-column: 3; justify-self: end; }

.cw-product-results { align-items: stretch; display: grid; gap: 1.5rem 1.2rem; grid-auto-rows: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); opacity: 1; transition: opacity 150ms ease; }
.cw-product-results.is-updating { opacity: 0.28; }
.cw-live-product-card { align-self: stretch; background: #fffaf4; border: 1px solid #eadbcb; border-radius: 17px; box-shadow: 0 12px 31px rgba(72, 48, 35, 0.025); display: grid; height: 100%; min-width: 0; overflow: hidden; transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease; }
.cw-live-product-card:hover { border-color: #d4bda8; box-shadow: 0 17px 37px rgba(72, 48, 35, 0.075); transform: translateY(-2px); }
.cw-live-product-card__inner,
.cw-live-product-card__link { align-self: stretch; color: inherit; display: flex; flex: 1 1 auto; flex-direction: column; height: 100%; min-height: 100%; min-width: 0; text-decoration: none; width: 100%; }
.cw-live-product-card__inner > p:empty,
.cw-live-product-card__image + p { display: none !important; margin: 0 !important; }
.cw-live-product-card, .cw-live-product-card * { box-sizing: border-box; }
.cw-live-product-card__image { align-items: center; aspect-ratio: 4 / 5; background: #f1e8dd; display: grid; flex: 0 0 auto; grid-template: minmax(0, 1fr) / minmax(0, 1fr); justify-content: center; overflow: hidden; padding: 10px; min-width: 0; width: 100%; }
.cw-live-product-card--portrait .cw-live-product-card__image { padding: 10px; }
.cw-live-product-card__image img { height: 100%; min-height: 0; min-width: 0; max-height: 100%; object-fit: contain; object-position: center; transition: none; width: 100%; }
.cw-live-product-card__action[aria-disabled="true"] { cursor: wait; opacity: 0.7; }
.cw-live-product-card:hover .cw-live-product-card__image img { transform: none; }
.cw-live-product-card__body { display: flex; flex: 1 1 auto; flex-direction: column; height: 100%; padding: 0.5rem 0.9rem 0.9rem; min-width: 0; }
.cw-live-product-card h2,
.cw-live-product-card__body > [role="heading"] { color: var(--cw-core-ink); display: block; font-family: var(--wp--preset--font-family--display, Raleway, sans-serif); font-size: clamp(1.1rem, 1.5vw, 1.45rem); font-weight: 500; line-height: 1.3; margin: 0 !important; min-height: 0; overflow-wrap: normal; word-break: normal; }
.cw-live-product-card h2 a { color: inherit; text-decoration: none; }
.cw-live-product-card__details { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; }
.cw-live-product-card__category { display: block; color: var(--cw-core-muted); font-size: 0.875rem; font-weight: 400; letter-spacing: 0; margin: 0.32rem 0 0; text-transform: none; }
.cw-live-product-card__price { display: block; color: var(--cw-core-ink); font-family: inherit; font-size: 1.1rem; font-weight: 500; line-height: 1.4; margin: 0.45rem 0 0; }
.cw-stock { display: block; color: var(--cw-core-muted); font-size: 0.8125rem; margin: 0.25rem 0 0.6rem; min-height: 1.1rem; text-align: left; }
.cw-stock.is-in-stock { color: #4f7968; }
.cw-stock.is-made-to-order { color: #8b674b; }
.cw-stock.is-out-of-stock { color: #8a5138; }
.cw-live-product-card__action { align-items: center; background: var(--cw-clay-deep, #9f4f2d); border: 1px solid transparent; border-radius: 999px; color: #fff; cursor: pointer; display: flex; font: inherit; font-size: 0.9375rem; font-weight: 600; justify-content: center; margin-top: auto !important; min-height: 46px; padding: 0.65rem 0.9rem; text-align: center; text-decoration: none; white-space: normal; width: 100%; max-width: 100%; }
.cw-live-product-card:hover .cw-live-product-card__action { background: #874025; border-color: transparent; color: #fff; }
.cw-live-product-card__action:disabled { cursor: wait; opacity: 0.72; }
.cw-live-product-card__action.is-success { background: #3f6f5a; color: #fff; }
.cw-catalogue-cart-status { color: #3f6f5a; display: block; font-size: 0.68rem; line-height: 1.35; margin-top: 0; }
.cw-catalogue-cart-status:not(:empty) { margin-top: 0.42rem; }
.cw-catalogue-cart-status.is-error { color: #9c442d; }
.cw-no-results { background: #fffaf4; border: 1px solid #e6d7c7; border-radius: 18px; min-height: 420px; padding: clamp(2rem, 6vw, 5rem); text-align: center; }
.cw-no-results h2 { font-family: Constantia, "Palatino Linotype", Georgia, serif; font-size: clamp(2rem, 4vw, 3.3rem); font-weight: 400; margin: 0; }
.cw-catalogue-loading { align-items: center; color: var(--cw-core-muted); display: flex; font-size: 0.84rem; gap: 0.65rem; justify-content: center; min-height: 48px; }
.cw-catalogue-loading[hidden], .cw-catalogue-error[hidden] { display: none; }
.cw-catalogue-loading > span { animation: cw-catalogue-spin 700ms linear infinite; border: 2px solid #d8c7b6; border-radius: 50%; border-top-color: var(--cw-core-clay); height: 18px; width: 18px; }
.cw-catalogue-error { align-items: center; background: #fff7ef; border: 1px solid #d9b99f; border-radius: 14px; color: var(--cw-core-ink); display: flex; flex-wrap: wrap; gap: 0.8rem 1rem; justify-content: space-between; margin: 0 0 1rem; padding: 0.9rem 1rem; }
.cw-catalogue-error p { margin: 0; }
.cw-catalogue-error button, .cw-catalogue-error a { align-items: center; background: var(--cw-core-clay); border: 0; border-radius: 999px; color: #fff; cursor: pointer; display: inline-flex; font: inherit; justify-content: center; min-height: 42px; padding: 0.55rem 1rem; text-decoration: none; }
.cw-catalogue.is-loading .cw-catalogue-pagination { opacity: 0.45; pointer-events: none; }
.cw-catalogue-pagination { margin-top: clamp(1.8rem, 4vw, 3rem); min-height: 46px; transition: opacity 150ms ease; }
.cw-catalogue-pagination:empty { display: none; min-height: 0; }
.cw-catalogue-pagination nav ul { align-items: center; display: flex; flex-wrap: wrap; gap: 0.45rem; justify-content: center; list-style: none; margin: 0; padding: 0; }
.cw-catalogue-pagination nav li { margin: 0; padding: 0; }
.cw-page-link { align-items: center; background: #fffaf4; border: 1px solid #d9c8b7; border-radius: 9px; color: var(--cw-core-ink); display: inline-flex; font-size: 0.8rem; gap: 0.45rem; justify-content: center; min-height: 42px; min-width: 42px; padding: 0.45rem 0.72rem; text-decoration: none; }
a.cw-page-link:hover, a.cw-page-link:focus-visible { border-color: var(--cw-core-sky); color: var(--cw-core-clay); outline: 0; }
.cw-page-link.is-current { background: var(--cw-core-clay); border-color: var(--cw-core-clay); color: #fff; font-weight: 700; }
.cw-page-ellipsis { align-items: center; color: var(--cw-core-muted); display: inline-flex; justify-content: center; min-height: 42px; min-width: 28px; }
.cw-noscript-actions { display: flex; gap: 0.6rem; margin-top: 1rem; }
.cw-noscript-actions > * { align-items: center; border: 1px solid #968b72; border-radius: 999px; display: flex; flex: 1; justify-content: center; min-height: 46px; padding: 0.55rem 0.8rem; text-decoration: none; }
.cw-noscript-sort { display: grid; gap: 0.45rem; margin-top: 1rem; }
.cw-noscript-sort label { color: var(--cw-core-ink); font-size: 0.82rem; font-weight: 650; }
.cw-noscript-sort select { background: var(--cw-core-paper); border: 1px solid #af9b84; border-radius: 8px; min-height: 44px; padding: 0.5rem 0.65rem; width: 100%; }
.cw-catalogue-noscript { color: var(--cw-core-muted); font-size: 0.82rem; margin: 1rem 0 0; }
html:not(.cw-js) [data-cw-catalogue] .cw-filter-category-children[hidden] { display: grid !important; }
html:not(.cw-js) [data-cw-catalogue] .cw-category-disclosure { display: none !important; }
@keyframes cw-catalogue-spin { to { transform: rotate(360deg); } }
.cw-catalogue .cw-primary-action { background: var(--cw-core-clay); border: 0; box-shadow: none; color: #fff; }
.cw-filter-backdrop { background: rgba(45, 33, 27, 0.36); inset: 0; position: fixed; z-index: 89; }

.cw-catalogue-lessons { align-items: stretch; background: #fffaf4; border: 1px solid #e6d7c7; border-radius: 24px 82px 24px 24px; box-shadow: 0 20px 55px rgba(72, 48, 35, 0.08); box-sizing: border-box; display: grid; grid-template-columns: 1.05fr 1fr; margin: 4rem auto 0; max-width: 1380px; min-height: 255px; overflow: hidden; position: relative; width: var(--cw-wide, min(92vw, 1380px)); }
.cw-catalogue-lessons figure { margin: 0; min-height: 255px; overflow: hidden; }
.cw-catalogue-lessons figure img { height: 100%; object-fit: cover; object-position: center 48%; width: 100%; }
.cw-catalogue-lessons__copy { align-self: center; max-width: 540px; padding: 2.4rem clamp(4.4rem, 7vw, 6.8rem) 2.4rem 3.2rem; position: relative; z-index: 2; }
.cw-catalogue-lessons__copy h2 { color: var(--cw-core-ink); font-family: Constantia, "Palatino Linotype", Georgia, serif; font-size: clamp(2.3rem, 3.5vw, 3.4rem); font-weight: 400; line-height: 1.04; margin: 0; }
.cw-catalogue-lessons__copy p { color: var(--cw-core-muted); margin: 0.95rem 0 1.55rem; }
.cw-catalogue-lessons__copy a { align-items: center; background: var(--cw-core-clay); border-radius: 999px; color: #fff; display: inline-flex; font-weight: 650; justify-content: center; min-height: 48px; padding: 0.7rem 1.65rem; text-decoration: none; }
.cw-catalogue-lessons > svg { bottom: -3px; height: 200px; overflow: visible; position: absolute; right: -7px; width: 270px; z-index: 1; }
.cw-catalogue-lessons > svg path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.cw-catalogue-lessons__clay { stroke: var(--cw-core-clay); stroke-width: 2; }
.cw-catalogue-lessons__sage { stroke: var(--cw-core-sage); stroke-width: 3; }
.cw-catalogue-lessons > svg circle { fill: var(--cw-core-sky); stroke: var(--cw-core-paper); stroke-width: 4; }
.cw-catalogue-lessons__leaf { stroke: var(--cw-core-sky); stroke-width: 1.5; }

@media (min-width: 1101px) {
  .cw-catalogue-lessons { max-width: 1160px; min-height: 220px; border-radius: 22px 68px 22px 22px; }
  .cw-catalogue-lessons figure { min-height: 220px; }
  .cw-catalogue-lessons__copy { max-width: 470px; padding: 1.875rem 3.875rem 1.875rem 2.625rem; }
  .cw-catalogue-lessons__copy h2 { font-size: clamp(2.125rem, 3vw, 2.75rem); }
  .cw-catalogue-lessons__copy p { font-size: .9375rem; margin: .75rem 0 1.25rem; }
  .cw-catalogue-lessons__copy a { min-height: 46px; padding: .625rem 1.5rem; font-size: .9375rem; }
  .cw-catalogue-lessons > svg { width: 220px; height: 165px; }
}

@media (min-width: 901px) {
  .cw-catalogue-intro { max-width: 1240px; padding-block: 2rem 0.75rem; }
  .cw-catalogue-title-ornament { gap: clamp(1rem, 2vw, 1.7rem); }
  .cw-catalogue-title-ornament h1 { font-size: clamp(2rem, 2.8vw, 2.65rem); }
  .cw-catalogue-title-logo { width: clamp(132px, 11vw, 164px); }
  .cw-catalogue-intro > p { font-size: 0.95rem; margin-top: 0.75rem; }
  .cw-catalogue { margin-inline: auto; max-width: 1240px; min-height: 500px; width: 100%; }
  .cw-catalogue-layout { gap: 1.25rem; grid-template-columns: 280px minmax(0, 1fr); }
  .cw-catalogue-filters form { padding: 1.1rem 1rem; }
  .cw-filter-search-block { padding-bottom: 1rem; }
  .cw-filter-search-block > label:first-child strong,
  .cw-filter-group legend { font-size: 1.2rem; margin-bottom: 0.75rem; }
  .cw-filter-search-block > label:first-child strong { font-size: 1.35rem; margin-bottom: 0.9rem; }
  .cw-catalogue-search { min-height: 58px; padding-inline: 1.05rem 0.95rem; }
  .cw-catalogue .cw-catalogue-search input { font-size: 1.05rem; min-height: 56px; }
  .cw-catalogue-search > span:not(.screen-reader-text) { font-size: 1.42rem; }
  .cw-filter-group { gap: 0.2rem; padding-block: 0.9rem; }
  .cw-filter-group label { font-size: 0.9rem; min-height: 27px; }
  .cw-price-track { margin-bottom: 0.35rem; }
  .cw-catalogue .cw-price-inputs input { font-size: 0.9rem; min-height: 40px; }
  .cw-reset-filters { font-size: 0.86rem; margin-top: 1rem; min-height: 42px; }
  .cw-results-meta { margin-bottom: 0.75rem; min-height: 42px; }
  .cw-results-meta > p { font-size: 1rem; margin-top: 0.65rem; }
  .cw-sort { font-size: 0.9rem; min-height: 42px; }
  .cw-catalogue .cw-sort select { font-size: 0.9rem; min-height: 40px; }
  .cw-product-results { gap: 0.875rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cw-live-product-card__image,
  .cw-live-product-card--portrait .cw-live-product-card__image {
    aspect-ratio: 4 / 5;
    padding: 0.625rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    flex-shrink: 0;
  }
  .cw-live-product-card__image img { min-width: 0; min-height: 0; max-height: 100%; object-fit: contain; }
  .cw-live-product-card__body { padding: 0.5rem 0.75rem 0.68rem; }
  .cw-live-product-card h2,
  .cw-live-product-card__body > [role="heading"] { font-size: clamp(1.04rem, 1.2vw, 1.22rem); }
  .cw-live-product-card__category { font-size: 0.875rem; margin-top: 0.5rem; }
  .cw-live-product-card__price { font-size: 1.04rem; margin-top: 0.5rem; }
  .cw-stock { margin-block: 0.3rem 0.55rem; }
  .cw-live-product-card__action { min-height: 46px; }
}

/* Laptop catalogue: keep the full first row visible while preserving readable filters. */
@media (min-width: 1101px) and (max-width: 1600px) {
  .cw-catalogue-intro { padding-block: 1.25rem 0.625rem; }
  .cw-catalogue-title-ornament { gap: clamp(0.9rem, 1.6vw, 1.35rem); }
  .cw-catalogue-title-ornament h1 { font-size: clamp(1.9rem, 2.4vw, 2.25rem); }
  .cw-catalogue-title-logo { width: clamp(116px, 9vw, 132px); }
  .cw-catalogue-intro > p { font-size: 0.9rem; margin-top: 0.5rem; }
  .cw-product-results { gap: 0.8rem; }
  .cw-live-product-card__image,
  .cw-live-product-card--portrait .cw-live-product-card__image {
    aspect-ratio: auto;
    height: clamp(260px, 20vw, 300px);
  }
  .cw-live-product-card__body { padding: 0.45rem 0.72rem 0.62rem; }
  .cw-live-product-card__action { min-height: 43px; }
}

@media (min-width: 901px) {
  .cw-contact-form { border-radius: 26px; padding: 2rem; }
  .cw-contact-form .cw-form-grid { gap: 0.9rem 1rem; }
  .cw-contact-form .cw-field { gap: 0.35rem; }
  .cw-contact-form .cw-field input,
  .cw-contact-form .cw-field select,
  .cw-contact-form .cw-field textarea { min-height: 47px; padding: 0.65rem 0.8rem; }
  .cw-contact-form .cw-field textarea { min-height: 104px; }
  .cw-contact-form .cw-primary-action { margin-top: 1.1rem; min-height: 46px; }
}

.cw-contact-details .cw-owner-socials { align-items: center; display: flex; gap: 0.65rem; margin: 1rem 0 0; }
.cw-contact-details .cw-owner-socials a { height: 42px; width: 42px; }
.cw-contact-details .cw-owner-socials img { height: 32px; object-fit: contain; width: 32px; }

@media (max-width: 1100px) {
  .cw-catalogue-layout { grid-template-columns: 260px minmax(0, 1fr); }
  .cw-product-results { gap: 1.1rem 0.85rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cw-live-product-card__body { padding-inline: 0.8rem; }
}

@media (max-width: 900px) {
  .cw-catalogue-intro { padding-block: 3rem 1.25rem; }
  .cw-catalogue-title-ornament { gap: 1.3rem; }
  .cw-catalogue-title-ornament h1 { font-size: clamp(2.4rem, 6vw, 3.3rem); }
  .cw-catalogue-mobile-tools { display: grid; gap: 0.65rem; grid-template-columns: minmax(0, 1fr) auto auto; margin-bottom: 1.25rem; }
  .cw-catalogue-mobile-tools .cw-catalogue-search { grid-column: auto; }
  .cw-filter-toggle { align-items: center; background: var(--cw-core-paper); border: 1px solid #af9b84; border-radius: 9px; color: var(--cw-core-ink); display: flex; gap: 0.45rem; justify-content: center; min-height: 47px; padding: 0.5rem 0.9rem; }
  .cw-filter-count { align-items: center; background: var(--cw-core-sky); border-radius: 50%; color: #fff; display: inline-flex; font-size: 0.68rem; height: 21px; justify-content: center; min-width: 21px; }
  .cw-catalogue-mobile-tools .cw-sort { min-width: 0; }
  .cw-catalogue-mobile-tools .cw-sort select { min-width: 145px; }
  .cw-catalogue-layout { display: block; }
  .cw-filter-backdrop { height: 100vh; height: 100dvh; max-width: 100vw; overscroll-behavior: none; touch-action: none; width: 100vw; z-index: 100000; }
  .cw-catalogue-filters { background: var(--cw-core-paper); bottom: 0; border: 0; border-radius: 22px 0 0 22px; box-shadow: -20px 0 55px rgba(45, 33, 28, 0.17); display: grid; grid-template-rows: auto minmax(0, 1fr) auto; height: 100vh; height: 100dvh; isolation: isolate; max-height: 100dvh; max-width: min(94vw, 430px); overflow: hidden; overscroll-behavior: contain; padding: 0; position: fixed; right: 0; top: 0; transform: translateX(102%); transition: transform 190ms ease, visibility 190ms; visibility: hidden; width: 100%; z-index: 100001; }
  .cw-catalogue-filters.is-open { transform: none; visibility: visible; }
  .cw-filter-heading { align-items: center; background: var(--cw-core-paper); border-bottom: 1px solid #e6d7c7; display: flex; justify-content: space-between; min-height: 73px; padding: max(1rem, env(safe-area-inset-top)) 1.35rem 1rem; }
  .cw-filter-heading h2 { font-family: Constantia, "Palatino Linotype", Georgia, serif; font-size: 2rem; font-weight: 400; margin: 0; }
  .cw-filter-heading button { align-items: center; background: transparent; border: 1px solid #e6d7c7; border-radius: 50%; color: var(--cw-core-ink); display: flex; font-size: 1.5rem; height: 42px; justify-content: center; width: 42px; }
  .cw-catalogue-filters form { min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; padding: 1.1rem 1.5rem 1.6rem; }
  .cw-filter-mobile-actions { background: var(--cw-core-paper); border-top: 1px solid #e6d7c7; display: grid; gap: 0.65rem; grid-template-columns: 0.8fr 1.4fr; padding: 0.8rem 1rem max(0.8rem, env(safe-area-inset-bottom)); }
  .cw-filter-mobile-actions button { border-radius: 999px; min-height: 50px; }
  .cw-filter-mobile-actions > button:first-child { background: transparent; border: 1px solid #af9b84; color: var(--cw-core-ink); }
  .cw-filter-mobile-actions .cw-primary-action { margin: 0; }
  html.cw-filters-open,
  body.cw-filters-open { overflow: hidden; overscroll-behavior: none; }
  html.cw-filters-open { scrollbar-gutter: auto; }
  body.cw-filters-open { inset-inline: 0; position: fixed; width: 100%; }
  .cw-results-meta { grid-template-columns: auto minmax(0, 1fr); }
  .cw-sort--desktop { display: none; }
  .cw-product-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cw-catalogue-lessons { border-radius: 24px 65px 24px 24px; grid-template-columns: 0.95fr 1.05fr; }
  .cw-catalogue-lessons__copy { padding: 2rem 3.6rem 2rem 2.1rem; }
  .cw-catalogue-lessons > svg { width: 220px; }
  html:not(.cw-js) .cw-catalogue-mobile-tools { display: none; }
  html:not(.cw-js) .cw-catalogue-layout { display: grid; grid-template-columns: 1fr; }
  html:not(.cw-js) .cw-catalogue-filters { border: 1px solid #e6d7c7; border-radius: 18px; box-shadow: none; display: block; height: auto; max-width: none; overflow: visible; position: static; transform: none; visibility: visible; width: 100%; }
  html:not(.cw-js) .cw-filter-heading, html:not(.cw-js) .cw-filter-mobile-actions { display: none; }
  html:not(.cw-js) .cw-catalogue-filters form { overflow: visible; }
}

@media (max-width: 620px) {
  .cw-catalogue-title-ornament { gap: 0.8rem; grid-template-columns: 34px minmax(0, 1fr) 34px; }
  .cw-catalogue-title-ornament h1 { font-size: clamp(1.35rem, 5.7vw, 1.75rem); gap: clamp(0.3rem, 1.4vw, 0.55rem); }
  .cw-catalogue-title-logo { width: clamp(84px, 22vw, 138px); }
  .cw-catalogue-title-ornament > span::after { border-width: 3px; height: 11px; width: 11px; }
  .cw-catalogue-intro > p { font-size: 0.88rem; margin-top: 0.9rem; }
  .cw-catalogue-mobile-tools { box-sizing: border-box; gap: 0.75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 1.55rem; min-width: 0; width: 100%; }
  .cw-catalogue-mobile-tools > br { display: none; }
  .cw-catalogue-mobile-tools .cw-catalogue-search { box-sizing: border-box; grid-column: 1 / -1; max-width: 100%; min-width: 0; width: 100%; }
  .cw-catalogue-mobile-tools .cw-catalogue-search input { border-radius: 12px; flex: 1 1 0; font-size: 1rem; max-width: 100%; min-height: 50px; min-width: 0; width: 0; }
  .cw-catalogue-mobile-tools .cw-filter-toggle,
  .cw-catalogue-mobile-tools .cw-sort { border-radius: 11px; box-sizing: border-box; max-width: 100%; min-height: 50px; min-width: 0; width: 100%; }
  .cw-catalogue-mobile-tools .cw-filter-toggle { font-size: 1rem; gap: 0.6rem; }
  .cw-catalogue-mobile-tools .cw-filter-count { font-size: 0.76rem; height: 24px; min-width: 24px; }
  .cw-catalogue-mobile-tools .cw-sort { overflow: hidden; padding-inline: 0.75rem 0.45rem; }
  .cw-catalogue-mobile-tools .cw-sort select { flex: 1 1 0; font-size: 1rem; max-width: 100%; min-width: 0; padding-right: 1.55rem; width: 100%; }
  .cw-results-meta { display: block; }
  .cw-results-meta > p { font-size: 1rem; margin-bottom: 0.65rem; }
  .cw-active-filters { flex-wrap: nowrap; margin-inline: -0.9rem; overflow-x: auto; padding: 0 0.9rem 0.5rem; scrollbar-width: none; }
  .cw-filter-chip { flex: none; }
  .cw-product-results { align-items: stretch; gap: 0.8rem 0.55rem; }
  .cw-live-product-card { align-self: stretch; border-radius: 13px; height: 100%; }
  .cw-live-product-card__inner { height: 100%; }
  .cw-live-product-card__image { aspect-ratio: 3 / 4; padding: 0.45rem; }
  .cw-live-product-card--portrait .cw-live-product-card__image { aspect-ratio: 3 / 4; padding: 0.45rem; }
  .cw-live-product-card__body { flex: 1 1 auto; height: auto; padding: 0.5rem 0.62rem 0.62rem; }
  .cw-live-product-card h2,
  .cw-live-product-card__body > [role="heading"] { font-size: clamp(1.05rem, 5vw, 1.32rem); min-height: 0; }
  .cw-live-product-card__category { font-size: 0.875rem; min-height: 0; }
  .cw-live-product-card__price { font-size: 1.05rem; min-height: 0; }
  .cw-stock { font-size: 0.8125rem; line-height: 1.4; min-height: 1.8rem; }
  .cw-live-product-card__action { align-self: stretch; font-size: 0.82rem; line-height: 1.18; margin-top: auto !important; min-height: 44px; padding: 0.45rem 0.35rem; }
  .cw-catalogue-pagination nav ul { gap: 0.32rem; }
  .cw-page-link { border-radius: 8px; min-height: 40px; min-width: 40px; padding-inline: 0.6rem; }
  .cw-page-link--previous > span:last-child, .cw-page-link--next > span:first-child { display: none; }
  .cw-catalogue-lessons { grid-template-columns: 1fr; min-height: 0; }
  .cw-catalogue-lessons figure { min-height: 230px; }
  .cw-catalogue-lessons__copy { padding: 1.9rem 2.2rem 2.35rem 1.55rem; }
  .cw-catalogue-lessons > svg { height: 150px; width: 175px; }
}

@media (max-width: 390px) {
  .cw-catalogue-title-ornament { gap: 0.45rem; grid-template-columns: 20px minmax(0, 1fr) 20px; }
  .cw-catalogue-title-ornament h1 { font-size: clamp(1.18rem, 5.4vw, 1.4rem); }
  .cw-catalogue-title-logo { width: clamp(84px, 23vw, 92px); }
  .cw-catalogue-filters { border-radius: 0; max-width: 100vw; width: 100vw; }
}

@media (max-width: 340px) {
  .cw-product-results { grid-template-columns: 1fr; }
  .cw-live-product-card h2,
  .cw-live-product-card__body > [role="heading"] { min-height: 0; }
  .cw-live-product-card__category,
  .cw-live-product-card__price { min-height: 0; }
  .cw-stock { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .cw-product-results, .cw-catalogue-filters, .cw-live-product-card { transition: none !important; }
  .cw-catalogue-loading > span { animation: none; }
}

/* Published, owner-managed customer reviews */
.cw-reviews {
  color: var(--cw-core-ink);
  margin: clamp(4.5rem, 8vw, 8rem) auto;
  max-width: 1380px;
  min-width: 0;
  padding-inline: clamp(1rem, 3vw, 2rem);
}

.cw-reviews__heading {
  align-items: center;
  display: grid;
  gap: clamp(0.65rem, 1.5vw, 1.35rem);
  grid-template-columns: auto minmax(36px, 120px) auto minmax(36px, 120px) auto;
  justify-content: center;
  margin: 0 auto clamp(1.8rem, 4vw, 3.2rem);
  padding-inline: 1rem;
}

.cw-reviews__heading h2 {
  font-family: Constantia, "Palatino Linotype", Georgia, serif;
  font-size: clamp(2rem, 3.5vw, 3.55rem);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 1;
  margin: 0;
  text-align: center;
}

.cw-reviews__rule { background: rgba(76, 152, 197, 0.58); height: 1px; width: 100%; }
.cw-reviews__dot { background: var(--cw-core-sky); border-radius: 50%; box-shadow: 0 4px 10px rgba(76, 152, 197, 0.2); height: 13px; width: 13px; }

.cw-reviews__grid {
  align-items: stretch;
  display: grid;
  gap: clamp(1rem, 2vw, 1.75rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.cw-review-card {
  background: rgba(255, 253, 249, 0.92);
  border: 1px solid rgba(112, 86, 68, 0.16);
  border-radius: clamp(22px, 2vw, 32px);
  box-shadow: 0 16px 38px rgba(75, 48, 31, 0.055);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  min-height: clamp(250px, 24vw, 330px);
  overflow: hidden;
  padding: clamp(1.55rem, 2.8vw, 2.5rem);
  position: relative;
}

.cw-review-card__quote {
  font-family: inherit;
  font-size: clamp(1.08rem, 1.55vw, 1.35rem);
  font-style: normal;
  font-weight: 470;
  letter-spacing: -0.015em;
  line-height: 1.45;
  margin: 0;
  position: relative;
  z-index: 2;
}

.cw-review-card__quote p { margin: 0; }

.cw-review-card__name {
  font-size: clamp(0.88rem, 1.2vw, 1.05rem);
  font-weight: 720;
  margin: auto 0 0;
  padding-top: clamp(1.5rem, 3vw, 2.4rem);
  position: relative;
  z-index: 2;
}

.cw-review-card__name::after {
  background: var(--cw-core-line);
  content: "";
  display: inline-block;
  height: 1px;
  margin-left: 0.8rem;
  vertical-align: middle;
  width: clamp(34px, 6vw, 88px);
}

.cw-review-card__mark {
  bottom: 0.04em;
  color: rgba(76, 152, 197, 0.2);
  font-family: Georgia, serif;
  font-size: clamp(4.5rem, 7vw, 6.5rem);
  font-weight: 700;
  line-height: 0.75;
  pointer-events: none;
  position: absolute;
  right: 0.12em;
}

@media (max-width: 1024px) {
  .cw-reviews__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .cw-reviews {
    margin-block: clamp(3.5rem, 16vw, 5.5rem);
    padding-inline: 1rem;
  }
  .cw-reviews__heading { gap: 0.55rem; grid-template-columns: auto minmax(18px, 1fr) auto minmax(18px, 1fr) auto; margin-bottom: 1.4rem; }
  .cw-reviews__heading h2 { font-size: clamp(1.85rem, 8vw, 2.55rem); }
  .cw-reviews__dot { height: 10px; width: 10px; }
  .cw-reviews__grid { grid-template-columns: 1fr; }
  .cw-review-card {
    border-radius: 22px;
    min-height: 0;
    padding: 1.45rem;
  }
  .cw-review-card__quote { font-size: clamp(1.08rem, 5.2vw, 1.3rem); }
  .cw-review-card__mark { font-size: 4.5rem; }
}

/* Clay Way sale prices */
:is(.cw-live-product-card__price,.cw-product-summary__price,.cw-related-card__price) .screen-reader-text{border:0!important;clip:rect(1px,1px,1px,1px)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}
.cw-live-product-card__price{align-items:baseline;display:flex;flex-wrap:wrap;column-gap:.65rem;row-gap:.2rem}
.cw-live-product-card__price del,.cw-related-card__price del{color:var(--cw-ink-soft,#62534a);font-size:.82em;font-weight:400;opacity:.75;text-decoration:line-through;text-decoration-thickness:1px}
.cw-live-product-card__price ins,.cw-product-summary__price ins,.cw-related-card__price ins{background:transparent;color:var(--cw-clay-deep,#9f4f2d);font-weight:600;text-decoration:none}
.cw-live-product-card__price .woocommerce-Price-amount{white-space:nowrap}
