/* Breed pages redesign (list, detail, favourites). Scoped with the bd- prefix. */
:root {
    --bd-yellow: #fcc400;
    --bd-yellow-strong: #f5b800;
    --bd-yellow-soft: #fff6d6;
    --bd-ink: #24323e;
    --bd-text: #3b4650;
    --bd-muted: #7a858f;
    --bd-line: #ececec;
    --bd-bg: #f7f7f5;
    --bd-card: #fff;
    --bd-radius: 18px;
    --bd-shadow: 0 6px 24px rgba(36, 50, 62, .07);
}

.bd-page {
    background: var(--bd-bg);
    color: var(--bd-text);
    padding: 1rem 0 3rem;
    direction: rtl;
}

.bd-container {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 1rem;
}

.bd-page *, .bd-page *::before, .bd-page *::after {
    box-sizing: border-box;
}

.bd-page a:not(.bd-btn) {
    border-bottom: 0;
}

.bd-page img {
    max-width: 100%;
}

/* ---------- generic pieces ---------- */
.bd-card {
    background: var(--bd-card);
    border-radius: var(--bd-radius);
    box-shadow: var(--bd-shadow);
    padding: 1.5rem;
}

.bd-section {
    margin-top: 1.75rem;
}

.bd-section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0 0 1rem;
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--bd-ink);
}

.bd-section-title small {
    font-size: .9rem;
    font-weight: 500;
    color: var(--bd-muted);
}

.bd-muted {
    color: var(--bd-muted);
}

.bd-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .7rem 1.4rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none !important;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.bd-btn:hover {
    transform: translateY(-1px);
}

.bd-btn-primary {
    background: var(--bd-yellow);
    color: #1b1b1b;
    box-shadow: 0 4px 14px rgba(252, 196, 0, .35);
}

.bd-btn-primary:hover {
    background: var(--bd-yellow-strong);
    color: #1b1b1b;
}

.bd-btn-ghost {
    background: #fff;
    color: var(--bd-ink);
    border-color: #d9dde1;
}

.bd-btn-ghost:hover {
    border-color: var(--bd-ink);
    color: var(--bd-ink);
}

.bd-btn-soft {
    background: var(--bd-yellow-soft);
    color: #8a6500;
}

/* breadcrumb */
.bd-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
    font-size: .9rem;
    color: var(--bd-muted);
}

.bd-breadcrumb li + li::before {
    content: "‹";
    margin-left: .4rem;
    color: #b8c0c7;
}

.bd-breadcrumb a {
    color: var(--bd-muted);
}

.bd-breadcrumb a:hover {
    color: var(--bd-ink);
}

/* ---------- like button ---------- */
.bd-like {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    cursor: pointer;
    font: inherit;
    border: 0;
    background: transparent;
    color: var(--bd-ink);
}

.bd-like .fa {
    transition: transform .2s ease, color .2s ease;
}

.bd-like.is-liked .fa {
    color: #e5484d;
    transform: scale(1.15);
}

.bd-like.is-liked .fa::before {
    content: "\f004"; /* solid heart */
}

.bd-like-fab {
    position: absolute;
    top: .75rem;
    left: .75rem;
    z-index: 2;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}

.bd-like-fab:hover {
    background: #fff;
}

.bd-like-btn.is-liked {
    background: #fff0f0;
    border-color: #f3b4b6;
    color: #c2262b;
}

.bd-toast {
    position: fixed;
    bottom: 1.25rem;
    left: 50%;
    transform: translate(-50%, 2rem);
    background: var(--bd-ink);
    color: #fff;
    padding: .7rem 1.2rem;
    border-radius: 999px;
    opacity: 0;
    pointer-events: none;
    transition: all .25s ease;
    z-index: 2000;
    font-size: .95rem;
}

.bd-toast.is-show {
    opacity: 1;
    transform: translate(-50%, 0);
}

/* ---------- breed card (list + favourites + home) ---------- */
.bd-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.2rem;
    align-items: stretch;
}

