/*
 * ADT Redesign presentation layer.
 * The parent theme keeps URLs, SEO metadata, CPT routing, shortcodes, and content.
 */

:root {
    --adt-red: #b91016;
    --adt-red-dark: #8f0d10;
    --adt-ink: #161616;
    --adt-text: #202020;
    --adt-muted: #666;
    --adt-line: #dedede;
    --adt-soft: #f1f3f3;
    --adt-panel: #fff;
    --adt-shadow: 0 12px 28px rgba(0, 0, 0, 0.13);
    --adt-card-shadow: 0 7px 18px rgba(0, 0, 0, 0.12);
    --adt-width: 1000px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    min-width: 320px;
}

body {
    margin: 0;
    color: var(--adt-text);
    background: var(--adt-soft);
    font-family: "Titillium Web", "Segoe UI", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.52;
    letter-spacing: 0;
    overflow-x: hidden;
}

a {
    color: var(--adt-red);
    text-decoration: none;
    font-weight: 700;
}

a:hover,
a:focus {
    color: var(--adt-red-dark);
    text-decoration: none;
}

img {
    max-width: 100%;
    height: auto;
}

body > header.container-fluid,
body > main.container-fluid,
body > footer.container-fluid {
    width: min(var(--adt-width), calc(100% - 64px));
    margin-right: auto;
    margin-left: auto;
    padding-right: 0;
    padding-left: 0;
}

body > header.container-fluid {
    position: relative;
    z-index: 20;
    min-height: 118px;
    margin-top: 0;
    background: var(--adt-panel);
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.16);
}

body > header.container-fluid > .row,
body > main.container-fluid > .row,
body > footer.container-fluid > .row {
    margin-right: 0;
    margin-left: 0;
}

body > header.container-fluid > .row:first-of-type {
    min-height: 74px;
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 0 24px;
}

#adtheader {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    z-index: 25;
}

#adtlogowrapper::before,
#adtlogowrapper::after {
    display: none !important;
}

#adtlogowrapper a {
    display: inline-flex;
    align-items: center;
}

#adtlogo {
    width: 154px;
    min-width: 0;
    height: auto;
    display: block;
}

#adthhotline {
    width: auto !important;
    margin: 0 170px 0 auto !important;
    padding: 0 !important;
    color: var(--adt-ink);
    font-size: 14px;
    white-space: nowrap;
}

#adtphone {
    color: var(--adt-red);
    text-decoration: none;
}

.suchbar {
    display: none;
}

#adtheadermenu {
    position: static;
    z-index: 26;
    min-height: 74px;
    margin: 0;
    padding: 0 24px;
    background: transparent !important;
    border-top: 1px solid #eee;
}

#adtmenuwrapper {
    width: 100% !important;
    min-height: 44px;
    margin: 0 !important;
    padding: 0 !important;
    text-transform: none;
}

#adtmobilemenu {
    position: static;
    left: auto;
    width: 100%;
    height: 44px;
    overflow: visible;
}

#adtmobilemenubutton {
    display: none !important;
}

#adtheadermenu ul {
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#adtheadermenu li {
    display: block;
    position: relative;
}

#adtheadermenu li a,
#adtheadermenu li a:hover {
    width: auto;
    height: auto;
    display: block;
    padding: 0;
    color: var(--adt-ink) !important;
    background: transparent !important;
    font-size: 14px;
    line-height: 44px;
    font-weight: 700;
    text-transform: none;
}

#adtheadermenu li a:hover,
#adtheadermenu li.current-menu-item > a {
    color: var(--adt-red) !important;
}

#adtheadermenu .sub-menu {
    top: 62px !important;
    right: auto !important;
    left: 0 !important;
    width: 310px;
    height: auto;
    display: none;
    padding: 14px;
    border: 1px solid rgba(185, 16, 22, 0.22);
    background: #fff;
    box-shadow: var(--adt-card-shadow);
}

#adtheadermenu li:hover > .sub-menu {
    display: block;
}

#adtheadermenu .sub-menu li,
#adtheadermenu .menu-item-has-children .sub-menu li {
    width: 100%;
    display: block;
}

#adtheadermenu .sub-menu li a,
#adtheadermenu .menu-item-has-children .sub-menu li a {
    padding: 7px 8px;
    color: var(--adt-ink) !important;
    line-height: 1.25;
    font-size: 14px;
}

#adtde {
    display: none !important;
}

#adtdshop {
    position: absolute;
    top: 16px;
    right: 24px;
    width: auto;
    display: block;
    padding: 0;
    background: transparent;
    font-size: 0;
}

#adtdshop a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 20px;
    border-radius: 4px;
    background: var(--adt-red);
    color: #fff;
    font-size: 14px;
    line-height: 42px;
    box-shadow: 0 3px 8px rgba(185, 16, 22, 0.26);
}

#adtdshop img {
    display: none;
}

body > main.container-fluid {
    background: #fff;
    box-shadow: var(--adt-shadow);
}

body:not(.home) > main.container-fluid {
    padding: 36px 44px 52px;
}

body > footer.container-fluid {
    margin-bottom: 0;
    padding: 34px 48px 58px !important;
    background: #15202a;
    color: #fff;
}

body > footer a {
    color: #fff;
}

footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6 {
    color: #fff;
}

#adttelbalken {
    z-index: 80;
    background: var(--adt-red);
}

#adttelbalken a {
    color: #fff;
}

#adtshoplink,
.call-box-wrapper,
#adtatt {
    display: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.adth2,
.adth3,
.adth4,
.adth5,
.adth6 {
    margin-top: 0;
    color: var(--adt-ink);
    font-family: "Titillium Web", "Segoe UI", Arial, sans-serif;
    font-weight: 700;
    line-height: 1.12;
    text-transform: none;
}

h1,
.adtbold {
    font-size: 46px;
    margin-bottom: 24px;
    color: var(--adt-ink);
    font-weight: 700;
}

h2,
.adth2 {
    font-size: 30px;
    margin-bottom: 18px;
}

h3,
.adth3 {
    font-size: 24px;
}

h4,
.adth4 {
    font-size: 19px;
}

/* Home */

body.home {
    background: #e9ecec;
}

body.home > header.container-fluid {
    margin-top: 0;
    margin-bottom: 42px;
}

body.home > header.container-fluid > section {
    position: relative;
    margin: 0;
    padding: 0 0 42px;
    background: #fff;
}

body.home > header.container-fluid > section > .row:first-child,
body.home > header.container-fluid > section > .row:nth-child(2) > div:last-child {
    display: none !important;
}

body.home > header.container-fluid > section h1 {
    position: relative;
    min-height: 355px;
    display: flex;
    align-items: center;
    margin: 0 0 36px;
    padding: 92px 68px 112px;
    color: #fff;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, 0.82), rgba(0, 0, 0, 0.38) 48%, rgba(0, 0, 0, 0.08)),
        url("../img/band-work.jpg") center / cover no-repeat;
    font-size: 44px;
    line-height: 1.02;
    text-transform: uppercase;
    letter-spacing: 0;
}

body.home > header.container-fluid > section h1::after {
    content: "Produkte entdecken";
    position: absolute;
    left: 68px;
    bottom: 72px;
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0 17px;
    border-radius: 2px;
    background: var(--adt-red);
    color: #fff;
    font-size: 12px;
    line-height: 36px;
    font-weight: 700;
    text-transform: uppercase;
}

body.home > header.container-fluid > section h1 + p {
    position: absolute;
    top: 216px;
    left: 68px;
    width: min(480px, calc(100% - 136px));
    margin: 0;
    color: #fff;
    font-size: 17px;
    line-height: 1.3;
}

body.home > header.container-fluid > section h1 + p strong {
    font-weight: 400;
}

body.home > header.container-fluid > section p:not(:first-of-type) {
    max-width: 820px;
    margin: 0 auto 14px;
    color: var(--adt-text);
    font-size: 17px;
}

body.home > header.container-fluid > section p:not(:first-of-type) strong {
    font-weight: 700;
}

body.home > header.container-fluid > section p:not(:first-of-type) a {
    color: var(--adt-red);
}

body.home > main.container-fluid {
    padding: 0 34px 44px;
    background: transparent;
    box-shadow: none;
}

body.home > main > section {
    margin: 0 auto 42px;
    padding: 0;
}

body.home > main > section:first-child > div > div {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

body.home > main > section:first-child .col-xs-12 {
    width: auto;
    float: none;
    margin: 0;
    padding: 0;
}

body.home > main > section:first-child .adth5 {
    display: block;
    padding: 20px 14px 8px;
    color: var(--adt-ink);
    text-align: center;
    font-size: 18px;
    font-weight: 700;
}

body.home > main > section:first-child a {
    min-height: 155px;
    display: block;
    padding: 18px;
    background: #fff;
    box-shadow: var(--adt-card-shadow);
    text-align: center;
}

body.home > main > section:first-child img {
    max-height: 86px;
    width: auto;
    margin: 0 auto;
    border: 0;
    object-fit: contain;
}

body.home #adtprodukte,
body.home > main > section:nth-of-type(n + 3) {
    max-width: var(--adt-width);
    margin-right: auto;
    margin-left: auto;
    padding: 34px;
    background: #fff;
    box-shadow: var(--adt-shadow);
}

.adthline {
    border: 0;
    margin-bottom: 28px;
    text-align: center;
}

.adthline h2 {
    position: relative;
    top: auto;
    margin: 0;
    padding: 0 0 12px;
    display: inline-block;
    background: transparent;
    color: var(--adt-ink);
    font-size: 30px;
    text-transform: uppercase;
}

.adthline h2::after {
    content: "";
    position: absolute;
    right: 18%;
    bottom: 0;
    left: 18%;
    height: 4px;
    background: var(--adt-red);
}

body.home .adtsprodukt {
    width: 25%;
    display: inline-block;
    float: none;
    vertical-align: top;
    padding: 0 12px 28px !important;
}

body.home .adtsprodukt > div {
    height: 190px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}

body.home .adtsprodukt img {
    max-height: 180px;
    width: auto;
    margin: 0 auto;
}

body.home .adtsprodukt h3 {
    min-height: 48px;
    margin: 0 0 8px;
    color: var(--adt-ink);
    font-size: 20px;
}

body.home .adtsprodukt p {
    color: var(--adt-muted);
    font-size: 15px;
}

/* Product category grids */

body.archive.category > header.container-fluid,
body.single-produkte > header.container-fluid,
body.page > header.container-fluid {
    margin-bottom: 0;
}

body.archive.category > header.container-fluid > .row:last-child,
body.single-produkte > header.container-fluid > .row:last-child,
body.page > header.container-fluid > .row:last-child {
    padding: 24px 44px 32px;
    background: #fff;
}

body.archive.category nav,
body.single-produkte nav,
body.page nav {
    color: var(--adt-muted);
    font-size: 14px;
}

body.archive.category h1.adtbold,
body.page h1.adtbold {
    position: relative;
    max-width: 760px;
    margin: 18px 0 0;
    padding-bottom: 14px;
    color: var(--adt-ink);
    font-size: 42px;
    line-height: 1.05;
    text-transform: uppercase;
}

body.archive.category h1.adtbold::after,
body.page h1.adtbold::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 205px;
    height: 4px;
    background: var(--adt-red);
}

