.dv-purchase-ref { --offer-border:#dfd9d3; --offer-soft:#fff4f1; padding-top:22px; }
.dv-purchase-ref [hidden] { display:none!important; }
.dv-purchase-ref legend { font-size:30px; margin-bottom:16px; }
.dv-purchase-modes { border:1px solid var(--offer-border); border-radius:14px; overflow:hidden; background:#fffdfa; }
.dv-purchase-mode + .dv-purchase-mode { border-top:1px solid var(--offer-border); }
.dv-purchase-mode > summary { display:grid; grid-template-columns:19px minmax(0,1fr) auto 18px; align-items:center; gap:12px; padding:20px 22px; cursor:pointer; list-style:none; }
.dv-purchase-mode > summary::-webkit-details-marker { display:none; }
.dv-purchase-mode > summary:focus-visible { outline:2px solid var(--dv-red); outline-offset:-3px; }
.dv-mode-indicator { align-self:start; width:17px; height:17px; margin-top:3px; border:1px solid #9a958e; border-radius:50%; position:relative; }
.dv-purchase-mode[open] .dv-mode-indicator { border-color:var(--dv-red); }
.dv-purchase-mode[open] .dv-mode-indicator:after { content:""; position:absolute; inset:3px; border-radius:50%; background:var(--dv-red); }
.dv-mode-title { display:flex; flex-direction:column; gap:5px; }
.dv-mode-title,.dv-duration-label,.dv-duration-boxes,.dv-duration-detail,.dv-selected-heading,.dv-offer-benefit p,.dv-offer-gift-note,.dv-offer-renewal,.dv-purchase-guarantee,.dv-mito-coupon { overflow-wrap:anywhere; }
.dv-mode-title strong { font:600 17px/1.35 var(--dv-sans); letter-spacing:-.02em; }
.dv-mode-title small { font:400 12px/1.5 var(--dv-sans); color:#79736c; }
.dv-mode-chevron { width:18px; height:18px; grid-column:4; fill:none; stroke:currentColor; stroke-width:1.4; transition:transform .2s; }
.dv-purchase-mode[open] .dv-mode-chevron { transform:rotate(180deg); }
.dv-purchase-mode-body { padding:0 22px 22px; }
.dv-duration-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.dv-duration-card { position:relative; display:flex; flex-direction:column; min-width:0; padding:20px 18px 16px; border:1px solid var(--offer-border); border-radius:9px; background:#f8f6f3; cursor:pointer; transition:background .18s,border-color .18s; }
.dv-duration-card:has(input:checked) { border-color:var(--dv-red); background:var(--offer-soft); box-shadow:inset 0 0 0 1px var(--dv-red); }
.dv-duration-card:has(input:focus-visible) { outline:2px solid var(--dv-red); outline-offset:3px; }
.dv-duration-card > input { position:absolute; width:1px; height:1px; opacity:0; padding:0; margin:0; }
.dv-duration-check { position:absolute; top:17px; right:15px; display:grid; place-items:center; width:21px; height:21px; border:1px solid #aaa39b; border-radius:50%; color:transparent; font:600 13px/1 var(--dv-sans); }
.dv-duration-card:has(input:checked) .dv-duration-check { background:var(--dv-red); border-color:var(--dv-red); color:#fff; }
.dv-duration-label { display:block; padding-right:26px; font:600 12px/1.4 var(--dv-sans); text-transform:uppercase; letter-spacing:.025em; }
.dv-duration-days { display:block; margin-top:12px; font:600 28px/1.15 var(--dv-sans); letter-spacing:-.04em; }
.dv-duration-days > span { font-size:24px; }
.dv-duration-boxes { display:block; margin-top:8px; font:400 13px/1.5 var(--dv-sans); color:#78716a; }
.dv-duration-detail { display:flex; flex-direction:column; flex:1; gap:5px; margin-top:15px; padding-top:13px; border-top:1px solid var(--offer-border); font:400 12px/1.5 var(--dv-sans); color:#78716a; }
.dv-duration-detail b { font-weight:600; font-size:14px; color:#201d19; }
.dv-duration-unavailable { margin-top:10px; color:#77716b; font-size:10px; }
.dv-duration-card.is-unavailable { cursor:default; }
.dv-purchase-ref .dv-selected-cure { margin:26px 0 22px; padding:0; background:none; }
.dv-selected-heading { margin-bottom:12px; }
.dv-purchase-ref .dv-selected-heading p { margin:0 0 3px; font:600 21px/1.2 var(--dv-sans); letter-spacing:-.02em; text-transform:uppercase; }
.dv-selected-heading > span { color:#77716a; font-size:14px; }
.dv-selected-price-row { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.dv-selected-price-row > div { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.dv-purchase-ref [data-mito-offer-total] { font:600 33px/1.2 var(--dv-sans); letter-spacing:-.04em; }
.dv-purchase-ref [data-mito-offer-regular] { font-size:17px; margin:0; color:#9b958d; }
.dv-purchase-ref .dv-selected-savings { max-width:100%; padding:8px 12px; border-radius:18px; background:#fae8e3; color:#a80016; font:600 12px/1.4 var(--dv-sans); white-space:normal; overflow-wrap:anywhere; }
.dv-purchase-ref .dv-selected-daily { margin:7px 0 2px; font:600 15px/1.5 var(--dv-sans); }
.dv-purchase-ref .dv-selected-perbox { margin:0; font:400 12px/1.5 var(--dv-sans); color:#77716b; }
.dv-offer-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:20px; }
.dv-offer-benefit { min-width:0; padding:0 12px; text-align:center; }
.dv-offer-benefit:first-child { padding-left:0; }
.dv-offer-benefit:last-child { padding-right:0; }
.dv-offer-benefit + .dv-offer-benefit { border-left:1px solid var(--offer-border); }
.dv-offer-perk-image { width:min(100%,118px); aspect-ratio:1; overflow:hidden; border-radius:50%; margin:0 auto 12px; background:#f7f3ed; }
.dv-offer-perk-image svg,.dv-offer-perk-image img { display:block; width:100%; height:100%; object-fit:cover; }
.dv-purchase-ref .dv-offer-benefit p { display:flex; flex-direction:column; align-items:center; gap:8px; margin:0; font:400 12px/1.4 var(--dv-sans); }
.dv-benefit-check { display:grid; place-items:center; width:23px; height:23px; border-radius:50%; background:#fae8e3; color:var(--dv-red); font-weight:600; }
.dv-purchase-ref .dv-offer-gift-note { margin:18px 0 0; font:400 12px/1.5 var(--dv-sans); color:#777069; }
.dv-purchase-ref .dv-offer-renewal { margin:9px 0 0; font:400 12px/1.6 var(--dv-sans); color:#777069; }
.dv-oneoff-price { font:600 16px/1.3 var(--dv-sans); white-space:nowrap; }
.dv-oneoff-selection { display:flex; align-items:center; gap:8px; margin-bottom:14px; font-size:13px; }
.dv-purchase-ref.is-enhanced .dv-oneoff-selection { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.dv-discovery-totals { margin:4px 0 0; font:400 13px/1.6 var(--dv-sans); }
.dv-discovery-totals > div { display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:7px 0; }
.dv-discovery-totals dt { overflow-wrap:anywhere; }
.dv-discovery-totals dd { flex-shrink:0; margin:0; font-weight:500; text-align:right; white-space:nowrap; }
.dv-discovery-totals .dv-discovery-total { margin-top:10px; border-top:1px solid var(--offer-border); padding-top:16px; font-weight:600; font-size:15px; }
.dv-purchase-ref .dv-purchase-guarantee { display:flex; align-items:center; justify-content:center; gap:9px; margin:18px 0; font:400 12px/1.5 var(--dv-sans); }
.dv-purchase-guarantee svg { width:23px; height:23px; flex-shrink:0; fill:none; stroke:#a17c4d; stroke-width:1.3; }
.dv-purchase-guarantee a { text-decoration:underline; text-underline-offset:3px; }
.dv-purchase-ref > button[type=submit] { display:flex; justify-content:space-between; align-items:center; gap:16px; width:100%; border-radius:40px; padding:20px 26px; margin-top:0; letter-spacing:.04em; font-size:12px; text-align:left; overflow-wrap:anywhere; }
.dv-purchase-ref > button[type=submit] > span { flex-shrink:0; }
.dv-purchase-ref > button[type=submit]:disabled { opacity:.48; cursor:default; }
.dv-purchase-ref .dv-purchase-payment { display:flex; gap:7px; align-items:center; justify-content:center; margin:12px 0 0; font:400 12px/1.5 var(--dv-sans); color:#77716b; }
.dv-purchase-payment svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.4; }
.dv-purchase-ref .dv-mito-coupon { text-align:center; margin-top:14px; font-size:12px; }
.dv-purchase-availability { color:var(--dv-red); margin-top:12px!important; font-size:12px; }
.dv-mito-summary > p { margin-bottom:13px; font-size:14px; line-height:1.6; }
.dv-mito-summary .dv-mito-question { margin-top:22px!important; }
.dv-mito-summary .dv-mito-benefits { margin-block:20px; }
@media(max-width:1100px) and (min-width:821px) {
  .dv-purchase-mode > summary { padding:18px; gap:9px; }
  .dv-purchase-mode-body { padding:0 18px 18px; }
  .dv-duration-card { padding:17px 12px 14px; }
  .dv-duration-check { right:11px; top:14px; width:18px; height:18px; }
  .dv-duration-label { font-size:11px; }
  .dv-duration-days { font-size:25px; }
  .dv-duration-days > span { font-size:21px; }
  .dv-selected-price-row { flex-wrap:wrap; }
}
@media(max-width:820px) {
  .dv-purchase-ref { margin-top:24px; padding-top:22px; }
  .dv-purchase-ref legend { font-size:28px; }
  .dv-purchase-mode > summary { padding:18px 15px; gap:9px; grid-template-columns:17px minmax(0,1fr) auto 15px; }
  .dv-mode-title strong { font-size:15px; }
  .dv-mode-title small { font-size:12px; }
  .dv-oneoff-price { font-size:14px; }
  .dv-purchase-mode-body { padding:0 14px 20px; }
  .dv-duration-options { gap:9px; }
  .dv-duration-card { padding:16px 12px 13px; }
  .dv-duration-check { top:13px; right:11px; width:17px; height:17px; font-size:11px; }
  .dv-duration-label { font-size:12px; padding-right:21px; letter-spacing:0; }
  .dv-duration-days { font-size:24px; margin-top:11px; }
  .dv-duration-days > span { font-size:20px; }
  .dv-duration-boxes { font-size:12px; }
  .dv-duration-detail { font-size:12px; padding-top:11px; margin-top:12px; }
  .dv-duration-detail b { font-size:13px; }
  .dv-purchase-ref .dv-selected-cure { margin:23px 0 20px; }
  .dv-purchase-ref .dv-selected-heading p { font-size:20px; }
  .dv-selected-heading > span { font-size:13px; }
  .dv-selected-price-row { gap:10px; flex-wrap:wrap; }
  .dv-purchase-ref [data-mito-offer-total] { font-size:30px; }
  .dv-purchase-ref [data-mito-offer-regular] { font-size:15px; }
  .dv-purchase-ref .dv-selected-savings { font-size:12px; padding:7px 10px; }
  .dv-offer-benefit { padding:0 5px; }
  .dv-offer-perk-image { max-width:91px; margin-bottom:10px; }
  .dv-purchase-ref .dv-offer-benefit p { font-size:12px; line-height:1.5; gap:7px; }
  .dv-benefit-check { width:20px; height:20px; }
  .dv-purchase-ref .dv-offer-gift-note,.dv-purchase-ref .dv-offer-renewal { font-size:12px; }
  .dv-purchase-ref .dv-purchase-guarantee { font-size:12px; }
  .dv-purchase-ref > button[type=submit] { padding:19px 20px; font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .dv-mode-chevron,.dv-duration-card { transition:none; } }
