/* WCAG 2.2 baseline, with enhanced contrast/targets where the design permits. */
body :is(p,li,td,dd,label) a:not(.button):not(.elementor-button):not(.dg-button),
body .dg-check a,body .woocommerce-privacy-policy-text a{
 text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:2px;text-decoration-skip-ink:auto;
}
/* Navigation is already identified by context; keep its requested hover treatment. */
body :is(.dg-docked-breadcrumb,.dg-footer,.dg-nav) li a{text-decoration-line:none}
body a:hover,body a:focus-visible{text-decoration-thickness:2px;text-underline-offset:2px;text-decoration-skip-ink:auto}
body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
 outline:3px solid #fffaf4!important;outline-offset:3px;box-shadow:0 0 0 6px #2d1a47!important;
}
/* Two-color focus stays visible on both brand surfaces and photographic backgrounds. */
body :is(a,button,input,select,textarea,summary,[tabindex]){scroll-margin-top:calc(var(--dg-current-header-height,160px) + 20px);scroll-margin-bottom:88px}
.dg-footer li a,.dg-footer-legal a,.dg-company-nav a,.dg-approval-jump a{display:inline-flex;align-items:center;min-height:44px}
.dg-footer li{margin-bottom:0}
.dg-footer-legal{row-gap:4px}
.dg-nav .dg-brand{min-height:44px}
.dg-service-menu summary{min-width:44px;min-height:44px}
.woocommerce .reset_variations{display:inline-flex;align-items:center;min-height:44px}
.woocommerce .quantity .qty{min-height:44px;min-width:64px}
.woocommerce form .show-password-input{width:44px;height:44px;top:2px!important;right:2px!important}
.woocommerce .password-input input{padding-right:50px!important}
.dg-form label:has(input[type=checkbox]){min-height:44px}
/* Secondary type keeps its purple hue, now above 7:1 on Paper. */
.dg-collectible :is(.dg-collection-id,.dg-caption),.elementor .dg-collectible>.dg-eyebrow,
.dg-style-id,.dg-decision-state{color:#594a68!important}
.dg-consent{z-index:10002;max-height:calc(100dvh - 32px);overflow:auto}
.dg-consent::backdrop{background:#17102099}
.dg-consent h2{font-size:22px;line-height:1.3;margin-top:0}
/* Text-spacing overrides also cover controls, not just paragraphs. */
.dg-reading-spacing :is(label,button,input,select,textarea,summary,a){line-height:1.5!important;letter-spacing:.12em!important;word-spacing:.16em!important}
.dg-reading-spacing .dg-header{position:relative!important}
.dg-reading-spacing body{padding-top:0!important}
.dg-reading-spacing .dg-nav{flex-wrap:wrap}
.dg-reading-spacing .dg-nav-group{flex-wrap:wrap}
@media(max-width:700px){.dg-depth{flex-wrap:wrap;gap:4px}.dg-depth ol{min-width:220px}.dg-nav .dg-brand{max-width:calc(100% - 100px)}.dg-nav .dg-brand img{max-width:100%;object-fit:contain;object-position:left}}
@media(forced-colors:active){body :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid Highlight!important;box-shadow:none!important}.dg-collectible :is(.dg-collection-id,.dg-caption),.elementor .dg-collectible>.dg-eyebrow,.dg-style-id,.dg-decision-state{color:CanvasText!important}}
.dg-story-cue{min-height:44px!important;display:inline-flex;align-items:center}.dg-story-cue .dg-icon{flex:none}
.dg-header .dg-menu:is(:hover,:focus,:active){background:#2d1a47!important;color:#fffaf4!important;border-color:#c5b3e3}
@media(max-width:600px){.woocommerce div.product form.cart .variations,.woocommerce div.product form.cart .variations tbody,.woocommerce div.product form.cart .variations tr,.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{display:block;width:100%;box-sizing:border-box}.woocommerce div.product form.cart .variations select{width:100%;max-width:100%;min-height:44px}}
body button{white-space:normal}
body .dg-consent button:is(:hover,:focus){background:#2d1a47;color:#fffaf4}
body .dg-consent button:last-child:is(:hover,:focus){background:#fffaf4;color:#2d1a47}
body .dg-finder-clear:is(:hover,:focus){background:#2d1a47;color:#f4da40}
body .dg-story-intro>.dg-motion:is(:hover,:focus){background:#2d1a47;color:#fffaf4}
body .dg-brief-actions button:is(:hover,:focus){background:#2d1a47;color:#fffaf4}
body .dg-brief-actions .dg-brief-next:is(:hover,:focus){background:#f4da40;color:#2d1a47}
.dg-page-process .dg-card h2{font-size:30px}
/* Single-product templates put .woocommerce on body, not a nested wrapper. */
.dg-forge.woocommerce ul.products li.product{background:#261b35;color:#fffaf4;border-color:#9382a7}
.dg-forge.woocommerce ul.products li.product :is(.woocommerce-loop-product__title,.price){color:#f4da40!important}
.dg-forge.woocommerce ul.products li.product a.button{background:#f4da40;color:#2d1a47}
body button[type]{white-space:normal}.dg-questionnaire-save button{max-width:100%;min-width:0;overflow-wrap:anywhere}.dg-questionnaire-jump a{min-height:44px;display:inline-flex;align-items:center}
.dg-questionnaire :is(h1,h2,label){overflow-wrap:anywhere}
.dg-consent{color:#2d1a47}.dg-story-intro .dg-eyebrow{color:#e3daee}