#adtcatloop {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

#adtcatloop::before,
#adtcatloop::after,
#adtcatloop .clearfix {
    display: none !important;
}

#adtcatloop .adtprodukt {
    width: auto;
    float: none;
    margin: 0;
    padding: 0;
}

.adtprodukt > .row {
    height: 100%;
    display: flex;
    flex-direction: column;
    margin: 0;
    overflow: hidden;
    border: 1px solid #eee;
    border-radius: 4px;
    background: #fff;
    box-shadow: var(--adt-card-shadow);
}

.adtprodukt .adtlistimg,
.adtprodukt .col-md-8 {
    width: 100%;
    float: none;
    padding: 0;
}

.adtprodukt .adtlistimg {
    min-height: 210px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f7f7f7;
}

.adtprodukt .adtlistimg a {
    width: 100%;
    height: 210px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.adtprodukt .adtlistimg img {
    max-width: 86%;
    max-height: 185px !important;
    width: auto;
    object-fit: contain;
}

.adtprodukt .col-md-8 {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 22px 24px 24px;
}

.adtprodukt .adtlisth {
    margin: 0 0 8px;
    color: var(--adt-ink);
    font-size: 24px;
    line-height: 1.12;
}

.adtprodukt .adtsubhead {
    margin-bottom: 12px;
    color: var(--adt-muted);
    font-size: 15px;
}

.adtprodukt .adth6,
.adtprodukt .adtmaterial,
.adtprodukt .adtverwendung1,
.adtprodukt .adtverwendung2,
.adtprodukt .adtspecials {
    display: none !important;
}

.adtprodukt .col-md-8::after {
    content: "Mehr erfahren";
    width: fit-content;
    display: inline-flex;
    align-items: center;
    min-height: 39px;
    margin-top: auto;
    padding: 0 18px;
    border-radius: 3px;
    background: var(--adt-red);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
}

/* Product detail */

body.single-produkte > header.container-fluid > .row:last-child {
    padding-bottom: 20px;
}

body.single-produkte h1.adtbold {
    display: none;
}

body.single-produkte > main.container-fluid {
    padding-top: 32px;
}

body.single-produkte main > .row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 250px;
    gap: 34px;
}

body.single-produkte main > .row > [itemscope] {
    width: auto;
    float: none;
    margin: 0;
    padding: 0;
}

body.single-produkte main > .row > aside {
    width: auto;
    float: none;
    margin: 0;
    padding: 0;
}

body.single-produkte [itemscope] > .row:first-child {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    gap: 34px;
}

body.single-produkte [itemscope] > .row:first-child > .col-lg-10 {
    grid-column: 1 / -1;
}

body.single-produkte [itemscope] > .row:first-child::before,
body.single-produkte [itemscope] > .row:first-child::after {
    display: none;
}

body.single-produkte [itemscope] > .row:first-child > .col-xs-12 {
    width: auto;
    float: none;
    padding: 0;
}

.adtcategorys {
    grid-column: 1 / -1;
    margin: 0 0 6px;
    color: var(--adt-muted);
    font-size: 15px;
}

body.single-produkte .adtbcontainer {
    margin: 0 0 18px;
}

body.single-produkte .adtspecials {
    display: none !important;
}

body.single-produkte .adtbilder {
    margin: 0;
    padding: 0;
    border-radius: 6px;
    background: #f4f4f4;
    box-shadow: var(--adt-card-shadow);
}

body.single-produkte .adtbilder img {
    width: 100%;
    max-height: 500px;
    object-fit: contain;
}

body.single-produkte .col-md-7 > .adth2 {
    display: block;
    margin-bottom: 18px;
    color: var(--adt-ink);
    font-size: 42px;
    line-height: 1.04;
}

body.single-produkte .col-md-7 > .adth2::before {
    content: attr(itemprop);
    display: none;
}

body.single-produkte .col-md-7 > .adtsubhead {
    display: inline-block;
    margin-bottom: 18px;
    padding: 9px 13px;
    border-radius: 4px;
    background: var(--adt-red);
    color: #fff;
    font-size: 19px;
    font-weight: 700;
}

body.single-produkte [itemprop="description"] {
    margin-bottom: 18px;
    color: var(--adt-text);
    font-size: 16px;
}

body.single-produkte #adtdaten,
body.single-produkte .adttablewrapper,
body.single-produkte .fr-adttablewrapper {
    margin-top: 18px;
}

body.single-produkte .adttablewrapper .row,
body.single-produkte .fr-adttablewrapper .row {
    margin: 0;
    border: 1px solid var(--adt-red);
    border-bottom: 0;
}

body.single-produkte .adttablewrapper:last-child .row,
body.single-produkte .fr-adttablewrapper .row:last-child {
    border-bottom: 1px solid var(--adt-red);
}

body.single-produkte .adttablel,
body.single-produkte .adttabler {
    padding: 10px 13px;
    border: 0;
    color: var(--adt-ink);
    font-weight: 700;
}

body.single-produkte .adttablel {
    border-right: 1px solid var(--adt-red);
}

body.single-produkte a.adtpfeil {
    width: 100%;
    max-width: 360px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    margin-top: 18px;
    padding: 0 22px;
    border-radius: 4px;
    background: var(--adt-red);
    color: #fff;
    font-size: 21px;
    text-transform: uppercase;
    background-image: none !important;
}

body.single-produkte aside h5,
body.single-produkte aside .adth4 {
    margin-bottom: 16px;
    color: var(--adt-ink);
    font-size: 22px;
}

#adtrelated {
    display: grid;
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#adtrelated li {
    margin: 0;
    padding: 12px;
    border: 1px solid #e7e7e7;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    color: var(--adt-muted);
    font-size: 14px;
}

#adtrelated img {
    width: 100%;
    max-height: 120px !important;
    object-fit: contain;
}

/* Generic pages */

body.page > main.container-fluid {
    min-height: 520px;
}

body.page-id-8 main h2,
body.page-id-8 main .adth2 {
    color: var(--adt-red);
    text-transform: uppercase;
}

/* Forms */

input,
textarea,
select {
    border: 1px solid #d8d8d8;
    border-radius: 3px;
    padding: 10px 12px;
}

input[type="submit"],
button,
.adtmore {
    border: 0;
    border-radius: 3px;
    background: var(--adt-red);
    color: #fff;
    font-weight: 700;
}

input[type="submit"]:hover,
button:hover,
.adtmore:hover {
    background: var(--adt-red-dark);
    color: #fff;
}

/* Responsive */

@media (max-width: 1190px) {
    body > header.container-fluid,
    body > main.container-fluid,
    body > footer.container-fluid {
        width: min(var(--adt-width), calc(100% - 40px));
    }

    #adtheadermenu {
        left: 220px;
        right: 24px;
    }

    #adtdshop {
        display: none !important;
    }

    #adtheadermenu ul {
        gap: 16px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    body > header.container-fluid,
    body > main.container-fluid,
    body > footer.container-fluid {
        width: min(var(--adt-width), calc(100% - 40px));
    }

    body > header.container-fluid > .row:first-of-type {
        display: flex;
        min-height: 72px;
        padding: 0 20px;
    }

    #adtheader {
        float: none;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #adtlogo {
        width: 130px;
    }

    #adthhotline {
        display: block !important;
        float: none;
        width: auto !important;
        margin: 0 0 0 auto !important;
        font-size: 13px;
    }

    #adtheadermenu,
    #adtmenuwrapper,
    #adtmobilemenu {
        position: static !important;
        left: auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 42px;
        overflow: visible !important;
    }

    #adtmobilemenubutton {
        display: none !important;
    }

    #adtheadermenu {
        padding: 0 14px;
    }

    #adtheadermenu ul {
        height: auto;
        min-height: 42px;
        display: flex;
        justify-content: center;
        gap: 11px;
        margin: 0;
        padding: 0;
    }

    #adtheadermenu li {
        border: 0;
    }

    #adtheadermenu li a,
    #adtheadermenu li a:hover {
        padding: 0;
        font-size: 12px;
        line-height: 42px;
    }
}

