/* ==========================================================================
   Deka Shop — editorial shop + single-product stylesheet.
   Loaded in addition to home-v1.css on /shop/ URLs (body.shop-editorial).
   Inherits every design token (--deka-*) from the home stylesheet and
   extends it with catalog / product-detail layout.
   ========================================================================== */

/* ── Shop hero ──────────────────────────────────────────────────────── */
.shop-editorial .shop-hero {
    padding: 160px 0 120px;
    background: var(--deka-ivory);
    color: var(--deka-ink);
}
.shop-editorial .shop-hero__meta {
    display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
    color: rgba(4, 5, 65, 0.55); margin-bottom: 80px;
}
.shop-editorial .shop-hero__meta .mono {
    font-family: var(--deka-mono); font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
}
.shop-editorial .shop-hero__title {
    font-size: clamp(48px, 6.5vw, 112px);
    max-width: 1100px;
}
.shop-editorial .shop-hero__sub {
    margin-top: 40px; max-width: 50ch;
    font-family: var(--deka-serif); font-style: italic; font-weight: 300;
    font-size: clamp(18px, 1.5vw, 22px); line-height: 1.55;
    color: rgba(4, 5, 65, 0.72);
}

/* ── Systems row ────────────────────────────────────────────────────── */
.shop-editorial .shop-systems { padding: 120px 0; background: var(--deka-ivory); }
.shop-editorial .shop-systems__grid {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 0; border-top: 1px solid var(--deka-rule); margin-top: 80px;
}
@media (max-width: 900px) { .shop-editorial .shop-systems__grid { grid-template-columns: 1fr; } }
.shop-editorial .shop-system {
    display: flex; flex-direction: column; gap: 24px;
    border-right: 1px solid var(--deka-rule); border-bottom: 1px solid var(--deka-rule);
    padding: 40px 36px 44px;
    transition: background .45s ease;
    color: var(--deka-ink);
}
.shop-editorial .shop-system:last-child { border-right: none; }
@media (max-width: 900px) { .shop-editorial .shop-system { border-right: none; } }
.shop-editorial .shop-system:hover { background: #fff; }
.shop-editorial .shop-system__visual {
    aspect-ratio: 5/4; position: relative;
    background:
        repeating-linear-gradient(135deg, rgba(4, 5, 65, 0.05) 0 2px, transparent 2px 12px),
        var(--deka-bone);
    border: 1px solid var(--deka-rule);
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
}
.shop-editorial .shop-system__visual .shape { width: 64%; aspect-ratio: 1/1; position: relative; }
.shop-editorial .shop-system__visual .shape .ring { position: absolute; inset: 0; border: 1px solid rgba(4, 5, 65, 0.3); border-radius: 50%; }
.shop-editorial .shop-system__visual .shape .ring-in { position: absolute; inset: 22%; border: 1px solid var(--deka-sapphire); border-radius: 50%; }
.shop-editorial .shop-system__visual .pv-photo { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.shop-editorial .shop-system__visual .pv-photo img { height: 80%; width: auto; max-width: 60%; object-fit: contain; filter: drop-shadow(0 20px 40px rgba(4, 5, 65, 0.2)); transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.shop-editorial .shop-system:hover .pv-photo img { transform: translateY(-6px) scale(1.02); }
.shop-editorial .shop-system__visual .tag { position: absolute; top: 16px; left: 16px; font-family: var(--deka-mono); font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(4, 5, 65, 0.55); }
.shop-editorial .shop-system__visual .caption { position: absolute; bottom: 16px; left: 16px; right: 16px; display: flex; justify-content: space-between; font-family: var(--deka-mono); font-size: 9.5px; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(4, 5, 65, 0.4); }
.shop-editorial .shop-system h3 { font-family: var(--deka-serif); font-weight: 400; font-size: 30px; letter-spacing: -0.01em; }
.shop-editorial .shop-system h3 .sm { display: block; font-family: var(--deka-mono); font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--deka-sapphire); margin-bottom: 12px; font-weight: 500; }
.shop-editorial .shop-system p { font-size: 14px; line-height: 1.65; color: rgba(4, 5, 65, 0.7); max-width: 36ch; }
.shop-editorial .shop-system__meta { display: flex; justify-content: space-between; align-items: center; padding-top: 20px; border-top: 1px solid var(--deka-rule); font-family: var(--deka-mono); font-size: 10.5px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--deka-sapphire); margin-top: auto; }
.shop-editorial .shop-system__meta .arrow { display: inline-block; transition: transform .3s ease; color: var(--deka-ink); }
.shop-editorial .shop-system:hover .arrow { transform: translateX(6px); }

/* ── Catalog (accessories) ───────────────────────────────────────────── */
.shop-editorial .shop-catalog { padding: 140px 0 180px; background: var(--deka-bone); color: var(--deka-ink); }
.shop-editorial .shop-filters {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin: 56px 0 40px;
}
.shop-editorial .shop-filter {
    padding: 10px 18px; border-radius: 999px;
    border: 1px solid rgba(4, 5, 65, 0.18);
    font-family: var(--deka-mono); font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase;
    color: var(--deka-ink);
    background: transparent;
    transition: background .3s ease, color .3s ease, border-color .3s ease;
    cursor: pointer;
}
.shop-editorial .shop-filter:hover { border-color: var(--deka-ink); }
.shop-editorial .shop-filter.active {
    background: var(--deka-ink); color: var(--deka-ivory); border-color: var(--deka-ink);
}
.shop-editorial .shop-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-top: 1px solid var(--deka-rule);
    border-left: 1px solid var(--deka-rule);
}
@media (max-width: 1100px) { .shop-editorial .shop-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 820px)  { .shop-editorial .shop-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px)  { .shop-editorial .shop-grid { grid-template-columns: 1fr; } }
.shop-editorial .shop-card {
    border-right: 1px solid var(--deka-rule);
    border-bottom: 1px solid var(--deka-rule);
    padding: 24px; display: flex; flex-direction: column; gap: 18px;
    background: var(--deka-bone);
    transition: background .4s ease, transform .4s cubic-bezier(.2, .7, .2, 1);
    color: var(--deka-ink);
}
.shop-editorial .shop-card:hover { background: var(--deka-ivory); transform: translateY(-3px); }
.shop-editorial .shop-card[hidden] { display: none !important; }
.shop-editorial .shop-card__visual {
    aspect-ratio: 1/1;
    background: #fff;
    border: 1px solid var(--deka-rule);
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
}
.shop-editorial .shop-card__visual img {
    width: 86%; height: 86%; object-fit: contain;
    transition: transform .6s cubic-bezier(.2, .7, .2, 1);
}
.shop-editorial .shop-card:hover .shop-card__visual img { transform: scale(1.04); }
.shop-editorial .shop-card__body { display: flex; flex-direction: column; gap: 10px; flex: 1; }
.shop-editorial .shop-card__kicker {
    font-family: var(--deka-mono); font-size: 9.5px; letter-spacing: 0.22em; text-transform: uppercase;
    color: var(--deka-sapphire);
}
.shop-editorial .shop-card__title {
    font-family: var(--deka-serif); font-weight: 400; font-size: 20px; line-height: 1.2; letter-spacing: -0.01em;
    margin: 0;
}
.shop-editorial .shop-card__meta {
    display: flex; justify-content: space-between; align-items: baseline;
    margin-top: auto; padding-top: 16px; border-top: 1px solid var(--deka-rule);
    font-family: var(--deka-mono); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
}
.shop-editorial .shop-card__price { font-family: var(--deka-serif); font-size: 18px; font-weight: 400; letter-spacing: -0.01em; text-transform: none; color: var(--deka-ink); }
.shop-editorial .shop-card .arrow { transition: transform .3s ease; }
.shop-editorial .shop-card:hover .arrow { transform: translateX(5px); }