@media (max-width: 1199px) { .bd-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .bd-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; } }
@media (max-width: 420px) { .bd-grid { grid-template-columns: minmax(0, 1fr); } }

.bd-card-col {
    min-width: 0;
}

.bd-bcard {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: #fff;
    border-radius: var(--bd-radius);
    box-shadow: var(--bd-shadow);
    overflow: hidden;
    transition: transform .2s ease, box-shadow .2s ease;
}

.bd-bcard:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 34px rgba(36, 50, 62, .13);
}

.bd-bcard-img {
    display: block;
    aspect-ratio: 4 / 3;
    background: #eee;
    overflow: hidden;
}

.bd-bcard-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.bd-bcard:hover .bd-bcard-img img {
    transform: scale(1.05);
}

.bd-bcard-body {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    padding: 1rem 1.1rem 1.1rem;
    flex: 1;
}

.bd-bcard-title {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--bd-ink);
    line-height: 1.5;
}

.bd-bcard-title a {
    color: inherit;
}

.bd-bcard-en {
    font-size: .85rem;
    color: var(--bd-muted);
    direction: ltr;
    text-align: right;
}

.bd-bcard-desc {
    margin: 0;
    font-size: .92rem;
    line-height: 1.8;
    color: var(--bd-text);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.bd-bcard-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-top: auto;
    padding-top: .5rem;
    font-size: .85rem;
    color: var(--bd-muted);
}

.bd-stars {
    display: inline-block;
    position: relative;
    font-size: 1rem;
    letter-spacing: 2px;
    color: #d9d9d9;
    line-height: 1;
    direction: ltr;
}

.bd-stars::before {
    content: "★★★★★";
}

.bd-stars > span {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    color: var(--bd-yellow);
}

.bd-stars > span::before {
    content: "★★★★★";
}

.bd-chip {
    display: inline-block;
    padding: .2rem .7rem;
    border-radius: 999px;
    background: var(--bd-yellow-soft);
    color: #8a6500;
    font-size: .8rem;
    font-weight: 700;
}

.bd-bcard-cta {
    margin-top: .6rem;
    width: 100%;
}

/* ---------- list page ---------- */
.bd-hero {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    background: linear-gradient(135deg, #fff6d6 0%, #ffe9a3 100%);
    padding: 2.25rem 2rem;
    min-height: 13rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.bd-hero.has-bg {
    background-size: cover;
    background-position: center;
}

.bd-hero.has-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(270deg, rgba(255, 246, 214, .96) 35%, rgba(255, 246, 214, .55));
}

.bd-hero > * {
    position: relative;
}

.bd-hero h1 {
    margin: 0 0 .5rem;
    font-size: 2.2rem;
    font-weight: 900;
    color: var(--bd-ink);
}

.bd-hero p {
    margin: 0;
    max-width: 38rem;
    font-size: 1.05rem;
    line-height: 2rem;
    color: #55616b;
}

.bd-toolbar {
    margin-top: 1rem;
    background: #fff;
    border-radius: var(--bd-radius);
    box-shadow: var(--bd-shadow);
    padding: 1rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
}

.bd-search {
    display: flex;
    align-items: center;
    gap: .5rem;
    background: var(--bd-bg);
    border-radius: 999px;
    padding: .3rem .3rem .3rem .3rem;
    direction: rtl;
}

.bd-search input[type=text] {
    direction: rtl;
    text-align: right;
    flex: 1;
    border: 0;
    background: transparent;
    outline: 0;
    font: inherit;
    padding: .55rem 1rem;
    min-width: 0;
}

.bd-search button {
    border: 0;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 50%;
    background: var(--bd-yellow);
    cursor: pointer;
}

.bd-sort {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
}

.bd-sort select {
    border: 1px solid var(--bd-line);
    border-radius: 999px;
    background: #fff;
    padding: .6rem 1rem;
    font: inherit;
    outline: 0;
}

.bd-seg {
    display: inline-flex;
    background: var(--bd-bg);
    border-radius: 999px;
    padding: .2rem;
}

.bd-seg a {
    padding: .45rem .9rem;
    border-radius: 999px;
    color: var(--bd-muted);
    cursor: pointer;
    font-size: .9rem;
}

.bd-seg a.is-active {
    background: #fff;
    color: var(--bd-ink);
    box-shadow: 0 1px 4px rgba(0, 0, 0, .1);
    font-weight: 700;
}

@media (max-width: 767px) {
    .bd-toolbar { grid-template-columns: 1fr; }
    .bd-hero { padding: 1.5rem 1.25rem; }
    .bd-hero h1 { font-size: 1.6rem; }
}

.bd-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-top: 1rem;
}