@media (max-width: 767px) {
    body > header.container-fluid,
    body > main.container-fluid,
    body > footer.container-fluid {
        width: 100%;
    }

    body > header.container-fluid > .row:first-of-type {
        min-height: 66px;
        padding: 0 18px;
    }

    #adtheader {
        margin-left: 46px !important;
    }

    #adtlogo {
        width: 148px;
    }

    #adtheadermenu {
        position: absolute;
        right: auto;
        left: 0;
        width: 100%;
        min-height: 66px;
        pointer-events: none;
    }

    #adtmobilemenubutton {
        display: flex !important;
        position: absolute;
        top: 10px;
        left: 10px;
        right: auto;
        width: 44px;
        height: 44px;
        align-items: center;
        justify-content: center;
        background: #78f2f2;
        pointer-events: auto;
    }

    #adtmobilemenubutton img {
        width: 34px;
        height: 34px;
    }

    #adtmobilemenu {
        height: 66px;
        overflow: hidden;
        pointer-events: auto;
    }

    #adtmobilemenu:hover,
    #adtmobilemenu:focus-within {
        height: auto;
        overflow: visible;
    }

    #adtheadermenu ul {
        height: auto;
        display: block;
        margin-top: 66px;
        padding: 0;
        background: #fff;
        box-shadow: var(--adt-card-shadow);
    }

    #adtheadermenu li {
        border-bottom: 1px solid #eee;
    }

    #adtheadermenu li a,
    #adtheadermenu li a:hover {
        padding: 13px 20px;
        line-height: 1.2;
    }

    #adtheadermenu .sub-menu {
        position: static !important;
        width: 100%;
        display: block;
        padding: 0 0 8px 18px;
        border: 0;
        box-shadow: none;
    }

    body.home > header.container-fluid > section h1 {
        min-height: 305px;
        padding: 72px 34px 98px;
        font-size: 34px;
    }

    body.home > header.container-fluid > section h1::after {
        left: 34px;
        bottom: 58px;
    }

    body.home > header.container-fluid > section h1 + p {
        top: 190px;
        left: 34px;
        width: calc(100% - 68px);
    }

    body.home > header.container-fluid > section p:not(:first-of-type) {
        width: calc(100% - 68px);
    }

    body.home > main > section:first-child > div > div,
    #adtcatloop {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.home .adtsprodukt {
        width: 50%;
    }

    body.single-produkte main > .row,
    body.single-produkte [itemscope] > .row:first-child {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    body {
        background: #fff;
    }

    body:not(.home) > main.container-fluid,
    body.page > main.container-fluid {
        padding: 28px 22px 44px;
    }

    body.archive.category > header.container-fluid > .row:last-child,
    body.single-produkte > header.container-fluid > .row:last-child,
    body.page > header.container-fluid > .row:last-child {
        padding: 22px 24px 28px;
    }

    h1,
    .adtbold,
    body.archive.category h1.adtbold,
    body.page h1.adtbold,
    body.single-produkte .col-md-7 > .adth2 {
        font-size: 32px;
    }

    body.home > main.container-fluid {
        padding: 0 18px 34px;
    }

    body.home > main > section:first-child > div > div,
    #adtcatloop {
        grid-template-columns: 1fr;
    }

    body.home .adtsprodukt {
        width: 100%;
    }

    body.home #adtprodukte,
    body.home > main > section:nth-of-type(n + 3) {
        padding: 24px 18px;
    }

    .adtprodukt .adtlistimg,
    .adtprodukt .adtlistimg a {
        min-height: 190px;
        height: 190px;
    }

    #adttelbalken {
        display: none !important;
    }
}

/* Redesign overrides added after visual comparison */

body.home > header.container-fluid > section > .row:nth-child(2) {
    margin: 0;
}

body.home > header.container-fluid > section > .row:nth-child(2) > div:first-child {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.home > header.container-fluid > section > .row:nth-child(2) > div:first-child > section,
body.home > header.container-fluid > section > .row:nth-child(2) > div:first-child > section > section {
    width: 100%;
    margin: 0;
    padding: 0;
}

body.home > header.container-fluid > section h1 {
    width: 100%;
    overflow: hidden;
}

body.home > header.container-fluid > section h1 + p {
    max-height: 72px;
    overflow: hidden;
}

body.page-id-8 > main.container-fluid {
    padding-top: 46px;
}

.adt-redesign-category-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 0 0 44px;
}

.adt-redesign-category-card {
    min-width: 0;
}

.adt-redesign-category-card a {
    height: 100%;
    min-height: 318px;
    display: flex;
    flex-direction: column;
    padding: 0 0 22px;
    overflow: hidden;
    border: 1px solid rgba(185, 16, 22, 0.22);
    border-radius: 6px;
    background: #fff;
    color: var(--adt-ink);
    box-shadow: var(--adt-card-shadow);
}

.adt-redesign-category-image {
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    background: #f7f7f7;
}

.adt-redesign-category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.adt-redesign-category-title {
    display: block;
    padding: 0 24px;
    color: var(--adt-ink);
    font-size: 25px;
    line-height: 1.06;
    font-weight: 700;
}

.adt-redesign-category-copy {
    display: block;
    flex: 1;
    padding: 10px 24px 18px;
    color: var(--adt-text);
    font-size: 15px;
    line-height: 1.35;
    font-weight: 400;
}

.adt-redesign-category-cta {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    margin: auto 24px 0;
    padding: 0 16px;
    border-radius: 3px;
    background: var(--adt-red);
    color: #fff;
    font-size: 13px;
    line-height: 36px;
    font-weight: 700;
}

.adt-redesign-page-content {
    max-width: 840px;
    margin: 0 auto;
    color: var(--adt-text);
    font-size: 17px;
}

.adt-redesign-page-content h3 {
    margin: 30px 0 12px;
    font-size: 25px;
}

.adt-redesign-page-content ul {
    padding-left: 22px;
}

.adt-redesign-page-content #adtimgmax {
    max-width: none;
    margin-top: 34px;
}

.adt-redesign-page-content #adtimgmax .row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 0 0 18px;
}

.adt-redesign-page-content #adtimgmax .adtprodukt {
    width: auto;
    float: none;
    padding: 0;
}

.adt-redesign-product {
    padding-top: 32px !important;
    background: #fff;
}

.adt-redesign-product-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(330px, 0.85fr);
    gap: 28px;
    align-items: start;
}

.adt-redesign-product-media {
    min-height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 6px;
    background: #f4f4f4;
    box-shadow: var(--adt-card-shadow);
}

.adt-redesign-product-media img {
    width: 100%;
    height: 500px;
    object-fit: contain;
    object-position: center;
}

.adt-redesign-product-summary h1 {
    margin: 0 0 16px;
    color: var(--adt-ink);
    font-size: 40px;
    line-height: 1.04;
}

.adt-redesign-product-badge {
    width: fit-content;
    max-width: 100%;
    margin-bottom: 18px;
    padding: 8px 13px;
    border-radius: 4px;
    background: var(--adt-red);
    color: #fff;
    font-size: 19px;
    line-height: 1.15;
    font-weight: 700;
    box-shadow: 0 3px 8px rgba(185, 16, 22, 0.22);
}

.adt-redesign-product-copy {
    margin-bottom: 18px;
    max-height: 92px;
    overflow: hidden;
    font-size: 16px;
    line-height: 1.42;
}

.adt-redesign-product-copy h2 {
    display: none;
}

.adt-redesign-product-copy p {
    margin: 0 0 10px;
}

.adt-redesign-product-copy p:nth-of-type(n + 2) {
    display: none;
}

.adt-redesign-product-table {
    margin: 18px 0 18px;
    border: 1px solid var(--adt-red);
    border-bottom: 0;
}

.adt-redesign-meta-row {
    display: grid;
    grid-template-columns: 45% 55%;
    border-bottom: 1px solid var(--adt-red);
}

.adt-redesign-meta-row strong,
.adt-redesign-meta-row span {
    padding: 10px 12px;
    color: var(--adt-ink);
    font-size: 15px;
    line-height: 1.18;
}

.adt-redesign-meta-row strong {
    border-right: 1px solid var(--adt-red);
}

.adt-redesign-product-cta {
    width: 100%;
    min-height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: var(--adt-red);
    color: #fff;
    font-size: 22px;
    line-height: 56px;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: 0 4px 10px rgba(185, 16, 22, 0.24);
}

.adt-redesign-product-cta:hover,
.adt-redesign-product-cta:focus {
    color: #fff;
    background: var(--adt-red-dark);
}

.adt-redesign-product-benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin: 34px 0 0;
}

.adt-redesign-product-benefits article {
    min-height: 118px;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px;
    border-radius: 6px;
    background: #fff;
    box-shadow: var(--adt-card-shadow);
}

.adt-redesign-product-benefits span {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--adt-red);
    border-radius: 50%;
    color: var(--adt-red);
    font-size: 28px;
    line-height: 1;
}

.adt-redesign-product-benefits h2 {
    margin: 0;
    font-size: 24px;
}

.adt-redesign-product-section {
    margin-top: 38px;
    padding-top: 28px;
    border-top: 1px solid #ececec;
}

.adt-redesign-product-section > h2 {
    margin-bottom: 16px;
    font-size: 28px;
}

.adt-redesign-product-section .adtdurchmesser,
.adt-redesign-product-section .adtmaterial {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
}

.adt-redesign-product-section .adtdurchmesser li,
.adt-redesign-product-section .adtmaterial li {
    padding: 6px 10px;
    border-radius: 3px;
    background: #f1f1f1;
    color: var(--adt-text);
    font-size: 14px;
}

.adt-redesign-recommendation a,
.adt-redesign-related > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.adt-redesign-recommendation a,
.adt-redesign-related a {
    padding: 16px;
    border: 1px solid #eee;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 5px 14px rgba(0, 0, 0, 0.08);
    color: var(--adt-ink);
}

.adt-redesign-recommendation img,
.adt-redesign-related img {
    width: 100%;
    height: 150px;
    object-fit: contain;
}

@media (max-width: 991px) {
    #adttelbalken {
        display: none !important;
    }

    body.home > header.container-fluid > section h1 {
        min-height: 350px;
        padding: 82px 58px 108px;
        font-size: 34px;
        line-height: 1.05;
    }

    body.home > header.container-fluid > section h1::after {
        left: 58px;
        bottom: 62px;
    }

    body.home > header.container-fluid > section h1 + p {
        top: 205px;
        left: 58px;
        width: calc(100% - 116px);
        font-size: 15px;
    }

    #adtheadermenu ul {
        gap: 9px;
    }

    #adtheadermenu li a,
    #adtheadermenu li a:hover {
        font-size: 11px;
    }

    .adt-redesign-category-grid,
    .adt-redesign-page-content #adtimgmax .row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .adt-redesign-product-hero,
    .adt-redesign-product-benefits,
    .adt-redesign-recommendation a,
    .adt-redesign-related > div {
        grid-template-columns: 1fr;
    }

    .adt-redesign-product-media,
    .adt-redesign-product-media img {
        height: 420px;
        min-height: 420px;
    }
}

