/* Maison Poviet — WooCommerce pages in Dawn style.
   Collection/product values mirror the reference store's section settings. */

/* ---------- Collection ---------- */
.collection-hero { padding-top: 3rem; }
.collection-hero__inner { justify-content: center; }
.collection-hero__text-wrapper { text-align: center; flex-basis: 100%; }
.collection-hero__title { margin: 0; font-size: 1.4rem; letter-spacing: 0.2em; text-transform: uppercase; }
.collection-hero__description { margin-top: 1rem; }
.section-collection .card__information,
.section-collection .card-information { text-align: center; }
.section-collection-note-padding { padding-top: 30px; padding-bottom: 39px; }
.section-collection-note .rich-text__text { color: #000; }
.facets__price input[type='number'] { -moz-appearance: textfield; }
.facets__price input::-webkit-outer-spin-button,
.facets__price input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.facets__label--disabled { opacity: 0.5; pointer-events: none; }
.pagination__item .icon-caret { transform: rotate(90deg); }
.pagination__item--prev .icon-caret { transform: rotate(-90deg); }
.card__heading .full-unstyled-link .amount { font-weight: inherit; }

/* ---------- Product ---------- */
.section-main-product-padding { padding-top: 27px; padding-bottom: 9px; }
.product__title h1 { font-size: 27px; }
.product .price-item--regular { font-size: 14px; }
/* Promise badges: a tinted panel so they read as store features, not product details. */
.product .icon-with-text.icon-with-text--vertical { margin: 2.8rem 0 0; padding: 2rem 2.2rem; display: flex; flex-direction: column; gap: 1.6rem; background: #f5f2ed; border: .1rem solid #ebe5dc; }
.product .icon-with-text--vertical .icon-with-text__item { display: flex; margin: 0; gap: 1.4rem; align-items: center; }
.product .icon-with-text--vertical .icon-with-text__item > :first-child { margin: 0; }
.product .icon-with-text span.h4 { font-size: 12px; line-height: 1.5; letter-spacing: .06rem; }
.product .icon-with-text img,
.product .icon-with-text .icon { width: 2.4rem; height: 2.4rem; flex-shrink: 0; object-fit: contain; }
.product .accordion__title { font-size: 12px; }
#buy_buttons .button::after,
#buy_buttons .button::before { display: none; }
#buy_buttons .product-form__submit { background: #000; border: 1px solid #000; color: #fff; }
#buy_buttons .product-form__submit span { color: #fff; }
#buy_buttons .product-form__submit:not([disabled]):hover { background: #fff; color: #000; }
#buy_buttons .product-form__submit:not([disabled]):hover span { color: #000; }
#buy_buttons .product-form__submit[disabled],
#buy_buttons .product-form__submit.disabled { opacity: 0.5; cursor: not-allowed; }
.product-form__variants { margin-bottom: 1.5rem; }
.product-form__variants .product-form__input--dropdown { margin-bottom: 1.2rem; max-width: 44rem; }
.product-form__engraving { max-width: 44rem; margin-bottom: 1.5rem; }
.product-form__engraving-hint { margin: 0.6rem 0 0; color: rgba(var(--color-foreground), 0.65); }
.reset_variations { display: none !important; }
.single_variation .woocommerce-variation-price { display: none; }
.single_variation .woocommerce-variation-availability p { margin: 0 0 1rem; font-size: 1.3rem; }
.single_variation .woocommerce-variation-description:empty { display: none; }
#mpv-price .price .price { margin: 0; }
#mpv-price del { opacity: 0.6; margin-right: 0.6rem; }
#mpv-price ins { text-decoration: none; }
.product__text { margin: 1.5rem 0; }
.section-product-note-padding { padding-top: 30px; padding-bottom: 30px; }
.section-related-padding { padding-top: 27px; padding-bottom: 27px; }
.section-lifestyle-padding { padding-top: 27px; padding-bottom: 27px; }
.section-lifestyle .multicolumn-card__image-wrapper { margin-left: 0; margin-right: 0; } /* flush with the page edge, in line with the text above */
.section-related .title { text-align: center; font-size: 12px; width: 100%; }
@media screen and (min-width: 750px) {
	.section-main-product-padding { padding-top: 36px; padding-bottom: 12px; }
	.section-collection-note-padding { padding-top: 40px; padding-bottom: 52px; }
	.section-product-note-padding { padding-top: 40px; padding-bottom: 40px; }
	.section-related-padding { padding-top: 36px; padding-bottom: 36px; }
	.section-lifestyle-padding { padding-top: 36px; padding-bottom: 36px; }
}

/* ---------- Cart ---------- */
.mpv-wc-page .woocommerce { display: block; }
cart-items .title-wrapper-with-link { margin-top: 0; }
.cart-item__image-container { width: 10rem; }
.cart-item__image-container img { width: 100%; height: auto; display: block; }
.cart-item__details .product-option .amount { font-weight: inherit; }
.cart-item__details dl { margin: 0.4rem 0 0; }
.cart-item__details dl .product-option { display: block; }
.cart-item__details dl dt, .cart-item__details dl dd { display: inline; }
.cart-item__details dd { margin: 0; }
.cart-items td, .cart-items th { border: 0; }
cart-remove-button .button { min-width: 4.5rem; min-height: 4.5rem; padding: 0; }
cart-remove-button .button::before, cart-remove-button .button::after { display: none; }
.cart__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 2rem 0; border-top: 0.1rem solid rgba(var(--color-foreground), 0.08); }
.cart__coupon { display: flex; gap: 1rem; align-items: stretch; flex: 1 1 30rem; max-width: 44rem; }
.cart__coupon .field { flex: 1; }
.cart__update { min-height: 4.5rem; }
.js .cart__update { display: none; }
.cart__note { max-width: 44rem; color: rgba(var(--color-foreground), 0.75); }
#main-cart-footer .cart__footer { padding-top: 2rem; }
.cart__blocks .totals { margin: 0 0 0.8rem; justify-content: space-between; }
.cart__blocks .totals--grand { padding-top: 1rem; border-top: 0.1rem solid rgba(var(--color-foreground), 0.08); }
.cart__blocks .totals--grand .totals__total-value { font-size: 1.8rem; }
.cart__blocks .tax-note { display: block; margin: 1rem 0 2rem; text-align: right; }
.cart__ctas .checkout-button { width: 100%; }
.woocommerce-cart-form.processing, .cart_totals.processing { opacity: 0.5; pointer-events: none; }
.blockUI.blockOverlay { background: rgba(var(--color-background), 0.6) !important; }

/* ---------- Forms (checkout, account) ---------- */
.woocommerce form .form-row { margin: 0 0 1.6rem; padding: 0; display: flex; flex-direction: column; }
.woocommerce form .form-row label { font-size: 1.3rem; letter-spacing: 0.04rem; margin-bottom: 0.6rem; color: rgba(var(--color-foreground), 0.85); }
.woocommerce form .form-row .required { color: rgb(var(--color-foreground)); text-decoration: none; border: 0; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: calc(50% - 0.8rem); }
.woocommerce form .form-row-first { float: left; }
.woocommerce form .form-row-last { float: right; }
.woocommerce form .form-row-wide { clear: both; }
.woocommerce form .input-text,
.woocommerce form select,
.woocommerce form textarea,
.woocommerce .select2-container .select2-selection--single {
	width: 100%;
	min-height: 4.5rem;
	padding: 1rem 1.5rem;
	font-family: var(--font-body-family);
	font-size: 1.5rem;
	color: rgb(var(--color-foreground));
	background: rgb(var(--color-background));
	border: 0.1rem solid rgba(var(--color-foreground), 0.55);
	border-radius: 0;
	box-shadow: none;
	appearance: none;
}
.woocommerce form textarea { min-height: 10rem; }
.woocommerce form .input-text:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus { outline: 0.2rem solid rgba(var(--color-foreground), 0.5); outline-offset: 0.1rem; }
.woocommerce .select2-container .select2-selection--single { display: flex; align-items: center; padding: 0 1.5rem; }
.woocommerce .select2-container .select2-selection__rendered { padding: 0 !important; line-height: 1.4 !important; }
.woocommerce .select2-container .select2-selection__arrow { top: 50% !important; transform: translateY(-50%); right: 1rem !important; }
.select2-dropdown { border-color: rgba(var(--color-foreground), 0.55) !important; border-radius: 0 !important; font-size: 1.4rem; }
.woocommerce form .form-row.woocommerce-invalid .input-text { border-color: rgb(var(--color-foreground)); outline: 0.1rem solid #c00; }
.woocommerce-input-wrapper { display: block; width: 100%; }
.woocommerce form .woocommerce-form__label-for-checkbox { flex-direction: row; display: flex; gap: 0.8rem; align-items: center; }
.woocommerce .button.alt, .woocommerce #place_order { width: 100%; }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.lost_reset_password { max-width: 44rem; }
.clear { clear: both; }

/* ---------- Checkout ---------- */
.woocommerce-checkout form.checkout { display: grid; gap: 0 5rem; grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
@media screen and (min-width: 990px) {
	.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr) 42rem; }
	.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
	.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 2; }
	.woocommerce-checkout #order_review { position: sticky; top: 10rem; align-self: start; }
}
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { width: 100%; float: none; }
.woocommerce-checkout h3 { font-size: 1.4rem; letter-spacing: 0.15em; text-transform: uppercase; margin: 2rem 0 1.6rem; }
.woocommerce-checkout #order_review { background: rgba(var(--color-foreground), 0.03); padding: 2rem; }
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; font-size: 1.4rem; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 1rem 0; text-align: left; border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08); vertical-align: top; }
.woocommerce table.shop_table td:last-child, .woocommerce table.shop_table th:last-child { text-align: right; }
.woocommerce table.shop_table .order-total { font-size: 1.6rem; }
.woocommerce table.shop_table .wc-item-meta { list-style: none; padding: 0; margin: 0.4rem 0 0; font-size: 1.2rem; }
.woocommerce table.shop_table .wc-item-meta p { display: inline; margin: 0; }
.woocommerce table.shop_table dl.variation { margin: 0.4rem 0 0; font-size: 1.2rem; color: rgba(var(--color-foreground), 0.75); }
.woocommerce table.shop_table dl.variation dt { float: left; clear: left; margin-right: 0.4rem; font-weight: 400; }
.woocommerce table.shop_table dl.variation dd { margin: 0; }
.woocommerce table.shop_table dl.variation p { margin: 0; }
.woocommerce-checkout-payment ul.payment_methods { list-style: none; padding: 0; margin: 2rem 0; }
.woocommerce-checkout-payment .wc_payment_method { padding: 1.2rem 0; border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08); }
.woocommerce-checkout-payment .payment_box { font-size: 1.3rem; padding: 1rem 0 0 2.4rem; color: rgba(var(--color-foreground), 0.75); }
.woocommerce-checkout-payment .payment_box p { margin: 0; }
.woocommerce-terms-and-conditions-wrapper, .woocommerce-privacy-policy-text { font-size: 1.2rem; }
.woocommerce-form-coupon-toggle, .woocommerce-form-login-toggle { margin-bottom: 2rem; }

