/* =========================================================
RESPONSIVE
========================================================= */

@media (max-width: 1180px) {
    .header-main {
        grid-template-columns: 200px minmax(0, 1fr) auto;
        gap: 20px;
    }

    .site-logo img {
        max-width: 195px;
    }

    .main-navigation {
        gap: 15px;
    }

        .main-navigation a {
            font-size: 12px;
        }
}

@media (max-width: 1000px) {
    .header-main {
        grid-template-columns: minmax(0, 1fr) auto;
        min-height: 80px;
    }

    .site-logo img {
        max-width: 215px;
        height: 54px;
    }

    .header-main-actions {
        grid-column: 2;
    }

    .nav-toggle {
        display: block;
    }

    .main-navigation {
        position: absolute;
        top: 80px;
        right: 0;
        left: 0;
        z-index: 20;
        display: none;
        align-items: stretch;
        justify-content: flex-start;
        flex-direction: column;
        gap: 0;
        padding: 10px 24px 22px;
        border-top: 1px solid var(--color-border);
        background: #ffffff;
        box-shadow: 0 18px 32px rgba(36, 48, 60, 0.14);
    }

        .main-navigation.open {
            display: flex;
        }

        .main-navigation a {
            min-height: 48px;
            justify-content: flex-start;
            padding: 13px 2px;
            border-bottom: 1px solid var(--color-border);
            font-size: 14px;
            text-align: left;
            white-space: normal;
        }

            .main-navigation a:last-child {
                border-bottom: 0;
            }

            .main-navigation a::after {
                display: none;
            }

    .book-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .book-details {
        gap: 40px;
    }

    .admin-form-section {
        grid-template-columns: 1fr;
        gap: 28px;
    }

}

