:root {
    --gold: #f5c400;
    --dark-bg: #1a1a1a;
    --leather: #2c2118;
    --paper: #ffffff;
}

/* =========================
   GLOBAL RESET
   ========================= */
* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    background: radial-gradient(circle, #2c3e50 0%, #000000 100%);
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow-x: hidden; /* prevent top/bottom cut */
}


/* =========================
   BOOK & VIEWPORT
   ========================= */
.book-viewport {
    width: 100%;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; /* Scrollbar ki wajah se gap na aaye */
}

#flipbook {
    width: 100%;
    height: auto;
    min-height: 100vh;
    max-width: 1100px;
    max-height: 700px;
}

/* =========================
   PAGES
   ========================= */
.hard {
    background: var(--leather) !important;
    border: 12px solid #231a13;
    color: white;
}

.inner-page {
    background: var(--paper);
    overflow-y: auto;
    box-shadow: inset 10px 0 20px rgba(0,0,0,0.05);
}

.page-padding {
    padding: 40px;
    height: 100%;
}

/* =========================
   LOGO
   ========================= */
.logo {
    width: 100px;
    height: auto;
    object-fit: contain;
}

/* =========================
   COVER PAGE
   ========================= */
.cover-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.cover-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.8rem, 4vw, 3rem);
    margin-bottom: 30px;
}

.cover-title span {
    color: var(--gold);
}

.diamond-grid {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    justify-content: center;
}

.diamond {
    width: 110px;              /* you can tweak size */
    height: 110px;
    border: 2px solid var(--gold);
    transform: rotate(45deg);
    overflow: hidden;

    display: flex;
    align-items: center;
    justify-content: center;
}

.diamond img {
    width: 100%;
    height: 100%;
    object-fit: cover;              /* fills diamond nicely */
    transform: rotate(-45deg);      /* counter rotate only */
    transform-origin: center;
}
.open-btn {
    margin-top: 83px;
    background: #eaeaea;
    border: none;
    border-radius: 25px;
    padding: 15px 40px;
    font-weight: 600;
    letter-spacing: 2px;
    cursor: pointer;
}

/* =========================
   CATEGORY & PRODUCT GRIDS
   ========================= */
.category-grid,
.product-grid-view {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 20px;
}

.cat-card {
    background: #fbfbfb;
    border: 1px solid #eee;
    padding: 15px;
    text-align: center;
    cursor: pointer;
    transition: 0.3s;
}

.cat-card:hover {
    border-color: var(--gold);
    transform: translateY(-5px);
}

.img-box img {
    width: 100%;
    height: 130px;
    object-fit: contain;
}

.gold-divider {
    width: 40px;
    height: 3px;
    background: var(--gold);
    margin: 10px 0;
}

/* =========================
   HERO SIDE (DESKTOP)
   ========================= */
.hero-side {
    background: #f8f8f8 !important;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.hero-container {
    width: 80%;
    height: 80%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.main-hero-img {
    width: 100%;
    max-height: 450px;
    object-fit: contain;
    filter: drop-shadow(0 20px 30px rgba(0,0,0,0.15));
}

.hero-label {
    position: absolute;
    top: 40px;
    left: 40px;
    font-size: 12px;
    letter-spacing: 4px;
    color: #bbb;
    transform: rotate(-90deg);
    transform-origin: left top;
}

.hero-footer-text {
    margin-top: 15px;
    font-size: 14px;
    color: #777;
}
.hero-product-title {
    margin-top: 16px;              /* space from image */
    font-family: 'Playfair Display', serif;
    font-size: 1.9rem;
    color: var(--leather);
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
}

/* Tablet */
@media (max-width: 1024px) {
    .hero-product-title {
        font-size: 1.6rem;
    }
}


/* =========================
   DETAIL SIDE
   ========================= */
.detail-side {
    background: #ffffff !important;
}

.detail-header h2 {
    font-family: 'Playfair Display', serif;
    font-size: 2.2rem;
    margin: 0;
    color: var(--leather);
    text-transform: uppercase;
}

.status-tag {
    display: inline-block;
    background: #28a745;
    color: #fff;
    padding: 4px 12px;
    font-size: 10px;
    font-weight: 600;
    margin-top: 10px;
    border-radius: 2px;
}

.product-desc {
    margin: 20px 0;
    color: #555;
}

/* =========================
   VARIANTS (5 PER ROW, SMALL BOX)
   ========================= */

/* Desktop: 5 per row */
.variant-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);   /* ✅ 5 in a row */
    gap: 8px;                                /* tighter gap */
    margin-top: 20px;
}