/* ── Product detail ──────────────────────────────────────────────────── */
.shop-editorial .product { padding: 140px 0 120px; background: var(--deka-ivory); color: var(--deka-ink); }
.shop-editorial .product--system { background: var(--deka-ink); color: var(--deka-ivory); }
.shop-editorial .product--system a { color: var(--deka-ivory); }

.shop-editorial .product__breadcrumbs {
    display: flex; gap: 12px; align-items: center;
    font-family: var(--deka-mono); font-size: 10.5px; letter-spacing: 0.22em; text-transform: uppercase;
    color: rgba(4, 5, 65, 0.55); margin-bottom: 48px;
}
.shop-editorial .product--system .product__breadcrumbs { color: rgba(245, 244, 239, 0.55); }
.shop-editorial .product__breadcrumbs a { border-bottom: 1px solid transparent; transition: border-color .3s ease; }
.shop-editorial .product__breadcrumbs a:hover { border-bottom-color: currentColor; }

.shop-editorial .product__wrap {
    display: grid; grid-template-columns: 1.1fr 1fr; gap: 80px; align-items: center;
}
@media (max-width: 960px) { .shop-editorial .product__wrap { grid-template-columns: 1fr; gap: 48px; } }

.shop-editorial .product__visual {
    aspect-ratio: 4/5; position: relative; overflow: hidden;
    background:
        linear-gradient(135deg, rgba(43, 82, 159, 0.10), rgba(4, 5, 65, 0.0)),
        repeating-linear-gradient(135deg, rgba(4, 5, 65, 0.04) 0 2px, transparent 2px 12px),
        var(--deka-bone);
    border: 1px solid var(--deka-rule);
    display: flex; align-items: center; justify-content: center;
}
.shop-editorial .product__visual--dark {
    background:
        linear-gradient(135deg, rgba(43, 82, 159, 0.12), rgba(4, 5, 65, 0.0)),
        repeating-linear-gradient(135deg, rgba(245, 244, 239, 0.04) 0 2px, transparent 2px 10px),
        #06074a;
    border-color: var(--deka-rule-light);
}
.shop-editorial .product__visual .sc-label { position: absolute; top: 20px; left: 20px; font-family: var(--deka-mono); font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(245, 244, 239, 0.55); }
.shop-editorial .product__visual .sc-frame { width: 74%; aspect-ratio: 3/4; position: relative; }
.shop-editorial .product__visual .sc-frame .ring { position: absolute; inset: 0; border: 1px solid rgba(245, 244, 239, 0.1); border-radius: 6px; }
.shop-editorial .product__visual .sc-frame .ring2 { inset: 10%; border-color: rgba(139, 142, 178, 0.25); animation: deka-pulse 4s ease-in-out infinite; }
.shop-editorial .product__visual .sc-frame .ring3 { inset: 25%; border-color: rgba(43, 82, 159, 0.5); animation: deka-pulse 4s ease-in-out infinite; animation-delay: -1.3s; border-radius: 50%; }
.shop-editorial .product__visual .sc-frame .dot { position: absolute; top: 50%; left: 50%; width: 8px; height: 8px; border-radius: 50%; background: var(--deka-brass); transform: translate(-50%, -50%); box-shadow: 0 0 40px 8px rgba(205, 175, 120, 0.5); }
.shop-editorial .product__photo { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.shop-editorial .product--system .product__photo img { height: 70%; width: auto; max-width: 60%; object-fit: contain; filter: drop-shadow(0 30px 60px rgba(0, 0, 0, 0.55)); animation: deka-floaty 6s ease-in-out infinite; }
.shop-editorial .product--accessory .product__photo img { width: 80%; height: 80%; object-fit: contain; }

.shop-editorial .product__kicker {
    font-family: var(--deka-mono); font-size: 10.5px; letter-spacing: 0.22em; text-transform: uppercase;
    color: var(--deka-sapphire); margin-bottom: 16px;
}
.shop-editorial .product--system .product__kicker { color: var(--deka-brass); }
.shop-editorial .product__title {
    font-size: clamp(42px, 5vw, 84px); margin: 0;
}
.shop-editorial .product__tagline {
    font-family: var(--deka-serif); font-style: italic; font-weight: 300;
    font-size: clamp(20px, 1.8vw, 26px); line-height: 1.4;
    margin-top: 24px; max-width: 40ch; opacity: 0.85;
}
.shop-editorial .product__body {
    font-size: 15px; line-height: 1.7; margin-top: 24px; max-width: 52ch;
    color: rgba(4, 5, 65, 0.72);
}
.shop-editorial .product--system .product__body { color: rgba(245, 244, 239, 0.78); }
.shop-editorial .product__price-block {
    margin-top: 40px; padding: 24px 0;
    border-top: 1px solid var(--deka-rule); border-bottom: 1px solid var(--deka-rule);
}
.shop-editorial .product--system .product__price-block { border-top-color: var(--deka-rule-light); border-bottom-color: var(--deka-rule-light); }
.shop-editorial .product__price-label {
    font-family: var(--deka-mono); font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
    opacity: 0.55; margin-bottom: 10px;
}
.shop-editorial .product__price {
    font-family: var(--deka-serif); font-weight: 300;
    font-size: clamp(32px, 3.5vw, 48px); letter-spacing: -0.02em;
}
.shop-editorial .product__price-note {
    font-family: var(--deka-mono); font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase;
    opacity: 0.55; margin-top: 10px;
}
.shop-editorial .product__ctas { margin-top: 32px; display: flex; gap: 14px; flex-wrap: wrap; }

/* ── Specs + includes grid ─────────────────────────────────────────── */
.shop-editorial .product-details { padding: 120px 0; background: var(--deka-bone); color: var(--deka-ink); }
.shop-editorial .product-details__grid {
    margin-top: 56px;
    display: grid; grid-template-columns: 1.3fr 1fr; gap: 64px;
}
@media (max-width: 860px) { .shop-editorial .product-details__grid { grid-template-columns: 1fr; gap: 40px; } }
.shop-editorial .product-specs {
    display: grid; grid-template-columns: 1fr 1fr; gap: 0;
    border-top: 1px solid var(--deka-rule);
}
.shop-editorial .product-spec { padding: 22px 24px 22px 0; border-bottom: 1px solid var(--deka-rule); }
.shop-editorial .product-spec:nth-child(odd) { border-right: 1px solid var(--deka-rule); padding-left: 0; padding-right: 24px; }
.shop-editorial .product-spec:nth-child(even) { padding-left: 24px; }
.shop-editorial .product-spec .k { font-family: var(--deka-mono); font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; opacity: 0.55; margin-bottom: 8px; }
.shop-editorial .product-spec .v { font-family: var(--deka-serif); font-weight: 300; font-size: 22px; letter-spacing: -0.01em; }
.shop-editorial .product-spec .v sup { font-family: var(--deka-mono); font-size: 0.42em; vertical-align: top; margin-left: 3px; color: var(--deka-brass); font-weight: 400; }

.shop-editorial .product-includes {
    padding: 28px; border: 1px solid var(--deka-rule);
    background: var(--deka-ivory);
}
.shop-editorial .product-includes__title {
    font-family: var(--deka-mono); font-size: 10.5px; letter-spacing: 0.22em; text-transform: uppercase;
    opacity: 0.55; margin-bottom: 18px;
}
.shop-editorial .product-includes ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.shop-editorial .product-includes li {
    font-family: var(--deka-serif); font-weight: 400; font-size: 16px; line-height: 1.5;
    padding-left: 22px; position: relative;
}
.shop-editorial .product-includes li::before {
    content: ''; position: absolute; left: 0; top: 0.7em;
    width: 12px; height: 1px; background: var(--deka-sapphire);
}

/* ── Compatibility row ─────────────────────────────────────────────── */
.shop-editorial .product-compat { padding: 120px 0; background: var(--deka-ivory); color: var(--deka-ink); }
.shop-editorial .product-compat__row {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 24px; margin-top: 56px;
}
.shop-editorial .product-compat__card {
    padding: 24px; border: 1px solid var(--deka-rule); background: var(--deka-bone);
    display: flex; flex-direction: column; gap: 16px;
    transition: background .4s ease, transform .4s ease;
}
.shop-editorial .product-compat__card:hover { background: var(--deka-ivory); transform: translateY(-3px); }
.shop-editorial .product-compat__img {
    aspect-ratio: 1/1; display: flex; align-items: center; justify-content: center;
    background: #fff; border: 1px solid var(--deka-rule);
}
.shop-editorial .product-compat__img img { width: 80%; height: 80%; object-fit: contain; }
.shop-editorial .product-compat__name { font-family: var(--deka-serif); font-size: 22px; font-weight: 400; letter-spacing: -0.01em; }
.shop-editorial .product-compat__sub { font-family: var(--deka-mono); font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--deka-sapphire); }

