.cd {
    margin-bottom:3ex;
}
.cd h2 {
    margin-top:0;
    width:initial;
}
.cd .leftright {
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
}
.cd .ll {
    height:7ex;
    margin-right:1em;
}
.cd .rr {
    height:7ex;
    display:flex;
    flex-direction: column;
    justify-content:space-between;
    align-items:flex-start;
}

.cd details {
    margin-top:.5ex;
}

.cds button {
    font-family: "Bebas Neue Pro Expanded Bold", sans;
    font-size: 10pt;
    font-weight: bold;

    background-color: var(--green);
    color: black;
    border:none;
    padding: .5ex 8px;

    text-transform: uppercase;
    cursor: pointer;
}
.cds button:hover,
.cds button:focus-visible {
    background-color: var(--pink);
    outline:none;
}

.cds select {
    background-color: var(--green);
    border: none;
    font-size: 120%;
    padding: 0 .5ex;
    vertical-align: middle;
}
.cds select:hover,
.cds select:focus-visible {
    background-color: var(--pink);
    outline:none;
}

.cds .message {
    border: 1px solid var(--green);
    padding: .5ex 8px;
    margin-bottom: 3ex;
    background-color:var(--half-green);
}

main.content .cds .message p {
    width:initial;
}

.cds .cart td {
    vertical-align:baseline;
    padding:.25ex 1px;
}
.cds .cart td.num {
    text-align:right;
}
.cds .cart td.single {
    padding-right:.25em;
    font-size:80%;
}
.cds .cart tr.sum {
    font-weight:bold;
}
.cds .cart img {
    height:4ex;
    vertical-align:middle;
}

.cds .cart {
    border-collapse: collapse;
    width:100%;
}
.cds .cart tr:not(:first-child):not(.sum) td.count,
.cds .cart tr:not(:first-child):not(.sum) td.title,
.cds .cart tr:not(:first-child):not(.sum) td.num {
    border-top:1px dotted var(--green);
}
.cds .cart tr.sum td {
    border-top:3px double var(--green);
}

.cds table.pay {
    width:100%;
}
.cds .pay th {
    text-align:left;
    padding-right:.5em;
    white-space:nowrap;
}
.cds .pay td {
    width:100%;
}
.cds .pay td input {
    width:100%;
}