/* Smaller card box */
.variant-card {
    background: #fff;
    border: 1px solid #eee;
    padding: 4px;            /* smaller padding */
    border-radius: 6px;
    text-align: center;
    cursor: pointer;
    transition: 0.25s;
    height: 100px;            /* ✅ smaller height */
    display: flex;
    align-items: center;
    justify-content: center;
}

.variant-card:hover {
    border-color: var(--gold);
    transform: translateY(-2px);
}

/* Image stays clear */
.variant-card img {
    width: 100%;
    height: 90px;            /* image still visible & clean */
    object-fit: contain;
}
@media (max-width: 768px) {
    .variant-grid {
        grid-template-columns: repeat(3, 1fr);  /* ✅ 3 per row on mobile */
    }
}

@media (max-width: 480px) {
    .variant-grid {
        grid-template-columns: repeat(2, 1fr);  /* ✅ 2 per row on small phones */
    }
}



/* =========================
   BUTTONS
   ========================= */
.order-now-btn {
    width: 100%;
    margin-top: 30px;
    padding: 15px;
    background: var(--leather);
    color: white;
    border: none;
    font-weight: 600;
    letter-spacing: 2px;
    cursor: pointer;
}

.minimal-back {
    background: none;
    border: none;
    color: #888;
    cursor: pointer;
    margin-bottom: 10px;
}

/* =========================
   MOBILE HERO IMAGE
   ========================= */
#mainImageMobile {
    display: none;
    width: 100%;
    max-height: 300px;
    object-fit: contain;
    margin-bottom: 20px;
}

/* =========================
   RESPONSIVE BREAKPOINTS
   ========================= */

/* TABLET */
@media (max-width: 1024px) {
    .hero-container {
        width: 90%;
    }
}

/* MOBILE */
@media (max-width: 768px) {

    .page-padding {
        padding: 24px;
    }

    .hero-side {
        display: none !important;
    }

    #mainImageMobile {
        display: block;
    }

    .variant-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* SMALL PHONES */
@media (max-width: 480px) {

    .page-padding {
        padding: 16px;
    }

    .detail-header h2 {
        font-size: 1.6rem;
    }

    .variant-grid {
        grid-template-columns: 1fr;
    }

    .img-box img {
        height: 110px;
    }
}
/* =========================
   SITE CREDIT
   ========================= */
.site-credit {
    position: fixed;
    bottom: 12px;
    right: 18px;
    font-size: 11px;
    color: rgba(255,255,255,0.6);
    letter-spacing: 1px;
    z-index: 9999;
    font-family: 'Poppins', sans-serif;
    pointer-events: auto; /* ✅ allow clicking */
}

/* Style the link */
.site-credit a {
    color: var(--gold);
    font-weight: 500;
    text-decoration: none;
    pointer-events: auto; /* ✅ ensure link is clickable */
    transition: color 0.3s ease, text-shadow 0.3s ease;
}

/* Hover effect */
.site-credit a:hover {
    color: #ffd84d;
    text-shadow: 0 0 6px rgba(245, 196, 0, 0.6);
    text-decoration: underline;
}

/* MOBILE ADJUSTMENT */
@media (max-width: 768px) {
    .site-credit {
        bottom: 8px;
        right: 10px;
        font-size: 10px;
    }
}

/* =========================
   COVER PAGE FIX - FULL LEFT IMAGE
   ========================= */
.cover-spread {
    display: flex;
    width: 100%;
    height: 100%;
    margin: 0;          /* remove any default spacing */
    padding: 0;
}

.cover-left {
    flex: 1;             /* left half of the page */
    height: 100%;
    margin: 0;
    padding: 0;
}

.cover-left img {
    width: 100%;         /* fill the left half fully */
    height: 100%;
    object-fit: cover;   /* cover without stretching */
    display: block;
    margin: 0;
    padding: 0;
}

