
/* =========================================================
   CONTENT: shared page components and page-specific layouts
   Effect: provides one common visual language for product,
   account, support and legal pages.
   ========================================================= */

/* ---------- Shared page containers ---------- */

.DMstartPage,
.DMsmimePage,
.DMrelayPage,
.DMbackupPage,
.DMsupportPage,
.DMprivacyPage,
.DMdisclaimerPage,
.DMimpressumPage,
.DMloginPage {
   width: 100%;
   max-width: 100rem;
   align-self: center;
}

/* ---------- Shared hero block ---------- */

.DMheroBox {
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   align-items: center;
   gap: 2.5rem;
   width: 92%;
   margin: 1rem auto 2.5rem auto;
   padding: 3rem;
   border-radius: 2rem;
   background: linear-gradient(135deg, rgba(255,255,255,0.70), rgba(255,255,255,0.28));
   box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}

.DMheroText {
   flex: 1;
}

.DMheroText h1 {
   margin: 0.4rem 0 1rem 0;
   font-size: 3rem;
   line-height: 1.05;
   text-shadow: 2px 2px 3px #aaaaaa;
}

.DMeyebrow {
   display: inline-block;
   padding: 0.4rem 0.9rem;
   border-radius: 999px;
   background-color: rgba(200, 110, 20, 0.18);
   font-weight: bold;
   letter-spacing: 0.08em;
   text-transform: uppercase;
}

.DMlead {
   max-width: 58rem;
   font-size: 1.25rem;
   line-height: 1.45;
   margin: 0 0 1.5rem 0;
}

.DMheroFacts {
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   gap: 0.7rem;
}

.DMheroFacts span {
   display: inline-block;
   padding: 0.55rem 0.9rem;
   border-radius: 999px;
   background-color: rgba(255,255,255,0.55);
   box-shadow: 0 1px 3px rgba(0,0,0,0.12);
   white-space: nowrap;
}

.DMheroImage img {
   width: 13rem;
   max-height: 13rem;
}

/* ---------- Shared headings ---------- */

.DMsectionTitle {
   width: 92%;
   margin: 0 auto 1.5rem auto;
   text-align: center;
}

.DMsectionTitle h2 {
   margin: 0 0 0.5rem 0;
}

.DMsectionTitle p {
   margin: 0;
   font-size: 1.05rem;
}

/* ---------- Shared product cards ---------- */

.DMproductGrid {
   width: 92%;
   margin: 0 auto 1.2rem auto;
   display: flex;
   flex-direction: row;
   gap: 2rem;
   align-items: stretch;
}

.DMproductCard {
   position: relative;
   flex: 1;
   min-width: 0;
   padding: 2rem;
   border-radius: 2rem;
   background-color: rgba(255,255,255,0.58);
   box-shadow: 0 8px 20px rgba(0,0,0,0.13);
   border: 1px solid rgba(255,255,255,0.55);
}

.DMproductCardHot {
   background-color: rgba(255,255,255,0.72);
}

.DMbadge {
   position: absolute;
   top: -0.8rem;
   right: 1.5rem;
   padding: 0.35rem 0.8rem;
   border-radius: 999px;
   background-color: rgba(200, 110, 20, 0.92);
   color: #ffffff;
   font-size: 0.85rem;
   font-weight: bold;
}

.DMcaLogo {
   height: 4.4rem;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 1rem;
}

.DMcaLogo img {
   max-width: 12rem;
   max-height: 4rem;
}

.DMproductCard h3 {
   text-align: center;
   margin: 0 0 0.8rem 0;
   font-size: 1.55rem;
}

.DMproductText {
   text-align: center;
   line-height: 1.45;
   min-height: 4.2rem;
}

.DMchecks {
   margin: 1rem 0 1.5rem 0;
   padding: 0;
   list-style: none;
}

.DMchecks li {
   margin: 0.45rem 0;
   padding-left: 1.7rem;
   position: relative;
}

.DMchecks li:before {
   content: "\2713";
   position: absolute;
   left: 0;
   font-weight: bold;
}

/* ---------- Shared buttons ---------- */

.DMpriceRow {
   display: flex;
   flex-direction: row;
   gap: 0.8rem;
   justify-content: center;
}

