/* Latest jewellery rail */
.latest-products-section { padding: 2.75rem 0 3rem; overflow: hidden; background: linear-gradient(135deg, #1e1e1e 0%, #2f2923 54%, #4b382a 100%); color: #fff; border-block: 1px solid rgba(229,199,107,.16); }
.compact-section-header, .section-row { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.4rem; }
.compact-section-header h2, .section-row h2 { margin: .25rem 0 .25rem; font-size: 2.15rem; line-height: 1.1; }
.compact-section-header p { margin: 0; color: rgba(30,30,30,.62); }
.latest-products-section .compact-section-header p, .home-blog-section .compact-section-header p { color: rgba(255,255,255,.68); }
.compact-section-actions { display: flex; align-items: center; gap: .55rem; flex: 0 0 auto; }
.slider-arrow { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid rgba(75,56,42,.24); border-radius: 50%; background: #fff; color: var(--charcoal); font: 400 1.75rem/1 Georgia, serif; transition: background .2s ease, color .2s ease, opacity .2s ease; }
.slider-arrow:hover:not(:disabled), .slider-arrow:focus-visible { background: var(--charcoal); color: #fff; }
.slider-arrow:disabled { cursor: default; opacity: .3; }
.latest-products-track, .home-blog-track { display: flex; gap: 1rem; overflow-x: auto; padding: .15rem .05rem 1rem; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: rgba(229,199,107,.55) transparent; cursor: grab; touch-action: pan-y; }
.latest-products-track:focus-visible, .home-blog-track:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 4px; }
.latest-products-track.is-dragging, .home-blog-track.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.latest-product-card { flex: 0 0 calc((100% - 5rem) / 6); min-width: 172px; overflow: hidden; scroll-snap-align: start; border: 1px solid rgba(75,56,42,.13); border-radius: 6px; background: #fff; box-shadow: 0 8px 24px rgba(32,23,11,.06); }
.latest-product-card__media { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #e9e3da; }
.latest-product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.latest-product-card:hover .latest-product-card__media img { transform: scale(1.035); }
.latest-product-badge { position: absolute; top: .55rem; left: .55rem; max-width: calc(100% - 1.1rem); padding: .28rem .45rem; border-radius: 3px; background: rgba(30,30,30,.88); color: #fff; font-size: .6rem; font-weight: 600; text-transform: uppercase; }
.latest-product-card__copy { padding: .72rem .8rem .8rem; }
.latest-product-card__copy > span { display: block; overflow: hidden; color: var(--brown); font-size: .62rem; font-weight: 600; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.latest-product-card h3 { min-height: 2.45rem; margin: .3rem 0 .45rem; overflow: hidden; font-size: .98rem; line-height: 1.25; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.latest-product-card h3 a { color: var(--charcoal); text-decoration: none; }
.latest-product-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem; min-height: 1.35rem; font-size: .78rem; }
.latest-product-price s { color: rgba(30,30,30,.44); font-size: .7rem; }
.latest-product-price--sale { display: grid; align-items: start; gap: .2rem; }
.latest-product-price .latest-product-price__sale { display: block; width: 100%; color: #7a5600; line-height: 1.25; }
.latest-product-price .latest-product-price__regular { display: block; width: 100%; }
.compact-empty { padding: 1.5rem; border: 1px dashed rgba(75,56,42,.25); color: rgba(30,30,30,.58); text-align: center; }

/* Public blog */
.blog-hero { padding: 9rem 0 3.25rem; background: linear-gradient(135deg, #1e1e1e 0%, #2f2923 54%, #4b382a 100%); color: #fff; }
.blog-hero h1 { max-width: 14ch; margin: .35rem 0 .75rem; font-size: 4.35rem; line-height: 1.02; }
.blog-hero p { max-width: 44rem; margin: 0; color: rgba(255,255,255,.7); line-height: 1.8; }
.blog-index-section { padding: 3rem 0 5rem; background: #faf8f4; }
.blog-filter-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 390px); align-items: center; gap: 1.25rem; min-width: 0; margin-bottom: 2rem; }
.blog-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .55rem; }
.featured-article { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); align-items: center; margin-bottom: 2.25rem; overflow: hidden; border: 1px solid rgba(75,56,42,.12); border-radius: 8px; background: #fff; }
.featured-article > a { height: 100%; min-height: 360px; overflow: hidden; }
.featured-article img { width: 100%; height: 100%; object-fit: cover; }
.featured-article > div { padding: clamp(1.5rem, 4vw, 3rem); }
.featured-article h2 { margin: .5rem 0 .8rem; font-size: 2.35rem; line-height: 1.08; }
.featured-article h2 a, .section-row a { color: inherit; text-decoration: none; }
.featured-article p { color: rgba(30,30,30,.65); line-height: 1.75; }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.blog-card { min-width: 0; overflow: hidden; overflow-wrap: anywhere; border: 1px solid rgba(75,56,42,.12); border-radius: 7px; background: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.blog-card:hover { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(32,23,11,.09); }
.blog-card__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #e9e3da; }
.blog-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.blog-card:hover .blog-card__media img { transform: scale(1.025); }
.blog-card__media span { position: absolute; left: .75rem; bottom: .75rem; padding: .35rem .55rem; border-radius: 3px; background: rgba(30,30,30,.88); color: #fff; font-size: .65rem; font-weight: 600; text-transform: uppercase; }
.blog-card__body { padding: 1rem 1.05rem 1.15rem; }
.blog-card__meta { display: flex; flex-wrap: wrap; gap: .75rem; min-height: 1.1rem; color: rgba(30,30,30,.5); font-size: .7rem; text-transform: uppercase; }
.blog-card h2 { min-height: 3.05rem; margin: .45rem 0 .55rem; overflow: hidden; font-size: 1.28rem; line-height: 1.2; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.blog-card h2 a { color: var(--charcoal); text-decoration: none; }
.blog-card p { min-height: 4.4rem; margin-bottom: .8rem; overflow: hidden; color: rgba(30,30,30,.62); font-size: .88rem; line-height: 1.65; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.blog-read-more { color: var(--brown); font-size: .82rem; font-weight: 600; text-decoration: none; }
.home-blog-section { padding: 3.5rem 0; overflow: hidden; background: linear-gradient(135deg, #1e1e1e 0%, #2f2923 54%, #4b382a 100%); color: #fff; border-block: 1px solid rgba(229,199,107,.16); }
.home-blog-section .compact-empty { border-color: rgba(229,199,107,.35); color: rgba(255,255,255,.7); }
.home-blog-track { gap: 1.25rem; }
.home-blog-track .blog-card { flex: 0 0 calc((100% - 2.5rem) / 3); scroll-snap-align: start; color: var(--charcoal); }

.article-page { padding: 8.25rem 0 5rem; background: #faf8f4; }
.article-header { max-width: 900px; margin: 2rem auto; text-align: center; }
.article-header h1 { margin: .7rem 0 1rem; font-size: 4.4rem; line-height: 1.02; }
.article-header > p { max-width: 720px; margin: 0 auto; color: rgba(30,30,30,.64); font-size: 1.08rem; line-height: 1.75; }
.article-byline { display: flex; justify-content: center; flex-wrap: wrap; gap: .35rem 1.2rem; margin-top: 1.15rem; color: rgba(30,30,30,.5); font-size: .78rem; }
.article-featured { max-width: 1160px; margin: 2.5rem auto 3rem; }
.article-featured img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; background: #e9e3da; }
.article-featured figcaption, .article-gallery figcaption { margin-top: .5rem; color: rgba(30,30,30,.52); font-size: .76rem; }
.article-layout { display: grid; grid-template-columns: minmax(0, 760px) minmax(220px, 300px); justify-content: center; align-items: start; gap: 3rem; }
.article-content { min-width: 0; color: #292623; font-family: Georgia, "Noto Sans Sinhala", serif; font-size: 1.04rem; line-height: 1.9; }
.article-content h2, .article-content h3, .article-content h4 { margin: 2rem 0 .8rem; font-family: "Playfair Display", "Noto Sans Sinhala", serif; line-height: 1.2; }
.article-content h2 { font-size: 2rem; }.article-content h3 { font-size: 1.55rem; }.article-content h4 { font-size: 1.25rem; }
.article-content img { max-width: 100%; height: auto; }
.article-content blockquote { margin: 1.75rem 0; padding: .4rem 0 .4rem 1.2rem; border-left: 3px solid var(--gold); color: rgba(30,30,30,.68); font-size: 1.15rem; }
.article-content table { width: 100%; margin: 1.5rem 0; border-collapse: collapse; font-family: "Poppins", sans-serif; font-size: .86rem; }
.article-content th, .article-content td { padding: .7rem; border: 1px solid rgba(75,56,42,.17); }
.article-video { position: relative; aspect-ratio: 16 / 9; margin: 2rem 0; overflow: hidden; background: #1e1e1e; }
.article-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.article-gallery { margin: 2.5rem 0; }
.article-gallery > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.article-gallery figure { margin: 0; }
.article-gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; }
.article-tags, .article-share { display: flex; align-items: center; flex-wrap: wrap; gap: .55rem; margin-top: 1.75rem; padding-top: 1rem; border-top: 1px solid rgba(75,56,42,.14); font-family: "Poppins", sans-serif; font-size: .8rem; }
.article-tags > span, .article-share > span { margin-right: .4rem; font-weight: 600; }
.article-tags a, .article-share a { color: var(--brown); text-decoration: none; }
.article-aside { position: sticky; top: 7rem; }
.article-aside > div { padding: 1.4rem; border-top: 3px solid var(--gold); background: #fff; box-shadow: 0 14px 35px rgba(32,23,11,.07); }
.article-aside span { color: var(--brown); font-size: .7rem; font-weight: 600; text-transform: uppercase; }
.article-aside h2 { margin: .55rem 0 .7rem; font-size: 1.55rem; }
.article-aside p { color: rgba(30,30,30,.62); font-size: .86rem; line-height: 1.65; }
.article-pagination { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; max-width: 1060px; margin: 3.5rem auto 0; padding-top: 1.5rem; border-top: 1px solid rgba(75,56,42,.16); }
.article-pagination a { color: var(--charcoal); text-decoration: none; }
.article-pagination span { display: block; color: rgba(30,30,30,.5); font-size: .68rem; text-transform: uppercase; }
.article-pagination strong { display: block; margin-top: .25rem; font-family: "Playfair Display", serif; font-size: 1.1rem; }
.related-articles { margin-top: 4rem; }

/* Blog admin */
.admin-filter-grid--blog { grid-template-columns: minmax(240px, 1.4fr) repeat(3, minmax(150px, .7fr)) auto; }
.blog-admin-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 1.25rem; align-items: start; }
.blog-publish-panel { position: sticky; top: 1rem; }
.blog-rich-editor .ql-editor { min-height: 420px; font-size: .95rem; line-height: 1.75; }
.blog-tag-options { max-height: 260px; padding: .75rem; overflow-y: auto; border: 1px solid #dee2e6; border-radius: 6px; background: #fff; }
.gallery-upload-preview { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .75rem; margin-top: .75rem; }
.gallery-upload-preview > div { display: grid; gap: .45rem; padding: .55rem; border: 1px solid rgba(75,56,42,.14); border-radius: 6px; }
.gallery-upload-preview img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 4px; }
.status-badge.status-published { background: #dcecdf; color: #26543a; }
.status-badge.status-scheduled { background: #dce8f3; color: #285579; }
.status-badge.status-draft { background: #ece7df; color: #595149; }
.status-badge.status-archived { background: #f3dddd; color: #7b2e2e; }

@media (max-width: 1199.98px) {
    .latest-product-card { flex-basis: calc((100% - 3rem) / 4); }
    .blog-admin-layout { grid-template-columns: minmax(0, 1fr) 285px; }
    .admin-filter-grid--blog { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 991.98px) {
    .latest-product-card { flex-basis: calc((100% - 2rem) / 3); }
    .blog-filter-row, .featured-article, .article-layout, .blog-admin-layout { grid-template-columns: 1fr; }
    .featured-article > a { min-height: 300px; }
    .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-blog-track .blog-card { flex-basis: calc((100% - 1.25rem) / 2); }
    .article-aside, .blog-publish-panel { position: static; }
}
@media (max-width: 767.98px) {
    .latest-products-section { padding: 2.25rem 0; }
    .compact-section-header, .section-row { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .compact-section-header h2, .section-row h2 { font-size: 1.8rem; }
    .compact-section-actions { width: 100%; flex-wrap: wrap; }
    .compact-section-actions .btn { margin-left: auto; }
    .latest-product-card { flex-basis: calc((100% - 1rem) / 1.72); min-width: 168px; }
    .blog-hero { padding: 7.75rem 0 2.5rem; }
    .blog-hero h1 { font-size: 2.8rem; }
    .blog-index-section { padding: 2rem 0 3.5rem; }
    .blog-filter-row, .blog-search { grid-template-columns: minmax(0, 1fr); }
    .blog-hero p, .shop-empty p { overflow-wrap: anywhere; }
    .featured-article h2 { font-size: 1.85rem; }
    .featured-article > a { min-height: 240px; }
    .blog-grid { grid-template-columns: 1fr; }
    .home-blog-section { padding: 3.25rem 0; }
    .home-blog-track .blog-card { flex-basis: calc((100% - 1rem) / 1.18); min-width: 260px; }
    .article-page { padding: 7.25rem 0 3.5rem; }
    .article-header { margin-top: 1.5rem; }
    .article-header h1 { font-size: 2.65rem; }
    .article-featured { margin: 1.75rem 0 2rem; }
    .article-content { font-size: 1rem; }
    .article-gallery > div, .article-pagination { grid-template-columns: 1fr; }
    .article-pagination .text-end { text-align: left !important; }
}
@media (prefers-reduced-motion: reduce) {
    .latest-products-track, .home-blog-track { scroll-behavior: auto; }
    .latest-product-card, .latest-product-card__media img, .blog-card, .blog-card__media img { transition: none; }
}
@media (min-width: 768px) {
    .latest-products-section {
        min-height: 720px;
        padding: 1.5rem 0;
    }

    .latest-products-section > .container {
        min-height: calc(720px - 3rem);
        display: flex;
        flex-direction: column;
    }

    .latest-products-track {
        flex: 1;
        min-height: 0;
        align-items: stretch;
    }

    .latest-product-card {
        flex: 0 0 calc((100% - 3rem) / 4);
        min-width: 240px;
        height: auto;
        display: flex;
        flex-direction: column;
        align-self: stretch;
        font-size: 1.1rem;
    }

    .latest-product-card img {
        width: 100%;
        height: 100%;
        min-height: 320px;
        object-fit: cover;
    }

    .latest-product-card__copy {
        padding: 1.25rem;
    }

    .latest-product-card__copy > span {
        font-size: 1rem;
        line-height: 1.4;
    }

    .latest-product-card__copy h3 {
        margin: 0.5rem 0 0.8rem;
    }

    .latest-product-card__copy h3 a {
        font-size: 2.00rem;
        line-height: 1.3;
        font-weight: 700;
    }

    .latest-product-price {
        display: flex;
        align-items: baseline;
        flex-wrap: wrap;
        gap: 0.01rem;
    }

    .latest-product-price strong {
        font-size: 1.7rem !important;
        line-height: 1.2;
        font-weight: 800;
    }

    .latest-product-price s {
        font-size: 1.1rem !important;
        line-height: 1.2;
    }
}