/* RIGHT CONTENT - completely separate */
.cover-right {
    position: relative;   /* ✅ important */
    flex: 1;            /* right half */
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px;      /* space from left image */
    background: var(--leather);
    color: white;
    text-align: center;
}

/* Remove page-padding for cover-right so it doesn't shift image */
.cover-right .cover-content {
    padding: 0;
}

/* MOBILE RESPONSIVE */
/* MOBILE RESPONSIVE FIX */
@media (max-width: 768px) {
    .cover-spread {
        flex-direction: column;
        height: auto;          /* allow content to grow */
    }

    .cover-left {
        width: 100%;
        height: 300px;         /* adjust as needed */
    }

    .cover-left img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .cover-right {
        width: 100%;
        padding: 20px;
        display: flex;
        flex-direction: column;  /* stack content */
        justify-content: center;  /* center vertically */
        align-items: center;      /* center horizontally */
    }

    /* Make sure the button is visible */
    .cover-right .open-btn {
        margin-top: 20px;
        z-index: 10;
        display: block;
    }
}
:root {
    --gold: #f5c400;
    --dark-bg: #1a1a1a;
    --leather: #2c2118;
    --paper: #ffffff;
}

/* =========================
   GLOBAL RESET
   ========================= */
* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    background: radial-gradient(circle, #2c3e50 0%, #000000 100%);
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    /* overflow: hidden;  */
}


/* =========================
   BOOK & VIEWPORT
   ========================= */
.book-viewport {
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; /* Scrollbar ki wajah se gap na aaye */
}

#flipbook {
    width: 100%;
    height: 100%;
    max-width: 1100px;
    max-height: 700px;
}

/* =========================
   PAGES
   ========================= */
.hard {
    background: var(--leather) !important;
    border: 12px solid #231a13;
    color: white;
}

.inner-page {
    background: var(--paper);
    overflow-y: auto;
    box-shadow: inset 10px 0 20px rgba(0,0,0,0.05);
}

.page-padding {
    padding: 40px;
    height: 100%;
}

/* =========================
   LOGO
   ========================= */
.logo {
    width: 100px;
    height: auto;
    object-fit: contain;
}

/* =========================
   COVER PAGE
   ========================= */
.cover-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.cover-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.8rem, 4vw, 3rem);
    margin-bottom: 30px;
}

.cover-title span {
    color: var(--gold);
}

.diamond-grid {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    justify-content: center;
}

.diamond {
    width: 100px;
    height: 100px;
    border: 2px solid var(--gold);
    transform: rotate(45deg);
    overflow: hidden;
}

/* .diamond img {
    width: 150%;
    height: 150%;
    transform: rotate(-45deg) translate(-15%, -15%);
    object-fit: cover;
} */

/* .open-btn {
    margin-top: 25px;
    background: var(--gold);
    border: none;
    padding: 15px 40px;
    font-weight: 600;
    letter-spacing: 2px;
    cursor: pointer;
} */

/* =========================
   CATEGORY & PRODUCT GRIDS
   ========================= */
.category-grid,
.product-grid-view {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 20px;
}

.cat-card {
    background: #fbfbfb;
    border: 1px solid #eee;
    padding: 15px;
    text-align: center;
    cursor: pointer;
    transition: 0.3s;
}

.cat-card:hover {
    border-color: var(--gold);
    transform: translateY(-5px);
}

.img-box img {
    width: 100%;
    height: 130px;
    object-fit: contain;
}

.gold-divider {
    width: 40px;
    height: 3px;
    background: var(--gold);
    margin: 10px 0;
}

/* =========================
   HERO SIDE (DESKTOP)
   ========================= */
