/* =========================================================
   BC BRICK — DELIVERY & PAYMENT
========================================================= */


/* =========================================================
   PAGE
========================================================= */

.delivery-page {
    padding-block: 0;
    overflow: visible;
    color: var(--bc-color-text);
    background: var(--bc-color-background);
}

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


/* =========================================================
   BREADCRUMBS
========================================================= */

.delivery-breadcrumbs-wrap {
    padding-top: var(--bc-space-5);
}

.delivery-breadcrumbs {
    color: var(--bc-color-text-muted);
}

.delivery-breadcrumbs__list {
    display: flex;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--bc-space-2);
    color: var(--bc-color-text-muted);
    font-family: var(--bc-font-main);
    font-size: var(--bc-font-size-caption);
    line-height: var(--bc-line-height-small);
    list-style: none;
}

.delivery-breadcrumbs__item {
    display: inline-flex;
    min-width: 0;
    align-items: center;
}

.delivery-breadcrumbs__link {
    color: var(--bc-color-text-muted);
    text-decoration: none;
    transition: color var(--bc-transition);
}

.delivery-breadcrumbs__link:hover,
.delivery-breadcrumbs__link:focus-visible {
    color: var(--bc-color-primary);
}

.delivery-breadcrumbs__separator {
    display: grid;
    width: var(--bc-space-4);
    height: var(--bc-space-4);
    flex: 0 0 auto;
    place-items: center;
    color: var(--bc-color-border);
}

.delivery-breadcrumbs__separator svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.5;
}

.delivery-breadcrumbs__current {
    color: var(--bc-color-text);
    font-weight: 600;
}


/* =========================================================
   HERO
========================================================= */

.delivery-hero {
    background: var(--bc-color-background);
}

.delivery-hero__grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(340px, 0.82fr);
    align-items: end;
    gap: var(--bc-grid-gap-lg);
}

.delivery-hero__header {
    max-width: var(--bc-container-content);
}

.delivery-hero__eyebrow {
    display: flex;
    margin: 0 0 var(--bc-space-3);
    align-items: center;
    gap: var(--bc-space-3);
    color: var(--bc-color-accent);
}

.delivery-hero__eyebrow::before {
    width: var(--bc-space-8);
    height: 2px;
    flex: 0 0 auto;
    background: currentColor;
    content: "";
}

.delivery-hero__title {
    max-width: 760px;
    margin: 0;
}

.delivery-hero__content {
    position: relative;
    max-width: 620px;
    padding-left: var(--bc-space-7);
}

.delivery-hero__content::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 2px;
    background: var(--bc-color-accent);
    content: "";
}

.delivery-hero__intro {
    color: var(--bc-color-text-muted);
    font-size: var(--bc-font-size-body-lg);
    line-height: var(--bc-line-height-body-lg);
}

.delivery-hero__catalog {
    display: inline-flex;
    margin-top: var(--bc-space-5);
    align-items: center;
    gap: var(--bc-space-3);
    text-decoration: none;
}

.delivery-hero__catalog svg {
    width: var(--bc-space-5);
    height: var(--bc-space-5);
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}


/* =========================================================
   GUIDE
========================================================= */

.delivery-guide {
    background: var(--bc-color-background-soft);
}

.delivery-guide__layout {
    display: grid;
    grid-template-columns:
        minmax(240px, 280px)
        minmax(0, 1fr);
    align-items: start;
    gap: var(--bc-grid-gap-lg);
}

.delivery-guide__navigation {
    position: sticky;
    top: calc(
        var(--bc-header-height)
        + var(--bc-space-4)
    );
}

.delivery-guide__navigation-label {
    margin: 0 0 var(--bc-space-3);
    color: var(--bc-color-primary);
    font-size: var(--bc-font-size-caption);
    font-weight: 600;
    line-height: var(--bc-line-height-small);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.delivery-guide__navigation-list {
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--bc-color-border);
    list-style: none;
}

.delivery-guide__navigation-list li {
    margin: 0;
    padding: 0;
}

.delivery-guide__navigation-list a {
    display: grid;
    min-height: 52px;
    padding-block: var(--bc-space-3);
    grid-template-columns:
        var(--bc-space-7)
        minmax(0, 1fr);
    align-items: center;
    gap: var(--bc-space-3);
    border-bottom: 1px solid var(--bc-color-border);
    color: var(--bc-color-text-muted);
    font-size: var(--bc-font-size-body-sm);
    font-weight: 500;
    line-height: var(--bc-line-height-small);
    text-decoration: none;
    transition: color var(--bc-transition);
}

