/* Ugly Leather — maps WordPress block & WooCommerce markup onto the prototype styles in site.css */

/* ---------- Page shell ---------- */
.wp-site-blocks { padding: 0; }
.ul-part { display: contents; }               /* lets the sticky header stick to the whole page */
.site-main { margin: 0; }
:where(.wp-block-post-content, .site-main) > * { margin-block: 0; }
figure.wp-block-image { margin: 0; }
.wp-block-image img { display: block; width: 100%; height: auto; }
.wp-block-list { padding-left: 20px; margin: 0 0 1em; }
.wp-block-list li { margin-bottom: 6px; }
.admin-bar .header { top: 32px; }
.admin-bar.overlay .header { top: 68px; }
.admin-bar.overlay.scrolled .header { top: 32px; }
@media (max-width: 782px) {
  .admin-bar .header { top: 46px; }
  .admin-bar.overlay .header { top: 82px; }
  .admin-bar.overlay.scrolled .header { top: 46px; }
}
.admin-bar .drawer { top: 32px; }

/* ---------- Buttons (core/button → .btn) ---------- */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.wp-block-buttons.is-content-justification-center { justify-content: center; }
.wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 28px; border-radius: 0;
  font: 600 14px/1 var(--body); letter-spacing: 0.12em; text-transform: uppercase; text-decoration: none;
  background: var(--brown); color: var(--cream); border: 1px solid var(--brown);
  transition: background .2s, color .2s;
}
.wp-block-button__link:hover { background: var(--ink); color: var(--cream); }
.ul-light .wp-block-button__link { background: var(--white); color: var(--ink); border-color: var(--white); }
.ul-light .wp-block-button__link:hover { background: var(--cream); }
.ul-ghost .wp-block-button__link { background: transparent; color: var(--ink); border-color: var(--ink); }
.ul-ghost .wp-block-button__link:hover { background: var(--ink); color: var(--white); }
.btn svg { width: 18px; height: 18px; }