/* ---------- Account ---------- */
/* Logged in: header, horizontal tabs, content (templates in woocommerce/myaccount/). */
.woocommerce-account .mpv-wc-page .woocommerce { display: block; }
.mpv-account { max-width: 96rem; margin: 0 auto; }
/* woocommerce-layout.css floats the nav (30%) and content (68%) side by side. */
.woocommerce-account .mpv-account .mpv-account__nav,
.woocommerce-account .mpv-account .mpv-account__content { float: none; width: auto; }
.mpv-account__header { text-align: center; margin: 1rem 0 3.2rem; }
.mpv-account__title { margin: 0; font-size: 1.4rem; letter-spacing: 0.2em; text-transform: uppercase; }
.mpv-account__hello { margin: 1.2rem 0 0; font-size: 2.4rem; color: rgb(var(--color-foreground)); }
.mpv-account__nav { margin-bottom: 4rem; }
/* Baseline drawn as an inset shadow so the active underline needs no negative margin
   (a 1px overflow plus overflow-x:auto used to show a vertical scrollbar). */
.mpv-account__nav ul { display: flex; justify-content: center; gap: 0 3.2rem; margin: 0; padding: 0; box-shadow: inset 0 -0.1rem 0 rgba(var(--color-foreground), 0.12); }
.mpv-account__nav li { margin: 0; }
@media screen and (min-width: 750px) { .mpv-account__nav ul { overflow: visible; } }
.mpv-account__nav a { display: block; padding: 1.4rem 0; border-bottom: 0.2rem solid transparent; color: rgba(var(--color-foreground), 0.65); text-decoration: none; font-size: 1.3rem; letter-spacing: 0.12em; text-transform: uppercase; white-space: nowrap; transition: color 0.15s, border-color 0.15s; }
.mpv-account__nav a:hover { color: rgb(var(--color-foreground)); }
.mpv-account__nav li.is-active a { color: rgb(var(--color-foreground)); border-bottom-color: rgb(var(--color-foreground)); }
.mpv-account__nav .woocommerce-MyAccount-navigation-link--customer-logout { margin-left: auto; }
@media screen and (max-width: 749px) {
	.mpv-account__nav ul { justify-content: flex-start; gap: 0 2.4rem; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
	.mpv-account__nav ul::-webkit-scrollbar { display: none; }
	.mpv-account__nav .woocommerce-MyAccount-navigation-link--customer-logout { margin-left: 0; }
}
.mpv-account__content > .woocommerce-message,
.mpv-account__content > .woocommerce-info,
.mpv-account__content > .woocommerce-error { margin-bottom: 2.4rem; }
/* WooCommerce "Confirm your email to link past orders" box: keep it, but quiet. */
.mpv-account__content .woocommerce-info { background: transparent; border-color: rgba(var(--color-foreground), 0.12); font-size: 1.3rem; }

/* Orders table */
.woocommerce-orders-table { width: 100%; border-collapse: collapse; font-size: 1.4rem; }
.woocommerce-orders-table thead th { padding: 0 1.2rem 1.2rem 0; text-align: left; font-weight: 400; font-size: 1.1rem; letter-spacing: 0.13em; text-transform: uppercase; color: rgba(var(--color-foreground), 0.75); border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.12); }
.woocommerce-orders-table td, .woocommerce-orders-table tbody th { padding: 1.8rem 1.2rem 1.8rem 0; text-align: left; font-weight: 400; border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08); vertical-align: middle; }
.woocommerce-orders-table th:last-child, .woocommerce-orders-table td:last-child { text-align: right; padding-right: 0; }
.woocommerce-orders-table__cell-order-number a { color: rgb(var(--color-foreground)); text-underline-offset: 0.3rem; }
.woocommerce-orders-table .button { min-height: 3.6rem; min-width: 0; padding: 0 1.6rem; font-size: 1.2rem; margin-left: 0.6rem; }
.woocommerce-orders-table__cell-order-status { color: rgba(var(--color-foreground), 0.75); }
@media screen and (max-width: 749px) {
	.woocommerce-orders-table thead { display: none; }
	.woocommerce-orders-table tr { display: block; padding: 1.6rem 0; border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.12); }
	.woocommerce-orders-table td, .woocommerce-orders-table tbody th { display: flex; justify-content: space-between; gap: 1.6rem; padding: 0.5rem 0; border: 0; text-align: right; }
	.woocommerce-orders-table td::before, .woocommerce-orders-table tbody th::before { content: attr(data-title); color: rgba(var(--color-foreground), 0.65); text-align: left; }
	.woocommerce-orders-table td:last-child { justify-content: flex-end; padding-top: 1.2rem; }
	.woocommerce-orders-table td:last-child::before { content: none; }
}
.woocommerce-MyAccount-orders-pagination, .woocommerce-pagination { margin-top: 2.4rem; display: flex; justify-content: space-between; }

