/* =================================================================
   GRID
   ================================================================= */
.breit-grid { display: grid; gap: 10px; }
.breit-grid--col-2 { grid-template-columns: repeat(2,1fr); }
.breit-grid--col-3 { grid-template-columns: repeat(3,1fr); }
.breit-grid--col-4 { grid-template-columns: repeat(4,1fr); }
.breit-grid--col-3:not(.breit-grid--archive) .breit-card:first-child {
    grid-column: span 2; grid-row: span 2;
}
@media(max-width:768px){
    .breit-grid--col-3,.breit-grid--col-4{grid-template-columns:repeat(2,1fr)}
    .breit-grid--col-3:not(.breit-grid--archive) .breit-card:first-child{grid-column:span 2;grid-row:span 1}
}
@media(max-width:480px){
    .breit-grid{grid-template-columns:1fr!important}
    .breit-grid .breit-card:first-child{grid-column:span 1}
}

/* =================================================================
   CARD
   ================================================================= */
.breit-card {
    display:block; text-decoration:none;
    border-radius:8px; overflow:hidden;
    background:var(--ast-global-color-8,#fff);
    transition:transform .25s,box-shadow .25s;
}
.breit-card:hover {
    transform:translateY(-3px);
    box-shadow:0 8px 28px rgba(0,0,0,.1);
}
.breit-card__img {
    position:relative; overflow:hidden;
    aspect-ratio:4/3;
}
.breit-grid--col-3:not(.breit-grid--archive) .breit-card:first-child .breit-card__img {
    aspect-ratio:auto; height:100%;
}
.breit-card__img img {
    width:100%; height:100%; object-fit:cover;
    transition:transform .45s;
}
.breit-card:hover .breit-card__img img { transform:scale(1.04); }

/* Hover overlay */
.breit-card__hover {
    position:absolute; bottom:0; left:0; right:0;
    padding:20px 16px 14px;
    background:linear-gradient(0deg,rgba(0,0,0,.6) 0%,transparent 100%);
    display:flex; flex-direction:column; gap:2px;
    opacity:0; transition:opacity .25s;
}
.breit-card:hover .breit-card__hover { opacity:1; }
.breit-card__title { color:#fff; font-size:15px; font-weight:600; }
.breit-card__loc { color:rgba(255,255,255,.7); font-size:13px; }

/* Arrow circle (Profel-stijl) */
.breit-card__arrow {
    position:absolute; bottom:12px; right:12px;
    width:36px; height:36px;
    border-radius:50%;
    background:var(--ast-global-color-1,#e87b35);
    color:#fff;
    display:flex; align-items:center; justify-content:center;
    opacity:0; transform:scale(.8);
    transition:opacity .25s,transform .25s;
    box-shadow:0 2px 8px rgba(0,0,0,.2);
}
.breit-card:hover .breit-card__arrow {
    opacity:1; transform:scale(1);
}

/* =================================================================
   ARCHIVE PAGE
   ================================================================= */
.breit-archive__heading {
    font-size:clamp(28px,4vw,42px); font-weight:700;
    color:var(--ast-global-color-0,#0A044E);
    margin:30px 0 24px; line-height:1.2;
}
.breit-archive {
    display:grid;
    grid-template-columns:280px 1fr;
    gap:32px;
    margin-bottom:60px;
}
@media(max-width:900px){
    .breit-archive { grid-template-columns:1fr; }
}

.breit-archive__content { min-width:0; }
.breit-archive__count {
    display:block; text-align:right;
    font-size:14px; color:var(--ast-global-color-4,#888);
    margin-bottom:12px;
}

/* Filters */
.breit-filters {
    background:var(--ast-global-color-7,#faf6f0);
    border-radius:12px;
    padding:28px 24px;
    align-self:start;
    position:sticky; top:100px;
}
.breit-filters__group {
    margin-bottom:20px;
    padding-bottom:20px;
    border-bottom:1px solid rgba(0,0,0,.08);
}
.breit-filters__group:last-of-type { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.breit-filters__title {
    display:block; font-size:16px; font-weight:700;
    color:var(--ast-global-color-0,#0A044E);
    margin-bottom:10px;
}

/* Search */
.breit-filters__search {
    display:flex; gap:0;
}
.breit-filters__search input {
    flex:1; border:1px solid var(--ast-global-color-6,#ddd);
    border-right:none; border-radius:6px 0 0 6px;
    padding:10px 14px; font-size:14px;
    background:#fff; color:var(--ast-global-color-3,#333);
    outline:none;
}
.breit-filters__search input:focus { border-color:var(--ast-global-color-1,#e87b35); }
.breit-filters__search-btn {
    width:44px; border:none;
    background:var(--ast-global-color-1,#e87b35);
    border-radius:0 6px 6px 0;
    cursor:pointer; display:flex; align-items:center; justify-content:center;
    transition:background .2s;
}
.breit-filters__search-btn:hover { background:var(--ast-global-color-0,#0A044E); }

/* Checkboxes */
.breit-filters__check {
    display:flex; align-items:center; gap:10px;
    font-size:14px; color:var(--ast-global-color-3,#555);
    padding:4px 0; cursor:pointer;
}
.breit-filters__check input[type="checkbox"] {
    width:17px; height:17px;
    accent-color:var(--ast-global-color-1,#e87b35);
    cursor:pointer;
}

.breit-filters__reset {
    display:inline-block; margin-top:16px;
    font-size:13px;
    color:var(--ast-global-color-1,#e87b35);
    text-decoration:none; font-weight:500;
}
.breit-filters__reset:hover { text-decoration:underline; }

/* Pagination */
.breit-pagination {
    text-align:center; margin-top:32px;
}
.breit-pagination .page-numbers {
    display:inline-flex; align-items:center; justify-content:center;
    width:38px; height:38px; border-radius:6px;
    margin:0 3px; font-size:14px; text-decoration:none;
    color:var(--ast-global-color-3,#555);
    border:1px solid var(--ast-global-color-6,#ddd);
    transition:all .2s;
}
.breit-pagination .page-numbers.current,
.breit-pagination .page-numbers:hover {
    background:var(--ast-global-color-1,#e87b35);
    color:#fff; border-color:var(--ast-global-color-1,#e87b35);
}

/* =================================================================
   DETAIL PAGE
   ================================================================= */
.breit-detail {
    display:grid;
    grid-template-columns:1fr 360px;
    gap:36px;
    max-width:1140px;
    margin:0 auto;
    padding:32px 0 40px;
}
@media(max-width:900px){
    .breit-detail { grid-template-columns:1fr; gap:24px; padding:20px 0; }
}

/* Gallery */
.breit-detail__main {
    border-radius:8px; overflow:hidden;
    background:var(--ast-global-color-6,#f5f5f5);
    line-height:0;
}
.breit-detail__main img {
    width:100%; height:auto; display:block;
    max-height:520px; object-fit:cover;
    cursor:pointer;
    transition:opacity .15s;
}
.breit-detail__thumbs {
    display:flex; gap:8px; margin-top:10px;
    overflow-x:auto; padding-bottom:4px;
    -webkit-overflow-scrolling:touch;
}
.breit-thumb {
    flex:0 0 72px; width:72px; height:54px;
    border-radius:5px; overflow:hidden;
    border:2px solid transparent;
    cursor:pointer; padding:0; background:none;
    transition:border-color .2s;
}
.breit-thumb.is-active,
.breit-thumb:hover { border-color:var(--ast-global-color-1,#e87b35); }
.breit-thumb img { width:100%; height:100%; object-fit:cover; display:block; }

/* Info sidebar */
.breit-detail__label {
    display:inline-block;
    font-size:18px; font-weight:700;
    color:var(--ast-global-color-0,#0A044E);
    margin-bottom:4px;
}
.breit-detail__title {
    font-size:14px; font-weight:400;
    color:var(--ast-global-color-4,#888);
    margin:0 0 20px; line-height:1.3;
}

.breit-detail__specs {
    width:100%; border-collapse:collapse;
    margin-bottom:16px;
}
.breit-detail__specs tr { border-bottom:1px solid var(--ast-global-color-6,#eee); }
.breit-detail__specs td {
    padding:10px 0; font-size:14px; line-height:1.4;
}
.breit-detail__specs td:first-child {
    font-weight:600; color:var(--ast-global-color-2,#1a1a2e); width:100px;
}
.breit-detail__specs td:last-child {
    color:var(--ast-global-color-3,#555); text-align:right;
}

.breit-detail__product-link {
    display:inline-block;
    font-size:14px; font-weight:500;
    color:var(--ast-global-color-1,#e87b35);
    text-decoration:none;
    margin-bottom:20px;
}
.breit-detail__product-link:hover { text-decoration:underline; }

.breit-detail__desc {
    font-size:15px; line-height:1.7;
    color:var(--ast-global-color-3,#555);
    margin-bottom:24px;
}
.breit-detail__desc p { margin-bottom:10px; }

/* CTA */
.breit-detail__cta { display:flex; flex-direction:column; gap:10px; }

.breit-btn {
    display:inline-flex; align-items:center; justify-content:center;
    padding:13px 24px; border-radius:6px;
    font-size:15px; font-weight:600;
    text-decoration:none; text-align:center;
    transition:background .2s,color .2s;
    cursor:pointer; border:2px solid transparent;
}
.breit-btn--primary {
    background:var(--ast-global-color-1,#e87b35);
    color:#fff; border-color:var(--ast-global-color-1,#e87b35);
}
.breit-btn--primary:hover { background:transparent; color:var(--ast-global-color-1,#e87b35); }
.breit-btn--outline {
    background:transparent;
    color:var(--ast-global-color-0,#0A044E);
    border-color:var(--ast-global-color-0,#0A044E);
}
.breit-btn--outline:hover { background:var(--ast-global-color-0,#0A044E); color:#fff; }

/* =================================================================
   LIGHTBOX
   ================================================================= */
.breit-lightbox {
    position:fixed; inset:0; z-index:999999;
    display:flex; align-items:center; justify-content:center;
}
.breit-lightbox__backdrop {
    position:absolute; inset:0;
    background:rgba(0,0,0,.88); cursor:pointer;
}
.breit-lightbox__wrap {
    position:relative; z-index:2;
    max-width:90vw; max-height:85vh; line-height:0;
}
.breit-lightbox__wrap img {
    max-width:90vw; max-height:85vh;
    object-fit:contain; border-radius:4px;
    box-shadow:0 4px 40px rgba(0,0,0,.4);
}
.breit-lightbox__close,
.breit-lightbox__prev,
.breit-lightbox__next {
    position:absolute; z-index:3;
    background:rgba(255,255,255,.15);
    color:#fff; border:none; cursor:pointer;
    backdrop-filter:blur(4px);
    transition:background .2s;
}
.breit-lightbox__close:hover,
.breit-lightbox__prev:hover,
.breit-lightbox__next:hover { background:rgba(255,255,255,.3); }
.breit-lightbox__close {
    top:20px; right:20px; width:44px; height:44px;
    border-radius:50%; font-size:28px;
    display:flex; align-items:center; justify-content:center;
}
.breit-lightbox__prev,
.breit-lightbox__next {
    top:50%; transform:translateY(-50%);
    width:48px; height:48px; border-radius:50%;
    font-size:32px;
    display:flex; align-items:center; justify-content:center;
}
.breit-lightbox__prev { left:16px; }
.breit-lightbox__next { right:16px; }
.breit-lightbox__counter {
    position:absolute; bottom:20px; left:50%; transform:translateX(-50%);
    z-index:3; color:rgba(255,255,255,.7);
    font-size:14px; background:rgba(0,0,0,.4);
    padding:6px 16px; border-radius:20px;
}

/* =================================================================
   BACK LINK
   ================================================================= */
.breit-back {
    text-align:center; padding:8px 0 60px;
}
.breit-back .breit-btn { display:inline-flex; }
