/* AMA IELTS Speaking Book */
.sbook-root {
 padding-bottom: 24px;
}

.sbook-hero {
 margin: 0 0 18px;
 padding: 20px 18px;
 border-radius: 20px;
 background: #ffffff;
 color: #1a2d4a;
 border: 2px solid #d6b36a;
 box-shadow: 0 8px 24px rgba(11, 23, 51, 0.1);
}

.sbook-hero__badge {
 margin: 0 0 8px;
 font: 700 0.72rem system-ui, sans-serif;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 color: #8a6914;
}

.sbook-hero h2 {
 margin: 0 0 8px;
 font-family: "Playfair Display", Georgia, serif;
 font-style: italic;
 font-weight: 800;
 font-size: clamp(1.35rem, 4vw, 1.85rem);
 color: #0b1733;
}

.sbook-hero h2 em {
 color: #9f1239;
 font-style: italic;
}

.sbook-hero p {
 margin: 0;
 color: #3d4f68;
 line-height: 1.5;
 font-size: 0.92rem;
}

.sbook-hero__coverage {
 margin-top: 10px !important;
 padding-top: 10px;
 border-top: 1px solid rgba(214, 179, 106, 0.45);
 font-size: 0.88rem !important;
}

.sbook-hero__coverage strong {
 color: #0b1733;
}

.sbook-part-toggle {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 10px;
 margin-bottom: 16px;
}

.sbook-part-btn {
 border: 2px solid rgba(11, 23, 51, 0.15);
 border-radius: 14px;
 padding: 14px 12px;
 font: 700 0.78rem system-ui, sans-serif;
 cursor: pointer;
 background: #fff;
 color: #0b1733;
 text-align: left;
}

.sbook-part-btn i {
 display: block;
 font-size: 1.25rem;
 margin-bottom: 6px;
 color: #9f1239;
}