.bd-pill {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .55rem 1.1rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--bd-line);
    color: var(--bd-ink);
    font-weight: 600;
    transition: all .15s ease;
}

.bd-pill:hover, .bd-pill.is-active {
    background: var(--bd-yellow);
    border-color: var(--bd-yellow);
    color: #1b1b1b;
}

.bd-banner {
    margin-top: 1rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1.5rem 2rem;
    border-radius: 24px;
    background: linear-gradient(135deg, #fff6d6, #ffe08a);
}

.bd-banner h3 {
    margin: 0 0 .25rem;
    font-size: 1.5rem;
    font-weight: 900;
    color: var(--bd-ink);
}

.bd-banner p {
    margin: 0 0 1rem;
    color: #5a5a4a;
}

.bd-banner-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}

.bd-banner-actions .bd-btn {
    background: #fff;
    color: var(--bd-ink);
}

.bd-banner-actions .bd-btn.bd-btn-primary {
    background: var(--bd-ink);
    color: #fff;
}

.bd-banner > .fa {
    font-size: 5rem;
    color: rgba(36, 50, 62, .12);
}

@media (max-width: 767px) {
    .bd-banner { grid-template-columns: 1fr; padding: 1.25rem; }
    .bd-banner > .fa { display: none; }
}

.bd-more {
    text-align: center;
    margin-top: 1.5rem;
}

.bd-empty {
    text-align: center;
    padding: 3rem 1rem;
    color: var(--bd-muted);
}

.bd-seo {
    margin-top: 2rem;
    position: relative;
}

.bd-seo .bd-seo-body {
    max-height: 9rem;
    overflow: hidden;
    line-height: 2rem;
    text-align: justify;
}

.bd-seo.is-open .bd-seo-body {
    max-height: none;
}

.bd-seo .bd-seo-body {
    position: relative;
}

.bd-seo:not(.is-open) .bd-seo-body::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 4rem;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
}

.bd-seo h4, .bd-seo h5 {
    font-weight: 800;
    color: var(--bd-ink);
}

/* ---------- detail page ---------- */
.bd-hero2 {
    display: grid;
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    gap: 1.75rem;
    background: linear-gradient(135deg, #fffdf5, #fff6d6);
    border-radius: 24px;
    padding: 1.25rem;
    box-shadow: var(--bd-shadow);
}

.bd-thumbs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .6rem;
    margin-top: .7rem;
}

.bd-thumb {
    aspect-ratio: 4 / 3;
    border-radius: 12px;
    overflow: hidden;
    border: 3px solid transparent;
    padding: 0;
    background: #eee;
    cursor: pointer;
    opacity: .8;
}

.bd-thumb.is-active {
    border-color: var(--bd-yellow);
    opacity: 1;
}

.bd-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.bd-info {
    display: flex;
    flex-direction: column;
    gap: .9rem;
    padding: .5rem .5rem .5rem 0;
}

.bd-badge {
    align-self: flex-start;
    display: inline-block;
    padding: .3rem 1rem;
    border-radius: 999px;
    background: #fff1bd;
    color: #8a6500;
    font-weight: 700;
    font-size: .9rem;
}