.DMpriceButton,
.DMpriceButton:visited {
   flex: 1;
   display: block;
   min-width: 8rem;
   padding: 1rem 0.8rem;
   border-radius: 1.2rem;
   background-color: #dd8733;
   color: #ffffff;
   text-align: center;
   text-decoration: none;
   box-shadow: 0 3px 8px rgba(0,0,0,0.20);
   transition: 180ms all;
}

.DMpriceButton:hover {
   transform: translate(0, -0.2rem);
   background-color: #c96f1f;
   text-decoration: none;
}

.DMpriceButtonLight,
.DMpriceButtonLight:visited {
   background-color: rgba(80,80,80,0.72);
}

.DMpriceButtonLight:hover {
   background-color: rgba(60,60,60,0.88);
}

.DMtextLink,
.DMtextLink:visited {
   color: #4444cf;
   font-weight: bold;
   text-decoration: none;
}

.DMtextLink:hover {
   color: #cf4444;
   text-decoration: underline;
}

.DMtaxNote {
   width: 92%;
   margin: 0 auto 2.2rem auto;
   text-align: center;
   font-size: 0.95rem;
   color: #555555;
}

/* ---------- Shared information cards ---------- */

.DMinfoGrid {
   width: 92%;
   margin: 0 auto 2rem auto;
   display: flex;
   flex-direction: row;
   gap: 1.5rem;
}

.DMinfoCard {
   flex: 1;
   padding: 1.5rem;
   border-radius: 1.5rem;
   background-color: rgba(255,255,255,0.45);
   box-shadow: 0 4px 12px rgba(0,0,0,0.10);
   line-height: 1.45;
}

.DMinfoCard h3 {
   margin-top: 0;
   text-align: center;
}

/* ---------- Shared compare tables ---------- */

.DMcompareBox {
   width: 92%;
   margin: 0 auto 2rem auto;
   padding: 1.5rem;
   border-radius: 1.5rem;
   background-color: rgba(255,255,255,0.38);
   box-shadow: 0 4px 12px rgba(0,0,0,0.10);
}

.DMcompareBox h2 {
   text-align: center;
   margin-top: 0;
}

.DMcompareGrid {
   display: grid;
   grid-template-columns: 1fr 1.35fr 1.65fr;
   border: 1px solid rgba(0,0,0,0.25);
}

.DMcompareGrid div {
   padding: 0.8rem;
   border-right: 1px solid rgba(0,0,0,0.18);
   border-bottom: 1px solid rgba(0,0,0,0.18);
   background-color: rgba(255,255,255,0.30);
}

.DMcompareGrid .DMcompareHead {
   font-weight: bold;
   background-color: rgba(200, 110, 20, 0.22);
}

/* ---------- Start page ---------- */

.DMstartHero {
   margin-top: 1rem;
}

.DMstartHeroActions {
   display: flex;
   flex-direction: row;
   gap: 0.8rem;
   margin-top: 1.4rem;
   max-width: 28rem;
}

.DMstartHeroImage img {
   width: 15rem;
   max-height: 15rem;
}

.DMstartToolbox {
   width: 92%;
   margin: 0 auto 2rem auto;
   display: flex;
   flex-direction: row;
   gap: 1.5rem;
   align-items: stretch;
}

.DMstartCard,
.DMstartCard:visited {
   flex: 1;
   display: flex;
   flex-direction: column;
   align-items: center;
   min-width: 0;
   padding: 1.8rem;
   border-radius: 2rem;
   background-color: rgba(255,255,255,0.56);
   box-shadow: 0 8px 20px rgba(0,0,0,0.13);
   border: 1px solid rgba(255,255,255,0.55);
   text-align: center;
   text-decoration: none;
   color: #444444;
   line-height: 1.45;
   transition: 180ms all;
}

.DMstartCard:hover {
   transform: translate(0, -0.25rem);
   background-color: rgba(255,255,255,0.72);
   text-decoration: none;
}

.DMstartIcon {
   height: 5rem;
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: 1rem;
}

.DMstartIcon img {
   max-width: 5.5rem;
   max-height: 5rem;
}

.DMstartCard h3 {
   margin: 0 0 0.8rem 0;
   font-size: 1.55rem;
}

.DMstartCard p {
   flex: 1;
   margin: 0 0 1.2rem 0;
}

