/*
 * Tinkerbell v6 — tb-v6.css
 * All v6 changes in ONE file — safe to add, nothing breaks existing.
 * Changes: layout proportions, unified calc, WhatsApp left, 
 * scrollable article, sidebar sticky stop at Why-Us.
 */

/* ═══════════════════════════════════════════
   1. LAYOUT: CONTENT 70% — SIDEBAR 30%
   Fix: sidebar (420px) was too wide vs content
   ═══════════════════════════════════════════ */

/* Single posts, blog, pages with sidebar */
.tb-layout-grid {
    grid-template-columns: 1fr 300px !important;
    gap: 2rem !important;
}

/* Category, tag, archive */
.tb-archive-wrap .tb-layout-grid {
    grid-template-columns: 1fr 280px !important;
}

/* Sidebar max-width constraint */
.tb-sidebar {
    min-width: 0;
    max-width: 300px;
    width: 100%;
}

@media (max-width: 1024px) {
    .tb-layout-grid,
    .tb-archive-wrap .tb-layout-grid {
        grid-template-columns: 1fr !important;
    }
    .tb-sidebar {
        max-width: 100%;
    }
}

/* ═══════════════════════════════════════════
   2. SIDEBAR WIDGETS — COMPACT SIZING
   So they fit comfortably in narrower sidebar
   ═══════════════════════════════════════════ */

.tb-sw {
    padding: 1rem 1.1rem !important;
    margin-bottom: 1rem !important;
    font-size: .88rem !important;
}

.tb-sw-order-title { font-size: .97rem !important; }
.tb-sw-order-sub   { font-size: .78rem !important; }
.tb-sw-order-badge { font-size: .7rem !important; padding: .18rem .55rem !important; }

.tb-sw-promo-pct { font-size: 1.6rem !important; }
.tb-sw-promo-label, .tb-sw-promo-sub, .tb-sw-promo-code { font-size: .78rem !important; }

.tb-sw-label   { font-size: .74rem !important; }
.tb-sw-select  { font-size: .83rem !important; padding: .45rem .65rem !important; }

.tb-sw-price-display { font-size: .85rem !important; }
.tb-sw-price-display strong { font-size: 1.05rem !important; }

.tb-trust-list li  { font-size: .81rem !important; }
.tb-services-list a { font-size: .81rem !important; }
.tb-sw-title { font-size: .9rem !important; }

.tb-btn-order, .tb-btn-prices, .tb-btn-gold {
    font-size: .83rem !important;
    padding: .5rem .8rem !important;
}

.tb-sw-geo-badges span { font-size: .68rem !important; }
.tb-sw-coupon-row { font-size: .73rem !important; }
.tb-sw-note { font-size: .71rem !important; }
.tb-chat-btn { font-size: .81rem !important; padding: .45rem .8rem !important; }

.tb-recent-text { font-size: .8rem !important; }
.tb-recent-thumb { width: 42px !important; height: 42px !important; }

/* ═══════════════════════════════════════════
   3. SIDEBAR STICKY — STOP AT WHY-US SECTION
   Uses JS approach via data-sentinel attribute
   ═══════════════════════════════════════════ */

/* The layout wrap is the containing block */
.tb-layout-wrap,
.tb-archive-wrap {
    position: relative;
}

/* Sidebar wrapper — JS controls position */
.tb-sidebar {
    position: relative;
    align-self: start;
}

/* On desktop, the sticky wrapper scrolls internally once tall enough */
@media (min-width: 1025px) {
    .tb-sidebar-sticky {
        position: sticky;
        top: 80px;
        /* JS will override this when sentinel is reached */
    }
}

/* ═══════════════════════════════════════════
   4. WHATSAPP FLOAT — LEFT SIDE
   Moves from right (where Tawk.to is) to left
   ═══════════════════════════════════════════ */
.tb-whatsapp-float {
    left: 1.25rem !important;
    right: auto !important;
    bottom: 1.5rem !important;
}

