/* ==========================================================================
   AURA BY SARA — WordPress, WooCommerce and Elementor adjustments
   Loaded after styles.css / pages.css / animations.css (the static design system).
   ========================================================================== */

/* ---------- WordPress basics ---------- */
.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.screen-reader-text:focus { clip: auto; width: auto; height: auto; margin: 0; overflow: visible; position: fixed !important; top: 8px; left: 8px; z-index: 1000; padding: .8rem 1.2rem; background: var(--black); color: var(--white); font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; }
body { background: var(--white); }
body.admin-bar .site-header.is-over { top: calc(var(--announce-h) + 32px); }
body.admin-bar .site-header.is-over.is-scrolled { top: 32px; }
@media (max-width: 782px) { body.admin-bar .site-header.is-over { top: calc(var(--announce-h) + 46px); } body.admin-bar .site-header.is-over.is-scrolled { top: 46px; } }
.primary-nav ul.list-reset { display: flex; }
.primary-nav .menu-item { list-style: none; }
.footer__col ul, .footer__bottom ul { list-style: none; margin: 0; padding: 0; }
.p-card[hidden] { display: none !important; }
.page-content { padding-bottom: var(--section); }
.page-content > :where(p, ul, ol, h2, h3, h4, blockquote) { max-width: 46rem; }
.page-content > p, .page-content > ul, .page-content > ol { color: var(--grey); margin-bottom: 1rem; }
.page-content > h2 { font-size: var(--fs-h2); margin: 2.5rem 0 1rem; }
.page-content a:not(.btn):not(.chip) { text-decoration: underline; text-underline-offset: 3px; }
.page-content--elementor { padding-bottom: 0; }
.aura-elementor-main { display: block; }

/* Elementor sections built from Aura widgets sit edge to edge */
.elementor .e-con.aura-con { padding: 0; }
.elementor-widget[class*="elementor-widget-aura-"] { margin-block-end: 0 !important; }

/* Shop filters rendered as links */
.filter-block .legend { font-size: .64rem; letter-spacing: .24em; text-transform: uppercase; font-weight: 500; margin: 0 0 .8rem; }
.filter-block a.checkbox { color: inherit; }
.fake-radio, .fake-check { width: 18px; height: 18px; border: 1px solid var(--line-strong); display: grid; place-items: center; flex: none; }
.fake-radio { border-radius: 50%; }
.fake-radio::after, .fake-check::after { content: ''; width: 10px; height: 10px; background: var(--black); transform: scale(0); transition: transform .3s; }
.fake-radio::after { border-radius: 50%; }
.checkbox[aria-current="true"] .fake-radio::after, .checkbox[aria-current="true"] .fake-check::after { transform: scale(1); }
.checkbox:hover .fake-radio, .checkbox:hover .fake-check { border-color: var(--black); }
.shop__sort .woocommerce-ordering { margin: 0; }
.shop__sort select { min-width: 13rem; }
.active-filters .chip svg { width: 12px; height: 12px; }

/* Pagination */
.woocommerce-pagination { margin-top: 3.5rem; display: flex; justify-content: center; }
.woocommerce-pagination ul.page-numbers { display: flex; gap: .4rem; list-style: none; padding: 0; margin: 0; border: 0; }
.woocommerce-pagination .page-numbers li { border: 0; }
.woocommerce-pagination .page-numbers a, .woocommerce-pagination .page-numbers span { display: grid; place-items: center; min-width: 44px; height: 44px; border: 1px solid var(--line-strong); font-size: .8rem; }
.woocommerce-pagination .page-numbers .current { background: var(--black); color: var(--white); border-color: var(--black); }

