/**
 * Mason ROMA Modern Edge — WooCommerce soft overrides.
 */
.mason-roma.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	list-style: none;
	margin: 34px 4vw;
	padding: 0;
	background: transparent;
}

.mason-roma.woocommerce ul.products li.product {
	background: linear-gradient(145deg, #dedede, #c8c8c8);
	margin: 0;
	padding: 26px;
	min-height: 420px;
	border-radius: var(--roma-radius-md);
	border: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: var(--roma-shadow-md);
}

.mason-roma.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font: 26px var(--roma-serif);
	font-weight: 400;
}

.mason-roma.woocommerce a.button,
.mason-roma.woocommerce button.button {
	background: rgba(255, 255, 255, 0.52);
	color: var(--roma-black);
	border: 1px solid rgba(0, 0, 0, 0.28);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	padding: 12px 20px;
	box-shadow: var(--roma-shadow-sm);
	backdrop-filter: blur(12px);
}

.mason-roma.woocommerce a.button:hover,
.mason-roma.woocommerce button.button:hover {
	background: #fff;
	color: var(--roma-black);
}

.mason-roma .roma-page-content {
	margin: 34px 4vw;
	padding: clamp(48px, 8vw, 96px) 5vw;
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid rgba(0, 0, 0, 0.07);
	border-radius: var(--roma-radius-lg);
	box-shadow: var(--roma-shadow-md);
}

.mason-roma .roma-page-content .entry-content {
	max-width: 720px;
	margin: 0 auto;
	font: 18px / 1.75 var(--roma-serif);
	color: #444;
}

@media (max-width: 850px) {
	.mason-roma.woocommerce ul.products {
		grid-template-columns: 1fr;
		margin-left: 16px;
		margin-right: 16px;
	}

	.mason-roma .roma-page-content {
		margin-left: 16px;
		margin-right: 16px;
	}
}

/* === GoodMotiv ROMA: WooCommerce customer-page refinement (staging) ===
 * Based on the actual WC template hierarchy and selective VENDOR/Genius layout
 * references; no wholesale rules or production policy claims are imported.
 * Homepage/Shop architecture and canonical brand assets are not modified.
 */

.roma-footer__extensions {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 24px;
	margin-top: 32px;
	padding-top: 32px;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.roma-footer__col h4 {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--roma-black);
	margin-bottom: 12px;
}

.roma-footer__col p {
	font: 14px / 1.75 var(--roma-serif);
	color: #666;
}

/* === Collections page and product catalog grid ===
 * Support for Collections page (ID 7163) and related collection grids.
 * The WC product grid (3-col desktop → 2-col tablet → 1-col mobile) applies
 * when WC product loops are used within Collections page content.
 */

.roma-collections-grid {
	display: grid;
	gap: 24px;
}

.roma-collections-grid .mason-roma.woocommerce ul.products {
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin: 34px 4vw;
}

@media (max-width: 850px) {
	.roma-collections-grid .mason-roma.woocommerce ul.products {
		grid-template-columns: 1fr;
		margin-left: 16px;
		margin-right: 16px;
	}
}

/* === Search results presentation ===
 * Consistent with ROMA INSPO styling when search panel opens.
 */

.roma-search-results {
	margin: 34px 4vw;
	padding: clamp(48px, 8vw, 96px) 5vw;
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid rgba(0, 0, 0, 0.07);
	border-radius: var(--roma-radius-lg);
	box-shadow: var(--roma-shadow-md);
}

.roma-search-results .entry-content {
	max-width: 720px;
	margin: 0 auto;
	font: 18px / 1.75 var(--roma-serif);
	color: #444;
}

.roma-search-results .woocommerce-loop-product__title {
	font: 26px var(--roma-serif);
	font-weight: 400;
}

/* Empty search results state */
.roma-search-empty {
	padding: 48px 24px;
	text-align: center;
	color: #666;
}

.roma-search-empty p {
	font: 18px / 1.75 var(--roma-serif);
}

/* === Corporate Gifts page staging styles ===
 * Support for Corporate Gifts page (ID 7161) and related gifting content.
 * When the Corporate Gifts page uses the default template, these rules
 * help present the content consistently with ROMA INSPO aesthetic.
 */

