
/* Books, Shop, and Coming Soon */
.gmb-catalog-hero {
    position: relative;
    overflow: hidden;
    padding: 92px 0 76px;
    background:
        radial-gradient(circle at 12% 20%, rgba(194,161,74,.13), transparent 28%),
        radial-gradient(circle at 88% 10%, rgba(220,230,243,.9), transparent 35%),
        linear-gradient(135deg, #FAF6EE 0%, #F3F6FB 100%);
}
.gmb-catalog-hero::after {
    content: "";
    position: absolute;
    right: 7%; top: 18%;
    width: 86px; height: 40px;
    opacity: .55;
    background-image: radial-gradient(circle, rgba(194,161,74,.9) 0 2px, transparent 3px);
    background-size: 22px 20px;
    transform: rotate(-9deg);
}
.gmb-catalog-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(320px,.9fr);
    align-items: center;
    gap: 54px;
}
.gmb-catalog-hero-copy { max-width: 690px; }
.gmb-catalog-hero-copy p:not(.gmb-eyebrow) { font-size: 1.16rem; color: rgba(43,43,51,.78); }
.gmb-catalog-hero-art {
    min-height: 390px;
    display: grid;
    place-items: center;
    position: relative;
}
.gmb-catalog-hero-art img { max-height: 430px; object-fit: contain; filter: drop-shadow(0 20px 34px rgba(27,42,77,.18)); }
.gmb-shirt-hero-collage { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:min(100%,560px); gap:12px; transform:rotate(1deg); }
.gmb-shirt-hero-collage span { display:grid; place-items:center; min-height:180px; border:1px solid rgba(27,42,77,.1); border-radius:24px; background:rgba(255,255,255,.72); box-shadow:var(--gmb-shadow-soft); }
.gmb-shirt-hero-collage span:nth-child(2), .gmb-shirt-hero-collage span:nth-child(3){ transform:translateY(20px); }
.gmb-shirt-hero-collage img { max-height:190px; }


/* Daily Shop feature: one server-selected image is output and downloaded. */
.gmb-daily-feature {
    position: relative;
    display: block;
    width: min(100%, 570px);
    overflow: hidden;
    border: 1px solid rgba(27,42,77,.13);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 24px 52px rgba(27,42,77,.20);
    cursor: pointer;
    transform: rotate(1deg);
    transition: transform .22s ease, box-shadow .22s ease;
}
.gmb-daily-feature:hover,
.gmb-daily-feature:focus-visible {
    transform: translateY(-5px) rotate(0deg);
    box-shadow: 0 30px 62px rgba(27,42,77,.28);
}
.gmb-daily-feature:focus-visible {
    outline: 3px solid var(--gmb-gold);
    outline-offset: 5px;
}
.gmb-daily-feature img {
    display: block;
    width: 100%;
    max-height: none;
    aspect-ratio: 8 / 5;
    object-fit: cover;
    filter: none;
    transition: transform .28s ease;
}
.gmb-daily-feature:hover img { transform: scale(1.018); }
.gmb-daily-feature-label {
    position: absolute;
    z-index: 2;
    left: 18px;
    top: 18px;
    padding: 8px 13px;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 999px;
    background: rgba(27,42,77,.88);
    color: #FAF6EE;
    box-shadow: 0 8px 20px rgba(0,0,0,.18);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
    backdrop-filter: blur(7px);
}