/* ---------- Product page: WooCommerce variation form inside the Aura buy box ---------- */
.buy-box form.cart { display: grid; gap: 1rem; margin: 0; }
.buy-box table.variations { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.buy-box .single_variation_wrap { display: grid; gap: .8rem; }
.buy-box .woocommerce-variation-price, .buy-box .woocommerce-variation-description { display: none; }
.buy-box .woocommerce-variation-availability p.stock { font-size: .8rem; color: var(--grey); margin: 0; }
.buy-box .woocommerce-variation-availability p.out-of-stock { color: var(--error); }
.buy-box .woocommerce-variation-add-to-cart, .buy-box form.cart:not(.variations_form) { display: grid; grid-template-columns: auto 1fr auto; gap: .6rem; align-items: stretch; }
.buy-box .quantity { display: contents; }
.buy-box .quantity .qty { height: 56px; }
.buy-box .quantity input.qty { height: auto; padding: 0; }
.buy-box .single_add_to_cart_button.btn, .buy-box .single_add_to_cart_button { min-height: 56px; height: auto; white-space: normal; line-height: 1.3; }
.buy-box .single_add_to_cart_button.disabled { opacity: .55; cursor: pointer; }
.buy-box .pdp__wish { align-self: stretch; height: auto; }
.swatch.is-on::after { border-color: var(--black); }
.opt input:disabled + .size-btn { opacity: .35; text-decoration: line-through; pointer-events: none; }
@media (max-width: 480px) { .buy-box .single_add_to_cart_button { padding: 0 .9rem; letter-spacing: .14em; } }

/* ---------- WooCommerce buttons look like Aura buttons ---------- */
.woocommerce :is(a.button, button.button, input.button, #respond input#submit),
.woocommerce-page :is(a.button, button.button, input.button) {
  display: inline-flex; align-items: center; justify-content: center; gap: .7rem; min-height: 52px; padding: 0 2.1rem;
  background: var(--maroon); color: var(--white); border: 1px solid var(--maroon); border-radius: 0;
  font: 500 .7rem/1.2 var(--sans); letter-spacing: var(--track); text-transform: uppercase;
  transition: background-color .45s var(--ease), border-color .45s var(--ease);
}
.woocommerce :is(a.button, button.button, input.button):hover { background: var(--black); border-color: var(--black); color: var(--white); }
.woocommerce :is(a.button, button.button).alt { background: var(--maroon); border-color: var(--maroon); }
.woocommerce :is(a.button, button.button).alt:hover { background: var(--black); border-color: var(--black); }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { opacity: .5; padding: 0 2.1rem; }

/* Notices */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error),
:is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
  list-style: none; margin: 0 0 1.5rem; padding: 1rem 1.2rem; border: 1px solid var(--line); border-left: 3px solid var(--maroon);
  background: var(--beige-light); color: var(--ink); font-size: .9rem; display: block;
}
:is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a:not(.button) { text-decoration: underline; text-underline-offset: 3px; }
:is(.woocommerce-message, .woocommerce-info) .button { float: right; margin: -.4rem 0 -.4rem 1rem; }
.woocommerce-error { border-left-color: var(--error); }
:is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { display: none; }
:is(.woocommerce-message, .woocommerce-info) .button { min-height: 40px !important; padding: 0 1.2rem !important; }

/* Forms (cart, checkout, account) */
.aura-wc .form-row { display: grid; gap: .45rem; margin: 0 0 1rem; padding: 0; }
.aura-wc .form-row label { font-size: .64rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 450; line-height: 1.4; }
.aura-wc .form-row .required { color: var(--maroon); text-decoration: none; }
.aura-wc :is(input.input-text, textarea, select, .select2-container .select2-selection--single) {
  width: 100%; min-height: 50px; padding: .75rem 1rem; background: var(--white); border: 1px solid var(--line-strong); border-radius: 0; font: inherit; font-size: 1rem; color: var(--ink);
}
.aura-wc textarea { min-height: 110px; }
.aura-wc :is(input.input-text, textarea, select):focus { border-color: var(--black); outline: none; box-shadow: none; }
.aura-wc .select2-container .select2-selection--single { display: flex; align-items: center; height: 50px; }
.aura-wc .select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px; right: 8px; }
.aura-wc .form-row.woocommerce-invalid :is(input.input-text, select) { border-color: var(--error); }
@media (min-width: 600px) {
  .aura-wc .woocommerce-billing-fields__field-wrapper, .aura-wc .woocommerce-shipping-fields__field-wrapper, .aura-wc .woocommerce-address-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1rem; }
  .aura-wc .form-row-wide, .aura-wc #billing_address_1_field, .aura-wc #billing_address_2_field, .aura-wc #shipping_address_1_field, .aura-wc #shipping_address_2_field { grid-column: 1 / -1; }
}
.aura-wc .form-row-first, .aura-wc .form-row-last { width: auto; float: none; }

