:root {
      --void:        #030608;
      --midnight:    #060c14;
      --deep-teal:   #0a1d2e;
      --ice:         #6bbdd4;
      --ice-15:      rgba(107,189,212,0.15);
      --ice-08:      rgba(107,189,212,0.08);
      --silver:      #b8cad4;
      --bark:        #0d0804;
      --gold:        #b87818;
      --honey:       #d89818;
      --f-display:   'Cormorant', 'Georgia', serif;
      --f-caps:      'Cinzel', serif;
      --f-body:      'Crimson Pro', 'Georgia', serif;
      --ease-silk:   cubic-bezier(0.22, 1, 0.36, 1);
      --ease-cinema: cubic-bezier(0.16, 1, 0.30, 1);
      --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { font-size: 16px; scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
    body { background: var(--midnight); color: var(--silver); font-family: var(--f-body); line-height: 1.7; overflow-x: hidden; min-height: 100vh; display: flex; flex-direction: column; }

    body::after {
      content: '';
      position: fixed; inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='250' height='250'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='250' height='250' filter='url(%23n)'/%3E%3C/svg%3E");
      opacity: 0.038; pointer-events: none; z-index: 9998; mix-blend-mode: screen;
    }

    img { display: block; max-width: 100%; }
    a   { text-decoration: none; color: inherit; }
    ::-webkit-scrollbar { width: 2px; }
    ::-webkit-scrollbar-track { background: var(--void); }
    ::-webkit-scrollbar-thumb { background: linear-gradient(to bottom, var(--ice), var(--honey)); }
    .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }

    #particles { position: fixed; inset: 0; pointer-events: none; z-index: 1; }

    .cursor { position: fixed; width: 8px; height: 8px; border-radius: 50%; background: var(--ice); pointer-events: none; z-index: 9999; transform: translate(-50%,-50%); transition: width .25s var(--ease-silk), height .25s var(--ease-silk), background .4s; mix-blend-mode: screen; }
    .cursor-ring { position: fixed; width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(107,189,212,.45); pointer-events: none; z-index: 9998; transform: translate(-50%,-50%); transition: width .4s var(--ease-silk), height .4s var(--ease-silk), border-color .4s; }
    body.cursor-hover .cursor { width: 14px; height: 14px; background: var(--honey); }
    body.cursor-hover .cursor-ring { width: 52px; height: 52px; border-color: rgba(216,152,24,.4); }
    @media (hover: none) { .cursor, .cursor-ring { display: none; } }

    /* NAV */
    .nav {
      position: fixed; top: 0; left: 0; right: 0; z-index: 200;
      padding: 2rem 3.5rem;
      display: flex; align-items: center; justify-content: space-between;
      transition: padding .5s var(--ease-silk), background .5s, border-color .5s;
      border-bottom: 1px solid transparent;
    }
    .nav.stuck { padding: 1rem 3.5rem; background: rgba(4,8,14,.92); backdrop-filter: blur(18px) saturate(1.4); border-bottom-color: rgba(107,189,212,.06); }
    .nav-brand-svg { height: 40px; width: auto; display: block; }
    .nav-links { display: flex; align-items: center; gap: 2.5rem; list-style: none; }
    .nav-links a { font-family: var(--f-caps); font-size: .58rem; letter-spacing: .20em; color: var(--silver); opacity: .60; position: relative; transition: opacity .3s, color .3s; }
    .nav-links a::after { content: ''; position: absolute; bottom: -3px; left: 0; width: 0; height: 1px; background: var(--ice); transition: width .35s var(--ease-silk); }
    .nav-links a:hover, .nav-links a.nav-active { opacity: 1; color: var(--ice); }
    .nav-links a:hover::after, .nav-links a.nav-active::after { width: 100%; }
    .nav-cta { opacity: 1 !important; color: var(--ice) !important; border: 1px solid rgba(107,189,212,.25); padding: .5rem 1.1rem; transition: background .3s !important; }
    .nav-cta::after { display: none !important; }
    .nav-cta:hover { background: var(--ice-15); }
    .nav-right { display: flex; align-items: center; }
    .cart-nav-btn { position: relative; background: none; border: none; cursor: pointer; padding: .4rem; color: var(--silver); opacity: .65; transition: opacity .3s, color .3s; }
    .cart-nav-btn:hover { opacity: 1; color: var(--ice); }
    .cart-nav-btn svg { width: 22px; height: 22px; display: block; }
    .cart-badge {
      position: absolute; top: -5px; right: -7px;
      background: var(--honey); color: var(--midnight);
      border-radius: 50%; width: 18px; height: 18px;
      font-family: var(--f-caps); font-size: .48rem; font-weight: 600;
      display: flex; align-items: center; justify-content: center;
      opacity: 0; transform: scale(0);
      transition: opacity .3s var(--ease-spring), transform .3s var(--ease-spring);
    }
    .cart-badge.visible { opacity: 1; transform: scale(1); }

    /* HERO */
    .co-hero {
      position: relative; z-index: 2;
      padding: 10rem 2rem 3.5rem;
      text-align: center;
      background: linear-gradient(165deg, var(--deep-teal) 0%, var(--midnight) 55%, var(--bark) 100%);
    }
    .co-hero::before {
      content: '';
      position: absolute; inset: 0;
      background: radial-gradient(ellipse 60% 50% at 50% 0%, rgba(107,189,212,.12) 0%, transparent 70%);
      pointer-events: none;
    }
    .co-hero-inner { position: relative; z-index: 1; }
    .co-breadcrumb { font-family: var(--f-caps); font-size: .50rem; letter-spacing: .22em; color: var(--silver); opacity: .40; margin-bottom: 1.4rem; }
    .co-breadcrumb a:hover { opacity: .85; transition: opacity .25s; }
    .co-title { font-family: var(--f-caps); font-size: clamp(1.8rem, 4vw, 3rem); font-weight: 400; letter-spacing: .28em; color: var(--silver); margin-bottom: .6rem; }
    .co-sub { font-family: var(--f-display); font-style: italic; font-size: 1.1rem; color: var(--ice); opacity: .72; }

    /* STEPS */
    .co-steps {
      position: relative; z-index: 2;
      display: flex; justify-content: center; align-items: center; gap: 0;
      padding: 2rem 1.5rem 0;
      max-width: 520px; margin: 0 auto;
    }
    .co-step {
      display: flex; flex-direction: column; align-items: center; gap: .55rem;
      flex: 1; position: relative;
    }
    .co-step:not(:last-child)::after {
      content: '';
      position: absolute; top: 14px; left: calc(50% + 18px);
      width: calc(100% - 36px); height: 1px;
      background: linear-gradient(90deg, rgba(107,189,212,.35), rgba(107,189,212,.08));
    }
    .co-step-dot {
      width: 28px; height: 28px; border-radius: 50%;
      border: 1px solid rgba(107,189,212,.25);
      display: flex; align-items: center; justify-content: center;
      font-family: var(--f-caps); font-size: .44rem; letter-spacing: .08em;
      color: var(--silver); opacity: .45;
      background: rgba(6,12,20,.6);
      transition: border-color .4s, background .4s, color .4s, opacity .4s, box-shadow .4s;
    }
    .co-step.active .co-step-dot {
      border-color: var(--ice);
      background: var(--ice-15);
      color: var(--ice);
      opacity: 1;
      box-shadow: 0 0 20px rgba(107,189,212,.2);
    }
    .co-step.done .co-step-dot {
      border-color: var(--honey);
      background: rgba(216,152,24,.12);
      color: var(--honey);
      opacity: 1;
    }
    .co-step-lbl { font-family: var(--f-caps); font-size: .42rem; letter-spacing: .22em; color: var(--silver); opacity: .35; }
    .co-step.active .co-step-lbl, .co-step.done .co-step-lbl { opacity: .75; color: var(--ice); }

    /* MAIN */
    .co-main { position: relative; z-index: 2; flex: 1; padding: 3rem 0 6rem; }
    .co-inner { max-width: 1100px; margin: 0 auto; padding: 0 3.5rem; }

    .co-grid {
      display: grid;
      grid-template-columns: 1fr 380px;
      gap: 2.5rem;
      align-items: start;
    }

    /* PANELS */
    .co-panel {
      background: rgba(6,12,20,.55);
      border: 1px solid rgba(107,189,212,.08);
      padding: 2rem 2.2rem;
    }
    .co-panel-title {
      font-family: var(--f-caps);
      font-size: .52rem; letter-spacing: .28em;
      color: var(--ice); opacity: .75;
      margin-bottom: 1.6rem;
      padding-bottom: .9rem;
      border-bottom: 1px solid rgba(107,189,212,.08);
    }

    /* FORM */
    .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem; }
    .form-row.single { grid-template-columns: 1fr; }
    .form-group { display: flex; flex-direction: column; gap: .4rem; margin-bottom: 1rem; }
    .form-group label {
      font-family: var(--f-caps);
      font-size: .44rem; letter-spacing: .22em;
      color: var(--silver); opacity: .55;
    }
    .form-group input, .form-group select {
      background: rgba(3,6,8,.5);
      border: 1px solid rgba(107,189,212,.12);
      color: var(--silver);
      font-family: var(--f-body);
      font-size: .95rem;
      padding: .75rem 1rem;
      transition: border-color .3s, box-shadow .3s;
    }
    .form-group input:focus, .form-group select:focus {
      outline: none;
      border-color: rgba(107,189,212,.45);
      box-shadow: 0 0 0 3px rgba(107,189,212,.08);
    }
    .form-group input::placeholder { color: rgba(184,202,212,.28); }
    .form-group input.error { border-color: rgba(220,80,80,.6); }

    #shipping-block { display: none; margin-top: .5rem; }
    #shipping-block.visible { display: block; }

    .pay-note {
      font-family: var(--f-body); font-size: .85rem;
      color: var(--silver); opacity: .38;
      margin-top: 1rem;
      display: flex; align-items: center; gap: .5rem;
    }

    /* SUMMARY */
    .co-summary { position: sticky; top: 7rem; }
    .summary-items { display: flex; flex-direction: column; gap: 1.1rem; margin-bottom: 1.5rem; }
    .summary-item {
      display: grid;
      grid-template-columns: 52px 1fr auto;
      gap: .9rem;
      align-items: center;
    }
    .summary-item img {
      width: 52px; height: 78px;
      object-fit: contain;
      background: var(--void);
    }
    .si-title { font-family: var(--f-display); font-size: .92rem; line-height: 1.28; color: var(--silver); }
    .si-meta { font-family: var(--f-caps); font-size: .40rem; letter-spacing: .18em; margin-top: .25rem; opacity: .5; }
    .si-meta.ebook { color: var(--ice); }
    .si-meta.paperback { color: var(--honey); }
    .si-price { font-family: var(--f-display); font-size: 1rem; color: var(--silver); white-space: nowrap; }

    .summary-rows { border-top: 1px solid rgba(107,189,212,.08); padding-top: 1.2rem; }
    .summary-row {
      display: flex; justify-content: space-between; align-items: center;
      margin-bottom: .65rem;
      font-family: var(--f-caps); font-size: .48rem; letter-spacing: .14em;
      color: var(--silver); opacity: .45;
    }
    .summary-row.total {
      margin-top: 1rem; padding-top: 1rem;
      border-top: 1px solid rgba(107,189,212,.1);
      opacity: 1; margin-bottom: 0;
    }
    .summary-row.total span:last-child {
      font-family: var(--f-display);
      font-size: 1.55rem;
      color: var(--silver);
    }
    .summary-row span:last-child { font-family: var(--f-body); font-size: .92rem; opacity: .85; }

    .btn-place {
      width: 100%; margin-top: 1.5rem;
      padding: 1.15rem;
      background: var(--honey); color: var(--midnight);
      border: none; cursor: pointer;
      font-family: var(--f-caps); font-size: .56rem; letter-spacing: .22em;
      transition: background .3s, box-shadow .3s, transform .2s;
    }
    .btn-place:hover:not(:disabled) {
      background: var(--gold);
      box-shadow: 0 0 32px rgba(216,152,24,.28);
    }
    .btn-place:disabled { opacity: .4; cursor: not-allowed; }
    .btn-place.loading { pointer-events: none; opacity: .7; }

    .back-shop {
      display: block; text-align: center; margin-top: 1rem;
      font-family: var(--f-caps); font-size: .46rem; letter-spacing: .18em;
      color: var(--silver); opacity: .38;
      transition: opacity .25s, color .25s;
    }
    .back-shop:hover { opacity: .85; color: var(--ice); }

    /* EMPTY */
    .co-empty {
      text-align: center;
      padding: 5rem 2rem;
      max-width: 480px;
      margin: 0 auto;
    }
    .co-empty-icon { font-size: 3rem; opacity: .25; margin-bottom: 1.2rem; }
    .co-empty h2 {
      font-family: var(--f-display); font-style: italic;
      font-size: 1.6rem; color: var(--silver); opacity: .55;
      margin-bottom: .8rem;
    }
    .co-empty p { font-size: .95rem; opacity: .35; margin-bottom: 2rem; }
    .btn-shop {
      display: inline-block;
      padding: 1rem 2.2rem;
      background: var(--ice-15);
      border: 1px solid rgba(107,189,212,.3);
      font-family: var(--f-caps); font-size: .54rem; letter-spacing: .20em;
      color: var(--ice);
      transition: background .3s, box-shadow .3s;
    }
    .btn-shop:hover { background: rgba(107,189,212,.22); box-shadow: 0 0 24px rgba(107,189,212,.12); }

    /* SUCCESS */
    .co-success {
      display: none;
      text-align: center;
      max-width: 560px;
      margin: 0 auto;
      padding: 3rem 2rem 5rem;
    }
    .co-success.visible { display: block; }
    .success-icon {
      width: 72px; height: 72px; border-radius: 50%;
      border: 1px solid rgba(216,152,24,.4);
      background: rgba(216,152,24,.1);
      display: flex; align-items: center; justify-content: center;
      margin: 0 auto 1.8rem;
      font-size: 1.8rem;
      color: var(--honey);
    }
    .co-success h2 {
      font-family: var(--f-caps);
      font-size: 1.4rem; letter-spacing: .22em;
      color: var(--silver); margin-bottom: .8rem;
    }
    .co-success p { font-family: var(--f-display); font-style: italic; font-size: 1.15rem; opacity: .65; margin-bottom: .5rem; }
    .order-id { font-family: var(--f-caps); font-size: .48rem; letter-spacing: .2em; color: var(--ice); opacity: .6; margin-bottom: 2rem; }
    .co-checkout-wrap.hidden { display: none; }

    /* FOOTER */
    .site-footer {
      position: relative; z-index: 2;
      background: var(--void);
      border-top: 1px solid rgba(107,189,212,.05);
      padding: 2rem 3.5rem;
      display: flex; align-items: center; justify-content: space-between;
      margin-top: auto;
    }
    .footer-brand { display: flex; align-items: center; gap: .9rem; }
    .footer-brand svg { height: 28px; width: auto; display: block; opacity: .45; }
    .footer-brand-text { font-family: var(--f-body); font-style: italic; font-size: .92rem; color: var(--silver); opacity: .38; }
    .footer-copy { font-family: var(--f-caps); font-size: .42rem; letter-spacing: .20em; color: var(--silver); opacity: .22; }

    @media (max-width: 900px) {
      .co-grid { grid-template-columns: 1fr; }
      .co-summary { position: static; order: -1; }
    }
    @media (max-width: 768px) {
      .nav { padding: 1.3rem 1.8rem; }
      .nav.stuck { padding: .9rem 1.8rem; }
      .nav-links { display: none; }
      .co-inner { padding: 0 1.8rem; }
      .co-hero { padding-top: 8.5rem; }
      .form-row { grid-template-columns: 1fr; }
      .co-panel { padding: 1.5rem 1.4rem; }
      .site-footer { flex-direction: column; gap: .8rem; text-align: center; padding: 1.6rem; }
    }