.bd-info h1 {
    margin: 0;
    font-size: 2.6rem;
    font-weight: 900;
    color: var(--bd-ink);
    line-height: 1.3;
}

.bd-info .bd-en {
    direction: ltr;
    text-align: right;
    font-weight: 700;
    color: var(--bd-ink);
    margin-top: -.5rem;
}

.bd-info .bd-lead {
    margin: 0;
    line-height: 2rem;
    text-align: justify;
}

.bd-rate-line {
    display: flex;
    align-items: center;
    gap: .6rem;
    color: var(--bd-muted);
    font-size: .95rem;
}

.bd-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: rgba(255, 255, 255, .7);
    border-radius: 16px;
    padding: .9rem 0;
}

.bd-stat {
    text-align: center;
    padding: 0 .4rem;
    border-left: 1px solid var(--bd-line);
}

.bd-stat:last-child {
    border-left: 0;
}

.bd-stat .fa {
    display: block;
    font-size: 1.5rem;
    color: var(--bd-yellow-strong);
    margin-bottom: .3rem;
}

.bd-stat small {
    display: block;
    color: var(--bd-muted);
}

.bd-stat strong {
    display: block;
    color: var(--bd-ink);
    font-size: .98rem;
    line-height: 1.6;
}

.bd-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin-top: auto;
}

.bd-price {
    margin-top: 1.25rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1.1rem 1.5rem;
    border-radius: var(--bd-radius);
    background: linear-gradient(135deg, #fff6d6, #ffe08a);
}

@media (max-width: 991px) {
    .bd-hero2 { grid-template-columns: 1fr; padding: 1rem; }
    .bd-info { padding: 0; }
    .bd-info h1 { font-size: 2rem; }
    .bd-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1rem; }
    .bd-stat:nth-child(2) { border-left: 0; }
    .bd-price { grid-template-columns: 1fr; }
}

/* traits */
.bd-traits {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: .9rem;
}

.bd-trait {
    text-align: center;
    padding: 1rem .5rem;
    border-radius: 16px;
    background: var(--bd-bg);
    font-weight: 700;
    color: var(--bd-ink);
}

.bd-trait .fa {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.4rem;
    height: 3.4rem;
    margin: 0 auto .5rem;
    border-radius: 50%;
    background: var(--bd-yellow-soft);
    color: var(--bd-yellow-strong);
    font-size: 1.4rem;
}

/* ratings */
.bd-rating-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.1rem;
}

@media (max-width: 991px) { .bd-rating-grid { grid-template-columns: 1fr; } }

/* overview */
.bd-overview {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 1.25rem;
}

@media (max-width: 991px) { .bd-overview { grid-template-columns: 1fr; } }

.bd-spec {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem 0;
    border-bottom: 1px solid var(--bd-line);
}

.bd-spec:last-child {
    border-bottom: 0;
}

.bd-spec span:first-child {
    color: var(--bd-muted);
}

.bd-spec strong {
    color: var(--bd-ink);
    text-align: left;
}

.bd-media {
    border-radius: var(--bd-radius);
    overflow: hidden;
    background: #000;
    min-height: 16rem;
}

.bd-media img, .bd-media iframe, .bd-media video {
    display: block;
    width: 100%;
    min-height: 100%;
    object-fit: cover;
    border: 0;
}

.bd-media .h_iframe-aparat_embed_frame, .bd-media .h_iframe-aparat_embed_frame iframe {
    min-height: 16rem;
}

.bd-about {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
    gap: 1.5rem;
    align-items: start;
}

@media (max-width: 991px) { .bd-about { grid-template-columns: 1fr; } }

.bd-about img {
    width: 100%;
    border-radius: 16px;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.bd-prose {
    line-height: 2rem;
    text-align: justify;
    font-size: 1rem;
}

.bd-prose p, .bd-prose ul, .bd-prose ol {
    margin-bottom: 1rem;
}

.bd-collapsible .bd-prose {
    max-height: 9.5rem;
    overflow: hidden;
    position: relative;
}

.bd-collapsible.is-open .bd-prose {
    max-height: none;
}

.bd-collapsible:not(.is-open) .bd-prose::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 3.5rem;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
}