/* ---------- Cart page ---------- */
.aura-wc .woocommerce { display: block; }
.woocommerce-cart .aura-wc .woocommerce, .woocommerce-account .aura-wc .woocommerce { display: grid; gap: 2.5rem; }
@media (min-width: 1024px) {
  .woocommerce-cart .aura-wc .woocommerce { grid-template-columns: 1.6fr 1fr; gap: 4rem; align-items: start; }
  .woocommerce-cart .aura-wc .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
  .woocommerce-cart .aura-wc .cart-collaterals { position: sticky; top: calc(var(--header-h) + 1.5rem); }
}
.aura-wc table.shop_table { width: 100%; border: 0; border-collapse: collapse; border-radius: 0; margin: 0; font-size: .92rem; }
.aura-wc table.shop_table :is(th, td) { padding: 1.1rem .5rem; border: 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.aura-wc table.shop_table thead th { font-size: .62rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 500; color: var(--grey); }
.aura-wc table.cart .product-thumbnail { width: 110px; }
.aura-wc table.cart .product-thumbnail img { width: 92px; aspect-ratio: 3 / 4; object-fit: cover; background: var(--beige-light); }
.aura-wc table.cart .product-name a { font-family: var(--serif); font-size: 1.2rem; }
.aura-wc table.cart .product-name dl.variation { margin: .35rem 0 0; font-size: .78rem; color: var(--grey); display: flex; gap: .3rem; }
.aura-wc table.cart .product-name dl.variation :is(dt, dd) { margin: 0; }
.aura-wc table.cart .product-name dl.variation dd p { margin: 0; }
.aura-wc table.cart .product-remove a.remove { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; color: var(--grey) !important; font-size: 1.3rem; }
.aura-wc table.cart .product-remove a.remove:hover { background: var(--maroon); color: var(--white) !important; }
.aura-wc table.cart .quantity input.qty { width: 4.2rem; min-height: 44px; text-align: center; border: 1px solid var(--line-strong); }
.aura-wc table.cart td.actions { padding-top: 1.5rem; }
.aura-wc table.cart td.actions .coupon { display: flex; gap: .5rem; flex-wrap: wrap; align-items: stretch; }
.aura-wc table.cart td.actions .coupon .input-text { width: 13rem; min-height: 52px; }
.aura-wc table.cart td.actions > .button { float: right; background: transparent; color: var(--black); border-color: var(--line-strong); }
.aura-wc .cart-collaterals { width: 100%; }
.aura-wc .cart-collaterals .cart_totals { width: 100%; float: none; background: var(--beige-light); padding: 1.8rem var(--gutter); }
.aura-wc .cart_totals h2 { font-size: 1.9rem; margin-bottom: 1rem; }
.aura-wc .cart_totals table.shop_table :is(th, td) { padding: .8rem 0; }
.aura-wc .cart_totals .order-total :is(th, td) { font-family: var(--serif); font-size: 1.4rem; font-weight: 400; border-bottom: 0; }
.aura-wc .wc-proceed-to-checkout { display: grid; gap: .7rem; padding: 1rem 0 0; }
.aura-wc .wc-proceed-to-checkout a.checkout-button { width: 100%; margin: 0; font-size: .7rem; padding: 0 1rem; }
.aura-wc .aura-wa-btn { color: var(--black); }
.woocommerce ul#shipping_method { list-style: none; padding: 0; margin: 0; }
.woocommerce-shipping-destination, .woocommerce-shipping-calculator { font-size: .8rem; color: var(--grey); }
.price del, .woocommerce-Price-amount + del { color: var(--grey); }
.aura-wc .cart-empty.woocommerce-info { justify-content: center; }
.aura-wc .return-to-shop { text-align: center; }

/* ---------- Checkout ---------- */
@media (min-width: 1024px) {
  .woocommerce-checkout .aura-wc form.checkout { display: grid; grid-template-columns: 1.4fr 1fr; gap: 0 4rem; align-items: start; }
  .woocommerce-checkout .aura-wc form.checkout > #customer_details { grid-column: 1; grid-row: 1 / span 3; }
  .woocommerce-checkout .aura-wc form.checkout > #order_review_heading, .woocommerce-checkout .aura-wc form.checkout > #order_review { grid-column: 2; }
  .woocommerce-checkout .aura-wc #order_review { position: sticky; top: calc(var(--header-h) + 1.5rem); }
}
.aura-wc .col2-set { width: 100%; display: grid; gap: 2rem; }
.aura-wc .col2-set :is(.col-1, .col-2) { width: 100%; float: none; }
.aura-wc :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) h3,
.aura-wc #order_review_heading { font-family: var(--serif); font-size: 1.7rem; font-weight: 400; margin: 0 0 1.2rem; }
.aura-wc #order_review_heading { background: var(--beige-light); margin: 0; padding: 1.8rem var(--gutter) 0; }
.aura-wc #order_review { background: var(--beige-light); padding: 1rem var(--gutter) 1.8rem; }
.aura-wc #order_review table.shop_table :is(th, td) { padding: .8rem 0; }
.aura-wc #order_review .order-total :is(th, td) { font-family: var(--serif); font-size: 1.4rem; font-weight: 400; }
.aura-wc #payment { background: transparent; border-radius: 0; margin-top: 1rem; }
.aura-wc #payment ul.payment_methods { padding: 0 0 1rem; border-bottom: 1px solid var(--line); list-style: none; margin: 0; }
.aura-wc #payment ul.payment_methods li { padding: .5rem 0; }
.aura-wc #payment div.payment_box { background: var(--white); color: var(--grey); font-size: .85rem; border-radius: 0; }
.aura-wc #payment div.payment_box::before { border-bottom-color: var(--white); }
.aura-wc #payment .place-order { padding: 1rem 0 0; }
.aura-wc #payment #place_order { width: 100%; float: none; }
.aura-wc .woocommerce-privacy-policy-text, .aura-wc .woocommerce-terms-and-conditions-wrapper { font-size: .8rem; color: var(--grey); }
.aura-wc .woocommerce-form-coupon-toggle .woocommerce-info { margin-bottom: 1rem; }
.aura-wc form.checkout_coupon { border: 1px solid var(--line); border-radius: 0; padding: 1.2rem; margin: 0 0 1.5rem; }