/* ── Related grid ─────────────────────────────────────────────────── */
.shop-editorial .product-related { padding: 120px 0 160px; background: var(--deka-bone); color: var(--deka-ink); }
.shop-editorial .product-related .shop-grid { margin-top: 56px; }

/* ==========================================================================
   SINGLE PRODUCT — laser-hero–style dark hero (product LEFT · summary RIGHT),
   then related-by-category + lasers CTA. Pairs with woocommerce/single-product.php.
   Top padding clears the fixed nav (clamp 150–215px), like .laser-hero.
   ========================================================================== */
.product-hero { position: relative; overflow: hidden; padding: clamp(150px, 18vh, 215px) 0 clamp(72px, 9vh, 120px); background: var(--deka-ink); color: var(--deka-ivory); }
.product-hero__overlay {
    position: absolute; inset: 0; z-index: 0;
    background:
        radial-gradient(ellipse 55% 50% at 18% 28%, rgba(43,82,159,0.45), transparent 60%),
        linear-gradient(180deg, rgba(4,5,65,0.92) 0%, rgba(4,5,65,0.75) 50%, rgba(4,5,65,0.97) 100%);
}
.product-hero .container { position: relative; z-index: 1; }
.product-hero__crumbs { display: flex; gap: 8px; align-items: center; font-family: var(--deka-mono); font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(245,244,239,0.5); margin-bottom: 36px; flex-wrap: wrap; }
.product-hero__crumbs a { color: var(--deka-sapphire-soft); }
.product-hero__crumbs-current { color: rgba(245,244,239,0.85); }

