/* IMSL custom overrides (mobile responsiveness) */

/* Prevent stray horizontal scroll on small screens */
html,
body {
    overflow-x: hidden;
}

/* Top info bar (Welcome / phone / email) is desktop-only */
@media (max-width: 991px) {
    .rs-header-top {
        display: none !important;
    }
}

/* Home hero carousel: identical fixed height for every slide on mobile so
   the carousel doesn't jump between slides; the background image crops
   consistently via cover. */
@media (max-width: 767px) {
    .rs-banner-hero .rs-hero-slide {
        height: 560px;
        min-height: 0;
        padding: 90px 0 70px;
    }
    .rs-banner-hero .rs-hero-title {
        font-size: 34px;
        line-height: 1.2;
    }
}
@media (max-width: 480px) {
    .rs-banner-hero .rs-hero-slide {
        height: 520px;
    }
    .rs-banner-hero .rs-hero-title {
        font-size: 28px;
    }
}

/* IELTS registration steps wrap nicely on narrow screens */
@media (max-width: 480px) {
    .ielts-step-indicator {
        flex-wrap: wrap;
    }
    .ielts-step-indicator .step {
        min-width: 100px;
    }
    .ielts-btn-row {
        flex-direction: column;
    }
}

/* Breadcrumb banners: keep a sensible height on phones */
@media (max-width: 767px) {
    .rs-breadcrumb-area {
        min-height: 0;
    }
}

/* Gallery: the theme hides the photo grid on phones (expecting an
   "accordion" variant this site doesn't use) — show the grid instead.
   It already collapses to 2 columns (<=767px) and 1 column (<=480px). */
@media (max-width: 767px) {
    .rs-gallery-two .rs-gallery-content-wrapper {
        display: block !important;
    }
    .rs-gallery-two .rs-gallery-accordion {
        display: none !important;
    }
}

/* Guide form declarations: the theme hides all checkboxes globally for its
   own custom-checkbox pattern — restore native checkboxes here. */
.guide-decl input[type=checkbox] {
    display: inline-block !important;
    -webkit-appearance: checkbox;
    appearance: auto;
    position: static;
    opacity: 1;
    width: 18px;
    height: 18px;
    accent-color: #DD9933;
}

/* Publications book cards (also used by admin previews) */
.imsl-books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:28px;margin-top:40px}
.imsl-book-card{background:#fff;border:1px solid #e9e9e9;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s}
.imsl-book-card:hover{box-shadow:0 14px 34px rgba(28,36,47,.12);transform:translateY(-4px)}
.imsl-book-cover{aspect-ratio:3/4;background:#f2f2f2;position:relative}
.imsl-book-cover img{width:100%;height:100%;object-fit:cover;display:block}
.imsl-book-cover.is-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:linear-gradient(150deg,#1C242F 0%,#2c3a4d 100%);color:#DD9933}
.imsl-book-cover.is-placeholder i{font-size:44px}
.imsl-book-cover.is-placeholder span{font-size:13px;font-weight:600;letter-spacing:.6px;text-transform:uppercase}
.imsl-book-info{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1;text-align:left}
.imsl-book-title{font-size:16px;margin:0 0 8px;color:#1C242F}
.imsl-book-desc{font-size:13.5px;color:#777;margin:0 0 16px;flex:1}
.imsl-book-btn{align-self:flex-start;background:#DD9933;color:#fff!important;font-size:13px;font-weight:600;padding:8px 18px;border-radius:6px;text-decoration:none;transition:filter .2s}
.imsl-book-btn:hover{filter:brightness(.92)}

/* Guide Registration menu item: desktop uses the top-bar link instead, so the
   nav copy stays hidden on large screens; on mobile the hamburger (meanmenu)
   clone is shown by JS when registration is open. */
@media (min-width: 1200px) {
    .main-menu li.imsl-guide-link {
        display: none !important;
    }
}