.roma-corporate-gifts {
	padding: clamp(48px, 8vw, 96px) 5vw;
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid rgba(0, 0, 0, 0.07);
	border-radius: var(--roma-radius-lg);
	box-shadow: var(--roma-shadow-md);
	margin: 34px 4vw;
}

.roma-corporate-gifts h2 {
	font-size: 26px;
	font-weight: 400;
	color: var(--roma-black);
	margin-bottom: 24px;
}

.roma-corporate-gifts h3 {
	font-size: 20px;
	font-weight: 400;
	color: var(--roma-black);
	margin-top: 32px;
	margin-bottom: 16px;
}

.roma-corporate-gifts p {
	font: 18px / 1.75 var(--roma-serif);
	color: #444;
	margin-bottom: 24px;
}

/* Gift-related sub-pages styling (Employee Recognition, Executive Gifts, etc.) */
.roma-gift-subpage {
	padding: 32px 24px;
}

.roma-gift-subpage h2 {
	font-size: 22px;
	font-weight: 400;
	color: var(--roma-black);
	margin-bottom: 20px;
}

.roma-gift-subpage p {
	font: 17px / 1.7 var(--roma-serif);
	color: #555;
	margin-bottom: 20px;
}

/* Collections grid support within Corporate Gifts page */
.roma-cg .roma-collections-grid .mason-roma.woocommerce ul.products {
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	margin: 24px 0;
}

.roma-cg .roma-collections-grid .mason-roma.woocommerce ul.products li.product {
	min-height: auto;
	padding: 20px;
}

/* Single product: WooCommerce outputs .product, .woocommerce-product-gallery,
 * .summary.entry-summary, .woocommerce-tabs and .related.products. These are
 * actual WC selectors, unlike old .single-product .product-gallery__main etc.
 */