.product-hero__grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(40px, 5vw, 80px); align-items: center; }
@media (max-width: 900px) { .product-hero__grid { grid-template-columns: 1fr; gap: 36px; } }

/* product media — reuse the standard .svc product card (no hover lift, no arrow) + gallery thumbs */
.product-hero__media { display: flex; flex-direction: column; gap: 16px; max-width: 480px; }
.product-card:hover { transform: none; box-shadow: 0 30px 70px -42px rgba(0,0,0,0.55); }
.product-card .svc-body { gap: 4px; }
.product-card__price { font-family: var(--deka-serif); font-size: 24px; font-weight: 400; color: var(--deka-sapphire); margin-top: 2px; }
.product-thumbs { display: flex; gap: 10px; flex-wrap: wrap; }
.product-thumb { width: 62px; height: 62px; padding: 6px; border-radius: 12px; background: #fff; border: 1px solid rgba(245,244,239,0.28); cursor: pointer; display: grid; place-items: center; transition: border-color .2s ease, box-shadow .2s ease; }
.product-thumb img { max-width: 100%; max-height: 100%; object-fit: contain; }
.product-thumb.is-active { border-color: var(--deka-sapphire-soft); box-shadow: 0 0 0 2px rgba(139,142,178,0.45); }

/* summary */
.product-hero__kicker { font-family: var(--deka-mono); font-size: 12px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--deka-sapphire-soft); font-weight: 500; }
.product-hero__title { margin: 14px 0 14px; font-size: clamp(36px, 4.6vw, 64px); line-height: 1.04; letter-spacing: -0.025em; color: var(--deka-ivory); text-wrap: balance; }
.product-hero__price { font-family: var(--deka-serif); font-size: clamp(26px, 3vw, 36px); font-weight: 400; color: var(--deka-sapphire-soft); margin-bottom: 22px; }
.product-hero__price del { color: rgba(245,244,239,0.4); margin-right: 10px; }
.product-hero__desc { font-size: 16px; line-height: 1.7; color: rgba(245,244,239,0.82); max-width: 52ch; }
.product-hero__desc p { margin-bottom: 12px; }
.product-hero__desc h2, .product-hero__desc h3 { color: var(--deka-ivory); font-family: var(--deka-serif); margin: 18px 0 8px; }

/* WooCommerce add-to-cart on the dark hero */
.product-hero__cart { margin: 26px 0 24px; }
.product-hero__cart form.cart { display: flex; align-items: stretch; gap: 14px; flex-wrap: wrap; }
.product-hero__cart .quantity { display: inline-flex; }
.product-hero__cart .quantity input.qty {
    width: 84px; padding: 15px 12px; text-align: center; font-family: var(--deka-sans); font-size: 16px;
    border: 1px solid rgba(245,244,239,0.25); border-radius: 999px; background: rgba(255,255,255,0.06); color: var(--deka-ivory); -moz-appearance: textfield;
}
.product-hero__cart button.single_add_to_cart_button,
.product-hero__cart .single_add_to_cart_button.button {
    flex: 1; min-width: 200px; padding: 16px 30px; border: 0; border-radius: 999px; cursor: pointer;
    background: var(--deka-ivory); color: var(--deka-ink);
    font-family: var(--deka-mono); font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 600;
    transition: transform .3s ease, box-shadow .3s ease;
}
.product-hero__cart button.single_add_to_cart_button:hover { transform: translateY(-2px); box-shadow: 0 20px 50px -20px rgba(0,0,0,0.5); }
.product-hero__cart .woocommerce-variation-add-to-cart { display: flex; gap: 14px; flex-wrap: wrap; width: 100%; }

.product-hero__meta { display: flex; flex-wrap: wrap; gap: 22px; font-family: var(--deka-mono); font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(245,244,239,0.55); }
.product-hero__meta strong { color: var(--deka-ivory); font-weight: 600; margin-right: 8px; }
.product-hero__meta a { color: var(--deka-sapphire-soft); }

/* related */
.product-related { padding: clamp(56px, 7vh, 96px) 0; background: var(--deka-bone); }
.product-related .svc-grid { margin-top: 8px; }

/* ==========================================================================
   SHOP CARD — add-to-cart button + per-product "in cart" quantity.
   ========================================================================== */
.svc-cart { display: flex; align-items: center; gap: 12px; margin-top: 16px; }
.svc-add {
    flex: 1 1 auto; text-align: center; padding: 12px 18px; border-radius: 999px;
    background: var(--deka-sapphire); color: #fff;
    font-family: var(--deka-mono); font-size: 10.5px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600;
    white-space: nowrap; transition: background .2s ease, opacity .2s ease;
}
.svc-add:hover { background: var(--deka-ink); }
.svc-add.loading { opacity: 0.55; pointer-events: none; }
.svc-add.added { background: var(--deka-ink); }
.svc-incart { font-family: var(--deka-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--deka-sapphire); white-space: nowrap; }
.svc-incart.is-empty { display: none; }
/* WooCommerce auto-injects a "View cart" link after add — hidden; the header cart covers it. */
.svc-cart .added_to_cart { display: none; }

