/* ─────────────────────────────────────────────────────────────────────────
   IELTSBeacon Main Stylesheet
   Colour palette:
     Navy:       #0B2545
     Teal:       #1D9E75
     Teal light: #5DCAA5
     Teal pale:  #E1F5EE
     Dark navy:  #071a33
     Alt bg:     #f4f7f9
     White:      #ffffff
     Text:       #0B2545
     Muted:      #64748b
     Border:     #e2e8f0
───────────────────────────────────────────────────────────────────────── */

/* ── Reset & Base ─────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body.ibb-front-page {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: #0B2545;
    background: #ffffff;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

/* ── Container ────────────────────────────────────────────────────────── */
.ibb-container {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ── Utility ──────────────────────────────────────────────────────────── */
.ibb-accent { color: #1D9E75; }

/* ════════════════════════════════════════════════════════ HEADER / NAV ══ */
.ibb-header {
    background: #0B2545;
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.ibb-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 64px;
    gap: 24px;
}

/* Logo */
.ibb-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    flex-shrink: 0;
}

.ibb-logo-text {
    font-size: 17px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -0.3px;
}

.ibb-logo-text span { color: #1D9E75; }

/* Desktop nav */
.ibb-nav {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
}

.ibb-nav-link {
    font-size: 13px;
    color: rgba(255,255,255,0.72);
    text-decoration: none;
    padding: 6px 10px;
    border-radius: 6px;
    transition: color 0.2s, background 0.2s;
    white-space: nowrap;
}

.ibb-nav-link:hover,
.ibb-nav-link.active {
    color: #ffffff;
    background: rgba(255,255,255,0.08);
}

.ibb-nav-cta {
    font-size: 13px;
    font-weight: 700;
    color: #ffffff;
    background: #1D9E75;
    text-decoration: none;
    padding: 7px 16px;
    border-radius: 7px;
    margin-left: 6px;
    transition: background 0.2s;
    white-space: nowrap;
}

.ibb-nav-cta:hover { background: #178a65; color: #fff; }

/* Mobile toggle */
.ibb-mobile-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
}

.ibb-mobile-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: #fff;
    border-radius: 2px;
    transition: transform 0.2s;
}

/* Mobile nav */
.ibb-mobile-nav {
    display: none;
    flex-direction: column;
    background: #0d2d57;
    padding: 12px 24px 20px;
    border-top: 1px solid rgba(255,255,255,0.06);
}

.ibb-mobile-nav a {
    color: rgba(255,255,255,0.75);
    text-decoration: none;
    font-size: 14px;
    padding: 10px 0;
    border-bottom: 0.5px solid rgba(255,255,255,0.06);
}

.ibb-mobile-nav a:last-child { border-bottom: none; }

.ibb-mobile-cta {
    display: inline-block;
    margin-top: 14px;
    background: #1D9E75;
    color: #fff !important;
    padding: 10px 20px;
    border-radius: 7px;
    font-weight: 700;
    text-align: center;
}

.ibb-mobile-nav.open { display: flex; }

/* ═════════════════════════════════════════════════════════════ HERO ══ */
.ibb-hero {
    background: #0B2545;
    padding: 72px 0 80px;
    text-align: center;
}

.ibb-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: rgba(29,158,117,0.12);
    color: #5DCAA5;
    font-size: 12px;
    font-weight: 500;
    padding: 6px 14px;
    border-radius: 20px;
    margin-bottom: 22px;
    border: 0.5px solid rgba(29,158,117,0.25);
}

.ibb-hero h1 {
    font-size: 48px;
    font-weight: 800;
    color: #ffffff;
    line-height: 1.15;
    margin-bottom: 18px;
    letter-spacing: -1px;
}

.ibb-hero p {
    font-size: 17px;
    color: rgba(255,255,255,0.62);
    max-width: 520px;
    margin: 0 auto 32px;
    line-height: 1.7;
}

.ibb-hero-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.ibb-btn-primary {
    display: inline-block;
    background: #1D9E75;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    padding: 13px 28px;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s, transform 0.1s;
}