.DMstartCardMore {
   display: inline-block;
   margin-top: auto;
   padding: 0.65rem 1rem;
   border-radius: 999px;
   background-color: rgba(200, 110, 20, 0.18);
   font-weight: bold;
}

.DMstartNotice {
   width: 92%;
   margin: 0 auto 2rem auto;
   padding: 1.3rem 1.6rem;
   border-radius: 1.5rem;
   background-color: rgba(255,255,255,0.46);
   box-shadow: 0 4px 12px rgba(0,0,0,0.10);
   text-align: center;
   line-height: 1.45;
}

/* ---------- Login page ---------- */

.DMloginHero {
   margin-top: 1rem;
}

.DMloginGrid {
   width: 92%;
   margin: 0 auto 2rem auto;
   display: flex;
   flex-direction: row;
   gap: 1.5rem;
   align-items: stretch;
}

.DMloginGridSingle {
   max-width: 42rem;
   justify-content: center;
}

.DMloginCard {
   flex: 1;
   min-width: 0;
   padding: 1.8rem;
   border-radius: 2rem;
   background-color: rgba(255,255,255,0.54);
   box-shadow: 0 8px 20px rgba(0,0,0,0.13);
   border: 1px solid rgba(255,255,255,0.55);
   line-height: 1.45;
}

.DMloginCardMain {
   background-color: rgba(255,255,255,0.70);
}

.DMloginCard h2 {
   margin: 0 0 0.6rem 0;
   text-align: center;
}

.DMloginCard p {
   margin: 0 0 1.2rem 0;
   text-align: center;
}

.DMloginForm {
   display: flex;
   flex-direction: column;
   gap: 0.65rem;
}

.DMloginForm label {
   font-weight: bold;
   margin-top: 0.35rem;
}

.DMloginInput {
   width: 100%;
   padding: 0.85rem 1rem;
   border: none;
   border-radius: 1.2rem;
   background-color: #ecf0f3;
   color: #444444;
   box-shadow: inset 3px 3px 3px #cbced1, inset -3px -3px 3px white;
   font-size: 1rem;
}

.DMloginInput:focus {
   outline: none;
   box-shadow: inset 3px 3px 3px #cbced1, inset -3px -3px 3px white, 0 0 0 3px rgba(200,110,20,0.25);
}

.DMloginSubmit {
   margin-top: 0.9rem;
   padding: 0.95rem 1.1rem;
   border: none;
   border-radius: 1.2rem;
   background-color: #dd8733;
   color: #ffffff;
   font-weight: bold;
   cursor: pointer;
   box-shadow: 0 3px 8px rgba(0,0,0,0.20);
   transition: 180ms all;
}

.DMloginSubmit:hover {
   transform: translate(0, -0.18rem);
   background-color: #c96f1f;
}

.DMloginSubmitDark {
   background-color: rgba(80,80,80,0.72);
}

.DMloginSubmitDark:hover {
   background-color: rgba(60,60,60,0.88);
}

.DMloginMessage {
   width: 92%;
   max-width: 70rem;
   margin: 0 auto 1.5rem auto;
   padding: 1.2rem 1.5rem;
   border-radius: 1.5rem;
   background-color: rgba(255,255,255,0.62);
   box-shadow: 0 4px 12px rgba(0,0,0,0.10);
   text-align: center;
   line-height: 1.45;
   font-weight: bold;
}

.DMloginMessageError {
   background-color: rgba(207, 68, 68, 0.12);
   color: #773333;
}

.DMloginInfoGrid {
   width: 92%;
   margin: 0 auto 2rem auto;
   display: flex;
   flex-direction: row;
   gap: 1.5rem;
   align-items: stretch;
}

/* ---------- Product page additions ---------- */

.DMloginNotice {
   width: 92%;
   margin: 0 auto 2rem auto;
   padding: 1.2rem;
   border-radius: 1.2rem;
   background-color: rgba(207, 68, 68, 0.13);
   color: #992222;
   text-align: center;
   font-size: 1.3rem;
}

.DMrelayPriceBox {
   margin: 1.2rem 0 1.4rem 0;
   padding: 1rem;
   border-radius: 1.2rem;
   background-color: rgba(255,255,255,0.42);
   box-shadow: inset 0 1px 4px rgba(0,0,0,0.10);
}