/* ==========================================================================
   CART / CHECKOUT — shared body + WooCommerce cart markup styling.
   Hero header is rendered by page.php; this styles the WC content beneath it.
   ========================================================================== */
.commerce-body { padding: clamp(48px, 6vh, 90px) 0 clamp(72px, 9vh, 120px); background: var(--deka-ivory); }
.commerce-body .woocommerce { color: var(--deka-ink); }

/* WC notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews {
    list-style: none; background: #fff; border: 1px solid var(--deka-rule); border-left: 3px solid var(--deka-sapphire);
    border-radius: 10px; padding: 14px 18px; margin: 0 0 22px; font-size: 14.5px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}
.woocommerce-error { border-left-color: #b3261e; }
.woocommerce-message .button, .woocommerce-info .button { margin-left: auto; }

/* ── Cart: two-column layout — items left, sticky totals right ───────────── */
.woocommerce-cart .commerce-body .woocommerce:has(.woocommerce-cart-form) {
    display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(32px, 4vw, 60px);
}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-cart .woocommerce-cart-form { grid-column: 1; min-width: 0; }
.woocommerce-cart .cart-collaterals { grid-column: 2; }
@media (max-width: 900px) {
    .woocommerce-cart .commerce-body .woocommerce:has(.woocommerce-cart-form) { grid-template-columns: 1fr; }
}

