/* Doina Vin House · assets/woo/checkout.css (handle dvh-woo-checkout; inc/woo-cart.php section 10)
   Compact checkout (owner 2026-10-27: "looks too bulky, too many lines, how to make it more compact?";
   blueprint war-games/checkout-compact.md). Printed after cart.css and marks.css on the checkout page only, so these
   rules only tighten what those draw. The choices take the light-green pill look of the booking pages (dv-tours
   group.css: --gp-green, tints, the chosen card on #EEF5EA). Nothing here changes what is asked or checked. */

:root .wp-block-woocommerce-checkout {
  --co-green: #3A6E20;                 /* the house link green: white on it 6.1:1, it on white 5.9:1 */
  --co-tint: rgb(76 140 43 / .09);     /* leaf over white: things you can pick */
  --co-tint-2: rgb(76 140 43 / .17);   /* their hover */
  --co-chosen: #EEF5EA;                /* the chosen row's ground */
}

/* ==== C4. One final checkbox, no doubled titles ========================================================================
   The steps' screen-reader legends repeated every title when the page was read or copied; checkout-compact.js names
   each step by its visible title (aria-labelledby). The 18+ box of the contact step is answered by the final checkbox. */
.wc-block-checkout__form fieldset.wc-block-components-checkout-step > legend.screen-reader-text { display: none; }
#contact .wc-block-components-address-form__doinavin-age-18 { display: none; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__terms .wc-block-components-checkbox label { padding-block: 8px; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__terms .wc-block-components-checkbox__label a { color: var(--link); text-decoration: underline; text-underline-offset: .2em; }

/* ==== C3. The recipient folded into the delivery card ===================================================================
   Steps in this order: Contact, Livrare (+ the courier's locality and street), the recipient, Plata. The recipient step
   is the delivery card's last line: "Altcineva primește coletul?" (checkout-compact.js); ticked, its one name field. The
   municipality comes from the chosen point, or from the courier's select in the delivery card (dv-np-points picker.js). */
.wc-block-checkout__form > #contact-fields { order: 1; }
.wc-block-checkout__form > #shipping-option { order: 2; }
.wc-block-checkout__form > #order-fields { order: 3; }
.wc-block-checkout__form > :is(#shipping-fields, #billing-fields) { order: 4; }
.wc-block-checkout__form > #payment-method { order: 5; }
.wc-block-checkout__form > #order-notes { order: 6; }
.wc-block-checkout__form > .wc-block-checkout__terms { order: 7; }
.wc-block-checkout__form > .wc-block-checkout__actions { order: 8; }
.wc-block-checkout__form:has(> #shipping-fields) > #shipping-option,
.wc-block-checkout__form:has(> #shipping-fields) > #shipping-option + #order-fields { border-bottom: 0; border-bottom-left-radius: 0; border-bottom-right-radius: 0; padding-bottom: var(--sp-3); }
:root .wp-block-woocommerce-checkout .wc-block-checkout__form > fieldset#shipping-fields.wc-block-components-checkout-step {
  margin-top: calc(-1 * var(--co-gap, 16px)); padding-top: 0; border-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; counter-increment: none;
}
#shipping-fields .wc-block-components-checkout-step__heading-container { display: none; }
#shipping-fields .wc-block-components-checkout-step__content { gap: var(--sp-3); }
#shipping-fields .wc-block-components-address-card-wrapper { display: none; }
body:not(.dvh-co-other) #shipping-fields :is(.wc-block-components-address-address-wrapper, .wc-block-components-address-form-wrapper) { display: none; }
#shipping-fields #shipping > :not(.wc-block-components-address-form__first_name) { display: none; }
#shipping-fields #shipping > .wc-block-components-address-form__first_name { grid-column: 1 / -1; }
@media (min-width: 600px) { #shipping-fields #shipping > .wc-block-components-address-form__first_name { grid-column: 1; } }
#shipping-fields [data-dvh-err] input { border-color: var(--error); box-shadow: inset 0 0 0 1px var(--error); }
/* the toggle: the kit's checkbox (20 px, 1.5 px --control frame: 3.6:1 on white) and ink words at ui size (owner round 3:
   "barely visible" at 16 px / meta) */
#shipping-fields .dvh-co-rcpt label { min-height: 0; padding-block: 4px; gap: var(--sp-3); font-size: var(--fs-ui); line-height: 24px; color: var(--ink); }
/* the courier's municipality (picker) */
#shipping-option .dv-np-picker--home { margin-top: var(--sp-3); }
/* a cart with nothing to ship: the billing step asks nothing any more (the contact name is the billing name) */
.wc-block-checkout__form > #billing-fields:not(:has(.wc-block-components-address-form > :not(.wc-block-components-address-form__country))) { display: none; }

/* ==== C5. Contact: "Intrați în cont" and "Creați un cont" as small links (the step's layout, the "+373" prefix and the
   chat toggles: mu-plugin dv-contact-phone.php) ===================================================================== */
#contact-fields .wc-block-checkout__login-prompt { font-size: var(--fs-meta); color: var(--link); text-underline-offset: .2em; }
#contact-fields .wc-block-components-checkbox.wc-block-checkout__create-account label { min-height: 0; padding-block: 2px; gap: var(--sp-2); font-size: var(--fs-meta); line-height: 20px; }
#contact-fields .wc-block-components-checkbox.wc-block-checkout__create-account .wc-block-components-checkbox__label { color: var(--muted); }
#contact-fields .wc-block-components-checkbox.wc-block-checkout__create-account .wc-block-components-checkbox__input[type="checkbox"] { width: 16px; height: 16px; min-width: 16px; min-height: 16px; margin-top: 2px; background-size: 11px; }
#contact-fields .wc-block-components-checkout-step__content { gap: var(--sp-3); }
/* WooCommerce's select keeps a 12 px top margin: the tour's "Cum vă confirmăm vizita?" lines up with the e-mail beside it */
#contact > .wc-block-components-select-input > .wc-blocks-components-select { margin-top: 0; }

/* ==== C2. Delivery: one row of pills (Oficiu · Poștomat · Curier), one search field for town + point ============= */
/* Nova Post's one-line logo once, at the end of the step title (the URL is inline, inc/woo-cart.php) */
#shipping-option .wc-block-components-checkout-step__heading { align-items: center; }
#shipping-option .wc-block-components-checkout-step__heading::after {
  /* owner 2026-10-27 "too small logo": 28 px tall, its letters read like the step title (the file's own margin included) */
  content: ""; flex: none; width: 142px; height: 28px; margin: -4px 0; background-position: right center; background-size: contain; background-repeat: no-repeat;
}
#shipping-option .wc-block-components-shipping-rates-control__package > .wc-block-components-radio-control {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(5.25rem, 1fr)); gap: var(--sp-2);
}
#shipping-option .wc-block-components-radio-control .wc-block-components-radio-control__option.wc-block-components-radio-control__option {
  position: relative; display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 6px 10px;
  border: 1px solid transparent; border-radius: 12px; background: var(--co-tint); box-shadow: none; text-align: center;
  transition: background-color var(--dur-hover) var(--ease-out), color var(--dur-hover) var(--ease-out);
}
#shipping-option .wc-block-components-radio-control .wc-block-components-radio-control__option:hover { background: var(--co-tint-2); }
/* the radio covers the whole pill (arrow keys and focus as before), unseen */
#shipping-option .wc-block-components-radio-control .wc-block-components-radio-control__input.wc-block-components-radio-control__input {
  position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; border: 0; border-radius: inherit; background: none; opacity: 0; cursor: pointer;
}
#shipping-option .wc-block-components-radio-control .wc-block-components-radio-control__option-layout { display: block; padding: 0; }
#shipping-option .wc-block-components-radio-control .wc-block-components-radio-control__label-group { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; }
#shipping-option .wc-block-components-radio-control .wc-block-components-radio-control__label {
  display: block; flex: none; font-size: var(--fs-ui); line-height: 20px; font-weight: var(--fw-strong); color: var(--co-green); text-align: center;
}
/* the short word (checkout-compact.js); the full rate title stays in the label for screen readers */
#shipping-option .wc-block-components-radio-control .wc-block-components-radio-control__label[data-dvh-short] { font-size: 0; line-height: 0; }
#shipping-option .wc-block-components-radio-control .wc-block-components-radio-control__label[data-dvh-short]::after {
  content: attr(data-dvh-short); content: attr(data-dvh-short) / ""; display: block; font-size: var(--fs-ui); line-height: 20px;
}
#shipping-option .wc-block-components-radio-control .wc-block-components-radio-control__label::before { display: none; content: none; }
#shipping-option .wc-block-components-radio-control .wc-block-components-radio-control__secondary-label {
  display: block; font-size: var(--fs-meta); line-height: 18px; font-weight: var(--fw-ui); color: var(--co-green); white-space: nowrap;
}
#shipping-option .wc-block-components-radio-control .wc-block-components-radio-control__secondary-label .wc-block-checkout__shipping-option--free { font-weight: inherit; }
/* the Locker pill: "fără plată la livrare" under its price (why cash on delivery is greyed out there); phones: only
   once it is chosen */