@media (max-width: 767px) {
    .adt-redesign-category-grid,
    .adt-redesign-page-content #adtimgmax .row {
        grid-template-columns: 1fr;
    }

    .adt-redesign-product-summary h1 {
        font-size: 32px;
    }

    .adt-redesign-product-media,
    .adt-redesign-product-media img {
        height: 340px;
        min-height: 340px;
    }
}

#adttelbalken,
.joinchat {
    display: none !important;
}

@media (min-width: 992px) {
    body > header.container-fluid {
        min-height: 74px;
    }

    body > header.container-fluid > .row:first-of-type {
        min-height: 74px;
        padding-right: 24px;
        padding-left: 24px;
    }

    #adthhotline {
        display: none !important;
    }

    #adtlogo {
        width: 128px;
    }

    #adtheadermenu {
        position: absolute;
        top: 0;
        right: 148px;
        left: 190px;
        min-height: 74px;
        padding: 0;
        border-top: 0;
    }

    #adtmenuwrapper,
    #adtmobilemenu {
        min-height: 74px;
        height: 74px;
    }

    #adtheadermenu ul {
        height: 74px;
        justify-content: flex-end;
        gap: 12px;
    }

    #adtheadermenu li a,
    #adtheadermenu li a:hover {
        white-space: nowrap;
        font-size: 12px;
        line-height: 74px;
    }

    #adtdshop {
        top: 16px;
    }

    body.archive.category > header.container-fluid > .row:last-child,
    body.single-produkte > header.container-fluid > .row:last-child,
    body.page > header.container-fluid > .row:last-child {
        padding-top: 16px;
        padding-bottom: 18px;
    }

    body.archive.category #adtcatdesc {
        max-height: 178px;
        overflow: hidden;
    }
}

body.home > header.container-fluid > section h1 {
    align-items: flex-start;
    min-height: 385px;
    padding-top: 88px;
    padding-bottom: 126px;
    font-size: 36px;
}

body.home > header.container-fluid > section h1 + p {
    top: 228px;
}

body.home > header.container-fluid > section h1::after {
    bottom: 44px;
}

@media (max-width: 991px) {
    body.home > header.container-fluid > section h1 {
        min-height: 350px;
        padding-top: 78px;
        padding-bottom: 118px;
        font-size: 28px;
    }

    body.home > header.container-fluid > section h1 + p {
        top: 218px;
    }
}

/* Front page rebuilt from the supplied redesign mock */

body.adt-redesign-front {
    background: #e9ecec;
}

body.adt-design-home-body {
    min-height: 100vh;
    margin: 0;
    background: #e9ecec;
}

body.adt-design-home-body .adt-design-home {
    width: 100%;
    margin: 0;
    padding: 0 !important;
    background: #e9ecec !important;
    box-shadow: none !important;
}

.adt-design-home-frame {
    position: relative;
    width: min(768px, 100%);
    margin: 0 auto;
}

.adt-design-home-image {
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    height: auto !important;
    display: block;
    margin: 0 !important;
}

.adt-design-hotspot {
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: var(--w);
    height: var(--h);
    display: block;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0;
}

.adt-design-hotspot:focus-visible {
    outline: 2px solid rgba(190, 24, 31, 0.95);
    outline-offset: 2px;
}

body.adt-design-home-body div:has(a[href*="xyzscripts.com"]) {
    display: none !important;
}

body.adt-design-home-body {
    color: #171717;
    font-family: "Arial Narrow", "Roboto Condensed", Arial, Helvetica, sans-serif;
}

body.adt-design-home-body .adt-design-header,
body.adt-design-home-body .adt-design-home,
body.adt-design-home-body .adt-design-footer {
    width: min(1056px, calc(100% - 48px));
    margin-right: auto;
    margin-left: auto;
}

.adt-design-header {
    min-height: 66px;
    display: flex;
    align-items: center;
    gap: 28px;
    padding: 0 54px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.13);
}

.adt-design-logo {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
}

.adt-design-logo img {
    width: 140px;
    height: auto;
    display: block;
}

.adt-design-nav {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 25px;
}

.adt-design-nav a,
.adt-design-shop {
    color: #171717;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    text-transform: uppercase;
    white-space: nowrap;
}

.adt-design-nav a:hover,
.adt-design-nav a:focus {
    color: var(--adt-red);
}

.adt-design-shop {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    background: var(--adt-red);
    color: #fff;
}

body.adt-design-home-body .adt-design-home {
    display: block !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.adt-design-home-body .adt-design-home > section {
    background-color: transparent;
}

.adt-design-hero {
    min-height: 423px;
    display: flex;
    align-items: center;
    margin: 0 auto 52px !important;
    padding: 0 0 0 166px !important;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.62) 34%, rgba(0, 0, 0, 0.24) 68%, rgba(0, 0, 0, 0.58) 100%),
        url("../img/hero-workshop.jpg") center / cover no-repeat;
    box-shadow: 0 13px 28px rgba(0, 0, 0, 0.18) !important;
}

.adt-design-hero > div {
    max-width: 560px;
}

.adt-design-hero h1 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 47px;
    line-height: 0.95;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
}

body.adt-design-home-body .adt-design-hero h1::before,
body.adt-design-home-body .adt-design-hero h1::after,
body.adt-design-home-body .adt-design-products h2::before,
body.adt-design-home-body .adt-design-products h2::after,
body.adt-design-home-body .adt-design-quality h2::before,
body.adt-design-home-body .adt-design-quality h2::after {
    content: none !important;
    display: none !important;
}

.adt-design-hero p {
    margin: 0 0 22px;
    color: #fff;
    font-size: 20px;
    line-height: 1.2;
    font-weight: 400;
}

.adt-design-hero a,
.adt-design-product-grid em {
    width: auto !important;
    max-width: max-content !important;
    height: auto !important;
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    background: var(--adt-red) !important;
    color: #fff !important;
    text-align: center;
    font-size: 11px !important;
    line-height: 1;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
    box-shadow: none !important;
}

body.adt-design-home-body .adt-design-hero a:hover,
body.adt-design-home-body .adt-design-hero a:focus,
body.adt-design-home-body .adt-design-product-grid em:hover,
body.adt-design-home-body .adt-design-product-grid em:focus {
    background: var(--adt-red-dark) !important;
    color: #fff !important;
}

.adt-design-services {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 18px;
    margin: 0 auto 44px !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.adt-design-services article {
    margin: 0 !important;
    height: 100%;
}

.adt-design-services a {
    min-height: 198px !important;
    height: 100%;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    padding: 24px 18px !important;
    background: #fff !important;
    color: #171717;
    text-align: center;
    box-shadow: 0 9px 24px rgba(0, 0, 0, 0.12) !important;
}

.adt-design-service-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.adt-design-service-icon svg {
    width: 40px;
    height: 40px;
    display: block;
    fill: var(--adt-red);
}

.adt-design-services strong {
    display: block;
    min-height: 2.1em;
    color: #171717;
    font-size: 17px;
    line-height: 1.05;
    font-weight: 900;
}

.adt-design-services span:last-child {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex: 1 1 auto;
    max-width: 165px;
    color: #444;
    font-size: 13px;
    line-height: 1.28;
    font-weight: 400;
}

.adt-design-quality {
    min-height: 313px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto 34px !important;
    padding: 0 110px !important;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, 0.86), rgba(0, 0, 0, 0.28), rgba(0, 0, 0, 0.84)),
        url("../img/front-band.webp") center / cover no-repeat;
    color: #fff;
    box-shadow: 0 11px 24px rgba(0, 0, 0, 0.16) !important;
}

.adt-design-quality h2 {
    margin: 0 0 28px;
    color: #fff;
    text-align: center;
    font-size: 52px;
    line-height: 1;
    font-style: italic;
    font-weight: 900;
    text-transform: uppercase;
}

.adt-design-quality > div {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 28px;
}

.adt-design-quality span {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: #fff;
    text-align: center;
}

.adt-design-quality svg {
    width: 44px;
    height: 44px;
    fill: #fff;
}

.adt-design-quality strong {
    color: #fff;
    font-size: 16px;
    line-height: 1;
    font-weight: 700;
}

.adt-design-products {
    margin: 0 auto 34px !important;
    padding: 30px 45px 46px !important;
    background: #fff !important;
    box-shadow: 0 9px 24px rgba(0, 0, 0, 0.08) !important;
}

.adt-design-products h2 {
    margin: 0 0 28px;
    color: #171717;
    text-align: center;
    font-size: 33px;
    line-height: 1;
    font-weight: 900;
    text-transform: uppercase;
}

.adt-design-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px 20px;
}

.adt-design-product-grid article {
    margin: 0 !important;
    min-width: 0;
}

.adt-design-product-grid a {
    width: auto !important;
    height: 100%;
    min-height: 260px !important;
    display: flex !important;
    flex-direction: column;
    padding: 0 0 18px !important;
    background: #fff !important;
    color: #171717;
    box-shadow: 0 8px 21px rgba(0, 0, 0, 0.12) !important;
}

.adt-design-product-image {
    height: 132px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 18px;
    background: #fafafa;
}

.adt-design-product-image img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 112px;
    display: block;
    object-fit: contain;
}

.adt-design-project-card .adt-design-product-image {
    height: 138px;
    padding: 0;
    background: #ddd;
}

.adt-design-project-card .adt-design-product-image img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
}

.adt-design-product-grid strong {
    display: block;
    padding: 16px 14px 0;
    color: #171717;
    font-size: 17px;
    line-height: 1.05;
    font-weight: 900;
}

.adt-design-product-grid ul {
    flex: 1;
    margin: 8px 14px 12px;
    padding: 0 0 0 14px;
}

.adt-design-product-grid li {
    margin: 0 0 4px;
    color: #3a3a3a;
    font-size: 12px;
    line-height: 1.25;
}

.adt-design-product-grid em {
    min-height: 30px !important;
    margin: auto 14px 0 !important;
    align-self: flex-start;
    padding: 0 13px !important;
    font-size: 10px !important;
}

