/* Grace Matthews Books v3.12.0 — Buttonberry Bend and Stuffed Creatures Book 3 */

.gmb-buttonberry-play {
    border-color: #C2A14A !important;
    background: linear-gradient(180deg, #0B7072 0%, #07565A 100%) !important;
    color: #FFFFFF !important;
    box-shadow: 0 9px 0 rgba(103, 78, 24, 0.78), 0 16px 28px rgba(7, 86, 90, 0.24) !important;
}

.gmb-buttonberry-play:hover,
.gmb-buttonberry-play:focus-visible {
    border-color: #E1C978 !important;
    background: linear-gradient(180deg, #0D7C7F 0%, #064B50 100%) !important;
    box-shadow: 0 6px 0 rgba(103, 78, 24, 0.82), 0 20px 34px rgba(7, 86, 90, 0.3) !important;
}

.gmb-buttonberry-note {
    margin: 18px 0 0;
    color: rgba(27, 42, 77, 0.72);
    font-size: 0.92rem;
    font-weight: 650;
}

/* Homepage launch banner */
.gmb-buttonberry-launch {
    padding: clamp(34px, 5vw, 68px) 0;
    border-bottom: 1px solid rgba(194, 161, 74, 0.22);
    background: linear-gradient(180deg, #FFFDF8 0%, #FAF6EE 100%);
}

.gmb-buttonberry-launch-card {
    position: relative;
    display: grid;
    min-height: 470px;
    grid-template-columns: minmax(0, 1.16fr) minmax(330px, 0.84fr);
    align-items: center;
    overflow: hidden;
    border: 3px solid #C2A14A;
    border-radius: 34px;
    background: var(--gmb-buttonberry-town) center / cover no-repeat;
    box-shadow: 0 26px 70px rgba(27, 42, 77, 0.18);
    isolation: isolate;
}

.gmb-buttonberry-launch-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(250, 246, 238, 0.99) 0%, rgba(250, 246, 238, 0.97) 52%, rgba(250, 246, 238, 0.48) 71%, rgba(250, 246, 238, 0.06) 100%);
}

.gmb-buttonberry-launch-copy {
    padding: clamp(34px, 5vw, 70px);
}

.gmb-buttonberry-launch-copy h2 {
    max-width: 760px;
    color: #07565A;
    font-size: clamp(2.3rem, 4.5vw, 4.7rem);
}

.gmb-buttonberry-launch-copy > p:not(.gmb-eyebrow):not(.gmb-buttonberry-note) {
    max-width: 680px;
    color: #465664;
    font-size: clamp(1.05rem, 1.55vw, 1.25rem);
}

.gmb-buttonberry-launch-art {
    display: grid;
    place-items: center;
    padding: 28px 44px 28px 10px;
}

.gmb-buttonberry-launch-art img {
    width: min(430px, 100%);
    aspect-ratio: 1;
    object-fit: cover;
    border: 8px solid rgba(250, 246, 238, 0.96);
    border-radius: 50%;
    box-shadow: 0 0 0 5px #C2A14A, 0 24px 55px rgba(27, 42, 77, 0.25);
}

/* Central Games hub Buttonberry feature */
.gmbg-buttonberry-section {
    background: linear-gradient(180deg, #FFFDF8 0%, #EDF7F5 100%);
}

.gmbg-buttonberry-launch {
    position: relative;
    display: grid;
    min-height: 560px;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.72fr);
    align-items: center;
    overflow: hidden;
    border: 3px solid #C2A14A;
    border-radius: 34px;
    background: var(--gmb-buttonberry-town) center / cover no-repeat;
    box-shadow: 0 28px 76px rgba(27, 42, 77, 0.2);
    isolation: isolate;
}

.gmbg-buttonberry-launch::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(250, 246, 238, 0.99) 0%, rgba(250, 246, 238, 0.97) 48%, rgba(250, 246, 238, 0.46) 70%, rgba(250, 246, 238, 0.06) 100%);
}

.gmbg-buttonberry-copy {
    padding: clamp(36px, 5vw, 76px);
}

.gmbg-buttonberry-copy h2 {
    color: #07565A;
    font-size: clamp(2.45rem, 5vw, 5rem);
}

.gmbg-buttonberry-copy > p:not(.gmb-eyebrow):not(.gmb-buttonberry-note) {
    max-width: 690px;
    color: #465664;
    font-size: 1.12rem;
}