#shipping-option .wc-block-components-radio-control__option-layout[data-dvh-note]::after {
  content: attr(data-dvh-note); content: attr(data-dvh-note) / ""; display: block; margin-top: 1px;
  font-size: var(--fs-eyebrow); line-height: 15px; font-weight: var(--fw-text); color: var(--muted); text-align: center;
}
#shipping-option .wc-block-components-radio-control > .wc-block-components-radio-control__option:has(.wc-block-components-radio-control__input:checked) .wc-block-components-radio-control__option-layout[data-dvh-note]::after { color: rgb(255 255 255 / .88); }
@media (max-width: 599.98px) {
  #shipping-option .wc-block-components-radio-control > .wc-block-components-radio-control__option:not(:has(.wc-block-components-radio-control__input:checked)) .wc-block-components-radio-control__option-layout[data-dvh-note]::after { display: none; }
}
/* the chosen pill: solid house green, white words (the occasion pills of the events pages) */
#shipping-option .wc-block-components-radio-control > .wc-block-components-radio-control__option:has(.wc-block-components-radio-control__input:checked),
#shipping-option .wc-block-components-radio-control > .wc-block-components-radio-control__option.wc-block-components-radio-control__option-checked {
  border-color: var(--co-green); background: var(--co-green); box-shadow: none;
}
#shipping-option .wc-block-components-radio-control > .wc-block-components-radio-control__option:has(.wc-block-components-radio-control__input:checked) :is(.wc-block-components-radio-control__label, .wc-block-components-radio-control__secondary-label) { color: #fff; }
#shipping-option .wc-block-components-radio-control > .wc-block-components-radio-control__option:has(.wc-block-components-radio-control__input:focus-visible) { outline: 2px solid var(--focus); outline-offset: 2px; }
/* the search field and its list (dv-np-points picker.js) */
#shipping-option .dv-np-picker { margin-top: var(--sp-3); gap: var(--sp-3); }
/* the picker's "no cash on delivery for a postomat" line: the payment step's frozen cod row says it already */
#shipping-option .dv-np-picker .dv-np-picker__nocod { display: none; }
#shipping-option .dv-np-combo { position: relative; }
#shipping-option .dv-np-combo input#dv-np-search {
  padding-left: 40px;
  background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A6E20' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16 16l4.5 4.5'/%3E%3C/svg%3E") no-repeat 12px center / 18px;
  text-overflow: ellipsis;
}
#shipping-option .dv-np-combo input#dv-np-search::placeholder { color: var(--muted); opacity: 1; }
#shipping-option .dv-np-combo__list {
  position: absolute; z-index: 30; top: calc(100% + 4px); left: 0; right: 0; max-height: min(320px, 50vh); overflow: auto; overscroll-behavior: contain;
  margin: 0; padding: 4px; list-style: none; background: var(--surface); border: 1px solid var(--line); border-radius: 10px;
  box-shadow: 0 16px 32px -16px rgb(26 23 27 / .3);
}
#shipping-option .dv-np-combo__opt {
  display: grid; margin: 0; padding: 8px 10px; border-radius: 8px; cursor: pointer; text-align: left; hyphens: manual;
  font-size: var(--fs-meta); line-height: 1.35; color: var(--ink);
}
#shipping-option .dv-np-combo__opt:hover, #shipping-option .dv-np-combo__opt.is-active { background: var(--co-tint); }
#shipping-option .dv-np-combo__opt.is-chosen { background: var(--co-chosen); }
#shipping-option .dv-np-combo__loc { font-size: var(--fs-eyebrow); line-height: 1.3; font-weight: var(--fw-strong); color: var(--co-green); }
#shipping-option .dv-np-combo__other { margin-top: 2px; border-top: 1px solid var(--line); border-radius: 0 0 8px 8px; font-weight: var(--fw-strong); color: var(--co-green); }
#shipping-option .dv-np-combo__hint { margin: 0; padding: 6px 10px; font-size: var(--fs-eyebrow); line-height: 1.35; color: var(--muted); text-align: left; }
#shipping-option .dv-np-picker__back {
  display: inline; min-height: 0; margin: 0; padding: 0; border: 0; background: none; color: var(--link); font: inherit; font-weight: var(--fw-ui);
  text-decoration: underline; text-underline-offset: .2em; cursor: pointer;
}
/* courier: "Detalii livrare" (locality, street) is the end of the delivery card, not a card of its own; the two
   fields on one line where there is room */
#shipping-option:has(+ #order-fields .wc-block-components-address-form > *) { border-bottom: 0; border-bottom-left-radius: 0; border-bottom-right-radius: 0; padding-bottom: var(--sp-3); }
:root .wp-block-woocommerce-checkout .wc-block-checkout__form #shipping-option + fieldset#order-fields {
  margin-top: calc(-1 * var(--co-gap, 16px)); padding-top: 0; border-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; counter-increment: none;
}
#shipping-option + #order-fields .wc-block-components-checkout-step__heading-container { display: none; }
@media (min-width: 600px) {
  #order-fields .wc-block-components-address-form { align-items: end; }
  #order-fields .wc-block-components-address-form > :is(.wc-block-components-address-form__doinavin-np-locality, .wc-block-components-address-form__doinavin-np-street) { grid-column: auto; }
}
@media (max-width: 599.98px) {
  #shipping-option .wc-block-components-shipping-rates-control__package > .wc-block-components-radio-control { gap: 6px; }
  #shipping-option .wc-block-components-radio-control .wc-block-components-radio-control__option.wc-block-components-radio-control__option { padding: 6px 4px; }
  #shipping-option .wc-block-components-radio-control .wc-block-components-radio-control__label[data-dvh-short]::after { font-size: var(--fs-meta); }
  #shipping-option .wc-block-components-checkout-step__heading::after { width: 132px; height: 26px; }
}