.adt-design-footer {
    min-height: 130px;
    display: grid;
    grid-template-columns: 1.45fr 1fr 1fr;
    gap: 40px;
    padding: 32px 54px;
    background: #20272b;
    color: #fff;
}

.adt-design-footer a,
.adt-design-footer h2,
.adt-design-footer p {
    color: #fff;
}

.adt-design-footer h2 {
    margin: 0 0 9px;
    font-size: 15px;
    line-height: 1.15;
}

.adt-design-footer p {
    margin: 0 0 7px;
    font-size: 13px;
    line-height: 1.35;
}

.adt-design-footer-brand {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    align-items: center;
    gap: 18px;
}

.adt-design-footer-brand img {
    width: 68px;
    height: auto;
    display: block;
}

body.adt-redesign-front .adt-front-header,
body.adt-redesign-front .adt-front-main {
    width: min(1000px, calc(100% - 110px));
    margin-right: auto;
    margin-left: auto;
}

body.adt-redesign-front .adt-front-header {
    height: 51px;
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 0 48px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.14);
}

.adt-front-logo {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

.adt-front-logo img {
    width: 138px;
    height: auto;
    display: block;
}

.adt-front-nav {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    overflow: hidden;
}

.adt-front-nav a,
.adt-front-action {
    color: var(--adt-ink);
    font-size: 12px;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
}

.adt-front-nav a:hover,
.adt-front-nav a:focus {
    color: var(--adt-red);
}

.adt-front-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 14px;
    border-radius: 2px;
    background: var(--adt-red);
    color: #fff;
    font-size: 11px;
    box-shadow: 0 4px 8px rgba(185, 16, 22, 0.22);
}

.adt-front-action:hover,
.adt-front-action:focus {
    color: #fff;
    background: var(--adt-red-dark);
}

body.adt-redesign-front .adt-front-main {
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.adt-front-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

body.adt-redesign-front .adt-front-main > section {
    margin: 0 auto 32px !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.adt-front-hero {
    position: relative;
    width: 100% !important;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18) !important;
}

.adt-front-hero img,
.adt-front-band img {
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    height: auto !important;
    margin: 0 !important;
    display: block;
}

.adt-front-hero a {
    position: absolute;
    left: 15.5%;
    top: 66.5%;
    width: 15%;
    height: 10%;
    min-height: 0 !important;
    display: block !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.adt-front-services {
    width: 84%;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

body.adt-redesign-front .adt-front-main > .adt-front-services {
    margin-bottom: 16px !important;
}

.adt-front-services article {
    min-width: 0;
    margin: 0 !important;
}

.adt-front-services a {
    min-height: 140px !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 18px 12px !important;
    background: #fff !important;
    color: var(--adt-ink);
    text-align: center;
    box-shadow: 0 9px 18px rgba(0, 0, 0, 0.14) !important;
}

.adt-front-service-icon svg {
    width: 34px;
    height: 34px;
    display: block;
    fill: var(--adt-red);
}

.adt-front-services strong {
    display: block;
    color: var(--adt-ink);
    font-size: 15px;
    line-height: 1.1;
    font-weight: 700;
}

.adt-front-services span:last-child {
    display: block;
    color: #555;
    font-size: 11px;
    line-height: 1.28;
    font-weight: 400;
}

.adt-front-band {
    overflow: hidden;
    box-shadow: 0 11px 24px rgba(0, 0, 0, 0.16) !important;
}

body.adt-redesign-front .adt-front-main > .adt-front-band {
    margin-top: 0 !important;
    margin-bottom: 22px !important;
}

.adt-front-products {
    padding: 30px 42px 36px !important;
    background: #fff !important;
    box-shadow: var(--adt-shadow) !important;
}

body.adt-redesign-front .adt-front-main > .adt-front-products {
    padding: 20px 42px 28px !important;
    margin-bottom: 24px !important;
    background: #fff !important;
    box-shadow: var(--adt-shadow) !important;
}

.adt-front-products h2 {
    margin: 0 0 18px;
    color: var(--adt-ink);
    text-align: center;
    font-size: 28px;
    line-height: 1;
    text-transform: uppercase;
}

.adt-front-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.adt-front-product-card {
    min-width: 0;
    margin: 0 !important;
}

.adt-front-product-card a {
    height: 100%;
    min-height: 214px !important;
    display: flex !important;
    flex-direction: column;
    padding: 0 0 16px !important;
    overflow: hidden;
    background: #fff !important;
    color: var(--adt-ink);
    box-shadow: 0 7px 17px rgba(0, 0, 0, 0.12) !important;
}

.adt-front-card-image {
    height: 105px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: #f7f7f7;
}

.adt-front-more-card .adt-front-card-image {
    padding: 0;
}

.adt-front-card-image img {
    max-width: 100%;
    max-height: 90px;
    width: auto;
    object-fit: contain;
}

.adt-front-more-card .adt-front-card-image img {
    width: 100%;
    height: 105px;
    max-height: none;
    object-fit: cover;
}

.adt-front-product-card strong {
    display: block;
    min-height: 34px;
    padding: 11px 13px 0;
    color: var(--adt-ink);
    font-size: 16px;
    line-height: 1.08;
}

.adt-front-product-card span:not(.adt-front-card-image) {
    display: block;
    flex: 1;
    padding: 5px 13px 10px;
    color: #555;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 400;
}

.adt-front-product-card em {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    margin: auto 13px 0;
    padding: 0 12px;
    border-radius: 2px;
    background: var(--adt-red);
    color: #fff;
    font-size: 10px;
    line-height: 26px;
    font-style: normal;
    font-weight: 700;
}

.adt-front-seo {
    max-width: 820px;
    margin: 28px auto 46px;
    padding: 0 20px !important;
    color: var(--adt-text);
}

.adt-front-seo h2 {
    margin-bottom: 12px;
    font-size: 28px;
}

.adt-front-seo p {
    margin: 0 0 14px;
    font-size: 16px;
    line-height: 1.55;
}

.adt-front-linkline {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
}

.adt-front-linkline a {
    font-size: 14px;
}

.adt-front-footer {
    width: min(1000px, calc(100% - 110px));
    min-height: 112px;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 34px;
    margin: 0 auto;
    padding: 28px 48px;
    background: #172027;
    color: #fff;
}

.adt-front-footer a {
    color: #fff;
}

.adt-front-footer h2 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 15px;
    line-height: 1.15;
}

.adt-front-footer p {
    margin: 0 0 8px;
    color: #fff;
    font-size: 12px;
    line-height: 1.35;
}

.adt-front-footer-brand {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
}

.adt-front-footer-brand img {
    width: 64px;
    height: auto;
    display: block;
}

@media (max-width: 1100px) {
    .adt-front-nav {
        gap: 14px;
    }

    .adt-front-nav a {
        font-size: 10px;
    }
}

@media (max-width: 991px) {
    body.adt-redesign-front .adt-front-header,
    body.adt-redesign-front .adt-front-main {
        width: min(1000px, calc(100% - 40px));
    }

    body.adt-redesign-front .adt-front-header {
        height: auto;
        min-height: 72px;
        flex-wrap: wrap;
        justify-content: center;
        gap: 12px 18px;
        padding: 14px 18px;
    }

    .adt-front-logo img {
        width: 96px;
    }

    .adt-front-nav {
        flex-basis: 100%;
        justify-content: center;
        flex-wrap: wrap;
        gap: 13px;
        order: 3;
    }

    .adt-front-action {
        min-height: 28px;
    }

    .adt-front-services {
        width: 84%;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px;
    }

    .adt-front-services a {
        min-height: 126px !important;
        padding: 14px 9px !important;
    }

    .adt-front-service-icon svg {
        width: 28px;
        height: 28px;
    }

    .adt-front-services strong {
        font-size: 13px;
    }

    .adt-front-services span:last-child {
        font-size: 10px;
    }

    .adt-front-products {
        padding: 26px 28px 32px !important;
    }

    .adt-front-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 641px) and (max-width: 991px) {
    body.adt-redesign-front .adt-front-header,
    body.adt-redesign-front .adt-front-main {
        width: min(1000px, calc(100% - 110px));
    }

    body.adt-redesign-front .adt-front-header {
        height: 51px;
        min-height: 51px;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 12px;
        padding: 0 34px;
    }

    .adt-front-logo img {
        width: 140px;
    }

    .adt-front-nav {
        flex: 1 1 auto;
        flex-basis: auto;
        order: 0;
        justify-content: flex-end;
        flex-wrap: nowrap;
        gap: 8px;
    }

    .adt-front-nav a {
        font-size: 8px;
    }

    .adt-front-action {
        min-height: 28px;
        padding: 0 10px;
        font-size: 8px;
    }

    .adt-front-card-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 18px 12px;
    }

    body.adt-redesign-front .adt-front-main > .adt-front-products {
        padding: 16px 28px 44px !important;
        margin-bottom: 0 !important;
    }

    .adt-front-products h2 {
        margin-bottom: 16px;
        font-size: 27px;
    }

    .adt-front-product-card a {
        height: 180px;
        min-height: 0 !important;
    }

    .adt-front-product-card:nth-child(n + 5) a {
        height: 154px;
    }

    .adt-front-card-image {
        height: 72px;
    }

    .adt-front-card-image img {
        max-height: 60px;
    }

    .adt-front-more-card .adt-front-card-image img {
        height: 72px;
    }

    .adt-front-product-card strong {
        min-height: 36px;
        padding: 9px 9px 0;
        font-size: 11px;
    }

    .adt-front-product-card span:not(.adt-front-card-image) {
        padding: 5px 9px 10px;
        font-size: 10px;
    }

    .adt-front-product-card em {
        min-height: 25px;
        margin-left: 9px;
        margin-right: 9px;
        padding: 0 9px;
        font-size: 9px;
        line-height: 25px;
    }

    .adt-front-footer {
        width: min(1000px, calc(100% - 110px));
        grid-template-columns: 1.3fr 1fr 1fr;
        gap: 24px;
        margin-top: -24px;
        padding: 24px 34px;
    }
}

@media (max-width: 640px) {
    body.adt-redesign-front .adt-front-header,
    body.adt-redesign-front .adt-front-main {
        width: calc(100% - 28px);
    }

    .adt-front-services,
    .adt-front-card-grid {
        grid-template-columns: 1fr;
    }

    .adt-front-services {
        width: 92%;
    }

    .adt-front-products {
        padding: 24px 18px 28px !important;
    }

    body.adt-redesign-front .adt-front-main > .adt-front-band {
        margin-top: 0 !important;
    }

    .adt-front-footer {
        width: calc(100% - 28px);
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 24px 22px;
    }
}

/* Current homepage implementation: sharp HTML text, wider desktop canvas */

body.adt-design-home-body .adt-design-header,
body.adt-design-home-body .adt-design-home,
body.adt-design-home-body .adt-design-footer {
    width: min(1120px, calc(100% - 48px));
}

body.adt-design-home-body .adt-design-header {
    min-height: 66px;
    gap: 24px;
    padding: 0 52px;
}

body.adt-design-home-body .adt-design-logo img {
    width: 140px;
}

body.adt-design-home-body .adt-design-nav {
    gap: 24px;
}

body.adt-design-home-body .adt-design-nav a,
body.adt-design-home-body .adt-design-shop {
    font-size: 12px;
}

body.adt-design-home-body .adt-design-home > section {
    max-width: none !important;
}

body.adt-design-home-body .adt-design-hero {
    min-height: 416px !important;
    padding: 0 0 0 160px !important;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, 0.88) 0%, rgba(0, 0, 0, 0.64) 34%, rgba(0, 0, 0, 0.24) 66%, rgba(0, 0, 0, 0.58) 100%),
        url("../img/hero-workshop.jpg") center / cover no-repeat !important;
}