/* care */
.bd-care-tabs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .8rem;
}

@media (max-width: 767px) { .bd-care-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.bd-care-tab {
    border: 2px solid transparent;
    background: #fff;
    border-radius: 16px;
    padding: 1rem .5rem;
    text-align: center;
    box-shadow: var(--bd-shadow);
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    color: var(--bd-ink);
    transition: all .15s ease;
}

.bd-care-tab img {
    width: 2.6rem;
    height: 2.6rem;
    display: block;
    margin: 0 auto .4rem;
}

.bd-care-tab:hover {
    border-color: #f6dd7a;
}

.bd-care-tab.is-active {
    border-color: var(--bd-yellow);
    background: var(--bd-yellow-soft);
}

.bd-care-panel {
    margin-top: 1rem;
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
    gap: 1.5rem;
    align-items: start;
}

@media (max-width: 767px) { .bd-care-panel { grid-template-columns: 1fr; } }

.bd-care-panel img {
    width: 100%;
    border-radius: 16px;
}

.bd-pane {
    display: none;
}

.bd-pane.is-active {
    display: block;
}

/* gallery grid, history, cards */
.bd-photo-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
}

@media (max-width: 991px) { .bd-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.bd-photo-grid > * {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 14px;
    background: #eee;
}

.bd-photo-grid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.bd-photo-grid > *:hover img {
    transform: scale(1.06);
}

.bd-history {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
    gap: 1.5rem;
    align-items: start;
}

@media (max-width: 991px) { .bd-history { grid-template-columns: 1fr; } }

.bd-history-photos {
    display: grid;
    gap: .8rem;
}

.bd-history-photos img {
    width: 100%;
    border-radius: 14px;
    object-fit: cover;
    max-height: 16rem;
}

.bd-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

@media (max-width: 991px) { .bd-facts { grid-template-columns: 1fr; } }

.bd-fact {
    padding: 1.25rem 1.4rem;
    border-radius: var(--bd-radius);
    line-height: 2rem;
}

.bd-fact:nth-child(odd) {
    background: var(--bd-ink);
    color: #fff;
}

.bd-fact:nth-child(even) {
    background: var(--bd-yellow);
    color: #1b1b1b;
}

.bd-fact .fa {
    display: block;
    margin-bottom: .4rem;
    opacity: .8;
}

.bd-similar {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

@media (max-width: 991px) { .bd-similar { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.bd-similar a {
    display: block;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--bd-shadow);
    text-align: center;
    color: var(--bd-ink);
    font-weight: 700;
    transition: transform .2s ease;
}

.bd-similar a:hover {
    transform: translateY(-3px);
}

.bd-similar img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}

.bd-similar span {
    display: block;
    padding: .7rem .5rem;
}

.bd-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.bd-tags span {
    padding: .3rem .8rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid var(--bd-line);
    font-size: .85rem;
    color: var(--bd-muted);
}

.bd-page .bd-hide { display: none !important; }

/* the standard partial inside the new look */
.bd-page .bs-wrap { padding: 0; }

/* overview without a video: specs use the full width in two columns */
.bd-overview-single {
    grid-template-columns: 1fr;
}

.bd-overview-single .bd-card {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 3rem;
}

.bd-overview-single .bd-card .bd-section-title {
    grid-column: 1 / -1;
}

@media (max-width: 767px) {
    .bd-overview-single .bd-card { grid-template-columns: 1fr; }
}


/* ---------- slider (hero + history): native scroll-snap, swipe on touch, drag with the mouse ---------- */
.bd-slider {
    position: relative;
}

.bd-slider-track {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    border-radius: 20px;
    background: #eee;
    cursor: grab;
    outline: 0;
    overscroll-behavior-x: contain;
}

.bd-slider-track::-webkit-scrollbar {
    display: none;
}

.bd-slider-track.is-dragging {
    scroll-snap-type: none;
    cursor: grabbing;
    scroll-behavior: auto;
}

.bd-slider-track:focus-visible {
    box-shadow: 0 0 0 3px rgba(252, 196, 0, .6);
}

.bd-slide {
    flex: 0 0 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    aspect-ratio: 4 / 3;
}

.bd-slider-sm .bd-slide {
    aspect-ratio: 16 / 11;
}

.bd-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    user-select: none;
    -webkit-user-drag: none;
    pointer-events: none;
}

.bd-slider-nav {
    position: absolute;
    top: 50%;
    width: 2.9rem;
    height: 2.9rem;
    margin-top: -1.45rem;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
    cursor: pointer;
    opacity: .92;
    transition: opacity .2s ease, transform .15s ease, background .15s ease;
}

.bd-slider:hover .bd-slider-nav,
.bd-slider-nav:focus-visible {
    opacity: 1;
}

@media (hover: none) {
    .bd-slider-nav { opacity: .95; width: 2.4rem; height: 2.4rem; margin-top: -1.2rem; }
}

.bd-slider-nav:hover {
    background: var(--bd-yellow);
    transform: scale(1.06);
}

.bd-slider-nav.prev { right: .9rem; }
.bd-slider-nav.next { left: .9rem; }

.bd-slider-nav::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: .7rem;
    height: .7rem;
    border: solid var(--bd-ink);
}

