/* Concept three on native Lightspeed routes. */
:root{--color-primary:#045e5e;--color-primary-light:#6ca5be;--color-contrast-higher:#272d30;--color-bg:#f5f4ef}
.dv-store{background:#f5f4ef;color:#272d30;font-family:Arial,Helvetica,sans-serif;font-size:14px}
.dv-main{min-height:50vh;outline:none}.dv-native{max-width:1280px;padding:45px 4% 70px;margin:auto}.dv-native h1{font-size:clamp(32px,4vw,56px);letter-spacing:-.045em}.dv-native .gui{font-family:Arial,Helvetica,sans-serif}.dv-native input,.dv-native select,.dv-native textarea{max-width:100%;font-size:14px;border:1px solid #c7d0ca;background:#fff;padding:11px}.dv-native .gui-button-action,.dv-native button[type=submit],.btn--primary{background:#045e5e!important;color:#fff!important;border-color:#045e5e!important}.dv-native .gui-block{background:#fff;border-color:#dbe0d9}.dv-native .gui table{font-size:13px}.dv-native .gui-cart-product-title{font-size:16px}.dv-native img{object-fit:contain;filter:none;mix-blend-mode:normal}.dv-native .gui-form input[type=checkbox],.dv-native .gui-form input[type=radio]{width:auto}.dv-native .gui-block-title{color:#272d30;background:#e2e9e6}.dv-native .gui-progressbar{border-color:#714974}.text-page__intro,.text-page__content{max-width:1100px}.text-page__intro h1,.brand-page h1,.catalog-page__intro h1{font-family:Arial,Helvetica,sans-serif;font-weight:600;font-size:clamp(32px,4.5vw,58px);letter-spacing:-.045em}.text-page__content{font-size:15px;line-height:1.9}.text-page__content img{max-width:100%;height:auto}.dv-main .container{max-width:1400px}.dv-main .breadcrumbs{font-size:11px}
.header .icon-button svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.3}.main-nav{gap:22px;font-size:10px}.header .nav-mega{z-index:100}.header .mobile-nav{z-index:100}.c3-image,.c3-choice img,.c3-card-photo img{background:#fff;filter:none!important;mix-blend-mode:normal!important;opacity:1!important}.c3-choice strong{font-size:10px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.c3-choice small{font-size:9px}.c3-index{grid-template-columns:repeat(5,minmax(0,1fr))}.home-brand-visual>a{display:flex;align-items:center;justify-content:center;height:100%;width:100%;padding:35px;background:#fff}.home-brand-visual img{max-width:100%;max-height:440px;object-fit:contain}.footer .dv-powered a{display:inline;font-size:9px;color:#b8c8c0}.footer-bottom .dv-powered{margin-left:auto;margin-right:18px}.footer .footer-contact-label{display:none}.prod-card__img-wrapper,.media-wrapper{background:#fff}.dv-test-info{border-left:3px solid #6ca5be;background:#e4ebea;padding:16px;margin-bottom:24px;font-size:12px}
@media(max-width:1100px){.main-nav{gap:14px;font-size:9px}}@media(max-width:760px){.dv-native{padding:28px 6% 45px}.dv-native .gui table{font-size:11px}.header .icon-button svg{width:19px;height:19px}.c3-choice strong{max-width:95px}.footer-bottom .dv-powered{display:none}.c3-index{grid-template-columns:repeat(5,minmax(0,1fr))}.dv-main .container{width:88%}}@media(prefers-reduced-motion:reduce){.c3-image{animation:none!important}}

/* Native category disclosure and language links: no JavaScript dependency. */
.header .nav-mega{width:320px;max-width:calc(100vw - 32px);max-height:70vh;overflow-y:auto;overscroll-behavior:contain;white-space:normal}
.header .nav-item:nth-last-child(-n+3) .nav-mega{left:auto;right:0}
.header .dv-mega-group>a{display:flex;justify-content:space-between;align-items:baseline;gap:18px;line-height:1.5;font-weight:600}
.header .dv-mega-children{display:grid;gap:9px;padding:12px 0 2px 13px;border-left:1px solid #d9dad3;margin-top:9px}
.header .dv-mega-children a{font-size:11px;line-height:1.5;color:#56615c}
.dv-language-switch{display:flex;align-items:center;gap:9px}
.dv-language-switch a{font-size:10px;line-height:1.5;padding:8px 2px;color:#69716e}
.dv-language-switch a[aria-current=page]{color:#045E5E;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.dv-language-switch a:hover{color:#045E5E}
.dv-language-switch--desktop{padding-right:13px;border-right:1px solid #d9dad3}
@media(max-width:760px){
  .dv-language-switch--desktop{display:none}
  .header .mobile-nav.open{display:block;max-height:calc(100dvh - 150px)}
  .header .dv-mobile-category,.header .dv-mobile-branch{display:block;margin:0;border:0;padding:0}
  .header .dv-mobile-category>summary,.header .dv-mobile-branch>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;padding:13px 0;list-style:none;border-bottom:1px solid #d9dad3;cursor:pointer;font:400 13px/1.6 Arial,Helvetica,sans-serif;touch-action:manipulation}
  .header .dv-mobile-category>summary::-webkit-details-marker,.header .dv-mobile-branch>summary::-webkit-details-marker{display:none}
  .header .dv-nav-toggle{flex:none;display:grid;place-items:center;width:24px;height:24px;font-size:20px;line-height:1;color:#045E5E;transition:transform .18s}
  .header details[open]>summary>.dv-nav-toggle{transform:rotate(45deg)}
  .header .dv-mobile-subnav{padding-left:16px;border-left:2px solid #B17CA9;margin:8px 0 12px}
  .header .dv-mobile-subnav--third{border-left-color:#6CA5BE;margin-top:7px}
  .header .dv-mobile-subnav a,.header .dv-mobile-branch>summary{font-size:12px;line-height:1.6;min-height:44px;gap:18px;padding:11px 0}
  .header .dv-mobile-subnav a>span{flex:none;color:#045E5E}
  .header .dv-mobile-subnav a.dv-nav-view-all{font-size:11px;font-weight:600;color:#045E5E}
  .header .dv-mobile-category>summary:focus-visible,.header .dv-mobile-branch>summary:focus-visible{outline:3px solid #6CA5BE;outline-offset:-3px}
  .header .dv-mobile-languages{padding-top:20px}
  .header .dv-mobile-languages>span{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#69716e}
  .header .dv-mobile-languages .dv-language-switch{gap:18px;margin-top:5px;flex-wrap:wrap}
  .header .dv-mobile-languages .dv-language-switch a{display:inline-flex;min-height:44px;border:0;padding:10px 0;font-size:12px;line-height:1.6}
}

/* Carry the same typography and action colour onto native cart/account/service screens. */
.dv-native .gui-page-title{font-family:Georgia,'Times New Roman',serif;font-weight:400!important;font-size:clamp(30px,4vw,48px)!important;line-height:1.15;letter-spacing:-.045em;padding-bottom:20px}
.dv-native .gui a.gui-button-small,.dv-native .gui a.gui-button-large,.dv-native .gui .gui-button-action{background:#045e5e;color:#fff;border:1px solid #045e5e;border-radius:0;text-shadow:none;box-shadow:none;padding:12px 20px;line-height:1.4}
.dv-native .gui a.gui-button-small:hover,.dv-native .gui a.gui-button-large:hover{background:#714974;border-color:#714974;color:#fff}
.dv-native .gui .gui-block-title{background:#e2e9e6;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.footer .footer-legal{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.footer .footer-legal a{font-size:10px;color:#b8c8c0;display:inline;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.dv-native .gui-page-title{font-size:30px!important}.footer .footer-legal{width:100%;padding-top:12px}}

/* DE VAAL READABILITY OVERRIDES */
/* Readability layer for body.dv-store. Append to devaal-core.css.
   Extra scope keeps these rules effective before devaal-shop.css is loaded.
   Display headings, product imagery and native commerce behavior stay intact. */
.dv-store{font-size:16px;line-height:1.6}
.dv-store .dv-main p,
.dv-store .text-page__content,
.dv-store .dv3-collection-intro>.text-component,
.dv-store .dv3-product-view .js-tabs__panel .text-component,
.dv-store .dv3-product-card--list .text-component{font-size:16px;line-height:1.7}

/* Navigation can wrap into another row instead of shrinking its labels. */
.dv-store .header .main-nav{font-size:14px;letter-spacing:.035em;flex-wrap:wrap;justify-content:flex-start;column-gap:24px;row-gap:0}
.dv-store .header .nav-item{padding:0}
.dv-store .header .nav-item>a{display:flex;align-items:center;min-height:48px;padding:10px 0;font-size:14px}
.dv-store .header .nav-mega a,
.dv-store .header .dv-mega-children a{font-size:14px;line-height:1.6;white-space:normal;overflow-wrap:anywhere}
.dv-store .header .nav-mega small{font-size:12px;line-height:1.5}
.dv-store .header .mobile-nav a,
.dv-store .header .dv-mobile-category>summary,
.dv-store .header .dv-mobile-branch>summary,
.dv-store .header .dv-mobile-subnav a,
.dv-store .header .dv-mobile-subnav a.dv-nav-view-all{font-size:14px;line-height:1.6;min-height:44px;white-space:normal;overflow-wrap:anywhere}
.dv-store .header .dv-language-switch a,
.dv-store .header .dv-mobile-languages .dv-language-switch a{font-size:14px;line-height:1.5;min-height:44px}
.dv-store .header .dv-mobile-languages>span,
.dv-store .demo-ribbon,
.dv-store .demo-ribbon a,
.dv-store .header-subline,
.dv-store .header .icon-button .label{font-size:12px;line-height:1.5}
.dv-store .header-subline{flex-wrap:wrap;gap:8px 26px}
.dv-store .demo-ribbon{flex-wrap:wrap}
.dv-store .search-panel label{font-size:14px;line-height:1.5}
.dv-store .search-panel input{font-size:16px;min-height:44px}

/* Reading text and product names; large editorial headings retain their sizing. */
.dv-store .eyebrow,
.dv-store .c3-overline,
.dv-store .c3-info .c3-overline,
.dv-store .c3-page-intro,
.dv-store .c3-page-intro span:last-child,
.dv-store .c3-card-tag,
.dv-store .home-category-caption small,
.dv-store .home-journal-grid small,
.dv-store .dv3-collection-title>span{font-size:12px;line-height:1.6;letter-spacing:.07em}
.dv-store .c3-info h2{font-size:32px;line-height:1.2;overflow-wrap:anywhere}
.dv-store .c3-info p{max-width:42ch}
.dv-store .c3-service b,
.dv-store .c3-card-copy h3,
.dv-store .dv3-product-card h3{font-size:16px;line-height:1.5}
.dv-store .c3-card-copy p{font-size:14px;line-height:1.6}
.dv-store .dv3-product-card .product-card__title{white-space:normal;text-overflow:clip;overflow-wrap:anywhere}
.dv-store .c3-choice{min-height:96px;align-items:center}
.dv-store .c3-choice>span:last-child{min-width:0}
.dv-store .c3-choice strong{font-size:14px;line-height:1.45;max-width:none;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.dv-store .c3-choice small{font-size:12px;line-height:1.5}
.dv-store .c3-count small{font-size:14px}
.dv-store .dv3-card-brand,
.dv-store .dv3-product-brand{font-size:12px;line-height:1.6;letter-spacing:.07em}
.dv-store .dv3-product-card .prod-card__price{font-size:16px;line-height:1.5}
.dv-store .dv3-product-card .prod-card__old-price,
.dv-store .dv3-product-info .product__price--old{font-size:14px}
.dv-store .dv3-product-card .prod-card__badge{font-size:12px;line-height:1.4}
.dv-store .dv-main .breadcrumbs,
.dv-store .breadcrumb{font-size:14px;line-height:1.6;white-space:normal}

/* Comfortable primary actions without changing icon-only control layouts. */
.dv-store .button,
.dv-store .button-outline,
.dv-store .dv3-product-view .btn,
.dv-store .dv3-collection-view .btn,
.dv-store .dv3-product-card .prod-card__action-button,
.dv-store .dv3-product-contact a,
.dv-store .dv3-notify-input button,
.dv-store .c3-pause{font-size:16px;line-height:1.45;min-height:44px;white-space:normal}
.dv-store .text-link,
.dv-store .section-title .text-link,
.dv-store .home-inline-links .text-link,
.dv-store .c3-info a,
.dv-store .c3-statement .c3-small-link{font-size:14px;line-height:1.6;min-height:44px;align-items:center;white-space:normal}
.dv-store .c3-arrow{width:44px;height:44px;min-height:44px;font-size:22px}
.dv-store .dv3-product-view .btn--icon,
.dv-store .dv3-product-card .btn--icon{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}
.dv-store .dv3-filter-submit{font-size:16px!important;min-height:44px}

/* Native collection filters, product options, availability and supporting text. */
.dv-store .dv3-collection-view .sidebar__header h2,
.dv-store .dv3-collection-view .accordion__header,
.dv-store .dv3-collection-view .accordion__panel,
.dv-store .dv3-collection-view .accordion__panel label,
.dv-store .dv3-filter-reset,
.dv-store .dv3-collection-results>form>p,
.dv-store .dv3-collection-results>form label,
.dv-store .dv3-collection-results>form select,
.dv-store .dv3-stock-title h2,
.dv-store .dv3-stock-variant,
.dv-store .dv3-stock-online,
.dv-store .dv3-store-list>li,
.dv-store .dv3-store-list>li>span:last-child,
.dv-store .dv3-stock-check,
.dv-store .dv3-stock-panel #productLocationInventory,
.dv-store .dv3-product-info .product-configure label,
.dv-store .dv3-product-info .form-label,
.dv-store .dv3-native-service>summary,
.dv-store .dv3-native-service-body>a,
.dv-store .dv3-notify-test>summary,
.dv-store .dv3-notify-test label{font-size:14px;line-height:1.6}
.dv-store .dv3-collection-view .accordion__header,
.dv-store .dv3-collection-results>form select,
.dv-store .dv3-stock-check,
.dv-store .dv3-stock-panel #productLocationInventory,
.dv-store .dv3-native-service>summary,
.dv-store .dv3-notify-test>summary{min-height:44px}
.dv-store .dv3-collection-results>form{gap:12px;flex-wrap:wrap}
.dv-store .dv3-collection-view .pagination__item{font-size:14px;min-width:44px;min-height:44px}
.dv-store .dv3-product-heading>.text-sm{font-size:14px!important;line-height:1.6}
.dv-store .dv3-product-info .product-configure input[type=text],
.dv-store .dv3-product-info .product-configure input[type=number],
.dv-store .dv3-product-info .product-configure input[type=date],
.dv-store .dv3-product-info .product-configure select,
.dv-store .dv3-product-info .product-configure textarea,
.dv-store .dv3-product-info .number-input__value,
.dv-store .dv3-notify-input input{font-size:16px;line-height:1.5;min-height:44px}
.dv-store .dv3-product-view .s-tabs__link{font-size:16px;line-height:1.5;min-height:44px;white-space:normal}
.dv-store .dv3-product-view .spec-table{font-size:16px;line-height:1.6}
.dv-store .dv3-stock-title>span,
.dv-store .dv3-product-info .price-tax,
.dv-store .dv-main .dv3-stock-delivery,
.dv-store .dv-main .dv3-stock-note,
.dv-store .dv3-product-contact small,
.dv-store .dv3-custom-counter,
.dv-store .dv3-unsent,
.dv-store .dv3-notify-test>summary>span,
.dv-store .dv-main .dv3-native-service-body>p,
.dv-store .dv-test-info{font-size:14px;line-height:1.65}
.dv-store .dv3-stock-title{flex-wrap:wrap;gap:5px 14px}
.dv-store .dv3-notify-input{flex-wrap:wrap}
.dv-store .dv3-product-info #product_configure_form>.margin-bottom-md>.flex.gap-md{font-size:14px;flex-wrap:wrap}
.dv-store .search-panel input::placeholder,
.dv-store .dv3-product-info .product-configure input::placeholder,
.dv-store .dv3-product-info .product-configure textarea::placeholder,
.dv-store .dv3-notify-input input::placeholder,
.dv-store .dv-native input::placeholder,
.dv-store .dv-native textarea::placeholder{font-size:inherit;opacity:1}

/* Footer remains compact, with 14px contacts/hours and 12px secondary details. */
.dv-store .footer-intro p,
.dv-store .footer-column a,
.dv-store .footer-contact .footer-main-email,
.dv-store .footer-contact .footer-whatsapp,
.dv-store .footer-store-heading>a,
.dv-store .footer-store address,
.dv-store .footer-store-contact a,
.dv-store .footer-hours{font-size:14px;line-height:1.7}
.dv-store .footer-column h3{font-size:14px;line-height:1.5;letter-spacing:.07em}
.dv-store .footer-company,
.dv-store .footer-store>.eyebrow,
.dv-store .footer-store-heading .eyebrow,
.dv-store .footer-contact-label,
.dv-store .footer-bottom,
.dv-store .footer .dv-powered a,
.dv-store .footer .footer-legal a{font-size:12px;line-height:1.7}
.dv-store .footer-hours dd{white-space:normal;text-align:right}
.dv-store .footer-store-heading{flex-wrap:wrap}
.dv-store .footer-column a,
.dv-store .footer-store-contact a{overflow-wrap:anywhere}

/* Native GUI cart, checkout, account and service forms retain their own structure. */
.dv-store .dv-native .gui{font-size:16px;line-height:1.6}
.dv-store .dv-native .gui table{font-size:14px;line-height:1.6}
.dv-store .dv-native .gui-cart-product-title{font-size:16px;line-height:1.5;white-space:normal}
.dv-store .dv-native .gui label,
.dv-store .dv-native .gui .gui-block-title{font-size:14px;line-height:1.6}
.dv-store .dv-native input,
.dv-store .dv-native select,
.dv-store .dv-native textarea{font-size:16px;line-height:1.5}
.dv-store .dv-native input:not([type=checkbox]):not([type=radio]),
.dv-store .dv-native select{min-height:44px}
.dv-store .dv-native .gui a.gui-button-small,
.dv-store .dv-native .gui a.gui-button-large,
.dv-store .dv-native .gui .gui-button-action,
.dv-store .dv-native .gui button[type=submit],
.dv-store .dv-native .gui input[type=submit]{font-size:16px;line-height:1.45;min-height:44px;white-space:normal}

@media(max-width:760px){
  .dv-store .c3-info h2{font-size:28px}
  .dv-store .c3-index{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dv-store .c3-choice{padding:12px;min-height:100px}
  .dv-store .c3-choice strong{font-size:14px;text-align:center}
  .dv-store .c3-page-intro{flex-wrap:wrap;gap:8px}
  .dv-store .search-panel form{flex-wrap:wrap}
  .dv-store .dv3-notify-input{flex-direction:column}
}