/* Single order view */
.mpv-account__content .woocommerce-order-details__title,
.mpv-account__content .woocommerce-column__title { font-size: 1.3rem; letter-spacing: 0.13em; text-transform: uppercase; margin: 3.2rem 0 1.6rem; }
.mpv-account__content address { font-style: normal; line-height: 1.8; padding: 1.6rem 2rem; border: 0.1rem solid rgba(var(--color-foreground), 0.12); }
.mpv-account__content mark { background: none; color: rgb(var(--color-foreground)); font-weight: 700; }

/* Account details form */
.mpv-account-form { max-width: none; margin: 0; }
.mpv-account-form__section { padding: 0 0 3.2rem; margin: 0 0 3.2rem; border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08); }
.mpv-account-form__heading { display: flex; align-items: center; justify-content: space-between; margin: 0 0 2rem; font-size: 1.3rem; letter-spacing: 0.13em; text-transform: uppercase; color: rgb(var(--color-foreground)); cursor: default; list-style: none; }
.mpv-account-form__heading::-webkit-details-marker { display: none; }
.mpv-account-form__note { margin: -1rem 0 2rem; font-size: 1.3rem; color: rgba(var(--color-foreground), 0.65); }
.mpv-account-form__grid { display: grid; grid-template-columns: 1fr; gap: 0 2rem; }
@media screen and (min-width: 750px) { .mpv-account-form__grid { grid-template-columns: 1fr 1fr; } }
.mpv-account-form__wide { grid-column: 1 / -1; }
.woocommerce .mpv-account-form .form-row { width: auto; float: none; margin-bottom: 1.8rem; }
.mpv-account-form__password > summary { cursor: pointer; margin-bottom: 0; }
.mpv-account-form__password[open] > summary { margin-bottom: 2rem; }
.mpv-account-form__password .icon-caret { width: 1rem; transition: transform 0.2s; }
.mpv-account-form__password[open] .icon-caret { transform: rotate(180deg); }
.mpv-account-form__actions { margin: 0; }
.mpv-account-form__actions .button { min-width: 20rem; }
.woocommerce-account:not(.logged-in) .mpv-wc-page .woocommerce { display: block; }
.woocommerce-account #customer_login { display: grid; gap: 4rem 6rem; grid-template-columns: 1fr; }
@media screen and (min-width: 750px) { .woocommerce-account #customer_login { grid-template-columns: 1fr 1fr; } }
/* WooCommerce clearfix pseudo-elements would become grid cells. */
#customer_login::before, #customer_login::after { display: none; }
.woocommerce #customer_login .u-column1, .woocommerce #customer_login .u-column2 { width: auto; float: none; max-width: none; }
#customer_login .woocommerce-form { max-width: none; }
.woocommerce-account h2 { font-size: 1.6rem; letter-spacing: 0.1em; text-transform: uppercase; }
.woocommerce-Addresses { display: grid; gap: 3rem; grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr)); }
.woocommerce-orders-table .button { min-height: 3.5rem; padding: 0 1.5rem; font-size: 1.2rem; }