.gmbg-buttonberry-tagline {
    color: #07565A !important;
    font-family: var(--gmb-heading);
    font-size: clamp(1.15rem, 2vw, 1.55rem) !important;
    font-weight: 700;
}

.gmbg-buttonberry-art {
    display: grid;
    place-items: center;
    padding: 36px 48px 36px 0;
}

.gmbg-buttonberry-art img {
    width: min(440px, 100%);
    aspect-ratio: 1;
    object-fit: cover;
    border: 9px solid #FFFFFF;
    border-radius: 50%;
    box-shadow: 0 0 0 5px #C2A14A, 0 28px 60px rgba(27, 42, 77, 0.28);
}

.gmbg-world-maisie .gmb-button-row {
    align-items: center;
}

/* Stuffed Creatures Book 3 */
.gmbs-book-three-section {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 18%, rgba(30, 112, 196, 0.28), transparent 26%),
        radial-gradient(circle at 16% 88%, rgba(185, 72, 72, 0.18), transparent 30%),
        linear-gradient(145deg, #050B15 0%, #071426 52%, #102744 100%);
    color: #F8F2E8;
}

.gmbs-book-three-card {
    display: grid;
    grid-template-columns: minmax(270px, 0.56fr) minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(38px, 6vw, 86px);
}

.gmbs-book-three-cover {
    position: relative;
    width: min(100%, 470px);
    justify-self: center;
}

.gmbs-book-three-cover img {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.28);
    box-shadow: 0 34px 80px rgba(0, 0, 0, 0.58), 0 0 46px rgba(51, 136, 224, 0.2);
}

.gmbs-book-three-cover span {
    position: absolute;
    top: 18px;
    left: -12px;
    z-index: 2;
    padding: 10px 18px;
    border: 2px solid #F8F2E8;
    background: #B32D2D;
    color: #FFFFFF;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.gmbs-book-three-copy h2 {
    color: #FFFFFF !important;
    font-size: clamp(2.8rem, 6vw, 6.2rem);
}

.gmbs-book-three-copy > p:not(.gmb-eyebrow) {
    max-width: 760px;
    color: rgba(248, 242, 232, 0.86);
    font-size: 1.08rem;
}

.gmbs-book-three-lead {
    color: #FFFFFF !important;
    font: 700 clamp(1.35rem, 2.4vw, 2rem) / 1.35 var(--gmb-heading) !important;
}

.gmbs-book-three-status {
    margin-top: 22px !important;
    color: #D5AD4F !important;
    font-size: 0.94rem !important;
    font-weight: 750;
}

.gmbs-timeline article.is-coming {
    border-color: rgba(213, 173, 79, 0.72);
    background: linear-gradient(180deg, rgba(213, 173, 79, 0.14), rgba(16, 39, 68, 0.96));
}

@media (max-width: 960px) {
    .gmb-buttonberry-launch-card,
    .gmbg-buttonberry-launch {
        grid-template-columns: minmax(0, 1fr) minmax(260px, 0.58fr);
    }

    .gmb-buttonberry-launch-copy,
    .gmbg-buttonberry-copy {
        padding: 40px;
    }

    .gmb-buttonberry-launch-art,
    .gmbg-buttonberry-art {
        padding: 28px 34px 28px 0;
    }
}

@media (max-width: 760px) {
    .gmb-buttonberry-launch-card,
    .gmbg-buttonberry-launch,
    .gmbs-book-three-card {
        grid-template-columns: 1fr;
    }

    .gmb-buttonberry-launch-card::before,
    .gmbg-buttonberry-launch::before {
        background: linear-gradient(180deg, rgba(250, 246, 238, 0.99) 0%, rgba(250, 246, 238, 0.96) 58%, rgba(250, 246, 238, 0.4) 100%);
    }

    .gmb-buttonberry-launch-copy,
    .gmbg-buttonberry-copy {
        padding: 32px 26px 12px;
    }

    .gmb-buttonberry-launch-art,
    .gmbg-buttonberry-art {
        padding: 18px 44px 38px;
    }

    .gmb-buttonberry-launch-art img,
    .gmbg-buttonberry-art img {
        width: min(330px, 86vw);
    }

    .gmbs-book-three-card {
        gap: 34px;
    }

    .gmbs-book-three-cover {
        width: min(370px, 88vw);
    }
}