/* ═══════════════════════════════════════════════════════════
   WOOCOMMERCE SKIN — cart / checkout / account / order pages
   Real WooCommerce output, restyled to match the design tokens.
═══════════════════════════════════════════════════════════ */
.dm-woo { position: relative; z-index: 2; min-height: 60vh; }
.dm-woo-flow { padding: 2.5rem 0 6rem; }
.dm-woo-single { padding: 9rem 0 6rem; }
.dm-woo-inner { max-width: 1100px; margin: 0 auto; padding: 0 3.5rem; }
.dm-woo a { color: var(--ice); }
.dm-woo .woocommerce { color: var(--silver); }

/* Notices */
.dm-woo .woocommerce-message,
.dm-woo .woocommerce-info,
.dm-woo .woocommerce-error,
.dm-woo .woocommerce-notice {
	background: rgba(6,12,20,.6);
	border: 1px solid rgba(107,189,212,.14);
	border-left: 3px solid var(--ice);
	color: var(--silver);
	font-family: var(--f-body);
	padding: 1rem 1.3rem;
	margin-bottom: 1.5rem;
	list-style: none;
	border-radius: 0;
}
.dm-woo .woocommerce-error { border-left-color: #d05050; }
.dm-woo .woocommerce-message { border-left-color: var(--honey); }
.dm-woo .button, .dm-woo .woocommerce .button {
	background: var(--ice-15); color: var(--ice);
	border: 1px solid rgba(107,189,212,.3);
	font-family: var(--f-caps); font-size: .54rem; letter-spacing: .18em;
	padding: .8rem 1.6rem; border-radius: 0; transition: background .3s, box-shadow .3s; cursor: pointer;
}
.dm-woo .button:hover { background: rgba(107,189,212,.22); box-shadow: 0 0 24px rgba(107,189,212,.12); }

/* Panels (billing / shipping / order review) */
.dm-woo #customer_details .woocommerce-billing-fields,
.dm-woo #customer_details .woocommerce-shipping-fields,
.dm-woo #customer_details .woocommerce-additional-fields,
.dm-woo #order_review,
.dm-woo .woocommerce-order-details,
.dm-woo .woocommerce-customer-details,
.dm-woo .woocommerce-MyAccount-content,
.dm-woo .cart-collaterals .cart_totals {
	background: rgba(6,12,20,.55);
	border: 1px solid rgba(107,189,212,.08);
	padding: 2rem 2.2rem;
	margin-bottom: 1.5rem;
}

/* Panel titles */
.dm-woo h3, .dm-woo #order_review_heading,
.dm-woo .woocommerce-column__title,
.dm-woo .cart_totals h2, .dm-woo .woocommerce-order-details__title {
	font-family: var(--f-caps);
	font-size: .58rem; letter-spacing: .26em;
	color: var(--ice); opacity: .85;
	margin-bottom: 1.4rem; padding-bottom: .9rem;
	border-bottom: 1px solid rgba(107,189,212,.08);
	font-weight: 400;
}

/* Form fields */
.dm-woo .form-row { margin-bottom: 1rem; }
.dm-woo label { font-family: var(--f-caps); font-size: .44rem; letter-spacing: .18em; color: var(--silver); opacity: .6; }
.dm-woo .woocommerce form .form-row label,
.dm-woo form .form-row label { display: block; margin-bottom: .4rem; }
.dm-woo input.input-text,
.dm-woo textarea,
.dm-woo select,
.dm-woo .select2-container .select2-selection {
	background: rgba(3,6,8,.5) !important;
	border: 1px solid rgba(107,189,212,.12) !important;
	color: var(--silver) !important;
	font-family: var(--f-body); font-size: .95rem;
	padding: .75rem 1rem; border-radius: 0; width: 100%;
	transition: border-color .3s, box-shadow .3s;
}
.dm-woo .select2-container .select2-selection--single { height: auto; display: flex; align-items: center; }
.dm-woo .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--silver); line-height: 1.4; padding: 0; }
.dm-woo input.input-text:focus,
.dm-woo textarea:focus,
.dm-woo select:focus {
	outline: none;
	border-color: rgba(107,189,212,.45) !important;
	box-shadow: 0 0 0 3px rgba(107,189,212,.08);
}
.dm-woo input::placeholder { color: rgba(184,202,212,.28); }
.dm-woo .required { color: var(--honey); }

