/* Order detail/confirmation actions are text links, just like the account list. */
body .woocommerce .woocommerce-table--order-details a.order-actions-button,
body .woocommerce .woocommerce-table--order-details a.order-actions-button:hover,
body .woocommerce .woocommerce-table--order-details a.order-actions-button:focus{
  display:block!important;width:fit-content!important;max-width:100%;height:auto!important;min-height:0!important;
  margin:0 0 6px auto!important;padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;color:#1f3258!important;
  font-size:var(--dp-wide-small,14px)!important;font-weight:400;line-height:1.4;text-transform:none;
  text-decoration:underline!important;text-underline-offset:3px;white-space:normal;text-align:right;
}
/* Catalogue controls share the store palette; the native select remains the
   no-JavaScript fallback and the source of WooCommerce's ordering value. */
body form.woocommerce-ordering.dp-ordering-enhanced select.dp-ordering-native{display:none!important}
body form.woocommerce-ordering.dp-ordering-enhanced::before{display:none!important}
body .dp-ordering{position:relative;min-width:0;width:clamp(230px,17vw,300px);max-width:100%;font-size:clamp(14px,.85vw,18px);color:#1f3258}
body .dp-ordering-toggle{
  display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;
  height:auto;min-height:38px;padding:6px 4px;background:transparent;border:0;
  border-bottom:1px solid #c8bfad;border-radius:0;box-shadow:none;color:inherit;
  font:inherit;font-weight:400;line-height:1.4;text-transform:none;text-align:left;
}
body .dp-ordering-toggle:hover,body .dp-ordering-toggle[aria-expanded="true"]{background:transparent;color:#1f3258;border-color:#a77b2c}
body .dp-ordering-toggle::after{content:"";width:7px;height:7px;flex:0 0 7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
body .dp-ordering-options{
  position:absolute;top:calc(100% + 5px);right:0;z-index:350;width:max-content;min-width:100%;
  max-width:min(350px,calc(100vw - 40px));padding:5px;background:#f4eee1;
  border:1px solid #c8bfad;border-radius:3px;box-shadow:0 5px 14px rgb(31 50 88 / 12%);
}
body .dp-ordering-options[hidden]{display:none!important}
body .dp-ordering-options button{
  display:block;width:100%;height:auto;min-height:38px;padding:8px 12px;border:0;border-radius:2px;
  background:transparent;box-shadow:none;color:#1f3258;font:inherit;font-weight:400;
  line-height:1.4;text-transform:none;text-align:left;white-space:normal;
}
body .dp-ordering-options button[aria-selected="true"]{background:#e8dcc3;font-weight:600}
body .dp-ordering-options button:hover,body .dp-ordering-options button:focus-visible{background:#1f3258;color:#fff;outline:0}
body .dp-ordering-toggle:focus-visible{outline:2px solid #a77b2c;outline-offset:3px}
body .widget_price_filter .price_slider_amount button.button,
body .widget_price_filter .price_slider_amount button.button:hover{
  width:auto;height:auto!important;min-height:0!important;padding:2px 0!important;border:0!important;
  border-radius:0;background:transparent!important;box-shadow:none!important;
  color:#1f3258;font-weight:400;text-transform:none;text-decoration:underline;
  text-underline-offset:3px;line-height:1.4;
}
body .widget_price_filter .price_slider_amount button.button:hover{color:#a77b2c}
body .widget_price_filter .price_slider_amount button.button:focus-visible{outline:2px solid #a77b2c;outline-offset:3px}
@media(min-width:1025px){
  body .wd-sidebar .widget .widget-title{font-size:clamp(16px,1.1112vw,22px);line-height:1.35}
  body .wd-sidebar .widget .price_label,
  body .wd-sidebar .widget .search-field,
  body .wd-sidebar .widget input[type="text"],
  body .wd-sidebar .widget input[type="search"],
  body .wd-sidebar .widget .count,
  body .wd-sidebar .widget_price_filter .price_slider_amount .button{font-size:clamp(14px,.9723vw,20px)!important;line-height:1.4}
  body .wd-sidebar .widget .count{min-width:1.7em;height:auto}
  body .wd-shop-tools .woocommerce-breadcrumb,
  body .dp-catalog-breadcrumbs,
  body .dp-catalog-breadcrumbs a,
  body .dp-catalog-breadcrumbs span,
  body .wd-breadcrumbs.woocommerce-breadcrumb,
  body .wd-breadcrumbs.woocommerce-breadcrumb a,
  body .wd-breadcrumbs.woocommerce-breadcrumb span{font-size:clamp(16px,1.15vw,24px);line-height:1.5}
  body .dp-catalog-breadcrumbs .dp-breadcrumb-home svg{width:1em;height:1em}
  body .woocommerce-ordering select.orderby{font-size:clamp(14px,.85vw,18px);font-weight:400}
}
@media(max-width:1024px){
  body form.woocommerce-ordering.dp-ordering-enhanced{width:auto;max-width:100%}
  body .dp-ordering{width:min(250px,calc(100vw - 48px));font-size:14px}
}
body .woocommerce .woocommerce-table--order-details a.order-actions-button:last-child{margin-bottom:0!important}
body .woocommerce .woocommerce-table--order-details a.order-actions-button:focus-visible{outline:2px solid #1f3258;outline-offset:3px}
/* Size charts fill their existing four-column grid (two columns on phones). */
body.postid-43900 .dp-saved-photo-gallery .dp-extra-photo{width:100%;height:auto;aspect-ratio:1;min-width:0}
/* Article cards share one text scale on phones and wide monitors. */
body .wd-post.blog-post-loop{--dp-post-card-text:clamp(16px,1.1112vw,24px);font-size:var(--dp-post-card-text)}
body .wd-post.blog-post-loop .wd-post-title{font-size:calc(var(--dp-post-card-text) * 1.4);line-height:1.3}
body .wd-post.blog-post-loop .wd-post-excerpt{font-size:var(--dp-post-card-text);line-height:1.6}
body .wd-post.blog-post-loop .wd-post-read-more,
body .wd-post.blog-post-loop .wd-post-read-more a{font-size:var(--dp-post-card-text);line-height:1.4}
/* Remove the remaining decorative pin and its empty metadata row. */
body .wd-post.blog-post-loop .wd-post-meta{display:none!important}
/* Desktop navigation has a compact centre and equal space on either side. */
@media(min-width:1025px){
  body .whb-header .whb-row>.container{width:min(1280px,calc(100% - 64px));max-width:none}
  .whb-general-header .dp-sketch-links-element{flex:0 1 auto;width:auto}
  .whb-general-header .dp-sketch-links{width:max-content;max-width:100%;flex-wrap:nowrap}
  /* Size vertical thumbnail slides from their width, not the main photo height,
     and show FOUR of them (each is 1/4 of the photo's width via --wd-thumbs-width),
     stacked to roughly the photo's height. Swiper keeps its normal navigation. */
  body .thumbs-position-left .wd-gallery-thumb{container-type:inline-size;height:auto;align-self:flex-start;--wd-gap:6px}
  body .thumbs-position-left .wd-gallery-thumb .wd-carousel-inner{position:static}
  body .thumbs-position-left .wd-gallery-thumb .wd-carousel{height:calc(100cqw * 4)}
  /* Override the per-slide height Swiper writes inline (sized for 3 slides) so exactly
     four slides fill the column height — no sliver of a fifth peeking past the clip. */
  body .thumbs-position-left .wd-gallery-thumb .wd-carousel-item{height:calc(100% / 4)!important}
  body .thumbs-position-left .wd-gallery-thumb .wd-carousel-item img{width:100%;height:auto!important;aspect-ratio:1;object-fit:cover}
}
/* Single product: the main gallery image scales with the wide-monitor container
   with no upper bound, so on 23"+ screens the photo balloons out of proportion.
   Cap the product content width on larger screens so the main image settles at a
   harmonious size next to the (independently sized) text; the text scale is driven
   by its own viewport clamps and is unaffected by this cap. 16"/narrower unchanged. */
/* Keep the thumbnail column at 1/4 of the main photo across the whole desktop range
   (the theme otherwise fixes it, so the ratio drifts as the window resizes/zooms).
   The theme sizes the photo as calc(100% - var(--wd-thumbs-width)) and lets the thumbs
   take the rest minus the 10px gap, so --wd-thumbs-width:calc(20% + 8px) gives an exact
   1:4 thumb:photo ratio at any width, without fighting the gallery slider. */
@media(min-width:1025px){
  body.single-product .thumbs-position-left{--wd-thumbs-width:calc(20% + 8px)}
}
/* On wide monitors also cap the product content (and its breadcrumb, so they stay
   aligned) at ~16" width, so the photo and its 1/4 thumbs settle at a harmonious size
   instead of ballooning with the viewport; the text scale is unaffected. */
@media(min-width:1441px){
  body.single-product .single-product-content .container,
  body.single-product .dp-breadcrumb-container{max-width:1688px}
  /* The related section is also a .container, but its white background must
     span the page. Centre its inner content on the same axis as the tabs. */
  body.single-product .single-product-content > .related-and-upsells{max-width:none}
  body.single-product .single-product-content > .related-and-upsells > *{max-width:1688px}
}
@media(min-width:1025px){
  body .whb-general-header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
  body .whb-general-header .whb-col-left,
  body .whb-general-header .whb-col-center,
  body .whb-general-header .whb-col-right{min-width:0;margin-inline:0}
  body .whb-general-header .whb-col-center{justify-content:center}
  body .whb-general-header .whb-col-right{justify-content:flex-end}
}
@media(min-width:1025px) and (max-width:1279px){
  body .whb-general-header .site-logo img,
  body .whb-sticked .whb-general-header .wd-logo img{width:220px;max-width:220px!important}
}
/* Grow content, type and controls together on wide monitors. The cap keeps
   ultrawide screens readable, while phone/tablet rules remain independent. */
@media(min-width:1441px){
  :root{
    --dp-wide-content:clamp(1280px,88.9vw,2240px);
    --dp-wide-text:clamp(16px,1.1112vw,24px);
    --dp-wide-small:clamp(14px,.9723vw,21px);
    --dp-wide-title:clamp(21px,1.4584vw,31.5px);
    --dp-wide-header-height:clamp(85px,5.9028vw,127.5px);
    --dp-wide-logo:clamp(300px,20.8334vw,420px);
    --wd-container-w:var(--dp-wide-content)!important;
    --wd-text-font-size:var(--dp-wide-text)!important;
    --wd-entities-title-font-size:var(--dp-wide-text)!important;
    --wd-widget-title-font-size:var(--dp-wide-text)!important;
    --wd-form-height:clamp(42px,2.9167vw,63px)!important;
  }
  body.wd{font-size:var(--dp-wide-text)}
  body .wd-content-layout{width:var(--dp-wide-content);max-width:calc(100% - 64px);margin-inline:auto}
  body.home .wd-content-layout{width:100%;max-width:none}
  body .dp-shell,body .dp-hero-content{width:min(var(--dp-wide-content),calc(100% - 64px))}
  body .whb-header .whb-row>.container{width:min(var(--dp-wide-content),calc(100% - 64px))}
  body .dp-sketch-topbar{font-size:var(--dp-wide-small)}
  body .whb-top-bar-inner{height:clamp(40px,2.7778vw,60px);max-height:none}
  body .whb-general-header .whb-general-header-inner,
  body .whb-sticked .whb-general-header .whb-general-header-inner{
    height:var(--dp-wide-header-height)!important;
    min-height:var(--dp-wide-header-height)!important;
    max-height:var(--dp-wide-header-height)!important;
  }
  body .whb-general-header .site-logo img,
  body .whb-sticked .whb-general-header .wd-logo img{width:var(--dp-wide-logo);max-width:var(--dp-wide-logo)!important;height:auto!important}
  body .whb-sticked .whb-general-header .whb-column,
  body .whb-sticked .whb-general-header .site-logo,
  body .whb-sticked .whb-general-header .wd-logo{max-height:var(--dp-wide-header-height)!important}
  body .dp-sketch-links{font-size:var(--dp-wide-text)}
  body .dp-sketch-links>a{padding-inline:clamp(14px,.9723vw,21px);min-height:44px}
  body .dp-sketch-links .dp-products-icon{font-size:clamp(26px,1.8056vw,39px)}
  body .whb-general-header .wd-tools-element{--wd-tools-icon-base-width:clamp(20px,1.3889vw,30px)}
  body .whb-general-header .wd-tools-element>a{height:clamp(44px,3.0556vw,66px);padding-inline:clamp(10px,.6945vw,15px)}
  body .dp-products-panel{width:min(clamp(1040px,72.2223vw,1560px),calc(100vw - 64px));padding:10px}
  body .dp-products-columns{column-gap:6px}
  body .dp-products-group{margin-bottom:8px;padding:8px}
  body .dp-products-group h2,body .dp-products-group li>a{font-size:var(--dp-wide-small)}
  body .dp-products-group li>a{padding-block:2px}
  body .dp-hero{min-height:clamp(630px,43.75vw,945px)}
  body .dp-hero h1{font-size:clamp(66px,4.5834vw,99px);max-width:12em}
  body .dp-hero-intro{max-width:31em}
  body .dp-home p,body .dp-review-section p{font-size:var(--dp-wide-text)}
  body .dp-home h2,body .dp-review-section h2{font-size:clamp(42px,2.9167vw,63px)}
  body .dp-home .dp-eyebrow,body .dp-review-section .dp-eyebrow{font-size:clamp(11px,.7639vw,16.5px)}
  body .dp-primary-link{font-size:var(--dp-wide-small);padding:1.15em 1.7em}
  body .dp-text-link,body .dp-tab{font-size:var(--dp-wide-small)}
  body .dp-product-feature h3,body .dp-feature-price{font-size:var(--dp-wide-text)}
  body .dp-top-categories .dp-category-feature h3,
  body .dp-shop-category-card h2,
  body .wd-products .wd-cat.product-category .wd-entities-title{font-size:var(--dp-wide-text)!important}
  body .dp-top-categories .dp-category-feature:first-child h3,
  body .dp-shop-category-card.dp-cat-big h2{font-size:clamp(23px,1.5973vw,34.5px)!important}
  body .dp-post-feature h3{font-size:var(--dp-wide-title)}
  body .dp-faq-list summary{font-size:var(--dp-wide-text)}
  body .dp-visit-copy>p{max-width:28em}
  body .dp-review-item figcaption,body .dp-review-item blockquote{font-size:var(--dp-wide-small)}
  body .wd-products .wd-entities-title,body .wd-products .price{font-size:var(--dp-wide-text)}
  body .wd-sidebar .widget-title{font-size:var(--dp-wide-text)}
  body .wd-sidebar .dp-facet-list a,body .wd-sidebar .widget a{font-size:var(--dp-wide-small)}
  body .woocommerce-breadcrumb,body .wd-breadcrumbs,
  body .woocommerce-ordering select,body .wd-products-per-page,
  body .wd-product .dp-title-sub{font-size:var(--dp-wide-small)}
  body .summary .product_title{font-size:clamp(34px,2.3612vw,51px)}
  body .summary .price{font-size:clamp(24px,1.6667vw,36px)}
  body .summary .woocommerce-product-details__short-description,
  body .summary .variations label,body .summary .variations select,
  body .summary .single_add_to_cart_button,
  body .woocommerce-tabs .tabs li a{font-size:var(--dp-wide-text)}
  body .summary .variations select{height:var(--wd-form-height);min-width:9em;max-width:100%}
  body .summary .single_add_to_cart_button{min-height:var(--wd-form-height)}
  body .dp-site-footer .dp-footer-columns,
  body .dp-site-footer .dp-footer-columns p,
  body .dp-site-footer .dp-footer-links li,
  body .dp-site-footer .dp-footer-links a{font-size:var(--dp-wide-text)}
  body .dp-site-footer h2{font-size:var(--dp-wide-title)}
  body .dp-site-footer .dp-footer-bottom{font-size:var(--dp-wide-small)}
  /* Checkout labels already grow with the body. Scale their fixed-size
     controls and supporting text with the same desktop proportions. */
  body form.checkout input.input-text,
  body form.checkout textarea,
  body form.checkout select,
  body form.checkout .select2-selection__rendered{font-size:var(--dp-wide-text)}
  body form.checkout .dp-delivery-cards>li>label,
  body form.checkout .woocommerce-account-fields label,
  body form.checkout .dp-newsletter label,
  body form.checkout .dp-reused-packaging label,
  body form.checkout .dp-payment-group-title,
  body form.checkout .woocommerce-privacy-policy-text,
  body form.checkout .payment_box,
  body form.checkout .dp-coupon-feedback{font-size:var(--dp-wide-small)}
  body form.checkout #dp-coupon-code{font-size:var(--dp-wide-text);height:var(--wd-form-height)!important}
  body form.checkout .dp-apply-coupon,
  body form.checkout #place_order{font-size:var(--dp-wide-small);min-height:var(--wd-form-height);height:auto}
  body form.checkout .dp-delivery-cards>li>label{min-height:calc(var(--wd-form-height) + 20px)}
  body form.checkout .dp-delivery-cards>li>input.shipping_method{top:calc((var(--wd-form-height) + 20px) / 2 - 7px)}
  body form.checkout .dp-parcel-panel .select2-selection__rendered,
  body form.checkout .dp-parcel-panel .select2-results__option,
  body form.checkout .dp-parcel-panel .select2-search__field{font-size:var(--dp-wide-small)!important}
  body.woocommerce-checkout .select2-dropdown .select2-results__option,
  body.woocommerce-checkout .select2-dropdown .select2-search__field{font-size:var(--dp-wide-small)}
  body form.checkout .dp-payment-heading{font-size:var(--dp-wide-title)}
  body form.checkout #payment select[name="makecommerce_country_picker_select"]{font-size:var(--dp-wide-small);height:var(--wd-form-height)}
}
