/* DFC storefront: shared visual language, loaded after legacy theme settings. */
:root {
  --at-primary: #1674bd;
  --at-primary-dark: #1268ad;
  --at-accent: #e7192a;
  --at-text: #202b38;
  --at-muted: #637184;
  --at-border: #dfe6ed;
  --at-surface: #fff;
  --at-surface-soft: #f5f7fa;
  --at-radius: 12px;
  --at-radius-sm: 8px;
  --at-shadow-sm: 0 3px 14px rgba(26, 43, 63, .045);
  --at-shadow: 0 10px 28px rgba(26, 43, 63, .09);
}
/* A transform on body makes fixed menus, dialogs and purchase controls scroll away. */
body { color: var(--at-text); line-height: 1.55; animation: none; transform: none; }
body .btn { border-radius: 8px; font-weight: 600; text-transform: none; }
body .btn-primary { background: var(--at-accent); border-color: var(--at-accent); box-shadow: none; }
body .btn-primary:hover { background: #c91423; border-color: #c91423; box-shadow: none; }
body .btn-secondary { color: #314459; background: #f3f6f9; border: 1px solid #d8e1e9; box-shadow: none; }
body .btn-secondary:hover { color: #1268ad; background: #eaf2f8; }
body .btn.disabled, body .btn:disabled { cursor: not-allowed; }
body .form-control { border-radius: 8px; border-color: #cbd5e0; }
body .page-header h1, body .page-header .h1 { margin: 0; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.25; font-weight: 600; text-transform: none; letter-spacing: -.025em; }
body .page-header { margin-bottom: 24px; }
body #wrapper { padding-top: 22px; }
body #content-wrapper { min-width: 0; }

/* Compact masthead and legible navigation. */
body #header nav.header-nav { min-height: 34px; background: #f7f9fb !important; border-bottom: 1px solid #e7ecf1; }
body #header nav.header-nav #contact-link,
body #header nav.header-nav #contact-link a,
body #header nav.header-nav #contact-link span.shop-phone strong a,
body #header nav.header-nav .user-info,
body #header nav.header-nav .user-info a { color: #46576a !important; font-size: 11px; }
body #header nav.header-nav #contact-link a:hover,
body #header nav.header-nav .user-info a:hover { color: #1268ad !important; }
body #header nav.header-nav #contact-link span.shop-phone,
body #header nav.header-nav #_desktop_user_info { min-height: 34px; border: 0; }
body #header .header-top, body #header .header-top:hover { padding: 14px 0; background: #fff !important; box-shadow: none; }
body #header .header-top #_desktop_logo .logo-frame { min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; transform: none; }
body #header .header-top #_desktop_logo .logo,
body #header .header-top #_desktop_logo .logo:hover { width: 142px; height: auto; max-height: 74px; object-fit: contain; transform: none; filter: none; }
body #header .header-top #search_widget form input[type="text"] { height: 48px; padding: 11px 58px 11px 16px; border: 1px solid #ccd8e3; border-radius: 9px; background: #f8fafc; font-size: 14px; }
body #header .header-top #search_widget form input[type="text"]:focus { border-color: #1674bd; background: #fff; box-shadow: 0 0 0 3px rgba(22,116,189,.1); }
body #header .header-top #search_widget form button[type="submit"] { top: 4px; right: 4px; width: 40px; height: 40px; border-radius: 7px; background: #e7192a; }
body #header .header-top #_desktop_cart .blockcart .header { border: 1px solid #dce5ed; border-radius: 9px; background: #fff; box-shadow: none; }
body #header .header-top #_desktop_cart .blockcart .header a.cart_link,
body #header .header-top #_desktop_cart .cart_title,
body #header .header-top #_desktop_cart .cart_text { color: #314459; }
body #header .header-top #_desktop_cart .cart_total { color: #e7192a; }
body #header #_desktop_top_menu { border-top: 1px solid #edf1f5; border-bottom: 1px solid #dfe6ed; box-shadow: 0 3px 8px rgba(26,43,63,.025); }
body #header #_desktop_top_menu #top-menu { display: flex; flex-wrap: nowrap; max-width: 1200px; margin: 0 auto; padding: 0; }
body #header #_desktop_top_menu #top-menu > li { display: block; flex: 1 1 auto; float: none; width: auto; min-width: 0; margin: 0; padding: 0; border: 0; }
body #header #_desktop_top_menu #top-menu > li.home_icon { flex: 0 0 90px; }
body #header #_desktop_top_menu #top-menu > li > a { display: flex; align-items: center; justify-content: center; height: 49px; min-height: 49px; padding: 9px 14px; border: 0; color: #314459; background: #fff; font-size: 13px; font-weight: 600; line-height: 1.35; text-align: center; text-transform: none; white-space: normal; }
body #header #_desktop_top_menu #top-menu > li > a:hover,
body #header #_desktop_top_menu #top-menu > li.current > a { color: #1268ad; background: #f0f6fb; box-shadow: inset 0 -2px #1674bd; }
body #header #_desktop_top_menu #top-menu > li.home_icon > a { gap: 6px; }
body #header #_desktop_top_menu #top-menu::after { display: none; }
body #header .popover.sub-menu { border: 1px solid #e1e7ee; border-radius: 0 0 12px 12px; box-shadow: var(--at-shadow); }

/* Product/category pages keep identification available without displacing content. */
body #header .dfc-context-finder { max-width: 1170px; width: calc(100% - 30px); margin: 16px auto 0; border: 1px solid #dfe6ed; border-radius: 10px; background: #f7f9fb; }
body #header .dfc-context-finder > summary { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 12px 18px; color: #354c62; font-size: 13px; font-weight: 600; list-style: none; cursor: pointer; }
body #header .dfc-context-finder > summary::-webkit-details-marker { display: none; }
body #header .dfc-context-finder > summary::after { margin-left: auto; content: "+"; color: #1268ad; font-size: 22px; line-height: 1; }
body #header .dfc-context-finder[open] > summary::after { content: "−"; }
body #header .dfc-context-finder[open] > summary { border-bottom: 1px solid #e1e7ee; }
body #header .dfc-context-finder > div { box-sizing: border-box; float: none; width: 100%; max-width: 100%; margin: 0 !important; padding: 12px !important; }
body #header .dfc-context-finder .row.p-1 { display: flex; flex-wrap: wrap; margin: 0; }
body #header .dfc-context-finder .row.p-1 > .col-md-6.p-1 { margin: 0; padding: 15px !important; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body #header .dfc-context-finder .facet-label { font-size: 13px; text-transform: none !important; }
body #header .dfc-context-finder .facet-label::before { display: none; }
body #header .dfc-context-finder .align-center.mb-1 { min-height: 0; font-size: 12px; }

/* Breadcrumbs and supporting navigation. */
body #wrapper .breadcrumb { padding: 0; margin-bottom: 22px; border: 0; background: transparent; box-shadow: none; font-size: 11px; line-height: 1.6; }
body #wrapper .breadcrumb ol { display: flex; flex-wrap: wrap; gap: 5px 0; margin: 0; padding: 0; border: 0; }
body #wrapper .breadcrumb li { position: static; float: none; padding: 0; border: 0; background: transparent; }
body #wrapper .breadcrumb li::before, body #wrapper .breadcrumb li::after,
body #wrapper .breadcrumb li a::before, body #wrapper .breadcrumb li a::after { display: none; }
body #wrapper .breadcrumb li:not(:last-child)::after { display: inline; content: "/"; position: static; margin: 0 10px; border: 0; color: #a6b1be; }
body #wrapper .breadcrumb a, body #wrapper .breadcrumb li:last-child { padding: 0; border: 0; color: #627287; font-weight: 400; background: none; }
body #wrapper .breadcrumb a:hover { color: #1268ad; }
body #left-column .block-categories,
body #left-column .block,
body #right-column .block { border-color: #e1e7ee; border-radius: 10px; box-shadow: none; }
body #left-column .block .h6,
body #left-column .block h4 { font-size: 13px; text-transform: none; }

/* Footer: readable link columns, quiet dividers and visible contact routes. */
body #footer .footer-container { padding-top: 34px; margin-top: 42px; border-top: 1px solid #dfe6ed; background: #f5f7fa !important; color: #546477; }
body #footer .footer-container > .container { max-width: 1200px; }
body #footer .footer-container > .container > .row:first-child { max-width: none; padding-bottom: 25px; border-bottom: 1px solid #dfe6ed; }
body #footer .footer-container > .container > .row:first-child > .links.wrapper { padding: 0; border: 0; background: transparent; box-shadow: none; }
body #footer .footer-container > .container > .row:first-child > .links.wrapper .h3 { min-height: 0; margin: 0 0 15px; padding: 0; border: 0; color: #24354a; font-size: 14px; font-weight: 600; line-height: 1.4; text-transform: none; }
body #footer .footer-container .h3::after { display: none; }
body #footer .footer-container > .container > .row:first-child > .links.wrapper ul > li { margin-bottom: 9px; font-size: 12px; line-height: 1.6; }
body #footer .footer-container .links a { color: #58697d; font-size: 12px; }
body #footer .footer-container .links a:hover { color: #1268ad; text-decoration: underline; }
body #footer .footer-quick-contact { max-width: none; min-height: 80px; margin: 24px 0 0; padding: 18px 22px; border: 1px solid #dfe6ed; border-radius: 12px; background: #fff; box-shadow: none; }
body #footer .footer-quick-contact strong { color: #23364b; font-size: 16px; }
body #footer .footer-quick-contact span { color: #637184; font-size: 12px; }
body #footer .footer-quick-contact__actions a { min-height: 42px; padding: 10px 12px; border: 1px solid #dce5ed; border-radius: 7px; color: #1268ad; background: #fff; font-size: 12px; }
body #footer .social_footer { margin: 24px 0 0; padding-top: 0; border: 0; }
body #footer .block_newsletter { padding: 0; border: 0; background: transparent; box-shadow: none; }
body #footer .block_newsletter > .row { margin: 0; }
body #footer .block_newsletter #block-newsletter-label { color: #314459; font-size: 14px; font-weight: 600; }
body #footer .footer-container .bottom-footer { margin-top: 28px; padding: 18px 15px; border-top: 1px solid #dfe6ed; color: #66768a; background: #f5f7fa !important; font-size: 11px; }

/* Content pages, store information, brand/supplier indexes. */
body#cms #content.page-content,
body#sitemap #content.page-content,
body#stores #content.page-content { padding: 28px; border: 1px solid #dfe6ed; border-radius: 12px; background: #fff; box-shadow: none; }
body#cms #content.page-content { max-width: 1000px; margin: 0 auto; color: #435368; font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
body#cms #content.page-content h2,
body#cms #content.page-content h3 { margin-top: 26px; margin-bottom: 12px; color: #263b51; font-weight: 600; line-height: 1.35; text-transform: none; }
body#cms #content.page-content h2 { font-size: 23px; }
body#cms #content.page-content h3 { font-size: 18px; }
body#cms #content.page-content a { color: #1268ad; text-decoration: underline; }
body#cms #content.page-content img { max-width: 100%; height: auto; }
body#cms #content.page-content table { display: block; max-width: 100%; overflow-x: auto; }
body#sitemap .sitemap > div { margin-bottom: 22px; }
body#sitemap .sitemap h2 { color: #263b51; font-size: 18px; text-transform: none; }
body#sitemap .sitemap a { display: inline-block; padding: 5px 0; color: #526579; font-size: 13px; }
body#stores .store-item { padding: 22px; border: 1px solid #dfe6ed; border-radius: 12px; box-shadow: none; }
body#manufacturer #brands .brand,
body#supplier #suppliers .supplier { padding: 20px; margin-bottom: 16px; border: 1px solid #dfe6ed; border-radius: 12px; background: #fff; }
body#manufacturer #brands .brand img,
body#supplier #suppliers .supplier img { object-fit: contain; max-width: 100%; }

/* Contact form uses the original delivery and consent flow. */
body#contact .contact-form { padding: 26px; border: 1px solid #dfe6ed; border-radius: 12px; background: #fff; box-shadow: none; }
body#contact .contact-form .form-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
body#contact .contact-form .form-group.row { display: block; min-width: 0; width: 100%; margin: 0; }
body#contact .contact-form .dfc-contact-wide { grid-column: 1 / -1; }
body#contact .contact-form .form-group.row > [class*="col-"] { float: none; width: 100%; max-width: none; margin: 0; padding: 0; }
body#contact .contact-form .form-control-label { display: block; margin-bottom: 7px !important; padding: 0; color: #354b60; font-size: 12px; font-weight: 600; text-align: left; }
body#contact .contact-form h3 { margin: 0; color: #263b51; font-size: 21px; font-weight: 600; text-transform: none; }
body#contact .contact-form .form-control { min-height: 46px; padding: 10px 12px; font-size: 14px; }
body#contact .contact-form textarea.form-control { min-height: 160px; resize: vertical; }
body#contact .contact-form .form-control-comment { display: block; margin-top: 5px !important; font-size: 11px; }
body#contact .contact-form .form-footer { margin: 22px 0 0; padding: 18px 0 0; border-top: 1px solid #e5eaf0; }
body#contact .contact-form .form-footer .btn { min-width: 150px; min-height: 46px; }
body#contact .contact-rich { padding: 22px; border: 1px solid #dfe6ed; border-radius: 12px; background: #f7f9fb; box-shadow: none; }
body#contact .contact-rich h4 { margin: 0 0 20px; color: #263b51; font-size: 17px; text-transform: none; }
body#contact .contact-rich .block { color: #526579; font-size: 13px; overflow-wrap: anywhere; }
body#contact .contact-rich .block .icon { color: #1674bd; }
body#contact .contact-rich a { color: #1268ad; }

/* Shared overlays and feedback keep the same spacing and controls. */
body #blockcart-modal .modal-content { border: 1px solid #dfe6ed; border-radius: 14px; overflow: hidden; box-shadow: var(--at-shadow); }
body #blockcart-modal .modal-header { padding: 20px 24px; color: #23364b; background: #f5f8fb; border-bottom: 1px solid #dfe6ed; }
body #blockcart-modal .modal-title { color: #23364b; font-size: 18px; font-weight: 600; text-transform: none; }
body #blockcart-modal .modal-header .close { color: #23364b; opacity: .75; }
body #blockcart-modal .cart-content-btn .btn { min-height: 44px; }
body .alert { border-radius: 9px; line-height: 1.6; }
body #cookie-banner .cookie-container { padding: 16px; }
body #cookie-banner .cookie-buttons > * { min-height: 44px; border-radius: 7px; }

@media (min-width: 768px) {
  body #header .header-top > .container:first-child > .row { display: grid; grid-template-columns: 165px minmax(240px,1fr) 225px; gap: 28px; align-items: center; margin: 0; }
  body #header .header-top > .container:first-child > .row > .clearfix { display: none; }
  body #header .header-top #_desktop_logo { grid-area: 1 / 1; float: none; width: auto; min-height: 0; padding: 0; margin: 0; }
  body #header .header-top #_desktop_search_widget { grid-area: 1 / 2; float: none; width: auto; max-width: none; margin: 0; padding: 0; }
  body #header .header-top #_desktop_cart { grid-area: 1 / 3; float: none; width: auto; margin: 0; padding: 0; }
  body #footer .footer-container .links.wrapper ul.collapse { display: block !important; height: auto !important; }
}
@media (min-width: 768px) and (max-width: 991px) {
  body #header .header-top > .container:first-child > .row { grid-template-columns: 125px minmax(200px,1fr) 180px; gap: 16px; }
  body #header .header-top #_desktop_logo .logo { width: 120px; }
  body #header #_desktop_top_menu #top-menu > li > a { padding: 8px; font-size: 11px; }
  body #header #_desktop_top_menu #top-menu > li.home_icon { flex-basis: 64px; }
}
@media (max-width: 767px) {
  body #header nav.header-nav { min-height: 28px; }
  body #header nav.header-nav #contact-link span.shop-phone { min-height: 28px; }
  body #header .header-top, body #header .header-top:hover { padding: 7px 0 0 !important; }
  body #header .header-top #_desktop_logo { display: flex; justify-content: center; min-height: 0; padding: 0 0 7px; margin: 0; }
  body #header .header-top #_desktop_logo .logo,
  body #header .header-top #_desktop_logo .logo:hover { width: 112px; height: auto; max-height: 58px; }
  body #header div#rwd_menu { border-top: 1px solid #e9edf2; border-bottom: 1px solid #dfe6ed; background: #fff; }
  body #header div#rwd_menu .rwd_menu_item,
  body #header div#rwd_menu .rwd_menu_item:first-child { height: 48px; min-height: 48px; border: 0; border-right: 1px solid #edf1f5; background: #fff; box-shadow: none; }
  body #header div#rwd_menu .rwd_menu_item:last-child { border-right: 0; }
  body #header #mobile_top_menu_wrapper2 .top-menu li a { min-height: 44px; padding: 13px 16px; color: #314459; font-size: 14px; text-transform: none; }
  body #header .rwd_menu_open { margin-top: 0; border: 0; border-bottom: 1px solid #dfe6ed; border-radius: 0 0 10px 10px; background: #f8fafc; }
  body #header .dfc-context-finder { width: calc(100% - 24px); margin-top: 12px; }
  body #header .dfc-context-finder > summary { min-height: 46px; padding: 10px 13px; font-size: 12px; }
  body #header .dfc-context-finder .row.p-1 > .col-md-6.p-1 { flex-basis: 100%; width: 100%; padding: 10px 5px !important; }
  body #wrapper { padding-top: 18px; }
  body #wrapper .breadcrumb { margin-bottom: 18px; font-size: 10px; }
  body #wrapper .breadcrumb li:last-child { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  body .page-header { margin-bottom: 20px; }
  body #footer .footer-container { margin-top: 30px; padding-top: 20px; }
  body #footer .footer-container > .container > .row:first-child { padding-bottom: 10px; }
  body #footer .footer-container > .container > .row:first-child > .links.wrapper { margin: 0; border-bottom: 1px solid #dfe6ed; }
  body #footer .footer-container > .container > .row:first-child > .links.wrapper .title { display: flex; align-items: center; min-height: 52px; margin: 0; padding: 14px 0; border: 0; background: transparent; }
  body #footer .footer-container > .container > .row:first-child > .links.wrapper .title .h3 { margin: 0; font-size: 14px; }
  body #footer .footer-container > .container > .row:first-child > .links.wrapper .title .pull-xs-right { margin-left: auto; }
  body #footer .footer-container .links ul.collapse { padding-bottom: 10px; }
  body #footer .footer-container .links a { display: inline-block; padding: 5px 0; font-size: 13px; }
  body #footer .footer-quick-contact { display: block; margin-top: 20px; padding: 17px; }
  body #footer .footer-quick-contact__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
  body #footer .footer-quick-contact__actions a { flex: 1 1 auto; justify-content: center; font-size: 12px; }
  body #footer .footer-container .bottom-footer { margin-top: 20px; font-size: 10px; }
  body #footer .block_newsletter input[type="email"] { font-size: 16px; }
  body#cms #content.page-content, body#sitemap #content.page-content, body#stores #content.page-content { padding: 20px 16px; }
  body#cms #content.page-content { font-size: 14px; }
  body#contact .contact-form, body#contact .contact-rich { padding: 20px 16px; }
  body#contact .contact-form .form-fields { grid-template-columns: minmax(0,1fr); gap: 18px; }
  body#contact .contact-form .form-control { font-size: 16px; }
  body#contact .contact-form .form-footer .btn { width: 100%; }
  body #cookie-banner .cookie-container { padding: 13px; }
  body #cookie-banner .cookie-content { font-size: 11px; line-height: 1.55; }
}
@media (prefers-reduced-motion: reduce) {
  body .btn, body #header a, body #footer a { transition: none; transform: none; }
}