.delivery-guide__navigation-list a span {
    color: var(--bc-color-accent);
    font-family: var(--bc-font-heading);
    font-weight: 600;
}

.delivery-guide__navigation-list a:hover,
.delivery-guide__navigation-list a:focus-visible {
    color: var(--bc-color-primary);
}


/* =========================================================
   GUIDE ITEMS
========================================================= */

.delivery-guide__items {
    overflow: hidden;
    border: 1px solid var(--bc-color-border);
    border-radius: var(--bc-radius-sm);
    background: var(--bc-color-surface);
    box-shadow: none;
}

.delivery-guide__item {
    position: relative;
    display: grid;
    padding: var(--bc-space-7);
    grid-template-columns:
        var(--bc-space-10)
        minmax(0, 1fr);
    align-items: start;
    gap: var(--bc-space-6);
    scroll-margin-top: calc(
        var(--bc-header-height)
        + var(--bc-space-6)
    );
}

.delivery-guide__item + .delivery-guide__item {
    border-top: 1px solid var(--bc-color-border);
}

.delivery-guide__item::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    background: transparent;
    content: "";
}

.delivery-guide__item:target {
    background: var(--bc-color-background-soft);
}

.delivery-guide__item:target::before {
    background: var(--bc-color-accent);
}

.delivery-guide__number {
    color: var(--bc-color-accent);
    font-family: var(--bc-font-heading);
    font-size: var(--bc-font-size-h5);
    font-weight: 600;
    line-height: var(--bc-line-height-h5);
}

.delivery-guide__item-content {
    display: grid;
    grid-template-columns:
        minmax(210px, 0.72fr)
        minmax(0, 1.28fr);
    align-items: start;
    gap: var(--bc-grid-gap-lg);
}

.delivery-guide__title {
    max-width: 340px;
    margin: 0;
    font-size: var(--bc-font-size-h4);
    line-height: var(--bc-line-height-h4);
    letter-spacing: -0.02em;
}

.delivery-guide__text {
    max-width: 680px;
    color: var(--bc-color-text-muted);
    font-size: var(--bc-font-size-body);
    line-height: var(--bc-line-height-body);
}


/* =========================================================
   RICH TEXT
========================================================= */

.delivery-rich-text > * {
    margin-top: 0;
    margin-bottom: 0;
}

.delivery-rich-text > * + * {
    margin-top: var(--bc-space-4);
}

.delivery-rich-text ul,
.delivery-rich-text ol {
    padding-left: 1.25em;
}

.delivery-rich-text li + li {
    margin-top: var(--bc-space-2);
}

.delivery-rich-text strong {
    color: var(--bc-color-text);
    font-weight: 600;
}

.delivery-rich-text a {
    color: var(--bc-color-primary);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}


/* =========================================================
   SCHEDULE
========================================================= */

.delivery-schedule {
    background: var(--bc-color-background-soft);
}

.delivery-schedule__card {
    position: relative;
    display: grid;
    padding: var(--bc-space-8);
    overflow: hidden;
    grid-template-columns:
        minmax(0, 0.8fr)
        minmax(380px, 1.2fr);
    align-items: center;
    gap: var(--bc-grid-gap-lg);
    border-radius: var(--bc-radius-sm);
    color: var(--bc-color-white);
    background: var(--bc-color-primary);
    isolation: isolate;
}

.delivery-schedule__card::after {
    position: absolute;
    z-index: -1;
    top: -230px;
    right: -120px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 50%;
    content: "";
}

.delivery-schedule__eyebrow {
    display: flex;
    margin: 0 0 var(--bc-space-3);
    align-items: center;
    gap: var(--bc-space-3);
    color: var(--bc-color-accent-soft);
}

.delivery-schedule__eyebrow::before {
    width: var(--bc-space-8);
    height: 2px;
    flex: 0 0 auto;
    background: currentColor;
    content: "";
}

.delivery-schedule__title {
    margin: 0;
    color: inherit;
    font-size: var(--bc-font-size-h3);
    line-height: var(--bc-line-height-h3);
}