/* ── Cart items: each row a grid, reordered thumb · name · price · qty · subtotal · × ── */
.shop_table.cart { display: block; width: 100%; }
.shop_table.cart thead, .shop_table.cart tbody { display: block; }
.shop_table.cart thead tr,
.shop_table.cart tbody tr.cart_item {
    display: grid; grid-template-columns: 72px minmax(0, 1fr) 92px 84px 104px 30px;
    align-items: center; column-gap: 20px;
}
.shop_table.cart thead tr { padding: 0 0 14px; border-bottom: 1px solid var(--deka-rule); }
.shop_table.cart tbody tr.cart_item { padding: 18px 0; border-bottom: 1px solid var(--deka-rule); }
.shop_table.cart thead th { font-family: var(--deka-mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(4,5,65,0.45); padding: 0; border: 0; }
.shop_table.cart td { padding: 0; border: 0; font-size: 15px; }

/* column placement (DOM order is remove · thumb · name · price · qty · subtotal) */
.shop_table.cart .product-thumbnail { grid-column: 1; }
.shop_table.cart .product-name      { grid-column: 2; text-align: left; }
.shop_table.cart .product-price     { grid-column: 3; text-align: right; }
.shop_table.cart .product-quantity  { grid-column: 4; justify-self: center; }
.shop_table.cart .product-subtotal  { grid-column: 5; text-align: right; }
.shop_table.cart .product-remove    { grid-column: 6; justify-self: end; }

.cart_item .product-thumbnail img { width: 72px; height: 72px; object-fit: contain; background: #fff; border: 1px solid var(--deka-rule); border-radius: 10px; padding: 6px; display: block; }
.cart_item .product-name a { color: var(--deka-ink); font-family: var(--deka-serif); font-size: 17px; line-height: 1.25; text-decoration: none; }
.cart_item .product-name .variation { font-family: var(--deka-mono); font-size: 11px; color: rgba(4,5,65,0.55); margin-top: 4px; }
.cart_item .product-price { font-family: var(--deka-mono); font-size: 14px; color: rgba(4,5,65,0.7); }
.cart_item .product-subtotal { font-family: var(--deka-mono); font-size: 14px; font-weight: 600; color: var(--deka-ink); }
.cart_item .product-quantity .qty { width: 76px; padding: 11px 6px; text-align: center; border: 1px solid var(--deka-rule); border-radius: 8px; background: #fff; color: var(--deka-ink); -moz-appearance: textfield; }
.product-remove a.remove { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(4,5,65,0.06); color: var(--deka-ink) !important; font-size: 16px; line-height: 1; text-decoration: none; transition: background .2s ease; }
.product-remove a.remove:hover { background: rgba(179,38,30,0.12); color: #b3261e !important; }

/* coupon + update row (spans full width below the items) */
.shop_table.cart tbody tr:not(.cart_item) { display: block; }
.woocommerce-cart-form .actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: space-between; align-items: center; padding: 24px 0 0; }
.woocommerce-cart-form .coupon { display: flex; gap: 10px; flex-wrap: wrap; }
.woocommerce-cart-form .coupon input { padding: 12px 16px; border: 1px solid var(--deka-rule); border-radius: 999px; background: #fff; font-size: 14px; min-width: 0; }

/* buttons (apply coupon / update cart / generic) */
.commerce-body .button, .commerce-body button.button {
    padding: 12px 24px; border: 0; border-radius: 999px; background: var(--deka-ink); color: #fff !important;
    font-family: var(--deka-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; cursor: pointer; transition: background .2s ease;
}
.commerce-body .button:hover, .commerce-body button.button:hover { background: var(--deka-sapphire); }
.commerce-body .button[disabled] { opacity: .5; }

/* totals — sticky card in the right column */
.cart-collaterals { margin: 0; }
.cart-collaterals .cross-sells { display: none; }
.cart_totals { width: 100%; background: #fff; border: 1px solid var(--deka-rule); border-radius: 18px; padding: 28px; box-shadow: 0 30px 70px -45px rgba(4,5,65,0.25); position: sticky; top: 110px; }
.cart_totals h2 { font-family: var(--deka-serif); font-weight: 500; font-size: 26px; color: var(--deka-ink); margin-bottom: 14px; }
.cart_totals table { width: 100%; border-collapse: collapse; }
.cart_totals th, .cart_totals td { padding: 13px 0; border-bottom: 1px solid var(--deka-rule); font-size: 15px; }
.cart_totals th { text-align: left; font-family: var(--deka-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(4,5,65,0.55); font-weight: 500; }
.cart_totals td { text-align: right; color: var(--deka-ink); }
.cart_totals .order-total th, .cart_totals .order-total td { border-bottom: 0; padding-top: 16px; }
.cart_totals .order-total td { font-family: var(--deka-serif); font-size: 24px; color: var(--deka-sapphire); }
.wc-proceed-to-checkout { margin-top: 22px; padding: 0; }
.wc-proceed-to-checkout a.checkout-button { display: block; text-align: center; padding: 16px; border-radius: 999px; background: var(--deka-sapphire); color: #fff !important; font-family: var(--deka-mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; }
.wc-proceed-to-checkout a.checkout-button:hover { background: var(--deka-ink); }

/* empty cart */
.cart-empty, .wc-empty-cart-message { font-size: 18px; color: rgba(4,5,65,0.7); margin-bottom: 18px; }
.return-to-shop a.button { display: inline-block; background: var(--deka-sapphire); }

/* mobile: each row becomes a compact card (thumb spans, name/×, qty/subtotal) */
@media (max-width: 720px) {
    .shop_table.cart thead { display: none; }
    .shop_table.cart tbody tr.cart_item {
        grid-template-columns: 60px 1fr auto; column-gap: 14px; row-gap: 10px;
        border: 1px solid var(--deka-rule); border-radius: 14px; margin-bottom: 14px; padding: 16px;
    }
    .shop_table.cart .product-thumbnail { grid-column: 1; grid-row: 1 / span 2; align-self: start; }
    .shop_table.cart .product-name { grid-column: 2; grid-row: 1; }
    .shop_table.cart .product-remove { grid-column: 3; grid-row: 1; justify-self: end; }
    .shop_table.cart .product-quantity { grid-column: 2; grid-row: 2; justify-self: start; }
    .shop_table.cart .product-subtotal { grid-column: 3; grid-row: 2; text-align: right; align-self: center; }
    .shop_table.cart .product-price { display: none; }
    .woocommerce-cart-form .actions { flex-direction: column; align-items: stretch; }
    .cart_totals { position: static; }
}

/* lasers CTA */
.product-lasers-cta { padding: clamp(48px, 6vh, 88px) 0 clamp(64px, 8vh, 110px); background: var(--deka-ivory); }
.product-lasers-cta__card {
    background:
        radial-gradient(ellipse 70% 90% at 0% 0%, rgba(43,82,159,0.25), transparent 60%),
        linear-gradient(135deg, var(--deka-ink), #0a0c52);
    color: var(--deka-ivory); border-radius: 28px; padding: clamp(40px, 5vw, 72px); text-align: center;
}
.product-lasers-cta__card .kicker { font-family: var(--deka-mono); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--deka-sapphire-soft); }
.product-lasers-cta__card h2 { color: var(--deka-ivory); font-size: clamp(30px, 4vw, 52px); line-height: 1.05; margin: 14px 0 14px; }
@media (min-width: 1000px) { .product-lasers-cta__card h2 { font-size: var(--deka-h2); } }
.product-lasers-cta__card h2 em { font-family: var(--deka-serif); font-style: italic; color: var(--deka-sapphire-soft); }
.product-lasers-cta__card p { max-width: 52ch; margin: 0 auto 28px; color: rgba(245,244,239,0.8); line-height: 1.65; }

/* ==========================================================================
   CHECKOUT — WooCommerce checkout form, two-column (details left, order right).
   Hero header comes from page.php. Selects: select2 is broken without WC CSS,
   so hide its widget and show the styled native <select>.
   ========================================================================== */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1.4fr 1fr; grid-template-rows: auto 1fr; gap: clamp(32px,4vw,64px); align-items: start; }
@media (max-width: 980px){ .woocommerce-checkout form.checkout { grid-template-columns: 1fr; gap: 36px; } }
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / 3; min-width: 0; }
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; align-self: start; margin: 0 0 16px; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; align-self: start; min-width: 0; position: sticky; top: 110px; }
@media (max-width: 980px){
    .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 1; }
    .woocommerce-checkout #order_review_heading { grid-row: auto; }
}
#customer_details .col-1, #customer_details .col-2 { width: 100%; }
.woocommerce-shipping-fields, .woocommerce-additional-fields { margin-top: 30px; }

.commerce-body h3,
.woocommerce-billing-fields > h3, .woocommerce-shipping-fields h3, #order_review_heading, #ship-to-different-address {
    font-family: var(--deka-serif); font-weight: 400; font-size: clamp(22px,2.6vw,30px); color: var(--deka-ink); margin: 0 0 18px;
}
#ship-to-different-address label { font-family: var(--deka-serif); text-transform: none; letter-spacing: 0; font-size: inherit; color: var(--deka-ink); }

/* fields — billing + shipping render as a two-column grid; form-row-first/last
   pair up (names, city|state, phone|email), form-row-wide spans both columns. */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
    display: grid; grid-template-columns: 1fr 1fr; column-gap: 18px;
}
.commerce-body .form-row-wide  { grid-column: 1 / -1; }
.commerce-body .form-row-first { grid-column: 1; }
.commerce-body .form-row-last  { grid-column: 2; }
@media (max-width: 560px) {
    .woocommerce-billing-fields__field-wrapper,
    .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
    .commerce-body .form-row-first, .commerce-body .form-row-last { grid-column: 1; }
}
.commerce-body .form-row { display: block; margin: 0 0 16px; padding: 0; }
.commerce-body .form-row label { display: block; font-family: var(--deka-mono); font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(4,5,65,0.6); margin-bottom: 6px; }
.commerce-body .form-row .required { color: var(--deka-sapphire); border: 0; text-decoration: none; }
.commerce-body .form-row .optional { color: rgba(4,5,65,0.4); }
.commerce-body .input-text,
.commerce-body .form-row input[type="text"], .commerce-body .form-row input[type="email"],
.commerce-body .form-row input[type="tel"], .commerce-body .form-row input[type="password"],
.commerce-body .form-row textarea, .commerce-body .form-row select {
    width: 100%; padding: 13px 14px; border: 1px solid var(--deka-rule); border-radius: 10px;
    background: #fff; color: var(--deka-ink); font-family: var(--deka-sans); font-size: 15px; line-height: 1.4;
}
.commerce-body .form-row select { height: auto; min-height: 48px; cursor: pointer; }
.commerce-body .form-row input:focus, .commerce-body .form-row select:focus, .commerce-body .form-row textarea:focus { outline: none; border-color: var(--deka-sapphire); }

/* select2 widget is unstyled (WC CSS removed) → hide it, use native select */
.select2-container { display: none !important; }
.woocommerce-checkout select.country_select, .woocommerce-checkout select.state_select { display: block !important; }
.woocommerce-checkout .select2-hidden-accessible { position: static !important; width: 100% !important; height: auto !important; clip: auto !important; margin: 0 !important; opacity: 1 !important; }

/* create-account / login toggles */
.woocommerce-account-fields, .woocommerce-form-login, .checkout_coupon { background: #fff; border: 1px solid var(--deka-rule); border-radius: 12px; padding: 18px; margin-bottom: 20px; }
.woocommerce-form-login-toggle, .woocommerce-form-coupon-toggle { margin-bottom: 18px; }

/* order review */
#order_review { background: #fff; border: 1px solid var(--deka-rule); border-radius: 18px; padding: 28px; box-shadow: 0 30px 70px -45px rgba(4,5,65,0.25); }
.woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: 12px 0; border-bottom: 1px solid var(--deka-rule); text-align: left; font-size: 14.5px; }
.woocommerce-checkout-review-order-table .product-name { color: var(--deka-ink); }
.woocommerce-checkout-review-order-table .order-total th { font-family: var(--deka-mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; }
.woocommerce-checkout-review-order-table .order-total td { font-family: var(--deka-serif); font-size: 22px; color: var(--deka-sapphire); }

#payment { margin-top: 18px; }
#payment ul.payment_methods { list-style: none; padding: 0; margin: 0 0 16px; border-bottom: 1px solid var(--deka-rule); }
#payment ul.payment_methods li { padding: 10px 0; }
#payment .payment_box { background: var(--deka-bone); border-radius: 10px; padding: 14px; font-size: 13.5px; margin-top: 8px; }
#payment .place-order { padding-top: 8px; }
.woocommerce-privacy-policy-text { font-size: 12.5px; color: rgba(4,5,65,0.6); margin: 12px 0; }
#place_order, button#place_order {
    width: 100%; padding: 16px; border: 0; border-radius: 999px; background: var(--deka-sapphire); color: #fff !important;
    font-family: var(--deka-mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 600; cursor: pointer; transition: background .2s ease;
}
#place_order:hover { background: var(--deka-ink); }

/* Conditional shipping toggle — clean checkbox row (not a heading) */
#ship-to-different-address { margin: 26px 0 16px; }
#ship-to-different-address label.woocommerce-form__label-for-checkbox,
#ship-to-different-address label {
    display: inline-flex; align-items: center; gap: 10px; cursor: pointer;
    font-family: var(--deka-sans); font-weight: 500; font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--deka-ink);
}
.commerce-body input[type="checkbox"], .commerce-body input.input-checkbox {
    width: 18px; height: 18px; min-width: 18px; accent-color: var(--deka-sapphire); cursor: pointer; margin: 0;
}
.woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-family: var(--deka-sans); font-size: 14.5px; color: var(--deka-ink); }
/* WC hides .shipping_address by default when unchecked (via checkout.js); keep it block when shown */
.shipping_address { padding-top: 6px; }