/* ---------- Notices ---------- */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message:focus, .woocommerce-info:focus, .woocommerce-error:focus, .woocommerce-notices-wrapper:focus { outline: none; box-shadow: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	list-style: none;
	margin: 0 0 2rem;
	padding: 1.4rem 1.8rem;
	font-size: 1.4rem;
	border: 0.1rem solid rgba(var(--color-foreground), 0.15);
	background: rgba(var(--color-foreground), 0.03);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.woocommerce-error { border-color: rgba(200, 0, 0, 0.35); background: rgba(200, 0, 0, 0.04); flex-direction: column; align-items: flex-start; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; min-height: 3.5rem; padding: 0 1.5rem; font-size: 1.2rem; }
.page-width > .woocommerce-notices-wrapper { padding-top: 2rem; }

/* ---------- Product share bar (inc/share.php) ---------- */
.mpv-share { display: flex; flex-wrap: wrap; align-items: center; gap: 1.2rem 1.6rem; margin-top: 2.4rem; padding-top: 2rem; border-top: .1rem solid rgba(var(--color-foreground), .08); }
.mpv-share__label { display: inline-flex; align-items: center; gap: .8rem; font-size: 12px; letter-spacing: .1rem; text-transform: uppercase; color: rgba(var(--color-foreground), .75); }
.mpv-share__label .icon { width: 1.4rem; height: 1.4rem; }
.mpv-share__list { display: flex; flex-wrap: wrap; gap: .8rem; margin: 0; }
.mpv-share__button { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 3.8rem; height: 3.8rem; padding: 0; border: .1rem solid rgba(var(--color-foreground), .2); border-radius: 50%; background: transparent; color: rgb(var(--color-foreground)); cursor: pointer; text-decoration: none; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.mpv-share__button .icon { width: 1.7rem; height: 1.7rem; }
.mpv-share__button:hover,
.mpv-share__button:focus-visible { background: rgb(var(--color-foreground)); border-color: rgb(var(--color-foreground)); color: rgb(var(--color-background)); }
.mpv-share__button:focus-visible { outline: .2rem solid rgba(var(--color-foreground), .5); outline-offset: .3rem; box-shadow: none; }
.mpv-share__button .mpv-share__done { display: none; }
.mpv-share--copied .mpv-share__button--copy .icon:not(.mpv-share__done) { display: none; }
.mpv-share--copied .mpv-share__button--copy .mpv-share__done { display: block; }
.mpv-share__message { flex-basis: 100%; margin: 0; min-height: 0; font-size: 12px; color: rgba(var(--color-foreground), .75); }
.mpv-share__message:empty { display: none; }

/* ---------- Product story (full description above the lifestyle photos) ---------- */
.section-product-note .rich-text__wrapper { width: 100%; }
.section-product-note .rich-text__blocks { max-width: none; width: 100%; text-align: left; }
.section-product-note .rich-text__text { max-width: none; }

/* ---------- Collection toolbar: filters, sort box and count on one centred line ---------- */
.facets-container .facets__form { align-items: center; }
.facets-container .facets__wrapper,
.facets-container .facet-filters,
.facets-container .product-count { align-self: center; }
.facet-filters__field .select__select.facet-filters__sort { padding-right: 4.4rem; }
.facet-filters__field .select .icon-caret,
.mobile-facets__sort .select .icon-caret { right: 1.6rem; }

/* ---------- Order received: WooCommerce marks the first line with class "order", which Dawn's
   customer.css styles as a page wrapper (padding 5rem, centred). Undo that inside the list. ---------- */
.woocommerce-order-overview li.order { max-width: none; margin: 0; padding-left: 0; padding-right: 0; }