.delivery-schedule__details {
    border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.delivery-schedule__row {
    display: grid;
    min-height: 64px;
    padding-block: var(--bc-space-4);
    grid-template-columns:
        minmax(0, 1fr)
        auto;
    align-items: center;
    gap: var(--bc-space-6);
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.delivery-schedule__row span {
    color: rgba(255, 255, 255, 0.68);
    font-size: var(--bc-font-size-body-sm);
    line-height: var(--bc-line-height-small);
}

.delivery-schedule__row strong {
    color: var(--bc-color-white);
    font-family: var(--bc-font-heading);
    font-size: var(--bc-font-size-h6);
    font-weight: 600;
    line-height: var(--bc-line-height-h6);
    text-align: right;
}

.delivery-schedule__note {
    max-width: 620px;
    margin: var(--bc-space-4) 0 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: var(--bc-font-size-caption);
    line-height: var(--bc-line-height-small);
}


/* =========================================================
   <= 991
========================================================= */

@media (max-width: 991px) {

    .delivery-hero__grid,
    .delivery-guide__layout,
    .delivery-schedule__card {
        grid-template-columns: minmax(0, 1fr);
    }

    .delivery-hero__grid {
        align-items: start;
        gap: var(--bc-space-8);
    }

    .delivery-hero__content {
        max-width: var(--bc-container-content);
    }

    .delivery-guide__layout {
        gap: var(--bc-space-8);
    }

    .delivery-guide__navigation {
        position: static;
        top: auto;
    }

    .delivery-guide__navigation-list {
        display: flex;
        margin-inline: calc(var(--bc-page-padding) * -1);
        padding-inline: var(--bc-page-padding);
        overflow-x: auto;
        gap: var(--bc-space-2);
        border: 0;
        scrollbar-width: none;
    }

    .delivery-guide__navigation-list::-webkit-scrollbar {
        display: none;
    }

    .delivery-guide__navigation-list li {
        flex: 0 0 auto;
    }

    .delivery-guide__navigation-list a {
        display: inline-flex;
        min-height: 44px;
        padding:
            var(--bc-space-2)
            var(--bc-space-3);
        gap: var(--bc-space-2);
        border: 1px solid var(--bc-color-border);
        border-radius: var(--bc-radius-sm);
        background: var(--bc-color-surface);
        white-space: nowrap;
    }

    .delivery-guide__item-content {
        grid-template-columns:
            minmax(190px, 0.75fr)
            minmax(0, 1.25fr);
        gap: var(--bc-space-8);
    }

    .delivery-schedule__card {
        gap: var(--bc-space-8);
    }

    .delivery-schedule__details {
        max-width: var(--bc-container-content);
    }

}


/* =========================================================
   <= 767
========================================================= */

@media (max-width: 767px) {

    .delivery-breadcrumbs-wrap {
        padding-top: var(--bc-space-4);
    }

    .delivery-breadcrumbs__list {
        flex-wrap: nowrap;
        overflow: hidden;
    }

    .delivery-breadcrumbs__current {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .delivery-hero__grid {
        gap: var(--bc-space-6);
    }

    .delivery-hero__content {
        padding-left: var(--bc-space-5);
    }

    .delivery-hero__intro {
        font-size: var(--bc-font-size-body);
        line-height: var(--bc-line-height-body);
    }

    .delivery-hero__catalog {
        width: 100%;
    }

    .delivery-guide__navigation-label {
        margin-bottom: var(--bc-space-3);
    }

    .delivery-guide__item {
        padding: var(--bc-space-5);
        grid-template-columns:
            var(--bc-space-7)
            minmax(0, 1fr);
        gap: var(--bc-space-3);
    }

    .delivery-guide__number {
        padding-top: 2px;
        font-size: var(--bc-font-size-body-sm);
        line-height: var(--bc-line-height-small);
    }

    .delivery-guide__item-content {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--bc-space-3);
    }

    .delivery-guide__title {
        font-size: var(--bc-font-size-h5);
        line-height: var(--bc-line-height-h5);
    }

    .delivery-guide__text {
        font-size: var(--bc-font-size-body-sm);
        line-height: var(--bc-line-height-small);
    }

    .delivery-schedule__card {
        padding: var(--bc-space-6);
        gap: var(--bc-space-7);
    }

    .delivery-schedule__title {
        font-size: var(--bc-font-size-h4);
        line-height: var(--bc-line-height-h4);
    }

    .delivery-schedule__row {
        grid-template-columns: minmax(0, 1fr);
        padding-block: var(--bc-space-4);
        gap: var(--bc-space-2);
    }

    .delivery-schedule__row strong {
        font-size: var(--bc-font-size-body);
        line-height: var(--bc-line-height-body);
        text-align: left;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .delivery-breadcrumbs__link,
    .delivery-guide__navigation-list a {
        transition: none;
    }

}