.hero-side {
    background: #f8f8f8 !important;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.hero-container {
    width: 80%;
    height: 80%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.main-hero-img {
    width: 100%;
    max-height: 450px;
    object-fit: contain;
    filter: drop-shadow(0 20px 30px rgba(0,0,0,0.15));
}

.hero-label {
    position: absolute;
    top: 40px;
    left: 40px;
    font-size: 12px;
    letter-spacing: 4px;
    color: #bbb;
    transform: rotate(-90deg);
    transform-origin: left top;
}

.hero-footer-text {
    margin-top: 15px;
    font-size: 14px;
    color: #777;
}
.hero-product-title {
    margin-top: 16px;              /* space from image */
    font-family: 'Playfair Display', serif;
    font-size: 1.9rem;
    color: var(--leather);
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
}

/* Tablet */
@media (max-width: 1024px) {
    .hero-product-title {
        font-size: 1.6rem;
    }
}


/* =========================
   DETAIL SIDE
   ========================= */
.detail-side {
    background: #ffffff !important;
}

.detail-header h2 {
    font-family: 'Playfair Display', serif;
    font-size: 2.2rem;
    margin: 0;
    color: var(--leather);
    text-transform: uppercase;
}

.status-tag {
    display: inline-block;
    background: #28a745;
    color: #fff;
    padding: 4px 12px;
    font-size: 10px;
    font-weight: 600;
    margin-top: 10px;
    border-radius: 2px;
}

.product-desc {
    margin: 20px 0;
    color: #555;
}

/* =========================
   VARIANTS (5 PER ROW, SMALL BOX)
   ========================= */

/* Desktop: 5 per row */
.variant-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);   /* ✅ 5 in a row */
    gap: 8px;                                /* tighter gap */
    margin-top: 20px;
}

/* Smaller card box */
.variant-card {
    background: #fff;
    border: 1px solid #eee;
    padding: 4px;            /* smaller padding */
    border-radius: 6px;
    text-align: center;
    cursor: pointer;
    transition: 0.25s;
    height: 90px;            /* ✅ smaller height */
    display: flex;
    align-items: center;
    justify-content: center;
}

.variant-card:hover {
    border-color: var(--gold);
    transform: translateY(-2px);
}

/* Image stays clear */
.variant-card img {
    width: 100%;
    height: 90px;            /* image still visible & clean */
    object-fit: contain;
}
@media (max-width: 768px) {
    .variant-grid {
        grid-template-columns: repeat(3, 1fr);  /* ✅ 3 per row on mobile */
    }
}

@media (max-width: 480px) {
    .variant-grid {
        grid-template-columns: repeat(3, 1fr);  /* ✅ still 3 per row on small phones */
    }
}




/* =========================
   BUTTONS
   ========================= */
.order-now-btn {
    width: 100%;
    margin-top: 30px;
    padding: 15px;
    background: var(--leather);
    color: white;
    border: none;
    font-weight: 600;
    letter-spacing: 2px;
    cursor: pointer;
}

.minimal-back {
    background: none;
    border: none;
    color: #888;
    cursor: pointer;
    margin-bottom: 10px;
}

/* =========================
   MOBILE HERO IMAGE
   ========================= */
#mainImageMobile {
    display: none;
    width: 100%;
    max-height: 300px;
    object-fit: contain;
    margin-bottom: 20px;
}

/* =========================
   RESPONSIVE BREAKPOINTS
   ========================= */

/* TABLET */
@media (max-width: 1024px) {
    .hero-container {
        width: 90%;
    }
}

/* MOBILE */
@media (max-width: 768px) {

    .page-padding {
        padding: 24px;
    }

    .hero-side {
        display: none !important;
    }

    #mainImageMobile {
        display: block;
    }

    .variant-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* SMALL PHONES */
@media (max-width: 480px) {

    .page-padding {
        padding: 16px;
    }

    .detail-header h2 {
        font-size: 1.6rem;
    }

    .variant-grid {
        grid-template-columns: 1fr;
    }

    .img-box img {
        height: 110px;
    }
}
/* =========================
   SITE CREDIT
   ========================= */
.site-credit {
    position: fixed;
    bottom: 12px;
    right: 18px;
    font-size: 11px;
    color: rgba(10, 10, 10, 0.6);
    letter-spacing: 1px;
    z-index: 9999;
    font-family: 'Poppins', sans-serif;
    pointer-events: auto; /* ✅ allow clicking */
}

/* Style the link */
.site-credit a {
    color: var(--gold);
    font-weight: 500;
    text-decoration: none;
    pointer-events: auto; /* ✅ ensure link is clickable */
    transition: color 0.3s ease, text-shadow 0.3s ease;
}