@media (max-width: 520px) {
    .gmb-buttonberry-launch {
        padding: 24px 0 42px;
    }

    .gmb-buttonberry-launch-card,
    .gmbg-buttonberry-launch {
        min-height: 0;
        border-width: 2px;
        border-radius: 22px;
    }

    .gmb-buttonberry-launch-copy h2,
    .gmbg-buttonberry-copy h2 {
        font-size: clamp(2.1rem, 11vw, 3.25rem);
    }

    .gmb-buttonberry-launch-copy .gmb-button-row,
    .gmbg-buttonberry-copy .gmb-button-row,
    .gmbm-buttonberry-copy .gmb-button-row {
        align-items: stretch;
    }

    .gmb-buttonberry-launch-copy .gmb-button,
    .gmbg-buttonberry-copy .gmb-button,
    .gmbm-buttonberry-copy .gmb-button {
        width: 100%;
    }

    .gmbs-book-three-cover span {
        left: -4px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gmb-buttonberry-play {
        transition: none !important;
    }
}

/* v3.12.0 — compact Buttonberry homepage feature + Maisie app teaser */
.gmb-buttonberry-launch-card-v312 {
    min-height: 0;
    grid-template-columns: minmax(360px, 1.08fr) minmax(0, .92fr);
    gap: 0;
    background: #fffdf8;
    overflow: hidden;
}
.gmb-buttonberry-launch-card-v312::before { display:none; }
.gmb-buttonberry-feature-art { display:block; height:100%; min-height:310px; overflow:hidden; }
.gmb-buttonberry-feature-art img { width:100%; height:100%; min-height:310px; object-fit:cover; display:block; }
.gmb-buttonberry-launch-card-v312 .gmb-buttonberry-launch-copy { padding: clamp(26px,3.5vw,48px); }
.gmb-buttonberry-launch-card-v312 .gmb-buttonberry-launch-copy h2 { font-size:clamp(2rem,3.2vw,3.35rem); margin-bottom:12px; }
.gmb-maisie-app-coming { margin:14px auto 0; display:flex; align-items:center; gap:14px; padding:14px 18px; border:1px solid rgba(194,161,74,.45); border-radius:18px; background:#fffdf8; box-shadow:0 10px 28px rgba(27,42,77,.08); color:#1B2A4D; }
.gmb-maisie-app-coming strong,.gmb-maisie-app-coming span { display:block; }
.gmb-maisie-app-coming strong { font-size:.95rem; letter-spacing:.025em; }
.gmb-maisie-app-coming div>span { margin-top:2px; color:#566173; font-size:.9rem; }
.gmb-maisie-app-icon { flex:0 0 38px; display:grid!important; place-items:center; width:38px; height:38px; border:2px solid #1B2A4D; border-radius:9px; font-size:1.15rem; }
.gmb-maisie-release-section { background:linear-gradient(180deg,#fffdf8 0%,#f4fbfa 100%); }
.gmb-maisie-release-card { border-color:rgba(7,86,90,.2); }
.gmbm-first-day-feature { background:linear-gradient(180deg,#fffdf8 0%,#f4fbfa 100%); }
@media(max-width:760px){
 .gmb-buttonberry-launch-card-v312{grid-template-columns:1fr;}
 .gmb-buttonberry-feature-art{min-height:0;}
 .gmb-buttonberry-feature-art img{min-height:0;aspect-ratio:16/10;object-fit:cover;}
 .gmb-buttonberry-launch-card-v312 .gmb-buttonberry-launch-copy{padding:24px 22px 26px;}
 .gmb-buttonberry-launch-card-v312 .gmb-buttonberry-launch-copy h2{font-size:clamp(1.9rem,8vw,2.6rem);}
 .gmb-maisie-app-coming{align-items:flex-start;padding:13px 14px;}
}

/* v3.12.1 paired new releases */
.gmb-new-releases-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.gmb-new-releases-grid .gmb-robot-launch-card{grid-template-columns:minmax(150px,210px) 1fr;height:100%}.gmb-new-releases-grid .gmb-robot-launch-copy h3{margin:.25rem 0 1rem;font-family:Lora,serif;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.05;color:var(--gmb-cream)}@media(max-width:980px){.gmb-new-releases-grid{grid-template-columns:1fr}}@media(max-width:640px){.gmb-new-releases-grid .gmb-robot-launch-card{grid-template-columns:1fr}.gmb-new-releases-grid .gmb-robot-launch-cover{width:min(72%,280px);margin-inline:auto}}