.bd-slider-nav.next::before {
    border-width: 0 0 2.5px 2.5px;
    transform: translate(-30%, -50%) rotate(45deg);
}

.bd-slider-nav.prev::before {
    border-width: 0 2.5px 2.5px 0;
    transform: translate(-70%, -50%) rotate(-45deg);
}

.bd-slider-dots {
    position: absolute;
    right: 0;
    left: 0;
    bottom: .7rem;
    display: flex;
    justify-content: center;
    gap: .4rem;
    pointer-events: none;
}

.bd-slider-dots i {
    width: .55rem;
    height: .55rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, .6);
    box-shadow: 0 0 3px rgba(0, 0, 0, .35);
    transition: all .2s ease;
}

.bd-slider-dots i.is-active {
    width: 1.4rem;
    border-radius: 999px;
    background: var(--bd-yellow);
}

/* ---------- like button (icon only) ---------- */
.bd-like-btn {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    border: 1px solid #d9dde1;
    background: #fff;
    font-size: 1.3rem;
    color: var(--bd-ink);
    box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
}

.bd-like-btn:hover {
    border-color: #e5484d;
    background: #fff5f5;
}

.bd-like-btn.is-liked {
    border-color: #f3b4b6;
    background: #fff0f0;
}

/* ---------- ratings: clear cards, stars (yellow = score, grey = the rest) ---------- */
.bd-rating-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.1rem;
    align-items: start;
}

@media (max-width: 991px) { .bd-rating-grid { grid-template-columns: 1fr; } }

.bd-rating-card {
    background: #fff;
    border-radius: var(--bd-radius);
    box-shadow: var(--bd-shadow);
    overflow: hidden;
}

.bd-rating-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.4rem;
    background: var(--bd-ink);
    color: #fff;
}

.bd-rating-head h3 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 800;
    color: #fff;
}

.bd-rating-head .bd-stars {
    font-size: 1.15rem;
    color: rgba(255, 255, 255, .28);
}

.bd-rating-list {
    list-style: none;
    margin: 0;
    padding: .4rem 1.4rem .6rem;
}

.bd-rating-list li {
    padding: .85rem 0;
    border-bottom: 1px solid var(--bd-line);
}

.bd-rating-list li:last-child {
    border-bottom: 0;
}

.bd-rating-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.bd-rating-name {
    font-weight: 700;
    color: var(--bd-ink);
}

.bd-rating-line .bd-stars {
    font-size: 1.1rem;
    flex: 0 0 auto;
}