/* ==== C1. Payment: one line per method, its logos at the right end, the explanation only under the chosen one ====== */
#payment-method .wc-block-components-radio-control { gap: 6px; }
#payment-method .wc-block-components-radio-control div.wc-block-components-radio-control-accordion-option {
  border-radius: 10px; transition: border-color var(--dur-hover) var(--ease-out), background-color var(--dur-hover) var(--ease-out);
}
#payment-method .wc-block-components-radio-control div.wc-block-components-radio-control-accordion-option:hover { border-color: var(--leaf); }
#payment-method .wc-block-components-radio-control .wc-block-components-radio-control__option.wc-block-components-radio-control__option {
  align-items: center; padding: 12px var(--sp-4); column-gap: var(--sp-3);
}
#payment-method .wc-block-components-radio-control .wc-block-components-radio-control__input.wc-block-components-radio-control__input { margin: 0; }
#payment-method .wc-block-components-radio-control .wc-block-components-radio-control__input:checked { border-color: var(--co-green); background: radial-gradient(circle, var(--co-green) 0 4.5px, var(--surface) 5px); }
#payment-method .wc-block-components-radio-control .wc-block-components-radio-control__option:hover .wc-block-components-radio-control__input:not(:disabled) { border-color: var(--co-green); }
/* the chosen method: the booking pages' chosen card (leaf frame, light green ground; no glow) */
#payment-method .wc-block-components-radio-control div.wc-block-components-radio-control-accordion-option:has(.wc-block-components-radio-control__input:checked),
#payment-method .wc-block-components-radio-control div.wc-block-components-radio-control-accordion-option:has(> .wc-block-components-radio-control__option input[value="cod"]:checked) {
  border-color: var(--leaf); background: var(--co-chosen); box-shadow: inset 0 0 0 1px var(--leaf);
}
/* the title row: words left, every logo at the right end; on a narrow screen the logos go under the words */
#payment-method .wc-block-components-radio-control .wc-block-components-radio-control__label-group { align-items: center; }
#payment-method .wc-block-components-radio-control .wc-block-components-radio-control__label {
  display: flex; flex-wrap: wrap; align-items: center; column-gap: var(--sp-3); row-gap: 6px; min-width: 0;
  font-size: var(--fs-ui); line-height: 22px; font-weight: var(--fw-ui); color: var(--ink);
}
/* maib's plugin prints its title and logo in one span; maib (card) and MIA keep their logo at the right end */
#payment-method .wc-block-components-radio-control__label > span:first-child:has(> img) { display: contents; }
#payment-method .wc-block-components-radio-control__label > span:first-child > img {
  order: 3; float: none !important; height: 20px !important; width: auto !important; max-height: none; margin: 0 0 0 auto; padding: 0 !important;
}
#payment-method .wc-block-components-radio-control__label.dvh-gateway-label > span:first-child > img { margin-left: 0; }
/* the card row's marks (Mastercard, Visa, Apple Pay, Google Pay): before maib's logo, 20 px tall */
#payment-method .dvh-gateway-label > .dvh-marks__set--gateway {
  order: 2; flex: 0 1 auto; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 0 auto;
}
#payment-method .dvh-marks__set--gateway .dvh-mark--card { width: 34px; height: 20px; }
#payment-method .dvh-marks__set--gateway :is(.dvh-mark--applepay, .dvh-mark--googlepay, .dvh-mark--mia) { height: 20px; }
#payment-method .dvh-marks__set--gateway .dvh-mark-link { min-height: 0; }
/* cash on delivery: Nova Post's logo at the right end, 22 px */
#payment-method .dvh-cod-label > .wc-block-components-payment-method-label { flex: 0 1 auto; font-size: var(--fs-ui); font-weight: var(--fw-ui); }
#payment-method .dvh-cod-np { margin: 0 0 0 auto; }
:root .wp-block-woocommerce-checkout #payment-method .wc-block-components-radio-control .dvh-cod-np .dvh-mark--np { height: 22px; }
/* the explanation: only under the chosen method (WooCommerce prints a description only for it; cod's two chips too) */
#payment-method .wc-block-components-radio-control .wc-block-components-radio-control-accordion-content {
  padding: 0 var(--sp-4) 12px calc(var(--sp-4) + 20px + var(--sp-3)); font-size: var(--fs-meta); line-height: var(--lh-meta); color: var(--muted);
}
:root .wp-block-woocommerce-checkout #payment-method .wc-block-components-radio-control div.wc-block-components-radio-control-accordion-option:has(> .wc-block-components-radio-control__option input[value="cod"]) > .dvh-cod-desc { display: none; }
:root .wp-block-woocommerce-checkout #payment-method .wc-block-components-radio-control div.wc-block-components-radio-control-accordion-option:has(> .wc-block-components-radio-control__option input[value="cod"]:checked) > .dvh-cod-desc {
  display: block; padding: 0 var(--sp-4) 12px calc(var(--sp-4) + 20px + var(--sp-3));
}
/* cod's two places to pay: small pills (office, courier), not cards */
#payment-method .dvh-cod-desc__rows { display: flex; flex-wrap: wrap; gap: 6px; }
#payment-method .dvh-cod-desc__rows > li {
  display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 12px; border: 0; border-radius: 999px;
  background: var(--co-tint); color: var(--co-green); font-size: var(--fs-meta); font-weight: var(--fw-strong); line-height: 1.3;
}
#payment-method .dvh-cod-desc__rows .dvh-icon { width: 16px; height: 16px; color: var(--co-green); }
/* the frozen copy under a postomat: the same one line, greyed */
#payment-method .wc-block-components-radio-control div.dvh-cod-frozen .dvh-cod-frozen__note { padding: 0 var(--sp-4) 12px calc(var(--sp-4) + 20px + var(--sp-3)); }
#payment-method .dvh-cod-desc__rows > li { text-align: left; hyphens: manual; }
@media (max-width: 599.98px) {
  /* phones: the radio beside the first line of words; every logo on one line under the words, from the left, 18 px */
  #payment-method .wc-block-components-radio-control .wc-block-components-radio-control__option.wc-block-components-radio-control__option { align-items: start; padding: 12px; column-gap: 10px; }
  #payment-method .wc-block-components-radio-control .wc-block-components-radio-control__input.wc-block-components-radio-control__input { margin-top: 1px; }
  #payment-method .wc-block-components-radio-control .wc-block-components-radio-control-accordion-content,
  :root .wp-block-woocommerce-checkout #payment-method .wc-block-components-radio-control div.wc-block-components-radio-control-accordion-option:has(> .wc-block-components-radio-control__option input[value="cod"]:checked) > .dvh-cod-desc,
  #payment-method .wc-block-components-radio-control div.dvh-cod-frozen .dvh-cod-frozen__note { padding-left: calc(12px + 20px + 10px); padding-right: 12px; }
  #payment-method .wc-block-components-radio-control__label > span:first-child > img,
  #payment-method .wc-block-components-radio-control__label.dvh-gateway-label > span:first-child > img { height: 18px !important; margin-left: 0; }
  #payment-method .dvh-gateway-label > .dvh-marks__set--gateway { margin-left: 0; gap: 6px 8px; }
  #payment-method .dvh-marks__set--gateway .dvh-mark--card { width: 30px; height: 18px; }
  #payment-method .dvh-marks__set--gateway :is(.dvh-mark--applepay, .dvh-mark--googlepay, .dvh-mark--mia) { height: 18px; }
  #payment-method .dvh-cod-np { margin-left: 0; }
  :root .wp-block-woocommerce-checkout #payment-method .wc-block-components-radio-control .dvh-cod-np .dvh-mark--np { height: 18px; }
  #payment-method .dvh-cod-desc__rows > li { min-height: 30px; padding: 4px 10px; }
}