body.mason-roma.single-product .roma-product-main {
  width: min(1280px, calc(100% - 8vw));
  min-width: 0;
  margin: clamp(28px, 4vw, 58px) auto clamp(52px, 6vw, 96px);
}
body.mason-roma.single-product .roma-product-main > div.product {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.94fr);
  gap: clamp(24px, 3.5vw, 64px);
  align-items: start;
  min-width: 0;
}
body.mason-roma.single-product .roma-product-main > div.product::before,
body.mason-roma.single-product .roma-product-main > div.product::after { content: none; display: none; }
body.mason-roma.single-product .roma-product-main div.product > .woocommerce-product-gallery,
body.mason-roma.single-product .roma-product-main div.product > .summary {
  float: none;
  clear: none;
  width: 100%;
  min-width: 0;
  margin: 0;
}
body.mason-roma.single-product .roma-product-main .woocommerce-product-gallery {
  overflow: hidden;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(0,0,0,.07);
  border-radius: var(--roma-radius-md);
  box-shadow: var(--roma-shadow-sm);
  padding: clamp(12px, 2vw, 28px);
}
body.mason-roma.single-product .roma-product-main .woocommerce-product-gallery__wrapper { margin: 0; min-width: 0; }
body.mason-roma.single-product .roma-product-main .woocommerce-product-gallery__image a {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  border-radius: var(--roma-radius-sm);
  background: #fbfbfb;
}
body.mason-roma.single-product .roma-product-main .woocommerce-product-gallery__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}
body.mason-roma.single-product .roma-product-main .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}
body.mason-roma.single-product .roma-product-main .flex-control-thumbs li {
  float: none; width: 100%; min-width: 0;
}
body.mason-roma.single-product .roma-product-main .flex-control-thumbs img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  border: 1px solid #d2d2d2;
  border-radius: 12px;
  background: #fff;
}
body.mason-roma.single-product .roma-product-main .summary {
  padding: clamp(8px, 1vw, 18px) 0;
  color: #171717;
}
body.mason-roma.single-product .roma-product-main .summary .product_title {
  font: 700 clamp(28px, 2.5vw, 40px)/1.18 var(--roma-sans);
  margin: 0 0 22px;
  overflow-wrap: anywhere;
}
body.mason-roma.single-product .roma-product-main .summary .price,
body.mason-roma.single-product .roma-product-main .summary .price .amount {
  color: #242424;
  font: 600 clamp(20px, 2vw, 26px)/1.35 var(--roma-serif);
}
body.mason-roma.single-product .roma-product-main .summary .price { display: block; margin: 18px 0 26px; }
body.mason-roma.single-product .roma-product-main .woocommerce-product-rating { margin-bottom: 16px; }
body.mason-roma.single-product .roma-product-main form.cart { margin: 24px 0 30px; }
body.mason-roma.single-product .roma-product-main form.cart .variations {
  width: 100%; margin-bottom: 18px; border: 0;
}
body.mason-roma.single-product .roma-product-main form.cart .variations th,
body.mason-roma.single-product .roma-product-main form.cart .variations td {
  padding: 8px 12px 8px 0;
  vertical-align: middle;
  border: 0;
}
body.mason-roma.single-product .roma-product-main form.cart .variations select {
  min-height: 46px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 9px 14px;
  background: #fff;
  border: 1px solid #9c9c9c;
  border-radius: 12px;
  color: #111;
  font: 500 14px/1.4 var(--roma-sans);
}
body.mason-roma.single-product .roma-product-main form.cart .reset_variations {
  display: inline-block; margin: 8px 0 0; font-size: 12px;
  text-decoration: underline;
}
body.mason-roma.single-product .roma-product-main form.cart .quantity { margin: 0 12px 12px 0; }
body.mason-roma.single-product .roma-product-main form.cart .quantity input.qty {
  width: 76px;
  min-height: 46px;
  border: 1px solid #aaa;
  border-radius: 12px;
  background: #fff;
  color: #111;
  text-align: center;
}
body.mason-roma.single-product .roma-product-main form.cart button.single_add_to_cart_button {
  min-height: 46px;
  margin: 0 0 12px;
  padding: 12px 24px;
  background: #151515;
  border: 1px solid #151515;
  border-radius: 999px;
  color: #fff;
  font: 700 12px/1.35 var(--roma-sans);
  letter-spacing: .12em;
  text-transform: uppercase;
  box-shadow: none;
}
body.mason-roma.single-product .roma-product-main form.cart button.single_add_to_cart_button:hover {
  background: #393939; color: #fff;
}
body.mason-roma.single-product .roma-product-main form.cart button.single_add_to_cart_button.disabled,
body.mason-roma.single-product .roma-product-main form.cart button.single_add_to_cart_button:disabled { opacity: .55; cursor: not-allowed; }
body.mason-roma.single-product .roma-product-main .product_meta {
  padding-top: 20px;
  border-top: 1px solid #cdcdcd;
  font-size: 13px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
body.mason-roma.single-product .roma-product-main .woocommerce-tabs,
body.mason-roma.single-product .roma-product-main .related.products,
body.mason-roma.single-product .roma-product-main .upsells.products {
  grid-column: 1 / -1;
  float: none;
  width: 100%;
  min-width: 0;
  margin: 26px 0 0;
  clear: both;
}
body.mason-roma.single-product .roma-product-main .woocommerce-tabs {
  padding: clamp(24px, 3vw, 42px);
  background: rgba(255,255,255,.8);
  border: 1px solid rgba(0,0,0,.07);
  border-radius: var(--roma-radius-md);
}
body.mason-roma.single-product .roma-product-main .woocommerce-tabs ul.tabs { margin: 0 0 28px; }
body.mason-roma.single-product .roma-product-main .woocommerce-tabs .panel { max-width: 85ch; }
body.mason-roma.single-product .roma-product-main .related.products h2,
body.mason-roma.single-product .roma-product-main .upsells.products h2 {
  font: 500 clamp(23px,2.2vw,32px)/1.2 var(--roma-serif);
  margin: 0 0 24px;
}
body.mason-roma.single-product .roma-product-main .related.products ul.products,
body.mason-roma.single-product .roma-product-main .upsells.products ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 22px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
body.mason-roma.single-product .roma-product-main .related.products ul.products::before,
body.mason-roma.single-product .roma-product-main .related.products ul.products::after,
body.mason-roma.single-product .roma-product-main .upsells.products ul.products::before,
body.mason-roma.single-product .roma-product-main .upsells.products ul.products::after { content:none; display:none; }
body.mason-roma.single-product .roma-product-main .related.products ul.products li.product,
body.mason-roma.single-product .roma-product-main .upsells.products ul.products li.product {
  float: none;
  clear: none;
  width: 100% !important;
  max-width: none;
  min-width: 0;
  margin: 0 !important;
  min-height: 0;
  padding: clamp(16px, 2vw, 24px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: var(--roma-radius-md);
  background: linear-gradient(155deg, #f3f3f3, #dedede);
  box-shadow: var(--roma-shadow-sm);
}
body.mason-roma.single-product .roma-product-main .related.products ul.products li.product img,
body.mason-roma.single-product .roma-product-main .upsells.products ul.products li.product img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: white;
  border-radius: var(--roma-radius-sm);
}
body.mason-roma.single-product .roma-product-main .related.products ul.products .woocommerce-loop-product__title,
body.mason-roma.single-product .roma-product-main .upsells.products ul.products .woocommerce-loop-product__title {
  font: 500 20px/1.35 var(--roma-serif);
  overflow-wrap: anywhere;
}
body.mason-roma.single-product .roma-product-main .related.products ul.products .button,
body.mason-roma.single-product .roma-product-main .upsells.products ul.products .button {
  align-self: stretch;
  text-align: center;
  margin-top: auto;
}

/* Cart, checkout and account page content should not be squeezed into the
 * generic editorial 720px width used on long-form pages. */
body.mason-roma.woocommerce-cart .roma-page-content,
body.mason-roma.woocommerce-checkout .roma-page-content,
body.mason-roma.woocommerce-account .roma-page-content {
  margin: 26px auto 70px;
  width: min(1280px, calc(100% - 8vw));
  padding: clamp(28px, 4vw, 64px);
}
body.mason-roma.woocommerce-cart .roma-page-content .entry-content,
body.mason-roma.woocommerce-checkout .roma-page-content .entry-content,
body.mason-roma.woocommerce-account .roma-page-content .entry-content {
  max-width: none;
  min-width: 0;
  margin: 0;
  color: #252525;
  font: 16px/1.6 var(--roma-sans);
}
body.mason-roma.woocommerce-cart .woocommerce a,
body.mason-roma.woocommerce-checkout .woocommerce a,
body.mason-roma.woocommerce-account .woocommerce a { text-decoration: none; }
body.mason-roma.woocommerce-cart .woocommerce a:hover,
body.mason-roma.woocommerce-checkout .woocommerce a:hover,
body.mason-roma.woocommerce-account .woocommerce a:hover { text-decoration: underline; }
body.mason-roma.woocommerce-cart .woocommerce :is(button.button, a.button, input.button),
body.mason-roma.woocommerce-checkout .woocommerce :is(button.button, a.button, input.button),
body.mason-roma.woocommerce-account .woocommerce :is(button.button, a.button, input.button) {
  border: 1px solid #151515;
  border-radius: 999px;
  background: #151515;
  color: #fff;
  box-shadow: none;
  font: 700 12px/1.4 var(--roma-sans);
  letter-spacing: .04em;
  padding: 13px 20px;
  min-height: 44px;
}
body.mason-roma.woocommerce-cart .woocommerce :is(button.button, a.button, input.button):hover,
body.mason-roma.woocommerce-checkout .woocommerce :is(button.button, a.button, input.button):hover,
body.mason-roma.woocommerce-account .woocommerce :is(button.button, a.button, input.button):hover {
  background: #393939; border-color: #393939; color:#fff;
}
body.mason-roma .woocommerce :is(input.input-text, textarea.input-text, select) {
  max-width: 100%;
  padding: 12px 14px;
  border: 1px solid #aaa;
  border-radius: 12px;
  background: #fff;
  color: #161616;
  font: 15px/1.45 var(--roma-sans);
}
body.mason-roma .woocommerce :is(input.input-text, textarea.input-text, select):focus-visible,
body.mason-roma .woocommerce :is(button, a, input):focus-visible {
  outline: 2px solid #111;
  outline-offset: 3px;
}
body.mason-roma .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) {
  padding: 18px 20px 18px 44px;
  margin: 0 0 26px;
  background: #f4f4f4;
  border-top: 3px solid #292929;
  border-radius: 16px;
  color: #222;
  box-shadow: none;
}
body.mason-roma .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error)::before { color: #222; }

/* Classic WooCommerce cart; blocks retain their native transaction logic. */
body.mason-roma.woocommerce-cart .woocommerce-cart-form,
body.mason-roma.woocommerce-cart .cart-collaterals { min-width: 0; }
body.mason-roma.woocommerce-cart table.shop_table {
  width: 100%;
  border: 1px solid #d8d8d8;
  border-radius: 16px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  background: rgba(255,255,255,.78);
  color: #202020;
  font: 14px/1.5 var(--roma-sans);
}
body.mason-roma.woocommerce-cart table.shop_table :is(th,td) {
  padding: 18px 14px;
  border-bottom: 1px solid #e0e0e0;
  vertical-align: middle;
}
body.mason-roma.woocommerce-cart table.shop_table img { width: 84px; height: auto; border-radius: 10px; }
body.mason-roma.woocommerce-cart table.shop_table .quantity input.qty { width: 78px; min-height:44px; }
body.mason-roma.woocommerce-cart .cart-collaterals .cart_totals { width: min(100%, 520px); float: right; }
body.mason-roma.woocommerce-cart .cart-collaterals .cart_totals h2 { font: 500 28px/1.2 var(--roma-serif); }
body.mason-roma.woocommerce-cart .cart-collaterals .cart_totals table { width: 100%; }
body.mason-roma.woocommerce-cart .cart-collaterals .cart_totals .checkout-button {
  display: block;
  width: 100%;
  text-align: center;
  padding: 16px;
}
body.mason-roma.woocommerce-cart .woocommerce-cart-form .actions .coupon { margin-bottom: 8px; }
body.mason-roma.woocommerce-cart .woocommerce-cart-form .actions input.input-text { width: min(100%, 220px); }

/* Checkout: improve readable controls without replacing payment/shipping UI. */
body.mason-roma.woocommerce-checkout .woocommerce form.checkout { max-width: 100%; }
body.mason-roma.woocommerce-checkout .woocommerce form .form-row { margin-bottom: 15px; }
body.mason-roma.woocommerce-checkout .woocommerce form .form-row label { margin-bottom: 7px; font-weight: 600; }
body.mason-roma.woocommerce-checkout .woocommerce form .form-row .input-text { width: 100%; }
body.mason-roma.woocommerce-checkout #customer_details { min-width: 0; }
body.mason-roma.woocommerce-checkout :is(#order_review,.woocommerce-checkout-review-order) { min-width: 0; }
body.mason-roma.woocommerce-checkout #order_review table.shop_table {
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 14px;
  background: white;
}
body.mason-roma.woocommerce-checkout #payment {
  padding: 14px;
  border: 1px solid #ddd;
  border-radius: 16px;
  background: #f5f5f5;
}
body.mason-roma.woocommerce-checkout #place_order { min-height: 48px; }