.DMrelayPriceLine {
   display: flex;
   flex-direction: row;
   align-items: center;
   gap: 1rem;
   padding: 0.55rem 0;
   border-bottom: 1px solid rgba(0,0,0,0.12);
}

.DMrelayPriceLine:last-child {
   border-bottom: none;
}

.DMrelayPriceLine b {
   display: block;
   min-width: 5.5rem;
   font-size: 1.4rem;
   color: #444444;
   white-space: nowrap;
}

.DMrelayPriceLine span {
   display: block;
   line-height: 1.35;
}

.DMrelayAction {
   display: flex;
   flex-direction: row;
   gap: 0.8rem;
   justify-content: center;
   margin-top: 1rem;
}

.DMrelayMiniNotice {
   margin-top: 1.2rem;
   padding: 1rem;
   border-radius: 1.2rem;
   background-color: rgba(207, 68, 68, 0.10);
   color: #773333;
   text-align: center;
   font-weight: bold;
   line-height: 1.35;
}

.DMrelayCompareGrid,
.DMbackupCompareGrid,
.DMsupportCompareGrid {
   grid-template-columns: 1fr 1.45fr 1.55fr;
}

.DMmailguardPage {
   width: 100%;
   max-width: 100rem;
   align-self: center;
}

.DMmailguardSectionTitle {
   margin-top: 0;
}

.DMmailguardOfferGrid {
   margin-top: 0;
}
.DMmailguardPage {
   width: 100%;
   max-width: 100rem;
   align-self: center;
}

.DMmailGuardExpressBox {
   width: 92%;
   margin: 0 auto 2rem auto;
   display: flex;
   flex-direction: row;
   gap: 1.5rem;
   align-items: stretch;
}

.DMmailGuardExpressLeft,
.DMmailGuardExpressRight {
   padding: 2rem;
   border-radius: 2rem;
   box-shadow: 0 8px 20px rgba(0,0,0,0.13);
   border: 1px solid rgba(255,255,255,0.55);
   line-height: 1.45;
}

.DMmailGuardExpressLeft {
   flex: 1.35;
   background: linear-gradient(135deg, rgba(255,255,255,0.72), rgba(255,255,255,0.36));
}

.DMmailGuardExpressRight {
   flex: 0.85;
   background-color: rgba(255,255,255,0.58);
}

.DMmailGuardExpressLeft h2,
.DMmailGuardExpressRight h3 {
   margin-top: 0.7rem;
}

.DMmailGuardForm {
   display: flex;
   flex-direction: column;
   gap: 0.65rem;
}

.DMmailGuardForm label {
   font-weight: bold;
   margin-top: 0.35rem;
}

.DMmailGuardFineText {
   font-size: 0.95rem;
   color: #555555;
}

.DMmailGuardAgainBox {
   display: flex;
   flex-direction: column;
   justify-content: center;
   text-align: center;
}

.DMmailGuardResults {
   width: 92%;
   margin: 0 auto 2rem auto;
   padding: 1.5rem;
   border-radius: 1.8rem;
   background-color: rgba(255,255,255,0.42);
   box-shadow: 0 6px 16px rgba(0,0,0,0.11);
}

.DMmailGuardResults h2 {
   margin-top: 0;
   text-align: center;
}

.DMmailGuardResultLead {
   text-align: center;
   margin-top: -0.2rem;
}

.DMmailGuardResultGrid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 1rem;
}

.DMmailGuardResult {
   padding: 1rem;
   border-radius: 1.2rem;
   background-color: rgba(255,255,255,0.54);
   box-shadow: 0 3px 8px rgba(0,0,0,0.10);
   border-left: 0.45rem solid rgba(80,80,80,0.45);
}

.DMmailGuardResult h3 {
   margin: 0 0 0.45rem 0;
   text-align: left;
}

.DMmailGuardResult p {
   margin: 0 0 0.6rem 0;
}

.DMmailGuardResult pre {
   max-height: 12rem;
   overflow: auto;
   margin: 0.6rem 0 0 0;
   padding: 0.8rem;
   border-radius: 0.9rem;
   background-color: rgba(255,255,255,0.72);
   white-space: pre-wrap;
   word-break: break-word;
}