/* Order received & account */
.aura-wc .woocommerce-order { display: grid; gap: 1.5rem; }
.aura-wc ul.order_details { list-style: none; padding: 1.5rem; margin: 0; background: var(--beige-light); display: flex; flex-wrap: wrap; gap: 1.2rem 2.5rem; }
.aura-wc ul.order_details li { border: 0; padding: 0; margin: 0; font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; color: var(--grey); }
.aura-wc ul.order_details li strong { display: block; margin-top: .35rem; font-family: var(--serif); font-size: 1.15rem; letter-spacing: 0; text-transform: none; color: var(--ink); }
.aura-wc .woocommerce-order-details h2, .aura-wc .woocommerce-customer-details h2, .aura-wc .woocommerce-column__title { font-size: 1.7rem; margin-bottom: 1rem; }
.aura-wc address { font-style: normal; border: 1px solid var(--line); border-radius: 0; padding: 1.2rem; }
@media (min-width: 1024px) {
  .woocommerce-account .aura-wc .woocommerce { grid-template-columns: 240px 1fr; gap: 4rem; align-items: start; }
}
.aura-wc .woocommerce-MyAccount-navigation, .aura-wc .woocommerce-MyAccount-content { width: 100%; float: none; }
.aura-wc .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; border-top: 1px solid var(--line); }
.aura-wc .woocommerce-MyAccount-navigation li a { display: block; padding: .9rem 0; border-bottom: 1px solid var(--line); font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; }
.aura-wc .woocommerce-MyAccount-navigation li.is-active a { color: var(--maroon); }
.aura-wc .u-columns { display: grid; gap: 3rem; }
@media (min-width: 768px) { .aura-wc .u-columns { grid-template-columns: 1fr 1fr; } }
.aura-wc .u-columns .col-1, .aura-wc .u-columns .col-2 { width: 100%; float: none; }
.aura-wc .u-columns h2 { font-size: 1.9rem; margin-bottom: 1rem; }
.aura-wc form.login, .aura-wc form.register { border: 1px solid var(--line); border-radius: 0; padding: 1.8rem; margin: 0; }