/* ═══════════════════════════════════════════
   5. CALCULATOR — SINGLE UNIFIED BOX
   Removes the inner shadow/border double-box effect
   ═══════════════════════════════════════════ */

/* The outer .home-calculator div gets ONE clean border */
.main_calculator .calculator.home-calculator {
    border: 1.5px solid rgba(104,87,208,.22) !important;
    border-radius: 18px !important;
    box-shadow: 0 8px 40px rgba(104,87,208,.14) !important;
    background: #fff !important;
    padding: 0 !important;          /* remove old padding — inner gets it */
    overflow: hidden;
    margin: 0 !important;
    width: 100% !important;
    max-width: 440px !important;
}

/* Dark header bar on calc */
.main_calculator .calculator.home-calculator::before {
    content: '';
    display: block;
    background: linear-gradient(135deg, #6857d0, #160647);
    height: 4px;
}

/* Calculator title row */
.main_calculator .calculator h3.text-semibold,
.main_calculator .calculator .text-semibold.flex {
    background: linear-gradient(135deg, #6857d0, #160647);
    color: #fff !important;
    margin: 0 !important;
    padding: 1rem 1.4rem !important;
    font-size: .97rem !important;
    font-weight: 700 !important;
    border-bottom: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

/* Hide the old SVG calculator icon */
.main_calculator .calculator h3 svg,
.main_calculator .calculator .text-semibold svg {
    display: none !important;
}

/* Inner content padding */
.main_calculator .calculator .f_group:first-of-type,
.main_calculator .f_group {
    padding: 0 1.4rem !important;
    margin-bottom: .85rem !important;
}
.main_calculator .f_group:first-of-type {
    padding-top: 1.2rem !important;
}

/* Remove any inner box shadow that creates double-border illusion */
.main_calculator .calculator .uvocalc,
.main_calculator .uvocalc,
.main_calculator [class*="calc"] {
    border: none !important;
    box-shadow: none !important;
}

/* Clean select styling */
.main_calculator .f_select select,
.main_calculator select {
    width: 100%;
    padding: .6rem .9rem;
    border: 1.5px solid #e2e8f0;
    border-radius: 9px;
    font-size: .9rem;
    color: #1e293b;
    background: #f8faff;
    font-family: inherit;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236857d0'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .75rem center;
    padding-right: 2rem;
    transition: border-color .2s;
}
.main_calculator .f_select select:focus,
.main_calculator select:focus {
    outline: none;
    border-color: #6857d0;
    background-color: #fff;
}

/* Pages row with +/- */
.main_calculator .f_group.pages {
    display: flex !important;
    align-items: center !important;
    gap: .5rem !important;
}
.main_calculator .f_group.pages .label {
    font-size: .74rem;
    font-weight: 700;
    color: #475569;
    flex: 0 0 auto;
    margin-right: .5rem;
}
.main_calculator .f_group.pages input[type="text"],
.main_calculator .f_group.pages input[name="pages"] {
    width: 60px !important;
    text-align: center;
    padding: .55rem .4rem;
    border: 1.5px solid #e2e8f0;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 700;
    color: #1e293b;
    font-family: inherit;
}

/* Total price display */
.main_calculator .f_total {
    background: linear-gradient(135deg, #f0eeff, #e8e0ff);
    border-radius: 10px;
    padding: .75rem 1.2rem !important;
    margin: .5rem 1.4rem .85rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border: 1px solid rgba(104,87,208,.15) !important;
}
.main_calculator .f_total .rez {
    font-size: .82rem !important;
    font-weight: 600;
    color: #6857d0 !important;
}
.main_calculator .f_total .total-price {
    font-size: 1.5rem !important;
    font-weight: 900 !important;
    color: #6857d0 !important;
}

/* Order button */
.main_calculator #order_button,
.main_calculator .f_submit a,
.main_calculator a[id="order_button"] {
    display: block !important;
    margin: 0 1.4rem 1.2rem !important;
    width: calc(100% - 2.8rem) !important;
    text-align: center !important;
    background: linear-gradient(135deg, #f5a623 0%, #e8920e 100%) !important;
    color: #fff !important;
    border-radius: 11px !important;
    padding: .85rem 1rem !important;
    font-size: .97rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: all .22s !important;
    border: none !important;
}
.main_calculator #order_button:hover {
    background: linear-gradient(135deg, #f5b233 0%, #d4800c 100%) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(245,166,35,.38) !important;
}

/* ═══════════════════════════════════════════
   6. CTA-CALC WIDGET — UNIFIED STYLE
   Matches the homepage calc look and feel
   ═══════════════════════════════════════════ */

/* Override the existing action_block / uvocalc styling */
.action_block .uvocalc,
.action_block .uvocalc--wrapper,
section.action_block .uvocalc {
    background: #fff !important;
    border: 1.5px solid rgba(104,87,208,.2) !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 20px rgba(104,87,208,.1) !important;
    padding: 0 !important;
    overflow: hidden;
}

/* cta-calc header */
.action_block .uvocalc--title {
    background: linear-gradient(135deg, #6857d0, #160647) !important;
    color: #fff !important;
    margin: 0 !important;
    padding: .9rem 1.25rem !important;
    font-size: .95rem !important;
    font-weight: 700 !important;
    border-bottom: none !important;
    display: block !important;
}

/* cta-calc inner fields */
.action_block .uvocalc--container,
.action_block [data-calc-mini] {
    padding: 1rem 1.25rem 1.1rem !important;
}

/* cta-calc selects */
.action_block select,
.action_block .uvocalc--select select {
    width: 100%;
    padding: .55rem .85rem;
    border: 1.5px solid #e2e8f0;
    border-radius: 9px;
    font-size: .88rem;
    color: #1e293b;
    background: #f8faff;
    font-family: inherit;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236857d0'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .65rem center;
    padding-right: 1.8rem;
    margin-bottom: .6rem;
}
.action_block label {
    font-size: .73rem;
    font-weight: 700;
    color: #475569;
    display: block;
    margin-bottom: .25rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}

/* cta-calc price box */
.action_block .uvocalc--total_price_container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #f0eeff;
    border-radius: 9px;
    padding: .65rem 1rem;
    margin: .6rem 0;
}
.action_block .uvocalc--total_price_title { font-size: .8rem; font-weight: 600; color: #6857d0; }
.action_block .uvocalc--total_price { font-size: 1.35rem; font-weight: 900; color: #6857d0; }

/* cta-calc pages row */
.action_block .uvocalc--pages__buttons {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .6rem;
}
.action_block [data-minus-button],
.action_block [data-plus-button] {
    width: 34px; height: 34px;
    border: 1.5px solid #e2e8f0;
    border-radius: 8px;
    background: #f8faff;
    font-size: 1.05rem;
    cursor: pointer;
    font-weight: 700;
    color: #6857d0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background .18s;
}
.action_block [data-minus-button]:hover,
.action_block [data-plus-button]:hover { background: #f0eeff; border-color: #6857d0; }
.action_block [data-pages-input] {
    flex: 1;
    text-align: center;
    padding: .5rem .4rem;
    border: 1.5px solid #e2e8f0;
    border-radius: 8px;
    font-size: .97rem;
    font-weight: 700;
    color: #1e293b;
    font-family: inherit;
}

/* cta-calc submit button */
.action_block .uvocalc--submit__container button,
.action_block .uvocalc--submit__container a,
.action_block button[type="submit"] {
    width: 100% !important;
    background: linear-gradient(135deg, #f5a623 0%, #e8920e 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: .8rem 1.25rem !important;
    font-size: .93rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all .22s !important;
    font-family: inherit !important;
    display: block !important;
    text-align: center !important;
    text-decoration: none !important;
}
.action_block button[type="submit"]:hover { background: linear-gradient(135deg, #f5b233, #d4800c) !important; transform: translateY(-1px) !important; }

/* Deadline info text */
.action_block .uvocalc--deadline { font-size: .8rem; color: #64748b; padding: .5rem .85rem; background: #f8faff; border-radius: 8px; margin-bottom: .6rem; }

/* ═══════════════════════════════════════════
   7. CTA-CALC SECTION LAYOUT — 2 COLUMN
   Copy + Calc side by side, properly sized
   ═══════════════════════════════════════════ */

.action_block.light_violet_bg {
    background: #f0eeff !important;
    padding: 4rem 0 !important;
}

.action_block .width.dark_violet_bg,
.action_block > .width > .dark_violet_bg {
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    display: grid !important;
    grid-template-columns: 1fr 420px !important;
    gap: 3rem !important;
    align-items: center !important;
}

/* When cta-calc is used in action_block with the calc inside */
.action_block .t-center { text-align: left !important; }
.action_block .t-center h3 { color: #1e293b !important; font-size: clamp(1.3rem,2.5vw,1.75rem) !important; margin-bottom: .75rem !important; }
.action_block .t-center p  { color: #475569 !important; }
.action_block .t-center .content_button.light_violet_border { border-color: #6857d0 !important; color: #6857d0 !important; }

@media (max-width: 900px) {
    .action_block .width.dark_violet_bg,
    .action_block > .width > .dark_violet_bg {
        grid-template-columns: 1fr !important;
    }
}

/* ═══════════════════════════════════════════
   8. HOMEPAGE: SLOGAN LEFT, CALC RIGHT — PROPER
   ═══════════════════════════════════════════ */
.main_calculator .width {
    display: grid;
    grid-template-columns: 1fr 440px;
    gap: 2.5rem;
    align-items: center;
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
}
.main_calculator .slogan {
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}
.main_calculator .slogan .h1,
.main_calculator .slogan h2 {
    text-align: left !important;
    font-size: clamp(1.65rem, 2.8vw, 2.5rem) !important;
    font-weight: 800 !important;
}
.main_calculator .slogan p.t22px { font-size: 1rem !important; text-align: left !important; }
.main_calculator .buttons_wrapper { justify-content: flex-start !important; }
.main_calculator .trustpilot { margin-top: 1.5rem !important; }
/* Remove the large violet_decor decorations that can cause visual gap */
.main_calculator .violet_decor:before,
.main_calculator .violet_decor:after { display: none !important; }

@media (max-width: 1209px) {
    .main_calculator .width { grid-template-columns: 1fr !important; padding-top: 2.5rem !important; }
    .main_calculator .slogan { text-align: center !important; }
    .main_calculator .slogan .h1, .main_calculator .slogan h2 { text-align: center !important; }
    .main_calculator .slogan p.t22px { text-align: center !important; margin: 0 auto !important; }
    .main_calculator .buttons_wrapper { justify-content: center !important; }
    .main_calculator .calculator.home-calculator { max-width: 480px !important; margin: 0 auto !important; }
}

/* ═══════════════════════════════════════════
   9. SCROLLABLE ARTICLE CONTAINER
   Like essayhub.com / essayservice.com
   ═══════════════════════════════════════════ */

.tb-scrollart-section {
    background: #f8faff;
    padding: 3rem 0;
}

.tb-scrollart-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* The visible scrollable box */
.tb-scrollart-box {
    background: #fff;
    border: 1.5px solid #e2e8f0;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 28px rgba(0,0,0,.08);
}

/* Header bar of article box */
.tb-scrollart-header {
    background: linear-gradient(135deg, #6857d0 0%, #160647 100%);
    padding: 1.1rem 1.75rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
}
.tb-scrollart-header-title {
    font-size: .97rem;
    font-weight: 700;
    color: #fff;
    display: flex;
    align-items: center;
    gap: .5rem;
    margin: 0;
}
.tb-scrollart-header-badges {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
    align-items: center;
}
.tb-scrollart-badge {
    font-size: .72rem;
    font-weight: 600;
    color: rgba(255,255,255,.88);
    background: rgba(255,255,255,.14);
    padding: .18rem .6rem;
    border-radius: 20px;
}
.tb-scrollart-scroll-hint {
    font-size: .72rem;
    color: rgba(255,255,255,.65);
    display: flex;
    align-items: center;
    gap: .3rem;
    animation: tb-bounce-y 2s ease-in-out infinite;
}
@keyframes tb-bounce-y { 0%,100%{transform:translateY(0)} 50%{transform:translateY(3px)} }

/* Scrollable body */
.tb-scrollart-body {
    height: 500px;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 2rem 2.25rem;
    scroll-behavior: smooth;
    scrollbar-width: thin;
    scrollbar-color: #6857d0 #f0eeff;
    position: relative;
}
.tb-scrollart-body::-webkit-scrollbar { width: 6px; }
.tb-scrollart-body::-webkit-scrollbar-track { background: #f0eeff; }
.tb-scrollart-body::-webkit-scrollbar-thumb { background: #6857d0; border-radius: 3px; }

/* Footer bar of article box */
.tb-scrollart-footer {
    background: #f8faff;
    border-top: 1px solid #e2e8f0;
    padding: .9rem 1.75rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .75rem;
}
.tb-scrollart-footer p { font-size: .78rem; color: #94a3b8; margin: 0; }
.tb-scrollart-cta {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: linear-gradient(135deg,#f5a623,#e8920e);
    color: #fff !important;
    padding: .5rem 1.2rem;
    border-radius: 8px;
    font-size: .85rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: all .2s;
    white-space: nowrap;
}
.tb-scrollart-cta:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(245,166,35,.35); }

/* Article typography inside box */
.tb-scrollart-body h1 { font-size: 1.4rem; font-weight: 800; color: #1e293b; margin: 0 0 1.25rem; border-bottom: 2px solid #f0eeff; padding-bottom: .75rem; line-height: 1.25; }
.tb-scrollart-body h2 { font-size: 1.15rem; font-weight: 800; color: #1e293b; margin: 1.75rem 0 .65rem; padding-bottom: .35rem; border-bottom: 1px solid #f0eeff; }
.tb-scrollart-body h3 { font-size: 1rem; font-weight: 700; color: #334155; margin: 1.25rem 0 .4rem; }
.tb-scrollart-body h4 { font-size: .93rem; font-weight: 700; color: #475569; margin: 1rem 0 .35rem; }
.tb-scrollart-body p  { font-size: .95rem; line-height: 1.75; color: #475569; margin-bottom: .9rem; }
.tb-scrollart-body a  { color: #6857d0; text-decoration: underline; font-weight: 500; }
.tb-scrollart-body ul, .tb-scrollart-body ol { padding-left: 1.4rem; margin: .65rem 0 1rem; }
.tb-scrollart-body li { font-size: .95rem; line-height: 1.65; color: #475569; margin-bottom: .35rem; }
.tb-scrollart-body strong { color: #1e293b; font-weight: 700; }
.tb-scrollart-body [itemtype*="Question"] h3 { font-size: .97rem; color: #1e293b; margin-top: 1rem; }

/* Highlight grid boxes inside article */
.tb-scrollart-body .tb-art-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .75rem;
    margin: 1rem 0;
}
.tb-scrollart-body .tb-art-box {
    background: #f0eeff;
    border-radius: 10px;
    padding: .9rem 1rem;
    border-left: 3px solid #6857d0;
}
.tb-scrollart-body .tb-art-box strong { color: #1e293b; display: block; margin-bottom: .3rem; font-size: .9rem; }
.tb-scrollart-body .tb-art-box span  { font-size: .83rem; color: #475569; line-height: 1.5; }
@media (max-width: 600px) { .tb-scrollart-body .tb-art-grid { grid-template-columns: 1fr; } }

/* Mobile scroll box */
@media (max-width: 600px) {
    .tb-scrollart-body { height: 340px; padding: 1.25rem; }
    .tb-scrollart-header { padding: .85rem 1rem; }
    .tb-scrollart-footer { flex-direction: column; text-align: center; }
}

/* ═══════════════════════════════════════════
   10. SIDEBAR STICKY STOP HELPER CLASSES
   JS uses these to identify the sentinel
   ═══════════════════════════════════════════ */

/* Add data-sidebar-stop to why_choose_us in the template
   JS will stop before this element */
.why_choose_us { position: relative; z-index: 1; }
.how_it_works  { position: relative; z-index: 1; }

/* ═══════════════════════════════════════════
   11. ENHANCEMENTS TO SINGLE POST AREA
   Better typography and spacing
   ═══════════════════════════════════════════ */

.tb-post-content h2 { font-size: 1.3rem !important; margin: 2rem 0 .65rem !important; }
.tb-post-content h3 { font-size: 1.08rem !important; margin: 1.4rem 0 .5rem !important; }
.tb-post-content p  { font-size: .98rem !important; line-height: 1.78 !important; }

/* ═══════════════════════════════════════════
   12. GENERAL IMPROVEMENTS
   ═══════════════════════════════════════════ */

/* Better tag/category page grid */
.tb-blog-grid { gap: 1.25rem !important; }

/* Inline FAQ styling in single posts */
.tb-faq-section { margin: 2rem 0 !important; }

/* Guarantee strip */
.tb-guarantees-strip { margin: 1.25rem 0 !important; }

/* Author box */
.tb-author-box { margin: 1.5rem 0 !important; }


/* ═══════════════════════════════════════════
   V6 FIX 1 — HOMEPAGE ARTICLE SCROLLBOX
   Increase height, stronger visual presence
   Matches essayservice.com / essayhub.com style
   ═══════════════════════════════════════════ */

.tb-scrollart-section {
    background: #f0eeff !important;
    padding: 2.5rem 0 3.5rem !important;
}

.tb-scrollart-wrap {
    max-width: 1200px !important;
}

.tb-scrollart-box {
    border: 2px solid rgba(104,87,208,.25) !important;
    box-shadow: 0 8px 40px rgba(104,87,208,.15) !important;
    border-radius: 18px !important;
}

.tb-scrollart-body {
    height: 560px !important;         /* taller — more content visible */
    padding: 2.25rem 2.5rem !important;
}

/* Fade-out bottom hint: shows there's more to scroll */
.tb-scrollart-body::after {
    content: '';
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    height: 70px;
    background: linear-gradient(to bottom, transparent 0%, rgba(255,255,255,.97) 100%);
    display: block;
    pointer-events: none;
    margin-top: -70px;
}

.tb-scrollart-footer {
    background: linear-gradient(135deg, #6857d0, #160647) !important;
    border-top: none !important;
}
.tb-scrollart-footer p { color: rgba(255,255,255,.7) !important; }
.tb-scrollart-cta {
    background: #f5a623 !important;
    box-shadow: 0 4px 14px rgba(245,166,35,.35) !important;
}

@media (max-width: 768px) {
    .tb-scrollart-body { height: 420px !important; padding: 1.5rem !important; }
}
@media (max-width: 480px) {
    .tb-scrollart-body { height: 340px !important; padding: 1.1rem !important; }
    .tb-scrollart-header { flex-direction: column; gap: .5rem; padding: .85rem 1rem !important; }
    .tb-scrollart-header-badges { display: none; }
}


/* ═══════════════════════════════════════════
   V6 FIX 2 — PAGE.PHP LAYOUT
   Wider content, narrower sidebar (same as blog)
   ═══════════════════════════════════════════ */

/* page.php uses the same .tb-layout-grid class —
   already set to 1fr 300px by tb-v6.css above.
   But page.php has extra padding classes that restrict width.
   Override them: */

.read_more_text .tb-layout-grid,
.read_more_text.light_violet_bg .tb-layout-grid {
    grid-template-columns: 1fr 280px !important;
    gap: 2rem !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Remove the constraining pad50-rl-large that squeezes content */
.read_more_text .tb-layout-grid.pad50-rl-large {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Page main content — let it breathe */
.read_more_text .tb-layout-grid main {
    min-width: 0;
    width: 100%;
}
.read_more_text .tb-layout-grid main .expanded_content {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
}

/* Page sidebar — same compact width as blog sidebar */
.read_more_text .tb-layout-grid .tb-sidebar,
#tbPageSidebar {
    max-width: 280px !important;
    width: 100% !important;
    min-width: 0 !important;
}

@media (max-width: 1024px) {
    .read_more_text .tb-layout-grid {
        grid-template-columns: 1fr !important;
    }
    .read_more_text .tb-layout-grid .tb-sidebar,
    #tbPageSidebar {
        max-width: 100% !important;
    }
}



/* ═══════════════════════════════════════════
   V6 FIX 3 — MODERN MULTI-COLUMN FOOTER
   Like academized.com / essayservice.com / essayhub.com
   ═══════════════════════════════════════════ */

/* Override old footer styles */
footer.tb-footer { all: unset; display: block; }

/* ── PRE-FOOTER CTA BAR ── */
.tb-footer-cta-bar {
    background: linear-gradient(135deg, #6857d0 0%, #160647 100%);
    padding: 1.4rem 0;
}
.tb-footer-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
}
.tb-footer-cta-text {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}
.tb-footer-cta-text strong {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
}
.tb-footer-cta-text span {
    font-size: .85rem;
    color: rgba(255,255,255,.75);
}
.tb-footer-cta-actions {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-shrink: 0;
    flex-wrap: wrap;
}
.tb-footer-wa-btn {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    background: #25d366;
    color: #fff !important;
    padding: .55rem 1.1rem;
    border-radius: 8px;
    font-size: .88rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: background .2s, transform .2s;
}
.tb-footer-wa-btn svg { width: 16px; height: 16px; flex-shrink: 0; }
.tb-footer-wa-btn:hover { background: #1da851; transform: translateY(-1px); }
.tb-footer-order-btn {
    display: inline-flex;
    align-items: center;
    background: #f5a623;
    color: #fff !important;
    padding: .55rem 1.25rem;
    border-radius: 8px;
    font-size: .88rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: background .2s, transform .2s;
}
.tb-footer-order-btn:hover { background: #d4890e; transform: translateY(-1px); }

/* ── MAIN FOOTER ── */
.tb-footer {
    background: #3d1a6e;
    padding: 3.5rem 0 0;
    color: rgba(255,255,255,.88);
    font-size: .88rem;
    line-height: 1.65;
}

/* 4-column grid */
.tb-footer-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
    gap: 2.5rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.tb-footer-col { min-width: 0; }

/* Brand column */
.tb-footer-logo {
    height: 36px;
    width: auto;
    max-width: 160px;
    filter: brightness(0) invert(1);
    margin-bottom: 1rem;
    display: block;
}
.tb-footer-brand-name {
    font-size: 1.25rem;
    font-weight: 800;
    color: #fff;
    text-decoration: none;
    display: block;
    margin-bottom: 1rem;
}
.tb-footer-about {
    font-size: .84rem;
    color: rgba(255,255,255,.65);
    line-height: 1.65;
    margin: 0 0 1rem;
    max-width: 280px;
}
.tb-footer-rating {
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: .85rem;
    font-size: .82rem;
    color: rgba(255,255,255,.7);
}
.tb-footer-stars { color: #f5a623; font-size: 1rem; letter-spacing: .05em; }

.tb-footer-disc {
    background: rgba(245,166,35,.15);
    border: 1px solid rgba(245,166,35,.3);
    border-radius: 8px;
    padding: .55rem .85rem;
    font-size: .8rem;
    color: rgba(255,255,255,.8);
    margin-bottom: .85rem;
    display: inline-block;
}
.tb-disc-code {
    background: rgba(245,166,35,.25);
    color: #f5a623;
    padding: .1rem .4rem;
    border-radius: 4px;
}

.tb-footer-social {
    display: flex;
    gap: .6rem;
    margin-top: .25rem;
}
.tb-soc-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px; height: 34px;
    border-radius: 8px;
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.75) !important;
    text-decoration: none !important;
    transition: background .2s, transform .2s;
    flex-shrink: 0;
}
.tb-soc-link svg { width: 16px; height: 16px; }
.tb-soc-link:hover { background: rgba(255,255,255,.18); transform: translateY(-2px); }
.tb-soc-wa:hover { background: #25d366 !important; }
.tb-soc-fb:hover { background: #1877f2 !important; }
.tb-soc-tw:hover { background: #000 !important; }

/* Column headings */
.tb-footer-heading {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #fff;
    margin: 0 0 .85rem;
    padding-bottom: .55rem;
    border-bottom: 1px solid rgba(255,255,255,.1);
}

/* Links */
.tb-footer-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: .4rem;
}
.tb-footer-list a {
    color: rgba(255,255,255,.65) !important;
    text-decoration: none !important;
    font-size: .84rem;
    transition: color .18s, padding-left .18s;
    display: block;
}
.tb-footer-list a:hover {
    color: #fff !important;
    padding-left: 4px;
}

/* Contact items */
.tb-footer-contact {
    margin-top: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: .55rem;
}
.tb-footer-contact-item {
    display: flex !important;
    align-items: center;
    gap: .5rem;
    font-size: .82rem;
    color: rgba(255,255,255,.65) !important;
    text-decoration: none !important;
    transition: color .18s;
}
.tb-footer-contact-item svg { width: 14px; height: 14px; flex-shrink: 0; opacity: .7; }
.tb-footer-contact-item:hover { color: #fff !important; }

/* ── TRUST / SECURITY BAR ── */
.tb-footer-trust-bar {
    padding: 1.1rem 0;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.tb-footer-trust-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}
.tb-footer-trust-badges {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
}
.tb-footer-trust-badges span {
    font-size: .75rem;
    font-weight: 600;
    color: rgba(255,255,255,.65);
    display: flex;
    align-items: center;
    gap: .3rem;
}
.tb-footer-payments {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}
.tb-pay-badge {
    font-size: .7rem;
    font-weight: 800;
    padding: .2rem .55rem;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 5px;
    color: rgba(255,255,255,.7);
    letter-spacing: .05em;
    text-transform: uppercase;
}

/* ── BOTTOM BAR ── */
.tb-footer-bottom {
    padding: 1rem 0;
    background: rgba(0,0,0,.15);
}
.tb-footer-bottom-inner {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
    justify-content: space-between;
}
.tb-footer-bottom-logo img,
.tb-footer-bottom-logo .logo_grey {
    height: 24px !important;
    width: auto !important;
    min-width: 80px;
    opacity: .5;
    filter: brightness(0) invert(1);
}
.tb-footer-copy {
    font-size: .78rem;
    color: rgba(255,255,255,.45);
    margin: 0;
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
}
.tb-footer-copy span {
    font-size: .74rem;
    color: rgba(255,255,255,.35);
}
.tb-footer-legal-links {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}
.tb-footer-legal-links a {
    font-size: .77rem;
    color: rgba(255,255,255,.4) !important;
    text-decoration: none !important;
    transition: color .18s;
}
.tb-footer-legal-links a:hover { color: rgba(255,255,255,.75) !important; }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
    .tb-footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
    .tb-footer-about { max-width: 100%; }
}
@media (max-width: 640px) {
    .tb-footer-grid { grid-template-columns: 1fr; gap: 1.75rem; }
    .tb-footer-cta-inner { flex-direction: column; align-items: flex-start; }
    .tb-footer-bottom-inner { flex-direction: column; align-items: flex-start; gap: .75rem; }
    .tb-footer-trust-inner { flex-direction: column; align-items: flex-start; }
    .tb-footer-cta-bar { padding: 1.1rem 0; }
}