/* Order review table */
.dm-woo table.shop_table,
.dm-woo .woocommerce-checkout-review-order-table,
.dm-woo .cart_totals table {
	width: 100%; border: none; background: transparent;
	font-family: var(--f-body); color: var(--silver);
	border-collapse: collapse;
}
.dm-woo table.shop_table th,
.dm-woo table.shop_table td {
	border: none;
	border-bottom: 1px solid rgba(107,189,212,.07);
	padding: .8rem 0; text-align: left; color: var(--silver);
}
.dm-woo table.shop_table thead th {
	font-family: var(--f-caps); font-size: .46rem; letter-spacing: .2em; opacity: .55;
}
.dm-woo table.shop_table tfoot th,
.dm-woo table.shop_table .order-total th,
.dm-woo table.shop_table .order-total td {
	font-family: var(--f-caps); font-size: .5rem; letter-spacing: .14em;
}
.dm-woo .order-total td .woocommerce-Price-amount,
.dm-woo table.shop_table tfoot .order-total td {
	font-family: var(--f-display); font-size: 1.4rem; color: var(--silver);
}
.dm-woo .woocommerce-Price-amount { color: var(--silver); }

/* Payment box */
.dm-woo #payment,
.dm-woo .woocommerce-checkout #payment {
	background: rgba(3,6,8,.4);
	border: 1px solid rgba(107,189,212,.08);
	border-radius: 0;
}
.dm-woo #payment ul.payment_methods { border-bottom: 1px solid rgba(107,189,212,.08); padding: 1.2rem; }
.dm-woo #payment div.payment_box { background: rgba(107,189,212,.05); color: var(--silver); }
.dm-woo #payment div.payment_box::before { border-bottom-color: rgba(107,189,212,.05); }
.dm-woo #payment .place-order { padding: 1.2rem; }