/* Hover effect */
.site-credit a:hover {
    color: #ffd84d;
    text-shadow: 0 0 6px rgba(245, 196, 0, 0.6);
    text-decoration: underline;
}

/* MOBILE ADJUSTMENT */
@media (max-width: 768px) {
    .site-credit {
        bottom: 8px;
        right: 10px;
        font-size: 10px;
    }
}

/* =========================
   COVER PAGE FIX - FULL LEFT IMAGE
   ========================= */
.cover-spread {
    display: flex;
    width: 100%;
    height: 100%;
    margin: 0;          /* remove any default spacing */
    padding: 0;
}

.cover-left {
    flex: 1;             /* left half of the page */
    height: 100%;
    margin: 0;
    padding: 0;
}

.cover-left img {
    width: 100%;         /* fill the left half fully */
    height: 100%;
    object-fit: cover;   /* cover without stretching */
    display: block;
    margin: 0;
    padding: 0;
}

/* RIGHT CONTENT - completely separate */
.cover-right {
    flex: 1;            /* right half */
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px;      /* space from left image */
    background: var(--leather);
    color: white;
    text-align: center;
}

/* Remove page-padding for cover-right so it doesn't shift image */
.cover-right .cover-content {
    padding: 0;
}

/* MOBILE RESPONSIVE */
/* MOBILE RESPONSIVE FIX */
@media (max-width: 768px) {
    .cover-spread {
        flex-direction: column;
        height: auto;          /* allow content to grow */
    }

    .cover-left {
        width: 100%;
        height: 300px;         /* adjust as needed */
    }

    .cover-left img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .cover-right {
        width: 100%;
        padding: 20px;
        display: flex;
        flex-direction: column;  /* stack content */
        justify-content: center;  /* center vertically */
        align-items: center;      /* center horizontally */
    }

    /* Make sure the button is visible */
    .cover-right .open-btn {
        margin-top: 20px;
        z-index: 10;
        display: block;
    }
}
/* Color card with name + color mark */
/* Color selector cards (DOT + NAME) */
.color-card {
    width: 90px;
    padding: 10px 6px;
    border-radius: 10px;
    border: 2px solid #ddd;
    cursor: pointer;
    transition: 0.25s;
    background: #fff;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

/* The color dot */
.color-dot {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 1px solid #ccc;
}

/* Color name text */
.color-name {
    font-size: 12px;
    color: #333;
    text-transform: capitalize;
}

/* Hover + Active */
.color-card:hover {
    border-color: var(--gold);
}

.color-card.active {
    border-color: var(--gold);
    box-shadow: 0 0 0 2px rgba(245,196,0,0.4);
}
/* =========================
   MOBILE FIX: VARIANT GRID
   ========================= */
@media (max-width: 768px) {
    #imageVariantsGrid.variant-grid {
        grid-template-columns: repeat(3, 1fr) !important;  /* ✅ 3 per row */
        gap: 6px !important;
    }

    /* Make cards smaller on mobile */
    #imageVariantsGrid .variant-card {
        height: 130px !important;     /* ✅ smaller box */
        padding: 4px !important;
        border-radius: 6px !important;
    }

    #imageVariantsGrid .variant-card img {
        height: 90px !important;     /* ✅ image fits nicely */
        width: 100%;
        object-fit: contain;
    }
}

/* Even smaller phones */
@media (max-width: 480px) {
    #imageVariantsGrid.variant-grid {
        grid-template-columns: repeat(3, 1fr) !important;  /* ✅ still 3 per row */
        gap: 5px !important;
    }

    #imageVariantsGrid .variant-card {
        height: 130px !important;
        padding: 3px !important;
    }

    #imageVariantsGrid .variant-card img {
        height: 90px !important;
    }
}
/* =========================
   MOBILE: REMOVE BACKGROUND GAP WITHOUT BREAKING TURN.JS
   ========================= */