.DMmailGuardResult_ok {
   border-left-color: rgba(50,145,80,0.85);
}

.DMmailGuardResult_warn {
   border-left-color: rgba(210,140,35,0.90);
}

.DMmailGuardResult_bad {
   border-left-color: rgba(190,55,55,0.90);
}

.DMmailGuardResult_neutral {
   border-left-color: rgba(95,95,95,0.55);
}

.DMmailGuardDetailBox {
   width: 92%;
   margin: 0 auto 2rem auto;
   padding: 1.6rem;
   border-radius: 1.6rem;
   background-color: rgba(255,255,255,0.38);
   box-shadow: 0 4px 12px rgba(0,0,0,0.10);
   line-height: 1.45;
}

.DMmailGuardDetailBox h2 {
   margin-top: 0;
   text-align: center;
}

.DMmailGuardDetailBox > p {
   text-align: center;
}

.DMmailGuardDetailGrid {
   display: grid;
   grid-template-columns: 1fr 1fr 1fr;
   gap: 1rem;
   margin-top: 1.2rem;
}

.DMmailGuardDetailItem {
   padding: 1rem;
   border-radius: 1.2rem;
   background-color: rgba(255,255,255,0.50);
   box-shadow: 0 2px 6px rgba(0,0,0,0.09);
}

.DMmailGuardDetailItem b {
   display: block;
   margin-bottom: 0.35rem;
}

.DMmailGuardDetailItem span {
   display: block;
}

.DMstartToolboxFour {
   gap: 1.1rem;
}

.DMstartToolboxFour .DMstartCard {
   padding: 1.45rem;
}

.DMstartToolboxFour .DMstartIcon img {
   max-width: 5rem;
   max-height: 4.7rem;
}

@media (max-width: 1100px) {
   .DMmailGuardExpressBox {
      width: 95%;
      flex-direction: column;
   }

   .DMmailGuardResults,
   .DMmailGuardDetailBox {
      width: 95%;
   }

   .DMmailGuardResultGrid,
   .DMmailGuardDetailGrid {
      grid-template-columns: 1fr;
   }
}

/* ---------- Support page ---------- */

.DMsupportContactGrid {
   width: 92%;
   margin: 0 auto 2rem auto;
   display: flex;
   flex-direction: row;
   gap: 1.5rem;
   align-items: stretch;
}

.DMsupportContactCard {
   flex: 1;
   padding: 2rem;
   border-radius: 2rem;
   background-color: rgba(255,255,255,0.52);
   box-shadow: 0 8px 20px rgba(0,0,0,0.13);
   text-align: center;
   line-height: 1.45;
}

.DMsupportContactMain {
   flex: 1.35;
   background-color: rgba(255,255,255,0.68);
}

.DMsupportContactCard h2 {
   margin-top: 0;
}

.DMsupportMailButton,
.DMsupportMailButton:visited {
   display: inline-block;
   margin-top: 0.8rem;
   padding: 1rem 1.4rem;
   border-radius: 1.2rem;
   background-color: #dd8733;
   color: #ffffff;
   text-decoration: none;
   font-weight: bold;
   box-shadow: 0 3px 8px rgba(0,0,0,0.20);
   transition: 180ms all;
}

.DMsupportMailButton:hover {
   transform: translate(0, -0.18rem);
   background-color: #c96f1f;
   text-decoration: none;
}

.DMsupportSmallButton,
.DMsupportSmallButton:visited {
   display: inline-block;
   margin-top: 0.8rem;
   padding: 0.8rem 1.1rem;
   border-radius: 1.1rem;
   background-color: rgba(80,80,80,0.72);
   color: #ffffff;
   text-decoration: none;
   font-weight: bold;
   box-shadow: 0 3px 8px rgba(0,0,0,0.16);
   transition: 180ms all;
}

.DMsupportSmallButton:hover {
   transform: translate(0, -0.18rem);
   background-color: rgba(60,60,60,0.88);
   text-decoration: none;
}

/* ---------- Privacy page ---------- */

.DMprivacyIntro {
   width: 92%;
   margin: 0 auto 1.5rem auto;
   padding: 1.3rem 1.6rem;
   border-radius: 1.5rem;
   background-color: rgba(255,255,255,0.52);
   box-shadow: 0 4px 12px rgba(0,0,0,0.10);
   line-height: 1.45;
}