.sbook-part-btn.is-active {
 background: linear-gradient(165deg, #0b1733, #243f6e);
 color: #fff;
 border-color: #d6b36a;
}

.sbook-part-btn.is-active i {
 color: #f4d78a;
}

.sbook-toolkit {
 margin-bottom: 14px;
 padding: 14px;
 border-radius: 14px;
 background: #f4f7fc;
 border: 1px solid rgba(11, 23, 51, 0.08);
}

.sbook-topic-grid {
 display: grid;
 grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
 gap: 14px;
}

.sbook-topic-card-wrap {
 display: flex;
 flex-direction: column;
 gap: 0;
 border-radius: 16px;
 overflow: hidden;
 border: 1px solid rgba(11, 23, 51, 0.1);
 background: #fff;
 box-shadow: 0 6px 18px rgba(11, 23, 51, 0.06);
}

.sbook-topic-card-wrap .sbook-topic-card {
 border: none;
 border-radius: 0;
 box-shadow: none;
}

.sbook-topic-card-wrap .sbook-topic-card:hover {
 transform: none;
 background: #f8fafc;
}

.sbook-topic-card__qlist {
 margin: 0;
 padding: 10px 14px 14px;
 list-style: none;
 border-top: 1px dashed rgba(11, 23, 51, 0.12);
 font-size: 0.78rem;
 line-height: 1.45;
 color: #243f6e;
}

.sbook-topic-card__qlist li {
 margin: 0 0 6px;
 padding-left: 0;
}

.sbook-topic-card__qlabel {
 font-weight: 800;
 color: #9f1239;
 margin-right: 4px;
}

.sbook-topic-card {
 display: flex;
 flex-direction: column;
 align-items: flex-start;
 gap: 6px;
 padding: 14px 12px;
 border-radius: 16px;
 border: 1px solid rgba(11, 23, 51, 0.12);
 background: #fff;
 cursor: pointer;
 text-align: left;
 box-shadow: 0 6px 18px rgba(11, 23, 51, 0.06);
 transition: transform 0.12s, box-shadow 0.12s;
}

.sbook-topic-card:hover {
 transform: translateY(-2px);
 box-shadow: 0 10px 24px rgba(11, 23, 51, 0.12);
}

.sbook-topic-card__n {
 font: 800 0.65rem system-ui, sans-serif;
 color: #9f1239;
}

.sbook-topic-card i {
 font-size: 1.4rem;
 color: #1a3566;
}

.sbook-topic-card strong {
 font-size: 0.88rem;
 color: #0b1733;
}

.sbook-topic-card small {
 font-size: 0.68rem;
 color: #5a6a82;
 line-height: 1.35;
}

.sbook-crumb {
 display: flex;
 align-items: center;
 gap: 10px;
 margin-bottom: 12px;
 flex-wrap: wrap;
}

.sbook-crumb__back {
 border: none;
 background: #eef2f8;
 border-radius: 999px;
 padding: 8px 14px;
 font-weight: 700;
 cursor: pointer;
 color: #0b1733;
}

.sbook-topic-panel {
 padding: 16px;
 border-radius: 18px;
 background: #fff;
 border: 1px solid rgba(11, 23, 51, 0.1);
 box-shadow: 0 8px 28px rgba(11, 23, 51, 0.08);
}

.sbook-strategy {
 font-size: 0.9rem;
 line-height: 1.5;
 color: #243f6e;
}

.sbook-lang {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
 gap: 12px;
 margin: 14px 0;
 font-size: 0.82rem;
}

.sbook-lang h5 {
 margin: 0 0 6px;
 color: #9f1239;
 font-size: 0.72rem;
 text-transform: uppercase;
 letter-spacing: 0.06em;
}

.sbook-q-index {
 margin: 14px 0 8px;
 padding: 12px;
 border-radius: 14px;
 background: #f4f7fb;
 border: 1px solid rgba(11, 23, 51, 0.08);
}

.sbook-q-index__title {
 margin: 0 0 10px;
 font-size: 0.82rem;
 font-weight: 800;
 color: #0b1733;
 text-transform: uppercase;
 letter-spacing: 0.04em;
}

.sbook-q-index__row {
 display: flex;
 align-items: flex-start;
 gap: 8px;
 margin-bottom: 8px;
}

.sbook-q-index__row:last-child {
 margin-bottom: 0;
}

.sbook-q-index__row.is-active .sbook-q-index__main {
 border-color: #9f1239;
 background: #fff5f7;
}

.sbook-q-index__main {
 flex: 1;
 display: flex;
 gap: 8px;
 align-items: flex-start;
 text-align: left;
 border: 1px solid rgba(11, 23, 51, 0.12);
 border-radius: 10px;
 padding: 8px 10px;
 background: #fff;
 cursor: pointer;
 font: inherit;
 color: #243f6e;
}

.sbook-q-index__n {
 flex-shrink: 0;
 font-weight: 800;
 color: #9f1239;
 font-size: 0.75rem;
}

.sbook-q-index__text {
 flex: 1;
 font-size: 0.85rem;
 line-height: 1.4;
}

.sbook-q-nav {
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
 margin: 12px 0;
}

.sbook-q-pill {
 border: 1px solid rgba(11, 23, 51, 0.2);
 border-radius: 999px;
 padding: 6px 14px;
 font-weight: 700;
 cursor: pointer;
 background: #fff;
}

.sbook-q-pill.is-active {
 background: #9f1239;
 color: #fff;
 border-color: #9f1239;
}

.sbook-drill {
 margin-top: 8px;
 padding-top: 14px;
 border-top: 2px dashed rgba(214, 179, 106, 0.5);
}

.sbook-drill__q {
 font-size: 1.05rem;
 color: #0b1733;
}

.sbook-ideas {
 margin: 0 0 12px;
 padding-left: 18px;
 color: #3d4f68;
 font-size: 0.88rem;
}

.sbook-model {
 margin-bottom: 14px;
 padding: 10px 12px;
 border-radius: 12px;
 background: #f8fafd;
 cursor: pointer;
}

.sbook-mode-toggle {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 10px;
 margin-bottom: 12px;
}

.sbook-mode {
 border: 2px solid rgba(11, 23, 51, 0.15);
 border-radius: 12px;
 padding: 12px;
 font-weight: 700;
 cursor: pointer;
 background: #fff;
}

.sbook-mode.is-active {
 background: linear-gradient(135deg, #ecd089, #d6b36a);
 border-color: #b8923a;
 color: #0b1733;
}

.sbook-textarea {
 width: 100%;
 box-sizing: border-box;
 border-radius: 12px;
 border: 2px solid rgba(26, 53, 102, 0.25);
 padding: 12px;
 font: 1rem/1.5 system-ui, sans-serif;
 resize: vertical;
 min-height: 120px;
}

.sbook-save-msg {
 min-height: 1.2em;
 font-size: 0.82rem;
 color: #0f7a3a;
 font-weight: 600;
}

.ielts-tab[data-ielts-tab="speaking-book"] {
 border: 2px solid #d6b36a !important;
 background: linear-gradient(165deg, #0b1733, #1a3566) !important;
 color: #f4d78a !important;
}

.ielts-tab[data-ielts-tab="speaking-book"] span {
 font-weight: 800;
 font-style: italic;
}

/* - - Premium book layout - - */
.sbook-root--premium .sbook-part-btn {
 display: flex;
 flex-direction: column;
 gap: 4px;
 min-height: 88px;
}

.sbook-root--premium .sbook-part-btn span {
 font-weight: 500;
 font-size: 0.68rem;
 opacity: 0.88;
 line-height: 1.35;
}

.sbook-guide {
 margin-bottom: 16px;
 padding: 16px 18px;
 border-radius: 16px;
 background: #ffffff;
 color: #1a2d4a;
 border: 2px solid rgba(214, 179, 106, 0.65);
 box-shadow: 0 6px 18px rgba(11, 23, 51, 0.08);
}

.sbook-guide h3 {
 margin: 0 0 8px;
 font-family: "Playfair Display", Georgia, serif;
 font-size: 1.15rem;
 color: #0b1733;
}

.sbook-guide h3 i {
 color: #9f1239;
}

.sbook-guide__time {
 margin: 0 0 8px;
 font-size: 0.82rem;
 color: #6b5a12;
 font-weight: 700;
}

.sbook-guide__what,
.sbook-guide__frame {
 color: #3d4f68;
 line-height: 1.55;
}

.sbook-guide__aim {
 margin: 10px 0 0;
 padding-top: 10px;
 border-top: 1px solid rgba(11, 23, 51, 0.12);
 color: #1a2d4a;
}

.sbook-guide__aim strong {
 color: #0b1733;
}

.sbook-toolkit h3 {
 color: #0b1733;
}

.sbook-toolkit h3 i {
 color: #9f1239;
}

.sbook-toolkit p {
 color: #3d4f68;
}

.sbook-toolkit--premium {
 border: 1px solid rgba(214, 179, 106, 0.45);
 background: linear-gradient(180deg, #fff, #f4f7fc);
}

.sbook-topic-card__hint {
 font-size: 0.65rem;
 color: #5a6a82;
 line-height: 1.35;
}

.sbook-lang--premium {
 grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.sbook-lang__card {
 padding: 12px 14px;
 border-radius: 14px;
 background: #f8fafd;
 border: 1px solid rgba(11, 23, 51, 0.08);
}

.sbook-lang__card--wide {
 grid-column: 1 / -1;
}

.sbook-vocab-chips {
 display: flex;
 flex-wrap: wrap;
 gap: 8px;
}

.sbook-vocab-chip {
 display: inline-block;
 padding: 6px 10px;
 border-radius: 999px;
 background: #fff;
 border: 1px solid rgba(159, 18, 57, 0.25);
 color: #0b1733;
 font-weight: 600;
 font-size: 0.78rem;
}

.sbook-structure {
 margin-bottom: 10px;
 padding-bottom: 10px;
 border-bottom: 1px dashed rgba(11, 23, 51, 0.12);
}

.sbook-structure p {
 margin: 4px 0 8px;
 font-style: italic;
 color: #243f6e;
}

.sbook-q-vocab {
 margin: 12px 0;
}

.sbook-convo {
 margin: 16px 0;
 padding: 14px;
 border-radius: 16px;
 background: linear-gradient(165deg, #f4f7fc, #fff);
 border: 2px solid rgba(214, 179, 106, 0.45);
}

.sbook-convo h4 {
 margin: 0 0 12px;
 color: #0b1733;
}

.sbook-convo__turn {
 margin-bottom: 14px;
 padding: 12px;
 border-radius: 12px;
}

.sbook-convo__turn--ex {
 background: rgba(11, 23, 51, 0.06);
 border-left: 4px solid #1a3566;
}

.sbook-convo__turn--you {
 background: rgba(159, 18, 57, 0.06);
 border-left: 4px solid #9f1239;
}

.sbook-convo__role {
 display: block;
 font: 700 0.65rem system-ui, sans-serif;
 letter-spacing: 0.08em;
 text-transform: uppercase;
 color: #9f1239;
 margin-bottom: 6px;
}

.sbook-convo__text {
 margin: 0 0 10px;
 line-height: 1.55;
 color: #0b1733;
}

.sbook-convo__tip {
 margin: 0;
 font-size: 0.78rem;
 color: #5a6a82;
 font-style: italic;
}

.sbook-q-head {
 display: flex;
 align-items: flex-start;
 justify-content: space-between;
 gap: 12px;
 margin-bottom: 12px;
}

.sbook-q-head .sbook-drill__q {
 flex: 1;
 margin: 0;
}

.sbook-listen-icon {
 flex-shrink: 0;
 width: 44px;
 height: 44px;
 padding: 0;
 border-radius: 50%;
 border: 2px solid rgba(11, 23, 51, 0.18);
 background: #fff;
 color: #0b1733;
 display: grid;
 place-items: center;
 font-size: 1.05rem;
 cursor: pointer;
 box-shadow: 0 4px 12px rgba(11, 23, 51, 0.1);
}

.sbook-listen-icon:hover {
 border-color: #d6b36a;
 color: #9f1239;
}

.sbook-listen-icon.is-playing {
 background: #9f1239;
 color: #fff;
 border-color: #9f1239;
}

.sbook-structure__head,
.sbook-convo__head {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 10px;
 margin-bottom: 6px;
}

.sbook-structure__head .sbook-listen-icon,
.sbook-convo__head .sbook-listen-icon {
 width: 40px;
 height: 40px;
 font-size: 0.95rem;
}

.sbook-drill .ielts-listen:not(.sbook-listen-icon) {
 margin-bottom: 12px;
}

.sbook-p3-sides--premium {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 12px;
 margin: 12px 0;
}

@media (max-width: 560px) {
 .sbook-p3-sides--premium {
 grid-template-columns: 1fr;
 }
}