/* Place-order / proceed buttons — honey CTA */
.dm-woo #place_order,
.dm-woo .wc-proceed-to-checkout .checkout-button,
.dm-woo .woocommerce-cart .wc-proceed-to-checkout a.button {
	width: 100%;
	background: var(--honey) !important;
	color: var(--midnight) !important;
	border: none !important;
	font-family: var(--f-caps); font-size: .56rem; letter-spacing: .22em;
	padding: 1.15rem; border-radius: 0; cursor: pointer;
	transition: background .3s, box-shadow .3s;
}
.dm-woo #place_order:hover,
.dm-woo .wc-proceed-to-checkout .checkout-button:hover {
	background: var(--gold) !important;
	box-shadow: 0 0 32px rgba(216,152,24,.28);
}

/* Cart page */
.dm-woo .woocommerce-cart-form table.cart img { width: 60px; }
.dm-woo .cart-collaterals { margin-top: 2rem; }
.dm-woo .coupon input.input-text { width: auto; display: inline-block; margin-right: .5rem; }

/* Account nav */
.dm-woo .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 1.5rem; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.dm-woo .woocommerce-MyAccount-navigation ul li a {
	font-family: var(--f-caps); font-size: .5rem; letter-spacing: .16em;
	padding: .6rem 1rem; border: 1px solid rgba(107,189,212,.14); color: var(--silver); display: block;
}
.dm-woo .woocommerce-MyAccount-navigation ul li.is-active a { border-color: var(--ice); color: var(--ice); }