/* Wishlist page */
.aura-wishlist .empty-state .monogram { width: 40px; color: var(--sand); }

/* Elementor editor: reveal everything that waits for scroll animations */
.elementor-editor-active [data-reveal] { opacity: 1 !important; transform: none !important; clip-path: none !important; }
.elementor-editor-active .hero .hero__line > span, .elementor-editor-active .hero :is(.hero__eyebrow, .hero__lede, .hero__ctas, .hero__prices, .hero__stage) { opacity: 1 !important; transform: none !important; }

/* WooCommerce's stylesheet (bag, checkout, account) sets img { height:auto } on .woocommerce-page */
.woocommerce-page .site-header .brand__logo { height: 50px; width: auto; }
.woocommerce-page .footer__logo { height: auto; }
.woocommerce-page .cart-line__media img { width: 100%; height: 100%; object-fit: cover; }
.opt-group [data-size-host], .opt-group [data-size-error] { clear: both; }

.woocommerce-checkout .aura-wc hr, .woocommerce-checkout .aura-wc .woocommerce-form-login-toggle + .woocommerce-form-login[style*="none"] { display: none; }
.woocommerce-checkout .aura-wc form.checkout { margin-top: 1.5rem; }
/* WooCommerce clearfix pseudo-elements would become grid items */
.aura-wc :is(form.checkout, .col2-set, .woocommerce, .u-columns, .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper)::before,
.aura-wc :is(form.checkout, .col2-set, .woocommerce, .u-columns, .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper)::after { display: none; }
.aura-wc .woocommerce-input-wrapper { display: block; width: 100%; }
.aura-wc form.checkout { padding: 0; border: 0; }
.aura-wc form .form-row, .aura-wc form .form-row-first, .aura-wc form .form-row-last, .aura-wc form .form-row-wide { width: auto; float: none; margin-right: 0; }
.buy-box .woocommerce-variation-add-to-cart, .buy-box form.cart:not(.variations_form) { grid-template-columns: auto minmax(0, 1fr) auto; }
.buy-box .single_add_to_cart_button { min-width: 0; padding-inline: 1rem; }
.buy-box .single_variation_wrap, .buy-box form.cart { min-width: 0; }
@media (max-width: 400px) { .buy-box .qty { grid-template-columns: 34px 2.2rem 34px; } .buy-box .pdp__wish { width: 48px; } }
/* Elementor editor: show every hero slide's copy without waiting for the entrance animation */
.elementor-editor-active .hs__copy > * { opacity: 1 !important; transform: none !important; }