/* ==========================================================================
   ORDER RECEIVED / THANK-YOU  (renders in .commerce-body under the page-hero)
   ========================================================================== */
.commerce-body .woocommerce-thankyou-order-received,
.commerce-body .woocommerce-notice--success {
    font-family: var(--deka-serif); font-weight: 500; font-size: clamp(22px, 2.6vw, 30px);
    color: var(--deka-ink); margin: 0 0 36px; padding-bottom: 28px; border-bottom: 1px solid var(--deka-rule);
}
.commerce-body ul.woocommerce-order-overview {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1px;
    list-style: none; margin: 0 0 52px !important; padding: 0 !important;
    background: var(--deka-rule); border: 1px solid var(--deka-rule);
}
.commerce-body ul.woocommerce-order-overview li {
    background: var(--deka-ivory); padding: 20px 22px; margin: 0; list-style: none;
    display: flex; flex-direction: column; gap: 8px;
    font-family: var(--deka-mono); font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(4, 5, 65, 0.5);
}
.commerce-body ul.woocommerce-order-overview li strong {
    font-family: var(--deka-serif); font-weight: 500; font-size: 18px; letter-spacing: 0; text-transform: none; color: var(--deka-ink);
}
.commerce-body .woocommerce-order-details__title,
.commerce-body .woocommerce-column__title,
.commerce-body .woocommerce-customer-details h2 {
    font-family: var(--deka-serif); font-weight: 500; font-size: clamp(22px, 2.6vw, 30px); color: var(--deka-ink); margin: 0 0 18px;
}
.commerce-body .woocommerce-order-details { margin-bottom: 52px; }
.commerce-body .woocommerce-table--order-details { width: 100%; border-collapse: collapse; }
.commerce-body .woocommerce-table--order-details th,
.commerce-body .woocommerce-table--order-details td {
    padding: 13px 0; border-bottom: 1px solid var(--deka-rule); text-align: left; font-size: 14.5px; color: var(--deka-ink);
}
.commerce-body .woocommerce-table--order-details tfoot th {
    font-family: var(--deka-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(4, 5, 65, 0.6);
}
.commerce-body .woocommerce-table--order-details tfoot .order-total td {
    font-family: var(--deka-serif); font-size: 20px; color: var(--deka-sapphire);
}
.commerce-body .woocommerce-order-details a, .commerce-body .woocommerce-table--order-details a { color: var(--deka-sapphire); text-decoration: none; }
.commerce-body .woocommerce-columns--addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 0; }
@media (max-width: 700px) { .commerce-body .woocommerce-columns--addresses { grid-template-columns: 1fr; } }
.commerce-body .woocommerce-customer-details address {
    font-style: normal; font-size: 14.5px; line-height: 1.7; color: var(--deka-ink);
    background: #fff; border: 1px solid var(--deka-rule); border-radius: 12px; padding: 20px 22px;
}