.ibb-btn-primary:hover { background: #178a65; color: #fff; transform: translateY(-1px); }

.ibb-btn-outline {
    display: inline-block;
    background: transparent;
    color: #ffffff;
    font-size: 15px;
    font-weight: 500;
    padding: 13px 28px;
    border-radius: 8px;
    text-decoration: none;
    border: 1px solid rgba(255,255,255,0.25);
    transition: border-color 0.2s, background 0.2s;
}

.ibb-btn-outline:hover { border-color: rgba(255,255,255,0.5); background: rgba(255,255,255,0.06); color: #fff; }

/* Hero stats */
.ibb-hero-stats {
    display: flex;
    justify-content: center;
    gap: 48px;
    margin-top: 48px;
    padding-top: 36px;
    border-top: 0.5px solid rgba(255,255,255,0.08);
    flex-wrap: wrap;
}

.ibb-stat-num {
    display: block;
    font-size: 26px;
    font-weight: 800;
    color: #ffffff;
}

.ibb-stat-lbl {
    display: block;
    font-size: 12px;
    color: rgba(255,255,255,0.42);
    margin-top: 3px;
}

/* ═══════════════════════════════════════════════════ SECTION DEFAULTS ══ */
.ibb-section { padding: 72px 0; }
.ibb-section-white { background: #ffffff; }
.ibb-section-alt   { background: #f4f7f9; }
.ibb-section-dark  { background: #0B2545; }

.ibb-section-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #1D9E75;
    margin-bottom: 8px;
}

.ibb-section-title {
    font-size: 30px;
    font-weight: 800;
    color: #0B2545;
    margin-bottom: 8px;
    letter-spacing: -0.4px;
    line-height: 1.2;
}

.ibb-section-sub {
    font-size: 15px;
    color: #64748b;
    margin-bottom: 36px;
    line-height: 1.6;
}

.ibb-label-light { color: #5DCAA5; }
.ibb-title-light { color: #ffffff; }
.ibb-sub-light   { color: rgba(255,255,255,0.55); max-width: 460px; margin-left: auto; margin-right: auto; }

/* ══════════════════════════════════════════════════════ MODULE CARDS ══ */
.ibb-module-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.ibb-module-card {
    display: block;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 22px 18px;
    background: #ffffff;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s, transform 0.2s;
}

.ibb-module-card:hover {
    border-color: #1D9E75;
    transform: translateY(-2px);
    color: inherit;
    text-decoration: none;
}

.ibb-module-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
}

.ibb-icon-listening { background: #E1F5EE; color: #0F6E56; }
.ibb-icon-reading   { background: #E6F1FB; color: #185FA5; }
.ibb-icon-writing   { background: #FAEEDA; color: #854F0B; }
.ibb-icon-speaking  { background: #FBEAF0; color: #72243E; }

.ibb-module-card h3 {
    font-size: 15px;
    font-weight: 700;
    color: #0B2545;
    margin-bottom: 6px;
}

.ibb-module-card p {
    font-size: 13px;
    color: #64748b;
    line-height: 1.55;
    margin-bottom: 12px;
}

.ibb-module-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 14px;
}

.ibb-module-tags span {
    font-size: 10px;
    padding: 2px 8px;
    border-radius: 4px;
    background: #f0f4f8;
    color: #64748b;
}

.ibb-module-link {
    font-size: 12px;
    color: #1D9E75;
    font-weight: 700;
}

/* ═══════════════════════════════════════════════════ RESOURCE CARDS ══ */
.ibb-resource-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.ibb-resource-card {
    display: block;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 22px 20px;
    background: #ffffff;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s, transform 0.2s;
}

.ibb-resource-card:hover {
    border-color: #1D9E75;
    transform: translateY(-2px);
    color: inherit;
    text-decoration: none;
}

.ibb-resource-icon {
    margin-bottom: 12px;
}

.ibb-resource-card h3 {
    font-size: 15px;
    font-weight: 700;
    color: #0B2545;
    margin-bottom: 6px;
}

.ibb-resource-card p {
    font-size: 13px;
    color: #64748b;
    line-height: 1.55;
    margin-bottom: 14px;
}

.ibb-resource-link {
    font-size: 12px;
    color: #1D9E75;
    font-weight: 700;
}

/* ═══════════════════════════════════════════════════ HOW IT WORKS ══ */
.ibb-how-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start;
}

.ibb-steps {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: 12px;
}

.ibb-step {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.ibb-step-num {
    width: 32px;
    height: 32px;
    min-width: 32px;
    background: #1D9E75;
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 800;
    margin-top: 2px;
}

.ibb-step-body h3 {
    font-size: 15px;
    font-weight: 700;
    color: #0B2545;
    margin-bottom: 4px;
}

.ibb-step-body p {
    font-size: 13px;
    color: #64748b;
    line-height: 1.6;
}

/* Band card */
.ibb-band-card {
    background: #0B2545;
    border-radius: 16px;
    padding: 28px;
    color: #ffffff;
}

.ibb-band-card h3 {
    font-size: 17px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 4px;
}

.ibb-band-card > p {
    font-size: 12px;
    color: rgba(255,255,255,0.45);
    margin-bottom: 22px;
}

.ibb-band-rows { display: flex; flex-direction: column; gap: 12px; }

.ibb-band-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ibb-band-lbl {
    font-size: 12px;
    color: rgba(255,255,255,0.55);
    width: 54px;
    flex-shrink: 0;
}

.ibb-band-bar-wrap {
    flex: 1;
    background: rgba(255,255,255,0.08);
    border-radius: 4px;
    height: 8px;
}

.ibb-band-bar {
    height: 8px;
    border-radius: 4px;
    background: #1D9E75;
}

.ibb-band-val {
    font-size: 11px;
    color: #5DCAA5;
    width: 68px;
    text-align: right;
    flex-shrink: 0;
}

.ibb-band-note {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 0.5px solid rgba(255,255,255,0.08);
    font-size: 12px;
    color: rgba(255,255,255,0.38);
    line-height: 1.6;
}

.ibb-band-cta {
    display: inline-block;
    margin-top: 14px;
    font-size: 12px;
    color: #5DCAA5;
    font-weight: 700;
    text-decoration: none;
}

.ibb-band-cta:hover { color: #9FE1CB; text-decoration: none; }

/* ═══════════════════════════════════════════════════ EXAM INFO ══ */
.ibb-exam-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.ibb-exam-card {
    display: block;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 22px 18px;
    background: #ffffff;
    text-decoration: none;
    color: inherit;
    text-align: center;
    transition: border-color 0.2s, transform 0.2s;
}

.ibb-exam-card:hover {
    border-color: #1D9E75;
    transform: translateY(-2px);
    color: inherit;
    text-decoration: none;
}

.ibb-exam-icon {
    display: flex;
    justify-content: center;
    margin-bottom: 12px;
}

.ibb-exam-card h3 {
    font-size: 14px;
    font-weight: 700;
    color: #0B2545;
    margin-bottom: 6px;
}

.ibb-exam-card p {
    font-size: 12px;
    color: #64748b;
    line-height: 1.5;
}

/* ═══════════════════════════════════════════════════ MISC CARDS ══ */
.ibb-misc-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.ibb-misc-card {
    display: block;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px 18px;
    background: #ffffff;
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s, transform 0.2s;
}

.ibb-misc-card:hover {
    border-color: #1D9E75;
    transform: translateY(-2px);
    color: inherit;
    text-decoration: none;
}

.ibb-misc-coming {
    cursor: default;
    border-style: dashed;
}

.ibb-misc-coming:hover {
    transform: none;
    border-color: #e2e8f0;
}

.ibb-misc-icon { margin-bottom: 10px; }

.ibb-misc-card h3 {
    font-size: 14px;
    font-weight: 700;
    color: #0B2545;
    margin-bottom: 4px;
}

.ibb-misc-card p {
    font-size: 12px;
    color: #64748b;
    line-height: 1.5;
}

.ibb-coming-badge {
    display: inline-block;
    font-size: 9px;
    padding: 2px 6px;
    border-radius: 4px;
    background: #E6F1FB;
    color: #185FA5;
    font-weight: 700;
    vertical-align: middle;
    margin-left: 4px;
}

/* ═══════════════════════════════════════════════════ MEMBERSHIP ══ */
.ibb-membership-inner { text-align: center; }

.ibb-plan-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    max-width: 460px;
    margin: 0 auto 32px;
}

.ibb-plan {
    border-radius: 12px;
    padding: 22px;
    text-align: left;
}

.ibb-plan-free {
    background: rgba(255,255,255,0.06);
    border: 0.5px solid rgba(255,255,255,0.12);
}

.ibb-plan-pro {
    background: #1D9E75;
    border: 2px solid #5DCAA5;
}

.ibb-plan-badge {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 8px;
    color: rgba(255,255,255,0.5);
}

.ibb-plan-pro .ibb-plan-badge { color: rgba(255,255,255,0.85); }

.ibb-plan-price {
    font-size: 28px;
    font-weight: 800;
    color: #ffffff;
    line-height: 1;
    margin-bottom: 3px;
}

.ibb-plan-per {
    font-size: 11px;
    color: rgba(255,255,255,0.45);
    margin-bottom: 14px;
}

.ibb-plan-features {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.ibb-plan-features li {
    font-size: 12px;
    color: rgba(255,255,255,0.7);
    padding-left: 16px;
    position: relative;
}

.ibb-plan-features li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #5DCAA5;
    font-weight: 700;
}

.ibb-plan-pro .ibb-plan-features li::before { color: rgba(255,255,255,0.9); }

.ibb-cta-white {
    display: inline-block;
    background: #ffffff;
    color: #0B2545;
    font-size: 15px;
    font-weight: 800;
    padding: 14px 32px;
    border-radius: 8px;
    text-decoration: none;
    transition: background 0.2s, transform 0.1s;
}

.ibb-cta-white:hover { background: #f0faf6; color: #0B2545; transform: translateY(-1px); }

/* ═══════════════════════════════════════════════════════ FOOTER ══ */
.ibb-footer { background: #071a33; }

.ibb-footer-inner {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
    gap: 32px;
    padding-top: 48px;
    padding-bottom: 40px;
}

.ibb-footer-brand p {
    font-size: 12px;
    color: rgba(255,255,255,0.32);
    line-height: 1.7;
    margin-top: 10px;
    max-width: 260px;
}

.ibb-footer-brand .ibb-logo { margin-bottom: 0; }

.ibb-footer-col h4 {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgba(255,255,255,0.38);
    margin-bottom: 12px;
}

.ibb-footer-col a {
    display: block;
    font-size: 12px;
    color: rgba(255,255,255,0.38);
    text-decoration: none;
    margin-bottom: 8px;
    transition: color 0.2s;
}

.ibb-footer-col a:hover { color: rgba(255,255,255,0.7); }

.ibb-footer-bottom {
    border-top: 0.5px solid rgba(255,255,255,0.06);
    padding: 14px 0;
}

.ibb-footer-bottom-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.ibb-footer-bottom span,
.ibb-footer-bottom-inner > span {
    font-size: 12px;
    color: rgba(255,255,255,0.3);
    font-family: inherit;
}

/* ── Legal links in footer bottom ── */
.ibb-footer-legal {
    display: flex;
    gap: 0;
    flex-wrap: wrap;
    align-items: center;
}
.ibb-footer-legal a {
    color: rgba(255,255,255,0.4) !important;
    text-decoration: none !important;
    font-size: 12px;
    font-family: inherit;
    padding: 0 12px;
    border-right: 1px solid rgba(255,255,255,0.12);
    line-height: 1;
    transition: color 0.2s;
}
.ibb-footer-legal a:first-child { padding-left: 0; }
.ibb-footer-legal a:last-child  { border-right: none; padding-right: 0; }
.ibb-footer-legal a:hover       { color: #fff !important; }

/* ══════════════════════════════════════════════════ TESTIMONIALS ══ */
.ibb-testimonial-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.ibb-testimonial-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px 22px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.ibb-testimonial-stars {
    font-size: 16px;
    color: #EF9F27;
    letter-spacing: 3px;
}

.ibb-testimonial-text {
    font-size: 14px;
    color: #374151;
    line-height: 1.8;
    font-style: normal;
    flex: 1;
}

.ibb-testimonial-author {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-top: 16px;
    border-top: 0.5px solid #e2e8f0;
}

.ibb-testimonial-photo {
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden;
    width: 48px;
    height: 48px;
}

.ibb-testimonial-photo svg {
    display: block;
}

.ibb-testimonial-name {
    font-size: 14px;
    font-weight: 700;
    color: #0B2545;
    margin-bottom: 2px;
}

.ibb-testimonial-meta {
    font-size: 12px;
    color: #94a3b8;
    line-height: 1.4;
    margin-bottom: 3px;
}

.ibb-testimonial-score {
    font-size: 11px;
    font-weight: 700;
    color: #1D9E75;
    background: #E1F5EE;
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
}

/* ═════════════════════════════════════════════════ RESPONSIVE ══ */
@media (max-width: 1024px) {
    .ibb-module-grid      { grid-template-columns: repeat(2, 1fr); }
    .ibb-misc-grid        { grid-template-columns: repeat(2, 1fr); }
    .ibb-exam-grid        { grid-template-columns: repeat(2, 1fr); }
    .ibb-testimonial-grid { grid-template-columns: repeat(2, 1fr); }
    .ibb-footer-inner     { grid-template-columns: 1fr 1fr 1fr; }
}

@media (max-width: 768px) {
    .ibb-nav { display: none; }
    .ibb-mobile-toggle { display: flex; }

    .ibb-hero h1 { font-size: 32px; }
    .ibb-hero p  { font-size: 15px; }

    .ibb-hero-stats { gap: 24px; }
    .ibb-stat-num   { font-size: 20px; }

    .ibb-section-title { font-size: 24px; }
    .ibb-section { padding: 48px 0; }

    .ibb-resource-grid { grid-template-columns: 1fr; }
    .ibb-how-grid      { grid-template-columns: 1fr; gap: 32px; }
    .ibb-plan-grid     { grid-template-columns: 1fr; max-width: 300px; }

    .ibb-footer-inner  { grid-template-columns: 1fr 1fr; }
    .ibb-footer-bottom-inner { flex-direction: column; text-align: center; }
}

@media (max-width: 640px) {
    .ibb-testimonial-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
    .ibb-module-grid      { grid-template-columns: 1fr; }
    .ibb-exam-grid        { grid-template-columns: 1fr; }
    .ibb-misc-grid        { grid-template-columns: 1fr; }
    .ibb-footer-inner     { grid-template-columns: 1fr; }
    .ibb-hero-btns        { flex-direction: column; align-items: center; }
    .ibb-hero h1          { font-size: 28px; }
}

/* ── Social icons in footer ─────────────────────────────────────── */
.ibb-social-bar {
    display: flex;
    gap: 10px;
    margin-top: 16px;
    flex-wrap: wrap;
}
.ibb-social-bar a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    color: #94a3b8;
    text-decoration: none;
    transition: background 0.2s, color 0.2s, transform 0.15s;
    flex-shrink: 0;
}
.ibb-social-bar a:hover {
    background: rgba(255,255,255,0.2);
    color: #fff;
    transform: translateY(-2px);
}
.ibb-social-bar a svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

/* ── Footer legal links row ─────────────────────────────────────── */
.ibb-footer-legal {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    align-items: center;
}
.ibb-footer-legal a {
    color: #94a3b8;
    text-decoration: none;
    font-size: 13px;
    transition: color 0.2s;
}
.ibb-footer-legal a:hover {
    color: #fff;
}
.ibb-footer-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
@media (max-width: 640px) {
    .ibb-footer-legal { gap: 12px; }
    .ibb-footer-bottom-inner { flex-direction: column; text-align: center; }
}

/* hide hero shield */
.ibb-page-hero-visual { display: none !important; }
/* end hide hero shield */

/* cookie banner compact v2 */

/* Hide "Powered by CookieAdmin" everywhere */
.cookieadmin-poweredby,
.cookieadmin_law_container .cookieadmin-poweredby,
.cookieadmin_modal_footer_links .cookieadmin-poweredby {
    display: none !important;
}

/* Desktop: reduce padding and font sizes */
.cookieadmin_consent_inside {
    padding: 12px 14px !important;
}
#cookieadmin_notice_title {
    font-size: 14px !important;
    margin-bottom: 4px !important;
}
.cookieadmin_notice_con {
    font-size: 12px !important;
    line-height: 1.45 !important;
    padding: 0 4px !important;
}
button.cookieadmin_btn {
    padding: 5px 10px !important;
    font-size: 12px !important;
    margin: 2px 3px !important;
}
.cookieadmin_notice_group {
    gap: 8px !important;
}

/* Mobile: even more compact */
@media (max-width: 767px) {
    .cookieadmin_law_container {
        width: 92% !important;
        max-width: 340px !important;
    }
    .cookieadmin_consent_inside {
        padding: 10px 12px !important;
    }
    #cookieadmin_notice_title {
        font-size: 13px !important;
    }
    .cookieadmin_notice_con {
        font-size: 11px !important;
        line-height: 1.4 !important;
    }
    button.cookieadmin_btn {
        padding: 5px 8px !important;
        font-size: 11px !important;
    }
    .cookieadmin_notice_group {
        gap: 6px !important;
    }
}
/* end cookie banner compact v2 */

/* ibb-nav-dropdown */
.ibb-nav-dropdown{position:relative;}
.ibb-nav-dropdown-toggle{background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:4px;font-family:inherit;}
.ibb-nav-dropdown-toggle .ti{font-size:12px;transition:transform .2s;}
.ibb-nav-dropdown.open .ti-chevron-down{transform:rotate(180deg);}
.ibb-nav-dropdown-menu{display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);background:#fff;border:1px solid #E2E6EA;border-radius:10px;box-shadow:0 8px 32px rgba(0,0,0,.12);min-width:200px;padding:6px;z-index:200;}
.ibb-nav-dropdown.open .ibb-nav-dropdown-menu{display:block;}
.ibb-nav-dropdown-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:7px;text-decoration:none;color:#1A1A1A;font-size:13px;transition:background .12s;}
.ibb-nav-dropdown-item:hover{background:#F7F8FA;color:#0B2545;}
.ibb-nav-dropdown-item .ti{font-size:16px;color:#1D9E75;flex-shrink:0;}
@media(max-width:900px){.ibb-nav-dropdown{display:none;}}

/* ── My Account nav highlight ── */
.ibb-nav-myaccount {
    background: rgba(29,158,117,0.15) !important;
    color: #1D9E75 !important;
    border: 1px solid rgba(29,158,117,0.3) !important;
    border-radius: 6px !important;
    padding: 5px 12px !important;
    font-weight: 500 !important;
}
.ibb-nav-myaccount:hover,
.ibb-nav-myaccount.active {
    background: rgba(29,158,117,0.25) !important;
    color: #1D9E75 !important;
}

/* ── Nav dropdown z-index fix (above test engine header) ── */
.ibb-header {
    position: relative;
    z-index: 1000;
}
.ibb-nav-dropdown-menu {
    z-index: 1001 !important;
}

/* ── Practice tests button also clickable as link ── */
.ibb-nav-dropdown-toggle-link {
    text-decoration: none;
    color: inherit;
    font-weight: inherit;
}