body.adt-design-home-body .adt-design-hero h1 {
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: #fff !important;
    font-size: 46px !important;
    line-height: 0.96 !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    text-shadow: none !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

body.adt-design-home-body .adt-design-hero p {
    color: #fff !important;
    text-shadow: none !important;
}

body.adt-design-home-body .adt-design-hero a {
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    height: auto !important;
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 16px !important;
    background: var(--adt-red) !important;
    color: #fff !important;
    box-shadow: none !important;
}

body.adt-design-home-body .adt-design-services {
    width: 100%;
}

body.adt-design-home-body .adt-design-quality {
    min-height: 300px !important;
    padding: 0 96px !important;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, 0.88), rgba(0, 0, 0, 0.22), rgba(0, 0, 0, 0.84)),
        url("../img/band-work.jpg") center / cover no-repeat !important;
}

body.adt-design-home-body .adt-design-quality h2 {
    margin: 0 0 28px !important;
    padding: 0 !important;
    color: #fff !important;
    background: transparent !important;
    font-size: 50px !important;
}

body.adt-design-home-body .adt-design-quality h2::before,
body.adt-design-home-body .adt-design-quality h2::after,
body.adt-design-home-body .adt-design-products h2::before,
body.adt-design-home-body .adt-design-products h2::after {
    content: none !important;
    display: none !important;
}

body.adt-design-home-body .adt-design-products {
    padding: 34px 48px 48px !important;
}

body.adt-design-home-body .adt-design-product-grid {
    gap: 24px 22px;
}

body.adt-design-home-body .adt-design-product-grid strong {
    overflow-wrap: anywhere;
}

@media (max-width: 1140px) {
    body.adt-design-home-body .adt-design-header,
    body.adt-design-home-body .adt-design-home,
    body.adt-design-home-body .adt-design-footer {
        width: calc(100% - 40px);
    }

    body.adt-design-home-body .adt-design-header {
        gap: 16px;
        padding: 0 34px;
    }

    body.adt-design-home-body .adt-design-logo img {
        width: 120px;
    }

    body.adt-design-home-body .adt-design-nav {
        gap: 14px;
    }

    body.adt-design-home-body .adt-design-nav a,
    body.adt-design-home-body .adt-design-shop {
        font-size: 10px;
    }
}

@media (max-width: 860px) {
    body.adt-design-home-body .adt-design-header {
        min-height: 86px;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px 18px;
        padding: 14px 22px;
    }

    body.adt-design-home-body .adt-design-logo {
        order: 1;
    }

    body.adt-design-home-body .adt-design-shop {
        order: 2;
    }

    body.adt-design-home-body .adt-design-nav {
        flex: 0 0 100%;
        order: 3;
        justify-content: center;
        flex-wrap: wrap;
        gap: 12px 18px;
    }

    body.adt-design-home-body .adt-design-hero {
        min-height: 420px !important;
        padding: 0 40px !important;
    }

    body.adt-design-home-body .adt-design-hero h1 {
        font-size: 42px !important;
    }

    body.adt-design-home-body .adt-design-services {
        width: 100%;
        gap: 18px;
    }

    body.adt-design-home-body .adt-design-quality {
        min-height: 260px !important;
        padding: 0 34px !important;
    }

    body.adt-design-home-body .adt-design-quality h2 {
        font-size: 38px !important;
    }

    body.adt-design-home-body .adt-design-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.adt-design-home-body .adt-design-product-grid strong {
        overflow-wrap: normal;
    }
}

@media (max-width: 640px) {
    body.adt-design-home-body .adt-design-header,
    body.adt-design-home-body .adt-design-home,
    body.adt-design-home-body .adt-design-footer {
        width: calc(100% - 28px);
    }

    body.adt-design-home-body .adt-design-hero {
        min-height: 340px !important;
        padding: 0 24px !important;
    }

    body.adt-design-home-body .adt-design-hero h1 {
        font-size: 34px !important;
    }

    body.adt-design-home-body .adt-design-hero p {
        font-size: 16px !important;
    }

    body.adt-design-home-body .adt-design-services,
    body.adt-design-home-body .adt-design-product-grid {
        grid-template-columns: 1fr;
    }

    body.adt-design-home-body .adt-design-services {
        width: 100%;
    }

    body.adt-design-home-body .adt-design-quality > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.adt-design-home-body .adt-design-quality h2 {
        font-size: 31px !important;
    }

    body.adt-design-home-body .adt-design-products {
        padding: 26px 18px 34px !important;
    }

    body.adt-design-home-body .adt-design-footer {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 24px 22px;
    }
}

/* Category landing pages rebuilt without changing category URLs */

body.adt-redesign-category-detail {
    background: #fff;
    color: var(--adt-ink);
}

.adt-category-shell {
    width: min(1000px, calc(100% - 64px));
    margin: 0 auto;
    padding: 18px 0 54px;
}

.adt-category-intro {
    max-width: 780px;
    margin-bottom: 24px;
}

.adt-category-intro h1 {
    margin: 0 0 12px;
    color: #060606;
    font-size: 42px;
    line-height: 1.05;
    font-weight: 900;
    text-transform: uppercase;
}

.adt-category-intro h1::after {
    content: "";
    width: 205px;
    height: 4px;
    display: block;
    margin-top: 12px;
    background: var(--adt-red);
}

.adt-category-intro p {
    margin: 0 0 10px;
    font-size: 17px;
    line-height: 1.5;
}

.adt-category-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    margin-top: 28px;
}

.adt-category-product-card {
    min-width: 0;
    margin: 0 !important;
}

.adt-category-product-card a {
    height: 100%;
    min-height: 318px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 4px;
    background: #fff;
    color: var(--adt-ink);
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.18);
}

.adt-category-product-image {
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: #f3f3f3;
}

.adt-category-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.adt-category-product-card strong {
    display: block;
    padding: 22px 22px 0;
    font-size: 25px;
    line-height: 1.08;
}

.adt-category-product-card span:not(.adt-category-product-image) {
    display: -webkit-box;
    overflow: hidden;
    padding: 10px 22px 18px;
    color: #222;
    font-size: 16px;
    line-height: 1.38;
    font-weight: 400;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.adt-category-product-card em {
    width: fit-content;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    margin: auto 22px 22px;
    padding: 0 18px;
    border-radius: 3px;
    background: var(--adt-red);
    color: #fff;
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
}

.adt-category-shop-link {
    margin-top: 34px;
    text-align: center;
}

.adt-category-shop-link a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 20px;
    border-radius: 4px;
    background: var(--adt-red);
    color: #fff;
    text-transform: uppercase;
}

.adt-category-seo-copy {
    max-width: 820px;
    margin-top: 38px;
    font-size: 16px;
    line-height: 1.55;
}

.adt-category-seo-copy h2,
.adt-category-seo-copy h3 {
    margin: 22px 0 10px;
}

/* Generic content pages */

body.adt-redesign-page {
    background: #fff;
    color: var(--adt-ink);
}

.adt-page-shell {
    width: min(1000px, calc(100% - 64px));
    margin: 0 auto;
    padding: 18px 0 54px;
}

.adt-page-content {
    max-width: 860px;
    margin: 0;
}

.adt-page-content h1 {
    margin: 0 0 24px;
    color: #060606;
    font-size: 42px;
    line-height: 1.06;
    font-weight: 900;
    text-transform: uppercase;
}

.adt-page-content h1::after {
    content: "";
    width: 205px;
    height: 4px;
    display: block;
    margin-top: 12px;
    background: var(--adt-red);
}

.adt-page-content h2,
.adt-page-content h3 {
    margin: 26px 0 12px;
    color: var(--adt-ink);
}

.adt-page-content p,
.adt-page-content li {
    font-size: 17px;
    line-height: 1.55;
}

.adt-page-content img {
    max-width: 100%;
    height: auto;
}

.adt-page-content input,
.adt-page-content select,
.adt-page-content textarea {
    max-width: 100%;
}

@media (max-width: 640px) {
    .adt-page-shell {
        width: calc(100% - 28px);
    }

    .adt-page-content h1 {
        font-size: 32px;
    }
}

