/*
 * Standard additions on top of the WordPress look: mobile sticky bar, desktop
 * quote button, footer links, the quote form and quote list. Everything else
 * comes from the original theme CSS. Colors and type are the theme's own:
 * #303033 (dark band), #242427 (text), Montserrat 500 uppercase for labels.
 * Flat: solid fills and 1px borders only.
 */

.rd-visually-hidden {
    position: absolute !important;
    width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

/* Footer links under "Rainy Day Party Rentals ©" */
.rd-footer-links { font-size: 14px; margin-top: 16px; padding: 0 15px; }
.rd-footer-links a { color: rgba(255, 255, 255, .7); }
.rd-footer-links a:hover { color: #fff; text-decoration: none; }
.rd-footer-links span { margin: 0 8px; color: rgba(255, 255, 255, .4); }

/* Mobile sticky bar (below 960px, where the YOOtheme mobile header takes over) */
.rd-sticky {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 970;
    display: grid; grid-template-columns: 1fr 1fr;
    padding-bottom: env(safe-area-inset-bottom);
    background: #303033; border-top: 1px solid #47474c;
}
.rd-sticky a {
    display: flex; align-items: center; justify-content: center; gap: 6px;
    min-height: 50px; padding: 0 8px;
    font-family: Montserrat; font-weight: 500; font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase;
    color: #fff; text-decoration: none;
}
.rd-sticky a + a { border-left: 1px solid #47474c; }
.rd-sticky a:hover { background: #3c3c40; color: #fff; text-decoration: none; }
@media (max-width: 959px) {
    .tm-page { padding-bottom: 51px; }
}
@media (min-width: 960px) {
    .rd-sticky { display: none; }
}

/* Desktop quote button, bottom right */
.rd-bubble {
    position: fixed; right: 24px; bottom: 24px; z-index: 970;
    display: none; align-items: center; gap: 8px;
    padding: 0 22px; line-height: 44px;
    background: #303033; border: 1px solid #303033; color: #fff;
    font-family: Montserrat; font-weight: 500; font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
    text-decoration: none;
}
.rd-bubble:hover { background: #fff; color: #303033; text-decoration: none; }
@media (min-width: 960px) {
    .rd-bubble { display: inline-flex; }
}
.rd-quote-count {
    display: inline-block; min-width: 20px; padding: 0 5px;
    line-height: 20px; text-align: center; letter-spacing: 0;
    background: #fff; color: #303033; border-radius: 10px;
}
.rd-bubble:hover .rd-quote-count { background: #303033; color: #fff; }
.rd-quote-count[hidden] { display: none; }

/* "Add to Quote" on an item page: where WooCommerce's (hidden) cart form was */
.rd-quote-add { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.rd-quote-add label {
    font-family: Montserrat; font-weight: 500; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #2d2e33;
}
.woocommerce .rd-quote-add input.qty { width: 70px; text-align: center; }
.rd-quote-noprice .rd-quote-add { margin-bottom: 2em; }

/* Notices ("added to your quote list") */
.rd-notice {
    margin: 0 0 30px; padding: 12px 16px;
    border: 1px solid #e5e5e7; border-left: 3px solid #303033; background: #fff; color: #242427;
}
.rd-notice a { font-weight: 700; }

/* The quote list on /request-quote/ */
.rd-quote-table { width: 100%; border-collapse: collapse; margin: 0 0 30px; }
.rd-quote-table th {
    text-align: left; padding: 10px 8px; border-bottom: 1px solid #e5e5e7;
    font-family: Montserrat; font-weight: 500; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #2d2e33;
}
.rd-quote-table td { padding: 12px 8px; border-bottom: 1px solid #e5e5e7; vertical-align: middle; }
.rd-quote-table img { width: 60px; height: 60px; object-fit: cover; display: block; }
.rd-quote-table input { width: 70px; text-align: center; }
.rd-quote-table .rd-remove {
    background: none; border: 0; padding: 4px; cursor: pointer;
    color: #6c6d74; font: inherit; font-size: 14px; text-decoration: underline;
}
.rd-quote-table .rd-remove:hover { color: #242427; }
.rd-quote-empty { margin-bottom: 30px; }
.rd-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 24px; }
.rd-form-grid .rd-wide { grid-column: 1 / -1; }
@media (max-width: 639px) {
    .rd-form-grid { grid-template-columns: 1fr; }
    .rd-quote-table .rd-col-img { display: none; }
}
.rd-form-error { color: #b42318; margin-top: 12px; }
.rd-honey { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* Keep the sticky bar and button out of the way while the phone menu is open. */
.uk-offcanvas-page .rd-sticky,
.uk-offcanvas-container .rd-sticky,
.uk-offcanvas-page .rd-bubble { display: none; }
