/* ==========================================================================
   NauticalMart theme — page shell + WooCommerce account / cart / checkout
   (component styles live in the NauticalMart Blocks plugin)
   ========================================================================== */

body { margin: 0; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
html { scroll-behavior: smooth; }
.nm-main { min-height: 40vh; }

/* Plain content dropped on a page without a layout block */
.nm-main > .wp-block-post-content > :where(:not([class*="nm-"]):not(.woocommerce):not(.alignfull)),
.nm-generic, .nm-404 { max-width: 900px; margin-inline: auto; padding-inline: 24px; box-sizing: border-box; }
.nm-main > .wp-block-post-content > :where(:not([class*="nm-"]):not(.woocommerce)) { margin-block: 18px; }
.nm-generic, .nm-404 { padding-block: 40px; }
.nm-404 .wp-block-button__link { background: #0b1f33; }

/* WooCommerce shell */
.nm-main > .wp-block-post-content > .woocommerce { max-width: none; padding: 14px clamp(24px, 5.200vw, 80px) 18px; box-sizing: border-box; background: #fbf6ee; }
.nm-auth-page .nm-main > .wp-block-post-content > .woocommerce { padding: 0; }
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error,
.nm-product .woocommerce-message, .nm-product .woocommerce-info, .nm-product .woocommerce-error { list-style: none; margin: 0 0 14px; padding: 13px 18px; border: 0; border-left: 4px solid #15a34a; border-radius: 4px; background: #e6f7ec; color: #0b3b1c; font-size: 14.5px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.woocommerce .woocommerce-message::before, .woocommerce .woocommerce-info::before, .woocommerce .woocommerce-error::before, .nm-product .woocommerce-message::before { content: none; display: none; }
.woocommerce .woocommerce-info { border-left-color: #0b5cab; background: #e8f1fb; color: #0b2c4d; }
.woocommerce .woocommerce-error, .nm-product .woocommerce-error { border-left-color: #e02424; background: #fde8e8; color: #7a1414; }
.woocommerce .woocommerce-error li { list-style: none; margin: 0; }
.woocommerce .woocommerce-message .button, .woocommerce .woocommerce-info .button, .nm-product .woocommerce-message .button { order: 2; margin-left: auto; padding: 8px 16px; border-radius: 4px; background: #0b1f33; color: #fff; font-weight: 600; font-size: 13px; text-decoration: none; }
.woocommerce a { text-decoration: none; }

/* Generic WooCommerce forms (edit address, lost password, view order) */
.woocommerce form .form-row { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; padding: 0; float: none; width: auto; }
.woocommerce form .form-row label { font: 600 14px Inter, sans-serif; color: #1a2433; line-height: 1.4; }
.woocommerce form .form-row .required { color: #e02424; text-decoration: none; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single { width: 100%; min-height: 44px; padding: 10px 14px; border: 1px solid #d6dbe1; border-radius: 4px; background: #fff; font: 400 14px Inter, sans-serif; color: #1a2433; box-sizing: border-box; box-shadow: none; outline: none; }
.woocommerce .select2-container .select2-selection--single { padding: 0 14px; display: flex; align-items: center; height: 44px; }
.woocommerce .select2-container .select2-selection__rendered { padding: 0; line-height: 1.4; color: #1a2433; }
.woocommerce .select2-container .select2-selection__arrow { height: 42px; right: 8px; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { border-color: #0b1f33; box-shadow: 0 0 0 3px rgba(11, 31, 51, .08); }
.woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: #e02424; }
.woocommerce .woocommerce-input-wrapper { width: 100%; }
.woocommerce form .form-row .checkbox, .woocommerce form .form-row label.checkbox { flex-direction: row; display: inline-flex; align-items: center; gap: 10px; font-weight: 400; }
.woocommerce form .form-row input[type="checkbox"] { width: 18px; height: 18px; accent-color: #0b1f33; margin: 0; }
.woocommerce .button:where(:not(.nm-btn)), .woocommerce button.button:where(:not(.nm-btn)), .woocommerce-Button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 24px; border: 0; border-radius: 4px; background: #0b1f33; color: #fff; font: 600 14px Inter, sans-serif; cursor: pointer; text-decoration: none; }
.woocommerce .button:where(:not(.nm-btn)):hover { background: #13304d; color: #fff; }
.woocommerce-address-fields__field-wrapper, .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: repeat(12, 1fr); gap: 0 20px; }
.woocommerce-address-fields__field-wrapper > .form-row, .woocommerce-billing-fields__field-wrapper > .form-row, .woocommerce-shipping-fields__field-wrapper > .form-row { grid-column: span 12; }
.woocommerce-address-fields__field-wrapper > .form-row-first, .woocommerce-address-fields__field-wrapper > .form-row-last { grid-column: span 6; }
.nm-account__content > form:not(.nm-form), .nm-account__content > .woocommerce-order-details, .nm-account__content > .woocommerce-customer-details, .woocommerce-ResetPassword, .nm-account__content > p, .nm-account__content > .woocommerce-table { background: #fff; border: 1px solid #f0e6d8; border-radius: 6px; padding: 22px; margin: 0 0 14px; box-sizing: border-box; }
.nm-account__content > form:not(.nm-form) h2, .nm-account__content > form:not(.nm-form) h3, .woocommerce-order-details__title, .woocommerce-column__title { font: 700 22px "Playfair Display", serif; color: #0b1f33; margin: 0 0 14px; }
.woocommerce-ResetPassword { max-width: 560px; margin: 40px auto; }
.woocommerce table.shop_table:where(:not(.nm-carttable)) { width: 100%; border-collapse: collapse; font-size: 14px; }
.woocommerce table.shop_table:where(:not(.nm-carttable)) th, .woocommerce table.shop_table:where(:not(.nm-carttable)) td { padding: 10px 12px; border-bottom: 1px solid #f0e9de; text-align: left; }
.woocommerce table.shop_table:where(:not(.nm-carttable)) thead th { background: #f6f7f9; color: #0b1f33; }
.woocommerce-customer-details address { font-style: normal; line-height: 1.6; }
.nm-vieworder__track { margin-bottom: 14px; }
.nm-vieworder__track h3 { font: 700 20px "Playfair Display", serif; color: #0b1f33; margin: 0 0 16px; }
mark.order-number, mark.order-date, mark.order-status { background: none; font-weight: 700; color: #0b1f33; }

/* ── My Account ─────────────────────────────────────────────────────────── */
.nm-account { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 18px; align-items: start; }
.nm-account__nav { padding: 18px 12px 30px 0; align-self: stretch; }
.nm-profile { display: flex; gap: 16px; align-items: center; padding: 4px 16px 20px 24px; }
.nm-profile div { display: flex; flex-direction: column; min-width: 0; }
.nm-profile strong { font-size: 17px; color: #0b1f33; }
.nm-profile span { font-size: 14px; color: #5b6573; overflow: hidden; text-overflow: ellipsis; }
.nm-profile a { font-size: 14px; color: #0b5cab; text-decoration: underline; text-underline-offset: 3px; display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; }
.nm-avatar { display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; overflow: hidden; flex: none; background: #dfe3ea; color: #0b1f33; }
.nm-avatar img { width: 100%; height: 100%; object-fit: cover; }
.nm-accnav ul { list-style: none; margin: 0; padding: 0; }
.nm-accnav a { display: flex; align-items: center; gap: 22px; padding: 11px 16px 11px 24px; font-size: 16.5px; color: #1a2433; border-left: 3px solid transparent; border-radius: 0 5px 5px 0; }
.nm-accnav li + li a { box-shadow: inset 0 1px 0 #f2ebe0; }
.nm-accnav a:hover { color: #8b4513; }
.nm-accnav .is-active a { background: linear-gradient(90deg, #fde9cf, #fdf3e5); border-left-color: #b5651d; box-shadow: none; }
.nm-accnav .is-active a .nm-icon--home { fill: currentColor; }
.nm-acc-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin: 4px 0 12px; }
.nm-acc-head h2 { font: 700 29px/1.2 "Playfair Display", serif; color: #0b1f33; margin: 0; }
.nm-acc-head p { font-size: 15px; margin: 4px 0 0; color: #1a2433; }
.nm-acc-head__tools { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.nm-acc-head__tools .nm-minisearch { width: 360px; max-width: 100%; }

.nm-welcome { position: relative; overflow: hidden; border-radius: 6px; padding: 20px 28px; margin-bottom: 14px; background: linear-gradient(90deg, #fdf0df, #fbe7d1); }
.nm-welcome::after { content: ""; position: absolute; inset: 0 0 0 46%; background: var(--nm-art) right center/cover no-repeat; mix-blend-mode: multiply; }
.nm-welcome > * { position: relative; z-index: 1; margin: 0; }
.nm-welcome__hi { font: 600 20px "Playfair Display", serif; color: #0b1f33; }
.nm-welcome h2 { font: 700 36px/1.15 "Playfair Display", serif; color: #0b1f33; }
.nm-welcome p:last-child { font-size: 15.5px; max-width: 470px; line-height: 1.3; margin-top: 4px; }
.nm-dash { display: grid; grid-template-columns: minmax(0, 1.300fr) minmax(0, 1fr); gap: 14px; }
.nm-dash .nm-panel { padding: 12px 14px; }
.nm-tablewrap { overflow-x: auto; }
.nm-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.nm-table th { background: #f4f5f7; text-align: left; font-weight: 500; padding: 8px 10px; color: #1a2433; }
.nm-table td { padding: 9px 10px; border-bottom: 1px solid #f1ede6; white-space: nowrap; }
.nm-table tr:last-child td { border: 0; }
.nm-dashwish { list-style: none; margin: 0; padding: 0; }
.nm-dashwish li { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto auto auto; align-items: center; gap: 12px; padding: 7px 0; }
.nm-dashwish__img { width: 72px; height: 58px; border-radius: 4px; overflow: hidden; background: #f7f2ea; }
.nm-dashwish__img img { width: 100%; height: 100%; object-fit: cover; }
.nm-dashwish__name { font-size: 13px; line-height: 1.3; color: #1a2433; }
.nm-dashwish__price { display: flex; flex-direction: column; font-size: 14px; }
.nm-dashwish .nm-stock { font-size: 11px; }
.nm-addrs { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.nm-addr { border: 1px solid #efe7db; border-radius: 6px; padding: 14px 18px; font-size: 14.5px; }
.nm-addr strong { display: block; margin: 8px 0 2px; font-size: 15px; color: #0b1f33; }
.nm-addr p { margin: 0 0 4px; color: #4b5563; line-height: 1.25; }
.nm-addr__actions { display: flex; align-items: center; gap: 12px; margin-top: 8px !important; }
.nm-addr__actions a { color: #0b5cab; text-decoration: underline; text-underline-offset: 3px; }
.nm-addr__actions i { width: 1px; height: 14px; background: #9aa3ae; }
.nm-dl { display: grid; grid-template-columns: 170px minmax(0, 1fr); margin: 0; font-size: 13.5px; }
.nm-dl dt, .nm-dl dd { margin: 0; padding: 6px 4px; border-top: 1px solid #f1ede6; }
.nm-dl dd a { color: #0b5cab; }

.nm-orders { display: flex; flex-direction: column; gap: 10px; }
.nm-order { display: grid; grid-template-columns: 90px 150px 96px minmax(250px, 1fr) 110px auto; align-items: center; gap: 16px; padding: 6px 12px 6px 10px; }
.nm-order[hidden] { display: none; }
.nm-order__img { width: 90px; height: 78px; display: block; }
.nm-order__img img { width: 100%; height: 100%; object-fit: contain; }
.nm-order__id strong { display: flex; align-items: center; gap: 8px; font-size: 15px; color: #0b1f33; white-space: nowrap; }
.nm-order__id span { font-size: 14px; color: #5b6573; }
.nm-copy { border: 0; background: none; padding: 2px; color: #5b6573; display: inline-flex; cursor: pointer; }
.nm-order__total { display: flex; flex-direction: column; }
.nm-order__total strong { font-size: 15px; color: #0b1f33; }
.nm-order__total span { font-size: 13.5px; color: #5b6573; }
.nm-order__actions { display: flex; gap: 10px; }
.nm-order__actions .nm-btn { min-width: 104px; }

.nm-wishgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.nm-wishcard { position: relative; background: #fff; border: 1px solid #f0e6d8; border-radius: 5px; overflow: hidden; display: flex; flex-direction: column; }
.nm-wishcard[hidden] { display: none; }
.nm-wishcard__img { display: block; aspect-ratio: 251 / 232; background: #f3ece2; }
.nm-wishcard__img img { width: 100%; height: 100%; object-fit: cover; }
.nm-wishcard__body { padding: 10px 16px 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.nm-wishcard h3 { font: 700 17px/1.25 "Playfair Display", serif; color: #0b1f33; margin: 0; min-height: 42px; }
.nm-wishcard .nm-price__now { font-size: 18px; }
.nm-wishcard .nm-btn { margin-top: 6px; min-height: 36px; }
.nm-wishcard .nm-stock + .nm-btn { margin-top: 12px; }

.nm-addrgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.nm-addrcard { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 22px; padding: 16px 18px; font-size: 16px; position: relative; }
.nm-addrcard.is-default { background: linear-gradient(135deg, #fef5e9, #fdebd6); border-color: #f5dcbb; }
.nm-addrcard__icon { width: 54px; height: 54px; border-radius: 50%; background: #eef0f3; color: #0b1f33; display: inline-flex; align-items: center; justify-content: center; }
.nm-addrcard.is-default .nm-addrcard__icon { background: #fbdcae; color: #a0521a; }
.nm-addrcard strong { display: block; font-size: 17px; color: #0b1f33; margin: 8px 0 4px; }
.nm-addrcard p { margin: 0 0 6px; color: #4b5563; line-height: 1.25; }
.nm-addrcard__phone { display: flex; align-items: center; gap: 8px; }
.nm-addrcard__actions { display: flex; align-items: center; gap: 30px; margin-top: 10px !important; }
.nm-addrcard__actions .nm-btn { min-width: 130px; }
.nm-addrcard__actions .nm-link { display: inline-flex; align-items: center; gap: 12px; font-weight: 600; font-size: 14.5px; }
.nm-addrtitle { font: 600 15px Inter, sans-serif; color: #1a2433; margin: 22px 0 14px; padding-top: 10px; border-top: 1px solid #ece4d8; }

.nm-details { display: grid !important; grid-template-columns: minmax(0, 1fr) 336px; gap: 16px; align-items: start; }
.nm-details__main, .nm-details__side { display: flex; flex-direction: column; gap: 14px; }
.nm-details .nm-panel { padding: 12px 20px 16px; }
.nm-details .nm-panel__title { margin-bottom: 12px !important; padding-bottom: 8px; }
.nm-details .nm-form__row { margin-bottom: 14px; gap: 28px; }
.nm-details .nm-form input, .nm-details .nm-form select { min-height: 40px; }
.nm-details .nm-check { font-size: 12.5px; }
.nm-photo { text-align: center; }
.nm-photo .nm-panel__title { text-align: left; }
.nm-photo .nm-avatar { margin: 0 auto 10px; display: flex; }
.nm-photo__btn { min-width: 190px; cursor: pointer; }
.nm-photo small { display: block; margin-top: 10px; font-size: 11.5px; color: #5b6573; }
.nm-summarycard dl { display: grid; grid-template-columns: 124px minmax(0, 1fr); gap: 12px 0; margin: 0 0 14px; font-size: 13px; }
.nm-summarycard dt { display: flex; align-items: center; gap: 12px; color: #5b6573; }
.nm-summarycard dd { margin: 0; font-weight: 600; color: #0b1f33; overflow: hidden; text-overflow: ellipsis; }
.nm-loyal { display: flex; gap: 14px; align-items: center; background: linear-gradient(135deg, #fdf0df, #fbe6d0); border-radius: 5px; padding: 12px 14px; }
.nm-loyal span { width: 48px; height: 48px; border-radius: 50%; background: #fbdcae; color: #a0521a; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.nm-loyal strong { color: #a0521a; font-size: 14.5px; }
.nm-loyal p { margin: 2px 0 0; font-size: 12.5px; line-height: 1.4; color: #4b5563; }

.nm-pw { display: grid; grid-template-columns: minmax(0, 1.420fr) minmax(0, 1fr); gap: 16px; align-items: stretch; }
.nm-pw__form { padding: 26px 24px 34px; }
.nm-pw__head { display: flex; gap: 22px; align-items: center; padding-bottom: 22px; margin-bottom: 26px; border-bottom: 1px solid #efe7db; }
.nm-pw__head .nm-icon { color: #0b1f33; }
.nm-pw__head h2, .nm-notif__head h2 { font: 700 23px "Playfair Display", serif; color: #0b1f33; margin: 0; }
.nm-pw__head p, .nm-notif__head p { margin: 2px 0 0; font-size: 15px; color: #5b6573; }
.nm-pw .nm-form { gap: 18px; padding-inline: 20px; }
.nm-pw .nm-form .nm-btn { align-self: flex-start; min-width: 298px; margin-top: 10px; }
.nm-meter { display: grid; grid-template-columns: repeat(4, 1fr) auto; gap: 6px; align-items: center; margin-top: -6px; min-height: 18px; }
.nm-meter i { height: 5px; border-radius: 3px; background: #e3e6ea; }
.nm-meter span { font-size: 13.5px; font-weight: 500; padding-left: 8px; min-width: 110px; text-align: right; }
.nm-meter[data-score="1"] i:nth-child(-n+1) { background: #e02424; }
.nm-meter[data-score="2"] i:nth-child(-n+2) { background: #f59e0b; }
.nm-meter[data-score="3"] i:nth-child(-n+3) { background: #84cc16; }
.nm-meter[data-score="4"] i { background: #16a34a; }
.nm-meter[data-score="4"] span { color: #16a34a; }
.nm-pw__tips { padding: 24px 22px; position: relative; overflow: hidden; }
.nm-pw__tips h3 { display: flex; align-items: center; gap: 14px; font: 700 19px "Playfair Display", serif; color: #0b1f33; margin: 0 0 16px; }
.nm-pw__secure { display: flex; gap: 14px; margin-top: 24px; padding-top: 24px; border-top: 1px solid #efe7db; }
.nm-pw__secure h3 { margin: 0 0 6px; }
.nm-pw__secure p { margin: 0; font-size: 15px; line-height: 1.4; }
.nm-pw__art { mix-blend-mode: multiply; margin-top: 10px; width: 100%; max-width: 400px; }

.nm-notif { display: grid; grid-template-columns: minmax(0, 1fr) 354px; gap: 20px; align-items: start; }
.nm-notif__main { padding: 14px 0 6px; }
.nm-notif__head { display: flex; align-items: center; gap: 18px; padding: 0 14px 12px 22px; }
.nm-notif__head > div { flex: 1; }
.nm-notif .nm-utabs { padding: 0 16px; margin-bottom: 8px; }
.nm-notif__list { list-style: none; margin: 0; padding: 0 2px; }
.nm-notif__list li { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto auto; align-items: center; gap: 20px; padding: 8px 20px; border-bottom: 1px solid #f1ede6; }
.nm-notif__list li[hidden] { display: none; }
.nm-notif__icon { width: 52px; height: 52px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.nm-tone--green { background: #dff5e6; color: #15803d; }
.nm-tone--blue { background: #dfe9fb; color: #1d4ed8; }
.nm-tone--red { background: #fde2e2; color: #dc2626; }
.nm-tone--gold { background: #fdecc8; color: #c27a10; }
.nm-tone--purple { background: #ebe3fb; color: #6d28d9; }
.nm-notif__text strong { display: block; font-size: 15px; color: #0b1f33; }
.nm-notif__text span { font-size: 13px; color: #4b5563; }
.nm-notif__list time { font-size: 12.5px; color: #5b6573; white-space: nowrap; }
.nm-notif__actions { display: flex; align-items: center; gap: 10px; min-width: 130px; justify-content: flex-end; }
.nm-notif__dot { width: 9px; height: 9px; border-radius: 50%; background: #1d6fe0; display: none; }
.nm-notif__list .is-unread .nm-notif__dot { display: block; }
.nm-notif__list li:not(.is-unread) .nm-notif__read { display: none; }
.nm-notif__del { border: 0; background: none; color: #9aa3ae; cursor: pointer; padding: 4px; display: inline-flex; }
.nm-notif__del:hover { color: #e02424; }
.nm-notif__side { display: flex; flex-direction: column; gap: 14px; }
.nm-prefs { padding: 16px 16px 6px; }
.nm-prefs__head { display: flex; gap: 14px; margin-bottom: 8px; }
.nm-prefs__head .nm-icon { color: #b5651d; }
.nm-prefs h3 { font: 700 16.5px "Playfair Display", serif; color: #0b1f33; margin: 0; }
.nm-prefs p { margin: 2px 0 0; font-size: 12.5px; color: #5b6573; }
.nm-prefs ul { list-style: none; margin: 0; padding: 0; }
.nm-prefs li { display: flex; align-items: center; gap: 18px; padding: 13px 0; border-top: 1px solid #f1ede6; }
.nm-prefs li > div { flex: 1; }
.nm-prefs li strong { display: block; font-size: 14px; color: #0b1f33; }
.nm-prefs li span { font-size: 12.5px; color: #5b6573; }
.nm-tip { display: flex; gap: 16px; }
.nm-tip .nm-icon { color: #b5651d; }
.nm-tip strong { color: #b5651d; font-size: 15px; }
.nm-tip p { margin: 4px 0 0; font-size: 13.5px; line-height: 1.4; }

/* ── Cart ───────────────────────────────────────────────────────────────── */
.nm-cart { display: grid; grid-template-columns: minmax(0, 1fr) 358px; gap: 18px; align-items: start; }
.nm-cart__main { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.nm-cart .woocommerce-cart-form { padding: 12px 14px 14px; margin: 0; }
.nm-cart__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 4px; }
.nm-cart__head h2 { display: flex; align-items: center; gap: 14px; font: 700 23px "Playfair Display", serif; color: #0b1f33; margin: 0; }
.nm-cart__head a { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: #0b1f33; padding-right: 18px; }
.nm-carttable { width: 100%; border-collapse: collapse; border: 0 !important; margin: 0 !important; }
.nm-carttable th { font: 500 14px Inter, sans-serif; text-align: left; padding: 0 10px; color: #1a2433; height: 0; line-height: 0; border: 0; }
.nm-carttable thead th span:not(.screen-reader-text) { line-height: 1.4; }
.nm-carttable thead tr { position: relative; }
.nm-carttable thead th { position: relative; top: 34px; z-index: 1; line-height: 1.4; }
.nm-carttable td { padding: 9px 10px; border: 0; border-bottom: 1px solid #f1ede6; vertical-align: middle; }
.nm-carttable .product-thumbnail { width: 128px; padding-left: 2px; }
.nm-carttable .product-thumbnail img { width: 124px; height: 92px; object-fit: cover; border-radius: 4px; display: block; }
.nm-carttable .product-name { width: 34%; }
.nm-carttable__name { display: block; font: 700 16.5px/1.25 "Playfair Display", serif; color: #0b1f33; max-width: 240px; }
.nm-carttable__sku { display: block; font-size: 14px; color: #5b6573; margin: 4px 0; }
.nm-carttable .product-price, .nm-carttable .product-subtotal { font: 700 18px Inter, sans-serif; color: #0b1f33; padding-top: 34px; }
.nm-carttable td.product-quantity { padding-top: 34px; }
.nm-carttable .product-remove { width: 170px; }
.nm-carttable .product-remove a { display: flex; align-items: center; gap: 12px; font-size: 13px; color: #1a2433; padding: 5px 0; width: auto; height: auto; text-align: left; border-radius: 0; font-weight: 400; line-height: 1.3; }
.nm-carttable .product-remove a.remove { color: #e02424 !important; background: none !important; font-size: 14px; }
.nm-carttable .product-remove a:hover { text-decoration: underline; }
.nm-carttable__actions td { display: none; }
.nm-cart__extras { display: grid; grid-template-columns: minmax(0, 1.900fr) minmax(0, 1fr); gap: 20px; margin-top: 12px; }
.nm-coupon { display: flex; align-items: center; gap: 16px; border: 1px solid #e6e2da; border-radius: 6px; padding: 10px 24px; flex-wrap: wrap; }
.nm-coupon label { display: inline-flex; align-items: center; gap: 12px; font: 700 16px "Playfair Display", serif; color: #0b1f33; }
.nm-coupon__field { display: flex; flex: 1; min-width: 200px; max-width: 330px; }
.nm-coupon__field input { border-radius: 4px 0 0 4px !important; border-right: 0 !important; min-height: 40px !important; }
.nm-coupon__field .nm-btn { border-radius: 0 4px 4px 0; min-height: 40px; padding-inline: 26px; font-size: 15px; }
.nm-offer { display: flex; align-items: center; gap: 14px; background: linear-gradient(90deg, #fdf0df, #fbe7d1); border-radius: 6px; padding: 8px 14px 8px 6px; }
.nm-offer > span { width: 58px; height: 58px; border-radius: 50%; background: #fbe0bd; color: #a0521a; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.nm-offer strong { color: #a0521a; font-size: 14.5px; }
.nm-offer p { margin: 2px 0 0; font-size: 13px; line-height: 1.5; }
.nm-alsorow { position: relative; padding: 10px 14px 14px; }
.nm-alsorow h2 { font: 700 21px "Playfair Display", serif; color: #0b1f33; margin: 0 0 8px; }
.nm-alsorow__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 16px) / 4); gap: 16px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; }
.nm-alsorow__track::-webkit-scrollbar { display: none; }
.nm-minicard { position: relative; display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; align-items: center; border: 1px solid #f0e9de; border-radius: 5px; padding: 8px 8px 8px 34px; scroll-snap-align: start; background: #fff; }
.nm-minicard__img { width: 92px; height: 98px; border-radius: 4px; overflow: hidden; background: #f3ece2; }
.nm-minicard__img img { width: 100%; height: 100%; object-fit: cover; }
.nm-minicard > div { display: flex; flex-direction: column; gap: 3px; align-items: flex-start; min-width: 0; }
.nm-minicard__name { font: 700 12.5px/1.25 "Playfair Display", serif; color: #0b1f33; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: calc(100% - 22px); }
.nm-minicard .nm-price__now { font-size: 14px; }
.nm-minicard .nm-stars .nm-icon { width: 11px; height: 11px; }
.nm-minicard .nm-rating { font-size: 11px; }
.nm-minicard .nm-wish { position: absolute; right: 4px; top: 2px; width: 26px; height: 26px; }
.nm-minicard .nm-wish .nm-icon { width: 17px; height: 17px; }
.nm-alsorow__arrow { position: absolute; z-index: 2; top: 56%; width: 44px; height: 44px; border-radius: 50%; border: 0; background: #fff; color: #0b1f33; box-shadow: 0 2px 10px rgba(11, 31, 51, .2); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.nm-alsorow__arrow--prev { left: -6px; }
.nm-alsorow__arrow--next { right: -6px; }
.nm-totals { padding: 18px 18px 20px; }
.nm-totals h2 { display: flex; align-items: center; gap: 14px; font: 700 21px "Playfair Display", serif; color: #0b1f33; margin: 0 0 24px; }
.nm-totals__rows { display: grid; grid-template-columns: 1fr auto; gap: 14px 10px; margin: 0; font-size: 14.5px; }
.nm-totals__rows dt { display: flex; align-items: center; gap: 8px; color: #1a2433; }
.nm-totals__rows dd { margin: 0; text-align: right; color: #1a2433; }
.nm-hint { display: inline-flex; color: #5b6573; cursor: help; }
.nm-totals__total { display: flex; justify-content: space-between; align-items: flex-start; margin: 26px 0 18px; }
.nm-totals__total > span { font: 700 22px "Playfair Display", serif; color: #0b1f33; padding-top: 6px; }
.nm-totals__total > strong { font: 700 28px Inter, sans-serif; color: #0b1f33; text-align: right; display: flex; flex-direction: column; }
.nm-totals__total small { font-size: 12.5px; font-weight: 400; color: #1a2433; }
.nm-totals__total .includes_tax { display: none; }
.wc-proceed-to-checkout { padding: 0 !important; margin: 0; }
.nm-or { display: flex; align-items: center; gap: 12px; color: #5b6573; font-size: 13px; margin: 14px 40% 14px !important; white-space: nowrap; }
.nm-or::before, .nm-or::after { content: ""; flex: 1; height: 1px; background: #c9b79c; min-width: 16px; }
.nm-trust { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.nm-trust li { display: flex; align-items: center; gap: 28px; padding-left: 6px; }
.nm-trust .nm-icon { color: #b5651d; }
.nm-trust strong { display: block; font-size: 14.5px; color: #0b1f33; }
.nm-trust span { font-size: 14px; color: #4b5563; }
.cart-empty.woocommerce-info { justify-content: center; font-size: 17px; padding: 40px; background: #fff; border: 1px solid #f0e6d8; color: #0b1f33; }
.return-to-shop { text-align: center; }

/* ── Checkout ───────────────────────────────────────────────────────────── */
.nm-steps { list-style: none; margin: 4px 0 16px; padding: 0; display: flex; justify-content: center; align-items: center; gap: 0; }
.nm-steps li, .nm-steps li a { display: inline-flex; align-items: center; gap: 12px; font-size: 14.5px; color: #1a2433; }
.nm-steps li + li::before { content: ""; width: 68px; height: 1px; background: #cfd5dc; margin: 0 12px; }
.nm-steps span { width: 28px; height: 28px; border-radius: 50%; border: 1.500px solid #0b1f33; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; }
.nm-steps .is-current { font-weight: 600; }
.nm-steps .is-current span { background: #0b1f33; color: #fff; }
.nm-steps li:not(.is-done):not(.is-current) span { border-color: #9aa3ae; color: #5b6573; }
.nm-checkout { display: grid; grid-template-columns: minmax(0, 1fr) 486px; gap: 16px; align-items: start; }
.nm-checkout__main { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.nm-cosection { padding: 14px 18px 16px; }
.nm-cosection__head { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; }
.nm-cosection__num { width: 36px; height: 36px; border-radius: 50%; background: #0b1f33; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 600; flex: none; }
.nm-cosection__head h3 { font: 700 19px "Playfair Display", serif; color: #0b1f33; margin: 0; }
.nm-cosection__head p { margin: 0; font-size: 14px; color: #1a2433; }
.nm-cosection__login { margin-left: auto !important; }
.nm-cosection__login a { color: #0b5cab; }
.nm-checkout #customer_details { display: block; }
.nm-checkout .woocommerce-billing-fields > h3, .nm-checkout .woocommerce-additional-fields > h3 { display: none; }
.nm-checkout .woocommerce-billing-fields__field-wrapper > .form-row, .nm-checkout .woocommerce-shipping-fields__field-wrapper > .form-row { grid-column: span 6; margin-bottom: 12px; }
.nm-checkout #billing_first_name_field, .nm-checkout #billing_last_name_field, .nm-checkout #billing_phone_field, .nm-checkout #billing_email_field,
.nm-checkout #shipping_first_name_field, .nm-checkout #shipping_last_name_field { grid-column: span 3; }
.nm-checkout #billing_country_field, .nm-checkout #billing_state_field, .nm-checkout #billing_city_field, .nm-checkout #billing_postcode_field,
.nm-checkout #shipping_country_field, .nm-checkout #shipping_state_field, .nm-checkout #shipping_city_field, .nm-checkout #shipping_postcode_field { grid-column: span 3; }
.nm-checkout #billing_company_field, .nm-checkout #shipping_company_field { grid-column: span 12; }
.nm-checkout .woocommerce-shipping-fields h3 { font: 600 15px Inter, sans-serif; margin: 6px 0 12px; }
.nm-checkout .woocommerce-additional-fields { margin-top: 4px; }
.nm-checkout .woocommerce-account-fields .form-row { margin-bottom: 8px; }
.nm-shipping-methods { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.nm-ship { position: relative; display: flex; align-items: center; gap: 12px; border: 1px solid #dfe3e8; border-radius: 5px; padding: 12px 18px 12px 52px; cursor: pointer; background: #fff; color: #0b1f33; }
.nm-ship input { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); appearance: none; width: 20px; height: 20px; border-radius: 50%; border: 1.500px solid #9aa3ae; margin: 0; background: #fff; cursor: pointer; }
.nm-ship input:checked { border: 6px solid #1d6fe0; }
.nm-ship:has(input:checked) { border-color: #1d6fe0; background: #f1f6fe; }
.nm-ship__body { flex: 1; display: flex; flex-direction: column; gap: 3px; }
.nm-ship__body strong { font-size: 13.5px; }
.nm-ship__body b { font-size: 13.5px; }
.nm-ship__body small { font-size: 13px; color: #5b6573; margin-top: 4px; }
.nm-payment { background: none !important; border-radius: 0 !important; }
.nm-payment ul.payment_methods { list-style: none; margin: 0; padding: 0 !important; border: 0 !important; display: flex; flex-wrap: wrap; gap: 10px; }
.nm-payment ul.payment_methods > li { position: relative; flex: 1 1 150px; border: 1px solid #dfe3e8; border-radius: 5px; background: #fff; margin: 0; padding: 0; line-height: 1.3; }
.nm-payment ul.payment_methods > li:has(> input:checked) { border-color: #1d6fe0; background: #f1f6fe; flex-basis: 100%; }
.nm-payment ul.payment_methods > li > input { position: absolute; left: 16px; top: 15px; appearance: none; width: 18px; height: 18px; border-radius: 50%; border: 1.500px solid #9aa3ae; margin: 0; background: #fff; }
.nm-payment ul.payment_methods > li > input:checked { border: 5px solid #1d6fe0; }
.nm-payment ul.payment_methods > li > label { display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 6px 14px 6px 46px; font: 600 13.5px Inter, sans-serif; color: #0b1f33; cursor: pointer; }
.nm-payment ul.payment_methods > li > label img { max-height: 24px; width: auto; margin: 0; }
.nm-payment .payment_box { margin: 0 !important; padding: 2px 16px 12px 46px !important; background: none !important; color: #4b5563 !important; font-size: 13.5px; }
.nm-payment .payment_box::before { display: none !important; }
.nm-payment .payment_box p { margin: 0; }
.nm-secure-note { display: flex; align-items: center; gap: 12px; margin: 14px 0 0; padding: 9px 14px; border-radius: 4px; background: #e6f6ea; color: #14532d; font-size: 13px; }
.nm-secure-note .nm-icon { color: #15a34a; fill: #15a34a; stroke: #e6f6ea; }
.nm-checkout__side { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 14px; }
.nm-summary-box { padding: 12px 16px 20px; }
.nm-summary-box .nm-panel__head { margin-bottom: 12px; }
.nm-summary-box .nm-panel__head .nm-icon { color: #0b1f33; }
.nm-summary-box .nm-panel__head a { font-size: 14px; font-weight: 500; }
.nm-review__items { list-style: none; margin: 0 0 6px; padding: 0; }
.nm-review__items li { position: relative; display: grid; grid-template-columns: 78px minmax(0, 1fr) auto 74px; align-items: center; gap: 14px; padding: 0 0 12px; }
.nm-review__img { width: 78px; height: 72px; border-radius: 4px; overflow: hidden; background: #f3ece2; display: block; }
.nm-review__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nm-review__info { display: flex; flex-direction: column; gap: 2px; padding-right: 6px; }
.nm-review__info strong { font: 700 13px/1.3 "Playfair Display", serif; color: #0b1f33; }
.nm-review__info small { font-size: 12px; color: #5b6573; }
.nm-review__info b { font-size: 14.5px; color: #0b1f33; }
.nm-review__total { font-size: 15px; color: #0b1f33; text-align: right; align-self: center; }
.nm-review__remove { position: absolute; right: 0; top: 0; border: 0; background: none; color: #4b5563; cursor: pointer; padding: 2px; display: inline-flex; }
.nm-review__items .nm-qty { align-self: center; margin-top: 12px; }
.nm-review__coupon { max-width: none; margin-bottom: 12px; }
.nm-review__couponmsg:empty { display: none; }
.nm-review__couponmsg { font-size: 13px; margin-bottom: 10px; }
.nm-review .nm-totals__rows { gap: 8px 10px; font-size: 14px; padding: 0 2px; }
.nm-review .nm-totals__total { margin: 10px -16px 0; padding: 14px 18px; background: linear-gradient(90deg, #fdf0df, #fbe9d6); align-items: center; }
.nm-review .nm-totals__total > strong { font-size: 23px; }
.nm-review .nm-totals__total small { font-size: 11px; }
.nm-place { margin: 12px 0 0 !important; padding: 0 !important; }
.nm-place .woocommerce-terms-and-conditions-wrapper { font-size: 13px; }
.nm-place .woocommerce-privacy-policy-text { display: none; }
.nm-place__terms { display: flex; gap: 12px; margin: 10px 0 0; font-size: 12.5px; line-height: 1.4; color: #1a2433; padding-left: 12px; }
.nm-place__terms .nm-icon { color: #15a34a; fill: #15a34a; stroke: #fff; margin-top: 1px; }
.nm-place__terms a { color: #0b5cab; }
.nm-trustrow { list-style: none; margin: 0; padding: 0 30px; display: flex; justify-content: space-between; gap: 12px; }
.nm-trustrow li { display: flex; align-items: center; gap: 10px; color: #0b1f33; }
.nm-trustrow .nm-icon { color: #b5651d; }
.nm-trustrow strong { font-size: 13.5px; line-height: 1.3; max-width: 76px; }
.woocommerce-checkout .blockUI.blockOverlay { background: rgba(255, 255, 255, .6) !important; }

/* ── Order confirmation ─────────────────────────────────────────────────── */
.nm-thanks { display: grid; grid-template-columns: minmax(0, 1fr) 394px; gap: 16px; align-items: start; }
.nm-thanks > .nm-empty { grid-column: 1 / -1; }
.nm-thanks__main { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.nm-confirm { padding: 16px 16px 12px 24px; }
.nm-confirm__top { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 20px; align-items: start; }
.nm-confirm__check { width: 54px; height: 54px; border-radius: 50%; background: #15803d; color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.nm-confirm h2 { font: 700 24px/1.2 "Playfair Display", serif; color: #0b1f33; margin: 8px 0 6px; }
.nm-confirm__hi { font-size: 17px; margin: 0 0 6px; color: #0b1f33; }
.nm-confirm .woocommerce-thankyou-order-received { margin: 0; padding: 0; background: none; border: 0; font-size: 14.5px; line-height: 1.45; color: #1a2433; display: block; max-width: 520px; }
.nm-confirm__btns { display: flex; flex-direction: column; gap: 8px; }
.nm-confirm__btns .nm-btn { min-width: 208px; }
.nm-confirm__meta { list-style: none; margin: 20px 0 0 !important; padding: 0 !important; display: grid; grid-template-columns: 1.150fr 1fr 1fr .9fr; }
.nm-confirm__meta::before, .nm-confirm__meta::after { display: none !important; }
.nm-confirm__meta li { display: flex; gap: 20px; align-items: flex-start; padding: 0 10px; border-left: 1px solid #ece4d8; border-right: 0 !important; margin: 0 !important; float: none !important; text-transform: none !important; font-size: 13px !important; }
.nm-confirm__meta li:first-child { border-left: 0; padding-left: 0; }
.nm-confirm__meta li > .nm-icon { color: #0b1f33; margin-top: 10px; }
.nm-confirm__meta li:last-child > .nm-icon { color: #b5651d; }
.nm-confirm__meta li > div > span { display: block; font-size: 12.5px; color: #1a2433; }
.nm-confirm__meta strong { display: block; font-size: 15px !important; color: #0b1f33; margin: 3px 0; }
.nm-confirm__meta small { font-size: 12px; color: #5b6573; }
.nm-confirm__meta small.is-ok { color: #15803d; font-weight: 500; }
.nm-tracking { padding: 10px 16px 18px; }
.nm-tracking h3, .nm-orderitems h3 { font: 700 18.5px "Playfair Display", serif; color: #0b1f33; margin: 0 0 6px; }
.nm-tracking p { margin: 0 0 22px; font-size: 13.5px; }
.nm-orderitems { padding: 6px 10px 10px; }
.nm-orderitems ul { list-style: none; margin: 0; padding: 0; border: 1px solid #f1ede6; border-radius: 4px; }
.nm-orderitems li { display: grid; grid-template-columns: 86px minmax(0, 1fr) 120px 130px; align-items: center; gap: 16px; padding: 2px 6px; border-bottom: 1px solid #f1ede6; }
.nm-orderitems li:last-child { border: 0; }
.nm-orderitems__img { width: 86px; height: 54px; overflow: hidden; border-radius: 3px; display: block; }
.nm-orderitems__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nm-orderitems li div strong { display: block; font: 700 13.5px "Playfair Display", serif; color: #0b1f33; }
.nm-orderitems li div small { font-size: 13px; color: #4b5563; }
.nm-orderitems li > span:not(.nm-orderitems__img) { font-size: 13.5px; }
.nm-orderitems li > strong { font-size: 15px; color: #0b1f33; }
.nm-thanks__side { display: flex; flex-direction: column; gap: 12px; }
.nm-thanks__side .nm-support { background: #fff; border-color: #f0e6d8; }
.nm-thanks__side .nm-support > .nm-support__head > .nm-icon, .nm-thanks__side .nm-support h3 { color: #0b1f33; }
.nm-thanks__side .nm-support h3 { font: 700 17px "Playfair Display", serif; }
.nm-thanks__side .nm-support .nm-btn { background: #fff; color: #0b1f33 !important; border-color: #0b1f33; width: 100%; }
.nm-thanks__side .nm-infolist .nm-side__title { display: none; }
.nm-thanks__also header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.nm-thanks__also h3 { font: 700 18.5px "Playfair Display", serif; color: #0b1f33; margin: 0; }
.nm-thanks__also header a { font-size: 13px; font-weight: 500; color: #0b1f33; display: inline-flex; gap: 8px; align-items: center; }
.nm-thanks__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.nm-thanks__grid .nm-wish { top: 2px; right: 2px; color: #fff; }

/* ── Product reviews ────────────────────────────────────────────────────── */
#reviews .woocommerce-Reviews-title, #reviews .comment-reply-title { font: 700 22px "Playfair Display", serif; color: #0b1f33; display: block; margin: 0 0 12px; }
#reviews ol.commentlist { list-style: none; margin: 0 0 20px; padding: 0; }
#reviews ol.commentlist li { padding: 14px 0; border-bottom: 1px solid #f0e9de; }
#reviews .comment_container { display: flex; gap: 14px; }
#reviews .comment_container img.avatar { width: 46px; height: 46px; border-radius: 50%; }
#reviews .comment-text { flex: 1; font-size: 14.5px; }
#reviews .comment-text p { margin: 0 0 6px; }
#reviews .star-rating { color: #f5a623; }
#review_form .comment-form { display: flex; flex-direction: column; gap: 12px; max-width: 640px; }
#review_form .comment-form p { margin: 0; display: flex; flex-direction: column; gap: 6px; }
#review_form label { font-weight: 600; font-size: 14px; }
#review_form input[type="text"], #review_form input[type="email"], #review_form textarea, #review_form select { min-height: 44px; padding: 10px 14px; border: 1px solid #d6dbe1; border-radius: 4px; font: 400 14px Inter, sans-serif; }
#review_form .comment-form-cookies-consent { flex-direction: row !important; align-items: center; }
#review_form .form-submit input { align-self: flex-start; min-height: 44px; padding: 10px 26px; border: 0; border-radius: 4px; background: #0b1f33; color: #fff; font: 600 14px Inter, sans-serif; cursor: pointer; }
#review_form p.stars a { color: #f5a623; }

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 1280px) {
	.nm-order { grid-template-columns: 80px 150px 96px minmax(0, 1fr); }
	.nm-order .nm-tracker { grid-column: 1 / -1; order: 5; }
	.nm-order__total { text-align: right; }
	.nm-order__actions { grid-column: 1 / -1; justify-content: flex-end; }
	.nm-wishgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.nm-checkout { grid-template-columns: minmax(0, 1fr) 420px; }
	.nm-notif, .nm-details { grid-template-columns: 1fr !important; }
	.nm-thanks { grid-template-columns: 1fr; }
	.nm-alsorow__track { grid-auto-columns: calc((100% - 2 * 16px) / 3); }
}
@media (max-width: 1024px) {
	.nm-account, .nm-cart, .nm-checkout, .nm-pw, .nm-dash { grid-template-columns: 1fr; }
	.nm-checkout__side { position: static; }
	.nm-account__nav { padding-bottom: 12px; }
	.nm-accnav ul { display: flex; flex-wrap: wrap; }
	.nm-accnav li { flex: 1 1 50%; }
	.nm-accnav a { padding: 10px 14px; font-size: 14.5px; gap: 12px; }
	.nm-shipping-methods { grid-template-columns: 1fr; }
	.nm-confirm__meta { grid-template-columns: 1fr 1fr; gap: 16px 0; }
	.nm-confirm__meta li:nth-child(odd) { border-left: 0; padding-left: 0; }
	.nm-confirm__top { grid-template-columns: 56px minmax(0, 1fr); }
	.nm-confirm__btns { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 760px) {
	.nm-main > .wp-block-post-content > .woocommerce { padding-inline: 16px; }
	.nm-carttable thead { display: none; }
	.nm-carttable, .nm-carttable tbody { display: block; }
	.nm-carttable tr.cart_item { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 6px 12px; padding: 12px 0; border-bottom: 1px solid #f1ede6; }
	.nm-carttable td { border: 0; padding: 0 !important; width: auto !important; }
	.nm-carttable .product-thumbnail { grid-row: span 4; }
	.nm-carttable .product-thumbnail img { width: 96px; height: 80px; }
	.nm-carttable .product-remove a { display: inline-flex; margin-right: 14px; }
	.nm-cart__extras, .nm-addrgrid, .nm-addrs { grid-template-columns: 1fr; }
	.nm-alsorow__track { grid-auto-columns: 86%; }
	.nm-wishgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nm-order { grid-template-columns: 70px minmax(0, 1fr); }
	.nm-order > .nm-status { justify-self: start; }
	.nm-order__total { text-align: left; }
	.nm-order__actions { flex-wrap: wrap; justify-content: flex-start; }
	.nm-notif__list li { grid-template-columns: 44px minmax(0, 1fr); gap: 10px 14px; }
	.nm-notif__list time, .nm-notif__actions { grid-column: 2; justify-content: flex-start; }
	.nm-notif__head { flex-wrap: wrap; }
	.nm-review__items li { grid-template-columns: 64px minmax(0, 1fr) auto; }
	.nm-review__total { grid-column: 2 / -1; text-align: left; }
	.nm-orderitems li { grid-template-columns: 64px minmax(0, 1fr) auto; }
	.nm-orderitems li > span:not(.nm-orderitems__img) { display: none; }
	.nm-steps li + li::before { width: 18px; margin: 0 6px; }
	.nm-steps li, .nm-steps li a { font-size: 12.5px; gap: 6px; }
	.nm-checkout .woocommerce-billing-fields__field-wrapper > .form-row, .nm-checkout .woocommerce-shipping-fields__field-wrapper > .form-row { grid-column: span 12 !important; }
	.nm-trustrow { padding: 0; flex-wrap: wrap; }
	.nm-dashwish li { grid-template-columns: 60px minmax(0, 1fr) auto; }
	.nm-dashwish li .nm-btn, .nm-dashwish li .nm-wish { grid-row: 2; }
	.nm-pw .nm-form { padding-inline: 0; }
	.nm-pw .nm-form .nm-btn { min-width: 0; width: 100%; }
	.nm-thanks__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media print {
	.nm-site-header, .nm-site-footer, .nm-banner, .nm-features, .nm-newsletter, .nm-thanks__side, .nm-confirm__btns { display: none !important; }
	.nm-thanks { grid-template-columns: 1fr; }
}

/* Neutralise WooCommerce's default floated account / cart / checkout columns */
.woocommerce-account .nm-account .woocommerce-MyAccount-navigation, .woocommerce-account .nm-account .woocommerce-MyAccount-content,
.woocommerce .nm-cart .cart-collaterals, .woocommerce .nm-cart .cart_totals, .woocommerce-page .nm-cart .cart-collaterals .cart_totals,
.woocommerce .nm-checkout #customer_details, .woocommerce .nm-checkout #order_review, .woocommerce .nm-checkout .col2-set, .woocommerce .nm-checkout .col2-set .col-1, .woocommerce .nm-checkout .col2-set .col-2 { float: none; width: auto; max-width: none; }
.nm-accnav a, .nm-account a { text-decoration: none; }
.nm-profile a, .nm-addr__actions a { text-decoration: underline; }
.woocommerce .nm-account ul, .woocommerce .nm-cart ul, .woocommerce .nm-checkout ul:not(.payment_methods), .woocommerce .nm-thanks ul { list-style: none; }

/* Checkout field grid + cart suggestions (refinements) */
.nm-checkout #billing_phone_field, .nm-checkout #billing_email_field { grid-column: span 6; }
.nm-checkout .woocommerce-billing-fields__field-wrapper > .form-row label { font-size: 13.5px; }
.nm-alsorow__track { grid-auto-columns: calc((100% - 2 * 14px) / 3); gap: 14px; padding: 2px; }
.nm-minicard { grid-template-columns: 84px minmax(0, 1fr); padding: 8px 30px 8px 8px; }
.nm-minicard__img { width: 84px; height: 92px; }
.nm-minicard__name { white-space: normal; max-width: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.nm-minicard .nm-price { flex-wrap: nowrap; }

/* Sketch art behind WooCommerce pages (cart, checkout, account, confirmation) */
.nm-main > .wp-block-post-content > .woocommerce { position: relative; overflow: hidden; }
.nm-main > .wp-block-post-content > .woocommerce::before { content: ""; position: absolute; left: -80px; top: -50px; width: 250px; height: 250px; background: var(--nm-rose) center/contain no-repeat; opacity: .12; pointer-events: none; }
.nm-main > .wp-block-post-content > .woocommerce::after { content: ""; position: absolute; right: -18px; bottom: -8px; width: 300px; height: 262px; background: var(--nm-ship) center/contain no-repeat; opacity: .16; pointer-events: none; }
.nm-main > .wp-block-post-content > .woocommerce > * { position: relative; z-index: 1; }
.nm-auth-page .nm-main > .wp-block-post-content > .woocommerce::before, .nm-auth-page .nm-main > .wp-block-post-content > .woocommerce::after { display: none; }

/* Design background art behind WooCommerce pages */
.nm-main > .wp-block-post-content > .woocommerce { background-color: #fdfaf2; background-image: linear-gradient(180deg, #fbeedc 0, #fcf4e7 320px, #fdfaf2 700px); }
.nm-main > .wp-block-post-content > .woocommerce::before, .nm-main > .wp-block-post-content > .woocommerce::after { top: 0; bottom: 0; width: 226px; height: auto; opacity: 1; mix-blend-mode: multiply; background-repeat: no-repeat; background-size: 100% auto; }
.nm-main > .wp-block-post-content > .woocommerce::before { left: 0; background-image: url("../../../../plugins/nauticalmart-blocks/assets/img/bg-cat-l.jpg"); background-position: left top; }
.nm-main > .wp-block-post-content > .woocommerce::after { right: 0; background-image: url("../../../../plugins/nauticalmart-blocks/assets/img/bg-cat-r.jpg"); background-position: right top; }
.nm-main > .wp-block-post-content > .woocommerce { background-image: linear-gradient(90deg, rgba(240, 214, 178, .55) 0, rgba(240, 214, 178, 0) 16%, rgba(240, 214, 178, 0) 84%, rgba(240, 214, 178, .55) 100%), linear-gradient(180deg, #f6e2c9 0, #f9ecd9 130px, #fcf5ea 300px, #fdfaf2 520px); }

/* Vertical spacing for WooCommerce pages */
.nm-main > .wp-block-post-content > .woocommerce { padding-top: 36px; padding-bottom: 56px; }
.nm-auth-page .nm-main > .wp-block-post-content > .woocommerce { padding: 0; }

/* ── My Account / Orders: layout as in the design ── */
.woocommerce-account .nm-main > .wp-block-post-content > .woocommerce { padding-inline: clamp(20px, 5.2vw, 80px); padding-top: 16px; padding-bottom: 20px; }
.nm-account { grid-template-columns: 292px minmax(0, 1fr); gap: 20px; }
.nm-account__nav { padding: 16px 14px 28px 0; }
.nm-profile { padding: 0 16px 14px 22px; gap: 16px; }
.nm-profile strong { font-size: 17px; }
.woocommerce-account .nm-accnav ul { margin: 0; padding: 0; }
.woocommerce-account .nm-accnav li { margin: 0; padding: 0; border: 0; }
.woocommerce-account .nm-accnav li a { padding: 11px 16px 11px 22px; gap: 22px; font-size: 16px; font-weight: 400; line-height: 1.5; text-decoration: none !important; }
.woocommerce-account .nm-accnav li a span { text-decoration: none; }
.nm-account__content > .woocommerce-info:has(a[href*="verify"]), .nm-account__content > .wc-block-components-notice-banner.is-info { display: none; }
.nm-acc-head { margin: 10px 0 14px; }
.nm-acc-head h2 { font-size: 28px; }
.nm-acc-head__tools .nm-minisearch { width: 358px; }
.nm-acc-head__tools .nm-sort select { min-width: 140px; }
.nm-account .nm-utabs { gap: 6px 30px; margin-bottom: 16px; padding-left: 10px; }
.nm-orders { gap: 10px; }
.nm-order { grid-template-columns: 92px minmax(150px, 1.1fr) 84px minmax(290px, 2fr) minmax(84px, .8fr) auto; gap: 14px; padding: 6px 12px 6px 12px; min-height: 92px; }
.nm-order__img { width: 92px; height: 80px; }
.nm-order__id strong { font-size: 14.5px; }
.nm-order__id span { font-size: 13.5px; white-space: nowrap; }
.nm-order > .nm-status { justify-self: start; }
.nm-order .nm-tracker li { min-width: 0; font-size: 11px; }
.nm-order .nm-tracker strong { white-space: nowrap; font-size: 11px; }
.nm-order .nm-tracker small { white-space: nowrap; }
.nm-order__total strong { font-size: 14.5px; }
.nm-order__total span { font-size: 13px; }
.nm-order__actions .nm-btn { min-width: 108px; min-height: 34px; }
@media (max-width: 1280px) {
	.nm-order { grid-template-columns: 80px minmax(0, 1fr) auto auto; }
	.nm-order .nm-tracker { grid-column: 1 / -1; order: 5; }
	.nm-order__actions { grid-column: 1 / -1; order: 6; justify-content: flex-end; }
}
@media (max-width: 1024px) { .nm-account { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .nm-order { grid-template-columns: 70px minmax(0, 1fr); } .nm-order__actions { justify-content: flex-start; } }