@media (max-width: 991px) {
    .adt-category-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .adt-category-shell {
        width: calc(100% - 28px);
    }

    .adt-category-intro h1 {
        font-size: 32px;
    }

    .adt-category-card-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

/* Product detail rebuilt from the supplied product mock */

body.adt-redesign-product-detail {
    background: #fff;
    color: var(--adt-ink);
}

.adt-detail-header {
    width: 100%;
    background: #fff;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.14);
}

.adt-detail-header-inner {
    width: min(1000px, calc(100% - 64px));
    min-height: 68px;
    display: flex;
    align-items: center;
    gap: 34px;
    margin: 0 auto;
}

.adt-detail-logo {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
}

.adt-detail-logo img {
    width: 126px;
    height: auto;
    display: block;
}

.adt-detail-nav {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 28px;
}

.adt-detail-nav a,
.adt-detail-action {
    color: #111;
    font-size: 16px;
    line-height: 1;
    font-weight: 500;
    white-space: nowrap;
}

.adt-detail-action {
    flex: 0 0 auto;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    border-radius: 4px;
    background: var(--adt-red);
    color: #fff;
    font-weight: 700;
    box-shadow: 0 4px 9px rgba(185, 16, 22, 0.26);
}

.adt-detail-action:hover,
.adt-detail-action:focus {
    color: #fff;
    background: var(--adt-red-dark);
}

body.adt-redesign-product-detail > main.adt-redesign-product {
    width: min(1000px, calc(100% - 64px));
    padding: 18px 0 52px !important;
    background: transparent;
    box-shadow: none !important;
}

.adt-detail-breadcrumb {
    margin: 0 0 28px;
    color: #111;
    font-size: 16px;
    line-height: 1.2;
}

.adt-detail-breadcrumb a {
    color: #111;
    font-weight: 400;
}

.adt-detail-breadcrumb span {
    margin: 0 5px;
    color: #444;
}

body.adt-redesign-product-detail .adt-redesign-product-hero {
    grid-template-columns: minmax(0, 1.6fr) minmax(320px, 0.8fr);
    gap: 28px;
}

body.adt-redesign-product-detail .adt-redesign-product-media {
    min-height: 500px;
    border-radius: 6px;
    background: #f3f3f3;
}

body.adt-redesign-product-detail .adt-redesign-product-summary h1 {
    margin-bottom: 18px;
    font-size: 38px;
    line-height: 1.08;
    font-weight: 900;
}

body.adt-redesign-product-detail .adt-redesign-product-badge {
    margin-bottom: 18px;
    padding: 8px 13px;
    font-size: 22px;
}

body.adt-redesign-product-detail .adt-redesign-product-copy {
    display: -webkit-box;
    max-height: none;
    overflow: hidden;
    margin-bottom: 18px;
    font-size: 16px;
    line-height: 1.38;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

body.adt-redesign-product-detail .adt-redesign-product-table {
    margin-bottom: 18px;
}

body.adt-redesign-product-detail .adt-redesign-meta-row strong,
body.adt-redesign-product-detail .adt-redesign-meta-row span {
    padding: 9px 11px;
    font-size: 15px;
}

body.adt-redesign-product-detail .adt-redesign-product-cta {
    min-height: 56px;
    font-size: 22px;
}

.adt-detail-footer {
    width: min(1000px, calc(100% - 64px));
    display: flex;
    justify-content: center;
    gap: 24px;
    margin: 0 auto;
    padding: 24px 0 42px;
    border-top: 1px solid #eee;
}

.adt-detail-footer a {
    color: var(--adt-red);
    font-size: 14px;
}

@media (max-width: 991px) {
    .adt-detail-header-inner {
        gap: 18px;
    }

    .adt-detail-nav {
        gap: 16px;
    }

    .adt-detail-nav a,
    .adt-detail-action {
        font-size: 13px;
    }

    body.adt-redesign-product-detail .adt-redesign-product-hero {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .adt-detail-header-inner {
        width: calc(100% - 28px);
        min-height: 92px;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px 14px;
        padding: 12px 0;
    }

    .adt-detail-nav {
        flex-basis: 100%;
        justify-content: center;
        flex-wrap: wrap;
    }

    body.adt-redesign-product-detail > main.adt-redesign-product,
    .adt-detail-footer {
        width: calc(100% - 28px);
    }

    .adt-detail-breadcrumb {
        font-size: 13px;
    }

    body.adt-redesign-product-detail .adt-redesign-product-summary h1 {
        font-size: 32px;
    }
}

/* Product overview rebuilt from the supplied redesign mock */

body.adt-redesign-product-index {
    background: #f7f7f6;
    color: var(--adt-ink);
    font-family: "Titillium Web", "Segoe UI", Arial, sans-serif;
}

body.adt-redesign-product-index .adt-product-header,
body.adt-redesign-product-index .adt-product-shell {
    width: min(596px, calc(100% - 160px));
    margin-right: auto;
    margin-left: auto;
}

body.adt-redesign-product-index .adt-product-header {
    min-height: 52px;
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 120px;
    padding: 0 34px;
    background: #8d0207;
    color: #fff;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
}

.adt-product-logo {
    flex: 0 0 auto;
    color: #fff;
    font-size: 23px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 0;
}

.adt-product-logo::before {
    content: "";
    width: 22px;
    height: 22px;
    display: inline-block;
    margin-right: 6px;
    background: #fff;
    transform: rotate(45deg) translateY(2px);
    vertical-align: middle;
}

.adt-product-logo:hover,
.adt-product-logo:focus,
.adt-product-phone:hover,
.adt-product-phone:focus,
.adt-product-nav a:hover,
.adt-product-nav a:focus,
.adt-product-email:hover,
.adt-product-email:focus {
    color: #fff;
}

.adt-product-phone,
.adt-product-nav a,
.adt-product-email {
    color: #fff;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    white-space: nowrap;
}

.adt-product-phone {
    display: none;
}

.adt-product-nav {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
}

.adt-product-email {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 0 12px;
    background: rgba(255, 255, 255, 0.14);
}

body.adt-redesign-product-index .adt-product-shell {
    margin-bottom: 140px;
    padding: 32px 34px 34px;
    background: #fff;
    box-shadow: 0 22px 44px rgba(0, 0, 0, 0.14);
}

.adt-product-breadcrumb {
    margin: 0 0 12px;
    color: #8a8a8a;
    font-size: 12px;
    line-height: 1.2;
}

.adt-product-breadcrumb a {
    color: #8a8a8a;
    font-weight: 400;
}

body.adt-redesign-product-index .adt-product-shell h1 {
    max-width: 460px;
    margin: 0 0 44px;
    color: #060606;
    font-size: 34px;
    line-height: 1.05;
    font-weight: 900;
    text-transform: uppercase;
}

body.adt-redesign-product-index .adt-product-shell h1::after {
    content: "";
    width: 174px;
    height: 4px;
    display: block;
    margin-top: 10px;
    background: var(--adt-red);
}

body.adt-redesign-product-index .adt-redesign-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
}

body.adt-redesign-product-index .adt-redesign-category-card {
    min-width: 0;
    margin: 0 !important;
}

body.adt-redesign-product-index .adt-redesign-category-card a {
    height: 234px;
    min-height: 0;
    align-items: center;
    padding: 0 12px 14px;
    border: 1px solid rgba(185, 16, 22, 0.28);
    border-radius: 7px;
    text-align: center;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.1);
}

body.adt-redesign-product-index .adt-redesign-category-image {
    width: 100%;
    height: 108px;
    margin: 0 0 8px;
    padding: 14px 8px 0;
    background: #fff;
}

body.adt-redesign-product-index .adt-redesign-category-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

body.adt-redesign-product-index .adt-redesign-category-title {
    min-height: 30px;
    padding: 0;
    font-size: 14px;
    line-height: 1.05;
    overflow-wrap: normal;
    word-break: normal;
}

body.adt-redesign-product-index .adt-redesign-category-copy {
    min-height: 42px;
    display: -webkit-box;
    overflow: hidden;
    padding: 4px 0 8px;
    color: #4a4a4a;
    font-size: 10px;
    line-height: 1.28;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

body.adt-redesign-product-index .adt-redesign-category-cta {
    min-height: 22px;
    margin: auto 0 0;
    padding: 0 12px;
    border-radius: 2px;
    font-size: 9px;
    line-height: 22px;
}

body.adt-redesign-product-index .adt-redesign-page-content {
    max-width: none;
    margin-top: 34px;
    color: var(--adt-text);
    font-size: 14px;
    line-height: 1.5;
}

@media (max-width: 900px) {
    body.adt-redesign-product-index .adt-product-header,
    body.adt-redesign-product-index .adt-product-shell {
        width: min(596px, calc(100% - 80px));
    }

    body.adt-redesign-product-index .adt-product-header {
        gap: 12px;
        padding: 0 26px;
    }

    .adt-product-phone {
        display: none;
    }

    .adt-product-nav {
        gap: 12px;
    }

    .adt-product-nav a,
    .adt-product-email {
        font-size: 9px;
    }
}

@media (max-width: 640px) {
    body.adt-redesign-product-index .adt-product-header,
    body.adt-redesign-product-index .adt-product-shell {
        width: calc(100% - 28px);
    }

    body.adt-redesign-product-index .adt-product-header {
        min-height: 86px;
        flex-wrap: wrap;
        justify-content: center;
        margin-top: 28px;
        padding: 12px 16px;
    }

    .adt-product-nav {
        flex-basis: 100%;
        justify-content: center;
        flex-wrap: wrap;
    }

    body.adt-redesign-product-index .adt-product-shell {
        padding: 26px 20px 30px;
    }

    body.adt-redesign-product-index .adt-product-shell h1 {
        margin-bottom: 34px;
        font-size: 28px;
    }

    body.adt-redesign-product-index .adt-redesign-category-grid {
        grid-template-columns: 1fr;
    }
}

/* Legacy parent templates that now inherit the redesign header/footer */

body.adt-redesign-legacy {
    background: #f7f7f6;
    color: var(--adt-ink);
    font-family: "Titillium Web", "Segoe UI", Arial, sans-serif;
}

.adt-legacy-intro,
body.adt-redesign-legacy > main.container-fluid {
    width: min(1000px, calc(100% - 64px));
    margin-right: auto;
    margin-left: auto;
}

.adt-legacy-intro {
    padding: 44px 0 10px;
}

.adt-legacy-intro h1 {
    max-width: 820px;
    margin: 0;
    color: #060606;
    font-size: 46px;
    line-height: 1.05;
    font-weight: 900;
    text-transform: uppercase;
}

.adt-legacy-intro h1::after {
    content: "";
    width: 205px;
    height: 5px;
    display: block;
    margin-top: 12px;
    background: var(--adt-red);
}

body.adt-redesign-legacy > main.container-fluid {
    padding: 20px 0 54px;
}

body.adt-redesign-legacy main.container-fluid > .row {
    margin-right: 0;
    margin-left: 0;
}

body.adt-redesign-legacy main.container-fluid a {
    color: var(--adt-red);
}

body.adt-redesign-legacy main.container-fluid p,
body.adt-redesign-legacy main.container-fluid li,
body.adt-redesign-legacy main.container-fluid label {
    font-size: 17px;
    line-height: 1.55;
}

body.adt-redesign-legacy main.container-fluid section.row > p {
    clear: both;
}

body.adt-redesign-legacy main.container-fluid .adtbilder2 {
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    padding: 22px;
    border: 1px solid rgba(185, 16, 22, 0.16);
    background: #fff;
}

body.adt-redesign-legacy main.container-fluid .adtbild,
body.adt-redesign-legacy main.container-fluid img {
    max-width: 100%;
    height: auto;
}

body.adt-redesign-legacy .adth2,
body.adt-redesign-legacy .adth3 {
    display: block;
    margin: 0 0 18px;
    color: #060606;
    font-weight: 900;
    line-height: 1.1;
    text-transform: uppercase;
}

body.adt-redesign-legacy .adth2 {
    font-size: 34px;
}

body.adt-redesign-legacy .adth3 {
    margin-top: 28px;
    font-size: 24px;
}

body.adt-redesign-legacy .adtcategorys {
    margin-bottom: 26px;
    padding: 18px 20px;
    border-left: 4px solid var(--adt-red);
    background: #fff;
}

body.adt-redesign-legacy .adtbcontainer {
    margin-bottom: 24px;
}

body.adt-redesign-legacy .adtbilder {
    padding: 16px;
    border: 1px solid rgba(185, 16, 22, 0.18);
    background: #fff;
}

body.adt-redesign-legacy .adt-redesign-offer .adtbilder {
    text-align: center;
}

body.adt-redesign-legacy .adtbildtext {
    display: block;
    margin-top: 12px;
    color: #111;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 700;
}

body.adt-redesign-legacy .adtsocial,
body.adt-redesign-legacy #adtshope,
body.adt-redesign-legacy #anfrage + .row,
body.adt-redesign-legacy #adtrelated {
    padding: 18px 20px;
    background: #fff;
}

body.adt-redesign-legacy #adtrelated {
    list-style: none;
}