/* My Account: replace the default 30/68 float geometry and bulleted nav with
 * a balanced layout inside the original rounded ROMA white page card. */
body.mason-roma.woocommerce-account .entry-content > .woocommerce { display: flex; flex-wrap: wrap; gap: clamp(22px,3vw,48px); align-items: flex-start; }
body.mason-roma.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation {
  float: none;
  flex: 0 0 230px;
  width: 230px;
  max-width: 100%;
  min-width: 0;
}
body.mason-roma.woocommerce-account .woocommerce > .woocommerce-MyAccount-content {
  float: none;
  flex: 1 1 420px;
  width: auto;
  min-width: 0;
  max-width: 100%;
}
body.mason-roma.woocommerce-account .woocommerce > :is(.woocommerce-notices-wrapper,.woocommerce-message,.woocommerce-info,.woocommerce-error) { flex-basis: 100%; }
body.mason-roma.woocommerce-account .woocommerce-MyAccount-navigation ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: grid;
  gap: 7px;
}
body.mason-roma.woocommerce-account .woocommerce-MyAccount-navigation ul li { margin: 0; padding: 0; list-style: none; }
body.mason-roma.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 12px 16px;
  border: 1px solid transparent;
  border-radius: 13px;
  font: 600 13px/1.5 var(--roma-sans);
  color: #282828;
}
body.mason-roma.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
body.mason-roma.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: #e7e7e7;
  border-color: #cfcfcf;
  text-decoration: none;
}
body.mason-roma.woocommerce-account .woocommerce-MyAccount-content :is(h2,h3) {
  font-family: var(--roma-serif);
  line-height: 1.25;
  overflow-wrap: anywhere;
}
body.mason-roma.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
body.mason-roma.woocommerce-account .woocommerce-MyAccount-content .u-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
body.mason-roma.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before,
body.mason-roma.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after { content: none; display: none; }
body.mason-roma.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address,
body.mason-roma.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .col-1,
body.mason-roma.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses .col-2 {
  width: auto;
  float: none;
  min-width: 0;
  padding: clamp(16px,2vw,24px);
  background: #f5f5f5;
  border: 1px solid #e1e1e1;
  border-radius: var(--roma-radius-sm);
}
body.mason-roma.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title { display: block; }
body.mason-roma.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3 { float: none; margin:0 0 10px; }
body.mason-roma.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a { float:none; display:inline-block; margin-bottom:12px; }
body.mason-roma.woocommerce-account .woocommerce-MyAccount-content .form-row { margin: 0 0 15px; }
body.mason-roma.woocommerce-account .woocommerce-MyAccount-content .form-row label { display:block; margin-bottom:5px; }
body.mason-roma.woocommerce-account .woocommerce-MyAccount-content .form-row input { max-width: 100%; }
body.mason-roma.woocommerce-account .woocommerce-MyAccount-content fieldset {
  margin: 18px 0;
  padding: 20px;
  border: 1px solid #d9d9d9;
  border-radius: 16px;
}
body.mason-roma.woocommerce-account .woocommerce-MyAccount-content table.shop_table { width:100%; }