/* ==========================================================================
   Shop archive grid — 4 cards per row on desktop, and pin the divider/price/
   add-to-cart to the BOTTOM of every card so they align across the row no
   matter how long the title or description runs. Scoped to .shop-content so
   the home/laser .svc cards (3-up) are unaffected.
   ========================================================================== */
.shop-content .svc-grid { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1200px) { .shop-content .svc-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px)  { .shop-content .svc-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .shop-content .svc-grid { grid-template-columns: 1fr; } }

/* push the footer block to the card bottom (works with or without a description) */
.shop-content .svc-foot { margin-top: auto; }

/* ------------------------------------------------------------------
 * My Account. The theme dequeues all WooCommerce CSS, so every account
 * screen (login, dashboard, orders, addresses, downloads) is styled here.
 * Content comes from [woocommerce_my_account]; no template overrides.
 * ------------------------------------------------------------------ */
.woocommerce-account .commerce-body { padding: 4rem 0 5rem; }

/* Logged-out: a single centered login card. */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	max-width: 30rem;
	margin: 0 auto;
	padding: 2.5rem;
	background: #fff;
	border-radius: var(--anchor-radius-lg, 12px);
	box-shadow: 0 2px 24px rgba(0, 0, 0, .07);
}
.woocommerce-account .woocommerce-form-login .form-row { margin-bottom: 1.1rem; }
.woocommerce-account label { display: block; margin-bottom: .35rem; font-weight: 500; }
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="tel"],
.woocommerce-account input[type="password"] {
	width: 100%;
	padding: .7rem .9rem;
	border: 1px solid rgba(0, 0, 0, .18);
	border-radius: var(--anchor-radius-sm, 6px);
	font: inherit;
}
.woocommerce-account .woocommerce-form-login__rememberme { font-weight: 400; }

/* Logged-in: nav rail + content. */
.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none;
	width: auto;
	margin: 0 0 2rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: .55rem 1rem;
	border-radius: 999px;
	text-decoration: none;
	background: rgba(0, 0, 0, .05);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--anchor-color-primary, #0b2545); color: #fff; }
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }

.woocommerce-account table.woocommerce-orders-table,
.woocommerce-account table.shop_table { width: 100%; border-collapse: collapse; }
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td { padding: .85rem 1rem; text-align: left; border-bottom: 1px solid rgba(0, 0, 0, .1); }

.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-info {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 1rem 1.25rem;
	border-radius: var(--anchor-radius-sm, 6px);
	background: rgba(0, 0, 0, .04);
}

@media (min-width: 860px) {
	.woocommerce-account .woocommerce-MyAccount-navigation ul { flex-direction: column; }
	.woocommerce-account .woocommerce-MyAccount-navigation { float: left; width: 22%; margin-right: 4%; }
	.woocommerce-account .woocommerce-MyAccount-content { float: left; width: 74%; }
	.woocommerce-account .commerce-body .container::after { content: ""; display: table; clear: both; }
}

/* Addresses. myaccount/my-address.php: two woocommerce-Address cards
 * (billing/shipping) inside a col2-set/u-columns wrapper. */
.woocommerce-account .woocommerce-Addresses.col2-set,
.woocommerce-account .u-columns {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
}
.woocommerce-account .woocommerce-Address {
	background: #fff;
	border-radius: var(--anchor-radius-lg, 12px);
	box-shadow: 0 2px 24px rgba(0, 0, 0, .07);
	padding: 2rem;
}
.woocommerce-account .woocommerce-Address-title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}
.woocommerce-account .woocommerce-Address-title h2 {
	font-size: 1.375rem;
	margin: 0;
}
.woocommerce-account .woocommerce-Address-title .edit {
	flex-shrink: 0;
	display: inline-block;
	padding: .4rem .9rem;
	border-radius: 999px;
	background: rgba(0, 0, 0, .05);
	color: inherit;
	text-decoration: none;
	font-size: .85rem;
}
.woocommerce-account .woocommerce-Address-title .edit:hover { background: rgba(0, 0, 0, .1); }
.woocommerce-account .woocommerce-Address address {
	font-style: normal;
	line-height: 1.6;
}
@media (max-width: 700px) {
	.woocommerce-account .woocommerce-Addresses.col2-set,
	.woocommerce-account .u-columns {
		grid-template-columns: 1fr;
	}
}

/* Orders pagination (myaccount/orders.php, >10 orders). */
.woocommerce-account .woocommerce-pagination {
	margin-top: 2rem;
	text-align: center;
}
.woocommerce-account .woocommerce-pagination .woocommerce-button {
	display: inline-block;
	padding: .55rem 1.1rem;
	margin: 0 .25rem;
	border-radius: 999px;
	background: rgba(0, 0, 0, .05);
	color: inherit;
	text-decoration: none;
}
.woocommerce-account .woocommerce-pagination .woocommerce-button:hover { background: rgba(0, 0, 0, .1); }
.woocommerce-account .woocommerce-pagination .woocommerce-button--next { margin-left: .25rem; }
.woocommerce-account .woocommerce-pagination .woocommerce-button--previous { margin-right: .25rem; }