/* ==== Owner round 2 (2026-10-27, "can you improve", from his 1440 EN screenshot): lighter step chrome ==================
   Step titles at card size with small muted numbers, 20 px card padding (16 on phones), 12 px between the cards, no
   helper lines under the titles, a smaller page title; "Creați un cont" is a small link beside "Intrați în cont"
   (checkout-compact.js), the order note a small box like the others. */
:root .wp-block-woocommerce-checkout { --co-gap: 12px; }
.pg-cart-checkout-page { padding-top: var(--sp-5); }
.pg-cart-checkout-page .pg-cart-checkout-title { margin-bottom: var(--sp-4); font-size: clamp(1.5rem, 1.3rem + .75vw, 1.875rem); line-height: 1.2; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__form { gap: var(--co-gap); }
:root .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-components-sidebar-layout { row-gap: var(--co-gap); }
:root .wp-block-woocommerce-checkout .wc-block-checkout__form fieldset.wc-block-components-checkout-step.wc-block-components-checkout-step { padding: 20px; }
:root .wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading { margin-bottom: var(--sp-3); align-items: center; }
:root .wp-block-woocommerce-checkout .wc-block-components-checkout-step__title.wc-block-components-title { font-size: var(--fs-card); line-height: var(--lh-card); }
:root .wp-block-woocommerce-checkout fieldset.wc-block-components-checkout-step .wc-block-components-checkout-step__title::before {
  margin-right: var(--sp-2); font-family: var(--font-text); font-size: var(--fs-eyebrow); font-weight: var(--fw-strong); letter-spacing: .04em; vertical-align: 2px; color: var(--muted);
}
:root .wp-block-woocommerce-checkout .wc-block-checkout__form .wc-block-components-checkout-step__description { display: none; }
:root .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block { padding: 20px; }
:root .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-text { font-size: var(--fs-card); line-height: var(--lh-card); }
/* "Intrați în cont · Creați un cont" at the top right of Contact; the create-account box itself is not shown */
#contact-fields .wc-block-components-checkout-step__heading-content { display: inline-flex; align-items: center; gap: var(--sp-2); font-size: var(--fs-ui); line-height: 24px; }
#contact-fields .wc-block-components-checkbox.wc-block-checkout__create-account { display: none; }
#contact-fields .dvh-co-signup {
  display: inline-flex; align-items: center; gap: 4px; min-height: 0; margin: 0; padding: 0; border: 0; background: none; cursor: pointer; font: inherit;
}
/* owner round 3 ("barely visible"): both links at ui size, ink words with a 2 px leaf-green underline */
#contact-fields .wc-block-components-checkout-step__heading-content :is(.wc-block-checkout__login-prompt, .dvh-co-signup) {
  font-size: var(--fs-ui); line-height: 24px; font-weight: var(--fw-ui); color: var(--ink);
  text-decoration: underline; text-decoration-color: var(--leaf); text-decoration-thickness: 2px; text-underline-offset: .3em;
}
#contact-fields .wc-block-components-checkout-step__heading-content :is(.wc-block-checkout__login-prompt, .dvh-co-signup):hover { color: var(--link); }
#contact-fields .wc-block-components-checkout-step__heading-content > * { align-self: center; margin: 0; }
#contact-fields .wc-block-checkout__login-prompt { display: inline-flex; align-items: center; }
#contact-fields .wc-block-components-checkout-step__heading-content { gap: var(--sp-4); }
#contact-fields .wc-block-components-checkout-step__heading-content .dvh-co-signup[aria-pressed="true"] { font-weight: var(--fw-strong); color: var(--co-green); text-decoration: none; }
#contact-fields .dvh-co-signup[aria-pressed="true"]::after {
  content: ""; width: 14px; height: 14px; flex: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A6E20' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
#contact-fields .dvh-co-signup:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; border-radius: 2px; }
/* the order note: the same readable box as "Altcineva primește coletul?" (owner round 3), without the 44 px row */
:root .wp-block-woocommerce-checkout #order-notes .wc-block-components-checkbox label { min-height: 0; padding-block: 4px; }
#contact-fields .wc-block-components-checkout-step__heading-content a, #contact-fields .dvh-co-signup { white-space: nowrap; }
@media (max-width: 599.98px) {
  /* phones: the two links on their own line under "Contact" */
  #contact-fields .wc-block-components-checkout-step__heading { flex-wrap: wrap; row-gap: 2px; }
  #contact-fields .wc-block-components-checkout-step__heading-content { flex: 1 1 100%; }
  :root .wp-block-woocommerce-checkout .wc-block-checkout__form fieldset.wc-block-components-checkout-step.wc-block-components-checkout-step { padding: 16px; }
  :root .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block { padding: var(--sp-2) var(--sp-4); }
}

/* ==== C7. Phones: the summary before the order button is one line, the total (the wines, subtotal and delivery stay
   one tap away in the folded "Rezumatul comenzii" at the top); the pay bar (inc/woo-cart.php section 6) keeps the total
   and the order button pinned at the bottom while the real button is off screen ===================================== */
@media (max-width: 899.98px) {
  :root .wp-block-woocommerce-checkout .wc-block-checkout__actions .wp-block-woocommerce-checkout-order-summary-block { margin: 0; padding: 0; border: 0; background: none; }
  :root .wp-block-woocommerce-checkout .wc-block-checkout__actions .checkout-order-summary-block-fill { padding: 0; border: 0; }
  :root .wp-block-woocommerce-checkout .wc-block-checkout__actions .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-step__heading,
  :root .wp-block-woocommerce-checkout .wc-block-checkout__actions :is(.wp-block-woocommerce-checkout-order-summary-subtotal-block, .wp-block-woocommerce-checkout-order-summary-shipping-block, .wp-block-woocommerce-checkout-order-summary-taxes-block) { display: none; }
  :root .wp-block-woocommerce-checkout .wc-block-checkout__actions .wc-block-components-totals-wrapper { padding: 0; border: 0; }
  :root .wp-block-woocommerce-checkout .wc-block-checkout__actions .wc-block-components-totals-footer-item { align-items: baseline; }
  :root .wp-block-woocommerce-checkout .wc-block-checkout__actions .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: var(--fs-price); line-height: 1.3; }
  :root .wp-block-woocommerce-checkout .wc-block-checkout__actions .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: var(--fs-price); line-height: 1.3; }
  :root .wp-block-woocommerce-checkout .wc-block-checkout__actions .wc-block-components-totals-footer-item .wc-block-components-totals-item__description { flex-basis: auto; order: 3; margin-left: var(--sp-2); }
  :root .wp-block-woocommerce-checkout .wc-block-checkout__actions { gap: var(--sp-2); }
}