@media (max-width: 768px) {

    /* Remove flex centering only */
    body {
        display: block;
    }

    /* Let book take full screen height */
    /* .book-viewport {
        align-items: stretch;
        justify-content: stretch;
    } */

    #flipbook {
        max-width: 100% !important;
        max-height: 100% !important;
        width: 100% !important;
        height: 100% !important;
    }

    /* Prevent white gap on top */
    .book-viewport {
        margin: 0;
        padding: 0;
    }
}
/* =========================
   FIX: COLOR VARIANTS GRID SAME AS DESKTOP ON MOBILE
   ========================= */

@media (max-width: 768px) {
    /* Force color options to stay in rows like desktop */
    #colorOptionsGrid.variant-grid {
        grid-template-columns: repeat(5, 1fr) !important;  /* ✅ 5 per row */
        gap: 8px !important;
    }

    /* Make color cards a bit smaller for mobile */
    #colorOptionsGrid .color-card {
        width: 100% !important;
        padding: 8px 4px !important;
        border-radius: 8px !important;
    }

    #colorOptionsGrid .color-dot {
        width: 18px;
        height: 18px;
    }

    #colorOptionsGrid .color-name {
        font-size: 11px;
        text-align: center;
    }
}

/* Very small phones */
@media (max-width: 480px) {
    #colorOptionsGrid.variant-grid {
        grid-template-columns: repeat(4, 1fr) !important;  /* ✅ 4 per row fits better */
        gap: 6px !important;
    }

    #colorOptionsGrid .color-dot {
        width: 16px;
        height: 16px;
    }

    #colorOptionsGrid .color-name {
        font-size: 10px;
    }
}
/* =========================
   COVER LOGO (TOP CENTER)
   ========================= */
/* =========================
   COVER LOGO (ABOVE TITLE, CENTERED)
   ========================= */
.cover-logo {
    margin-bottom: 20px;        /* space between logo and title */
    display: flex;
    justify-content: center;
    align-items: center;
}

.cover-logo img {
    height: 100px;               /* desktop size */
    width: auto;
    object-fit: contain;
}

/* Mobile adjustment */
@media (max-width: 768px) {
    .cover-logo img {
        height: 100px;           /* smaller on mobile */
    }

    .cover-logo {
        margin-bottom: 14px;
    }
}
/* =========================
   NEW FRONT COVER DESIGN
   ========================= */

.single-cover {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background: var(--leather);
}

/* Full background image */
.cover-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Overlay content (logo + button) */
.cover-overlay-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 24px;
    background: rgba(0, 0, 0, 0.25); /* slight dark overlay for readability */
    text-align: center;
}

/* Logo size control */
.cover-overlay-content .cover-logo img {
    height: 100px;
    width: auto;
    object-fit: contain;
}

/* Button already styled by your existing CSS */
/* =========================
   RESPONSIVE FRONT COVER
   ========================= */

/* Make sure cover always fills available page */
.single-cover {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* Background image always covers nicely */
.cover-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;   /* crops nicely without distortion */
    object-position: center;
}

/* Overlay stays centered on all screens */
.cover-overlay-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 24px;
    padding: 20px;
    background: rgba(0, 0, 0, 0.25); /* readability layer */
    text-align: center;
}

/* Logo responsive sizing */
.cover-overlay-content .cover-logo img {
    height: clamp(50px, 10vw, 110px);  /* auto scales */
    width: auto;
    object-fit: contain;
}

/* Button responsive sizing */
.cover-overlay-content .open-btn {
    padding: clamp(10px, 3vw, 16px) clamp(24px, 6vw, 40px);
    font-size: clamp(12px, 2.5vw, 14px);
    letter-spacing: 2px;
}

/* =========================
   TABLET
   ========================= */
@media (max-width: 1024px) {
    .cover-overlay-content {
        gap: 20px;
    }
}

/* =========================
   MOBILE
   ========================= */
@media (max-width: 768px) {
    .cover-overlay-content {
        gap: 16px;
        padding: 16px;
    }

    .cover-overlay-content .cover-logo img {
        height: 170px;
    }
}

/* =========================
   SMALL PHONES
   ========================= */
@media (max-width: 480px) {
    .cover-overlay-content {
        gap: 12px;
    }

    .cover-overlay-content .cover-logo img {
        height: 120px;
    }

    .cover-overlay-content .open-btn {
        padding: 10px 24px;
        font-size: 12px;
    }
}