/* Single product */
.dm-woo-single .product .price,
.dm-woo-single .product .price .woocommerce-Price-amount { font-family: var(--f-display); color: var(--ice); font-size: 1.6rem; }
.dm-woo-single .product_title { font-family: var(--f-display); font-weight: 300; color: var(--silver); font-size: 2.4rem; }
.dm-woo-single .woocommerce-product-details__short-description { font-family: var(--f-display); font-style: italic; color: var(--silver); opacity: .8; line-height: 1.7; }
.dm-woo-single table.variations td, .dm-woo-single table.variations th { border: none; padding: .5rem 0; }
.dm-woo-single .single_add_to_cart_button {
	background: var(--honey) !important; color: var(--midnight) !important; border: none !important;
	font-family: var(--f-caps); letter-spacing: .2em; padding: 1rem 2rem !important;
}

@media (max-width: 900px) { .dm-woo #customer_details, .dm-woo #order_review { float: none; width: 100%; } }
@media (max-width: 768px) { .dm-woo-inner { padding: 0 1.8rem; } .dm-woo-single { padding-top: 8rem; } }

/* WordPress admin bar offset (logged-in only; visitors unaffected) */
.admin-bar .nav { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar .nav { top: 46px; } }

/* ─── Checkout summary: live qty / remove controls ─── */
.si-qty-row { display: flex; align-items: center; gap: .4rem; margin-top: .5rem; }
.si-qty-btn {
	background: none; border: 1px solid rgba(107,189,212,.14);
	width: 20px; height: 20px; cursor: pointer; color: var(--silver);
	opacity: .6; font-size: .8rem; display: flex; align-items: center; justify-content: center;
	transition: opacity .2s, border-color .2s; border-radius: 0; padding: 0; line-height: 1;
}
.si-qty-btn:hover { opacity: 1; border-color: rgba(107,189,212,.3); }
.si-qty-n { font-family: var(--f-body); font-size: .88rem; color: var(--silver); min-width: 18px; text-align: center; }
.si-remove {
	background: none; border: none; cursor: pointer; color: var(--silver);
	opacity: .28; font-size: .9rem; margin-left: .35rem; padding: 0; transition: opacity .2s;
}
.si-remove:hover { opacity: .85; }
