/* =====================================================================
 * DreamyWoo26 — WooCommerce foundation (wrappers + typography rhythm)
 * Scope: body.dreamy26-woo
 * =================================================================== */

body.dreamy26-woo .dreamy26-page--woocommerce{
  padding: clamp(18px, 3vw, 44px) 0 92px;
}

body.dreamy26-woo .dreamy26-page-inner{
  max-width: var(--dreamy26-container);
  margin: 0 auto;
  padding: 0 var(--dreamy26-gutter);
  width: 100%;
}

/* Prose rhythm (quiet, editorial, consistent) */
body.dreamy26-woo .dreamy26-prose--woocommerce{
  width: 100%;
  color: var(--dreamy26-ink);
  font-family: var(--dreamy26-font-ui);
  font-size: 0.95rem;
  line-height: 1.7;
}

body.dreamy26-woo .dreamy26-prose--woocommerce :where(p, ul, ol){
  margin: 0;
  color: var(--dreamy26-ink2);
}

body.dreamy26-woo .dreamy26-prose--woocommerce :where(ul, ol){
  padding-left: 1.2em;
}

body.dreamy26-woo .dreamy26-prose--woocommerce :where(* + p, * + ul, * + ol){
  margin-top: 14px;
}

/* Headings in Woo context */
body.dreamy26-woo .woocommerce :where(h1,h2,h3,h4){
  margin: 0;
  color: var(--dreamy26-ink);
  font-family: var(--dreamy26-font-edit);
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.12;
}

body.dreamy26-woo .woocommerce :where(h1){ font-size: clamp(2.0rem, 3.2vw, 2.8rem); }
body.dreamy26-woo .woocommerce :where(h2){ font-size: clamp(1.6rem, 2.4vw, 2.1rem); }
body.dreamy26-woo .woocommerce :where(h3){ font-size: clamp(1.15rem, 1.6vw, 1.35rem); font-weight: 500; font-family: var(--dreamy26-font-ui); letter-spacing: 0; }

/* Heading spacing */
body.dreamy26-woo .woocommerce :where(* + h1, * + h2, * + h3, * + h4){
  margin-top: clamp(22px, 3vw, 34px);
}
body.dreamy26-woo .woocommerce :where(h1 + *, h2 + *, h3 + *){
  margin-top: 12px;
}

/* Links: calm underline on hover */
body.dreamy26-woo .woocommerce a:hover{
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Breadcrumbs / result count / ordering: quiet microtype */
body.dreamy26-woo .woocommerce .woocommerce-breadcrumb,
body.dreamy26-woo .woocommerce .woocommerce-result-count{
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--dreamy26-ink2);
  margin: 0 0 14px;
}

body.dreamy26-woo .woocommerce .woocommerce-ordering{
  margin: 0 0 14px;
}

/* Woo notices: museum placard style */
body.dreamy26-woo .woocommerce :where(.woocommerce-message, .woocommerce-error, .woocommerce-info){
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: var(--dreamy26-radius-md);
  padding: 14px 16px;
  background: rgba(255,255,255,0.80);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: var(--dreamy26-ink);
  margin: 0 0 18px;
}
body.dreamy26-woo .woocommerce :where(.woocommerce-message, .woocommerce-error, .woocommerce-info)::before{
  display:none;
}

/* Buttons: map Woo buttons to Dreamy button language */
body.dreamy26-woo .woocommerce :where(a.button, button.button, input.button, .button){
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 18px;
  border-radius: var(--dreamy26-radius-pill);
  border: var(--dreamy26-border);
  background: rgba(255,255,255,0.80);
  color: var(--dreamy26-ink);
  font-family: var(--dreamy26-font-ui);
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
  box-shadow: none;
}
body.dreamy26-woo .woocommerce :where(a.button:hover, button.button:hover, input.button:hover, .button:hover){
  transform: translateY(-1px);
  border-color: rgba(0,0,0,0.18);
  background: rgba(255,255,255,0.92);
}
body.dreamy26-woo .woocommerce :where(a.button:active, button.button:active, input.button:active, .button:active){
  transform: translateY(0);
}
body.dreamy26-woo .woocommerce :where(a.button:disabled, button.button:disabled, input.button:disabled, .button:disabled){
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
}

/* Form fields: align with Dreamy input */
body.dreamy26-woo .woocommerce :where(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="search"], textarea, select){
  border-radius: var(--dreamy26-radius-md);
  border: var(--dreamy26-border);
  background: #fff;
  color: var(--dreamy26-ink);
  font-family: var(--dreamy26-font-ui);
  font-size: 0.95rem;
  padding: 12px 14px;
  outline: none;
  box-shadow: none;
}
body.dreamy26-woo .woocommerce :where(textarea){
  min-height: 120px;
  resize: vertical;
}

body.dreamy26-woo .woocommerce :where(input:focus, textarea:focus, select:focus){
  border-color: rgba(0,0,0,0.22);
  box-shadow: 0 0 0 3px rgba(0,0,0,0.06);
}

/* Tables: soften default Woo look */
body.dreamy26-woo .woocommerce table.shop_table{
  border-collapse: collapse;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: var(--dreamy26-radius-md);
  overflow: hidden;
  background: #fff;
}
body.dreamy26-woo .woocommerce table.shop_table th{
  font-size: 0.7rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--dreamy26-ink2);
  font-weight: 600;
  padding: 14px 14px;
  background: rgba(0,0,0,0.02);
}
body.dreamy26-woo .woocommerce table.shop_table td{
  padding: 14px 14px;
  border-top: 1px solid rgba(0,0,0,0.06);
}
body.dreamy26-woo .woocommerce table.shop_table tr:first-child td{
  border-top: 0;
}

/* Ensure Woo containers don't force weird widths */
body.dreamy26-woo .woocommerce,
body.dreamy26-woo .woocommerce-page{
  width: 100%;
}