/* Native WooCommerce notices also appear as direct product siblings. */
body.mason-roma.single-product .woocommerce-message,
body.mason-roma.single-product .woocommerce-info,
body.mason-roma.single-product .woocommerce-error {
  border-top: 3px solid #333;
  border-radius: 12px;
  background: #f3f3f3;
  color: #111;
}

@media (max-width: 1050px) {
  body.mason-roma.single-product .roma-product-main .related.products ul.products,
  body.mason-roma.single-product .roma-product-main .upsells.products ul.products {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 850px) {
  body.mason-roma.single-product .roma-product-main > div.product { grid-template-columns: minmax(0,1fr); }
  body.mason-roma.single-product .roma-product-main .woocommerce-product-gallery { max-width: 700px; width:100%; margin-inline: auto; }
  body.mason-roma.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation { flex: 1 1 100%; width:100%; }
  body.mason-roma.woocommerce-account .woocommerce > .woocommerce-MyAccount-content { flex: 1 1 100%; }
  body.mason-roma.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 650px) {
  body.mason-roma.single-product .roma-product-main { width: calc(100% - 32px); margin: 20px auto 50px; }
  body.mason-roma.single-product .roma-product-main .flex-control-thumbs { grid-template-columns: repeat(3,minmax(0,1fr)); }
  body.mason-roma.single-product .roma-product-main .related.products ul.products,
  body.mason-roma.single-product .roma-product-main .upsells.products ul.products { grid-template-columns: minmax(0,1fr); }
  body.mason-roma.woocommerce-cart .roma-page-content,
  body.mason-roma.woocommerce-checkout .roma-page-content,
  body.mason-roma.woocommerce-account .roma-page-content { width: calc(100% - 32px); padding:24px 18px; margin:22px auto 45px; }
  body.mason-roma.woocommerce-cart .woocommerce-cart-form { overflow-x: auto; }
  body.mason-roma.woocommerce-cart .cart-collaterals .cart_totals { float: none; }
  body.mason-roma.woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns: 1fr; }
  body.mason-roma.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
  body.mason-roma.woocommerce-account .woocommerce-MyAccount-content .u-columns { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
  body.mason-roma.single-product .roma-product-main *,
  body.mason-roma.woocommerce-cart .woocommerce *,
  body.mason-roma.woocommerce-account .woocommerce * { transition: none; }
}
