/*
Theme Name: SUNANGLE Fine Art
Theme URI: https://sunangle.art/
Description: A standalone Gutenberg and WooCommerce theme for SUNANGLE Fine Art. No WoodMart dependency.
Author: SUNANGLE Fine Art
Version: 6.62.0
Text Domain: sunangle
Requires PHP: 7.0
*/

:root {
  --sunangle-lavender: #eae6f8;
  --sunangle-ivory: #f8f6f2;
  --sunangle-paper: #f7f3ed;
  --sunangle-ink: #2b2b2b;
  --sunangle-muted: #756f68;
  --sunangle-gold: #c9a96e;
  --sunangle-deep-gold: #a9834c;
  --sunangle-line: #ded8cf;
  --sunangle-night: #181817;
  --sunangle-serif: "Cormorant Garamond", Georgia, serif;
  --sunangle-sans: "Manrope", Arial, sans-serif;
  --sunangle-content: 85vw;
  --sunangle-wide: 85vw;
}

/* SUNANGLE v6.0 final responsive and content refinements. */
.sunangle-shipping-courtesy {
	display: grid;
	gap: .28rem;
	margin: 1.35rem 0;
	padding: 1rem 1.15rem;
	border: 1px solid rgba(184,150,93,.38);
	background: rgba(201,169,110,.08);
}
.sunangle-shipping-courtesy strong { font-family: var(--font-display, Georgia, serif); font-size: 1.05rem; }
.sunangle-shipping-courtesy span,
.sunangle-shipping-courtesy small { display: block; }
.sunangle-shipping-courtesy small { color: var(--muted, #6f675f); }

.single-product .woocommerce-product-gallery .flex-control-thumbs li { overflow: hidden; aspect-ratio: 1 / 1; }
.single-product .woocommerce-product-gallery .flex-control-thumbs img,
.single-product .sunangle-product-showcase-gallery figure,
.single-product .sunangle-product-showcase-gallery img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.single-product .sunangle-product-showcase-gallery figure { aspect-ratio: 1 / 1; overflow: hidden; }

.sunangle-cookie-consent {
	position: fixed;
	left: 50%;
	bottom: 22px;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	width: min(1120px, calc(100% - 40px));
	padding: 1.15rem 1.3rem;
	border: 1px solid rgba(184,150,93,.48);
	background: #f8f6f2;
	box-shadow: 0 18px 55px rgba(34,30,26,.18);
}
.sunangle-cookie-consent[hidden] { display: none !important; }
.sunangle-cookie-copy { max-width: 720px; }
.sunangle-cookie-copy strong { font-family: var(--font-display, Georgia, serif); font-size: 1.08rem; }
.sunangle-cookie-copy p { margin: .35rem 0 0; font-size: .88rem; line-height: 1.55; }
.sunangle-cookie-actions { display: flex; gap: .65rem; flex: 0 0 auto; }
.sunangle-cookie-actions button { min-height: 44px; padding: .7rem 1rem; border: 1px solid #2b2b2b; background: transparent; color: #2b2b2b; cursor: pointer; }
.sunangle-cookie-actions .is-primary { border-color: #2b2b2b; background: #2b2b2b; color: #fff; }
.sunangle-policy-page { max-width: 860px !important; padding-top: clamp(3rem, 7vw, 7rem); padding-bottom: clamp(4rem, 8vw, 8rem); }
.sunangle-policy-page h1 { margin-bottom: .45rem; }
.sunangle-policy-page h2 { margin-top: 2.4rem; font-size: clamp(1.3rem, 2vw, 1.7rem); }
.sunangle-policy-date { color: var(--muted, #6f675f); }

@media (min-width: 1281px) {
	.sunangle-header-main { grid-template-columns: minmax(260px, 360px) minmax(0, 1fr) auto !important; gap: clamp(1.5rem, 3vw, 3.7rem) !important; }
	.sunangle-brand { width: min(100%, 360px) !important; min-width: 0; }
	.sunangle-primary-nav .menu { justify-content: center; flex-wrap: nowrap; gap: clamp(.75rem, 1.45vw, 1.65rem); }
	.sunangle-primary-nav a { white-space: nowrap; font-size: clamp(.72rem, .78vw, .88rem); }
}
@media (max-width: 1280px) {
	.sunangle-header-main { position: relative; grid-template-columns: minmax(180px, 300px) 1fr auto !important; min-height: 88px; }
	.sunangle-brand { width: min(100%, 300px) !important; }
	.sunangle-menu-toggle { display: inline-flex !important; justify-self: end; align-items: center; }
	.sunangle-primary-nav { position: absolute; top: 100%; left: 0; right: 0; z-index: 999; display: none; padding: 1.2rem clamp(1rem, 4vw, 2.5rem) 1.5rem; border-top: 1px solid rgba(184,150,93,.28); background: #f8f6f2; box-shadow: 0 16px 30px rgba(34,30,26,.1); }
	.sunangle-primary-nav.is-open { display: block; }
	.sunangle-primary-nav .menu { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .2rem 1rem !important; }
	.sunangle-primary-nav a { display: block; padding: .72rem 0; }
}
@media (max-width: 767px) {
	.sunangle-announcement .sunangle-container { align-items: center; text-align: center; }
	.sunangle-announcement span { display: none; }
	.sunangle-header-main { grid-template-columns: minmax(130px, 1fr) auto auto !important; gap: .7rem !important; min-height: 72px; }
	.sunangle-brand { width: min(100%, 210px) !important; }
	.sunangle-header-actions { display: flex !important; }
	.sunangle-header-actions a { font-size: .68rem; white-space: nowrap; }
	.sunangle-menu-toggle { font-size: .68rem; padding: .55rem .65rem; }
	.sunangle-primary-nav .menu { grid-template-columns: 1fr; }
	.sunangle-cookie-consent { bottom: 10px; width: calc(100% - 20px); flex-direction: column; align-items: stretch; gap: .9rem; padding: 1rem; }
	.sunangle-cookie-actions { display: grid; grid-template-columns: 1fr 1fr; }
}

/* v6.1 product gallery: every slide stays inside one square frame. */
body.single-product .woocommerce-product-gallery .flex-viewport {
  box-sizing: border-box !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  overflow: hidden !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  height: 100% !important;
  max-height: 100% !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
  box-sizing: border-box !important;
  display: block !important;
  height: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* v6.5 final override: move spacing from the viewport into each exact-width slide. */
body.single-product .woocommerce-product-gallery .flex-viewport {
  padding: 0 !important;
  overflow: hidden !important;
  background: #eee8df !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  margin: 0 !important;
  padding: 0 !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
  box-sizing: border-box !important;
  padding: 18px !important;
  overflow: hidden !important;
  background: #eee8df !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}
@media (max-width: 767px) {
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
    padding: 10px !important;
  }
}

/* v6.5: exact-width WooCommerce slides; adjacent images must never peek through. */
body.single-product .woocommerce-product-gallery .flex-viewport {
  padding: 0 !important;
  overflow: hidden !important;
  background: #eee8df !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  margin: 0 !important;
  padding: 0 !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
  box-sizing: border-box !important;
  padding: 18px !important;
  overflow: hidden !important;
  background: #eee8df !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}
@media (max-width: 767px) {
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
    padding: 10px !important;
  }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  margin: 0;
  background: var(--sunangle-ivory);
  color: var(--sunangle-ink);
  font-family: var(--sunangle-sans);
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
body.sunangle-store { overflow-x: hidden; }
img, video { max-width: 100%; height: auto; }
a { color: var(--sunangle-deep-gold); text-decoration: none; }
a:hover { color: var(--sunangle-gold); }
button, input, select, textarea { font: inherit; }
button, input[type="submit"], .button, .wp-element-button {
  cursor: pointer;
  border: 0;
  border-radius: 0;
}
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link:focus {
  position: fixed;
  z-index: 999;
  top: 10px;
  left: 10px;
  width: auto;
  height: auto;
  padding: 10px 16px;
  margin: 0;
  clip: auto;
  background: var(--sunangle-gold);
  color: #fff;
}

.sunangle-container { width: var(--sunangle-content); margin-inline: auto; }
.sunangle-wide { width: var(--sunangle-wide); margin-inline: auto; }

/* Standalone header */
.sunangle-site-header {
  position: sticky;
  z-index: 80;
  top: 0;
  background: rgba(24, 24, 23, .98);
  color: #f7f2e9;
  border-bottom: 1px solid rgba(201, 169, 110, .3);
}
body.admin-bar .sunangle-site-header { top: 32px; }
.sunangle-announcement {
  min-height: 34px;
  display: flex;
  align-items: center;
  background: #20221f;
  border-bottom: 1px solid rgba(247, 242, 233, .12);
  color: rgba(247, 242, 233, .72);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.sunangle-announcement .sunangle-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.sunangle-announcement strong { color: var(--sunangle-gold); font-weight: 600; }
.sunangle-header-main {
  min-height: 92px;
  display: grid;
  grid-template-columns: 250px 1fr auto;
  align-items: center;
  gap: 26px;
}
.sunangle-brand { display: inline-flex; align-items: center; justify-content: flex-start; width: 248px; height: 56px; }
.sunangle-brand img {
  display: block;
  width: 192px;
  height: 46px;
  object-fit: contain;
  object-position: left center;
  background: transparent;
}
.sunangle-primary-nav { justify-self: center; }
.sunangle-primary-nav ul, .sunangle-footer-nav ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 26px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.sunangle-primary-nav li { position: relative; }
.sunangle-primary-nav a {
  display: block;
  padding: 12px 0;
  color: rgba(247, 242, 233, .82);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.sunangle-primary-nav a:hover,
.sunangle-primary-nav .current-menu-item > a,
.sunangle-primary-nav .current_page_item > a { color: var(--sunangle-gold); }
.sunangle-primary-nav .sub-menu {
  position: absolute;
  top: 100%;
  left: -18px;
  min-width: 210px;
  display: block;
  padding: 10px 18px;
  background: #20221f;
  border: 1px solid rgba(201, 169, 110, .25);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.sunangle-primary-nav li:hover > .sub-menu,
.sunangle-primary-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.sunangle-primary-nav .sub-menu li a { padding: 8px 0; font-size: 10px; }
.sunangle-header-actions { display: flex; align-items: center; gap: 16px; }
.sunangle-header-actions a {
  color: rgba(247, 242, 233, .78);
  font-size: 10px;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.sunangle-header-actions a:hover { color: var(--sunangle-gold); }
.sunangle-cart-count { color: var(--sunangle-gold); }
.sunangle-menu-toggle {
  display: none;
  padding: 8px 0;
  background: transparent;
  color: #f7f2e9;
  font-size: 11px;
  letter-spacing: .15em;
  text-transform: uppercase;
}

/* Content and Gutenberg */
.sunangle-main { min-height: 60vh; background: var(--sunangle-ivory); }
.sunangle-main > .sunangle-container { padding-block: 0 70px; }
.sunangle-main--front { background: var(--sunangle-ivory); }
.entry-content { margin: 0; }
.entry-content > *:not(.alignfull):not(.sunangle-gallery-hero):not(.sunangle-market-rail) {
  max-width: var(--sunangle-content);
  margin-inline: auto;
}
.entry-content > .wp-block-group,
.entry-content > .wp-block-cover,
.entry-content > .wp-block-columns { margin-top: 0; margin-bottom: 0; }

.entry-content > .sunangle-gallery-hero,
.entry-content > .sunangle-market-rail,
.entry-content > .sunangle-manifesto,
.entry-content > .sunangle-exhibition,
.entry-content > .sunangle-atelier-feature,
.entry-content > .sunangle-bespoke-gallery,
.entry-content > .sunangle-collector-note,
.entry-content > .sunangle-concierge,
.entry-content > .sunangle-newsletter-section,
.entry-content > .sunangle-faq-split,
.entry-content > .sunangle-section {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}
.sunangle-section > * { width: var(--sunangle-content); max-width: none; margin-inline: auto; }
.sunangle-section > .wp-block-columns { display: grid; gap: 28px; }
.entry-title, .page-title { margin: 0; color: var(--sunangle-ink); font: 500 clamp(48px, 7vw, 92px)/.95 var(--sunangle-serif); letter-spacing: -.04em; }
.sunangle-page-heading { padding: 90px 0 60px; background: var(--sunangle-paper); }
.sunangle-page-heading .sunangle-container { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.sunangle-eyebrow {
  margin: 0 0 18px !important;
  color: var(--sunangle-gold);
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: .25em;
  line-height: 1.4 !important;
  text-transform: uppercase;
}
.sunangle-display {
  max-width: 1050px;
  margin-top: 0;
  color: var(--sunangle-ink);
  font-family: var(--sunangle-serif);
  font-size: clamp(48px, 6vw, 88px);
  font-weight: 500;
  line-height: .96;
  letter-spacing: -.045em;
}
.sunangle-section { padding: 110px max(5vw, 24px); background: var(--sunangle-ivory); }
.sunangle-section.is-lavender { background: var(--sunangle-lavender); }
.sunangle-section.is-dark { background: var(--sunangle-night); color: #f7f2e9; }
.sunangle-section.is-dark h1, .sunangle-section.is-dark h2, .sunangle-section.is-dark h3 { color: #f7f2e9; }
.sunangle-card {
  height: 100%;
  padding: 34px;
  background: #fffdf9;
  border: 1px solid var(--sunangle-line);
  transition: transform .3s ease, box-shadow .3s ease;
}
.sunangle-card:hover { transform: translateY(-3px); box-shadow: 0 22px 52px rgba(43, 43, 43, .08); }
.sunangle-card h3 { margin-top: 12px; color: var(--sunangle-ink); font: 500 30px/1.05 var(--sunangle-serif); }
.sunangle-card p { color: var(--sunangle-muted); }
.sunangle-number { color: var(--sunangle-gold); font: 20px/1 var(--sunangle-serif); }
.sunangle-protected-image,
.sunangle-protected-image img,
.sunangle-main img,
.sunangle-main video {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}
.sunangle-section .wp-block-image { margin-block: 0 24px; }
.sunangle-section .wp-block-image img { width: 100%; }
.wp-block-buttons { gap: 12px; }
.wp-block-button__link,
.sunangle-form button,
.sunangle-form input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .single_add_to_cart_button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  background: var(--sunangle-gold);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: background .25s ease, transform .25s ease;
}
.wp-block-button__link:hover,
.sunangle-form button:hover,
.sunangle-form input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .single_add_to_cart_button:hover { background: var(--sunangle-deep-gold); color: #fff; transform: translateY(-1px); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; border: 1px solid currentColor; color: inherit; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--sunangle-gold); border-color: var(--sunangle-gold); color: #fff; }

/* Contemporary American gallery homepage blocks */
.sunangle-gallery-hero {
  min-height: 780px;
  padding: 120px max(4vw, 30px) 90px;
  position: relative;
  overflow: hidden;
  background: var(--sunangle-night);
  color: #f7f2e9;
}
.sunangle-gallery-hero::before { content: none; }
.sunangle-gallery-hero > .wp-block-columns { width: var(--sunangle-wide); min-height: 560px; margin: auto; position: relative; z-index: 1; display: grid; grid-template-columns: minmax(380px, .82fr) minmax(0, 1.18fr); gap: clamp(42px, 5vw, 86px); align-items: center; }
.sunangle-gallery-hero h1 { max-width: 620px; margin: 0 0 22px; color: #f7f2e9 !important; font: 500 clamp(54px, 5.7vw, 92px)/.9 var(--sunangle-serif); letter-spacing: -.045em; }
.sunangle-gallery-hero .sunangle-hero-copy { max-width: 500px; color: rgba(247,242,233,.74); font: 18px/1.68 var(--sunangle-serif); }
.sunangle-gallery-hero .sunangle-hero-copy-column > .wp-block-buttons { display: inline-flex; width: auto; margin: 12px 10px 0 0; vertical-align: top; }
.sunangle-gallery-hero .sunangle-hero-copy-column > .wp-block-buttons:last-of-type { margin-right: 0; }
.sunangle-gallery-hero .is-style-outline .wp-block-button__link { border-color: rgba(247,242,233,.5); color: #f7f2e9; }
.sunangle-hero-index { margin-top: 55px; color: rgba(247,242,233,.48); font-size: 9px; letter-spacing: .15em; text-transform: uppercase; }
.sunangle-hero-artwork { margin: 0 !important; padding: 12px; background: #0d0d0c; border: 1px solid rgba(220,197,153,.5); box-shadow: 0 42px 100px rgba(0,0,0,.46); }
.sunangle-hero-artwork img { width: 100% !important; height: auto !important; max-height: 560px; object-fit: contain !important; }
.sunangle-artwork-caption { margin-top: 16px; color: rgba(247,242,233,.48); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.sunangle-market-rail { width: var(--sunangle-wide); margin: 0 auto; padding: 0 !important; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: #20221f; color: #f7f2e9; border-top: 1px solid rgba(201,169,110,.55); border-bottom: 1px solid rgba(201,169,110,.18); }
.sunangle-market-rail > .sunangle-market-item { min-height: 112px; margin: 0 !important; padding: 26px 28px !important; display: grid; grid-template-columns: 25px 1fr; gap: 4px 13px; align-content: center; background: transparent; border-right: 1px solid rgba(247,242,233,.12); }
.sunangle-market-rail > .sunangle-market-item:last-child { border-right: 0; }
.sunangle-rail-index { margin: 0 !important; color: var(--sunangle-gold); font: 14px/1 var(--sunangle-serif); }
.sunangle-market-item h3 { margin: 0 !important; color: #f7f2e9 !important; font: 400 16px/1.15 var(--sunangle-serif); }
.sunangle-rail-copy { grid-column: 2; margin: 0 !important; color: rgba(247,242,233,.52); font-size: 9px !important; line-height: 1.5 !important; }
.sunangle-manifesto { padding: 145px max(7vw, 40px) 155px; background: var(--sunangle-paper); }
.sunangle-manifesto > * { width: var(--sunangle-content); max-width: none; margin-inline: auto; }
.sunangle-manifesto > .wp-block-columns { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .5fr); gap: 8vw; align-items: end; }
.sunangle-manifesto h2 { margin: 0; font-size: clamp(56px, 6.2vw, 94px); line-height: .95; }
.sunangle-manifesto-copy p { color: #68615a; font: 18px/1.7 var(--sunangle-serif); }
.sunangle-exhibition { padding: 145px 4vw 165px; background: #ece7df; }
.sunangle-exhibition > * { width: var(--sunangle-content); max-width: none; margin-inline: auto; }
.sunangle-exhibition > h2 { font-size: clamp(58px, 6vw, 94px); line-height: .94; }
.sunangle-collection-intro { max-width: 700px !important; margin-bottom: 68px; color: #6e675f; font: 18px/1.7 var(--sunangle-serif); }
.sunangle-exhibition > .wp-block-columns { margin-bottom: 66px; gap: 24px; align-items: stretch; }
.sunangle-art-card { height: 100%; background: transparent; }
.sunangle-art-image { min-height: 470px; margin: 0 !important; padding: 18px; display: grid; place-items: center; overflow: hidden; background: #f8f5f0; border: 1px solid rgba(80,72,64,.1); }
.sunangle-art-image a { width: 100%; height: 100%; display: grid; place-items: center; }
.sunangle-art-image img { width: 100% !important; height: 100% !important; max-height: 570px; object-fit: contain !important; transition: transform .7s ease; }
.sunangle-art-card:hover .sunangle-art-image img { transform: scale(1.018); }
.sunangle-art-caption { padding: 18px 2px 0; background: transparent; }
.sunangle-art-meta { margin-bottom: 7px; color: #8a8178; font-size: 9px; letter-spacing: .12em; line-height: 1.45; text-transform: uppercase; }
.sunangle-art-caption h3 { margin: 0; font: 500 28px/1.1 var(--sunangle-serif); }
.sunangle-art-price { margin-top: 7px; font: 17px/1.2 var(--sunangle-serif); }
.sunangle-atelier-feature { padding: 0; background: var(--sunangle-paper); }
.sunangle-atelier-feature > .wp-block-columns { min-height: 790px; margin: 0; display: grid; grid-template-columns: 1.08fr .92fr; gap: 0; }
.sunangle-atelier-image figure, .sunangle-bespoke-image figure { width: 100%; height: 100%; min-height: 790px; margin: 0; }
.sunangle-atelier-image img, .sunangle-bespoke-image img { width: 100%; height: 100%; object-fit: cover; }
.sunangle-atelier-copy, .sunangle-bespoke-copy { padding: 110px clamp(50px, 7vw, 115px); display: flex; flex-direction: column; justify-content: center; }
.sunangle-atelier-feature > .wp-block-columns > .wp-block-column:first-child figure,
.sunangle-bespoke-gallery > .wp-block-columns > .wp-block-column:first-child figure { width: 100%; height: 100%; min-height: 790px; margin: 0; }
.sunangle-atelier-feature > .wp-block-columns > .wp-block-column:first-child img,
.sunangle-bespoke-gallery > .wp-block-columns > .wp-block-column:first-child img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sunangle-atelier-feature > .wp-block-columns > .wp-block-column:last-child,
.sunangle-bespoke-gallery > .wp-block-columns > .wp-block-column:last-child { padding: 110px clamp(50px, 7vw, 115px); display: flex; flex-direction: column; justify-content: center; }
.sunangle-bespoke-gallery > .wp-block-columns > .wp-block-column:last-child h2 { color: #f7f2e9 !important; }
.sunangle-bespoke-gallery > .wp-block-columns > .wp-block-column:last-child p { color: rgba(247,242,233,.66); }
.sunangle-atelier-copy > h2, .sunangle-bespoke-copy > h2 { font-size: clamp(54px, 5.4vw, 82px); line-height: .96; }
.sunangle-atelier-copy > .sunangle-card { padding: 22px 0; border: 0; border-top: 1px solid #d9d1c6; background: transparent; box-shadow: none; }
.sunangle-atelier-copy > .sunangle-card:hover { transform: none; box-shadow: none; }
.sunangle-atelier-copy > .sunangle-card h3 { margin-bottom: 5px; font-size: 24px; }
.sunangle-atelier-copy > .sunangle-card p { margin-bottom: 0; }
.sunangle-bespoke-gallery { padding: 0; background: var(--sunangle-night); color: #f7f2e9; }
.sunangle-bespoke-gallery > .wp-block-columns { min-height: 820px; margin: 0; display: grid; grid-template-columns: 1.12fr .88fr; gap: 0; }
.sunangle-bespoke-copy h2 { color: #f7f2e9 !important; font-size: clamp(56px, 5.5vw, 84px); }
.sunangle-bespoke-copy p { color: rgba(247,242,233,.66); font: 18px/1.7 var(--sunangle-serif); }
.sunangle-collector-note { padding: 145px max(8vw, 80px); background: #e9e5f2; text-align: center; }
.sunangle-collector-quote { max-width: 1120px; margin: 28px auto 38px; font: clamp(44px,5.2vw,76px)/1.12 var(--sunangle-serif) !important; letter-spacing: -.035em; }
.sunangle-collector-credit { color: #766e67; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
.sunangle-concierge { padding: 135px max(8vw, 60px) 145px; background: var(--sunangle-paper); }
.sunangle-concierge > * { width: var(--sunangle-content); max-width: none; margin-inline: auto; }
.sunangle-concierge h2 { font-size: clamp(54px, 5.6vw, 82px); }
.sunangle-newsletter-section { padding: 95px max(8vw, 60px); background: #b79a66; color: #fff; }
.sunangle-newsletter-section h2 { max-width: 820px; color: #fff !important; font-size: clamp(46px, 5vw, 72px); }

.sunangle-faq-split { padding: 135px max(8vw, 60px) 145px; background: var(--sunangle-paper); }
.sunangle-faq-split > .wp-block-columns { width: var(--sunangle-content); margin: 0 auto; display: grid; grid-template-columns: minmax(280px, .74fr) minmax(0, 1.26fr); gap: clamp(38px, 5vw, 90px); align-items: start; }
.sunangle-faq-intro p:not(.sunangle-eyebrow) { max-width: 360px; color: #6b645d; font: 18px/1.7 var(--sunangle-serif); }
.sunangle-faq-accordion details:first-child { border-top: 1px solid var(--sunangle-line); }
.sunangle-faq-accordion .wp-block-details + .wp-block-details { margin-top: 0; }
.sunangle-newsletter-section { padding: 100px max(8vw, 60px); background: #1f211f; color: #f7f2e9; }
.sunangle-newsletter-section > .wp-block-columns { width: var(--sunangle-content); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); gap: clamp(36px, 5vw, 84px); align-items: end; padding: clamp(34px, 5vw, 60px); border: 1px solid rgba(201,169,110,.32); background: linear-gradient(135deg, rgba(32,34,31,.98), rgba(24,24,23,.96)); box-shadow: 0 24px 60px rgba(0,0,0,.22); }
.sunangle-newsletter-copy h2 { max-width: 720px; color: #f7f2e9 !important; font-size: clamp(42px, 4.8vw, 70px); }
.sunangle-newsletter-copy p:not(.sunangle-eyebrow) { max-width: 530px; color: rgba(247,242,233,.7); font: 18px/1.7 var(--sunangle-serif); }
.sunangle-newsletter-form .sunangle-newsletter { max-width: 100%; }
.sunangle-newsletter label { color: var(--sunangle-gold); }
.sunangle-newsletter input[type="email"] { min-height: 56px; background: #f8f6f2; }
.sunangle-newsletter button { min-height: 56px; width: 100%; }

/* WooCommerce: no sidebar, complete artwork first */
.sunangle-woocommerce-main { padding: 70px 0 110px; background: var(--sunangle-ivory); }
.woocommerce .woocommerce-breadcrumb { margin: 0 0 32px; color: var(--sunangle-muted); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.woocommerce .woocommerce-products-header { margin-bottom: 46px; }
.woocommerce .woocommerce-products-header h1 { margin: 0; font: 500 clamp(50px, 6vw, 88px)/.95 var(--sunangle-serif); }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 56px 24px; padding: 0; margin: 0; list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto; float: none; margin: 0; padding: 0; }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 4 / 5; margin: 0 0 17px; padding: 15px; object-fit: contain; background: #eeeae3; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; color: var(--sunangle-ink); font: 500 25px/1.05 var(--sunangle-serif); }
.woocommerce ul.products li.product .price { margin-top: 8px; color: var(--sunangle-ink); font: 18px/1.2 var(--sunangle-serif); }
.sunangle-loop-meta { margin: 8px 0 0; color: var(--sunangle-muted); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.woocommerce span.onsale { min-width: 0; min-height: 0; padding: 7px 10px; background: var(--sunangle-gold); border-radius: 0; font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: clamp(44px, 7vw, 105px); }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto; float: none; margin: 0; }
.woocommerce div.product div.images { min-width: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__image { display: grid; place-items: center; min-height: 520px; padding: 18px; background: #eeeae3; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img { width: 100%; max-height: 820px; object-fit: contain; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 10px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto; float: none; margin: 0; padding: 5px; background: #eeeae3; }
.woocommerce div.product div.images .flex-control-thumbs img { aspect-ratio: 1; object-fit: contain; background: #fffdf9; }
.woocommerce div.product .product_title { margin: 0 0 12px; color: var(--sunangle-ink); font: 500 clamp(50px, 5.5vw, 88px)/.9 var(--sunangle-serif); letter-spacing: -.04em; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--sunangle-ink); font: 27px/1.2 var(--sunangle-serif); }
.sunangle-product-subtitle { margin: -4px 0 22px; color: #6b6661; font: italic 21px/1.5 var(--sunangle-serif); }
.sunangle-product-points { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; padding: 20px 0; margin: 20px 0 28px; list-style: none; border-top: 1px solid var(--sunangle-line); border-bottom: 1px solid var(--sunangle-line); }
.sunangle-product-points li { position: relative; padding-left: 18px; font-size: 12px; }
.sunangle-product-points li::before { content: "✦"; position: absolute; left: 0; color: var(--sunangle-gold); }
.sunangle-market-assurances { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 18px 0; margin: 22px 0 28px; list-style: none; border-top: 1px solid var(--sunangle-line); border-bottom: 1px solid var(--sunangle-line); }
.sunangle-market-assurances li { display: grid; gap: 5px; }
.sunangle-market-assurances b { font: 500 15px/1.1 var(--sunangle-serif); }
.sunangle-market-assurances span { color: var(--sunangle-muted); font-size: 10px; line-height: 1.45; }
.sunangle-login-note, .sunangle-form-notice { padding: 14px 16px; margin: 14px 0; background: var(--sunangle-lavender); color: var(--sunangle-ink); font-size: 12px; }
.woocommerce div.product form.cart { margin: 26px 0 12px; }
.woocommerce div.product form.cart .quantity { margin-right: 10px; }
.woocommerce .quantity .qty { min-height: 48px; width: 70px; border: 1px solid var(--sunangle-line); border-radius: 0; background: #fffdf9; }
.sunangle-inquiry-link { width: 100%; margin-top: 10px; background: transparent !important; border: 1px solid var(--sunangle-ink) !important; color: var(--sunangle-ink) !important; }
.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 35px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 26px; padding: 0; margin: 0; border-bottom: 1px solid var(--sunangle-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 15px 0; border: 0; background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::after, .woocommerce div.product .woocommerce-tabs ul.tabs li::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--sunangle-muted); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--sunangle-ink); }
.woocommerce div.product .woocommerce-tabs .panel { padding: 34px 0; }
.sunangle-product-details { display: grid; gap: 0; }
.sunangle-product-details div { display: grid; grid-template-columns: 160px 1fr; gap: 24px; padding: 15px 0; border-bottom: 1px solid var(--sunangle-line); }
.sunangle-product-details dt { color: var(--sunangle-muted); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.sunangle-product-details dd { margin: 0; font: 17px/1.45 var(--sunangle-serif); }
.sunangle-artwork-video { max-width: 920px; }
.sunangle-artwork-video h3 { margin-bottom: 22px; font: 34px/1.1 var(--sunangle-serif); }
.sunangle-artwork-video video { width: 100%; max-height: 760px; display: block; background: #1f211f; object-fit: contain; }
.woocommerce .related.products, .woocommerce .up-sells { grid-column: 1 / -1; margin-top: 60px; }
.woocommerce .related.products > h2, .woocommerce .up-sells > h2 { margin-bottom: 28px; font: 500 48px/1 var(--sunangle-serif); }

.woocommerce div.product { align-items: start; }
.woocommerce div.product div.images .woocommerce-product-gallery__image { min-height: 620px; padding: 24px; }
.woocommerce div.product div.summary { padding-top: 6px; }
.woocommerce div.product .product_title { font: 500 clamp(42px, 4.8vw, 72px)/.92 var(--sunangle-serif); }
.woocommerce div.product p.price, .woocommerce div.product span.price { margin: 10px 0 18px; font: 31px/1.2 var(--sunangle-serif); }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.woocommerce .single_add_to_cart_button { min-height: 52px; }
.sunangle-product-showcase { grid-column: 1 / -1; padding: 70px 0 10px; }
.sunangle-product-showcase-inner { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr); gap: clamp(28px, 4vw, 54px); padding: clamp(22px, 3vw, 38px); background: #fffdf9; border: 1px solid rgba(80,72,64,.12); box-shadow: 0 20px 60px rgba(43,43,43,.05); }
.sunangle-product-showcase-visual > figure { margin: 0; padding: 18px; background: #f3eee6; }
.sunangle-product-showcase-visual > figure img { width: 100%; max-height: 720px; object-fit: contain; }
.sunangle-product-showcase-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.sunangle-product-showcase-gallery figure { margin: 0; padding: 10px; background: #f3eee6; }
.sunangle-product-showcase-gallery img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.sunangle-product-showcase-copy .sunangle-display { margin: 0 0 18px; font-size: clamp(34px, 4vw, 58px); }
.sunangle-product-showcase-copy p { color: #6c665f; font: 18px/1.72 var(--sunangle-serif); }
.sunangle-product-showcase-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; padding: 24px 0; margin: 26px 0; border-top: 1px solid var(--sunangle-line); border-bottom: 1px solid var(--sunangle-line); }
.sunangle-product-showcase-meta div { display: grid; gap: 4px; }
.sunangle-product-showcase-meta dt { color: var(--sunangle-muted); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.sunangle-product-showcase-meta dd { margin: 0; font: 17px/1.45 var(--sunangle-serif); color: var(--sunangle-ink); }
.sunangle-product-showcase-points { display: grid; gap: 12px; padding: 0; margin: 0; list-style: none; }
.sunangle-product-showcase-points li { position: relative; padding-left: 18px; font: 15px/1.55 var(--sunangle-serif); color: #4e4b47; }
.sunangle-product-showcase-points li::before { content: "✦"; position: absolute; left: 0; color: var(--sunangle-gold); }

/* Forms, FAQ, blog */
.sunangle-form { display: grid; gap: 20px; max-width: 900px; }
.sunangle-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.sunangle-form label { display: grid; gap: 8px; color: #625e5a; font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.sunangle-form input:not([type="checkbox"]):not([type="radio"]), .sunangle-form select, .sunangle-form textarea,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
  width: 100%;
  padding: 14px;
  border: 1px solid var(--sunangle-line);
  border-radius: 0;
  background: #fffdf9;
}
.sunangle-faq details { border-bottom: 1px solid var(--sunangle-line); }
.sunangle-faq summary { padding: 22px 0; cursor: pointer; font: 25px/1.2 var(--sunangle-serif); }
.sunangle-faq details p { padding-bottom: 22px; color: var(--sunangle-muted); }
.sunangle-post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding: 70px 0 110px; }
.sunangle-post-card { padding: 26px; background: #fffdf9; border: 1px solid var(--sunangle-line); }
.sunangle-post-card h2 { margin: 14px 0 8px; font: 500 32px/1 var(--sunangle-serif); }
.sunangle-post-card .entry-meta { color: var(--sunangle-muted); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }

/* Footer */
.sunangle-site-footer { padding: 74px 0 25px; background: #1f211f; color: rgba(255,255,255,.68); }
.sunangle-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 50px; padding-bottom: 58px; }
.sunangle-footer-brand { color: #f7f2e9; font: 38px/1 var(--sunangle-serif); }
.sunangle-footer-tagline { max-width: 290px; color: rgba(255,255,255,.58); font: 18px/1.5 var(--sunangle-serif); }
.sunangle-site-footer h2, .sunangle-site-footer h3 { margin: 0 0 18px; color: var(--sunangle-gold); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.sunangle-site-footer p { font-size: 13px; line-height: 1.7; }
.sunangle-site-footer a { color: rgba(255,255,255,.68); }
.sunangle-site-footer a:hover { color: #fff; }
.sunangle-footer-nav ul { display: grid; gap: 10px; align-items: start; }
.sunangle-footer-nav a { font-size: 12px; }
.sunangle-footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.45); font-size: 10px; letter-spacing: .08em; }

@media (max-width: 1100px) {
  :root { --sunangle-content: 90vw; --sunangle-wide: 90vw; }
  .sunangle-header-main { grid-template-columns: 210px 1fr auto; gap: 16px; }
  .sunangle-brand, .sunangle-brand img { width: 220px; }
  .sunangle-primary-nav ul { gap: 16px; }
  .sunangle-primary-nav a { font-size: 10px; letter-spacing: .1em; }
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .sunangle-announcement .sunangle-container span { display: none; }
  .sunangle-header-main { min-height: 78px; grid-template-columns: 1fr auto auto; }
  .sunangle-menu-toggle { display: block; }
  .sunangle-primary-nav { position: absolute; top: 100%; left: 0; right: 0; display: none; padding: 16px 5vw 22px; background: #20221f; border-top: 1px solid rgba(201,169,110,.25); }
  .sunangle-primary-nav.is-open { display: block; }
  .sunangle-primary-nav ul { display: grid; gap: 0; }
  .sunangle-primary-nav a { padding: 11px 0; }
  .sunangle-primary-nav .sub-menu { position: static; display: none; padding: 0 0 6px 16px; border: 0; opacity: 1; visibility: visible; transform: none; }
  .sunangle-primary-nav li:focus-within > .sub-menu, .sunangle-primary-nav li:hover > .sub-menu { display: block; }
  .sunangle-header-actions a:first-child { display: none; }
  .sunangle-gallery-hero > .wp-block-columns, .sunangle-manifesto > .wp-block-columns, .sunangle-atelier-feature > .wp-block-columns, .sunangle-bespoke-gallery > .wp-block-columns { grid-template-columns: 1fr; }
  .sunangle-gallery-hero > .wp-block-columns { gap: 55px; }
  .sunangle-market-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sunangle-market-rail > .sunangle-market-item:nth-child(2) { border-right: 0; }
  .sunangle-market-rail > .sunangle-market-item:nth-child(-n+2) { border-bottom: 1px solid rgba(247,242,233,.12); }
  .woocommerce div.product { grid-template-columns: 1fr; gap: 55px; }
  .woocommerce div.product .woocommerce-tabs { grid-column: auto; }
  .sunangle-footer-grid { grid-template-columns: 1fr 1fr; }
  .sunangle-faq-split > .wp-block-columns, .sunangle-newsletter-section > .wp-block-columns, .sunangle-product-showcase-inner { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  :root { --sunangle-content: 95vw; --sunangle-wide: 95vw; }
  body.admin-bar .sunangle-site-header { top: 46px; }
  .sunangle-container { width: var(--sunangle-content); }
  .sunangle-announcement { font-size: 8px; letter-spacing: .1em; }
  .sunangle-brand, .sunangle-brand img { width: 190px; height: 44px; }
  .sunangle-header-actions { gap: 9px; }
  .sunangle-header-actions a { font-size: 9px; }
  .sunangle-gallery-hero { min-height: 0; padding: 100px 20px 80px; }
  .sunangle-gallery-hero h1 { font-size: 48px; }
  .sunangle-gallery-hero .sunangle-hero-copy-column > .wp-block-buttons { width: 100%; margin-right: 0; }
  .sunangle-gallery-hero .wp-block-button, .sunangle-gallery-hero .wp-block-button__link { width: 100%; text-align: center; }
  .sunangle-market-rail { width: var(--sunangle-wide); }
  .sunangle-market-rail > .sunangle-market-item { min-height: 126px; padding: 21px 15px !important; grid-template-columns: 20px 1fr; gap: 4px 8px; }
  .sunangle-market-item h3 { font-size: 14px; }
  .sunangle-rail-copy { font-size: 8px !important; }
  .sunangle-manifesto { padding: 85px 22px 95px; }
  .sunangle-manifesto h2 { font-size: 50px; }
  .sunangle-exhibition { padding: 88px 12px 100px; }
  .sunangle-exhibition > h2 { padding: 0 12px; font-size: 51px; }
  .sunangle-exhibition > .sunangle-eyebrow, .sunangle-exhibition > .sunangle-collection-intro { margin-left: 12px; margin-right: 12px; }
  .sunangle-exhibition > .wp-block-columns { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; margin-bottom: 42px; }
  .sunangle-art-image { min-height: 62vw; padding: 8px; }
  .sunangle-art-caption h3 { font-size: 19px; }
  .sunangle-art-price { font-size: 15px; }
  .sunangle-atelier-image figure, .sunangle-bespoke-image figure { min-height: 480px; }
  .sunangle-atelier-copy, .sunangle-bespoke-copy { padding: 80px 24px; }
  .sunangle-atelier-feature > .wp-block-columns > .wp-block-column:first-child figure,
  .sunangle-bespoke-gallery > .wp-block-columns > .wp-block-column:first-child figure { min-height: 480px; }
  .sunangle-atelier-feature > .wp-block-columns > .wp-block-column:last-child,
  .sunangle-bespoke-gallery > .wp-block-columns > .wp-block-column:last-child { padding: 80px 24px; }
  .sunangle-collector-note { padding: 90px 24px; }
  .sunangle-collector-quote { font-size: 39px; }
  .sunangle-concierge { padding: 88px 24px 96px; }
  .sunangle-newsletter-section { padding: 72px 20px; }
  .sunangle-newsletter-section > .wp-block-columns { padding: 26px; }
  .sunangle-faq-split { padding: 78px 20px 88px; }
  .sunangle-product-showcase { padding-top: 44px; }
  .sunangle-product-showcase-gallery { grid-template-columns: 1fr 1fr; gap: 10px; }
  .sunangle-product-showcase-meta { grid-template-columns: 1fr; }
  .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 10px; }
  .woocommerce ul.products li.product a img { padding: 8px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 20px; }
  .woocommerce div.product .product_title { font-size: 56px; }
  .woocommerce div.product div.images .woocommerce-product-gallery__image { min-height: 360px; }
  .sunangle-product-showcase-visual > figure { padding: 12px; }
  .woocommerce div.product div.images .flex-control-thumbs { grid-template-columns: repeat(4, 1fr); }
  .sunangle-product-points, .sunangle-market-assurances { grid-template-columns: 1fr; }
  .sunangle-product-details div { grid-template-columns: 1fr; gap: 5px; }
  .sunangle-form-row { grid-template-columns: 1fr; }
  .sunangle-post-grid { grid-template-columns: 1fr; }
  .sunangle-footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .sunangle-footer-bottom { display: grid; gap: 8px; }
}


/* =========================================================
   SUNANGLE 2.4 — strict full-bleed alignment + luxury product
   ========================================================= */

/* Remove the old nested 85% wrapper conflict. Every page section owns the
   full viewport width; the section's INNER content is centered at 85/90/95. */
.sunangle-front-entry,
.sunangle-page-entry,
.sunangle-front-entry > .entry-content,
.sunangle-page-entry > .entry-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sunangle-front-entry > .entry-content > *,
.sunangle-page-entry > .entry-content > * {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Full-bleed section backgrounds with perfectly centered inner content. */
.sunangle-section,
.sunangle-manifesto,
.sunangle-exhibition,
.sunangle-collector-note,
.sunangle-concierge,
.sunangle-faq-split,
.sunangle-newsletter-section {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.sunangle-section > *,
.sunangle-manifesto > *,
.sunangle-exhibition > *,
.sunangle-collector-note > *,
.sunangle-concierge > *,
.sunangle-faq-split > .wp-block-columns,
.sunangle-newsletter-section > .wp-block-columns {
  width: var(--sunangle-content) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.sunangle-section > .wp-block-columns,
.sunangle-manifesto > .wp-block-columns,
.sunangle-faq-split > .wp-block-columns,
.sunangle-newsletter-section > .wp-block-columns {
  box-sizing: border-box;
}

/* Gutenberg cover heroes on every inner page. */
.sunangle-page-entry .sunangle-hero,
.entry-content > .sunangle-hero {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.sunangle-hero .wp-block-cover__inner-container {
  width: var(--sunangle-content) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.sunangle-hero .wp-block-cover__inner-container > * { max-width: 760px; }
.sunangle-hero .wp-block-cover__inner-container h1 {
  font-size: clamp(52px, 5.7vw, 90px);
  line-height: .94;
  letter-spacing: -.045em;
}

/* Homepage: edge-to-edge backgrounds, centered composition. */
.sunangle-gallery-hero { width: 100% !important; max-width: none !important; margin: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
.sunangle-gallery-hero > .wp-block-columns { width: var(--sunangle-content) !important; max-width: none !important; margin-inline: auto !important; }
.sunangle-market-rail {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: 7.5vw !important;
  padding-right: 7.5vw !important;
}
.sunangle-atelier-feature,
.sunangle-bespoke-gallery {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.sunangle-atelier-feature > .wp-block-columns,
.sunangle-bespoke-gallery > .wp-block-columns { width: 100% !important; max-width: none !important; margin: 0 !important; }

/* Prevent any legacy block alignment from nudging sections sideways. */
.sunangle-front-entry .alignwide,
.sunangle-front-entry .alignfull,
.sunangle-page-entry .alignwide,
.sunangle-page-entry .alignfull { margin-left: 0 !important; margin-right: 0 !important; max-width: none !important; }

/* Commissions: refined editorial spacing. */
body.page .sunangle-page-entry .sunangle-section { padding-top: 118px; padding-bottom: 118px; }
body.page .sunangle-page-entry .sunangle-section.is-lavender { background: #eee9e1; }
body.page .sunangle-page-entry .sunangle-section.is-dark { background: #191a18; }
.sunangle-commission-intro > .wp-block-columns,
.sunangle-commission-editorial > .wp-block-columns,
.sunangle-commission-form > .wp-block-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: clamp(40px, 6vw, 100px) !important;
  align-items: center !important;
}
.sunangle-commission-editorial img { width: 100%; min-height: 620px; object-fit: cover; }
.sunangle-commission-editorial .wp-block-column:last-child { padding: clamp(22px, 3vw, 54px) 0; }
.sunangle-commission-form { background: #f2eee7 !important; }
.sunangle-commission-form .sunangle-form { max-width: none; padding: 34px; background: #fffdf9; border: 1px solid rgba(80,72,64,.12); box-shadow: 0 20px 60px rgba(43,43,43,.06); }
.sunangle-commission-form .sunangle-form-notice { background: #fffdf9; }

/* Product page — luxury gallery/acquisition layout. */
body.single-product .sunangle-woocommerce-main {
  padding: 0 0 120px;
  background: #f4f0e9;
}
body.single-product .sunangle-woocommerce-main > .sunangle-container {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}
body.single-product .woocommerce > div.product {
  width: var(--sunangle-content);
  max-width: none;
  margin: 0 auto !important;
  padding: 84px 0 0;
  grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
  gap: clamp(46px, 6vw, 96px);
  align-items: start;
}
body.single-product .woocommerce div.product div.images {
  padding: 20px;
  background: #eae5dd;
  box-shadow: 0 22px 70px rgba(43,43,43,.08);
}
body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image {
  min-height: 660px;
  padding: 12px;
  background: #f8f5f0;
}
body.single-product .woocommerce div.product div.images .flex-control-thumbs {
  gap: 10px;
  margin-top: 14px;
}
body.single-product .woocommerce div.product div.images .flex-control-thumbs li {
  padding: 0;
  background: transparent;
}
body.single-product .woocommerce div.product div.summary {
  position: sticky;
  top: 150px;
  padding: clamp(34px, 3vw, 48px);
  background: #fffdf9;
  border: 1px solid rgba(80,72,64,.11);
  box-shadow: 0 26px 70px rgba(43,43,43,.07);
}
.sunangle-product-kicker {
  margin: 0 0 16px;
  color: var(--sunangle-gold);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}
body.single-product .woocommerce div.product .product_title {
  max-width: 560px;
  margin-bottom: 12px;
  font-size: clamp(46px, 4.7vw, 72px);
  line-height: .92;
}
body.single-product .woocommerce-product-details__short-description {
  color: #6b645d;
  font: 18px/1.72 var(--sunangle-serif);
}
body.single-product .sunangle-product-points {
  grid-template-columns: 1fr;
  gap: 11px;
  padding: 22px 0;
}
body.single-product .sunangle-market-assurances {
  grid-template-columns: 1fr;
  gap: 14px;
}
body.single-product .sunangle-market-assurances li {
  grid-template-columns: 150px 1fr;
  align-items: baseline;
  gap: 15px;
}
body.single-product .sunangle-login-note { background: #f2eee7; }
body.single-product .woocommerce div.product form.cart .single_add_to_cart_button {
  flex: 1 1 230px;
  min-height: 54px;
}
body.single-product .sunangle-inquiry-link {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sunangle-product-editorial-note {
  margin-top: 26px;
  padding: 22px 0 0;
  border-top: 1px solid var(--sunangle-line);
}
.sunangle-product-editorial-note span {
  color: var(--sunangle-gold);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.sunangle-product-editorial-note p { margin-bottom: 0; color: #6b645d; font: 16px/1.65 var(--sunangle-serif); }

body.single-product .sunangle-product-showcase {
  width: 100%;
  grid-column: 1 / -1;
  padding: 120px 0 90px;
}
body.single-product .sunangle-product-showcase-inner {
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, .88fr);
  gap: clamp(46px, 6vw, 92px);
  padding: clamp(34px, 4vw, 58px);
  background: #1d1e1c;
  border: 0;
  box-shadow: none;
  color: #f7f2e9;
}
body.single-product .sunangle-product-showcase-copy .sunangle-display,
body.single-product .sunangle-product-showcase-copy h2 { color: #f7f2e9 !important; }
body.single-product .sunangle-product-showcase-copy p { color: rgba(247,242,233,.7); }
body.single-product .sunangle-product-showcase-meta { border-color: rgba(247,242,233,.18); }
body.single-product .sunangle-product-showcase-meta dt { color: var(--sunangle-gold); }
body.single-product .sunangle-product-showcase-meta dd,
body.single-product .sunangle-product-showcase-points li { color: rgba(247,242,233,.83); }
body.single-product .sunangle-product-showcase-visual > figure,
body.single-product .sunangle-product-showcase-gallery figure { background: #121311; }

body.single-product .woocommerce div.product .woocommerce-tabs {
  grid-column: 1 / -1;
  margin: 0;
  padding: 80px clamp(30px, 5vw, 70px);
  background: #fffdf9;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs {
  justify-content: center;
  gap: clamp(20px, 4vw, 54px);
  border-bottom-color: #ddd4c8;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: 11px; }
body.single-product .woocommerce div.product .woocommerce-tabs .panel {
  max-width: 980px;
  margin: 0 auto;
  padding: 45px 0 0;
}
body.single-product .woocommerce .related.products,
body.single-product .woocommerce .up-sells {
  grid-column: 1 / -1;
  padding-top: 90px;
  margin-top: 0;
}
body.single-product .woocommerce .related.products > h2,
body.single-product .woocommerce .up-sells > h2 {
  font-size: clamp(42px, 4.5vw, 64px);
  text-align: center;
  margin-bottom: 42px;
}

@media (max-width: 1100px) {
  .sunangle-market-rail { padding-left: 5vw !important; padding-right: 5vw !important; }
  body.single-product .woocommerce > div.product { grid-template-columns: 1fr 1fr; gap: 38px; }
  body.single-product .woocommerce div.product div.summary { top: 130px; padding: 30px; }
}

@media (max-width: 900px) {
  .sunangle-commission-intro > .wp-block-columns,
  .sunangle-commission-editorial > .wp-block-columns,
  .sunangle-commission-form > .wp-block-columns { grid-template-columns: 1fr !important; }
  .sunangle-commission-editorial img { min-height: 480px; }
  body.single-product .woocommerce > div.product { grid-template-columns: 1fr; padding-top: 55px; }
  body.single-product .woocommerce div.product div.summary { position: static; }
  body.single-product .sunangle-product-showcase-inner { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .sunangle-market-rail { padding-left: 2.5vw !important; padding-right: 2.5vw !important; }
  .sunangle-gallery-hero { padding-top: 82px; padding-bottom: 72px; }
  .sunangle-gallery-hero h1 { font-size: 46px; }
  body.page .sunangle-page-entry .sunangle-section { padding-top: 78px; padding-bottom: 78px; }
  .sunangle-hero .wp-block-cover__inner-container h1 { font-size: 48px; }
  .sunangle-commission-form .sunangle-form { padding: 22px; }
  body.single-product .woocommerce > div.product { width: var(--sunangle-content); padding-top: 40px; }
  body.single-product .woocommerce div.product div.images { padding: 10px; }
  body.single-product .woocommerce div.product div.images .woocommerce-product-gallery__image { min-height: 360px; }
  body.single-product .woocommerce div.product div.summary { padding: 24px 18px; }
  body.single-product .woocommerce div.product .product_title { font-size: 46px; }
  body.single-product .sunangle-product-showcase { padding: 70px 0 55px; }
  body.single-product .sunangle-product-showcase-inner { padding: 24px 18px; }
  body.single-product .woocommerce div.product .woocommerce-tabs { padding: 58px 18px; }
  body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs { overflow-x: auto; justify-content: flex-start; white-space: nowrap; }
}


/* v2.5 refinements: stronger page differentiation and elevated contact / product details */
.sunangle-studio-ethos > .wp-block-columns,
.sunangle-studio-editorial > .wp-block-columns,
.sunangle-contact-split > .wp-block-columns,
.sunangle-contact-followup > .wp-block-columns,
.sunangle-commission-advisory > .wp-block-columns {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: clamp(38px, 5vw, 84px) !important;
  align-items: center !important;
}
.sunangle-studio-editorial img,
.sunangle-contact-followup img,
.sunangle-commission-advisory img { width: 100%; min-height: 620px; object-fit: cover; }
.sunangle-studio-note,
.sunangle-contact-note {
  padding: clamp(26px, 3vw, 36px);
  background: #fffdf9;
  border: 1px solid rgba(80,72,64,.12);
  box-shadow: 0 18px 50px rgba(43,43,43,.05);
}
.sunangle-contact-cards .wp-block-columns,
.sunangle-studio-values .wp-block-columns,
.sunangle-commission-personalize .wp-block-columns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px !important;
}
.sunangle-studio-values .wp-block-column,
.sunangle-contact-cards .wp-block-column,
.sunangle-commission-personalize .wp-block-column {
  padding: 30px 24px;
  background: #fffdf9;
  border: 1px solid rgba(80,72,64,.1);
}
.sunangle-studio-values .sunangle-number,
.sunangle-contact-cards .sunangle-number,
.sunangle-commission-personalize .sunangle-number { margin-bottom: 16px; }
.sunangle-contact-split { background: #efe8de !important; }
.sunangle-contact-split .sunangle-form { max-width: none; padding: 34px; background: #fffdf9; border: 1px solid rgba(80,72,64,.12); box-shadow: 0 20px 60px rgba(43,43,43,.06); }
.sunangle-contact-followup { background: #191a18 !important; color: #f7f2e9; }
.sunangle-contact-followup h2, .sunangle-contact-followup h3 { color: #f7f2e9 !important; }
.sunangle-contact-followup p { color: rgba(247,242,233,.76); }
.sunangle-contact-followup .sunangle-card { background: rgba(255,255,255,.04); border-color: rgba(247,242,233,.1); }

body.single-product .woocommerce div.product .price { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
body.single-product .woocommerce div.product .amount { letter-spacing: -.02em; }
body.single-product .woocommerce div.product form.cart { margin-top: 22px; }
body.single-product .woocommerce div.product .woocommerce-product-details__short-description { margin-bottom: 6px; }
body.single-product .woocommerce div.product .woocommerce-tabs .panel h3 { font-size: 28px; }
body.single-product .woocommerce div.product .woocommerce-tabs .panel p,
body.single-product .woocommerce div.product .woocommerce-tabs .panel li,
body.single-product .woocommerce div.product .woocommerce-tabs .panel dd { font: 17px/1.75 var(--sunangle-serif); color: #5e5953; }
body.single-product .woocommerce .related.products ul.products { row-gap: 34px; }
body.single-product .sunangle-product-showcase-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.single-product .sunangle-product-concierge {
  grid-column: 1 / -1;
  width: var(--sunangle-content);
  margin: 0 auto;
  padding: 0 0 40px;
}
body.single-product .sunangle-product-concierge-inner {
  display: grid;
  grid-template-columns: minmax(280px,.85fr) minmax(0,1.15fr);
  gap: clamp(28px,4vw,54px);
  padding: clamp(26px,3vw,42px);
  background: #fffdf9;
  border: 1px solid rgba(80,72,64,.11);
  box-shadow: 0 22px 60px rgba(43,43,43,.05);
}
body.single-product .sunangle-product-concierge-copy p { color: #69635c; font: 18px/1.72 var(--sunangle-serif); }
body.single-product .sunangle-product-concierge-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
body.single-product .sunangle-product-concierge-grid .sunangle-card { min-height: 100%; }
body.single-product .sunangle-product-concierge-grid h3 { font-size: 24px; }

@media (max-width: 1100px) {
  .sunangle-contact-cards .wp-block-columns,
  .sunangle-studio-values .wp-block-columns,
  .sunangle-commission-personalize .wp-block-columns { grid-template-columns: 1fr 1fr; }
  body.single-product .sunangle-product-concierge-inner { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .sunangle-studio-ethos > .wp-block-columns,
  .sunangle-studio-editorial > .wp-block-columns,
  .sunangle-contact-split > .wp-block-columns,
  .sunangle-contact-followup > .wp-block-columns,
  .sunangle-commission-advisory > .wp-block-columns { grid-template-columns: 1fr !important; }
  .sunangle-studio-editorial img,
  .sunangle-contact-followup img,
  .sunangle-commission-advisory img { min-height: 460px; }
  body.single-product .sunangle-product-concierge-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
  .sunangle-contact-cards .wp-block-columns,
  .sunangle-studio-values .wp-block-columns,
  .sunangle-commission-personalize .wp-block-columns,
  body.single-product .sunangle-product-concierge-grid { grid-template-columns: 1fr; }
  .sunangle-contact-split .sunangle-form { padding: 22px; }
}


/* =========================================================
   v2.6 — premium editorial layouts + stable Woo gallery
   ========================================================= */

/* ABOUT — editorial atelier, intentionally unlike commissions. */
.sunangle-about-intro > .wp-block-columns,
.sunangle-about-feature > .wp-block-columns,
.sunangle-about-founder > .wp-block-columns {
  width: var(--sunangle-content);
  margin-inline: auto;
  display: grid !important;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr) !important;
  gap: clamp(44px, 6vw, 108px) !important;
  align-items: center !important;
}
.sunangle-about-intro { padding-block: 135px 125px !important; }
.sunangle-about-intro h2 { max-width: 720px; }
.sunangle-about-intro .wp-block-column:last-child { max-width: 600px; justify-self: end; }
.sunangle-about-intro .wp-block-column:last-child p { color: #665f58; font: 19px/1.78 var(--sunangle-serif); }
.sunangle-about-feature { padding: 0 !important; background: #1c1d1b !important; color: #f7f2e9; }
.sunangle-about-feature > .wp-block-columns { width: 100%; grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr) !important; gap: 0 !important; }
.sunangle-about-feature figure { min-height: 760px; height: 100%; margin: 0; }
.sunangle-about-feature img { width: 100%; height: 100%; min-height: 760px; object-fit: cover; }
.sunangle-about-feature .wp-block-column:last-child { padding: 90px clamp(45px, 7vw, 120px); }
.sunangle-about-feature h2 { color: #f7f2e9 !important; }
.sunangle-about-feature p { color: rgba(247,242,233,.7); font: 18px/1.75 var(--sunangle-serif); }
.sunangle-about-principles { padding-block: 125px 135px !important; background: #eee8de !important; }
.sunangle-about-principles > * { width: var(--sunangle-content); margin-inline: auto; }
.sunangle-about-principles > .wp-block-columns { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0 !important; border-top: 1px solid #d1c7b9; border-bottom: 1px solid #d1c7b9; }
.sunangle-about-principles .sunangle-card { padding: 34px 28px; background: transparent; border: 0; border-right: 1px solid #d1c7b9; box-shadow: none; }
.sunangle-about-principles .wp-block-column:last-child .sunangle-card { border-right: 0; }
.sunangle-about-principles .sunangle-card:hover { transform: none; box-shadow: none; }
.sunangle-about-founder { padding-block: 125px !important; }
.sunangle-about-founder .sunangle-founder-quote { padding: clamp(34px,4vw,58px); background: #fffdf9; border-left: 2px solid var(--sunangle-gold); }
.sunangle-about-founder .sunangle-founder-quote p { font: 22px/1.65 var(--sunangle-serif); color: #5f5952; }

/* COMMISSIONS — visually distinct process + personalization. */
.sunangle-commission-process { padding-block: 125px !important; background: #1b1c1a !important; color: #f7f2e9; }
.sunangle-commission-process > * { width: var(--sunangle-content); margin-inline: auto; }
.sunangle-commission-process h2 { color: #f7f2e9 !important; max-width: 940px; }
.sunangle-commission-process > .wp-block-columns { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 !important; margin-top: 58px; border-top: 1px solid rgba(247,242,233,.18); border-bottom: 1px solid rgba(247,242,233,.18); }
.sunangle-commission-process .sunangle-card { min-height: 310px; padding: 38px 32px; background: transparent; border: 0; border-right: 1px solid rgba(247,242,233,.14); color: #f7f2e9; box-shadow: none; }
.sunangle-commission-process .wp-block-column:last-child .sunangle-card { border-right: 0; }
.sunangle-commission-process .sunangle-card h3 { color: #f7f2e9; font-size: 32px; }
.sunangle-commission-process .sunangle-card p { color: rgba(247,242,233,.62); }
.sunangle-commission-process .sunangle-card:hover { transform: none; box-shadow: none; }
.sunangle-personalize-split { padding: 0 !important; background: #f4f0e9 !important; }
.sunangle-personalize-split > .wp-block-columns { width: 100%; margin: 0; display: grid !important; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr) !important; gap: 0 !important; align-items: stretch !important; }
.sunangle-personalize-split figure { height: 100%; min-height: 760px; margin: 0; }
.sunangle-personalize-split img { width: 100%; height: 100%; min-height: 760px; object-fit: cover; }
.sunangle-personalize-copy { padding: 90px clamp(45px,7vw,115px); display: flex; flex-direction: column; justify-content: center; }
.sunangle-personalize-list { margin-top: 30px; border-top: 1px solid #d7cfc4; }
.sunangle-personalize-row { display: grid; grid-template-columns: 54px 1fr; gap: 18px; padding: 25px 0; border-bottom: 1px solid #d7cfc4; }
.sunangle-personalize-row .sunangle-number { padding-top: 5px; }
.sunangle-personalize-row h3 { margin: 0 0 6px; font: 500 27px/1.08 var(--sunangle-serif); }
.sunangle-personalize-row p { margin: 0; color: #6b645c; }

/* CLIENT CARE — full concierge page. */
.sunangle-care-intro > .wp-block-columns,
.sunangle-care-contact > .wp-block-columns { width: var(--sunangle-content); margin-inline: auto; display: grid !important; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr) !important; gap: clamp(42px,6vw,110px) !important; align-items: start !important; }
.sunangle-care-intro { padding-block: 125px !important; }
.sunangle-care-intro .sunangle-care-side { position: sticky; top: 150px; }
.sunangle-care-intro .sunangle-care-side p { color: #6b645c; font: 18px/1.75 var(--sunangle-serif); }
.sunangle-care-faq-block { margin-bottom: 56px; }
.sunangle-care-faq-block > h3 { margin: 0 0 14px; color: var(--sunangle-gold); font: 600 11px/1.2 var(--sunangle-sans); letter-spacing: .18em; text-transform: uppercase; }
.sunangle-care-faq-block details:first-of-type { border-top: 1px solid var(--sunangle-line); }
.sunangle-care-contact { padding-block: 105px !important; background: #1d1e1c !important; color: #f7f2e9; }
.sunangle-care-contact h2 { color: #f7f2e9 !important; }
.sunangle-care-contact p { color: rgba(247,242,233,.68); }
.sunangle-care-contact .wp-block-column:last-child { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.sunangle-care-contact .sunangle-card { background: rgba(255,255,255,.04); border-color: rgba(247,242,233,.12); }
.sunangle-care-contact .sunangle-card h3 { color: #f7f2e9; }
.sunangle-care-contact .sunangle-card p { color: rgba(247,242,233,.62); }

/* CONTACT — concierge presentation. */
.sunangle-contact-hero-strip { padding-block: 105px !important; background: #ede5da !important; }
.sunangle-contact-hero-strip > .wp-block-columns { width: var(--sunangle-content); margin-inline:auto; display:grid !important; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr) !important; gap:clamp(42px,6vw,105px) !important; align-items:end !important; }
.sunangle-contact-hero-strip .wp-block-column:last-child p { font: 19px/1.75 var(--sunangle-serif); color:#655e57; }
.sunangle-contact-info-rail { padding: 0 !important; background: #1d1e1c !important; color:#f7f2e9; }
.sunangle-contact-info-rail > .wp-block-columns { width:var(--sunangle-content); margin-inline:auto; display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 !important; }
.sunangle-contact-info-rail .sunangle-card { min-height:210px; padding:38px 30px; background:transparent; border:0; border-right:1px solid rgba(247,242,233,.14); box-shadow:none; }
.sunangle-contact-info-rail .wp-block-column:last-child .sunangle-card { border-right:0; }
.sunangle-contact-info-rail .sunangle-card h3 { color:#f7f2e9; }
.sunangle-contact-info-rail .sunangle-card p,.sunangle-contact-info-rail .sunangle-card a { color:rgba(247,242,233,.68); }
.sunangle-contact-form-section > .wp-block-columns { width:var(--sunangle-content); margin-inline:auto; display:grid !important; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr) !important; gap:clamp(40px,6vw,105px) !important; align-items:start !important; }
.sunangle-contact-form-section { padding-block:125px !important; }
.sunangle-contact-form-section .sunangle-form { max-width:none; padding:38px; background:#fffdf9; border:1px solid rgba(80,72,64,.11); box-shadow:0 24px 70px rgba(43,43,43,.06); }
.sunangle-contact-form-section .sunangle-contact-note { margin-top:28px; }
.sunangle-contact-aftercare { padding-block:115px !important; background:#eee8de !important; }
.sunangle-contact-aftercare > * { width:var(--sunangle-content); margin-inline:auto; }
.sunangle-contact-aftercare > .wp-block-columns { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px !important; }

/* PRODUCT — true 85% layout; remove gallery whitespace by enabling FlexSlider layout. */
body.single-product .sunangle-woocommerce-main { padding: 0 0 115px; }
body.single-product .sunangle-woocommerce-main > .sunangle-container {
  width: var(--sunangle-content) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding: 0 !important;
}
body.single-product .woocommerce > div.product {
  width: 100% !important;
  margin: 0 !important;
  padding: 78px 0 0 !important;
  grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr) !important;
  gap: clamp(40px,5vw,82px) !important;
}
body.single-product .woocommerce-product-gallery {
  display: grid !important;
  grid-template-columns: 92px minmax(0,1fr) !important;
  grid-template-rows: auto !important;
  gap: 14px !important;
  align-items: start !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.single-product .woocommerce-product-gallery .flex-viewport {
  grid-column: 2 !important;
  grid-row: 1 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: #eee8df;
  padding: 18px;
}
body.single-product .woocommerce-product-gallery__wrapper { height: auto !important; margin: 0 !important; }
body.single-product .woocommerce-product-gallery__image {
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  background: transparent !important;
}
body.single-product .woocommerce-product-gallery__image img { width:100% !important; max-height:720px !important; object-fit:contain !important; }
body.single-product .woocommerce-product-gallery .flex-control-thumbs {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style:none !important;
}
body.single-product .woocommerce-product-gallery .flex-control-thumbs li { width:100% !important; margin:0 !important; padding:7px !important; background:#eee8df !important; }
body.single-product .woocommerce-product-gallery .flex-control-thumbs img { width:100% !important; aspect-ratio:1/1 !important; object-fit:cover !important; background:#fff !important; }
/* Defensive fallback before/without slider initialization: do not create giant boxes for gallery images. */
body.single-product .woocommerce-product-gallery:not(.woocommerce-product-gallery--with-images) .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) { min-height:0 !important; }
body.single-product .woocommerce div.product div.summary { position: sticky; top: 148px; padding: clamp(30px,3vw,44px); }
body.single-product .woocommerce div.product .product_title { font-size:clamp(44px,4.2vw,68px); }
body.single-product .woocommerce .single_add_to_cart_button,
body.single-product .woocommerce a.button { background:var(--sunangle-gold) !important; color:#fff !important; }
body.single-product .woocommerce .single_add_to_cart_button:hover,
body.single-product .woocommerce a.button:hover { background:var(--sunangle-deep-gold) !important; }
body.single-product .sunangle-product-showcase,
body.single-product .sunangle-product-concierge,
body.single-product .woocommerce div.product .woocommerce-tabs,
body.single-product .woocommerce .related.products,
body.single-product .woocommerce .up-sells { width:100% !important; max-width:none !important; }
body.single-product .sunangle-product-showcase { padding:95px 0 75px !important; }
body.single-product .sunangle-product-showcase-inner { padding:clamp(30px,3.4vw,50px); }
body.single-product .sunangle-product-concierge { padding:70px 0 40px; }
body.single-product .woocommerce div.product .woocommerce-tabs { padding:70px 0 65px !important; background:transparent !important; }
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs { justify-content:flex-start !important; }
body.single-product .woocommerce div.product .woocommerce-tabs .panel { max-width:none !important; }
body.single-product .sunangle-product-details div { grid-template-columns:140px 1fr; }
body.single-product .woocommerce .related.products { padding-top:80px !important; }
body.single-product .woocommerce .related.products > h2 { text-align:left !important; }

/* MY ACCOUNT — 85%, English-only presentation. */
body.woocommerce-account .sunangle-main > .sunangle-container,
body.woocommerce-account .sunangle-woocommerce-main > .sunangle-container,
body.woocommerce-account .sunangle-page-heading .sunangle-container {
  width: var(--sunangle-content) !important;
  max-width:none !important;
  margin-inline:auto !important;
}
body.woocommerce-account .sunangle-page-heading { padding:82px 0 58px; }
body.woocommerce-account .sunangle-page-heading .entry-title { font-size:clamp(52px,6vw,82px); }
body.woocommerce-account .woocommerce { width:var(--sunangle-content); margin:0 auto; padding:65px 0 95px; }
body.woocommerce-account .woocommerce-form-login,
body.woocommerce-account .woocommerce-form-register { padding:28px; background:#fffdf9; border:1px solid rgba(80,72,64,.12); box-shadow:0 16px 45px rgba(43,43,43,.04); }
body.woocommerce-account .u-columns.col2-set { display:grid; grid-template-columns:1fr 1fr; gap:34px; }
body.woocommerce-account .u-column1, body.woocommerce-account .u-column2 { width:auto !important; float:none !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation { width:24% !important; padding:24px; background:#1d1e1c; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul { padding:0; margin:0; list-style:none; }
body.woocommerce-account .woocommerce-MyAccount-navigation a { display:block; padding:10px 0; color:rgba(247,242,233,.76); }
body.woocommerce-account .woocommerce-MyAccount-content { width:72% !important; padding:30px 34px; background:#fffdf9; }

@media (max-width:1100px) {
  .sunangle-about-principles > .wp-block-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sunangle-about-principles .wp-block-column:nth-child(2) .sunangle-card { border-right:0; }
  .sunangle-about-principles .wp-block-column:nth-child(-n+2) .sunangle-card { border-bottom:1px solid #d1c7b9; }
  body.single-product .woocommerce > div.product { grid-template-columns:minmax(0,1fr) minmax(330px,.9fr) !important; }
}
@media (max-width:900px) {
  .sunangle-about-intro > .wp-block-columns,
  .sunangle-about-founder > .wp-block-columns,
  .sunangle-care-intro > .wp-block-columns,
  .sunangle-care-contact > .wp-block-columns,
  .sunangle-contact-hero-strip > .wp-block-columns,
  .sunangle-contact-form-section > .wp-block-columns { grid-template-columns:1fr !important; }
  .sunangle-about-feature > .wp-block-columns,
  .sunangle-personalize-split > .wp-block-columns { grid-template-columns:1fr !important; }
  .sunangle-about-feature figure,.sunangle-about-feature img,.sunangle-personalize-split figure,.sunangle-personalize-split img { min-height:480px; }
  .sunangle-care-intro .sunangle-care-side { position:static; }
  .sunangle-commission-process > .wp-block-columns,
  .sunangle-contact-info-rail > .wp-block-columns,
  .sunangle-contact-aftercare > .wp-block-columns { grid-template-columns:1fr !important; }
  .sunangle-commission-process .sunangle-card,.sunangle-contact-info-rail .sunangle-card { border-right:0; border-bottom:1px solid rgba(247,242,233,.14); }
  body.single-product .woocommerce > div.product { grid-template-columns:1fr !important; padding-top:50px !important; }
  body.single-product .woocommerce div.product div.summary { position:static; }
  body.woocommerce-account .u-columns.col2-set { grid-template-columns:1fr; }
  body.woocommerce-account .woocommerce-MyAccount-navigation,body.woocommerce-account .woocommerce-MyAccount-content { width:100% !important; float:none !important; }
}
@media (max-width:767px) {
  .sunangle-about-principles > .wp-block-columns { grid-template-columns:1fr; }
  .sunangle-about-principles .sunangle-card { border-right:0 !important; border-bottom:1px solid #d1c7b9; }
  .sunangle-personalize-copy { padding:70px 24px; }
  .sunangle-care-contact .wp-block-column:last-child { grid-template-columns:1fr; }
  body.single-product .woocommerce-product-gallery { grid-template-columns:1fr !important; }
  body.single-product .woocommerce-product-gallery .flex-viewport { grid-column:1 !important; grid-row:1 !important; padding:10px; }
  body.single-product .woocommerce-product-gallery .flex-control-thumbs { grid-column:1 !important; grid-row:2 !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
  body.single-product .woocommerce div.product div.summary { padding:24px 18px; }
  body.woocommerce-account .woocommerce { padding-top:38px; }
}


/* =========================================================
   v2.7 — artwork-first banners, editorial blog, aligned account
   ========================================================= */
.entry-content > .sunangle-art-banner,
.sunangle-front-entry .sunangle-art-banner,
.sunangle-page-entry .sunangle-art-banner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
.sunangle-art-banner {
  position: relative;
  min-height: 72vh;
  overflow: hidden;
  background: #121311;
  color: #f7f2e9;
}
.sunangle-home-art-banner { min-height: calc(100svh - 126px); }
.sunangle-art-banner > .sunangle-art-banner-image,
.sunangle-art-banner-stage {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  display: grid;
  place-items: center;
  background: #11120f;
}
.sunangle-art-banner > .sunangle-art-banner-image img,
.sunangle-art-banner-stage img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block;
}
.sunangle-art-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(10,10,9,.62) 0%, rgba(10,10,9,.18) 42%, rgba(10,10,9,0) 72%), linear-gradient(0deg, rgba(10,10,9,.48) 0%, rgba(10,10,9,0) 44%);
}
.sunangle-art-banner > .sunangle-art-banner-copy,
.sunangle-art-banner-copy {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: clamp(34px, 6vh, 72px);
  width: var(--sunangle-content) !important;
  max-width: none !important;
  transform: translateX(-50%);
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.sunangle-art-banner-copy > * { max-width: 690px; }
.sunangle-art-banner-copy h1 {
  margin: 0 0 18px;
  max-width: 760px;
  color: #f7f2e9 !important;
  font: 500 clamp(48px, 5.6vw, 86px)/.9 var(--sunangle-serif);
  letter-spacing: -.045em;
  text-shadow: 0 2px 24px rgba(0,0,0,.55);
}
.sunangle-art-banner-copy > p:not(.sunangle-eyebrow) {
  color: rgba(247,242,233,.82);
  font: 18px/1.65 var(--sunangle-serif);
  text-shadow: 0 1px 10px rgba(0,0,0,.65);
}
.sunangle-art-banner-copy .wp-block-buttons { display: inline-flex; width: auto; margin: 12px 10px 0 0; }
.sunangle-art-banner-copy .is-style-outline .wp-block-button__link { color:#fff; border-color:rgba(255,255,255,.72); }
.sunangle-home-art-banner .sunangle-art-banner-copy { bottom: clamp(32px,5vh,60px); }
.sunangle-home-art-banner .sunangle-art-banner-image img { padding: clamp(8px, 1.2vw, 18px); }

/* Blog listing banner + cards */
.sunangle-blog-main { background:#f5f1ea; }
.sunangle-blog-banner { min-height: 70vh; }
.sunangle-blog-intro { padding: 90px 0 10px; }
.sunangle-blog-intro h2 { max-width: 950px; margin:0; font:500 clamp(42px,5vw,72px)/.98 var(--sunangle-serif); letter-spacing:-.035em; }
.sunangle-blog-main .sunangle-post-grid { padding: 65px 0 120px; gap: 46px 28px; }
.sunangle-blog-main .sunangle-post-card { padding:0; overflow:hidden; background:#fffdf9; border:1px solid rgba(80,72,64,.1); box-shadow:0 18px 50px rgba(43,43,43,.045); }
.sunangle-post-image { display:grid; place-items:center; min-height:390px; padding:20px; background:#ebe5dc; }
.sunangle-post-image img { width:100%; height:350px; object-fit:contain; object-position:center; }
.sunangle-post-card-copy { padding:26px 26px 30px; }
.sunangle-post-card-copy .entry-meta { margin:0 0 12px; color:#8a8178; font-size:9px; letter-spacing:.13em; text-transform:uppercase; }
.sunangle-post-card-copy h2 { margin:0 0 12px; font:500 34px/1.02 var(--sunangle-serif); }
.sunangle-post-card-copy > p:not(.entry-meta) { color:#6c655e; }
.sunangle-text-link { display:inline-block; margin-top:10px; font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }

/* Article single — full artwork hero and centered editorial body */
.sunangle-article-main { background:#f7f3ed; }
.sunangle-article-hero { background:#141513; color:#f7f2e9; }
.sunangle-article-hero-stage { height:min(72vh,820px); min-height:560px; display:grid; place-items:center; background:#0f100e; }
.sunangle-article-hero-stage img { width:100%; height:100%; object-fit:contain; object-position:center; padding:clamp(10px,1.5vw,22px); }
.sunangle-article-hero-copy { padding:48px 0 58px; }
.sunangle-article-hero-copy h1 { max-width:1050px; margin:0 0 18px; color:#f7f2e9; font:500 clamp(46px,5.5vw,82px)/.92 var(--sunangle-serif); letter-spacing:-.04em; }
.sunangle-article-hero-copy .entry-meta { margin:0; color:rgba(247,242,233,.52); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.sunangle-single-entry { padding:100px 0 125px; }
.sunangle-article-shell { width:var(--sunangle-content); margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:clamp(52px,7vw,110px); align-items:start; }
.sunangle-article-content { max-width:820px; margin:0; }
.sunangle-article-content > * { width:100% !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
.sunangle-article-content .sunangle-article-lede { margin:0 0 42px !important; color:#393632; font:italic 26px/1.55 var(--sunangle-serif); }
.sunangle-article-content h2 { margin:56px 0 18px; font:500 40px/1.05 var(--sunangle-serif); }
.sunangle-article-content p { color:#625c55; font:19px/1.85 var(--sunangle-serif); }
.sunangle-article-aside { position:sticky; top:150px; padding:28px; background:#fffdf9; border:1px solid rgba(80,72,64,.12); }
.sunangle-article-aside > p:not(.sunangle-eyebrow) { color:#696159; font:17px/1.65 var(--sunangle-serif); }

/* Dedicated My Account template — no WooCommerce float drift. */
.sunangle-account-heading { padding:82px 0 64px; background:#eee7dc; }
.sunangle-account-heading h1 { margin:0 0 14px; font:500 clamp(52px,6vw,84px)/.94 var(--sunangle-serif); letter-spacing:-.04em; }
.sunangle-account-heading > .sunangle-container > p:last-child { max-width:650px; color:#665f58; font:18px/1.7 var(--sunangle-serif); }
.sunangle-account-content { padding:72px 0 110px; background:#f7f3ed; }
.sunangle-account-content > .sunangle-container { width:var(--sunangle-content) !important; margin:0 auto !important; }
.sunangle-account-content .woocommerce { width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; }
.sunangle-account-content .woocommerce .u-columns.col2-set,
.sunangle-account-content .woocommerce .col2-set {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:36px !important;
  align-items:start !important;
  width:100% !important;
  margin:0 !important;
}
.sunangle-account-content .woocommerce .u-column1,
.sunangle-account-content .woocommerce .u-column2,
.sunangle-account-content .woocommerce .col-1,
.sunangle-account-content .woocommerce .col-2 {
  grid-column:auto !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  float:none !important;
  clear:none !important;
  margin:0 !important;
  padding:0 !important;
  position:static !important;
}
.sunangle-account-content .woocommerce .u-column1 > h2,
.sunangle-account-content .woocommerce .u-column2 > h2 { margin:0 0 18px; font:500 34px/1 var(--sunangle-serif); }
.sunangle-account-content .woocommerce-form-login,
.sunangle-account-content .woocommerce-form-register { margin:0 !important; padding:30px !important; min-height:100%; background:#fffdf9; border:1px solid rgba(80,72,64,.12) !important; box-shadow:0 18px 50px rgba(43,43,43,.04); }
.sunangle-account-content .woocommerce form .form-row { float:none !important; width:100% !important; margin:0 0 18px !important; }
.sunangle-account-content .woocommerce form .form-row-wide { width:100% !important; }
.sunangle-account-content .woocommerce-MyAccount-navigation { float:left; width:24% !important; margin:0 !important; padding:25px; background:#1d1e1c; }
.sunangle-account-content .woocommerce-MyAccount-content { float:right; width:72% !important; margin:0 !important; padding:32px 36px; background:#fffdf9; }

@media (max-width: 900px) {
  .sunangle-art-banner { min-height: 66vh; }
  .sunangle-home-art-banner { min-height: 78vh; }
  .sunangle-art-banner-copy h1 { font-size:54px; }
  .sunangle-blog-main .sunangle-post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sunangle-article-shell { grid-template-columns:1fr; }
  .sunangle-article-aside { position:static; }
  .sunangle-account-content .woocommerce .u-columns.col2-set,
  .sunangle-account-content .woocommerce .col2-set { grid-template-columns:1fr !important; }
  .sunangle-account-content .woocommerce-MyAccount-navigation,
  .sunangle-account-content .woocommerce-MyAccount-content { float:none !important; width:100% !important; }
  .sunangle-account-content .woocommerce-MyAccount-navigation { margin-bottom:24px !important; }
}
@media (max-width: 767px) {
  .sunangle-art-banner { min-height: 72vh; }
  .sunangle-home-art-banner { min-height: calc(100svh - 112px); }
  .sunangle-art-banner::after { background:linear-gradient(0deg,rgba(10,10,9,.68) 0%,rgba(10,10,9,.05) 62%); }
  .sunangle-art-banner-copy { bottom:24px; }
  .sunangle-art-banner-copy h1 { font-size:44px; line-height:.94; }
  .sunangle-art-banner-copy > p:not(.sunangle-eyebrow) { font-size:16px; }
  .sunangle-art-banner-copy .wp-block-buttons { width:100%; margin-right:0; }
  .sunangle-art-banner-copy .wp-block-button,.sunangle-art-banner-copy .wp-block-button__link { width:100%; text-align:center; }
  .sunangle-blog-main .sunangle-post-grid { grid-template-columns:1fr; padding-top:45px; }
  .sunangle-post-image { min-height:320px; }
  .sunangle-post-image img { height:290px; }
  .sunangle-article-hero-stage { height:58vh; min-height:420px; }
  .sunangle-article-hero-copy { padding:36px 0 42px; }
  .sunangle-single-entry { padding:68px 0 85px; }
  .sunangle-article-content .sunangle-article-lede { font-size:22px; }
  .sunangle-account-heading { padding:65px 0 50px; }
  .sunangle-account-content { padding:48px 0 80px; }
  .sunangle-account-content .woocommerce-form-login,
  .sunangle-account-content .woocommerce-form-register { padding:22px !important; }
}


/* =========================================================
   v2.8 — quieter header logo, art-only banners, Woo hero, aligned contact/account
   ========================================================= */
.sunangle-art-banner,
.sunangle-art-banner--visual,
.sunangle-shop-archive-banner,
.sunangle-single-product-banner {
  min-height: 72vh;
  background: #121311;
}
.sunangle-home-art-banner { min-height: calc(100svh - 126px) !important; }
.sunangle-shop-archive-banner,
.sunangle-single-product-banner { min-height: 58vh; }
.sunangle-art-banner::after,
.sunangle-art-banner--visual::after,
.sunangle-shop-archive-banner::after,
.sunangle-single-product-banner::after {
  background: linear-gradient(180deg, rgba(10,10,9,.08) 0%, rgba(10,10,9,.12) 100%) !important;
}
.sunangle-art-banner-copy { display: none !important; }
.sunangle-art-banner > .sunangle-art-banner-image img,
.sunangle-art-banner-stage img,
.sunangle-shop-archive-banner img,
.sunangle-single-product-banner img {
  object-fit: contain !important;
  object-position: center 42% !important;
  padding: clamp(10px, 1.25vw, 20px);
}
.sunangle-woocommerce-main > .sunangle-art-banner,
.sunangle-woocommerce-main > .sunangle-art-banner--visual,
.sunangle-woocommerce-main > .sunangle-shop-archive-banner,
.sunangle-woocommerce-main > .sunangle-single-product-banner {
  width: 100%;
  max-width: none;
  margin: 0 0 32px;
}
.entry-content > .sunangle-contact-info-rail,
.entry-content > .sunangle-contact-form-section,
.entry-content > .sunangle-contact-aftercare {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 100px max(5vw,24px) !important;
}
.entry-content > .sunangle-contact-info-rail > *,
.entry-content > .sunangle-contact-form-section > *,
.entry-content > .sunangle-contact-aftercare > * {
  width: var(--sunangle-content) !important;
  max-width: none !important;
  margin-inline: auto !important;
}
.sunangle-contact-info-rail .wp-block-columns,
.sunangle-contact-form-section .wp-block-columns,
.sunangle-contact-aftercare .wp-block-columns {
  display: grid !important;
  gap: 24px !important;
}
.sunangle-contact-info-rail .wp-block-columns { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
.sunangle-contact-form-section .wp-block-columns { grid-template-columns: minmax(0,1fr) minmax(0,.95fr) !important; align-items: start !important; gap: clamp(34px,5vw,72px) !important; }
.sunangle-contact-aftercare .wp-block-columns { grid-template-columns: repeat(3, minmax(0,1fr)) !important; }
.sunangle-contact-aftercare > p.sunangle-eyebrow,
.sunangle-contact-aftercare > h2 { width: var(--sunangle-content) !important; max-width: none !important; margin-inline: auto !important; }
.sunangle-contact-aftercare > h2 { margin-top: 0; margin-bottom: 34px; }
body.woocommerce-account .woocommerce { width: var(--sunangle-content) !important; max-width: none !important; margin: 0 auto !important; }
body.woocommerce-account .u-columns.col2-set {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: clamp(32px,4vw,48px) !important;
  align-items: start !important;
}
body.woocommerce-account .u-columns.col2-set > .u-column1,
body.woocommerce-account .u-columns.col2-set > .u-column2,
body.woocommerce-account .u-columns.col2-set > .col-1,
body.woocommerce-account .u-columns.col2-set > .col-2,
body.woocommerce-account .u-columns.col2-set .u-column1,
body.woocommerce-account .u-columns.col2-set .u-column2,
body.woocommerce-account .u-columns.col2-set .col-1,
body.woocommerce-account .u-columns.col2-set .col-2 {
  float: none !important;
  width: auto !important;
  clear: none !important;
  margin: 0 !important;
}
body.woocommerce-account .woocommerce-form-login,
body.woocommerce-account .woocommerce-form-register { min-height: 100%; }
body.woocommerce-account .sunangle-account-content { padding: 60px 0 90px; }
@media (max-width: 1100px) {
  .sunangle-contact-info-rail .wp-block-columns,
  .sunangle-contact-aftercare .wp-block-columns { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 900px) {
  .sunangle-contact-form-section .wp-block-columns { grid-template-columns: 1fr !important; }
}
@media (max-width: 767px) {
  .sunangle-contact-info-rail .wp-block-columns,
  .sunangle-contact-aftercare .wp-block-columns,
  body.woocommerce-account .u-columns.col2-set { grid-template-columns: 1fr !important; }
  .sunangle-shop-archive-banner,
  .sunangle-single-product-banner,
  .sunangle-art-banner { min-height: 46vh; }
  .sunangle-home-art-banner { min-height: calc(70svh - 112px) !important; }
}


/* =========================================================
   v2.9 — transparent enlarged wordmark logo + supplied banner assets
   ========================================================= */
.sunangle-brand {
  width: 248px !important;
  height: 56px !important;
}
.sunangle-brand img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: left center !important;
  background: transparent !important;
  mix-blend-mode: normal !important;
}
.sunangle-site-title {
  background: transparent !important;
}
.sunangle-art-banner > .sunangle-art-banner-image img,
.sunangle-art-banner-stage img,
.sunangle-shop-archive-banner img,
.sunangle-single-product-banner img {
  object-position: center 36% !important;
}
@media (max-width: 767px) {
  .sunangle-brand { width: 198px !important; height: 44px !important; }
  .sunangle-brand img { width: 100% !important; height: 100% !important; }
  .sunangle-art-banner > .sunangle-art-banner-image img,
  .sunangle-art-banner-stage img,
  .sunangle-shop-archive-banner img,
  .sunangle-single-product-banner img {
    object-position: center 34% !important;
  }
}


/* =========================================================
   v3.0 force-fix — supplied logo + supplied artwork banners
   ========================================================= */
.sunangle-header-main { grid-template-columns: 290px 1fr auto !important; }
.sunangle-brand { width: 270px !important; height: 64px !important; overflow: visible !important; background: transparent !important; }
.sunangle-brand img { width: 270px !important; height: 64px !important; object-fit: contain !important; object-position: left center !important; background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.sunangle-art-banner-stage,
.sunangle-art-banner > .sunangle-art-banner-image { background: #121311 !important; }
.sunangle-art-banner-stage img,
.sunangle-art-banner > .sunangle-art-banner-image img,
.sunangle-shop-archive-banner img,
.sunangle-single-product-banner img { object-fit: contain !important; object-position: center 34% !important; padding: 0 !important; }
.sunangle-art-banner-copy { display:none !important; }
.sunangle-art-banner::after { background: transparent !important; }
@media (max-width: 1180px){
  .sunangle-header-main { grid-template-columns: 235px 1fr auto !important; }
  .sunangle-brand,.sunangle-brand img { width: 225px !important; height: 54px !important; }
}
@media (max-width: 767px){
  .sunangle-header-main { grid-template-columns: 1fr auto !important; }
  .sunangle-brand,.sunangle-brand img { width: 190px !important; height: 46px !important; }
}


/* =========================================================
   v3.1 targeted fixes only: requested logo/header, banner position, Woo fixes
   ========================================================= */
/* User-supplied Logo 3: transparent version on a matching warm-paper header. */
.sunangle-site-header,
.sunangle-header-main,
.sunangle-announcement {
  background: #f6f3ee !important;
}
.sunangle-site-header { color: #292621 !important; border-bottom-color: rgba(91,74,49,.18) !important; }
.sunangle-announcement { color: #625a50 !important; border-bottom-color: rgba(91,74,49,.14) !important; }
.sunangle-announcement strong { color: #9c793f !important; }
.sunangle-header-main { grid-template-columns: 290px 1fr auto !important; }
.sunangle-brand { width: 280px !important; height: 66px !important; background: transparent !important; overflow: visible !important; }
.sunangle-brand img {
  width: 280px !important;
  height: 66px !important;
  object-fit: contain !important;
  object-position: left center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.sunangle-primary-nav a,
.sunangle-header-actions a { color: #2f2b27 !important; }
.sunangle-primary-nav a:hover,
.sunangle-primary-nav .current-menu-item > a,
.sunangle-primary-nav .current_page_item > a,
.sunangle-header-actions a:hover { color: #a9834c !important; }
.sunangle-primary-nav .sub-menu { background: #f6f3ee !important; border-color: rgba(91,74,49,.16) !important; }
.sunangle-menu-toggle { color: #2f2b27 !important; border-color: rgba(47,43,39,.28) !important; }

/* Shop archive: banner begins immediately below the header, no blank strip. */
body.post-type-archive-product .sunangle-woocommerce-main,
body.tax-product_cat .sunangle-woocommerce-main,
body.tax-product_tag .sunangle-woocommerce-main,
body.woocommerce-shop .sunangle-woocommerce-main {
  padding-top: 0 !important;
}
body.post-type-archive-product .sunangle-shop-archive-banner,
body.tax-product_cat .sunangle-shop-archive-banner,
body.tax-product_tag .sunangle-shop-archive-banner,
body.woocommerce-shop .sunangle-shop-archive-banner {
  margin-top: 0 !important;
}

/* Restore previous artwork banners and place the complete artwork slightly higher. */
.sunangle-art-banner > .sunangle-art-banner-image img,
.sunangle-art-banner-stage img,
.sunangle-shop-archive-banner img,
.sunangle-single-product-banner img,
.sunangle-article-hero-stage img {
  object-fit: contain !important;
  object-position: center 27% !important;
}

@media (max-width: 1180px) {
  .sunangle-header-main { grid-template-columns: 245px 1fr auto !important; }
  .sunangle-brand,.sunangle-brand img { width: 235px !important; height: 56px !important; }
}
@media (max-width: 767px) {
  .sunangle-header-main { grid-template-columns: 1fr auto !important; }
  .sunangle-brand,.sunangle-brand img { width: 205px !important; height: 48px !important; }
  .sunangle-art-banner > .sunangle-art-banner-image img,
  .sunangle-art-banner-stage img,
  .sunangle-shop-archive-banner img,
  .sunangle-single-product-banner img,
  .sunangle-article-hero-stage img { object-position: center 24% !important; }
}
\n\n/* SUNANGLE v5.0 — user-supplied product detail media */
.sunangle-supplied-details{max-width:1280px;margin:72px auto;padding:0 4%;}
.sunangle-supplied-details__head{max-width:760px;margin-bottom:28px;}
.sunangle-supplied-details__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.sunangle-supplied-details__grid figure{margin:0;background:#f4f1ec;overflow:hidden;}
.sunangle-supplied-details__grid img,.sunangle-supplied-details__grid video{display:block;width:100%;height:auto;object-fit:cover;}
.sunangle-supplied-details__grid video{background:#111;}
@media(max-width:900px){.sunangle-supplied-details__grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.sunangle-supplied-details{margin:48px auto;padding:0 5%;}.sunangle-supplied-details__grid{grid-template-columns:1fr;gap:14px;}}


/* v5.1 requested fixes: original home banner, updated logo, product page styling, shop images */
.sunangle-brand { width: 420px !important; height: 88px !important; background: transparent !important; overflow: visible !important; }
.sunangle-brand img { width: 100% !important; height: 100% !important; object-fit: contain !important; object-position: left center !important; background: transparent !important; }
@media (max-width: 1024px) { .sunangle-brand { width: 300px !important; height: 64px !important; } }
@media (max-width: 767px) { .sunangle-brand { width: 220px !important; height: 48px !important; } }

body.home .entry-content > .wp-block-group.sunangle-gallery-hero { display: none !important; }
.sunangle-home-original-banner { width: 100%; margin: 0 0 34px; background: #f6f2eb; }
.sunangle-home-original-banner__stage { width: 100%; }
.sunangle-home-original-banner img { display: block; width: 100%; height: auto; object-fit: cover; }

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img { width: 100% !important; aspect-ratio: 4 / 5; object-fit: contain; background: #f7f3ec; }
.woocommerce ul.products li.product .button { text-transform: uppercase; letter-spacing: .16em; }

.sunangle-single-product-banner { min-height: 34vh !important; max-height: 420px; overflow: hidden; }
.sunangle-single-product-banner .sunangle-art-banner-stage { height: 100%; }
.sunangle-single-product-banner img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center 18% !important; }
body.single-product .sunangle-woocommerce-main { background: #f6f2eb; padding-bottom: 100px; }
body.single-product .sunangle-woocommerce-main > .sunangle-container { width: min(1280px,92vw) !important; padding-top: 34px !important; }
body.single-product .woocommerce > div.product { grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr) !important; gap: 42px !important; align-items: start; }
body.single-product .woocommerce-product-gallery { grid-template-columns: 104px minmax(0,1fr) !important; gap: 22px !important; align-items: start; }
body.single-product .woocommerce-product-gallery .flex-control-thumbs { grid-template-columns: 1fr !important; gap: 14px !important; }
body.single-product .woocommerce-product-gallery .flex-control-thumbs li { border: 1px solid #e2d8c9 !important; padding: 8px !important; }
body.single-product .woocommerce-product-gallery .flex-viewport { background: #efe7db !important; padding: 18px !important; }
body.single-product .woocommerce-product-gallery__image img { max-height: 850px !important; object-fit: contain !important; }
body.single-product .woocommerce div.product div.summary { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 10px 0 0 !important; top: 114px !important; }
body.single-product .woocommerce div.product .product_title { font-size: clamp(52px, 5vw, 84px) !important; line-height: .95 !important; letter-spacing: -.03em !important; color: #2f2a27 !important; }
body.single-product .sunangle-product-subtitle { font-size: 30px !important; color: #9f8e76 !important; margin-bottom: 24px !important; }
body.single-product .woocommerce div.product .price { font-size: 22px !important; margin: 18px 0 20px !important; color: #2d2a27 !important; }
body.single-product .sunangle-product-points { margin: 24px 0 24px !important; padding: 22px 0 !important; border-top: 1px solid #ddd1c1; border-bottom: 1px solid #ddd1c1; }
body.single-product .sunangle-product-points li { padding-left: 18px; position: relative; margin-bottom: 14px !important; }
body.single-product .sunangle-product-points li::before { content: '✦'; position: absolute; left: 0; top: 0; color: #c6a36a; font-size: 12px; }
body.single-product .sunangle-market-assurances { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px !important; padding-top: 18px !important; border-top: 1px solid #ddd1c1 !important; }
body.single-product .sunangle-market-assurances li { display: block !important; padding: 0 !important; }
body.single-product .sunangle-market-assurances li b { display:block; margin-bottom: 6px; font-size: 14px; }
body.single-product .sunangle-market-assurances li span { display:block; font-size: 13px; color:#7a736b; }
body.single-product .sunangle-product-showcase { background: #121313 !important; padding: 78px 0 82px !important; }
body.single-product .sunangle-product-showcase-inner { width: min(1320px,92vw); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(340px, .97fr); gap: 54px; padding: 0 !important; }
body.single-product .sunangle-product-showcase-visual figure { margin: 0 0 18px !important; background: #0f100f !important; padding: 12px !important; }
body.single-product .sunangle-product-showcase-visual figure img { width: 100%; height: auto; display: block; object-fit: contain; }
body.single-product .sunangle-product-showcase-gallery { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 20px !important; }
body.single-product .sunangle-product-showcase-gallery figure { margin: 0 !important; background: #0f100f !important; padding: 10px !important; }
body.single-product .sunangle-product-showcase-copy { padding-top: 6px; }
body.single-product .sunangle-product-showcase-copy .sunangle-eyebrow { color: #c7a46f !important; letter-spacing: .18em !important; }
body.single-product .sunangle-product-showcase-copy .sunangle-display,
body.single-product .sunangle-product-showcase-copy h2 { color: #f3eee6 !important; font-size: clamp(44px,4.3vw,64px) !important; line-height: .98 !important; }
body.single-product .sunangle-product-showcase-copy p { color: rgba(243,238,230,.75) !important; }
body.single-product .sunangle-product-showcase-meta { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px 32px !important; margin: 26px 0 !important; padding: 0 0 26px !important; border-bottom: 1px solid rgba(243,238,230,.15) !important; }
body.single-product .sunangle-product-showcase-meta div { border: 0 !important; padding: 0 !important; }
body.single-product .sunangle-product-showcase-meta dt { margin: 0 0 8px !important; color: #c7a46f !important; text-transform: uppercase; letter-spacing: .16em; font-size: 12px; }
body.single-product .sunangle-product-showcase-meta dd,
body.single-product .sunangle-product-showcase-points li { color: rgba(243,238,230,.9) !important; font: 17px/1.65 var(--sunangle-serif); }
body.single-product .sunangle-product-showcase-points { margin: 0; padding: 0; list-style: none; }
body.single-product .sunangle-product-showcase-points li { position: relative; padding-left: 18px; margin-bottom: 18px; }
body.single-product .sunangle-product-showcase-points li::before { content: '✦'; position: absolute; left: 0; top: 0; color: #c7a46f; font-size: 12px; }
@media (max-width: 1024px) {
 body.single-product .woocommerce > div.product { grid-template-columns: 1fr !important; }
 body.single-product .woocommerce div.product div.summary { position: static !important; top: auto !important; }
 body.single-product .sunangle-market-assurances { grid-template-columns: 1fr 1fr !important; }
 body.single-product .sunangle-product-showcase-inner { grid-template-columns: 1fr !important; }
}
@media (max-width: 767px) {
 .sunangle-home-original-banner { margin-bottom: 18px; }
 .woocommerce ul.products li.product a img, .woocommerce-page ul.products li.product a img { aspect-ratio: 4 / 5; }
 .sunangle-single-product-banner { min-height: 22vh !important; }
 body.single-product .woocommerce-product-gallery { grid-template-columns: 1fr !important; }
 body.single-product .woocommerce-product-gallery .flex-control-thumbs { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
 body.single-product .woocommerce div.product .product_title { font-size: 42px !important; }
 body.single-product .sunangle-product-subtitle { font-size: 22px !important; }
 body.single-product .sunangle-market-assurances { grid-template-columns: 1fr !important; }
 body.single-product .sunangle-product-showcase-gallery { grid-template-columns: 1fr 1fr !important; }
 body.single-product .sunangle-product-showcase-meta { grid-template-columns: 1fr !important; }
}


/* v5.3 existing-site product-page fidelity */
body.single-product .sunangle-supplied-details { display:none !important; }
body.single-product .sunangle-product-concierge { width:min(1320px,92vw); margin:88px auto 72px; padding:0 !important; background:#fbfaf7; box-shadow:0 26px 70px rgba(69,52,31,.08); }
body.single-product .sunangle-product-concierge-inner { display:grid; grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr); gap:44px; padding:46px 52px; }
body.single-product .sunangle-product-concierge-copy .sunangle-display { font-size:clamp(46px,4.6vw,68px) !important; line-height:.98; }
body.single-product .sunangle-product-concierge-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
body.single-product .sunangle-product-concierge-grid .sunangle-card { border:1px solid #ebe3d7; background:#fff; padding:24px 22px; }
body.single-product .woocommerce div.product .woocommerce-tabs,
body.single-product .woocommerce .related.products { width:min(1320px,92vw) !important; margin-left:auto !important; margin-right:auto !important; }
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom:1px solid #ded5c9 !important; padding:0 0 14px !important; gap:28px; }
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li { background:transparent !important; border:0 !important; padding:0 !important; }
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a { text-transform:uppercase; letter-spacing:.13em; font-size:10px !important; color:#4f4a44 !important; }
body.single-product .woocommerce div.product .woocommerce-tabs .panel { padding-top:24px !important; }
body.single-product .woocommerce .related.products > h2 { font-size:clamp(42px,4vw,58px) !important; font-weight:500 !important; }
body.single-product .woocommerce .related.products ul.products { grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:24px !important; }
@media (max-width:1024px){
 body.single-product .sunangle-product-concierge-inner{grid-template-columns:1fr;}
 body.single-product .woocommerce .related.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:767px){
 body.single-product .sunangle-product-concierge{width:94vw;margin:56px auto 46px;}
 body.single-product .sunangle-product-concierge-inner{padding:28px 20px;}
 body.single-product .sunangle-product-concierge-grid{grid-template-columns:1fr;}
 body.single-product .woocommerce .related.products ul.products{grid-template-columns:1fr 1fr !important;gap:16px !important;}
}


/* v5.4 existing-site refinements requested 2026-09-10
   1) remove the duplicate legacy Home hero below the approved homepage banner
   2) show six product thumbnails at a time and scroll the remaining gallery images */
body.home .sunangle-front-entry > .entry-content > .sunangle-home-art-banner,
body.home .sunangle-front-entry > .entry-content > .sunangle-art-banner.sunangle-home-art-banner,
body.home .sunangle-front-entry .sunangle-home-art-banner {
  display: none !important;
}

@media (min-width: 768px) {
  body.single-product .woocommerce-product-gallery {
    grid-template-columns: 104px minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: start !important;
  }

  body.single-product .woocommerce-product-gallery .flex-control-thumbs {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    width: 104px !important;
    height: 602px !important;
    max-height: 602px !important;
    margin: 0 !important;
    padding: 0 5px 0 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    scroll-snap-type: y proximity;
    scrollbar-width: thin;
    scrollbar-color: #bda77f #eee7dc;
  }

  body.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar {
    width: 5px;
  }
  body.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar-track {
    background: #eee7dc;
    border-radius: 10px;
  }
  body.single-product .woocommerce-product-gallery .flex-control-thumbs::-webkit-scrollbar-thumb {
    background: #bda77f;
    border-radius: 10px;
  }

  body.single-product .woocommerce-product-gallery .flex-control-thumbs li {
    box-sizing: border-box !important;
    flex: 0 0 92px !important;
    width: 92px !important;
    height: 92px !important;
    min-height: 92px !important;
    margin: 0 !important;
    padding: 6px !important;
    border: 1px solid #ded3c4 !important;
    background: #f1ebe2 !important;
    scroll-snap-align: start;
    transition: border-color .2s ease, background-color .2s ease, opacity .2s ease;
  }

  body.single-product .woocommerce-product-gallery .flex-control-thumbs li:hover,
  body.single-product .woocommerce-product-gallery .flex-control-thumbs li:has(img.flex-active) {
    border-color: #b58d4e !important;
    background: #fffdf8 !important;
  }

  body.single-product .woocommerce-product-gallery .flex-control-thumbs img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    background: #fff !important;
    opacity: .72;
    cursor: pointer;
  }

  body.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover,
  body.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
    opacity: 1 !important;
  }
}

@media (max-width: 767px) {
  body.single-product .woocommerce-product-gallery .flex-control-thumbs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 9px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 12px 0 0 !important;
    padding: 0 0 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }
  body.single-product .woocommerce-product-gallery .flex-control-thumbs li {
    flex: 0 0 74px !important;
    width: 74px !important;
    height: 74px !important;
    margin: 0 !important;
    padding: 5px !important;
    scroll-snap-align: start;
  }
  body.single-product .woocommerce-product-gallery .flex-control-thumbs img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}


/* v5.7 homepage FAQ preview — show questions only, with full FAQ button */
body.home .sunangle-home-faq-list {
  width: 100%;
  border-top: 1px solid var(--sunangle-line, #ddd5ca);
}
body.home .sunangle-home-faq-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 14px;
  min-height: 82px;
  padding: 18px 0;
  border-bottom: 1px solid var(--sunangle-line, #ddd5ca);
  color: #2f2b27 !important;
  text-decoration: none !important;
  transition: color .2s ease, padding-left .2s ease;
}
body.home .sunangle-home-faq-row:hover,
body.home .sunangle-home-faq-row:focus-visible {
  color: #aa7b38 !important;
  padding-left: 8px;
}
body.home .sunangle-home-faq-number {
  color: #b48a4d;
  font: 500 11px/1 var(--sunangle-sans, Arial, sans-serif);
  letter-spacing: .14em;
}
body.home .sunangle-home-faq-question {
  font: 400 clamp(21px, 1.6vw, 29px)/1.2 var(--sunangle-serif, Georgia, serif);
  letter-spacing: -.01em;
}
body.home .sunangle-home-faq-arrow {
  justify-self: end;
  color: #aa7b38;
  font-size: 18px;
}
@media (max-width: 767px) {
  body.home .sunangle-home-faq-row {
    grid-template-columns: 34px minmax(0, 1fr) 22px;
    gap: 8px;
    min-height: 68px;
    padding: 14px 0;
  }
  body.home .sunangle-home-faq-question {
    font-size: 20px;
  }
}


/* v5.8 blank-site parity: supplied ARTISTRY logo + flush homepage banner transition */
.sunangle-header-main { grid-template-columns: 380px 1fr auto !important; }
.sunangle-brand {
  width: 360px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}
.sunangle-brand img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 76px !important;
  object-fit: contain !important;
  object-position: left center !important;
  background: transparent !important;
}
body.home .sunangle-home-original-banner { margin: 0 !important; }
body.home .sunangle-home-original-banner__stage,
body.home .sunangle-home-original-banner img { margin: 0 !important; }
body.home .sunangle-home-original-banner img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center !important;
}
body.home .sunangle-front-entry,
body.home .sunangle-front-entry > .entry-content { margin-top: 0 !important; padding-top: 0 !important; }
body.home .sunangle-front-entry > .entry-content > *:first-child { margin-top: 0 !important; }
@media (max-width: 1180px) {
  .sunangle-header-main { grid-template-columns: 300px 1fr auto !important; }
  .sunangle-brand { width: 280px !important; }
  .sunangle-brand img { max-height: 62px !important; }
}
@media (max-width: 767px) {
  .sunangle-header-main { grid-template-columns: 1fr auto !important; }
  .sunangle-brand { width: 210px !important; }
  .sunangle-brand img { max-height: 46px !important; }
}

/* v6.0 final header rules (kept last so imported-site compatibility rules cannot override them). */
.sunangle-studio-v60 { min-height: clamp(300px, 31.5vw, 610px) !important; }
.sunangle-studio-v60 .wp-block-cover__image-background { object-fit: cover; object-position: center; }
@media (min-width: 1281px) {
  .sunangle-header-main { grid-template-columns: minmax(260px, 360px) minmax(0, 1fr) auto !important; gap: clamp(1.5rem, 3vw, 3.7rem) !important; }
  .sunangle-brand { width: min(100%, 360px) !important; min-width: 0; }
  .sunangle-primary-nav .menu { justify-content: center; flex-wrap: nowrap; gap: clamp(.75rem, 1.45vw, 1.65rem); }
  .sunangle-primary-nav a { white-space: nowrap; font-size: clamp(.72rem, .78vw, .88rem); }
}
@media (max-width: 1280px) {
  .sunangle-header-main { position: relative; grid-template-columns: minmax(180px, 300px) 1fr auto !important; gap: 1rem !important; min-height: 88px; }
  .sunangle-brand { width: min(100%, 300px) !important; }
  .sunangle-menu-toggle { display: inline-flex !important; justify-self: end; align-items: center; }
  .sunangle-primary-nav { position: absolute; top: 100%; left: 0; right: 0; z-index: 999; display: none; padding: 1.2rem clamp(1rem, 4vw, 2.5rem) 1.5rem; border-top: 1px solid rgba(184,150,93,.28); background: #f8f6f2; box-shadow: 0 16px 30px rgba(34,30,26,.1); }
  .sunangle-primary-nav.is-open { display: block; }
  .sunangle-primary-nav .menu { display: grid !important; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .2rem 1rem !important; }
  .sunangle-primary-nav a { display: block; padding: .72rem 0; }
}
@media (max-width: 767px) {
  .sunangle-header-main { grid-template-columns: minmax(130px, 1fr) auto auto !important; gap: .7rem !important; min-height: 72px; }
  .sunangle-brand { width: min(100%, 210px) !important; }
  .sunangle-header-actions { display: flex !important; }
  .sunangle-header-actions a, .sunangle-menu-toggle { font-size: .68rem; white-space: nowrap; }
  .sunangle-primary-nav .menu { grid-template-columns: 1fr; }
}

/* v6.1 final gallery override: prevent adjacent slides from showing. */
body.single-product .woocommerce-product-gallery .flex-viewport {
  box-sizing: border-box !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  overflow: hidden !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  height: 100% !important;
  max-height: 100% !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
  box-sizing: border-box !important;
  display: block !important;
  height: 100% !important;
  max-height: 100% !important;
  overflow: hidden !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* v6.5 last-in-file correction: the viewport itself has zero padding. */
body.single-product .woocommerce-product-gallery .flex-viewport {
  padding: 0 !important;
  overflow: hidden !important;
  background: #eee8df !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  margin: 0 !important;
  padding: 0 !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
  box-sizing: border-box !important;
  padding: 18px !important;
  overflow: hidden !important;
  background: #eee8df !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}
@media (max-width: 767px) {
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image { padding: 10px !important; }
}


/* v6.11 Home Luxury Decor section: approved copy on the left, warm interior image on the right. */
body.home .sunangle-manifesto-v611 {
  padding-top: clamp(82px, 7vw, 132px) !important;
  padding-bottom: clamp(82px, 7vw, 132px) !important;
  background: var(--sunangle-paper) !important;
}
body.home .sunangle-manifesto-v611 > .wp-block-columns {
  display: grid !important;
  grid-template-columns: minmax(300px, .76fr) minmax(0, 1.24fr) !important;
  gap: clamp(42px, 5.2vw, 96px) !important;
  align-items: center !important;
}
body.home .sunangle-manifesto-v611 .sunangle-manifesto-copy {
  align-self: center;
  max-width: 560px;
}
body.home .sunangle-manifesto-v611 .sunangle-manifesto-copy .sunangle-eyebrow {
  margin-bottom: 24px !important;
}
body.home .sunangle-manifesto-v611 .sunangle-manifesto-copy > p:not(.sunangle-eyebrow) {
  margin: 0 0 30px !important;
  color: #4b4540;
  font: 400 clamp(17px, 1.18vw, 20px)/1.72 var(--sunangle-serif);
}
body.home .sunangle-manifesto-v611 .sunangle-manifesto-copy .wp-block-buttons {
  margin-top: 0 !important;
}
body.home .sunangle-manifesto-v611 .sunangle-manifesto-visual,
body.home .sunangle-manifesto-v611 .sunangle-manifesto-artistry {
  margin: 0 !important;
  width: 100%;
}
body.home .sunangle-manifesto-v611 .sunangle-manifesto-artistry {
  overflow: hidden;
  aspect-ratio: 1.8 / 1;
  background: #f3eadc;
}
body.home .sunangle-manifesto-v611 .sunangle-manifesto-artistry img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}
@media (max-width: 1024px) {
  body.home .sunangle-manifesto-v611 > .wp-block-columns {
    grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr) !important;
    gap: 36px !important;
  }
}
@media (max-width: 767px) {
  body.home .sunangle-manifesto-v611 {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }
  body.home .sunangle-manifesto-v611 > .wp-block-columns {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }
  body.home .sunangle-manifesto-v611 .sunangle-manifesto-copy {
    max-width: none;
  }
  body.home .sunangle-manifesto-v611 .sunangle-manifesto-copy > p:not(.sunangle-eyebrow) {
    font-size: 17px;
    line-height: 1.65;
  }
  body.home .sunangle-manifesto-v611 .wp-block-button,
  body.home .sunangle-manifesto-v611 .wp-block-button__link {
    width: 100%;
    text-align: center;
  }
}


/* v6.11 Lotus & Koi — two real size/price choices. */
body.single-product form.variations_form .sunangle-size-choice-intro {
  margin: 18px 0 14px;
  padding: 16px 18px;
  border: 1px solid rgba(184,150,93,.34);
  background: #f8f4ed;
}
body.single-product form.variations_form .sunangle-size-choice-intro span {
  display: block;
  margin-bottom: 5px;
  color: #8f7040;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
body.single-product form.variations_form .sunangle-size-choice-intro p {
  margin: 0;
  color: #4b4540;
  font-size: 14px;
  line-height: 1.55;
}
body.single-product form.variations_form table.variations {
  width: 100%;
  margin: 0 0 18px !important;
  border: 0 !important;
}
body.single-product form.variations_form table.variations th,
body.single-product form.variations_form table.variations td {
  display: block;
  width: 100%;
  padding: 0 !important;
  border: 0 !important;
  text-align: left;
}
body.single-product form.variations_form table.variations th.label label {
  display: block;
  margin: 0 0 8px;
  color: #2f2a27;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.single-product form.variations_form table.variations select {
  width: 100%;
  min-height: 52px;
  padding: 0 42px 0 14px;
  border: 1px solid #cdb992;
  border-radius: 0;
  background-color: #fff;
  color: #2f2a27;
  font-size: 14px;
}
body.single-product form.variations_form .reset_variations {
  display: inline-block;
  margin-top: 7px;
  color: #8f7040;
  font-size: 11px;
}
body.single-product form.variations_form .single_variation_wrap .woocommerce-variation-price {
  margin: 10px 0 14px;
}
body.single-product form.variations_form .single_variation_wrap .price {
  color: #2f2a27 !important;
  font-size: 22px !important;
}


/* v6.12 COMMISSIONS — remove the oversized philosophy headline, move the approved copy left, image right. */
.sunangle-commission-intro-v612 {
  padding: clamp(82px, 8vw, 132px) 7.5vw !important;
  background: #f8f6f2 !important;
}
.sunangle-commission-intro-v612 > .wp-block-columns {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr) !important;
  gap: clamp(48px, 7vw, 120px) !important;
  align-items: center !important;
}
.sunangle-commission-intro-v612 .sunangle-commission-copy-v612 {
  max-width: 650px;
  padding-right: clamp(0px, 2vw, 28px);
}
.sunangle-commission-intro-v612 .sunangle-commission-copy-v612 p {
  margin: 0 0 26px;
  color: #3d3935;
  font: 400 clamp(17px, 1.22vw, 20px)/1.8 var(--sunangle-sans);
}
.sunangle-commission-intro-v612 .sunangle-commission-copy-v612 p:first-child {
  font-size: clamp(19px, 1.35vw, 22px);
  line-height: 1.72;
}
.sunangle-commission-intro-v612 .sunangle-commission-copy-v612 p:last-child {
  margin-bottom: 0;
}
.sunangle-commission-intro-v612 .sunangle-commission-visual-v612,
.sunangle-commission-intro-v612 .sunangle-commission-visual-v612 figure {
  margin: 0;
  width: 100%;
}
.sunangle-commission-intro-v612 .sunangle-commission-visual-v612 img {
  display: block;
  width: 100%;
  height: clamp(440px, 37vw, 650px);
  object-fit: cover;
  object-position: center;
}
@media (max-width: 781px) {
  .sunangle-commission-intro-v612 {
    padding: 64px 5vw !important;
  }
  .sunangle-commission-intro-v612 > .wp-block-columns {
    grid-template-columns: 1fr !important;
    gap: 38px !important;
  }
  .sunangle-commission-intro-v612 .sunangle-commission-copy-v612 {
    max-width: none;
    padding-right: 0;
  }
  .sunangle-commission-intro-v612 .sunangle-commission-visual-v612 img {
    height: auto;
    aspect-ratio: 4 / 3;
  }
}

/* =========================================================
   SUNANGLE v6.13 — Home Studio Notes alignment only
   Center the pictured newsletter area while preserving the
   full-width dark background and existing typography.
   ========================================================= */
.home .sunangle-newsletter-section > .sunangle-eyebrow,
.home .sunangle-newsletter-section > .sunangle-display,
.home .sunangle-newsletter-section > .wp-block-shortcode {
  width: min(900px, 85vw) !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}
.home .sunangle-newsletter-section > .sunangle-display {
  margin-top: 18px !important;
  margin-bottom: 28px !important;
}
.home .sunangle-newsletter-section .sunangle-newsletter {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
@media (max-width: 1024px) {
  .home .sunangle-newsletter-section > .sunangle-eyebrow,
  .home .sunangle-newsletter-section > .sunangle-display,
  .home .sunangle-newsletter-section > .wp-block-shortcode {
    width: 90vw !important;
  }
}
@media (max-width: 600px) {
  .home .sunangle-newsletter-section > .sunangle-eyebrow,
  .home .sunangle-newsletter-section > .sunangle-display,
  .home .sunangle-newsletter-section > .wp-block-shortcode {
    width: 95vw !important;
  }
}



/* =========================================================
   SUNANGLE v6.14 — Home Studio Notes: center requested items only
   Only centers the Studio Notes heading area, email field and button.
   ========================================================= */
.home .sunangle-newsletter-section > .sunangle-eyebrow,
.home .sunangle-newsletter-section > .sunangle-display {
  text-align: center !important;
}
.home .sunangle-newsletter-section > .wp-block-shortcode {
  margin-left: auto !important;
  margin-right: auto !important;
}
.home .sunangle-newsletter-section .sunangle-newsletter {
  width: min(900px, 100%) !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.home .sunangle-newsletter-section .sunangle-newsletter label {
  width: 100% !important;
  text-align: center !important;
}
.home .sunangle-newsletter-section .sunangle-newsletter input[type="email"],
.home .sunangle-newsletter-section .sunangle-newsletter button {
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}


/* SUNANGLE v6.15 — footer logo image + single product main visual sizing fix */
.sunangle-footer-brand {
  display: inline-flex;
  align-items: center;
  max-width: 310px;
  width: 100%;
}
.sunangle-footer-brand img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 310px;
}

@media (min-width: 768px) {
  body.single-product .woocommerce > div.product {
    grid-template-columns: minmax(0, 1.03fr) minmax(430px, .97fr) !important;
    gap: clamp(42px, 5vw, 88px) !important;
  }
  body.single-product .woocommerce div.product div.images {
    padding: 18px !important;
  }
  body.single-product .woocommerce-product-gallery {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: start !important;
  }
  body.single-product .woocommerce-product-gallery .flex-control-thumbs {
    width: 92px !important;
    height: 548px !important;
    max-height: 548px !important;
    padding-right: 4px !important;
  }
  body.single-product .woocommerce-product-gallery .flex-control-thumbs li {
    flex: 0 0 80px !important;
    width: 80px !important;
    height: 80px !important;
    min-height: 80px !important;
  }
  body.single-product .woocommerce-product-gallery .flex-viewport {
    aspect-ratio: 1 / 1.14 !important;
    min-height: 548px !important;
    max-height: 548px !important;
    width: 100% !important;
    background: #eee8df !important;
  }
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    display: flex !important;
    align-items: stretch !important;
    height: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image,
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
    padding: 14px !important;
    background: #f4efe8 !important;
  }
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: transparent !important;
  }
}

@media (max-width: 767px) {
  .sunangle-footer-brand {
    max-width: 250px;
  }
  body.single-product .woocommerce-product-gallery .flex-viewport {
    aspect-ratio: 1 / 1.08 !important;
    min-height: 380px !important;
  }
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    display: flex !important;
    align-items: stretch !important;
  }
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image,
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 100% !important;
    height: 100% !important;
  }
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
}


/* SUNANGLE v6.16 — shop pagination spacing + commissions process eyebrow alignment */
.woocommerce nav.woocommerce-pagination,
nav.woocommerce-pagination,
.navigation.pagination,
nav.pagination {
  margin-top: 52px !important;
  margin-bottom: 0 !important;
  display: flex !important;
  justify-content: center !important;
}
.woocommerce nav.woocommerce-pagination ul,
.navigation.pagination .nav-links,
nav.pagination .nav-links {
  margin-top: 0 !important;
}

.sunangle-commission-process > p.sunangle-eyebrow,
.sunangle-commission-process > .sunangle-eyebrow,
.sunangle-commission-process .sunangle-process-kicker,
.sunangle-commission-process .sunangle-section-kicker {
  width: var(--sunangle-content) !important;
  max-width: var(--sunangle-content) !important;
  margin: 0 auto 24px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: left !important;
}
.sunangle-commission-process h2 {
  width: var(--sunangle-content) !important;
  max-width: 940px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 767px) {
  .woocommerce nav.woocommerce-pagination,
  nav.woocommerce-pagination,
  .navigation.pagination,
  nav.pagination {
    margin-top: 38px !important;
  }
  .sunangle-commission-process > p.sunangle-eyebrow,
  .sunangle-commission-process > .sunangle-eyebrow,
  .sunangle-commission-process .sunangle-process-kicker,
  .sunangle-commission-process .sunangle-section-kicker,
  .sunangle-commission-process h2 {
    width: calc(100% - 48px) !important;
    max-width: calc(100% - 48px) !important;
  }
}


/* SUNANGLE v6.17 — verified fixes: archive pagination spacing + commissions eyebrow aligned to the display title */
body.post-type-archive-product .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products,
body.tax-product_tag .woocommerce ul.products,
body.woocommerce-shop .woocommerce ul.products {
  margin-bottom: 64px !important;
}
body.post-type-archive-product .woocommerce nav.woocommerce-pagination,
body.tax-product_cat .woocommerce nav.woocommerce-pagination,
body.tax-product_tag .woocommerce nav.woocommerce-pagination,
body.woocommerce-shop .woocommerce nav.woocommerce-pagination,
body.post-type-archive-product nav.woocommerce-pagination,
body.tax-product_cat nav.woocommerce-pagination,
body.tax-product_tag nav.woocommerce-pagination,
body.woocommerce-shop nav.woocommerce-pagination {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  display: flex !important;
  justify-content: center !important;
  clear: both !important;
}
body.post-type-archive-product .woocommerce nav.woocommerce-pagination ul,
body.tax-product_cat .woocommerce nav.woocommerce-pagination ul,
body.tax-product_tag .woocommerce nav.woocommerce-pagination ul,
body.woocommerce-shop .woocommerce nav.woocommerce-pagination ul {
  margin: 0 !important;
}

.sunangle-commission-process > p.sunangle-eyebrow,
.sunangle-commission-process > .sunangle-eyebrow {
  width: min(940px, calc(100% - 48px)) !important;
  max-width: min(940px, calc(100% - 48px)) !important;
  margin: 0 auto 24px !important;
  padding: 0 !important;
  text-align: left !important;
}
.sunangle-commission-process > h2,
.sunangle-commission-process > .sunangle-display {
  width: min(940px, calc(100% - 48px)) !important;
  max-width: min(940px, calc(100% - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
}

@media (max-width: 767px) {
  body.post-type-archive-product .woocommerce ul.products,
  body.tax-product_cat .woocommerce ul.products,
  body.tax-product_tag .woocommerce ul.products,
  body.woocommerce-shop .woocommerce ul.products {
    margin-bottom: 42px !important;
  }
  .sunangle-commission-process > p.sunangle-eyebrow,
  .sunangle-commission-process > .sunangle-eyebrow,
  .sunangle-commission-process > h2,
  .sunangle-commission-process > .sunangle-display {
    width: calc(100% - 40px) !important;
    max-width: calc(100% - 40px) !important;
  }
}


/* SUNANGLE v6.18 — footer wordmark corrected to SUNANGLE ARTISTRY only. */
.sunangle-footer-wordmark {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: min(100%, 330px) !important;
  max-width: 330px !important;
  color: #f7f2e9 !important;
  line-height: 1 !important;
}
.sunangle-footer-wordmark-main {
  display: block;
  font-family: var(--sunangle-serif);
  font-size: clamp(34px, 2.7vw, 46px);
  font-weight: 400;
  letter-spacing: .12em;
  white-space: nowrap;
}
.sunangle-footer-wordmark-rule {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 10px 0 8px;
  color: #cdaa68;
}
.sunangle-footer-wordmark-rule i {
  display: block;
  height: 1px;
  background: currentColor;
  opacity: .9;
}
.sunangle-footer-wordmark-rule b {
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}
.sunangle-footer-wordmark-sub {
  display: block;
  align-self: center;
  padding-left: .36em;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .40em;
  color: #d5b276;
}
.sunangle-footer-wordmark + .sunangle-footer-tagline {
  margin-top: 18px !important;
}
@media (max-width: 767px) {
  .sunangle-footer-wordmark { max-width: 290px !important; }
  .sunangle-footer-wordmark-main { font-size: 34px; }
}


/* SUNANGLE v6.19 — single-product gallery must show exactly one image per view, with no adjacent image peeking */
body.single-product .woocommerce-product-gallery .flex-viewport {
  position: relative !important;
  overflow: hidden !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  left: auto !important;
  top: auto !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  min-width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image > a {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image.flex-active-slide,
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image:first-child:last-child,
body.single-product .woocommerce-product-gallery:not(.flexslider) .woocommerce-product-gallery__image:first-child {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 2 !important;
}
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}


/* SUNANGLE v6.20 — final verified corrections for the three reported front-end issues. */
/* 1) Keep archive pagination clearly separated from the last row product buttons. */
body .woocommerce nav.woocommerce-pagination,
body nav.woocommerce-pagination {
  box-sizing: border-box !important;
  width: 100% !important;
  clear: both !important;
  padding-top: 58px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  display: flex !important;
  justify-content: center !important;
}
body .woocommerce nav.woocommerce-pagination ul,
body nav.woocommerce-pagination ul {
  margin: 0 auto !important;
}

/* 2) One visible artwork only: the JS stage replaces FlexSlider's moving wrapper. */
body.single-product .woocommerce-product-gallery.sunangle-one-image-gallery .flex-viewport {
  position: relative !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  width: 100% !important;
  height: 548px !important;
  min-height: 548px !important;
  max-height: 548px !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  background: #f4efe8 !important;
}
body.single-product .sunangle-one-image-stage,
body.single-product .sunangle-one-image-stage-link {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}
body.single-product .sunangle-one-image-stage {
  padding: 14px !important;
  box-sizing: border-box !important;
}
body.single-product .sunangle-one-image-stage-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* 3) CSS fallback for HOW IT WORKS; JS then matches the title pixel-for-pixel. */
.sunangle-commission-process .sunangle-eyebrow {
  box-sizing: border-box !important;
  max-width: 940px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  text-align: left !important;
}

@media (max-width: 767px) {
  body .woocommerce nav.woocommerce-pagination,
  body nav.woocommerce-pagination {
    padding-top: 42px !important;
  }
  body.single-product .woocommerce-product-gallery.sunangle-one-image-gallery .flex-viewport {
    height: 390px !important;
    min-height: 390px !important;
    max-height: 390px !important;
  }
  body.single-product .sunangle-one-image-stage { padding: 10px !important; }
}


/* SUNANGLE v6.21 — requested single-product/archive alignment fixes only. */
/* A. Product detail banner uses the archive banner asset and the exact same full-width presentation. */
body.single-product .sunangle-woocommerce-main > .sunangle-single-product-banner,
body.single-product .sunangle-woocommerce-main > .sunangle-shop-archive-banner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  background: #f6f2eb !important;
  overflow: hidden !important;
}
body.single-product .sunangle-single-product-banner .sunangle-art-banner-stage,
body.single-product .sunangle-shop-archive-banner .sunangle-art-banner-stage {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 2200 / 688 !important;
  overflow: hidden !important;
  background: #f6f2eb !important;
}
body.single-product .sunangle-single-product-banner img,
body.single-product .sunangle-shop-archive-banner img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* B. Desktop product detail content occupies exactly 80% of the page width. */
@media (min-width: 1025px) {
  body.single-product .sunangle-woocommerce-main > .sunangle-container {
    width: 80% !important;
    max-width: 80% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.single-product .woocommerce > div.product {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  body.single-product .sunangle-woocommerce-main > .sunangle-container {
    width: 90% !important;
    max-width: 90% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
@media (max-width: 767px) {
  body.single-product .sunangle-woocommerce-main > .sunangle-container {
    width: 94% !important;
    max-width: 94% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* C. Give archive pagination a clean, visible gap below the final product row. */
body.post-type-archive-product .woocommerce ul.products,
body.woocommerce-shop .woocommerce ul.products,
body.tax-product_cat .woocommerce ul.products,
body.tax-product_tag .woocommerce ul.products {
  margin-bottom: 68px !important;
}
body.post-type-archive-product .woocommerce nav.woocommerce-pagination,
body.woocommerce-shop .woocommerce nav.woocommerce-pagination,
body.tax-product_cat .woocommerce nav.woocommerce-pagination,
body.tax-product_tag .woocommerce nav.woocommerce-pagination {
  width: 100% !important;
  clear: both !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  display: flex !important;
  justify-content: center !important;
}
@media (max-width: 767px) {
  body.post-type-archive-product .woocommerce ul.products,
  body.woocommerce-shop .woocommerce ul.products,
  body.tax-product_cat .woocommerce ul.products,
  body.tax-product_tag .woocommerce ul.products {
    margin-bottom: 44px !important;
  }
}


/* SUNANGLE v6.22 — single product top banner must match the shop archive banner 1:1 */
body.single-product .sunangle-woocommerce-main > .sunangle-shop-archive-banner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  min-height: 58vh !important;
  max-height: none !important;
  overflow: hidden !important;
  background: #f6f2eb !important;
}
body.single-product .sunangle-woocommerce-main > .sunangle-shop-archive-banner .sunangle-art-banner-stage {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  min-height: 58vh !important;
  overflow: hidden !important;
  background: #f6f2eb !important;
}
body.single-product .sunangle-woocommerce-main > .sunangle-shop-archive-banner img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 58vh !important;
  max-height: none !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}
@media (max-width: 1024px) {
  body.single-product .sunangle-woocommerce-main > .sunangle-shop-archive-banner,
  body.single-product .sunangle-woocommerce-main > .sunangle-shop-archive-banner .sunangle-art-banner-stage,
  body.single-product .sunangle-woocommerce-main > .sunangle-shop-archive-banner img {
    min-height: 42vh !important;
  }
}
@media (max-width: 767px) {
  body.single-product .sunangle-woocommerce-main > .sunangle-shop-archive-banner,
  body.single-product .sunangle-woocommerce-main > .sunangle-shop-archive-banner .sunangle-art-banner-stage,
  body.single-product .sunangle-woocommerce-main > .sunangle-shop-archive-banner img {
    min-height: 28vh !important;
  }
}


/* SUNANGLE v6.23 — About page: align 'OUR STUDIO PRINCIPLES' with the display title */
.sunangle-about-principles > p.sunangle-eyebrow,
.sunangle-about-principles > .sunangle-eyebrow,
.sunangle-about-principles > h2,
.sunangle-about-principles > .sunangle-display,
.sunangle-about-principles > .wp-block-heading.sunangle-display {
  width: min(740px, calc(100% - 48px)) !important;
  max-width: min(740px, calc(100% - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: left !important;
}
.sunangle-about-principles > p.sunangle-eyebrow,
.sunangle-about-principles > .sunangle-eyebrow {
  margin-bottom: 18px !important;
}
.sunangle-about-principles > h2,
.sunangle-about-principles > .sunangle-display,
.sunangle-about-principles > .wp-block-heading.sunangle-display {
  margin-top: 0 !important;
  margin-bottom: 38px !important;
}
@media (max-width: 767px) {
  .sunangle-about-principles > p.sunangle-eyebrow,
  .sunangle-about-principles > .sunangle-eyebrow,
  .sunangle-about-principles > h2,
  .sunangle-about-principles > .sunangle-display,
  .sunangle-about-principles > .wp-block-heading.sunangle-display {
    width: calc(100% - 40px) !important;
    max-width: calc(100% - 40px) !important;
  }
}


/* SUNANGLE v6.24 — tighten thumbnail-to-main-image spacing on single product pages */
@media (min-width: 768px) {
  body.single-product .woocommerce div.product div.images {
    padding: 8px !important;
    margin: 0 !important;
  }
  body.single-product .woocommerce-product-gallery {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
  }
  body.single-product .woocommerce-product-gallery .flex-control-thumbs {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    height: 548px !important;
    max-height: 548px !important;
    padding-right: 0 !important;
    margin: 0 !important;
  }
  body.single-product .woocommerce-product-gallery .flex-control-thumbs li {
    flex: 0 0 64px !important;
    width: 64px !important;
    height: 64px !important;
    min-height: 64px !important;
    padding: 4px !important;
  }
  body.single-product .woocommerce-product-gallery .flex-viewport {
    margin: 0 !important;
    padding: 10px !important;
  }
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
    padding: 8px !important;
  }
}


/* SUNANGLE v6.25 — keep left thumbnails full size, only tighten the gap to the main image */
@media (min-width: 768px) {
  body.single-product .woocommerce div.product div.images {
    padding: 8px !important;
    margin: 0 !important;
  }
  body.single-product .woocommerce-product-gallery {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: start !important;
  }
  body.single-product .woocommerce-product-gallery .flex-control-thumbs {
    width: 92px !important;
    min-width: 92px !important;
    max-width: 92px !important;
    padding-right: 0 !important;
    margin: 0 !important;
  }
  body.single-product .woocommerce-product-gallery .flex-control-thumbs li {
    flex: 0 0 80px !important;
    width: 80px !important;
    height: 80px !important;
    min-height: 80px !important;
    padding: 6px !important;
  }
  body.single-product .woocommerce-product-gallery .flex-viewport {
    margin: 0 !important;
    padding: 8px !important;
  }
  body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image {
    padding: 8px !important;
  }
}


/* SUNANGLE v6.27.1 checked fix — remove the blank spacer/empty block before FAQ questions. */
.sunangle-faq > .wp-block-spacer,
.sunangle-faq .wp-block-spacer,
.sunangle-faq > p:empty,
.sunangle-faq > .wp-block-group:empty,
.sunangle-faq > .wp-block-columns:empty {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* SUNANGLE v6.33 — checked single-product text layout. */
body.single-product .sunangle-product-subtitle {
  max-width: 640px !important;
}
body.single-product .sunangle-document-short-description {
  max-width: 640px !important;
  margin: 0 0 24px !important;
  color: #6b645d !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
}
body.single-product .sunangle-document-short-description p {
  margin: 0 0 12px !important;
}
body.single-product .sunangle-document-short-description p:last-child {
  margin-bottom: 0 !important;
}
@media (max-width: 767px) {
  body.single-product .sunangle-document-short-description {
    max-width: 100% !important;
    font-size: 15px !important;
    line-height: 1.68 !important;
  }
}


/* SUNANGLE v6.34 — checked text presentation */
body.single-product .sunangle-v634-subtitle {
  max-width: 660px !important;
  white-space: normal !important;
}
body.single-product .sunangle-v634-description {
  max-width: 660px !important;
  margin: 0 0 24px !important;
  color: #6b645d !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
}
body.single-product .sunangle-v634-description p {
  margin: 0 0 12px !important;
}
body.single-product .sunangle-v634-description p:last-child {
  margin-bottom: 0 !important;
}
@media (max-width: 767px) {
  body.single-product .sunangle-v634-subtitle,
  body.single-product .sunangle-v634-description {
    max-width: 100% !important;
  }
  body.single-product .sunangle-v634-description {
    font-size: 15px !important;
    line-height: 1.68 !important;
  }
}


/* SUNANGLE v6.37 — add breathing room between Shop Art title and result count only. */
body.woocommerce-shop .woocommerce-products-header__title,
body.post-type-archive-product .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_tag .woocommerce-products-header__title {
  margin-bottom: 18px !important;
}

body.woocommerce-shop .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media (max-width: 767px) {
  body.woocommerce-shop .woocommerce-products-header__title,
  body.post-type-archive-product .woocommerce-products-header__title,
  body.tax-product_cat .woocommerce-products-header__title,
  body.tax-product_tag .woocommerce-products-header__title {
    margin-bottom: 12px !important;
  }
}


/* SUNANGLE v6.38 — FAQ intro/question spacing only. */
.sunangle-faq > details:first-of-type,
.sunangle-faq > .wp-block-details:first-of-type {
  margin-top: 28px !important;
}
.sunangle-faq > details:first-of-type summary,
.sunangle-faq > .wp-block-details:first-of-type summary {
  padding-top: 18px !important;
}
@media (max-width: 767px) {
  .sunangle-faq > details:first-of-type,
  .sunangle-faq > .wp-block-details:first-of-type {
    margin-top: 20px !important;
  }
}


/* SUNANGLE v6.39 — repaired Contact page hero image. */
.sunangle-contact-page .sunangle-contact-banner-v639 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #f5efe7 !important;
  line-height: 0 !important;
}
.sunangle-contact-page .sunangle-contact-banner-v639 img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Hide only the stale/broken legacy hero that immediately follows the repaired one. */
.sunangle-contact-page .entry-content > .sunangle-contact-banner-v639 + .sunangle-art-banner,
.sunangle-contact-page .entry-content > .sunangle-contact-banner-v639 + .wp-block-cover,
.sunangle-contact-page .entry-content > .sunangle-contact-banner-v639 + .wp-block-group.sunangle-art-banner,
.sunangle-contact-page .entry-content > .sunangle-contact-banner-v639 + .wp-block-group:has(> .sunangle-art-banner),
.sunangle-contact-page .entry-content > .sunangle-contact-banner-v639 + .wp-block-group:has(> .wp-block-cover) {
  display: none !important;
}

@media (max-width: 767px) {
  .sunangle-contact-page .sunangle-contact-banner-v639 img {
    min-height: 220px !important;
    object-fit: cover !important;
  }
}


/* SUNANGLE v6.40 — increase vertical spacing between Shop Art title and result count only. */
body.woocommerce-shop .woocommerce-products-header__title,
body.post-type-archive-product .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_tag .woocommerce-products-header__title {
  margin-bottom: 24px !important;
}

body.woocommerce-shop .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count {
  margin-top: 0 !important;
}

@media (max-width: 767px) {
  body.woocommerce-shop .woocommerce-products-header__title,
  body.post-type-archive-product .woocommerce-products-header__title,
  body.tax-product_cat .woocommerce-products-header__title,
  body.tax-product_tag .woocommerce-products-header__title {
    margin-bottom: 16px !important;
  }
}


/* SUNANGLE v6.40.1 CHECKED — guaranteed spacing between Shop Art and result count.
   WooCommerce's result count is floated, so title margin alone is unreliable.
   The spacing is now inside the products header box itself. */
body.woocommerce-shop .woocommerce-products-header,
body.post-type-archive-product .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_tag .woocommerce-products-header {
  margin-bottom: 0 !important;
  padding-bottom: 24px !important;
}

body.woocommerce-shop .woocommerce-products-header__title,
body.post-type-archive-product .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title,
body.tax-product_tag .woocommerce-products-header__title {
  margin: 0 !important;
}

body.woocommerce-shop .woocommerce-result-count,
body.post-type-archive-product .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_tag .woocommerce-result-count {
  margin-top: 0 !important;
}

@media (max-width: 767px) {
  body.woocommerce-shop .woocommerce-products-header,
  body.post-type-archive-product .woocommerce-products-header,
  body.tax-product_cat .woocommerce-products-header,
  body.tax-product_tag .woocommerce-products-header {
    padding-bottom: 16px !important;
  }
}


/* SUNANGLE v6.41 — definitive Shop Art / result-count overlap fix.
   Padding is used instead of margin so the space cannot collapse. */
.woocommerce .woocommerce-products-header h1,
.woocommerce .woocommerce-products-header .woocommerce-products-header__title {
  display: block !important;
  margin: 0 !important;
  padding: 0 0 26px !important;
  line-height: 1 !important;
}

.woocommerce .woocommerce-result-count {
  display: block !important;
  position: static !important;
  margin-top: 0 !important;
  line-height: 1.45 !important;
}

@media (max-width: 767px) {
  .woocommerce .woocommerce-products-header h1,
  .woocommerce .woocommerce-products-header .woocommerce-products-header__title {
    padding-bottom: 18px !important;
  }
}


/* SUNANGLE v6.42 — cookie choice panel: always fit the viewport and close naturally after a choice. */
.sunangle-cookie-consent {
  left: 50% !important;
  right: auto !important;
  bottom: 18px !important;
  width: min(920px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  box-sizing: border-box !important;
  transform: translateX(-50%) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 20px !important;
  padding: 18px 20px !important;
  overflow: visible !important;
  opacity: 1;
  transition: opacity .2s ease, transform .2s ease !important;
}
.sunangle-cookie-consent[hidden] { display: none !important; }
.sunangle-cookie-consent.is-closing {
  opacity: 0 !important;
  transform: translate(-50%, 10px) !important;
  pointer-events: none !important;
}
.sunangle-cookie-copy { min-width: 0 !important; max-width: none !important; }
.sunangle-cookie-copy p { overflow-wrap: anywhere; }
.sunangle-cookie-actions { display: flex !important; gap: 10px !important; flex-wrap: nowrap !important; }
.sunangle-cookie-actions button { white-space: nowrap !important; }
@media (max-width: 700px) {
  .sunangle-cookie-consent {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    bottom: 10px !important;
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    padding: 16px !important;
  }
  .sunangle-cookie-actions { display: grid !important; grid-template-columns: 1fr 1fr !important; }
}

/* SUNANGLE v6.42 — Shop Art heading recreated from scratch; no overlap is possible. */
.woocommerce .sunangle-shop-toolbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 32px !important;
  align-items: end !important;
  margin: 0 0 34px !important;
  padding: 0 !important;
  clear: both !important;
}
.woocommerce .sunangle-shop-heading {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 14px !important;
  min-width: 0 !important;
}
.woocommerce .sunangle-shop-title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--sunangle-ink) !important;
  font: 500 clamp(50px, 6vw, 88px)/.95 var(--sunangle-serif) !important;
  letter-spacing: -.035em !important;
}
.woocommerce .sunangle-shop-count,
.woocommerce .sunangle-shop-count .woocommerce-result-count {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  position: static !important;
  display: block !important;
  line-height: 1.45 !important;
}
.woocommerce .sunangle-shop-ordering,
.woocommerce .sunangle-shop-ordering .woocommerce-ordering {
  margin: 0 !important;
  float: none !important;
  position: static !important;
}
.woocommerce .sunangle-shop-ordering { align-self: end !important; }
@media (max-width: 767px) {
  .woocommerce .sunangle-shop-toolbar {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    margin-bottom: 26px !important;
  }
  .woocommerce .sunangle-shop-heading { gap: 10px !important; }
  .woocommerce .sunangle-shop-ordering { justify-self: start !important; }
}


/* =====================================================================
   SUNANGLE v6.43 — FULL SITE RESPONSIVE PASS
   Desktop keeps the approved layout. Tablet/mobile progressively reflow
   instead of clipping, overflowing, or forcing fixed-width columns.
   ===================================================================== */

/* Universal safety: grid/flex children and media must be allowed to shrink. */
html, body { max-width: 100%; overflow-x: hidden !important; }
.sunangle-store *,
.sunangle-store *::before,
.sunangle-store *::after { box-sizing: border-box; }
.sunangle-store img,
.sunangle-store video,
.sunangle-store iframe,
.sunangle-store svg { max-width: 100%; }
.sunangle-store .wp-block-column,
.sunangle-store .wp-block-group,
.sunangle-store .wp-block-cover__inner-container,
.sunangle-store .woocommerce,
.sunangle-store .woocommerce > *,
.sunangle-store .sunangle-product-showcase-inner > *,
.sunangle-store .sunangle-product-concierge-inner > *,
.sunangle-store .sunangle-footer-grid > *,
.sunangle-store .sunangle-header-main > * { min-width: 0 !important; }
.sunangle-store p,
.sunangle-store li,
.sunangle-store dd,
.sunangle-store a,
.sunangle-store h1,
.sunangle-store h2,
.sunangle-store h3,
.sunangle-store h4 { overflow-wrap: break-word; }

/* Content width scales with the screen rather than staying desktop-sized. */
.sunangle-container,
.sunangle-wide { max-width: 1600px; }

/* Responsive banners/images never create horizontal scrollbars. */
.sunangle-art-banner,
.sunangle-shop-archive-banner,
.sunangle-single-product-banner,
.sunangle-home-original-banner,
.sunangle-art-banner-stage,
.sunangle-home-original-banner__stage { width: 100% !important; max-width: 100% !important; overflow: hidden !important; }
.sunangle-art-banner img,
.sunangle-shop-archive-banner img,
.sunangle-single-product-banner img,
.sunangle-home-original-banner img { display: block !important; width: 100% !important; max-width: 100% !important; }

/* Tablet / compact desktop ------------------------------------------------ */
@media (max-width: 1280px) {
  :root { --sunangle-content: 90vw; --sunangle-wide: 90vw; }

  /* Header and dropdown menu */
  .sunangle-header-main {
    width: var(--sunangle-content) !important;
    grid-template-columns: minmax(160px, 1fr) auto auto !important;
    gap: 14px !important;
  }
  .sunangle-brand { width: clamp(190px, 26vw, 280px) !important; height: auto !important; }
  .sunangle-brand img { width: 100% !important; height: auto !important; max-height: 62px !important; }
  .sunangle-menu-toggle { display: inline-flex !important; align-items: center; justify-content: center; }
  .sunangle-primary-nav {
    left: auto !important;
    right: 0 !important;
    width: min(560px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    max-height: calc(100svh - 118px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
  .sunangle-primary-nav .menu {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    column-gap: 28px !important;
  }
  .sunangle-primary-nav a { white-space: normal !important; }

  /* Product detail: prevent the two-column content from becoming too narrow. */
  body.single-product .woocommerce > div.product {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }
  body.single-product .woocommerce div.product div.summary {
    position: static !important;
    top: auto !important;
    width: 100% !important;
  }

  /* Dark product story section: this was the main source of clipped text. */
  body.single-product .sunangle-product-showcase-inner {
    width: 90vw !important;
    max-width: 1180px !important;
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }
  body.single-product .sunangle-product-showcase-copy,
  body.single-product .sunangle-product-showcase-meta,
  body.single-product .sunangle-product-showcase-points { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
  body.single-product .sunangle-product-showcase-meta dd,
  body.single-product .sunangle-product-showcase-points li { white-space: normal !important; overflow-wrap: anywhere !important; }

  body.single-product .sunangle-product-concierge-inner {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 40px !important;
  }

  /* Gutenberg/custom two-column editorial sections stack before they get cramped. */
  body.home .sunangle-manifesto-v611 > .wp-block-columns,
  .sunangle-commission-intro-v612 > .wp-block-columns,
  .sunangle-contact-form-section .wp-block-columns {
    grid-template-columns: 1fr !important;
  }

  /* Shop grid */
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 28px 22px !important;
  }
  .woocommerce ul.products::before,
  .woocommerce ul.products::after { display: none !important; }
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    min-width: 0 !important;
  }

  .sunangle-footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 38px !important; }
}

/* Tablet portrait / large phones ----------------------------------------- */
@media (max-width: 900px) {
  .sunangle-display,
  .entry-content h1,
  .entry-content h2 { max-width: 100% !important; }

  /* Let ordinary Gutenberg columns stack unless explicitly marked not to. */
  .entry-content .wp-block-columns:not(.is-not-stacked-on-mobile) {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: clamp(24px, 5vw, 42px) !important;
  }
  .entry-content .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: auto !important;
    width: 100% !important;
    margin-left: 0 !important;
  }

  body.single-product .sunangle-product-showcase-copy .sunangle-display,
  body.single-product .sunangle-product-showcase-copy h2 {
    font-size: clamp(38px, 7vw, 56px) !important;
    line-height: 1.04 !important;
  }
  body.single-product .sunangle-product-showcase-meta {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 22px !important;
  }
  body.single-product .sunangle-product-concierge-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  .sunangle-contact-info-rail .wp-block-columns,
  .sunangle-contact-aftercare .wp-block-columns { grid-template-columns: 1fr !important; }
}

/* Mobile ----------------------------------------------------------------- */
@media (max-width: 767px) {
  :root { --sunangle-content: 95vw; --sunangle-wide: 95vw; }

  body { font-size: 15px; }
  .sunangle-container,
  .sunangle-wide { width: var(--sunangle-content) !important; }

  /* Header */
  .sunangle-announcement { min-height: 28px !important; }
  .sunangle-announcement .sunangle-container { justify-content: center !important; }
  .sunangle-announcement .sunangle-container span { display: none !important; }
  .sunangle-announcement strong { font-size: 9px !important; letter-spacing: .12em !important; }
  .sunangle-header-main {
    width: 95vw !important;
    min-height: 66px !important;
    grid-template-columns: minmax(0,1fr) auto auto !important;
    gap: 8px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .sunangle-brand { width: min(52vw, 200px) !important; }
  .sunangle-brand img { max-height: 44px !important; }
  .sunangle-menu-toggle,
  .sunangle-header-actions a { font-size: 10px !important; padding: 8px 7px !important; }
  .sunangle-primary-nav {
    right: 0 !important;
    left: auto !important;
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100svh - 94px) !important;
    padding: 16px 20px 20px !important;
  }
  .sunangle-primary-nav .menu { grid-template-columns: 1fr !important; gap: 0 !important; }
  .sunangle-primary-nav a { padding: 10px 0 !important; font-size: 13px !important; }

  /* Typography */
  .sunangle-display { font-size: clamp(34px, 10vw, 48px) !important; line-height: 1.02 !important; }
  .woocommerce div.product .product_title,
  body.single-product .woocommerce div.product .product_title {
    font-size: clamp(38px, 11vw, 52px) !important;
    line-height: 1 !important;
  }
  body.single-product .sunangle-product-subtitle {
    font-size: clamp(19px, 5.4vw, 24px) !important;
    line-height: 1.45 !important;
  }

  /* Product gallery: main image then horizontal thumbnails. */
  body.single-product .woocommerce-product-gallery {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 12px !important;
  }
  body.single-product .woocommerce-product-gallery .flex-viewport { order: 1; width: 100% !important; }
  body.single-product .woocommerce-product-gallery .flex-control-thumbs {
    order: 2;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
    gap: 8px !important;
    overflow: visible !important;
  }
  body.single-product .woocommerce-product-gallery .flex-control-thumbs li {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    padding: 4px !important;
  }

  body.single-product .sunangle-market-assurances,
  body.single-product .sunangle-product-showcase-meta,
  body.single-product .sunangle-product-concierge-grid { grid-template-columns: 1fr !important; }
  body.single-product .sunangle-product-showcase { padding: 54px 0 !important; }
  body.single-product .sunangle-product-showcase-inner { width: 95vw !important; gap: 28px !important; }
  body.single-product .sunangle-product-showcase-gallery { grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 10px !important; }
  body.single-product .sunangle-product-showcase-meta dd,
  body.single-product .sunangle-product-showcase-points li {
    font-size: 16px !important;
    line-height: 1.6 !important;
  }
  body.single-product .sunangle-product-concierge { width: 95vw !important; margin: 54px auto !important; }
  body.single-product .sunangle-product-concierge-inner { padding: 26px 20px !important; }

  /* Shop archive: two cards per row, as requested for mobile storefronts. */
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 22px 12px !important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
    font-size: clamp(16px, 4.5vw, 20px) !important;
    line-height: 1.25 !important;
  }
  .woocommerce ul.products li.product .price { font-size: 14px !important; }
  .woocommerce ul.products li.product .button { width: 100% !important; padding: 11px 8px !important; font-size: 9px !important; }

  .woocommerce .sunangle-shop-toolbar { grid-template-columns: 1fr !important; gap: 14px !important; }
  .woocommerce .sunangle-shop-title { font-size: clamp(44px, 12vw, 62px) !important; }
  .woocommerce .sunangle-shop-ordering { justify-self: stretch !important; width: 100% !important; }
  .woocommerce .sunangle-shop-ordering .woocommerce-ordering,
  .woocommerce .sunangle-shop-ordering select { width: 100% !important; }

  /* Forms/tables */
  .woocommerce table.shop_table,
  .entry-content table { display: block; width: 100% !important; max-width: 100% !important; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  input, select, textarea, button { max-width: 100%; }

  /* Footer */
  .sunangle-site-footer { padding-top: 52px !important; }
  .sunangle-footer-grid { grid-template-columns: 1fr !important; gap: 28px !important; padding-bottom: 38px !important; }
  .sunangle-footer-bottom { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; text-align: left !important; }

  /* Cookie consent remains usable on short and narrow screens. */
  .sunangle-cookie-consent {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100svh - 20px) !important;
    overflow-y: auto !important;
  }
}

/* Very small phones ------------------------------------------------------- */
@media (max-width: 480px) {
  .sunangle-header-main { grid-template-columns: minmax(0,1fr) auto auto !important; }
  .sunangle-brand { width: min(46vw, 168px) !important; }
  .sunangle-header-actions a { font-size: 9px !important; padding-inline: 4px !important; }
  .sunangle-menu-toggle { padding-inline: 6px !important; }

  .sunangle-primary-nav { width: calc(100vw - 16px) !important; max-width: calc(100vw - 16px) !important; }

  body.single-product .woocommerce-product-gallery .flex-control-thumbs {
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  }
  body.single-product .sunangle-product-showcase-gallery { grid-template-columns: 1fr 1fr !important; }

  .woocommerce ul.products,
  .woocommerce-page ul.products { gap: 18px 9px !important; }

  .sunangle-cookie-actions { grid-template-columns: 1fr !important; }
}

/* Landscape phones / short-height screens -------------------------------- */
@media (max-height: 520px) and (max-width: 1280px) {
  .sunangle-primary-nav {
    max-height: calc(100svh - 74px) !important;
    overflow-y: auto !important;
  }
  .sunangle-primary-nav a { padding-top: 7px !important; padding-bottom: 7px !important; }
}


/* =====================================================================
   SUNANGLE v6.49 — LAPTOP PRODUCT SHOWCASE FINAL FIX
   Goal: the dark "Collected Detail" section keeps the same two-column
   composition on normal laptops instead of stacking the text below the image.
   No content is clipped; all heights are content-driven.
   ===================================================================== */

body.single-product .sunangle-product-showcase {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  padding: clamp(52px, 5vw, 78px) 0 !important;
  background: #121313 !important;
}

body.single-product .sunangle-product-showcase-inner {
  width: min(1320px, 88vw) !important;
  max-width: 1320px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.06fr) minmax(300px, .94fr) !important;
  gap: clamp(24px, 3vw, 48px) !important;
  align-items: start !important;
  overflow: visible !important;
}

body.single-product .sunangle-product-showcase-inner > *,
body.single-product .sunangle-product-showcase-visual,
body.single-product .sunangle-product-showcase-copy {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

body.single-product .sunangle-product-showcase-visual > figure {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 0 16px !important;
  padding: 10px !important;
  overflow: visible !important;
  background: #0f100f !important;
}

body.single-product .sunangle-product-showcase-visual > figure img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: min(68vh, 720px) !important;
  object-fit: contain !important;
  object-position: center !important;
}

body.single-product .sunangle-product-showcase-copy {
  padding-top: 2px !important;
}

body.single-product .sunangle-product-showcase-copy .sunangle-display,
body.single-product .sunangle-product-showcase-copy h2 {
  margin: 0 0 16px !important;
  font-size: clamp(38px, 3.6vw, 60px) !important;
  line-height: 1.02 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.single-product .sunangle-product-showcase-copy p,
body.single-product .sunangle-product-showcase-meta dd,
body.single-product .sunangle-product-showcase-points li {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.single-product .sunangle-product-showcase-meta {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px 24px !important;
  width: 100% !important;
  margin: 22px 0 !important;
  padding: 0 0 22px !important;
}

/* Normal laptop range, including 125% display scaling:
   keep the desktop two-column composition instead of moving copy below image. */
@media (min-width: 961px) and (max-width: 1399px) {
  body.single-product .sunangle-product-showcase-inner {
    width: 90vw !important;
    max-width: 1180px !important;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr) !important;
    gap: clamp(20px, 2.4vw, 34px) !important;
  }

  body.single-product .sunangle-product-showcase-visual > figure img {
    max-height: min(62vh, 600px) !important;
  }

  body.single-product .sunangle-product-showcase-copy .sunangle-display,
  body.single-product .sunangle-product-showcase-copy h2 {
    font-size: clamp(34px, 3.5vw, 48px) !important;
    line-height: 1.04 !important;
  }

  body.single-product .sunangle-product-showcase-copy p,
  body.single-product .sunangle-product-showcase-meta dd,
  body.single-product .sunangle-product-showcase-points li {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  body.single-product .sunangle-product-showcase-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 18px !important;
  }
}

/* Only stack when the viewport is truly tablet-sized. */
@media (max-width: 960px) {
  body.single-product .sunangle-product-showcase {
    padding: 54px 0 !important;
  }

  body.single-product .sunangle-product-showcase-inner {
    width: 92vw !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  body.single-product .sunangle-product-showcase-visual > figure img {
    max-height: none !important;
  }

  body.single-product .sunangle-product-showcase-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body.single-product .sunangle-product-showcase-inner {
    width: 95vw !important;
  }

  body.single-product .sunangle-product-showcase-meta {
    grid-template-columns: 1fr !important;
  }

  body.single-product .sunangle-product-showcase-copy .sunangle-display,
  body.single-product .sunangle-product-showcase-copy h2 {
    font-size: clamp(34px, 9vw, 46px) !important;
  }
}


/* SUNANGLE v6.50 — hide only the duplicate short-description block below price. */
body.single-product .summary > .woocommerce-product-details__short-description,
body.single-product .summary .sunangle-document-short-description {
  display: none !important;
}

/* =====================================================================
   SUNANGLE v6.51 — CENTER PRODUCT SHOWCASE IN ONE BACKGROUND
   Goal:
   1) image + copy sit inside one shared dark background
   2) the whole module is centered as one unit
   3) no clipping on laptop screens
   ===================================================================== */
body.single-product .sunangle-product-showcase {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
  padding: clamp(44px, 5vw, 78px) 0 !important;
  margin: 0 !important;
  background: #121313 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.single-product .sunangle-product-showcase-inner {
  width: min(1320px, calc(100vw - 64px)) !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: clamp(24px, 2.2vw, 34px) !important;
  background: #121313 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, .98fr) !important;
  gap: clamp(26px, 3vw, 46px) !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
  min-height: 0 !important;
  height: auto !important;
  box-sizing: border-box !important;
}

body.single-product .sunangle-product-showcase-visual,
body.single-product .sunangle-product-showcase-copy,
body.single-product .sunangle-product-showcase-inner > * {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.single-product .sunangle-product-showcase-visual {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

body.single-product .sunangle-product-showcase-visual > figure {
  margin: 0 0 18px !important;
  padding: 12px !important;
  background: #0f100f !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.single-product .sunangle-product-showcase-visual > figure img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
}

body.single-product .sunangle-product-showcase-gallery {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
}

body.single-product .sunangle-product-showcase-gallery figure {
  margin: 0 !important;
  padding: 10px !important;
  background: #0f100f !important;
  box-sizing: border-box !important;
}

body.single-product .sunangle-product-showcase-gallery img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}

body.single-product .sunangle-product-showcase-copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-self: center !important;
  padding-top: 0 !important;
}

body.single-product .sunangle-product-showcase-copy .sunangle-display,
body.single-product .sunangle-product-showcase-copy h2 {
  margin: 0 0 18px !important;
  font-size: clamp(36px, 4.1vw, 62px) !important;
  line-height: 1.02 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.single-product .sunangle-product-showcase-copy p,
body.single-product .sunangle-product-showcase-meta dd,
body.single-product .sunangle-product-showcase-points li {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.single-product .sunangle-product-showcase-meta {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px 26px !important;
  margin: 22px 0 !important;
  padding: 0 0 22px !important;
  width: 100% !important;
}

@media (min-width: 961px) and (max-width: 1440px) {
  body.single-product .sunangle-product-showcase-inner {
    width: min(1240px, calc(100vw - 52px)) !important;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .92fr) !important;
    gap: clamp(22px, 2.4vw, 34px) !important;
  }

  body.single-product .sunangle-product-showcase-copy .sunangle-display,
  body.single-product .sunangle-product-showcase-copy h2 {
    font-size: clamp(32px, 3.5vw, 50px) !important;
    line-height: 1.04 !important;
  }
}

@media (max-width: 960px) {
  body.single-product .sunangle-product-showcase {
    padding: 42px 0 !important;
  }

  body.single-product .sunangle-product-showcase-inner {
    width: calc(100vw - 28px) !important;
    padding: 20px !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    align-items: start !important;
  }

  body.single-product .sunangle-product-showcase-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.single-product .sunangle-product-showcase-meta {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 767px) {
  body.single-product .sunangle-product-showcase-inner {
    width: calc(100vw - 20px) !important;
    padding: 16px !important;
  }

  body.single-product .sunangle-product-showcase-copy .sunangle-display,
  body.single-product .sunangle-product-showcase-copy h2 {
    font-size: clamp(32px, 9vw, 44px) !important;
  }

  body.single-product .sunangle-product-showcase-meta,
  body.single-product .sunangle-product-showcase-gallery {
    grid-template-columns: 1fr !important;
  }
}


/* SUNANGLE v6.53 — direct sign-in/register choices, centered footer wordmark, and shop promo card. */
.sunangle-login-note { display: grid; gap: 12px; }
.sunangle-login-note p { margin: 0; }
.sunangle-login-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.sunangle-login-choice,
.woocommerce-notices-wrapper .sunangle-login-choice {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid var(--sunangle-ink);
  background: var(--sunangle-ink);
  color: #fff !important;
  text-decoration: none !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 11px;
}
.sunangle-login-choice.is-secondary,
.woocommerce-notices-wrapper .sunangle-login-choice.is-secondary {
  background: transparent;
  color: var(--sunangle-ink) !important;
}
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
  display: grid;
  gap: 10px;
}

.sunangle-footer-grid > div:first-child {
  text-align: center;
}
.sunangle-footer-grid > div:first-child .sunangle-footer-wordmark,
.sunangle-footer-grid > div:first-child .sunangle-footer-tagline {
  margin-left: auto !important;
  margin-right: auto !important;
}
.sunangle-footer-wordmark {
  align-items: center !important;
}
.sunangle-footer-wordmark-main,
.sunangle-footer-wordmark-sub {
  text-align: center;
}
.sunangle-site-footer .sunangle-footer-grid > div:first-child p {
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
}

.woocommerce ul.products li.product.sunangle-shop-promo-card,
.woocommerce-page ul.products li.product.sunangle-shop-promo-card {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sunangle-shop-promo-card__inner { display: block; }
.sunangle-shop-promo-card__inner img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0 !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  background: transparent !important;
  box-shadow: 0 14px 34px rgba(43,43,43,.08);
}
@media (max-width: 767px) {
  .sunangle-login-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .sunangle-login-choice,
  .woocommerce-notices-wrapper .sunangle-login-choice { width: 100%; }
}


/* SUNANGLE v6.55 — align promo image with other artwork cards and mirror it on Home. */
.woocommerce ul.products li.product.sunangle-shop-promo-card,
.woocommerce-page ul.products li.product.sunangle-shop-promo-card {
  align-self: start;
}
.woocommerce ul.products li.product.sunangle-shop-promo-card .sunangle-shop-promo-card__link,
.woocommerce-page ul.products li.product.sunangle-shop-promo-card .sunangle-shop-promo-card__link {
  display: block;
  text-decoration: none;
}
.woocommerce ul.products li.product.sunangle-shop-promo-card .sunangle-shop-promo-card__link img,
.woocommerce-page ul.products li.product.sunangle-shop-promo-card .sunangle-shop-promo-card__link img {
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  margin: 0 0 17px !important;
  padding: 15px !important;
  object-fit: contain !important;
  background: #eeeae3 !important;
  box-shadow: none !important;
}
.sunangle-art-card-coming-soon { height: 100%; background: transparent; }
.sunangle-art-card-coming-soon .sunangle-art-image-coming-soon { min-height: 470px; }


/* v6.57 — Home Luxury Decor approved artwork image. */
body.home .sunangle-manifesto-v611 .sunangle-manifesto-artistry img {
  object-fit: cover !important;
  object-position: center center !important;
}


/* v6.58 — force the approved Luxury Decor artwork to render consistently. */
body.home .sunangle-manifesto-v611 .sunangle-manifesto-artistry img,
body.home .sunangle-manifesto-v611 .sunangle-manifesto-visual img,
body.front-page .sunangle-manifesto-v611 .sunangle-manifesto-artistry img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}


/* SUNANGLE v6.59 — keep the promo artwork only on the first shop page and unify its tile styling. */
.woocommerce ul.products li.product.sunangle-shop-promo-card .sunangle-shop-promo-card__link img,
.woocommerce-page ul.products li.product.sunangle-shop-promo-card .sunangle-shop-promo-card__link img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 15px !important;
  background: #f7f3ec !important;
  border: 1px solid rgba(185, 171, 145, 0.18) !important;
  box-sizing: border-box !important;
}


/* v6.60 — keep the approved Home Luxury Decor artwork fully visible in its existing frame. */
.sunangle-manifesto-v611 .sunangle-manifesto-artistry img,
.sunangle-manifesto-v611 .sunangle-manifesto-visual img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
}


/* =========================================================
   SUNANGLE v6.61 — secure newsletter + three-device responsive hardening
   Desktop keeps the approved composition. Tablet/mobile only prevent
   overflow and make existing grids/forms/media adapt cleanly.
   ========================================================= */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
video,
iframe,
svg,
canvas {
  max-width: 100%;
}

img,
video {
  height: auto;
}

input,
textarea,
select,
button {
  max-width: 100%;
}

.wp-block-columns > .wp-block-column,
.sunangle-header-main > *,
.sunangle-footer-grid > *,
.sunangle-market-rail > *,
.sunangle-product-showcase-inner > *,
.woocommerce div.product > * {
  min-width: 0;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content p,
.woocommerce h1,
.woocommerce h2,
.woocommerce h3,
.woocommerce p,
.sunangle-site-footer p,
.sunangle-site-footer a {
  overflow-wrap: break-word;
}

.sunangle-newsletter-notice {
  width: min(900px, 100%);
  margin: 0 auto 16px;
  padding: 12px 16px;
  border: 1px solid rgba(201,169,110,.45);
  background: rgba(248,246,242,.08);
  color: #f7f2e9;
}
.sunangle-newsletter-notice p { margin: 0; }
.sunangle-newsletter-notice.is-error { border-color: rgba(190,95,72,.65); }

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
  :root {
    --sunangle-content: 90vw;
    --sunangle-wide: 90vw;
  }

  .sunangle-container,
  .sunangle-wide,
  .sunangle-section > *,
  .sunangle-manifesto > *,
  .sunangle-exhibition > *,
  .sunangle-collector-note > *,
  .sunangle-concierge > *,
  .sunangle-faq-split > .wp-block-columns,
  .sunangle-newsletter-section > .wp-block-columns,
  .sunangle-gallery-hero > .wp-block-columns,
  body.single-product .woocommerce > div.product {
    width: 90vw !important;
    max-width: 90vw !important;
  }

  .sunangle-gallery-hero > .wp-block-columns,
  .sunangle-manifesto > .wp-block-columns,
  .sunangle-atelier-feature > .wp-block-columns,
  .sunangle-bespoke-gallery > .wp-block-columns,
  .sunangle-faq-split > .wp-block-columns,
  .sunangle-newsletter-section > .wp-block-columns,
  .sunangle-studio-ethos > .wp-block-columns,
  .sunangle-studio-editorial > .wp-block-columns,
  .sunangle-contact-split > .wp-block-columns,
  .sunangle-contact-followup > .wp-block-columns,
  .sunangle-commission-advisory > .wp-block-columns {
    min-width: 0 !important;
  }

  .sunangle-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 46px;
  }

  .sunangle-form input,
  .sunangle-form textarea,
  .sunangle-form select,
  .sunangle-form button {
    width: 100%;
  }
}

/* Mobile */
@media (max-width: 767px) {
  :root {
    --sunangle-content: 95vw;
    --sunangle-wide: 95vw;
  }

  .sunangle-container,
  .sunangle-wide,
  .sunangle-section > *,
  .sunangle-manifesto > *,
  .sunangle-exhibition > *,
  .sunangle-collector-note > *,
  .sunangle-concierge > *,
  .sunangle-faq-split > .wp-block-columns,
  .sunangle-newsletter-section > .wp-block-columns,
  .sunangle-gallery-hero > .wp-block-columns,
  body.single-product .woocommerce > div.product {
    width: 95vw !important;
    max-width: 95vw !important;
  }

  .wp-block-columns,
  .sunangle-gallery-hero > .wp-block-columns,
  .sunangle-manifesto > .wp-block-columns,
  .sunangle-atelier-feature > .wp-block-columns,
  .sunangle-bespoke-gallery > .wp-block-columns,
  .sunangle-faq-split > .wp-block-columns,
  .sunangle-newsletter-section > .wp-block-columns,
  .sunangle-studio-ethos > .wp-block-columns,
  .sunangle-studio-editorial > .wp-block-columns,
  .sunangle-contact-split > .wp-block-columns,
  .sunangle-contact-followup > .wp-block-columns,
  .sunangle-commission-advisory > .wp-block-columns,
  body.single-product .sunangle-product-showcase-inner {
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
  }

  .sunangle-site-header,
  .sunangle-primary-nav,
  .sunangle-main,
  .sunangle-site-footer,
  .entry-content,
  .woocommerce,
  .woocommerce-page {
    max-width: 100vw;
  }

  .sunangle-form-row,
  .sunangle-market-assurances,
  .sunangle-product-showcase-meta,
  body.single-product .sunangle-product-concierge-grid {
    grid-template-columns: 1fr !important;
  }

  .sunangle-form input,
  .sunangle-form textarea,
  .sunangle-form select,
  .sunangle-form button,
  .home .sunangle-newsletter-section .sunangle-newsletter {
    width: 100% !important;
    max-width: 100% !important;
  }

  .sunangle-footer-grid {
    grid-template-columns: 1fr !important;
  }

  .sunangle-footer-bottom {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