body.adt-redesign-legacy #adtrelated li {
    margin-bottom: 16px;
}

body.adt-redesign-legacy #adtrelated img {
    display: block;
    margin-bottom: 8px;
}

body.adt-redesign-legacy form#bkoffer {
    padding: 28px;
    background: #fff;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.08);
}

body.adt-redesign-legacy form#bkoffer .row {
    margin-bottom: 0;
    padding-bottom: 0;
}

body.adt-redesign-legacy form#bkoffer .fr,
body.adt-redesign-legacy form#bkoffer .fr-hidden,
body.adt-redesign-legacy form#bkoffer .fr-kd {
    margin-right: 0;
    margin-left: 0;
    padding: 22px 0;
    border-bottom: 1px solid #e9e9e9;
}

body.adt-redesign-legacy form#bkoffer .offer-group {
    margin-top: 0;
}

body.adt-redesign-legacy form#bkoffer label {
    display: inline-block;
    margin-bottom: 8px;
    color: #111;
    font-weight: 700;
}

body.adt-redesign-legacy form#bkoffer input,
body.adt-redesign-legacy form#bkoffer select,
body.adt-redesign-legacy form#bkoffer textarea {
    width: 100%;
    max-width: 100%;
    min-height: 44px;
    border: 1px solid #d8d8d8;
    border-radius: 0;
    background: #fff;
    color: #111;
}

body.adt-redesign-legacy form#bkoffer textarea {
    min-height: 120px;
}

body.adt-redesign-legacy form#bkoffer input[type="submit"],
body.adt-redesign-legacy form#bkoffer input[type="reset"] {
    min-height: 48px;
    border: 0;
    background: var(--adt-red);
    color: #fff;
    font-weight: 900;
    text-transform: uppercase;
}

body.adt-redesign-legacy form#bkoffer input[type="reset"] {
    background: #222;
}

.adt-legacy-footer {
    display: block;
    text-align: center;
}

.adt-legacy-footer nav {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-bottom: 14px;
}

.adt-legacy-business {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 16px;
    color: #444;
    font-size: 13px;
    line-height: 1.4;
}

.adt-legacy-business a {
    color: #444;
}

@media (max-width: 640px) {
    .adt-legacy-intro,
    body.adt-redesign-legacy > main.container-fluid {
        width: calc(100% - 28px);
    }

    .adt-legacy-intro {
        padding-top: 30px;
    }

    .adt-legacy-intro h1 {
        font-size: 32px;
    }

    body.adt-redesign-legacy form#bkoffer {
        padding: 18px 14px;
    }

    .adt-legacy-footer nav,
    .adt-legacy-business {
        gap: 10px 14px;
    }
}

/* Consistent page frame for every redesign entry point */

.adt-detail-header,
body.adt-redesign-product-index .adt-product-header {
    width: min(var(--adt-width), calc(100% - 110px));
    margin-right: auto;
    margin-left: auto;
}

.adt-detail-header {
    background: #fff;
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.14);
}

.adt-detail-header-inner {
    width: 100%;
    min-height: 51px;
    gap: 22px;
    padding: 0 48px;
}

.adt-detail-logo img {
    width: 138px;
}

.adt-detail-nav {
    gap: 24px;
    overflow: hidden;
}

.adt-detail-nav a,
.adt-detail-action {
    color: var(--adt-ink);
    font-size: 12px;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
}

.adt-detail-nav a:hover,
.adt-detail-nav a:focus {
    color: var(--adt-red);
}

.adt-detail-action {
    min-height: 30px;
    padding: 0 14px;
    border-radius: 2px;
    color: #fff;
    font-size: 11px;
}

.adt-page-shell,
.adt-category-shell,
.adt-legacy-intro,
body.adt-redesign-legacy > main.container-fluid,
body.adt-redesign-product-detail > main.adt-redesign-product,
body.adt-redesign-product-index .adt-product-shell,
.adt-detail-footer {
    width: min(var(--adt-width), calc(100% - 110px));
}

.adt-page-shell,
.adt-category-shell,
body.adt-redesign-product-detail > main.adt-redesign-product {
    padding-top: 44px !important;
}

.adt-legacy-intro {
    padding-top: 44px;
}

.adt-page-content h1,
.adt-category-intro h1,
.adt-legacy-intro h1,
body.adt-redesign-product-index .adt-product-shell h1 {
    max-width: 820px;
    font-size: 46px;
    line-height: 1.05;
}

body.adt-redesign-product-index .adt-product-header {
    min-height: 51px;
    margin-top: 0;
    gap: 22px;
    padding: 0 48px;
}

body.adt-redesign-product-index .adt-product-shell {
    margin-bottom: 72px;
    padding: 44px 48px 54px;
}

body.adt-redesign-product-index .adt-product-shell h1 {
    margin-bottom: 48px;
}

body.adt-redesign-product-index .adt-redesign-category-grid {
    gap: 22px;
}

body.adt-redesign-product-index .adt-redesign-category-card a {
    height: 318px;
    padding: 0 18px 18px;
}

body.adt-redesign-product-index .adt-redesign-category-image {
    height: 142px;
    margin-bottom: 10px;
    padding-top: 18px;
}

body.adt-redesign-product-index .adt-redesign-category-title {
    min-height: 34px;
    font-size: 18px;
}

body.adt-redesign-product-index .adt-redesign-category-copy {
    min-height: 68px;
    font-size: 13px;
    line-height: 1.28;
}

body.adt-redesign-product-index .adt-redesign-category-cta {
    min-height: 30px;
    padding: 0 16px;
    font-size: 11px;
    line-height: 30px;
}

@media (max-width: 1100px) {
    .adt-detail-header,
    body.adt-redesign-product-index .adt-product-header,
    .adt-page-shell,
    .adt-category-shell,
    .adt-legacy-intro,
    body.adt-redesign-legacy > main.container-fluid,
    body.adt-redesign-product-detail > main.adt-redesign-product,
    body.adt-redesign-product-index .adt-product-shell,
    .adt-detail-footer {
        width: calc(100% - 64px);
    }

    .adt-detail-header-inner,
    body.adt-redesign-product-index .adt-product-header {
        padding-right: 28px;
        padding-left: 28px;
    }

    .adt-detail-nav,
    .adt-product-nav {
        gap: 16px;
    }

    .adt-detail-nav a,
    .adt-detail-action,
    .adt-product-nav a,
    .adt-product-email {
        font-size: 10px;
    }
}

@media (max-width: 640px) {
    .adt-detail-header,
    body.adt-redesign-product-index .adt-product-header,
    .adt-page-shell,
    .adt-category-shell,
    .adt-legacy-intro,
    body.adt-redesign-legacy > main.container-fluid,
    body.adt-redesign-product-detail > main.adt-redesign-product,
    body.adt-redesign-product-index .adt-product-shell,
    .adt-detail-footer {
        width: calc(100% - 28px);
    }

    .adt-detail-header-inner,
    body.adt-redesign-product-index .adt-product-header {
        width: 100%;
        padding-right: 14px;
        padding-left: 14px;
    }

    .adt-page-shell,
    .adt-category-shell,
    body.adt-redesign-product-detail > main.adt-redesign-product {
        padding-top: 30px !important;
    }

    .adt-page-content h1,
    .adt-category-intro h1,
    .adt-legacy-intro h1,
    body.adt-redesign-product-index .adt-product-shell h1 {
        font-size: 32px;
    }

    body.adt-redesign-product-index .adt-product-shell {
        padding: 30px 20px 36px;
    }

}