.bd-rating-desc {
    margin: .35rem 0 0;
    font-size: .88rem;
    line-height: 1.8rem;
    color: var(--bd-muted);
}


/* ---------- comments (rating form + reviews) ---------- */
.bd-r-card {
    background: #fff;
    border-radius: var(--bd-radius);
    box-shadow: var(--bd-shadow);
    padding: 1.6rem;
    margin-bottom: 1.2rem;
}

.bd-r-head {
    display: flex;
    align-items: center;
    gap: .9rem;
    margin-bottom: 1.2rem;
}

.bd-r-head h3 {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--bd-ink);
}

.bd-r-head p {
    margin: .15rem 0 0;
    color: var(--bd-muted);
    font-size: .92rem;
}

.bd-r-icon {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border-radius: 14px;
    background: var(--bd-yellow-soft);
    color: var(--bd-yellow-strong);
    font-size: 1.35rem;
}

.bd-r-count {
    margin-right: auto;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem 1rem;
    border-radius: 999px;
    background: var(--bd-yellow-soft);
    color: #8a6500;
    font-weight: 700;
}

.bd-r-label {
    display: block;
    margin-bottom: .4rem;
    font-weight: 700;
    color: var(--bd-ink);
}

/* form */
.bd-r-starrow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem 1rem;
    margin-bottom: 1.1rem;
    padding: .9rem 1.1rem;
    border-radius: 14px;
    background: var(--bd-bg);
}

.bd-r-starrow .bd-r-label {
    margin: 0;
}

.bd-r-stars {
    display: inline-flex;
    gap: .15rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bd-r-stars .star {
    cursor: pointer;
    font-size: 1.9rem;
    line-height: 1;
    padding: .1rem;
}

.bd-r-stars .star i {
    color: #d9d9d9;
    transition: color .12s ease, transform .12s ease;
}

.bd-r-stars .star.bd-on i,
.bd-r-stars .star.bd-hover i {
    color: var(--bd-yellow);
}

.bd-r-stars .star:hover i {
    transform: scale(1.15);
}

.bd-r-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

@media (max-width: 767px) { .bd-r-grid { grid-template-columns: 1fr; } }

.bd-r-field {
    margin-bottom: 1rem;
}

.bd-r-input {
    position: relative;
}

.bd-r-input .fa {
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    color: var(--bd-muted);
}

.bd-r-input input,
.bd-r-textarea {
    width: 100%;
    border: 1px solid #e2e5e8;
    border-radius: 12px;
    background: #fff;
    font: inherit;
    padding: .75rem 1rem;
    outline: 0;
    transition: border-color .15s ease, box-shadow .15s ease;
    direction: rtl;
    text-align: right;
}

.bd-r-input input {
    padding-right: 2.7rem;
}

.bd-r-input input:focus,
.bd-r-textarea:focus {
    border-color: var(--bd-yellow);
    box-shadow: 0 0 0 3px rgba(252, 196, 0, .2);
}

.bd-r-textarea {
    min-height: 7.5rem;
    resize: vertical;
}

.bd-r-replynote {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    margin: 0 0 .6rem;
    padding: .4rem .8rem;
    border-radius: 999px;
    background: #e8f4ff;
    color: #1d5f99;
    font-size: .9rem;
}

.bd-r-replynote button {
    border: 0;
    background: transparent;
    color: #c2262b;
    cursor: pointer;
    padding: 0;
}

/* summary */
.bd-r-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 2rem;
    align-items: center;
    margin-bottom: 1.2rem;
    padding: 1.1rem 1.4rem;
    border-radius: 14px;
    background: var(--bd-bg);
}

@media (max-width: 575px) { .bd-r-summary { grid-template-columns: 1fr; gap: 1rem; } }

.bd-r-avg {
    text-align: center;
}

.bd-r-avg strong {
    display: block;
    font-size: 2.6rem;
    line-height: 1.1;
    color: var(--bd-ink);
}