.DMprivacyToc {
   width: 92%;
   margin: 0 auto 2rem auto;
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   justify-content: center;
   gap: 0.6rem;
}

.DMprivacyToc a,
.DMprivacyToc a:visited {
   display: inline-block;
   padding: 0.55rem 0.9rem;
   border-radius: 999px;
   background-color: rgba(255,255,255,0.55);
   color: #444444;
   text-decoration: none;
   box-shadow: 0 1px 3px rgba(0,0,0,0.12);
   transition: 180ms all;
}

.DMprivacyToc a:hover {
   transform: translate(0, -0.15rem);
   background-color: rgba(200, 110, 20, 0.22);
   text-decoration: none;
}

.DMprivacyGrid {
   width: 92%;
   margin: 0 auto 1.5rem auto;
   display: flex;
   flex-direction: row;
   gap: 1.5rem;
   align-items: stretch;
}

.DMprivacyCard {
   flex: 1;
   padding: 1.6rem;
   border-radius: 1.6rem;
   background-color: rgba(255,255,255,0.52);
   box-shadow: 0 6px 16px rgba(0,0,0,0.12);
   line-height: 1.45;
}

.DMprivacyCard h2 {
   margin-top: 0;
}

.DMprivacySection {
   width: 92%;
   margin: 0 auto 1.5rem auto;
   padding: 1.6rem;
   border-radius: 1.6rem;
   background-color: rgba(255,255,255,0.46);
   box-shadow: 0 4px 12px rgba(0,0,0,0.10);
   line-height: 1.45;
}

.DMprivacySection h2 {
   margin-top: 0;
   text-align: left;
}

.DMprivacyList {
   margin: 0.6rem 0 1rem 0;
   padding-left: 1.4rem;
}

.DMprivacyList li {
   margin: 0.35rem 0;
}

.DMprivacyTable {
   display: grid;
   grid-template-columns: 1fr 2fr 1fr;
   margin: 1rem 0 1.2rem 0;
   border: 1px solid rgba(0,0,0,0.25);
   background-color: rgba(255,255,255,0.30);
}

.DMprivacyTable div {
   padding: 0.75rem;
   border-right: 1px solid rgba(0,0,0,0.18);
   border-bottom: 1px solid rgba(0,0,0,0.18);
}

.DMprivacyTable .DMprivacyHead {
   font-weight: bold;
   background-color: rgba(200, 110, 20, 0.22);
}

/* ---------- Disclaimer and impressum pages ---------- */

.DMdisclaimerIntro,
.DMimpressumSection,
.DMdisclaimerSection {
   width: 92%;
   margin: 0 auto 1.5rem auto;
   padding: 1.6rem;
   border-radius: 1.6rem;
   background-color: rgba(255,255,255,0.46);
   box-shadow: 0 4px 12px rgba(0,0,0,0.10);
   line-height: 1.45;
}

.DMdisclaimerIntro {
   padding: 1.3rem 1.6rem;
   background-color: rgba(255,255,255,0.52);
}

.DMdisclaimerGrid,
.DMimpressumGrid {
   width: 92%;
   margin: 0 auto 1.5rem auto;
   display: flex;
   flex-direction: row;
   gap: 1.5rem;
   align-items: stretch;
}

.DMdisclaimerCard,
.DMimpressumCard {
   flex: 1;
   padding: 1.6rem;
   border-radius: 1.6rem;
   background-color: rgba(255,255,255,0.52);
   box-shadow: 0 6px 16px rgba(0,0,0,0.12);
   line-height: 1.45;
}

.DMimpressumCard {
   padding: 1.8rem;
   border-radius: 1.8rem;
}

.DMimpressumMainCard {
   flex: 1.25;
   background-color: rgba(255,255,255,0.68);
}

.DMdisclaimerCard h2,
.DMdisclaimerSection h2,
.DMimpressumCard h2,
.DMimpressumSection h2 {
   margin-top: 0;
}

.DMdisclaimerSection h2,
.DMimpressumSection h2 {
   text-align: left;
}

/* ---------- Legacy and internal form helpers ---------- */

