/* Custom Blocks CSS for Sam Yan Press */
.sy-section {
    font-family: 'Inter', sans-serif;
    padding: 80px 40px;
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    box-sizing: border-box;
}
.sy-section-sm {
    padding: 60px 40px;
}
.sy-bg-dark { background-color: #12110f; color: #ffffff; }
.sy-bg-light { background-color: #f7f7f7; color: #000000; }
.sy-bg-white { background-color: #ffffff; color: #333333; }
.sy-bg-red { background-color: #b21722; color: #ffffff; }

.sy-container { max-width: 900px; margin: 0 auto; }
.sy-container-wide { max-width: 1100px; margin: 0 auto; }
.sy-text-center { text-align: center; }

/* Typography */
.sy-h2 { font-size: 36px; font-weight: 700; margin-bottom: 24px; color: inherit; }
.sy-h2-md { font-size: 32px; font-weight: 700; margin-bottom: 24px; color: inherit; }
.sy-h2-sm { font-size: 28px; font-weight: 700; margin-bottom: 20px; color: inherit; }
.sy-h3 { font-size: 28px; font-style: italic; font-weight: 500; line-height: 1.5; color: inherit; margin: 0; }
.sy-h3-bold { font-size: 24px; font-weight: 700; margin-bottom: 16px; color: inherit; margin-top: 0; }
.sy-h4 { font-size: 18px; font-weight: 700; margin: 0; color: inherit; }
.sy-p { font-size: 16px; line-height: 1.7; margin: 20px auto; color: inherit; max-width: 800px; }
.sy-p-large { font-size: 18px; line-height: 1.6; margin: 24px auto; color: inherit; max-width: 800px; }
.sy-p-small { font-size: 15px; line-height: 1.8; margin: 20px auto; color: inherit; max-width: 900px; }

/* Layout */
.sy-flex-row { display: flex; gap: 60px; flex-wrap: wrap; }
.sy-flex-row-sm { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 0; }
.sy-col { flex: 1; min-width: 300px; }
.sy-col-sm { flex: 1; min-width: 200px; }
.sy-card { background-color: #f7f7f7; padding: 24px; border-radius: 8px; border-top: 4px solid #b21722; }
.sy-card .sy-h4 { color: #000000; }

/* Buttons */
.sy-btn-container { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 24px; }
.sy-btn { font-family: 'Inter', sans-serif; padding: 12px 24px; border-radius: 0; font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; transition: all 0.2s ease-in-out; }
.sy-btn-red { background-color: #b21722; color: #ffffff; border: 2px solid #b21722; }
.sy-btn-red:hover { background-color: #8c121a; border-color: #8c121a; color: #ffffff; }
.sy-btn-outline { background-color: transparent; border: 2px solid #333333; color: #333333; }
.sy-btn-outline:hover { background-color: #333333; color: #ffffff; }

/* Responsive adjustments */
@media (max-width: 768px) {
    .sy-section { padding: 60px 24px; }
    .sy-section-sm { padding: 40px 24px; }
    .sy-h2 { font-size: 28px; }
    .sy-h2-md, .sy-h2-sm, .sy-h3 { font-size: 24px; }
}

/* Book Slideshow Section */
.book-slideshow-section {
    overflow: hidden;
    padding-bottom: 60px !important;
}
.book-slideshow-section .sy-h2-sm {
    margin-bottom: 40px;
}
.book-slideshow-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}
.book-slideshow-wrapper .s-slider {
    padding-bottom: 40px;
}
.book-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 8px;
}
.book-slide img {
    max-height: 320px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.book-slide img:hover {
    transform: scale(1.06);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.55);
}

/* Override slider nav for dark background */
.book-slideshow-wrapper .nav .prev,
.book-slideshow-wrapper .nav .next {
    background-color: rgba(255, 255, 255, 0.15);
    border-radius: 50%;
}
.book-slideshow-wrapper .nav .prev:hover,
.book-slideshow-wrapper .nav .next:hover {
    background-color: rgba(178, 23, 34, 0.8);
}
.book-slideshow-wrapper .dots .dot {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(255, 255, 255, 0.4);
}
.book-slideshow-wrapper .dots .dot.active {
    background: #B21722;
    border-color: #B21722;
}

@media (max-width: 768px) {
    .book-slide img {
        max-height: 240px;
    }
    .book-slideshow-section {
        padding-bottom: 40px !important;
    }
}
