/* Additions to the original design (the original is built by App\Support\ThemeStylesheet). */

/* Top bar phone and email are now links: keep them looking like plain text */
.bg-dark a.text-light:hover {
    color: var(--primary) !important;
}

/* Uploaded logos for "Other" social links */
.rrs-social-img {
    width: 16px;
    height: 16px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

/* Floating WhatsApp chat button */
.rrs-whatsapp {
    position: fixed;
    left: 24px;
    bottom: 30px;
    z-index: 99;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s;
}

.rrs-whatsapp:hover {
    color: #fff;
    transform: scale(1.08);
}

/* Banner captions: the grey rounded boxes of the original slider */
.rrs-banner-title {
    background-color: hsla(0, 0%, 40%, 0.7);
    border-radius: 25px 25px 0 0;
    padding: 0.25rem 1rem;
}

.rrs-banner-text {
    background-color: hsla(0, 0%, 40%, 0.7);
    border-radius: 0 0 25px 25px;
    font-weight: 700;
    color: #fff;
    padding: 0.5rem 1rem;
}

/* Only a heading, or only text: one box with all corners rounded */
.rrs-banner-title-only,
.rrs-banner-text-only {
    border-radius: 25px;
}

@media (max-width: 768px) {
    .rrs-banner .carousel-item {
        position: relative;
        min-height: 450px;
    }

    .rrs-banner-medium .carousel-item {
        min-height: 320px;
    }

    .rrs-banner-small .carousel-item {
        min-height: 220px;
    }

    .rrs-banner-medium .rrs-banner-title {
        font-size: 1.6rem;
    }

    .rrs-banner-small .rrs-banner-title {
        font-size: 1.25rem;
    }

    .rrs-banner-small .rrs-banner-text {
        font-size: .9rem;
    }

    .rrs-banner .carousel-item img {
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .rrs-banner-title {
        font-size: 2.2rem;
    }
}

/* Page content written in the admin editor */
.rrs-page-content img { max-width: 100%; height: auto; }
.rrs-page-content table { width: 100%; margin-bottom: 1rem; border-collapse: collapse; }
.rrs-page-content td, .rrs-page-content th { border: 1px solid #dee2e6; padding: .5rem; }
.rrs-page-content blockquote { border-left: 4px solid var(--primary); padding: .5rem 1rem; background: var(--light); }

/* Columns made with the editor's "Grid" button: stacked on phones, side by side from the chosen size */
.rrs-page-content .grid-layout { display: grid; gap: 2rem; grid-template-columns: 1fr; margin-bottom: 1rem; }
.rrs-page-content .grid-layout > .grid-layout-col { min-width: 0; }
@media (min-width: 576px) { .rrs-page-content .grid-layout[data-from-breakpoint="sm"] { grid-template-columns: var(--cols); } .rrs-page-content .grid-layout[data-from-breakpoint="sm"] > .grid-layout-col { grid-column: var(--col-span); } }
@media (min-width: 768px) { .rrs-page-content .grid-layout:not([data-from-breakpoint]), .rrs-page-content .grid-layout[data-from-breakpoint="md"] { grid-template-columns: var(--cols); } .rrs-page-content .grid-layout:not([data-from-breakpoint]) > .grid-layout-col, .rrs-page-content .grid-layout[data-from-breakpoint="md"] > .grid-layout-col { grid-column: var(--col-span); } }
@media (min-width: 992px) { .rrs-page-content .grid-layout[data-from-breakpoint="lg"] { grid-template-columns: var(--cols); } .rrs-page-content .grid-layout[data-from-breakpoint="lg"] > .grid-layout-col { grid-column: var(--col-span); } }
@media (min-width: 1200px) { .rrs-page-content .grid-layout[data-from-breakpoint="xl"] { grid-template-columns: var(--cols); } .rrs-page-content .grid-layout[data-from-breakpoint="xl"] > .grid-layout-col { grid-column: var(--col-span); } }
.rrs-page-content .grid-layout-col > :first-child { margin-top: 0; }

/* Security code ("captcha") on website forms */
.rrs-captcha-input { max-width: 150px; text-transform: uppercase; letter-spacing: 2px; }
.rrs-captcha-image { background: #f4f5f7; }
.footer .rrs-captcha-input { max-width: 120px; }

/* Tracking page (same look as the original website's tracking timeline) */
.rrs-tracking-status { padding: 1.3rem 1rem; text-align: center; color: #fff; border-radius: .5rem .5rem 0 0; }
.rrs-tracking-status p { margin: 0; font-size: 1.15rem; text-transform: uppercase; font-weight: 600; color: #fff; }
.rrs-tracking-status small { opacity: .9; }
.rrs-tracking-status-under_process { background: #f7b84b; }
.rrs-tracking-status-handed_over { background: #299cdb; }
.rrs-tracking-status-delivered { background: #0ab39c; }
.rrs-tracking-status-on_hold { background: #e34948; }
.rrs-tracking-facts { border: 1px solid #e5e5e5; border-top: 0; }
.rrs-tracking-facts > div { padding: .8rem 1rem; border-bottom: 1px solid #f0f0f0; }
.rrs-tracking-facts strong { display: block; font-size: .8rem; color: #888; font-weight: 500; text-transform: uppercase; }
.rrs-tracking-facts span { color: var(--dark); font-weight: 600; word-break: break-word; }
.rrs-tracking-list { border: 1px solid #e5e5e5; border-top: 0; padding-bottom: 1rem; }
.rrs-tracking-item { border-left: 4px solid var(--primary); position: relative; padding: 1.6rem 1.5rem .3rem 2.5rem; font-size: .95rem; margin-left: 2rem; }
.rrs-tracking-item:last-child { padding-bottom: 2.5rem; }
.rrs-tracking-icon { position: absolute; left: -.72rem; top: 1.7rem; width: 1.1rem; height: 1.1rem; border-radius: 50%; background: #fff; color: var(--primary); font-size: .6rem; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 3px var(--primary); }
.rrs-tracking-icon.is-current { width: 1.6rem; height: 1.6rem; left: -.95rem; background: var(--primary); color: #fff; box-shadow: 0 0 0 4px rgba(216, 19, 36, .25); }
.rrs-tracking-date { margin-bottom: .4rem; font-weight: 600; }
.rrs-tracking-date span { color: #888; font-size: 85%; padding-left: .4rem; font-weight: 400; }
.rrs-tracking-content { padding: .5rem .8rem; background: #f4f4f4; border-radius: .5rem; }
.rrs-tracking-content span { display: block; color: #767676; font-size: 13px; }
@media (min-width: 992px) {
    .rrs-tracking-item { margin-left: 10rem; }
    .rrs-tracking-date { position: absolute; left: -10rem; width: 8rem; text-align: right; }
    .rrs-tracking-date span { display: block; padding-left: 0; }
    .rrs-tracking-content { padding: 0; background: transparent; }
}

/* Client area */
.rrs-client-stat { transition: transform .15s, box-shadow .15s; }
.rrs-client-stat:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(0, 0, 0, .08); }

/* Quote form: one row per parcel */
.rrs-quote-boxes { display: grid; gap: .6rem; }
.rrs-quote-box { padding: .75rem; border-radius: .4rem; background: rgba(0, 0, 0, .03); border: 1px solid rgba(0, 0, 0, .06); }
.rrs-quote-box-title { display: block; font-weight: 600; font-size: .9rem; margin-bottom: .4rem; }