@media (max-width: 900px) {
    .article-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 800px) {

    .book-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .book-details {
        grid-template-columns: 1fr;
    }

    .checkout-grid {
        grid-template-columns: 1fr;
    }

    .order-summary {
        position: static;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .footer-intro {
        grid-column: 1 / -1;
    }

}

@media (max-width: 640px) {
    .container {
        width: min(100% - 28px, var(--container-width));
    }

    .header-main {
        min-height: 72px;
        gap: 8px;
    }

    .site-logo {
        min-width: 0;
    }

        .site-logo img {
            width: 175px;
            max-width: 100%;
            height: 48px;
        }

    .header-main-actions {
        gap: 7px;
    }

    .header-cart {
        min-height: 44px;
        padding: 8px 10px;
    }

    .header-cart-label {
        display: none;
    }

    .nav-toggle {
        width: 44px;
        height: 44px;
    }

    .main-navigation {
        top: 72px;
        max-height: calc(100vh - 72px);
        overflow-y: auto;
        padding-right: 18px;
        padding-left: 18px;
    }

    .section {
        padding: 57px 0;
    }

    .book-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 12px;
    }

    .book-cover {
        padding: 12px;
    }

    .book-meta {
        padding: 14px 12px;
    }

        .book-meta h3 {
            margin-bottom: 14px;
            font-size: 15px;
        }

    .add-to-cart {
        width: 100%;
        justify-content: center;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-intro {
        grid-column: auto;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

        .form-grid .full {
            grid-column: auto;
        }

    .admin-page-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-form-section {
        padding: 21px 16px;
    }

    .admin-form-section-heading {
        flex-direction: column;
    }

    .image-dropzone {
        min-height: 250px;
    }

    .admin-form-actions {
        flex-direction: column-reverse;
    }

        .admin-form-actions .btn {
            width: 100%;
        }

    .cart-drawer {
        width: 100%;
    }

    .cart-drawer-header,
    .cart-drawer-footer {
        padding-right: 18px;
        padding-left: 18px;
    }

    .cart-drawer-items {
        padding-right: 18px;
        padding-left: 18px;
    }

    .cart-drawer-item {
        grid-template-columns: 64px minmax(0, 1fr) 26px;
        gap: 12px;
    }

    .cart-drawer-image {
        width: 64px;
        height: 92px;
    }

    .cart-drawer-controls {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-table > a {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .article-card-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .article-card-body {
        padding: 20px;
    }

    .pagination {
        flex-wrap: wrap;
        gap: 10px;
    }

    .pagination-pages {
        order: 3;
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
    }

}

@media (max-width: 420px) {
    .site-logo img {
        width: 145px;
    }

    .header-cart {
        width: 42px;
        padding: 7px;
    }

    .header-cart-icon svg {
        width: 21px;
        height: 21px;
    }

    .cart-count {
        position: absolute;
        top: -7px;
        right: -7px;
        min-width: 20px;
        height: 20px;
        font-size: 10px;
    }

    .nav-toggle {
        width: 42px;
        height: 42px;
    }

    .book-grid {
        grid-template-columns: 1fr;
    }
}

/* FINAL RESPONSIVE OVERRIDES */

/* =========================================================
   FINAL RESPONSIVE LAYER
   Učitava se poslednji da bi pouzdano nadjačao stilove stranica.
   ========================================================= */

html,
body {
    max-width: 100%;
    overflow-x: clip;
}

img,
svg,
video,
canvas,
iframe {
    max-width: 100%;
}

input,
select,
textarea,
button {
    min-width: 0;
}

.site-main,
.home-page,
.books-page,
.book-details-page,
.checkout-page,
.author-details-page,
.article-page,
.admin-shell {
    min-width: 0;
}

/* Rich-text editor i sadržaj nikada ne smeju proširiti viewport. */
.jodit-container,
.jodit-workplace,
.jodit-wysiwyg,
.jodit-toolbar__box,
.fr-box,
.fr-wrapper,
.fr-element,
.prose,
.article-prose,
.book-description-content {
    max-width: 100%;
}

.jodit-wysiwyg,
.fr-element {
    overflow-wrap: anywhere;
}

.prose table,
.article-prose table,
.book-description-content table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* =========================================================
   HOME HERO — stabilan raspored knjiga i centriran rotirajući tekst
   ========================================================= */

.home-hero-grid {
    grid-template-columns: minmax(0, 1.02fr) minmax(380px, 0.98fr);
    gap: clamp(38px, 5vw, 72px);
}

.home-hero-showcase {
    display: grid;
    min-height: 0;
    align-content: center;
    grid-template-rows: minmax(390px, auto) auto;
    gap: 18px;
}

.home-hero-visual {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 390px;
    align-items: center;
    justify-content: center;
}

.home-hero-decoration {
    top: 50%;
    left: 50%;
    inset: auto;
    transform: translate(-50%, -50%);
}

.home-hero-books {
    width: 100%;
}

.home-hero-book-info {
    position: relative;
    right: auto;
    bottom: auto;
    width: min(100%, 430px);
    min-height: 132px;
    margin: 0 auto;
    padding: 18px 24px;
    border-top: 4px solid var(--color-primary-dark);
    border-left: 1px solid var(--color-border);
    border-right: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    background: rgba(255, 255, 255, 0.97);
    text-align: center;
    transform: none;
}

.home-hero-book-info > span,
.home-hero-book-info strong,
.home-hero-book-info p,
.home-hero-book-info a {
    width: 100%;
    text-align: center;
}

.home-hero-book-info strong {
    display: -webkit-box;
    overflow: hidden;
    margin: 2px 0 7px;
    font-size: clamp(15px, 1.7vw, 18px);
    line-height: 1.35;
    text-overflow: initial;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-hero-book-info p {
    display: -webkit-box;
    min-height: 36px;
    margin: 0 0 9px;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-hero-book-info a {
    display: inline-flex;
    width: auto;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-inline: auto;
}

/* =========================================================
   LAPTOP / LARGE TABLET
   ========================================================= */

@media (max-width: 1100px) {
    .container {
        width: min(var(--container-width), calc(100% - 36px));
    }

    .home-hero-grid {
        grid-template-columns: 1fr;
        gap: 30px;
        padding-top: 58px;
        padding-bottom: 58px;
    }

    .home-hero-copy {
        max-width: 850px;
        margin-inline: auto;
        text-align: center;
    }

    .home-hero-copy h1,
    .home-hero-copy > p,
    .home-hero-features {
        margin-right: auto;
        margin-left: auto;
    }

    .home-hero-actions {
        justify-content: center;
    }

    .home-hero-showcase {
        width: min(100%, 760px);
        margin-inline: auto;
        grid-template-rows: minmax(380px, auto) auto;
    }

    .home-hero-visual {
        min-height: 380px;
    }

    .home-hero-book {
        width: clamp(145px, 20vw, 190px);
    }

    .catalog-layout {
        grid-template-columns: 235px minmax(0, 1fr);
        gap: 24px;
    }

    .catalog-book-grid,
    .author-book-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .book-details-layout {
        gap: 42px;
    }

    .admin-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {
    .page-hero,
.authors-hero {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .page-hero h1,
.authors-hero h1,
.author-details-copy h1 {
        font-size: clamp(38px, 7vw, 56px);
    }

    .catalog-layout,
.book-details-layout,
.author-details-layout,
.checkout-grid,
.admin-order-details-grid {
        grid-template-columns: 1fr;
    }

    .catalog-sidebar,
    .order-summary,
    .cart-total {
        position: static;
    }

    .catalog-filter-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-height: none;
    }

    .catalog-results-heading,
    .authors-results-header,
    .author-books-heading,
    .admin-page-header,
    .admin-order-details-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .catalog-active-filters {
        justify-content: flex-start;
    }

    .book-details-cover-column {
        width: min(100%, 620px);
        margin-inline: auto;
    }

    .book-details-cover {
        min-height: 480px;
    }

    .checkout-form-grid,
.form-grid,
.admin-form-grid-three,
.admin-form-grid-four {
        grid-template-columns: 1fr 1fr;
    }

    .checkout-field-full,
    .form-grid .full {
        grid-column: 1 / -1;
    }

    .checkout-summary-items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-navigation {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-navigation-links {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scrollbar-width: thin;
    }

    .admin-overview-grid {
        grid-template-columns: 1fr;
    }

    .admin-dashboard-hero {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* =========================================================
   SMALL TABLET / LARGE MOBILE
   ========================================================= */

@media (max-width: 700px) {
    .container {
        width: min(100% - 28px, var(--container-width));
    }

    .section,
    .home-section,
    .authors-page,
    .author-books-section,
    .checkout-content-section {
        padding-top: 52px;
        padding-bottom: 52px;
    }

    .home-hero-grid {
        gap: 22px;
        padding-top: 42px;
        padding-bottom: 46px;
    }

    .home-hero-copy h1 {
        max-width: 590px;
        margin: 12px auto 17px;
        font-size: clamp(36px, 10vw, 50px);
        line-height: 1.08;
    }

    .home-hero-copy > p {
        max-width: 560px;
        font-size: 15px;
        line-height: 1.65;
    }

    .home-hero-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: min(100%, 520px);
        margin: 24px auto 0;
    }

    .home-hero-features {
        grid-template-columns: 1fr;
        width: min(100%, 520px);
        margin-top: 28px;
    }

    .home-hero-feature,
    .home-hero-feature + .home-hero-feature {
        padding: 13px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(62, 95, 123, 0.18);
        border-left: 0;
        text-align: center;
    }

    .home-hero-showcase {
        grid-template-rows: minmax(285px, auto) auto;
        gap: 12px;
    }

    .home-hero-visual {
        min-height: 285px;
    }

    .home-hero-decoration {
        width: min(285px, 82vw);
    }

    .home-hero-decoration::before {
        inset: 28px;
    }

    .home-hero-decoration::after {
        inset: 64px;
    }

    .home-hero-book {
        width: clamp(92px, 28vw, 125px);
    }

    .home-hero-book img {
        max-height: 205px;
    }

    .home-hero-book:nth-child(1),
    .home-hero-book:nth-child(1):hover,
    .home-hero-book:nth-child(1).is-active,
    .home-hero-book.is-active:hover:nth-child(1) {
        transform: rotate(-5deg) translateX(20px) scale(1.02);
    }

    .home-hero-book:nth-child(2),
    .home-hero-book:nth-child(2):hover,
    .home-hero-book:nth-child(2).is-active,
    .home-hero-book.is-active:hover:nth-child(2) {
        transform: translateY(-9px) scale(1.03);
    }

    .home-hero-book:nth-child(3),
    .home-hero-book:nth-child(3):hover,
    .home-hero-book:nth-child(3).is-active,
    .home-hero-book.is-active:hover:nth-child(3) {
        transform: rotate(5deg) translateX(-20px) scale(1.02);
    }

    .home-hero-book:not(.is-active) {
        opacity: 0.7;
    }

    .home-hero-book-info {
        width: min(100%, 430px);
        min-height: 128px;
        padding: 16px 18px;
    }

    .home-hero-book-info strong {
        font-size: 15px;
    }

    .home-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 13px;
        margin-bottom: 28px;
    }

    .home-section-heading h2 {
        font-size: clamp(30px, 8vw, 40px);
    }

    .home-book-grid,
.catalog-book-grid,
.author-book-grid,
.article-card-grid,
.authors-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px 14px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-intro {
        grid-column: auto;
    }

    .authors-hero-inner {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .catalog-filter-panel {
        padding: 20px 17px;
    }

    .catalog-filter-options {
        grid-template-columns: 1fr;
    }

    .book-details-hero,
    .author-details-hero {
        padding-bottom: 54px;
    }

    .book-breadcrumbs,
    .author-breadcrumbs,
    .checkout-breadcrumbs {
        white-space: normal;
    }

    .book-details-cover {
        min-height: 410px;
        padding: 34px;
    }

    .book-details-heading h1 {
        font-size: clamp(34px, 9vw, 48px);
    }

    .book-purchase-panel,
.checkout-form-section,
.order-summary,
.admin-form-section,
.admin-dashboard-panel {
        padding: 22px 18px;
    }

    .book-purchase-controls,
.book-delivery-information {
        grid-template-columns: 1fr;
    }

    .author-preview-card {
        grid-template-columns: 145px minmax(0, 1fr);
    }

    .author-preview-image {
        min-height: 250px;
    }

    .author-details-portrait {
        width: min(100%, 390px);
        margin-inline: auto;
    }

    .article-header {
        padding-top: 48px;
        padding-bottom: 30px;
    }

    .article-header h1 {
        font-size: clamp(34px, 9vw, 50px);
    }

    .article-header p,
    .prose,
    .author-biography {
        font-size: 16px;
    }

    .article-prose {
        padding-top: 38px;
        padding-bottom: 58px;
    }

    .prose h2 {
        font-size: 28px;
    }

    .prose h3 {
        font-size: 23px;
    }

    .prose blockquote {
        margin: 26px 0;
        padding-left: 17px;
        font-size: 18px;
    }

    .cart-layout,
    .checkout-grid {
        grid-template-columns: 1fr;
    }

    .checkout-form-grid,
.form-grid,
.admin-form-grid-three,
.admin-form-grid-four {
        grid-template-columns: 1fr;
    }

    .checkout-summary-items {
        grid-template-columns: 1fr;
    }

    .checkout-summary-item {
        grid-template-columns: 54px minmax(0, 1fr) auto;
    }

    .checkout-summary-item-price {
        grid-column: auto;
    }

    .checkout-recaptcha-box {
        align-items: center;
        text-align: center;
    }

    .checkout-recaptcha-widget {
        display: flex;
        justify-content: center;
        width: 100%;
        overflow: hidden;
    }

    .admin-page {
        padding-inline: 0;
    }

    .admin-page-header,
    .admin-form-section-heading,
    .admin-form-actions,
    .admin-form-actions-split,
    .admin-order-card-heading,
    .admin-panel-heading {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
    }

    .admin-page-header .btn,
.admin-form-actions .btn,
.admin-form-actions-right,
.admin-form-actions-right .btn {
        width: 100%;
    }

    .admin-form-actions-right {
        display: grid;
        grid-template-columns: 1fr;
    }

    .admin-book-row,
    .admin-article-row,
    .admin-author-row,
    .admin-order-row,
    .admin-queue-row {
        position: relative;
        display: grid;
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 12px 15px;
        padding: 18px 36px 18px 0;
    }

    .admin-order-row-header {
        display: none;
    }

    .admin-book-row > :not(img):not(.admin-book-main):not(.admin-row-arrow),
    .admin-article-row > :not(img):not(div):not(.admin-row-arrow),
    .admin-author-row > :not(img):not(.admin-book-main):not(.admin-row-arrow) {
        grid-column: 2;
        justify-self: start;
    }

    .admin-order-row > * {
        grid-column: 1 / -1;
    }

    .admin-queue-row,
    .admin-queue-row.compact {
        grid-template-columns: 1fr;
        padding-right: 0;
    }

    .admin-queue-row > div:first-child,
    .admin-queue-error,
    .admin-inline-actions {
        grid-column: 1;
    }

    .admin-inline-actions {
        justify-content: flex-start;
    }

    .admin-status-history article {
        grid-template-columns: 1fr;
    }

    .admin-status-history p {
        grid-column: auto;
    }

    .admin-row-arrow {
        position: absolute;
        top: 18px;
        right: 4px;
    }

    .admin-order-details-heading h1 {
        font-size: clamp(32px, 8vw, 46px);
    }

    .admin-order-item {
        grid-template-columns: 58px minmax(0, 1fr);
    }

    .admin-order-item > strong {
        grid-column: 2;
    }

    .admin-category-options {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 520px) {
    body {
        min-width: 0;
        font-size: 15px;
    }

    .container {
        width: min(100% - 22px, var(--container-width));
    }

    .site-header {
        position: sticky;
    }

    .header-main {
        min-height: 68px;
    }

    .site-logo img {
        width: 142px;
        height: 44px;
    }

    .main-navigation {
        top: 68px;
        max-height: calc(100dvh - 68px);
    }

    .btn {
        min-height: 46px;
        padding-inline: 16px;
    }

    .page-hero,
.authors-hero {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .page-hero p,
.authors-hero p {
        font-size: 15px;
    }

    .home-hero-grid {
        padding-top: 34px;
        padding-bottom: 38px;
    }

    .home-hero-copy h1 {
        font-size: clamp(33px, 10.5vw, 42px);
    }

    .home-hero-actions {
        grid-template-columns: 1fr;
    }

    .home-hero-showcase {
        grid-template-rows: minmax(245px, auto) auto;
    }

    .home-hero-visual {
        min-height: 245px;
    }

    .home-hero-decoration {
        width: min(245px, 80vw);
    }

    .home-hero-decoration::before {
        inset: 24px;
    }

    .home-hero-decoration::after {
        inset: 56px;
    }

    .home-hero-book {
        width: clamp(82px, 27vw, 106px);
    }

    .home-hero-book img {
        max-height: 180px;
    }

    .home-hero-book-info {
        min-height: 0;
        padding: 15px 14px;
    }

    .home-hero-book-info p {
        min-height: 0;
        -webkit-line-clamp: 3;
    }

    .home-book-grid,
.catalog-book-grid,
.author-book-grid,
.article-card-grid,
.authors-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .home-book-grid .book-card,
    .catalog-book-grid .book-card,
    .author-book-grid .book-card {
        width: min(100%, 380px);
        margin-inline: auto;
    }

    .home-section-heading {
        margin-bottom: 23px;
    }

    .authors-search,
.catalog-filter-panel,
.cart-page-items,
.cart-total,
.checkout-confirmation-card {
        padding-right: 16px;
        padding-left: 16px;
    }

    .author-preview-card {
        grid-template-columns: 1fr;
    }

    .author-preview-image {
        min-height: 0;
        aspect-ratio: 16 / 11;
    }

    .author-preview-body {
        padding: 20px 17px;
    }

    .author-preview-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .book-details-cover {
        min-height: 350px;
        padding: 26px;
    }

    .book-details-cover img {
        max-height: 320px;
    }

    .book-price-row,
.book-purchase-controls,
.checkout-payment-box,
.checkout-hero-security {
        align-items: flex-start;
        flex-direction: column;
    }

    .quantity-selector,
.quantity-control,
.book-add-to-cart {
        width: 100%;
    }

    .quantity-control {
        grid-template-columns: 46px minmax(0, 1fr) 46px;
    }

    .cart-page-items {
        border-right: 0;
        border-left: 0;
    }

    .cart-row {
        grid-template-columns: 68px minmax(0, 1fr) 30px;
        gap: 10px;
        padding: 18px 0;
    }

    .cart-row-image,
    .cart-row-image img {
        width: 68px;
    }

    .cart-row-image img {
        height: 96px;
    }

    .cart-page-quantity,
    .cart-row-price {
        grid-column: 2;
    }

    .cart-row-remove {
        grid-column: 3;
        grid-row: 1;
    }

    .checkout-confirmation-card h1 {
        font-size: clamp(31px, 9vw, 42px);
    }

    .checkout-form-section,
    .order-summary,
    .checkout-confirmation-card {
        border-right: 0;
        border-left: 0;
    }

    .checkout-summary-item {
        grid-template-columns: 50px minmax(0, 1fr);
    }

    .checkout-summary-item-price {
        grid-column: 2;
        justify-self: start;
    }

    .checkout-recaptcha-box {
        padding: 18px 12px;
    }

    .g-recaptcha {
        transform-origin: top center;
    }

    .pagination {
        align-items: stretch;
        flex-wrap: wrap;
        gap: 8px;
    }

    .pagination-pages {
        order: 3;
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
    }

    .pagination-link {
        flex: 1 1 120px;
    }

    .pagination-number,
    .pagination-link {
        min-width: 40px;
        min-height: 40px;
        padding: 7px 10px;
    }

    .site-footer {
        padding-top: 48px;
    }

    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .cart-drawer {
        width: 100%;
        max-width: 100%;
    }

    .admin-dashboard-hero,
.admin-dashboard-panel,
.admin-form-section {
        padding: 20px 15px;
    }

    .admin-dashboard-hero h1,
.admin-page-header h1 {
        font-size: clamp(31px, 9vw, 43px);
    }

    .admin-overview-card {
        padding: 18px;
    }

    .admin-overview-card strong {
        font-size: 34px;
    }

    .admin-login-card {
        padding: 28px 20px;
    }

    .admin-login-card h1 {
        font-size: 40px;
    }

    .jodit-toolbar__box,
    .jodit-toolbar-editor-collection {
        overflow-x: auto;
        overscroll-behavior-inline: contain;
    }

    .jodit-wysiwyg,
    .fr-element {
        min-height: 320px;
    }
 }

/* Google reCAPTCHA je široka 304px; na najužim ekranima je skaliramo. */
@media (max-width: 370px) {
    .checkout-recaptcha-widget {
        min-height: 70px;
    }

    .g-recaptcha {
        transform: scale(0.86);
    }
}

@media (max-width: 335px) {
    .checkout-recaptcha-widget {
        min-height: 63px;
    }

    .g-recaptcha {
        transform: scale(0.78);
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-hero-book-info.is-refreshing {
        animation: none;
    }
}

/* =========================================================
   ADDITIONAL VIEWPORT SAFETY
   ========================================================= */
@media (max-width: 700px) {

    .order-review-item,
    .order-review-total span {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .order-review-total {
        text-align: left;
    }

    .order-review-total span {
        justify-content: flex-start;
    }

    .checkout-submit-button,
    .checkout-submit-area .btn {
        width: 100%;
    }

    .admin-table {
        width: 100%;
        min-width: 0;
        overflow: visible;
    }

    .admin-search,
    .admin-order-filters {
        grid-template-columns: 1fr;
    }

    .admin-search .btn,
    .admin-order-filters .btn {
        width: 100%;
    }
}