.bd-r-avg small {
    display: block;
    margin-top: .2rem;
    color: var(--bd-muted);
}

.bd-r-dist-row {
    display: grid;
    grid-template-columns: 4.5rem minmax(0, 1fr) 3rem;
    align-items: center;
    gap: .7rem;
    font-size: .85rem;
    color: var(--bd-muted);
    margin: .25rem 0;
}

.bd-r-bar {
    height: .5rem;
    border-radius: 999px;
    background: #e7e7e7;
    overflow: hidden;
}

.bd-r-bar i {
    display: block;
    height: 100%;
    background: var(--bd-yellow);
    border-radius: 999px;
}

/* list */
.bd-r-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .9rem;
}

.bd-r-item {
    display: grid;
    grid-template-columns: 3.4rem minmax(0, 1fr);
    gap: 1rem;
    padding: 1.1rem 1.2rem;
    border: 1px solid var(--bd-line);
    border-radius: 16px;
    background: #fff;
}

.bd-r-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.4rem;
    height: 3.4rem;
    border-radius: 50%;
    background: var(--bd-yellow-soft);
    color: #8a6500;
    font-size: 1.3rem;
    font-weight: 800;
}

.bd-r-avatar-sm {
    width: 2.4rem;
    height: 2.4rem;
    font-size: 1rem;
    background: #fff;
}

.bd-r-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .3rem .9rem;
}

.bd-r-meta strong {
    color: var(--bd-ink);
    font-size: 1.02rem;
}

.bd-r-date {
    color: var(--bd-muted);
    font-size: .85rem;
}

.bd-r-meta .bd-stars {
    font-size: .95rem;
}

.bd-r-text {
    margin: .5rem 0;
    line-height: 2rem;
    color: var(--bd-text);
    white-space: pre-line;
}

.bd-r-actions {
    display: flex;
    gap: .6rem;
}

.bd-r-reply {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    border: 0;
    border-radius: 999px;
    padding: .35rem .95rem;
    background: var(--bd-bg);
    color: var(--bd-ink);
    cursor: pointer;
    font: inherit;
    font-size: .88rem;
}

.bd-r-reply:hover {
    background: var(--bd-yellow-soft);
}

.bd-r-replies {
    list-style: none;
    margin: .9rem 0 0;
    padding: 0;
    display: grid;
    gap: .6rem;
}

.bd-r-reply-item {
    display: grid;
    grid-template-columns: 2.4rem minmax(0, 1fr);
    gap: .8rem;
    padding: .8rem 1rem;
    border-radius: 12px;
    border-right: 4px solid var(--bd-yellow);
    background: #fffaf0;
}

.bd-r-reply-item .bd-r-text {
    margin: .2rem 0 0;
    line-height: 1.9rem;
    font-size: .95rem;
}

.bd-r-more button {
    border: 0;
    background: transparent;
    color: #8a6500;
    font-weight: 700;
    cursor: pointer;
    padding: .3rem 0;
}

.bd-r-morewrap {
    text-align: center;
    margin-top: 1rem;
}

@media (max-width: 575px) {
    .bd-r-card { padding: 1.1rem; }
    .bd-r-item { grid-template-columns: 2.6rem minmax(0, 1fr); gap: .7rem; padding: .9rem; }
    .bd-r-avatar { width: 2.6rem; height: 2.6rem; font-size: 1.05rem; }
}

/* like counter next to the stars */
.bd-likecount {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    color: #c2262b;
    font-size: .9rem;
    white-space: nowrap;
}

.bd-likecount .fa {
    font-size: .85em;
}

/* icon-only round buttons: keep the glyph exactly centred */
.bd-like-fab,
.bd-like-btn,
.bd-search button {
    padding: 0;
    line-height: 1;
}

.bd-like-fab .fa,
.bd-like-btn .fa,
.bd-search button .fa {
    display: block;
    width: 1em;
    line-height: 1;
    text-align: center;
}

.bd-search button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}