/* ==== C8. The free-delivery line in the summary (checkout-compact.js; the deals module's meter, dv_deals free_home) === */
:root .wp-block-woocommerce-checkout .dvh-co-free { margin: 0; padding: 8px 0 10px; border-bottom: 1px solid var(--line); }
:root .wp-block-woocommerce-checkout .dvh-co-free .dvh-progress { display: grid; gap: 5px; padding: 0; border-radius: 0; background: none; }
:root .wp-block-woocommerce-checkout .dvh-co-free .dvdeals-meter__text { display: flex; align-items: center; gap: 6px; margin: 0; font-size: var(--fs-meta); line-height: 20px; font-weight: var(--fw-ui); color: var(--co-green); text-align: left; hyphens: manual; }
:root .wp-block-woocommerce-checkout .dvh-co-free .dvdeals-meter__text .dvh-icon { flex: none; width: 16px; height: 16px; color: var(--co-green); }
:root .wp-block-woocommerce-checkout .dvh-co-free .dvh-progress__track { display: block; height: 4px; border-radius: 2px; background: rgb(76 140 43 / .18); overflow: hidden; }
:root .wp-block-woocommerce-checkout .dvh-co-free .dvh-progress__fill { display: block; height: 100%; width: var(--progress, 0%); border-radius: inherit; background: var(--co-green); }
@media (max-width: 899.98px) {
  /* phones: under the one-line total before the order button too */
  :root .wp-block-woocommerce-checkout .wc-block-checkout__actions .dvh-co-free { padding: 0 0 var(--sp-2); border: 0; }
}