/* ---------- Hero slider (core blocks) ---------- */
.hero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity .9s ease; z-index: 1; }
.hero__slide.is-active { opacity: 1; z-index: 2; }
.hero__slide::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.05) 35%, rgba(0,0,0,.6) 100%); pointer-events: none; }
.hero__bg { position: absolute; inset: 0; }
.hero__bg img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); transition: transform 7s ease; }
.hero__slide.is-active .hero__bg img { transform: scale(1); }
.hero__slide .hero__content { z-index: 3; }
.hero__title { font-size: clamp(40px, 6.4vw, 84px); color: #fff; }
.hero__copy p { font-size: 18px; letter-spacing: .04em; margin: 16px 0 0; opacity: .9; color: #fff; }
.hero__nav { z-index: 4; color: #fff; }
.hero__arrow svg { width: 28px; height: 28px; }

/* ---------- Image fills inside layout boxes ---------- */
.split__media figure, .process__item figure, .banner__bg, .full-img figure { position: absolute; inset: 0; }
.split__media figure img, .process__item figure img, .banner__bg img, .full-img figure img { width: 100%; height: 100%; object-fit: cover; }
.process__item figure img { opacity: .7; transition: transform .6s; }
.process__item:hover figure img { transform: scale(1.05); }
.process__item > :not(figure) { position: relative; }
.process__item h3 { color: #fff; }
.process__item p { color: #fff; }
.banner__bg img { opacity: .8; }
.banner .wrap { z-index: 1; }
.banner h1, .banner p { color: #fff; }
.banner .crumbs a { color: #fff; }
.full-img { position: relative; }
.contact__img figure, .contact__img img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- Text pieces ---------- */
.page-hero .eyebrow, .section-head .eyebrow { font-size: 12px; margin: 0; max-width: none; color: var(--muted); }
.page-hero h1 { margin-top: 14px; }
.page-hero__intro, .page-hero__intro p { max-width: 640px; font-size: 19px; color: var(--muted); margin: 22px 0 0; }
.section-head__copy h2 { margin-top: 8px; }
.section-head__copy .section-head__note { margin-top: 12px; }
.badge h4 { margin: 0; }
.badge p { margin: 0; }
.stars { margin: 0; }
.review p { margin: 0; }
.review__by { font: 600 13px/1.4 var(--body); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.review__by strong { color: var(--ink); font-weight: 600; }
.process__item .num { font: 700 14px/1 var(--head); letter-spacing: .1em; opacity: .8; margin: 0 0 8px; }
.cta-light .eyebrow { margin: 0; }
.prose a, .legal__body a, .acc a { text-decoration: underline; }
.page-pad { padding-bottom: clamp(64px, 8vw, 110px); }
.page-pad .prose { margin-top: 56px; }
.page-std { padding-top: clamp(48px, 7vw, 100px); padding-bottom: clamp(64px, 8vw, 110px); }
.page-std__title { margin-bottom: 32px; }
.link-arrow { margin: 0; }

/* core/details as accordion */
details.acc > *:not(summary) { margin: 0 0 20px; color: var(--brown-2); font-size: 15px; }
.faq__group details.acc > p { font-size: 16px; line-height: 1.7; max-width: 640px; }
.pdp__desc p { font-size: 17px; line-height: 1.75; color: var(--brown-2); }

/* ---------- Footer (core blocks) ---------- */
.footer p { margin: 0; }
.footer__col p a { display: block; padding: 4px 0; }
.footer__brand p { max-width: 320px; margin-top: 18px; }
.footer__legal { display: flex; gap: 18px; flex-wrap: wrap; }
.footer__legal a { display: inline; }

/* ---------- Product page bits ---------- */
.crumbs--page { padding-top: 24px; color: var(--muted); }
.buy__intro p { margin: 16px 0 18px; color: var(--brown-2); }
.line-item__note { color: var(--warn); display: block; }
.action__link { position: absolute; inset: 0; display: block; }
.action__link img { width: 100%; height: 100%; object-fit: cover; opacity: .85; }
.action__play svg { width: 30px; height: 30px; margin-left: 4px; }
.m-nav__note { display: block; color: var(--muted); font-size: 13px; margin-top: 3px; }
.contact__hours--line { margin-top: 12px; background: transparent; border: 1px solid var(--line); }
.contact__link { margin: 0; }
.contact__link a { display: flex; justify-content: space-between; padding: 14px 0; border-bottom: 1px solid var(--line); font-weight: 500; }
.contact__aside h3 { margin: 28px 0 8px; }

/* ---------- WooCommerce: notices ---------- */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-error, .woocommerce-info, .woocommerce-message { list-style: none; margin: 0 0 20px; padding: 14px 16px; font-size: 15px; border-left: 3px solid var(--brown); background: var(--sand); }
.woocommerce-error { border-color: var(--bad); background: var(--bad-bg); color: var(--bad); }
.woocommerce-message { border-color: var(--ok); background: var(--ok-bg); }

/* ---------- WooCommerce: classic checkout ---------- */
.woocommerce-checkout .page-std__title { display: none; }
form.checkout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: start; }
form.checkout #customer_details { grid-column: 1; }
form.checkout #order_review_heading, form.checkout #order_review { grid-column: 2; }
form.checkout #order_review_heading { grid-row: 1; margin: 0 0 -1px; background: var(--white); border: 1px solid var(--line); border-bottom: 0; padding: 26px 26px 0; font-size: 22px; }
form.checkout #order_review { grid-row: 1; margin-top: 66px; background: var(--white); border: 1px solid var(--line); border-top: 0; padding: 0 26px 26px; position: sticky; top: calc(var(--header-h) + 20px); }
.woocommerce-checkout .col2-set { display: block; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { width: 100%; float: none; }
.woocommerce-billing-fields h3, .woocommerce-additional-fields h3 { font-size: 28px; margin-bottom: 20px; }
.woocommerce-additional-fields h3 { display: none; }
.form-row { display: flex; flex-direction: column; gap: 6px; margin: 0 0 16px; padding: 0; }
.form-row label { font: 600 13px/1.2 var(--body); letter-spacing: .06em; }
.form-row label .required { color: var(--bad); text-decoration: none; }
.form-row label .optional { display: none; }
.form-row .input-text, .form-row textarea, .form-row select { width: 100%; border: 1px solid #d6cbbf; background: var(--white); padding: 14px; min-height: 50px; outline: none; border-radius: 0; font: inherit; }
.form-row textarea { min-height: 96px; }
.form-row .input-text:focus, .form-row textarea:focus { border-color: var(--ink); }
.form-row.woocommerce-invalid .input-text, .form-row.woocommerce-invalid textarea { border-color: var(--bad); }
.form-row .description { font-size: 13px; color: var(--muted); }
.woocommerce-input-wrapper { display: block; }
#order_review table.shop_table { width: 100%; border-collapse: collapse; font-size: 15px; margin-bottom: 20px; }
#order_review table.shop_table th, #order_review table.shop_table td { padding: 12px 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
#order_review table.shop_table td:last-child, #order_review table.shop_table th:last-child { text-align: right; }
#order_review .order-total th, #order_review .order-total td { font: 700 20px/1 var(--head); text-transform: uppercase; border-bottom: 0; padding-top: 16px; }
#order_review .product-name dl.variation { margin: 4px 0 0; font-size: 13px; color: var(--muted); }
#order_review .product-name dl.variation dt, #order_review .product-name dl.variation dd { display: inline; margin: 0; }
#order_review .product-name dl.variation dd p { display: inline; margin: 0; }
#order_review ul#shipping_method { list-style: none; margin: 0; padding: 0; }
.ul-eta th, .ul-eta td { font-size: 13px; color: var(--muted); }
#payment ul.payment_methods { list-style: none; margin: 0 0 20px; padding: 0; }
#payment ul.payment_methods li { border: 1px solid #d6cbbf; background: var(--white); padding: 16px; margin-bottom: -1px; }
#payment ul.payment_methods li label { font-weight: 600; margin-left: 8px; }
#payment ul.payment_methods li input { accent-color: var(--brown); }
#payment .payment_box { font-size: 13px; color: var(--muted); padding: 6px 0 0 26px; }
#payment .payment_box p { margin: 0; }
#place_order { width: 100%; min-height: 60px; font: 600 14px/1 var(--body); letter-spacing: .12em; text-transform: uppercase; background: var(--brown); color: var(--cream); border: 1px solid var(--brown); cursor: pointer; }
#place_order:hover { background: var(--ink); }
.ul-agree { font-size: 13px; color: var(--muted); margin-top: 12px; }
.ul-agree a { text-decoration: underline; }
.checkout_coupon, .woocommerce-form-coupon-toggle { margin-bottom: 20px; }
.checkout_coupon { display: flex; gap: 8px; flex-wrap: wrap; }
.checkout_coupon .form-row { margin: 0; }
.checkout_coupon .button { min-height: 50px; padding: 0 18px; background: transparent; border: 1px solid var(--ink); font: 600 13px/1 var(--body); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.check-status { margin-top: -6px; }
.blockUI.blockOverlay { background: rgba(253,251,248,.6) !important; }
@media (max-width: 820px) {
  form.checkout { grid-template-columns: 1fr; }
  form.checkout #order_review_heading, form.checkout #order_review { grid-column: 1; grid-row: auto; }
  form.checkout #order_review { margin-top: 0; position: static; }
}

/* ---------- WooCommerce: order received ---------- */
.woocommerce-order { max-width: 760px; margin: 0 auto; }
.woocommerce-thankyou-order-received { font: 600 clamp(22px, 3vw, 30px)/1.25 var(--head); margin-bottom: 24px; }
.woocommerce-order-overview { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 0 0 32px; }
.woocommerce-order-overview li { background: var(--white); border: 1px solid var(--line); padding: 14px; font-size: 13px; color: var(--muted); }
.woocommerce-order-overview li strong { display: block; color: var(--ink); font-size: 16px; margin-top: 4px; }
.woocommerce-order-details table, .woocommerce-customer-details address { width: 100%; font-size: 15px; }
.woocommerce-order-details table td, .woocommerce-order-details table th { padding: 10px 0; border-bottom: 1px solid var(--line); text-align: left; }

/* ---------- Classic cart page (fallback; the drawer is the main cart) ---------- */
.woocommerce-cart-form table { width: 100%; border-collapse: collapse; }
.woocommerce-cart-form td, .woocommerce-cart-form th { padding: 12px 8px; border-bottom: 1px solid var(--line); text-align: left; }
.woocommerce-cart-form img { width: 72px; }
.wc-proceed-to-checkout .checkout-button { display: inline-flex; min-height: 56px; align-items: center; justify-content: center; padding: 0 28px; background: var(--brown); color: var(--cream); font: 600 14px/1 var(--body); letter-spacing: .12em; text-transform: uppercase; }

/* ---------- Mega menu: one card set per wallet, only the hovered one shows ---------- */
.mega__cards[hidden] { display: none; }
/* Keep the logo badge its size on every page type */
.logo img.logo__badge { height: 38px; width: auto; max-width: none; }
@media (max-width: 560px) { .logo img.logo__badge { height: 34px; } }
@media (max-width: 400px) { .logo img.logo__badge { height: 30px; } }

/* ---------- Trust badges: same width as the rest of the content, framed as one block ---------- */
.badges {
  width: min(calc(100% - 2 * var(--gutter)), calc(var(--wrap) - 2 * var(--gutter)));
  margin-left: auto; margin-right: auto;
  border: 1px solid var(--line); background: var(--white);
}
.hero + .badges { margin-top: clamp(32px, 4vw, 56px); }
.section--grid + .badges { margin-bottom: clamp(16px, 2vw, 24px); }
.ul-coming-soon .reviews-section { display: none; }
.process--story { padding-bottom: clamp(64px, 8vw, 110px); }
.cta-light .eyebrow { max-width: none; text-align: center; }

/* ---------- WooCommerce notices & buttons in brand style ---------- */
.wc-block-components-notice-banner, .woocommerce-info, .cart-empty { display: flex; gap: 12px; align-items: center; margin: 0 0 24px; padding: 16px 18px; background: var(--sand); border: 0; border-left: 3px solid var(--brown); color: var(--ink); font-size: 15px; border-radius: 0; }
.wc-block-components-notice-banner > svg { display: none; }
.wc-block-components-notice-banner.is-error { background: var(--bad-bg); border-color: var(--bad); color: var(--bad); }
.wc-block-components-notice-banner.is-success { background: var(--ok-bg); border-color: var(--ok); }
.woocommerce .button, .woocommerce a.button, .wc-backward, .return-to-shop .button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 28px; border-radius: 0;
  background: var(--brown); color: var(--cream); border: 1px solid var(--brown);
  font: 600 14px/1 var(--body); letter-spacing: .12em; text-transform: uppercase; text-decoration: none; cursor: pointer;
}
.woocommerce .button:hover, .wc-backward:hover { background: var(--ink); color: var(--cream); }
.site-main .wc-block-components-notice-banner { border: 0; border-left: 3px solid var(--brown); background: var(--sand); color: var(--ink); padding: 16px 18px; border-radius: 0; }
.site-main .wc-block-components-notice-banner.is-error { border-left-color: var(--bad); background: var(--bad-bg); color: var(--bad); }
.site-main .wc-block-components-notice-banner.is-success { border-left-color: var(--ok); background: var(--ok-bg); }
.site-main .wc-block-components-notice-banner.is-info, .site-main .wc-block-components-notice-banner.is-warning { border-left-color: var(--brown); background-color: var(--sand); }

/* ---------- Brand every interactive state (no browser-default blue anywhere) ---------- */
input, select, textarea, progress { accent-color: var(--brown); }
:focus-visible { outline: 2px solid var(--brown); outline-offset: 2px; }
.footer :focus-visible, .hero :focus-visible, .announce :focus-visible, .why :focus-visible, .faq__help :focus-visible { outline-color: var(--cream); }
::selection { background: var(--cream); color: var(--ink); }
.coupon-error-notice, .woocommerce-checkout .checkout_coupon .coupon-error-notice { color: var(--bad); font-size: 14px; margin: 8px 0 0; flex-basis: 100%; }
.woocommerce-invalid label { color: var(--bad); }
a { -webkit-tap-highlight-color: rgba(60, 46, 44, .15); }

/* ---------- Checkout & confirmation on small screens ---------- */
.woocommerce-order .woocommerce-thankyou-order-received { font: 600 clamp(20px, 4.5vw, 28px)/1.3 var(--head); text-transform: none; }
.checkout_coupon .form-row-first { flex: 1 1 200px; }
@media (max-width: 560px) {
  .woocommerce-order-overview { grid-template-columns: 1fr 1fr; }
  .checkout_coupon .button { width: 100%; }
}

/* ---------- Hero: keep a safe gap between the CTA and the slider controls ---------- */
.hero .hero__content { bottom: 128px; }
@media (max-width: 820px) { .hero .hero__content { bottom: 126px; } }
@media (max-height: 640px) and (max-width: 820px) { .hero__copy p { font-size: 16px; margin-top: 12px; } .hero__title { font-size: 36px; } }

/* ---------- Form fields: 16px text so phones never zoom in on tap ---------- */
input, select, textarea, .form-row .input-text, .field input, .coupon input { font-size: 16px; }

/* ---------- Payment options: title and description aligned, radio or not ---------- */
#payment ul.payment_methods li { display: flex; flex-wrap: wrap; align-items: center; column-gap: 10px; padding: 16px 18px; }
#payment ul.payment_methods li > input { margin: 0; flex: none; }
#payment ul.payment_methods li > label { flex: 1; margin: 0; display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 15px; cursor: pointer; }
#payment ul.payment_methods li > label .ul-pay-icon { order: -1; display: inline-flex; color: var(--brown); }
#payment ul.payment_methods li > label .ul-pay-icon svg { width: 22px; height: 22px; }
#payment ul.payment_methods li > label img { max-height: 24px; width: auto; order: 2; margin-left: auto; }
#payment .payment_box { flex-basis: 100%; margin: 4px 0 0; padding: 0 0 0 32px; text-align: left; background: none; font-size: 14px; color: var(--muted); }
#payment li > input[style*="none"] ~ .payment_box { padding-left: 32px; }
#payment li > input:not([style*="none"]) ~ .payment_box { padding-left: calc(32px + 13px + 10px); }
#payment .payment_box::before { display: none; }
#payment .payment_box p { margin: 0; }

/* ---------- Coupon field in the order summary ---------- */
.ul-coupon { margin: 4px 0 20px; padding: 16px 0 0; border-top: 1px solid var(--line); }
.ul-coupon label { display: block; font: 600 13px/1.2 var(--body); letter-spacing: .06em; margin-bottom: 8px; }
.ul-coupon__row { display: flex; gap: 8px; }
.ul-coupon__row input { flex: 1; min-width: 0; min-height: 48px; padding: 0 14px; border: 1px solid #d6cbbf; background: var(--white); border-radius: 0; font-size: 16px; text-transform: uppercase; letter-spacing: .06em; }
.ul-coupon__row input::placeholder { text-transform: none; letter-spacing: 0; }
.ul-coupon__row input:focus { border-color: var(--ink); outline: none; }
.ul-coupon__apply { min-height: 48px; padding: 0 20px; background: transparent; color: var(--ink); border: 1px solid var(--ink); font: 600 13px/1 var(--body); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.ul-coupon__apply:hover { background: var(--ink); color: var(--white); }
.ul-coupon__apply[disabled] { opacity: .5; }
.ul-coupon__msg:empty { display: none; }
.ul-coupon__msg { margin-top: 8px; font-size: 13px; }
.ul-coupon__msg .is-ok { color: var(--ok); }
.ul-coupon__msg .is-bad { color: var(--bad); }
#order_review .cart-discount td, #order_review .cart-discount th { color: var(--ok); }
.woocommerce-remove-coupon { font-size: 12px; color: var(--muted); text-decoration: underline; margin-left: 6px; }
body .woocommerce form .form-row .input-text, body .woocommerce form .form-row textarea, body .woocommerce form .form-row select, body .woocommerce input[type="text"], body .woocommerce input[type="tel"], body .woocommerce input[type="email"] { font-size: 16px; }
.ul-coupon { border-top: 0; padding-top: 4px; }

/* Phone menu: "View all" beside the Wallets heading */
.m-nav summary { display: flex; justify-content: space-between; align-items: center; }
.m-nav details a.m-nav__all { display: inline-flex; gap: 6px; align-items: center; padding: 0; border: 0; font: 600 13px/1 var(--body); letter-spacing: .12em; text-transform: uppercase; color: var(--brown); }

/* ---------- Desktop mega menu: every wallet at once ---------- */
.mega .wrap { display: block; padding-top: 24px; padding-bottom: 32px; }
.mega__head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 16px; margin-bottom: 20px; border-bottom: 1px solid var(--line); }
.mega__head .eyebrow { margin: 0; }
.mega .mega__all { margin: 0; padding: 0; border: 0; font: 600 13px/1 var(--body); letter-spacing: .12em; display: inline-flex; gap: 8px; }
.mega .mega__cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.mega .card__media { aspect-ratio: 1 / .9; }
.mega .card__body { padding: 12px 14px 14px; }
.mega .card__title { font-size: 15px; }

/* ---------- Order lines with product photo (checkout + confirmation) ---------- */
.ul-line { display: flex; align-items: center; gap: 14px; }
.ul-line img { width: 64px; height: 64px; object-fit: cover; flex: none; background: var(--white); border: 1px solid var(--line); }
.ul-line__text { display: flex; flex-direction: column; gap: 3px; }
.ul-line__name { font: 600 16px/1.2 var(--head); text-transform: uppercase; letter-spacing: .02em; color: var(--ink); }
.ul-line__meta { font-size: 14px; color: var(--muted); }
.ul-line__note { font-size: 13px; color: var(--warn); }
#order_review td.product-name, .woocommerce-table--order-details td.product-name { vertical-align: middle; }
#order_review tr.cart_item td.product-total, .woocommerce-table--order-details td.product-total { vertical-align: middle; }
@media (max-width: 820px) {
  form.checkout { row-gap: 0; }
  form.checkout #customer_details { margin-bottom: 36px; }
}

/* ---------- Order confirmation: one aligned column ---------- */
.woocommerce-order, .woocommerce-order-details, .woocommerce-customer-details { max-width: 760px; margin-left: auto; margin-right: auto; }
.woocommerce-order-details { margin-top: 40px; }
.woocommerce-order-details__title, .woocommerce-customer-details .woocommerce-column__title { font-size: clamp(24px, 3vw, 32px); margin: 0 0 16px; }
.woocommerce-order-details table.shop_table { width: 100%; border-collapse: collapse; background: var(--white); border: 1px solid var(--line); }
.woocommerce-order-details table.shop_table th, .woocommerce-order-details table.shop_table td { padding: 14px 18px; border-bottom: 1px solid var(--line); text-align: left; font-size: 15px; }
.woocommerce-order-details table.shop_table td:last-child, .woocommerce-order-details table.shop_table th:last-child { text-align: right; }
.woocommerce-order-details table.shop_table thead th { font: 600 13px/1 var(--body); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); background: var(--sand); }
.woocommerce-order-details tfoot tr:last-child th, .woocommerce-order-details tfoot tr:nth-last-child(2) th, .woocommerce-order-details tfoot tr:nth-last-child(2) td { font-weight: 600; }
.woocommerce-customer-details { margin-top: 40px; margin-bottom: 20px; }
.woocommerce-customer-details address { font-style: normal; background: var(--white); border: 1px solid var(--line); padding: 18px; font-size: 15px; line-height: 1.7; color: var(--ink); }
.woocommerce-customer-details address p { margin: 8px 0 0; color: var(--muted); }
.woocommerce-customer-details--phone::before { content: "Phone: "; color: var(--muted); }
.woocommerce-customer-details--email::before { content: "Email: "; color: var(--muted); }
.woocommerce-customer-details address { display: block; width: 100%; box-sizing: border-box; }
body .woocommerce .woocommerce-customer-details address { width: 100%; max-width: none; }

/* ---------- Change delivery details (order confirmation) ---------- */
.ul-addr-edit { margin-top: 12px; border: 1px solid var(--line); background: var(--white); }
.ul-addr-edit > summary { cursor: pointer; list-style: none; padding: 14px 18px; font: 600 13px/1 var(--body); letter-spacing: .1em; text-transform: uppercase; color: var(--brown); display: flex; justify-content: space-between; }
.ul-addr-edit > summary::-webkit-details-marker { display: none; }
.ul-addr-edit > summary::after { content: "+"; font-size: 18px; line-height: 13px; }
.ul-addr-edit[open] > summary::after { content: "–"; }
.ul-addr-edit__note { margin: 0 18px 12px; font-size: 14px; color: var(--muted); }
.ul-addr-form { padding: 0 18px 18px; }
.ul-addr-form .btn { width: 100%; margin-top: 4px; }
.ul-addr-msg { margin: 12px 0 0; padding: 12px 16px; font-size: 14px; border-left: 3px solid; }
.ul-addr-msg--ok { background: var(--ok-bg); border-color: var(--ok); color: var(--ok); }
.ul-addr-msg--bad { background: var(--bad-bg); border-color: var(--bad); color: var(--bad); }
.ul-addr-locked { margin: 12px 0 0; font-size: 14px; color: var(--muted); }
.ul-addr-locked a { color: var(--brown); text-decoration: underline; }
#ul-delivery { display: block; position: relative; top: calc(-1 * var(--header-h) - 24px); }