.flexrow {
   display: flex;
   flex-direction: row;
   justify-content: flex-start;
}

.flexcolumn {
   display: flex;
   flex-direction: column;
   padding: 1rem;
}

.flexrowcolumn {
   display: flex;
   flex-direction: row;
   align-self: center;
   margin: 1rem 1rem;
}

@media (max-width: 1100px) {
   .flexrowcolumn {
      flex-direction: column;
      justify-content: flex-start;
      margin: 1rem;
   }
}

.marginR {
   margin: 0 1rem 0 0;
}

.marginR2 {
   margin: 0 2rem 0 0;
}

.marginR3 {
   margin: 0 3rem 0 0;
}

.marginR5 {
   margin: 0 5rem 0 0;
}

#paddingless ul {
   margin: 0;
   padding: 0;
}

input.Inputfeld,
textarea.Inputfeld,
select.Inputfeld {
   background: #ecf0f3;
   padding: 10px;
   padding-left: 20px;
   margin-left: 50px;
   border-radius: 20px;
   box-shadow: inset 3px 3px 3px #cbced1, inset -3px -3px 3px white;
}

input.Inputfeld {
   height: 30px;
   text-align: center;
}

input.Inputfeld2 {
   background: #ecf0f3;
   padding: 10px;
   padding-left: 0;
   margin-left: 0;
   height: 30px;
   border-radius: 20px;
   box-shadow: inset 3px 3px 3px #cbced1, inset -3px -3px 3px white;
   text-align: center;
}

input.Doppelpfeil {
   height: 30px;
   margin-left: 30px;
}

.Doppelpfeil30 {
   height: 30px;
   margin-left: 50px;
   border: none;
}

.Doppelpfeil20 {
   height: 20px;
   margin-left: 20px;
   border: none;
}

.Doppelpfeil10 {
   height: 10px;
   margin-left: 10px;
   border: none;
}

.chargeButtonA,
.chargeButtonB,
.chargeButtonC {
   color: #ffffff;
   background-color: #dd8733;
   border: none;
   border-radius: 1rem;
   padding: 1rem;
   box-shadow: 0 1px 3px #cccccc;
}

.chargeButtonA {
   min-width: 4rem;
}

.chargeButtonB {
   min-width: 6.2rem;
}

.chargeButtonC {
   min-width: 8.4rem;
}

a.AISlinkAuswahl,
a.AISlinkAuswahl:visited {
   color: #4444cf;
   text-decoration: none;
}

a.AISlinkAuswahl:hover {
   color: #cf4444;
   text-decoration: underline overline #cf4444;
}

/* ---------- Responsive content ---------- */

@media (max-width: 1100px) {
   .DMheroBox {
      width: 95%;
      padding: 2rem;
   }

   .DMheroText h1 {
      font-size: 2.2rem;
   }

   .DMlead {
      font-size: 1.3rem;
   }

   .DMproductGrid,
   .DMinfoGrid,
   .DMstartToolbox,
   .DMloginGrid,
   .DMloginInfoGrid,
   .DMsupportContactGrid,
   .DMprivacyGrid,
   .DMdisclaimerGrid,
   .DMimpressumGrid {
      width: 95%;
      flex-direction: column;
   }

   .DMsectionTitle,
   .DMtaxNote,
   .DMcompareBox,
   .DMstartNotice,
   .DMloginMessage,
   .DMprivacyIntro,
   .DMprivacyToc,
   .DMprivacySection,
   .DMdisclaimerIntro,
   .DMdisclaimerSection,
   .DMimpressumSection {
      width: 95%;
   }

   .DMstartHeroActions,
   .DMrelayAction {
      flex-direction: column;
      max-width: none;
   }

   .DMloginGridSingle {
      max-width: none;
   }

   .DMrelayPriceLine {
      align-items: flex-start;
   }

   .DMcompareBox,
   .DMprivacySection {
      overflow-x: auto;
   }

   .DMcompareGrid {
      min-width: 760px;
   }

   .DMrelayCompareGrid,
   .DMsupportCompareGrid {
      min-width: 820px;
   }

   .DMbackupCompareGrid {
      min-width: 840px;
   }

   .DMprivacyTable {
      min-width: 720px;
   }

   .DMpriceRow {
      flex-direction: row;
   }
}