.gmb-series-nav { padding: 24px 0; border-block:1px solid var(--gmb-border); background:#fff; }
.gmb-series-nav-inner { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; }
.gmb-series-nav a { padding:9px 15px; border-radius:999px; background:var(--gmb-soft-blue); color:var(--gmb-navy)!important; font-weight:700; font-size:.92rem; }

.gmb-full-book-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.gmb-full-book-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--gmb-border); border-radius:24px; background:#fff; box-shadow:var(--gmb-shadow-soft); transition:transform .2s ease,box-shadow .2s ease; }
.gmb-full-book-card:hover { transform:translateY(-5px); box-shadow:var(--gmb-shadow); }
.gmb-full-book-cover { min-height:380px; padding:28px; display:grid; place-items:center; background:linear-gradient(145deg,#edf3fa,#fffaf1); }
.gmb-full-book-cover img { max-height:330px; width:auto; object-fit:contain; filter:drop-shadow(0 15px 18px rgba(27,42,77,.18)); }
.gmb-full-book-copy { display:flex; flex:1; flex-direction:column; padding:26px; }
.gmb-full-book-copy p { color:rgba(43,43,51,.76); }
.gmb-full-book-copy .gmb-card-actions { margin-top:auto; padding-top:14px; }
.gmb-series-label { display:inline-flex; width:max-content; margin-bottom:12px; padding:6px 11px; border-radius:999px; background:#FAF0D4; color:#795e1a; font-size:.77rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }

.gmb-shop-paths { background:#fff; }
.gmb-shop-path-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.gmb-shop-path { padding:38px; border-radius:28px; border:1px solid var(--gmb-border); box-shadow:var(--gmb-shadow-soft); }
.gmb-shop-path.amazon { background:linear-gradient(145deg,#eff4fb,#fff); }
.gmb-shop-path.teepublic { background:linear-gradient(145deg,#fff7e7,#fff); }
.gmb-shop-icon { display:grid; place-items:center; width:58px; height:58px; margin-bottom:20px; border-radius:18px; background:var(--gmb-navy); color:var(--gmb-cream); font-size:1.5rem; }
.gmb-book-mini-strip { display:flex; align-items:flex-end; gap:8px; height:155px; margin:24px 0; overflow:hidden; }
.gmb-book-mini-strip img { width:72px; max-height:135px; object-fit:contain; filter:drop-shadow(0 8px 8px rgba(27,42,77,.2)); transition:transform .18s ease; }
.gmb-book-mini-strip img:nth-child(even) { transform:translateY(12px) rotate(2deg); }
.gmb-book-mini-strip img:nth-child(odd) { transform:rotate(-2deg); }
.gmb-shop-note { color:rgba(43,43,51,.65); font-size:.9rem; }
.gmb-showcase-label{margin:0 0 7px;color:#8a6a1e;font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.gmb-shop-showcase-art{display:grid;min-height:190px;place-items:center;margin:14px 0 20px;padding:12px;border-radius:20px;background:rgba(255,255,255,.64)}.gmb-shop-showcase-art img{width:100%;max-width:390px;max-height:230px;object-fit:contain;filter:drop-shadow(0 12px 14px rgba(27,42,77,.16))}.gmb-shop-showcase-actions{margin-top:auto}.gmb-shop-showcase-actions .gmb-button{flex:1 1 190px}

.gmb-merch-section { position:relative; overflow:hidden; background:linear-gradient(180deg,#101d3b 0%,#1b2a4d 100%); }
.gmb-merch-section::before,.gmb-merch-section::after { content:""; position:absolute; border-radius:50%; filter:blur(2px); opacity:.22; }
.gmb-merch-section::before { width:360px;height:360px;left:-150px;top:-130px;background:#c2a14a; }
.gmb-merch-section::after { width:420px;height:420px;right:-190px;bottom:-220px;background:#dce6f3; }
.gmb-merch-section .gmb-section-heading h2,.gmb-merch-section .gmb-section-heading p:last-child { color:#fff; }
.gmb-merch-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:24px; }
.gmb-merch-card { grid-column:span 2; position:relative; display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:25px; background:rgba(250,246,238,.96); box-shadow:0 18px 36px rgba(0,0,0,.23); transition:transform .22s ease,box-shadow .22s ease; }
.gmb-merch-card:nth-child(2n) { transform:translateY(16px); }
.gmb-merch-card:hover { transform:translateY(-6px) rotate(-.5deg); box-shadow:0 26px 50px rgba(0,0,0,.32); }
.gmb-merch-card:nth-child(2n):hover { transform:translateY(7px) rotate(.5deg); }
.gmb-merch-art { position:relative; min-height:300px; display:grid; place-items:center; padding:20px; background:radial-gradient(circle at 50% 45%,#fff 0%,#e9f0f8 72%); }
.gmb-merch-card:nth-child(2) .gmb-merch-art { background:radial-gradient(circle,#fff7e7,#e8dfcc); }
.gmb-merch-card:nth-child(3) .gmb-merch-art { background:radial-gradient(circle,#253456,#0f1830); }
.gmb-merch-card:nth-child(4) .gmb-merch-art { background:radial-gradient(circle,#edf4ee,#dce7dc); }
.gmb-merch-card:nth-child(5) .gmb-merch-art { background:radial-gradient(circle,#263958,#101a30); }
.gmb-merch-card:nth-child(6) .gmb-merch-art { background:radial-gradient(circle,#fff7e7,#e8dfcc); }
.gmb-merch-art::before { content:""; position:absolute; top:18px; right:22px; width:7px; height:7px; border-radius:50%; background:var(--gmb-gold); box-shadow:14px -7px 0 -2px rgba(194,161,74,.78),27px 7px 0 -3px rgba(194,161,74,.58); transition:transform .2s ease; }
.gmb-merch-card:hover .gmb-merch-art::before { transform:scale(1.3) rotate(18deg); }
.gmb-merch-art img { width:100%; max-width:360px; max-height:300px; object-fit:contain; filter:drop-shadow(0 16px 18px rgba(0,0,0,.22)); transition:transform .22s ease; }
.gmb-merch-card:hover .gmb-merch-art img { transform:translateY(-5px) scale(1.025); }
.gmb-merch-copy { display:flex; flex:1; flex-direction:column; padding:23px; }
.gmb-merch-copy h3 { font-size:1.3rem; }
.gmb-merch-tag { margin-bottom:9px; color:#8a6a1e; font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.gmb-merch-copy .gmb-button { width:100%; margin-top:auto; }
.gmb-storefront-callout { position:relative; z-index:1; margin-top:52px; padding:28px; border-radius:24px; background:rgba(255,255,255,.1); color:#fff; text-align:center; }
.gmb-storefront-callout h3 { color:#fff; }
.gmb-storefront-callout p { max-width:720px; margin-inline:auto; color:rgba(255,255,255,.78); }

.gmb-coming-list { display:grid; gap:34px; }
.gmb-coming-feature { display:grid; grid-template-columns:310px minmax(0,1fr); gap:42px; align-items:center; padding:34px; overflow:hidden; border:1px solid var(--gmb-border); border-radius:30px; background:#fff; box-shadow:var(--gmb-shadow-soft); }
.gmb-coming-feature:nth-child(even) { grid-template-columns:minmax(0,1fr) 310px; }
.gmb-coming-feature:nth-child(even) .gmb-coming-feature-cover { order:2; }
.gmb-coming-feature-cover { position:relative; min-height:390px; display:grid; place-items:center; padding:28px; border-radius:22px; background:linear-gradient(145deg,#e7eff9,#fff6e7); }
.gmb-coming-feature-cover img { max-height:340px; object-fit:contain; filter:drop-shadow(0 18px 22px rgba(27,42,77,.22)); }
.gmb-coming-badge { position:absolute; left:18px; top:18px; padding:8px 13px; border-radius:999px; background:var(--gmb-gold); color:var(--gmb-navy); font-weight:800; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; }
.gmb-coming-feature-copy p { color:rgba(43,43,51,.76); }
.gmb-coming-meta { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0 20px; }
.gmb-coming-meta span { padding:7px 11px; border-radius:999px; background:var(--gmb-soft-blue); color:var(--gmb-navy); font-weight:700; font-size:.85rem; }
.gmb-coming-newsletter { padding-top:20px; text-align:center; }

.gmb-retailer-disclaimer { padding:24px 0; border-top:1px solid var(--gmb-border); background:#fff; text-align:center; color:rgba(43,43,51,.65); font-size:.92rem; }

@media (max-width:1050px){
  .gmb-full-book-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .gmb-merch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;}
  .gmb-merch-card{grid-column:auto;}
  .gmb-merch-card:nth-child(2n){transform:none;}
}
@media (max-width:820px){
  .gmb-catalog-hero{padding:64px 0 48px;}
  .gmb-catalog-hero-grid{grid-template-columns:1fr;gap:28px;}
  .gmb-catalog-hero-copy{text-align:center;margin-inline:auto;}
  .gmb-catalog-hero-copy .gmb-button-row{justify-content:center;}
  .gmb-catalog-hero-art{min-height:300px;}
  .gmb-shop-path-grid{grid-template-columns:1fr;}
  .gmb-coming-feature,.gmb-coming-feature:nth-child(even){grid-template-columns:1fr;gap:24px;}
  .gmb-coming-feature:nth-child(even) .gmb-coming-feature-cover{order:0;}
}
@media (max-width:620px){
  .gmb-full-book-grid,.gmb-merch-grid{grid-template-columns:1fr;}
  .gmb-merch-card{grid-column:auto;}
  .gmb-full-book-cover{min-height:330px;}
  .gmb-merch-card:nth-child(n){transform:none;}
  .gmb-merch-art{min-height:330px;}
  .gmb-coming-feature{padding:20px;}
  .gmb-coming-feature-cover{min-height:350px;}
  .gmb-shirt-hero-collage span{min-height:145px;}
  .gmb-shirt-hero-collage img{max-height:150px;}
}


@media (max-width:820px){
  .gmb-daily-feature{width:min(100%,620px);transform:none;}
}
@media (max-width:620px){
  .gmb-daily-feature{border-radius:22px;}
  .gmb-daily-feature-label{left:12px;top:12px;padding:7px 10px;font-size:.68rem;}
}
@media (prefers-reduced-motion: reduce){
  .gmb-daily-feature,.gmb-daily-feature img{transition:none;}
}


/* v3.1 free online book actions */
.gmb-full-book-cover { position: relative; }
.gmb-full-free-book .gmb-card-actions { align-items: stretch; }


/* v3.2 Healthy Smile Center discovery path */
.gmb-series-nav .gmb-series-nav-featured { background: var(--gmb-gold); color: var(--gmb-navy-deep) !important; }
.gmb-catalog-dental-strip { padding: 30px 0 0; }
.gmb-catalog-dental-card {
    display: grid;
    grid-template-columns: 112px minmax(0,1fr) auto;
    gap: 24px;
    align-items: center;
    padding: 24px 28px;
    border: 2px solid rgba(194,161,74,.62);
    border-radius: 24px;
    background: linear-gradient(120deg,#fffdf8,#edf4fb 66%,#f6e9c8);
    box-shadow: var(--gmb-shadow-soft);
}
.gmb-catalog-dental-card img { width:112px; height:112px; object-fit:cover; border-radius:22px; box-shadow:0 10px 22px rgba(27,42,77,.13); }
.gmb-catalog-dental-card .gmb-eyebrow { margin-bottom:4px; justify-content:flex-start; }
.gmb-catalog-dental-card h2 { margin-bottom:5px; font-size:clamp(1.55rem,2.6vw,2.25rem); }
.gmb-catalog-dental-card p:last-child { margin:0; color:rgba(43,43,51,.72); }
@media(max-width:820px){
    .gmb-catalog-dental-card { grid-template-columns:92px minmax(0,1fr); }
    .gmb-catalog-dental-card img { width:92px; height:92px; }
    .gmb-catalog-dental-card .gmb-button { grid-column:1/-1; width:100%; }
}
@media(max-width:520px){
    .gmb-catalog-dental-card { grid-template-columns:1fr; text-align:center; padding:24px 20px; }
    .gmb-catalog-dental-card img { margin-inline:auto; }
    .gmb-catalog-dental-card .gmb-eyebrow { justify-content:center; }
}