/* ==== Owner round 3 (2026-10-27, "so bulky now", order summary at ~850 px): about 40 % less height ===================
   One wine = a 40 x 48 bottle, its name on line 1, type / volume and a 32 px stepper on line 2, the price at the right;
   the coupon a small link on one line; Subtotal / Livrare rows at 8 px, "Livrare" with Nova Post's line beside it; the
   free-delivery meter one slim line (above); the total at 24 px. Desktop sidebar and the folded phone summary alike. */
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title { margin-bottom: 4px; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__content { padding-top: 0; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-order-summary-item {
  grid-template-columns: 40px minmax(0, 1fr) auto; column-gap: var(--sp-3); align-items: center; padding: 10px 0;
}
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-order-summary-item__image { width: 40px; height: 48px; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-order-summary-item__quantity { top: -6px; right: -6px; min-width: 18px; height: 18px; font-size: 11px; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-order-summary-item__description { display: flex; flex-flow: row wrap; justify-content: flex-start; align-items: center; gap: 2px var(--sp-3); text-align: left; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-order-summary-item__description > .wc-block-cart-item__prices { display: none; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-product-name { flex: 1 1 100%; font-size: var(--fs-ui); line-height: 20px; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-product-metadata { flex: 0 1 auto; margin: 0; line-height: 20px; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price { align-self: start; line-height: 20px; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary-item .dvh-co-qty { margin: 0; padding: 1px; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary-item .dvh-co-qty__b { width: 28px; height: 28px; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary-item .dvh-co-qty__b svg { width: 14px; height: 14px; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary-item .dvh-co-qty__n { min-width: 18px; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-wrapper { padding: 8px 0; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-cart-items-block.wc-block-components-totals-wrapper { padding: 0; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-panel__button { min-height: 24px; font-size: var(--fs-meta); line-height: 20px; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-item { line-height: 22px; }
/* "Livrare  (Nova Post) Ridicare din oficiul Nova Post ........ Gratuit" on one line where it fits */
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-shipping .wc-block-components-totals-item { flex-wrap: nowrap; align-items: center; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-shipping .wc-block-components-totals-item__label { flex: 0 0 auto; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-shipping .wc-block-components-totals-item__description { order: 1; flex: 1 1 auto; min-width: 0; margin: 0 0 0 var(--sp-2); }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-shipping .wc-block-components-totals-item__value { order: 2; margin-left: var(--sp-2); }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-shipping__via { display: flex; align-items: center; gap: 4px; font-size: var(--fs-eyebrow); line-height: 16px; color: var(--muted); }
:root body.dvh-np-ship .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-shipping__via::before { flex: none; width: 18px; height: 18px; margin: 0; vertical-align: middle; }
/* the total at 24 px */
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: var(--fs-price); }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 1.5rem; line-height: 1.25; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-footer-item-tax { font-size: var(--fs-meta); line-height: 18px; }

/* the coupon row a little lower; the total on one line: "Total  Inclusiv 58 MDL TVA ........ 349 MDL" */
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-coupon-form-block.wc-block-components-totals-wrapper { padding: 4px 0; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-footer-item { flex-wrap: nowrap; align-items: baseline; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { flex: 0 0 auto; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__description { order: 1; flex: 1 1 auto; min-width: 0; margin: 0 0 0 var(--sp-2); }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { order: 2; margin-left: var(--sp-2); }
:root .wp-block-woocommerce-checkout .dvh-co-free { padding: 6px 0 8px; }
:root .wp-block-woocommerce-checkout .dvh-co-free .dvh-progress { gap: 3px; }

/* the wine on two rows at every width: [bottle | name | price] / [bottle | type · volume | stepper] (the description box
   lends its children to the row's grid) */
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-order-summary-item { grid-template-rows: auto auto; row-gap: 4px; align-items: center; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-order-summary-item__description { display: contents; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-order-summary-item__image { grid-column: 1; grid-row: 1 / span 2; align-self: center; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-product-name { grid-column: 2; grid-row: 1; align-self: end; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-order-summary-item__total-price { grid-column: 3; grid-row: 1; align-self: end; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary .wc-block-components-product-metadata { grid-column: 2; grid-row: 2; align-self: center; }
:root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary-item .dvh-co-qty { grid-column: 3; grid-row: 2; justify-self: end; }
@media (max-width: 599.98px) {
  /* phones: Nova Post's line and the VAT line under their rows instead of squeezed beside them */
  :root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-shipping .wc-block-components-totals-item,
  :root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-footer-item { flex-wrap: wrap; }
  :root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-shipping .wc-block-components-totals-item__label,
  :root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { flex: 1 1 auto; }
  :root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-shipping .wc-block-components-totals-item__description,
  :root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__description { order: 3; flex: 1 1 100%; margin: 0; }
  :root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-shipping .wc-block-components-totals-item__value,
  :root .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { order: 2; }
}
/* owner round 3: the visible boxes of the form (recipient, note, final box) with a 2 px --control frame (3.6:1 on white;
   1.5 px drew as 1 px on ordinary screens) */
:root .wp-block-woocommerce-checkout .wc-block-checkout__form .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:not(:checked) { border-width: 2px; border-color: var(--control); }

/* ==== R4 (owner 2026-10-27, "homogenize for all other checkouts"): the pages around the checkout in the same cards,
   rows and type. inc/woo-cart.php loads this sheet on order-pay, order-received and My Account > view order too. ===== */

/* -- the booking terms above a checkout with a visit (dv-checkout-flow's notice): a slim note, not a big white box -- */
:root body .dv-flow-notice {
  gap: 2px; margin-bottom: var(--co-gap, 12px); padding: 12px 16px; border-left: 3px solid var(--leaf);
  font-size: var(--fs-meta); line-height: 1.45;
}

/* -- order-pay (pay for an existing order): the "Plata" step card on the left, the order as the summary card on the
   right (phones: the order first); one 48 px row per method with its logos at the right end, as the checkout -- */
:root form#order_review { display: grid; gap: var(--co-gap, 12px); align-items: start; margin: 0; }
@media (min-width: 900px) {
  :root form#order_review { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-rows: auto 1fr; column-gap: var(--sp-7); }
  :root form#order_review > .shop_table { grid-column: 2; grid-row: 1 / span 2; }
  :root form#order_review > :is(.dvh-co-paytitle, #payment) { grid-column: 1; }
}
:root form#order_review > .dvh-co-paytitle {
  margin: 0; padding: 20px 20px 12px; background: var(--surface); border: 1px solid var(--line); border-bottom: 0;
  border-radius: var(--radius-media) var(--radius-media) 0 0;
  font-family: var(--font-display); font-size: var(--fs-card); line-height: var(--lh-card); font-weight: var(--fw-title); color: var(--ink);
}
:root form#order_review > #payment {
  margin: calc(-1 * var(--co-gap, 12px)) 0 0; padding: 0 20px 20px; background: var(--surface); border: 1px solid var(--line); border-top: 0;
  border-radius: 0 0 var(--radius-media) var(--radius-media);
}
:root form#order_review #payment ul.wc_payment_methods { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; border: 0; }
:root form#order_review #payment li.wc_payment_method {
  position: relative; margin: 0; padding: 0; list-style: none; background: var(--surface); border: 1px solid var(--line); border-radius: 10px;
  transition: border-color var(--dur-hover) var(--ease-out), background-color var(--dur-hover) var(--ease-out);
}
:root form#order_review #payment li.wc_payment_method:hover { border-color: var(--leaf); }
:root form#order_review #payment li.wc_payment_method:has(> input:checked) { border-color: var(--leaf); background: var(--co-chosen, #EEF5EA); box-shadow: inset 0 0 0 1px var(--leaf); }
:root form#order_review #payment li.wc_payment_method > input.input-radio {
  position: absolute; left: 16px; top: 14px; width: 20px; height: 20px; margin: 0; appearance: none; cursor: pointer;
  border: 1.5px solid var(--control); border-radius: 50%; background: var(--surface);
}
:root form#order_review #payment li.wc_payment_method > input.input-radio:checked { border-color: var(--co-green, #3A6E20); background: radial-gradient(circle, var(--co-green, #3A6E20) 0 4.5px, var(--surface) 5px); }
:root form#order_review #payment li.wc_payment_method > input.input-radio:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
:root form#order_review #payment li.wc_payment_method > label {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px var(--sp-3); min-height: 48px; margin: 0;
  padding: 12px var(--sp-4) 12px calc(var(--sp-4) + 20px + var(--sp-3)); cursor: pointer;
  font-size: var(--fs-ui); line-height: 22px; font-weight: var(--fw-ui); color: var(--ink);
}
:root form#order_review #payment li.wc_payment_method > label > img { order: 3; flex: none; width: auto !important; height: 20px !important; max-width: none; max-height: none; margin: 0; padding: 0; float: none; }
:root form#order_review #payment li.wc_payment_method > label:not(:has(.dvh-marks__set--gateway)) > img { margin-left: auto; }
:root form#order_review #payment li.wc_payment_method > label > .dvh-marks__set--gateway { order: 2; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 0 auto; }
:root form#order_review #payment .dvh-marks__set--gateway .dvh-mark--card { width: 34px; height: 20px; }
:root form#order_review #payment .dvh-marks__set--gateway :is(.dvh-mark--applepay, .dvh-mark--googlepay, .dvh-mark--mia) { width: auto; height: 20px; }
:root form#order_review #payment .dvh-marks__set--gateway .dvh-mark-link { min-height: 0; }
:root form#order_review #payment .payment_box {
  margin: 0; padding: 0 var(--sp-4) 12px calc(var(--sp-4) + 20px + var(--sp-3)); background: none; border: 0;
  font-size: var(--fs-meta); line-height: var(--lh-meta); color: var(--muted);
}
:root form#order_review #payment .payment_box::before { content: none; display: none; }
:root form#order_review #payment .payment_box p { margin: 0; }
:root form#order_review #payment .form-row { display: grid; gap: var(--sp-3); margin: var(--sp-4) 0 0; padding: 0; }
:root form#order_review #payment .woocommerce-privacy-policy-text p { margin: 0; font-size: var(--fs-meta); line-height: var(--lh-meta); color: var(--muted); }
:root form#order_review #payment .woocommerce-privacy-policy-text a { color: var(--link); }
:root form#order_review #payment #place_order {
  justify-self: start; width: auto; min-height: 48px; margin: 0; padding: 0 var(--sp-5); float: none;
  background: var(--action); color: var(--on-action); border: 1px solid var(--action); border-radius: var(--radius-control);
  font-family: var(--font-text); font-size: var(--fs-btn); line-height: 1.2; font-weight: var(--fw-strong);
}
:root form#order_review #payment #place_order:hover { background: var(--action-hover); border-color: var(--action-hover); }
/* the order as the summary card */
:root form#order_review > table.shop_table {
  width: 100%; margin: 0; border: 1px solid var(--line); border-radius: var(--radius-media); border-collapse: separate; border-spacing: 0;
  background: var(--surface); font-size: var(--fs-ui); line-height: 22px; overflow: hidden;
}
:root form#order_review > table.shop_table :is(th, td) { padding: 8px 20px; border: 0; border-top: 1px solid var(--line); background: none; text-align: left; vertical-align: top; }
:root form#order_review > table.shop_table thead th { padding-top: 16px; border-top: 0; font-size: var(--fs-eyebrow); line-height: var(--lh-eyebrow); font-weight: var(--fw-strong); letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
:root form#order_review > table.shop_table :is(.product-total, .product-subtotal) { text-align: right; font-variant-numeric: tabular-nums; }
:root form#order_review > table.shop_table .amount { white-space: nowrap; }
:root form#order_review > table.shop_table .product-quantity { width: 1%; }
:root form#order_review > table.shop_table thead .product-total { text-align: right; }
:root form#order_review > table.shop_table .product-quantity { white-space: nowrap; font-weight: var(--fw-ui); color: var(--muted); }
:root form#order_review > table.shop_table tbody .product-name { font-family: var(--font-display); font-weight: var(--fw-title); }
:root form#order_review > table.shop_table .wc-item-meta { margin: 2px 0 0; padding: 0; list-style: none; font-family: var(--font-text); font-size: var(--fs-meta); line-height: 20px; color: var(--muted); }
:root form#order_review > table.shop_table .wc-item-meta :is(li, p) { display: inline; margin: 0; }
:root form#order_review > table.shop_table .wc-item-meta strong { font-weight: var(--fw-ui); }
:root form#order_review > table.shop_table tfoot th { font-weight: var(--fw-text); }
:root form#order_review > table.shop_table tfoot tr:nth-last-child(2) :is(th, td) { padding-block: 10px; font-weight: var(--fw-strong); }
:root form#order_review > table.shop_table tfoot tr:nth-last-child(2) td > .amount { font-size: 1.5rem; line-height: 1.25; }
:root form#order_review > table.shop_table .includes_tax { display: block; font-size: var(--fs-meta); font-weight: var(--fw-text); color: var(--muted); }
:root form#order_review > table.shop_table tfoot tr:last-child :is(th, td) { padding-bottom: 16px; }
@media (max-width: 599.98px) {
  :root form#order_review > table.shop_table :is(th, td) { padding-inline: 16px; }
  :root form#order_review > table.shop_table thead { display: none; }
  :root form#order_review > table.shop_table tbody tr:first-child td { border-top: 0; padding-top: 12px; }
  :root form#order_review > .dvh-co-paytitle { padding: 16px 16px 12px; }
  :root form#order_review > #payment { padding: 0 16px 16px; }
  :root form#order_review #payment li.wc_payment_method > input.input-radio { left: 12px; }
  :root form#order_review #payment li.wc_payment_method > label { padding: 12px 12px 12px calc(12px + 20px + 10px); }
  :root form#order_review #payment li.wc_payment_method > label :is(img, .dvh-marks__set--gateway) { margin-left: 0; }
  :root form#order_review #payment li.wc_payment_method > label > img { height: 18px !important; }
  :root form#order_review #payment .payment_box { padding: 0 12px 12px calc(12px + 20px + 10px); }
  :root form#order_review #payment #place_order { justify-self: stretch; width: 100%; }
}

/* -- order received and My Account > view order: the checkout's card titles, rows and sizes -- */
:root .woocommerce-order { gap: var(--co-gap, 12px); }
:root .woocommerce-order .woocommerce-thankyou-order-received { margin: 0; font-size: var(--fs-body); line-height: var(--lh-body); }
:root .woocommerce-order ul.woocommerce-order-overview { margin: 0; padding: 12px 0; }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) .dv-flow-summary { padding: 20px; }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) .dv-flow-summary :is(h2, .dv-flow-summary__title) { margin: 0 0 var(--sp-2); font-family: var(--font-display); font-size: var(--fs-card); line-height: var(--lh-card); font-weight: var(--fw-title); letter-spacing: 0; text-transform: none; color: var(--ink); }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) .dv-flow-summary p { font-size: var(--fs-ui); line-height: 1.5; }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) .dv-flow-summary p + p { margin-top: 4px; }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) .dv-flow-summary .dv-flow-visit { margin-top: var(--sp-3); padding-top: var(--sp-3); }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) .dv-flow-summary .dv-flow-visit__title { margin: 0 0 4px; font-family: var(--font-text); font-size: var(--fs-ui); line-height: 22px; font-weight: var(--fw-strong); }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-order-details { padding: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-media); }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) :is(.woocommerce-order-details__title, .woocommerce-customer-details h2, .woocommerce-column__title) {
  margin: 0 0 var(--sp-2); font-family: var(--font-display); font-size: var(--fs-card); line-height: var(--lh-card); font-weight: var(--fw-title);
}
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) table.woocommerce-table--order-details { width: 100%; margin: 0; border: 0; border-collapse: collapse; font-size: var(--fs-ui); line-height: 22px; }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) table.woocommerce-table--order-details :is(th, td) { padding: 8px 0; border: 0; border-top: 1px solid var(--line); background: none; vertical-align: top; }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) table.woocommerce-table--order-details thead th { padding-top: 0; border-top: 0; font-size: var(--fs-eyebrow); line-height: var(--lh-eyebrow); font-weight: var(--fw-strong); letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) table.woocommerce-table--order-details :is(td:last-child, th:last-child) { text-align: right; }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) table.woocommerce-table--order-details .product-name { font-family: var(--font-display); font-weight: var(--fw-title); }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) table.woocommerce-table--order-details .product-name :is(.product-quantity, .wc-item-meta) { font-family: var(--font-text); }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) table.woocommerce-table--order-details tfoot th { font-weight: var(--fw-text); color: var(--ink); }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) table.woocommerce-table--order-details .dvh-mark--rate { width: 18px; height: 18px; margin-inline-end: 4px; vertical-align: -3px; }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) table.woocommerce-table--order-details .includes_tax { display: block; font-size: var(--fs-meta); color: var(--muted); }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) table.woocommerce-table--order-details .order-actions-button { min-height: 40px; padding-inline: var(--sp-4); font-size: var(--fs-meta); }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-customer-details { padding: 20px; }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-customer-details address { font-size: var(--fs-ui); line-height: 1.5; }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-customer-details .col2-set { gap: var(--sp-4); }
@media (min-width: 600px) { :root :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-customer-details .col2-set { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* "Informații suplimentare": label and value on one line each, at meta size */
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-customer-details h2:not(.woocommerce-column__title) { margin-top: var(--sp-4); }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-customer-details dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 2px var(--sp-4); margin: 0; font-size: var(--fs-meta); line-height: 20px; }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-customer-details dl dt { margin: 0; font-weight: var(--fw-text); color: var(--muted); }
:root :is(.woocommerce-order, .woocommerce-MyAccount-content) .woocommerce-customer-details dl dd { margin: 0; color: var(--ink); }
@media (min-width: 900px) {
  /* the addresses under "Ce urmează" in the left column: no hole under the order card on the right */
  .woocommerce-order > .woocommerce-customer-details { grid-column: 1; grid-row: auto; }
}

/* -- the cart page (/cos/): its summary card as the checkout's (card-size title, 8 px rows, Nova Post's line beside
   "Livrare", the total at 24 px with the VAT beside it); the cart's button and lines are unchanged -- */
:root .wp-block-woocommerce-cart .wc-block-cart__sidebar.wc-block-components-sidebar { padding: 20px; }
:root .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-cart__totals-title.wc-block-cart__totals-title { margin: 0 0 4px; font-size: var(--fs-card); line-height: var(--lh-card); }
:root .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper { padding: 8px 0; }
:root .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-panel__button { min-height: 24px; font-size: var(--fs-meta); line-height: 20px; }
:root .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item { line-height: 22px; }
:root .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-shipping .wc-block-components-totals-item { flex-wrap: nowrap; align-items: center; }
:root .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-shipping .wc-block-components-totals-item__label { flex: 0 0 auto; }
:root .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-shipping .wc-block-components-totals-item__description { order: 1; flex: 1 1 auto; min-width: 0; margin: 0 0 0 var(--sp-2); }
:root .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-shipping .wc-block-components-totals-item__value { order: 2; margin-left: var(--sp-2); }
:root .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-shipping__via { display: flex; align-items: center; gap: 4px; font-size: var(--fs-eyebrow); line-height: 16px; color: var(--muted); }
:root body.dvh-np-ship .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-shipping__via::before { flex: none; width: 18px; height: 18px; margin: 0; vertical-align: middle; }
:root .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item { flex-wrap: nowrap; align-items: baseline; }
:root .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { flex: 0 0 auto; font-size: var(--fs-price); }
:root .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__description { order: 1; flex: 1 1 auto; min-width: 0; margin: 0 0 0 var(--sp-2); }
:root .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { order: 2; margin-left: var(--sp-2); font-size: 1.5rem; line-height: 1.25; }
:root .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item-tax { font-size: var(--fs-meta); line-height: 18px; }
:root .wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-cart__submit { margin-top: var(--sp-3); }
@media (max-width: 599.98px) {
  :root .wp-block-woocommerce-cart .wc-block-cart__sidebar.wc-block-components-sidebar { padding: 16px; }
  :root .wp-block-woocommerce-cart .wc-block-cart__sidebar :is(.wc-block-components-totals-shipping .wc-block-components-totals-item, .wc-block-components-totals-footer-item) { flex-wrap: wrap; }
  :root .wp-block-woocommerce-cart .wc-block-cart__sidebar :is(.wc-block-components-totals-shipping, .wc-block-components-totals-footer-item) .wc-block-components-totals-item__description { order: 3; flex: 1 1 100%; margin: 0; }
  :root .wp-block-woocommerce-cart .wc-block-cart__sidebar :is(.wc-block-components-totals-shipping .wc-block-components-totals-item, .wc-block-components-totals-footer-item) .wc-block-components-totals-item__label { flex: 1 1 auto; }
}

/* ==== R4b (2026-10-27): the group page and the three event pages (dv-tours group engine) in the checkout's look:
   step cards with small numbers and card-size titles, the contact as on the checkout (phone with "+373" beside the
   name, the chats as one row of small toggles, the e-mail), one 48 px row per payment choice with its logos at the
   right end and its explanation only once chosen, the summary card as the checkout's. Only presentation: the fields,
   rules and amounts are dv-tours'. inc/woo-cart.php loads this sheet there (dvgp_is_page()). ======================== */
:root .dvgp { --co-green: var(--gp-green, #3A6E20); --co-tint: rgb(76 140 43 / .09); --co-tint-2: rgb(76 140 43 / .17); --co-chosen: #EEF5EA; --co-gap: 12px; }
:root .dvgp .dvgp__main { gap: var(--co-gap); }
:root .dvgp .dvgp__main > .dvh-step { padding: 20px; }
:root .dvgp .dvh-step__head { align-items: baseline; gap: var(--sp-2); margin-bottom: var(--sp-3); }
:root .dvgp .dvh-step__n { font-family: var(--font-text); font-size: var(--fs-eyebrow); line-height: 1; font-weight: var(--fw-strong); letter-spacing: .04em; color: var(--muted); }
:root .dvgp .dvh-step__title { font-size: var(--fs-card); line-height: var(--lh-card); }
:root .dvgp .dvgp-step { gap: var(--sp-4); }
:root .dvgp .dvgp-step > .dvh-step__head { margin-bottom: 0; }
/* contact: phone (with its prefix) and name side by side, the chats one row, the e-mail */
:root .dvgp .dvgp-contact { column-gap: var(--sp-4); row-gap: var(--co-gap); }
:root .dvgp .dvgp-tel { position: relative; }
:root .dvgp .dvgp-tel__cc {
  position: absolute; left: 1px; top: 1px; bottom: 1px; display: inline-flex; align-items: center; padding: 0 10px 0 12px;
  border-right: 1px solid var(--line); border-radius: 3px 0 0 3px; background: var(--ground);
  font-size: 15px; font-weight: var(--fw-strong); font-variant-numeric: tabular-nums; color: var(--ink); pointer-events: none;
}
:root .dvgp .dvgp-tel .dvh-input { padding-left: 64px; }
:root .dvgp .dvgp-tel.is-intl .dvgp-tel__cc { display: none; }
:root .dvgp .dvgp-tel.is-intl .dvh-input { padding-left: 14px; }
:root .dvgp .dvgp-chats { margin: 0; }
:root .dvgp .dvgp-chats > legend { float: left; margin: 0 var(--sp-3) 0 0; font-size: var(--fs-meta); line-height: 32px; color: var(--muted); }
:root .dvgp .dvgp-chats__row { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
:root .dvgp .dvgp-chats .dvgp-chat {
  position: relative; display: inline-flex; align-items: center; gap: 6px; min-height: 32px; margin: 0; padding: 0 11px 0 9px;
  border: 1px solid var(--line); border-radius: 999px; background: var(--surface); font-size: var(--fs-meta); line-height: 1; cursor: pointer;
  transition: background-color var(--dur-hover) var(--ease-out), border-color var(--dur-hover) var(--ease-out);
}
:root .dvgp .dvgp-chats .dvgp-chat:hover { border-color: var(--leaf); }
:root .dvgp .dvgp-chats .dvgp-chat input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; border: 0; border-radius: 999px; background: none; opacity: 0; cursor: pointer; }
:root .dvgp .dvgp-chats .dvgp-chat:has(input:checked) { border-color: var(--leaf); background: var(--co-chosen); color: var(--co-green); font-weight: var(--fw-strong); }
:root .dvgp .dvgp-chats .dvgp-chat:has(input:focus-visible) { outline: 2px solid var(--focus); outline-offset: 2px; }
:root .dvgp .dvgp-chats .dvgp-chat__logo { width: 18px; height: 18px; margin: 0; }
@media (max-width: 599.98px) {
  /* phones: the caption shrinks beside three logo-only toggles (their names stay their accessible names) */
  :root .dvgp .dvgp-chats > legend { max-width: calc(100% - 144px); margin-right: var(--sp-2); line-height: 1.3; font-size: 13px; padding-top: 2px; }
  :root .dvgp .dvgp-chats__row { gap: 6px; }
  :root .dvgp .dvgp-chats .dvgp-chat { width: 36px; justify-content: center; padding: 0; gap: 0; }
  :root .dvgp .dvgp-chats .dvgp-chat > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
/* payment: one row per choice, logos at the right end, the explanation once chosen */
:root .dvgp .dvgp-step .dvh-options { gap: 6px; }
:root .dvgp .dvgp-step .dvh-option { align-items: center; min-height: 48px; padding: 12px var(--sp-4); column-gap: var(--sp-3); border-radius: 10px; }
:root .dvgp .dvgp-step .dvh-option > input { margin: 0; }
:root .dvgp .dvgp-step .dvh-option__title { font-size: var(--fs-ui); line-height: 22px; font-weight: var(--fw-ui); }
:root .dvgp .dvgp-step .dvh-option__price { line-height: 22px; }
:root .dvgp .dvgp-step .dvh-option:not(:has(input:checked)) > .dvh-option__desc { display: none; }
:root .dvgp .dvgp-step .dvh-option > .dvh-option__desc { margin-top: 2px; }
:root .dvgp .dvgp-methods .dvh-option__price img { height: 20px; }
:root .dvgp .dvgp-methods .dvh-option__price .dvh-marks__set { gap: 6px 10px; }
:root .dvgp .dvgp-methods .dvh-option__price .dvh-mark--card, :root .dvgp .dvgp-marks .dvh-mark--card { width: 34px; height: 20px; }
:root .dvgp .dvgp-methods .dvh-option__price :is(.dvh-mark--applepay, .dvh-mark--googlepay, .dvh-mark--mia), :root .dvgp .dvgp-marks .dvh-mark { height: 20px; }
:root .dvgp .dvgp-methods .dvh-option__price .dvh-mark-link { min-height: 0; }
/* the summary card as the checkout's: card-size title, 8 px rows, the total at 24 px; the age lines kept */
:root .dvgp .dvgp-sum.dvh-summary { padding: 20px; }
:root .dvgp .dvgp-sum .dvh-summary__title { margin-bottom: 4px; font-size: var(--fs-card); line-height: var(--lh-card); }
:root .dvgp .dvgp-sum .dvh-totals { gap: 4px; padding-block: 8px; }
:root .dvgp .dvgp-sum .dvh-totals:first-of-type { padding-top: 4px; }
:root .dvgp .dvgp-sum .dvh-totals > div { line-height: 22px; }
:root .dvgp .dvgp-sum .dvh-grandtotal { align-items: baseline; padding-block: 8px; }
:root .dvgp .dvgp-sum .dvh-grandtotal > span:first-child { font-size: var(--fs-price); }
:root .dvgp .dvgp-sum .dvh-grandtotal .dvh-price-lg { font-size: 1.5rem; line-height: 1.25; }
:root .dvgp .dvgp-sum :is(.dvgp-terms, .dvgp-cancel) { font-size: var(--fs-meta); line-height: var(--lh-meta); }
:root .dvgp .dvgp-sum .dvgp-terms { margin-top: var(--sp-2); }
:root .dvgp .dvgp-sum .dvgp-submit { margin-top: var(--sp-3); }
@media (max-width: 599.98px) {
  :root .dvgp .dvgp__main > .dvh-step, :root .dvgp .dvgp-sum.dvh-summary { padding: 16px; }
  :root .dvgp .dvgp-step .dvh-option { padding: 12px; column-gap: 10px; align-items: start; }
  :root .dvgp .dvgp-step .dvh-option > input { margin-top: 1px; }
}

