/* Phase 8.3 — final targeted visual fixes before backend review. */

/* Accessible visual Universe selector used by Mon Mur. */
.manna-wall-universe-field { position: relative; z-index: 8; display: grid; grid-column: 1 / -1; gap: .35rem; font-size: .78rem; }
.manna-wall-field-label { font-weight: 650; }
.manna-universe-select { position: relative; }
.manna-universe-select-trigger { display: flex; width: 100%; min-height: 46px; align-items: center; justify-content: space-between; gap: 1rem; border: 1px solid rgb(255 255 255 / 42%); background: rgb(255 255 255 / 7%); color: #fff; padding: .65rem .8rem; text-align: left; }
.manna-universe-select-trigger svg { width: 18px; height: 18px; transition: transform var(--manna-transition); }
.manna-universe-select.is-open .manna-universe-select-trigger svg { transform: rotate(180deg); }
.manna-universe-select-trigger:focus-visible { outline-color: #fff; }
.manna-universe-select-options { position: absolute; z-index: 12; top: calc(100% + 6px); left: 0; width: 100%; max-height: 290px; overflow: auto; border: 1px solid var(--manna-line); background: var(--manna-ivory); color: var(--manna-ink); box-shadow: 0 18px 42px rgb(26 25 23 / 18%); padding: .35rem; }
.manna-universe-select-options[hidden] { display: none; }
.manna-universe-select-options [role="option"] { display: flex; width: 100%; min-height: 40px; align-items: center; border: 0; background: transparent; padding: .55rem .7rem; text-align: left; }
.manna-universe-select-options [role="option"]:hover,
.manna-universe-select-options [role="option"]:focus-visible { background: #eee7df; outline: 0; }
.manna-universe-select-options [role="option"][aria-selected="true"] { background: var(--manna-ink); color: #fff; }

/* Desktop Universe mega menu populated from the existing Manna API images. */
.manna-header { isolation: isolate; }
.manna-nav-list > li.manna-has-mega > ul { display: none !important; }
.manna-universe-mega { position: absolute; z-index: 3; top: 100%; left: 0; width: 100%; border-top: 1px solid var(--manna-line); border-bottom: 1px solid var(--manna-line); background: rgb(255 255 255 / 98%); box-shadow: 0 24px 48px rgb(26 25 23 / 12%); padding: 1.35rem 0 1rem; }
.manna-universe-mega[hidden] { display: none; }
.manna-universe-mega { max-height: calc(100svh - 130px); overflow-y: auto; overscroll-behavior: contain; }
@media (min-width: 1200px) {
  .manna-header-inner { grid-template-columns: 150px minmax(0, 1fr) auto; }
  .manna-desktop-nav > .manna-nav-list { gap: clamp(.85rem, 1.2vw, 1.35rem); }
  .manna-desktop-nav .manna-nav-list > li > a { font-size: .82rem; white-space: nowrap; }
}
.manna-universe-mega.is-open { animation: manna-mega-in 180ms ease both; }
.manna-universe-mega-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.manna-universe-mega-card { position: relative; min-height: 145px; overflow: hidden; background: var(--manna-ink); color: #fff; }
.manna-universe-mega-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 350ms ease; }
.manna-universe-mega-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgb(17 16 14 / 78%), rgb(17 16 14 / 4%) 70%); }
.manna-universe-mega-card span { position: absolute; z-index: 1; right: .85rem; bottom: .7rem; left: .85rem; display: flex; align-items: end; justify-content: space-between; gap: .6rem; }
.manna-universe-mega-card strong { font-family: var(--manna-font-editorial); font-size: 1.15rem; font-weight: 400; }
.manna-universe-mega-card small { white-space: nowrap; font-size: .65rem; opacity: .86; }
.manna-universe-mega-card:hover img,
.manna-universe-mega-card:focus-visible img { transform: scale(1.035); }
.manna-universe-mega-card:focus-visible { outline: 3px solid var(--manna-gold-light); outline-offset: 2px; }
.manna-universe-mega-all { display: inline-flex; align-items: center; gap: .55rem; margin-top: .85rem; border-bottom: 1px solid currentColor; padding-bottom: .15rem; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.manna-universe-mega-all svg { width: 18px; }
@keyframes manna-mega-in { from { opacity: 0; transform: translateY(-7px); } to { opacity: 1; transform: none; } }

/* Discover controls are attached to the carousel edges instead of the heading. */
.manna-swipe-shell { position: relative; width: min(100%, 1040px); }
.manna-swipe-shell .manna-swipe-track { width: 100%; }
.manna-swipe-arrow { position: absolute; z-index: 5; top: 50%; display: grid; width: 48px; height: 48px; place-items: center; transform: translateY(-50%); border: 1px solid var(--manna-line); border-radius: 50%; background: rgb(255 255 255 / 96%); color: var(--manna-ink); box-shadow: 0 10px 28px rgb(26 25 23 / 16%); transition: background var(--manna-transition), color var(--manna-transition), transform var(--manna-transition); }
.manna-swipe-arrow:hover { background: var(--manna-ink); color: #fff; transform: translateY(-50%) scale(1.05); }
.manna-swipe-arrow-prev { left: -24px; }
.manna-swipe-arrow-prev svg { transform: rotate(180deg); }
.manna-swipe-arrow-next { right: -24px; }

/* Product Zone A owns the sticky summary; Zone B is always normal full-width flow. */
.woocommerce div.product { display: block; }
.woocommerce div.product .manna-product-primary { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(390px, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.woocommerce div.product .manna-product-primary::after { content: none; }
.woocommerce div.product .manna-product-primary > .woocommerce-product-gallery,
.woocommerce div.product .manna-product-primary > .summary { min-width: 0; }
.woocommerce div.product .manna-product-primary > .summary { position: sticky; top: 104px; align-self: start; }
.admin-bar.woocommerce div.product .manna-product-primary > .summary { top: 136px; }
.woocommerce div.product .manna-product-content { position: static; width: 100%; clear: both; margin-top: clamp(3.5rem, 7vw, 7rem); }
.woocommerce div.product .manna-product-content > .woocommerce-tabs,
.woocommerce div.product .manna-product-content > .related,
.woocommerce div.product .manna-product-content > .up-sells { position: static; width: 100%; float: none; clear: both; }
.woocommerce div.product .manna-product-content > .woocommerce-tabs { border-top: 1px solid var(--manna-line); padding-top: 2rem; }
.woocommerce div.product .manna-product-content > .related,
.woocommerce div.product .manna-product-content > .up-sells { margin-top: clamp(3rem, 6vw, 5.5rem); }

/* Checkout editorial hierarchy; Woo fields and native inputs remain intact. */
.woocommerce-checkout .woocommerce > h1,
.woocommerce-checkout .manna-entry-content h1 { display: none; }
.woocommerce-checkout .manna-entry-content .manna-checkout-intro h1 { display: block; }
.manna-checkout-intro { max-width: 760px; margin: 0 0 clamp(2rem, 4vw, 3.5rem); }
.manna-checkout-intro .manna-eyebrow { margin-bottom: .55rem; }
.manna-checkout-intro h1 { margin-bottom: .25rem; font-size: clamp(2.7rem, 4vw, 3.8rem); }
.manna-checkout-intro > p:last-child { margin: 0; color: var(--manna-ink-soft); }
.woocommerce-checkout .woocommerce-billing-fields > h3 { display: none; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { display: block; }
.woocommerce-checkout .manna-checkout-fields { margin: 0 0 2rem; padding: 0 0 1.6rem; border-bottom: 1px solid var(--manna-line); }
.woocommerce-checkout .manna-checkout-fields:last-child { margin-bottom: 0; border-bottom: 0; padding-bottom: 0; }
.woocommerce-checkout .manna-checkout-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 { margin-bottom: 1rem; font-size: 1.6rem; }
.woocommerce-checkout .manna-checkout-fields > div { display: grid; grid-template-columns: 1fr 1fr; gap: .25rem 1rem; }
.woocommerce-checkout .manna-checkout-contact #billing_first_name_field,
.woocommerce-checkout .manna-checkout-contact #billing_last_name_field,
.woocommerce-checkout .manna-checkout-contact #billing_phone_field,
.woocommerce-checkout .manna-checkout-contact #billing_email_field { grid-column: auto; }
.woocommerce-checkout .manna-checkout-delivery #billing_country_field,
.woocommerce-checkout .manna-checkout-delivery #billing_address_1_field,
.woocommerce-checkout .manna-checkout-delivery #billing_address_2_field { grid-column: 1 / -1; }
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select { min-height: 50px; border-color: #dcd5cd; padding: .72rem .8rem; transition: border-color var(--manna-transition), box-shadow var(--manna-transition); }
.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout form .form-row select:focus { border-color: var(--manna-gold); box-shadow: 0 0 0 2px rgb(174 149 111 / 14%); outline: 0; }
.woocommerce-checkout form.checkout > #order_review_heading { font-size: 1.85rem; }
.woocommerce-checkout form.checkout > #order_review { top: 104px; background: #faf7f2; border-color: #e3dcd3; box-shadow: 0 16px 42px rgb(26 25 23 / 7%); }
.admin-bar.woocommerce-checkout form.checkout > #order_review { top: 136px; }
.manna-checkout-product { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: .7rem; align-items: center; }
.woocommerce-checkout .manna-checkout-product img { width: 54px; height: 66px; object-fit: cover; }
.woocommerce-checkout-review-order-table .product-name dl.variation { margin: .35rem 0 0 64px; font-size: .75rem; }
.woocommerce-checkout-review-order-table .product-name dl.variation dt { font-weight: 650; }
.woocommerce-checkout-review-order-table .product-name dl.variation dd { margin: 0 0 .2rem; }
.woocommerce-checkout #shipping_method { display: grid; gap: .55rem; }
.woocommerce-checkout #shipping_method li { position: relative; margin: 0; padding: 0; }
.woocommerce-checkout #shipping_method li input { position: absolute; top: 1rem; left: .8rem; margin: 0; accent-color: var(--manna-plum); }
.woocommerce-checkout #shipping_method li label { display: block !important; min-height: 46px; border: 1px solid var(--manna-line); background: #fff; padding: .75rem .8rem .75rem 2.25rem; cursor: pointer; line-height: 1.35; }
.woocommerce-checkout #shipping_method li:has(input:checked) label { border-color: var(--manna-plum); background: #f6eeee; box-shadow: inset 3px 0 0 var(--manna-plum); }
.woocommerce-checkout #payment { border: 0; background: transparent; }
.woocommerce-checkout #payment ul.payment_methods { padding: 0; border: 0; }
.woocommerce-checkout #payment ul.payment_methods > li { border: 1px solid var(--manna-line); background: #fff; padding: 1rem; }
.woocommerce-checkout #payment ul.payment_methods > li > input { accent-color: var(--manna-plum); }
.woocommerce-checkout #payment ul.payment_methods > li > label { font-family: var(--manna-font-editorial); font-size: 1.15rem; }
.woocommerce-checkout #payment div.payment_box { margin: .75rem 0 0; padding: .8rem; }
.woocommerce-checkout #payment .place-order { margin-top: 1rem; padding: 1rem 0 0; border-top: 1px solid var(--manna-line); }
.woocommerce-checkout #payment #place_order { min-height: 56px; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }
.woocommerce-checkout .woocommerce-Price-amount { white-space: nowrap; }

/* Cart receives the same integrated shipping radios without a redesign. */
.woocommerce-cart #shipping_method { display: grid; gap: .45rem; }
.woocommerce-cart #shipping_method li { position: relative; margin: 0; }
.woocommerce-cart #shipping_method li input { accent-color: var(--manna-plum); }
.woocommerce-cart #shipping_method li label { display: inline-block; padding: .25rem .4rem; border-radius: 2px; }
.woocommerce-cart #shipping_method li:has(input:checked) label { background: var(--manna-ivory); color: var(--manna-ink); }

@media (max-width: 1100px) and (min-width: 901px) {
  .manna-universe-mega-card { min-height: 125px; }
  .manna-swipe-arrow-prev { left: 8px; }
  .manna-swipe-arrow-next { right: 8px; }
}

@media (max-width: 900px) {
  .manna-universe-mega { display: none !important; }
  .manna-swipe-arrow { display: none; }
  .woocommerce div.product .manna-product-primary { grid-template-columns: 1fr; }
  .woocommerce div.product .manna-product-primary > .summary { position: static; top: auto; }
  .woocommerce div.product .manna-product-content { margin-top: 3rem; }
  .woocommerce-checkout form.checkout > #order_review { top: auto; }
}

@media (max-width: 640px) {
  .manna-wall-universe-field { grid-column: 1; }
  .manna-universe-select-options { position: fixed; z-index: var(--manna-z-modal); top: auto; right: .75rem; bottom: .75rem; left: .75rem; width: auto; max-height: min(62svh, 420px); border-radius: 8px; box-shadow: 0 24px 60px rgb(0 0 0 / 28%); }
  .manna-universe-select-options [role="option"] { min-height: 46px; }
  .woocommerce-checkout .manna-checkout-fields > div { grid-template-columns: 1fr; }
  .woocommerce-checkout .manna-checkout-fields .form-row { grid-column: 1 / -1 !important; }
  .manna-checkout-intro h1 { font-size: 2.65rem; }
  .manna-checkout-product { grid-template-columns: 44px minmax(0, 1fr); gap: .55rem; }
  .woocommerce-checkout .manna-checkout-product img { width: 44px; height: 54px; }
  .woocommerce-checkout-review-order-table .product-name dl.variation { margin-left: 0; }
}
/* Cart feedback occupies its own row, never an overlay on items, totals or CTAs. */
.manna-side-cart { grid-template-rows: auto minmax(0, 1fr) auto auto; height: 100dvh; }
.manna-side-cart .manna-cart-body { min-height: 0; }
.manna-cart-feedback:empty { display: none; }
.manna-cart-feedback > .manna-toast { position: static; z-index: auto; transform: none; margin: 0 1.5rem .75rem; padding: .7rem .85rem; max-width: none; text-align: center; pointer-events: none; }
.manna-side-cart > footer { padding-bottom: calc(1.2rem + var(--manna-cart-safe-bottom, env(safe-area-inset-bottom, 0px))); }
.manna-side-cart > footer .manna-button { min-height: 50px; padding: .85rem .45rem; width: 100%; font-size: .75rem; line-height: 1.4; text-align: center; }
.manna-side-cart > footer .manna-cart-continue { text-decoration: none; background: #fff; border: 1px solid var(--manna-ink); }
.manna-side-cart > footer .manna-button:focus-visible { outline: 2px solid var(--manna-plum); outline-offset: 3px; }
.manna-side-cart > footer .manna-cart-continue:hover { background: var(--manna-ink); color: #fff; }
