/* =========================================================
   PRICING — TABLET
========================================================= */

@media (max-width: 1100px) {
    .pricing__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;

        overflow: visible;
        border: 0;
        border-radius: 0;
    }

    .pricing-card {
        min-width: 0;

        border: 1px solid var(--color-border);
        border-radius: var(--radius-large);
    }

    .pricing-card+.pricing-card {
        border-left: 1px solid var(--color-border);
    }

    .pricing-card::before,
    .pricing-card--featured::after {
        border-radius: inherit;
    }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {
    .container {
        width: calc(100% - 48px);
    }

    .engines__container {
        gap: 56px;
    }

}

/* =========================================================
   MOBITEL
========================================================= */

@media (max-width: 768px) {

    #product,
    #engines,
    #pricing {
        scroll-margin-top: 86px;
    }

    .container {
        width: calc(100% - 32px);
    }

    .showcase,
    .engines,
    .pricing {
        min-height: auto;
        padding-block: 72px 48px;
    }

    /* -----------------------------------------------------
       NAVIGACIJA
    ----------------------------------------------------- */

    .site-header {
        top: 12px;
    }

    .site-header.is-scrolled {
        top: 8px;
    }

    .navbar {
        width: calc(100% - 24px);
        height: 60px;
        padding-inline: 16px;

        border-radius: 18px;
    }

    .navbar__logo {
        font-size: 14px;
    }

    .navbar__menu {
        position: absolute;
        top: calc(100% + 10px);
        right: 0;
        left: 0;

        display: flex;
        flex-direction: column;
        gap: 8px;

        padding: 10px;

        background-color: rgba(9, 9, 13, 0.94);
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 16px;

        box-shadow:
            0 22px 60px rgba(0, 0, 0, 0.58),
            0 0 32px rgba(255, 70, 92, 0.08),
            inset 0 1px 0 rgba(255, 255, 255, 0.04);

        backdrop-filter: blur(22px);
        -webkit-backdrop-filter: blur(22px);

        opacity: 0;
        visibility: hidden;
        pointer-events: none;

        transform: translateY(-10px) scale(0.98);
        transform-origin: top center;

        transition:
            opacity var(--transition-default),
            visibility var(--transition-default),
            transform var(--transition-default);
    }

    .site-header.is-menu-open .navbar__menu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;

        transform: translateY(0) scale(1);
    }

    .navbar__links {
        width: 100%;

        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .navbar__links a {
        padding: 14px 12px;

        color: var(--color-text-secondary);
        border-radius: 9px;

        font-size: 14px;
    }

    .navbar__links a:hover {
        color: var(--color-text-primary);
        background-color: rgba(255, 255, 255, 0.04);
    }

    .navbar__cta {
        width: 100%;
        min-height: 46px;

        color: white;
        background-color: var(--color-accent);
        border-color: var(--color-accent);
        border-radius: 10px;
    }

    .navbar__cta:hover {
        color: white;
        background-color: #ff5b6e;
        border-color: #ff5b6e;
    }

    .navbar__toggle {
        width: 42px;
        height: 42px;

        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;

        color: var(--color-text-primary);
        background: transparent;
        border: 0;
        border-radius: 10px;

        cursor: pointer;
    }

    .navbar__toggle span {
        display: block;

        width: 20px;
        height: 1.5px;

        background-color: currentColor;
        border-radius: 999px;

        transition:
            transform var(--transition-default),
            background-color var(--transition-fast);
    }

    .site-header.is-menu-open .navbar__toggle {
        color: var(--color-accent);
    }

    .site-header.is-menu-open .navbar__toggle span:first-child {
        transform: translateY(3.75px) rotate(45deg);
    }

    .site-header.is-menu-open .navbar__toggle span:last-child {
        transform: translateY(-3.75px) rotate(-45deg);
    }

    /* -----------------------------------------------------
       HERO
    ----------------------------------------------------- */

    .hero {
        min-height: 100svh;
        padding-block: 120px 64px;

        align-items: center;
    }

    .hero__content {
        width: 100%;
        padding-top: 0;
    }

    .hero__visual {
        background-size: 165% auto;
        background-position: center 18%;
    }

    .hero__eyebrow {
        padding: 7px 11px;

        font-size: 11px;
    }

    .hero__title {
        max-width: 620px;
        margin-top: 20px;

        font-size: clamp(46px, 13vw, 64px);
        line-height: 0.96;
        letter-spacing: -0.055em;
    }

    .hero__description {
        max-width: 420px;
        margin-top: 20px;

        font-size: 15px;
        line-height: 1.6;
    }

    .hero__prompt {
        max-width: 100%;
        margin-top: 28px;
        padding: 14px;

        border-radius: 18px;
    }

    .hero__prompt-editor {
        min-height: 48px;
        gap: 10px;
    }

    .hero__prompt-input {
        min-height: 40px;

        font-size: 15px;
    }

    .hero__prompt-footer {
        width: 100%;
        margin-top: 10px;

        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .hero__prompt-tools {
        width: 100%;

        display: grid;
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        gap: 8px;
    }

    .hero__dropdown {
        min-width: 0;
    }

    .hero__dropdown-toggle {
        width: 100%;
        min-width: 0;
        padding-inline: 10px;

        justify-content: flex-start;
    }

    .hero__dropdown-toggle [data-dropdown-label] {
        overflow: hidden;

        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .hero__dropdown-arrow {
        margin-left: auto;
    }

    .hero__dropdown-menu {
        width: min(280px, calc(100vw - 48px));
        min-width: 0;
    }

    .hero__dropdown:last-child .hero__dropdown-menu {
        right: 0;
        left: auto;

        transform-origin: bottom right;
    }

    .hero__prompt-submit {
        width: 100%;
        min-height: 46px;
    }

    .hero__suggestions {
        max-width: 360px;
        margin-top: 14px;
        gap: 8px;
    }

    .hero__suggestions-label {
        width: 100%;

        text-align: center;
    }

    .hero__suggestions button {
        padding: 7px 11px;

        font-size: 12px;
    }

    /* -----------------------------------------------------
       SHOWCASE / WORKSPACE
    ----------------------------------------------------- */

    .showcase__heading {
        max-width: 100%;
    }

    .showcase__eyebrow {
        font-size: 10px;
        letter-spacing: 0.15em;
    }

    .showcase__title {
        margin-top: 16px;

        font-size: clamp(42px, 12vw, 58px);
        line-height: 1;
    }

    .showcase__description {
        max-width: 420px;
        margin-top: 18px;

        font-size: 14px;
        line-height: 1.65;
    }

    .showcase__workspace-glow {
        position: relative;
        isolation: isolate;

        width: 100%;
        min-width: 0;
        margin: 38px 0 0;

        border-radius: 20px;
    }

    .showcase__workspace {
        position: relative;
        z-index: 1;

        width: 100%;
        min-width: 0;
        min-height: 0;
        margin: 0;

        overflow: hidden;
        border-radius: inherit;

        scroll-margin-top: 88px;
    }

    .showcase__workspace-glow::before,
    .showcase__workspace-glow::after,
    .showcase__workspace::before,
    .showcase__workspace::after {
        border-radius: inherit;
    }

    .showcase__toolbar {
        height: 58px;
        padding-inline: 14px;

        grid-template-columns: 1fr auto 1fr;
    }

    .showcase__window-controls {
        gap: 5px;
    }

    .showcase__window-controls span {
        width: 7px;
        height: 7px;
    }

    .showcase__project-name {
        font-size: 11px;
        white-space: nowrap;
    }

    .showcase__status {
        gap: 5px;

        font-size: 10px;
    }

    .showcase__workspace-content {
        display: block;
        min-width: 0;
    }

    .showcase__sidebar {
        padding: 10px;

        border-right: 0;
        border-bottom: 1px solid var(--color-border);
    }

    .showcase__sidebar-label {
        display: none;
    }

    .showcase__sidebar-nav {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 4px;

        margin-top: 0;
    }

    .showcase__sidebar-nav button {
        min-width: 0;
        padding: 9px 2px;

        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;

        border-radius: 8px;

        font-size: 9px;
        line-height: 1.2;
        text-align: center;

        touch-action: manipulation;
    }

    .showcase__sidebar-nav button span {
        font-size: 12px;
    }

    .showcase .showcase__output {
        display: flex;
        flex-direction: column;

        width: 100%;
        min-width: 0;
        padding: 12px;
        gap: 12px;
    }

    .showcase .showcase__output>.output-card {
        flex: 0 0 auto;

        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding: 18px;

        overflow: hidden;
        border-radius: 15px;
    }

    .output-card__header,
    .output-card__brand-content,
    .output-card__colors,
    .output-card__type-content,
    .output-card__visual-preview {
        min-width: 0;
        max-width: 100%;
    }

    .output-card__header {
        gap: 12px;
    }

    .output-card__label,
    .output-card__meta {
        flex-shrink: 0;

        font-size: 9px;
        white-space: nowrap;
    }

    .output-card--brief {
        min-height: 200px;
    }

    .output-card__prompt {
        max-width: 100%;
        margin-top: 22px;

        font-size: clamp(20px, 6vw, 26px);
        overflow-wrap: break-word;
    }

    .output-card--brand {
        min-height: 200px;
    }

    .output-card__brand-content h3 {
        max-width: 100%;

        font-size: clamp(46px, 17vw, 68px);
        overflow-wrap: break-word;
    }

    .output-card__brand-content p {
        max-width: 260px;
    }

    .output-card--palette {
        min-height: 250px;
    }

    .output-card__colors {
        width: 100%;

        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .output-card__color {
        width: 100%;
        min-width: 0;
    }

    .output-card__swatch {
        width: 100%;
        height: 58px;
    }

    .output-card__color>span:last-child {
        font-size: 9px;
        overflow-wrap: anywhere;
    }

    .output-card--type {
        min-height: 180px;
    }

    .output-card__type-content {
        width: 100%;

        justify-content: space-between;
        gap: 18px;
    }

    .output-card__type-sample {
        font-size: 58px;
    }

    .output-card__type-details {
        min-width: 0;

        text-align: right;
    }

    .output-card--visual {
        min-height: 265px;
    }

    .output-card__visual-preview {
        width: 100%;
        min-height: 195px;

        overflow: hidden;
    }

    .output-card__visual-copy {
        max-width: 76%;
    }

    .output-card__visual-copy strong {
        max-width: 100%;

        font-size: clamp(24px, 8vw, 34px);
        line-height: 0.95;
        overflow-wrap: break-word;
    }

    .output-card__visual-brand {
        font-size: clamp(54px, 20vw, 86px);
    }

    /* -----------------------------------------------------
       ENGINES
    ----------------------------------------------------- */

    .engines__container {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 38px;
    }

    .engines__heading {
        max-width: 520px;
    }

    .engines__eyebrow {
        font-size: 10px;
        letter-spacing: 0.16em;
    }

    .engines__title {
        margin-top: 16px;

        font-size: clamp(42px, 12vw, 58px);
        line-height: 1;
    }

    .engines__description {
        max-width: 440px;
        margin-top: 20px;

        font-size: 14px;
        line-height: 1.65;
    }

    .engines__list {
        width: 100%;
        min-width: 0;
    }

    .engine-card {
        width: 100%;
        min-width: 0;

        grid-template-columns: 30px minmax(0, 1fr) 20px;
        grid-template-rows: auto auto;
        column-gap: 12px;
        row-gap: 7px;

        padding: 22px 8px;

        cursor: pointer;
        touch-action: manipulation;
    }

    .engine-card__number {
        padding-top: 4px;

        font-size: 9px;
    }

    .engine-card h3 {
        min-width: 0;

        font-size: 19px;
        line-height: 1.2;
    }

    .engine-card h3 .engine-card__symbol {
        margin-right: 6px;
    }

    .engine-card p {
        max-width: 100%;

        font-size: 12px;
        line-height: 1.55;
        overflow-wrap: break-word;
    }

    .engine-card__icon {
        font-size: 15px;
    }

    /* -----------------------------------------------------
       CAMPAIGN
    ----------------------------------------------------- */

    .campaign {
        min-height: auto;
        overflow: hidden;
    }

    .campaign__image {
        width: 100%;
        height: 100%;

        object-fit: cover;
        object-position: 62% center;
    }

    .campaign__overlay {
        background:
            linear-gradient(180deg,
                rgba(5, 5, 8, 0.08) 0%,
                rgba(5, 5, 8, 0.18) 28%,
                rgba(5, 5, 8, 0.78) 58%,
                rgba(5, 5, 8, 0.97) 100%),
            linear-gradient(90deg,
                rgba(5, 5, 8, 0.45),
                transparent 80%);
    }

    .campaign__layout {
        min-height: 0;
        padding-top: clamp(220px, 62vw, 300px);
        padding-bottom: 44px;

        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-end;
        gap: 28px;
    }

    .campaign__content {
        width: 100%;
        max-width: 520px;
    }

    .campaign__eyebrow {
        font-size: 9px;
        letter-spacing: 0.16em;
    }

    .campaign__title {
        margin-top: 16px;

        font-size: clamp(46px, 13vw, 62px);
        line-height: 0.95;
    }

    .campaign__description {
        max-width: 420px;
        margin-top: 20px;

        font-size: 14px;
        line-height: 1.65;
    }

    .campaign__link {
        margin-top: 24px;

        font-size: 13px;
    }

    .campaign__insight {
        width: 100%;
        max-width: 100%;
        padding: 20px;

        background-color: rgba(16, 12, 21, 0.58);
        border-radius: 18px;

        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .campaign__insight-header {
        gap: 12px;

        font-size: 8px;
    }

    .campaign__signature {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 16px;

        padding-block: 24px;
    }

    .campaign__signature-visual {
        width: 72px;
        height: 72px;
    }

    .campaign__signature-copy {
        min-width: 0;
    }

    .campaign__signature-copy h3 {
        font-size: 24px;
    }

    .campaign__signature-copy p {
        font-size: 11px;
        line-height: 1.5;
    }

    .campaign__signature-tags {
        flex-wrap: wrap;
        gap: 7px;
    }

    .campaign__scanner {
        opacity: 0.5;
    }

    .campaign__scan-meta {
        display: none;
    }

    /* -----------------------------------------------------
       PRICING
    ----------------------------------------------------- */

    .pricing__heading {
        max-width: 100%;
    }

    .pricing__eyebrow {
        font-size: 10px;
        letter-spacing: 0.16em;
    }

    .pricing__title {
        margin-top: 16px;

        font-size: clamp(42px, 12vw, 56px);
        line-height: 1;
    }

    .pricing__description {
        margin-top: 18px;

        font-size: 14px;
        line-height: 1.65;
    }

    .pricing__grid {
        margin-top: 38px;
    }

    .pricing-card {
        width: 100%;
        min-width: 0;
        min-height: 0;

        padding: 22px;
        border-radius: var(--radius-large);
    }

    .pricing-card__header h3 {
        font-size: 38px;
    }

    .pricing-card__features {
        margin-top: 28px;
    }

    .pricing-card__features li {
        font-size: 12px;
        line-height: 1.45;
    }

    .pricing-card__button {
        width: 100%;
        min-height: 46px;
        margin-top: 28px;
    }

}

/* =========================================================
   PRICING — MOBITEL
========================================================= */

@media (max-width: 700px) {
    .pricing__grid {
        grid-template-columns: 1fr;

        width: 100%;
        max-width: 430px;

        margin-top: 46px;
        margin-inline: auto;
    }

    .pricing-card {
        min-height: auto;
        padding: 26px 22px;
    }

    .pricing-card__features {
        margin-bottom: 34px;
    }

    .pricing-card__badge {
        top: 24px;
        right: 22px;
    }
}

/* =========================================================
   MALI MOBITELI
========================================================= */

@media (max-width: 480px) {
    .container {
        width: calc(100% - 24px);
    }

    .hero {
        padding-block: 108px 56px;
    }

    .hero__visual {
        background-size: 185% auto;
        background-position: center 16%;
    }

    .hero__title {
        font-size: clamp(44px, 13vw, 54px);
    }

    .hero__description {
        font-size: 14px;
    }

    .hero__prompt {
        padding: 13px;
    }

    .hero__dropdown-toggle {
        font-size: 11px;
    }

    .hero__dropdown-icon {
        display: none;
    }

    .hero__dropdown-menu {
        width: min(270px, calc(100vw - 36px));
    }

}

/* =========================================================
  JAKO MALI EKRANI
========================================================= */

@media (max-width: 380px) {

    .showcase,
    .engines,
    .pricing {
        padding-block: 64px;
    }

    .showcase__workspace-glow {
        margin-top: 32px;
    }

    .showcase__toolbar {
        padding-inline: 11px;
    }

    .showcase__status-text {
        display: none;
    }

    .showcase__sidebar-nav button {
        font-size: 8px;
    }

    .showcase .showcase__output {
        padding: 9px;
        gap: 9px;
    }

    .showcase .showcase__output>.output-card {
        padding: 15px;
    }

    .output-card__label,
    .output-card__meta {
        font-size: 8px;
    }

    .output-card__visual-copy {
        max-width: 80%;
    }

    .engines__container {
        gap: 34px;
    }

    .engines__title {
        font-size: 40px;
    }

    .engine-card {
        grid-template-columns: 25px minmax(0, 1fr) 18px;
        column-gap: 9px;
        padding-block: 20px;
    }

    .engine-card h3 {
        font-size: 17px;
    }

    .engine-card p {
        font-size: 11px;
    }

    .campaign__layout {
        padding-top: 210px;
        padding-bottom: 36px;
    }

    .campaign__title {
        font-size: 43px;
    }

    .campaign__insight {
        padding: 16px;
    }

    .campaign__signature {
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 13px;
    }

    .campaign__signature-visual {
        width: 62px;
        height: 62px;
    }
}

/* =========================================================
   ACCESSIBILITY — REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* =========================================================
   FINAL CTA + FOOTER
========================================================= */

@media (max-width: 768px) {

    /* Potpuno poništava desktop grid i 650px visinu. */

    body .final-cta {
        display: block;

        width: 100%;
        height: auto;
        min-height: 0;

        padding: 52px 0 64px;

        overflow: hidden;
    }

    .final-cta>.final-cta__content.container {
        position: relative;
        inset: auto;

        width: 100%;
        max-width: 100%;
        min-width: 0;
        height: auto;
        min-height: 0;

        margin: 0 auto;
        padding: 0 16px;

        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;

        text-align: center;
        box-sizing: border-box;
    }

    .final-cta .final-cta__eyebrow {
        width: 100%;
        margin: 0;

        font-size: 10px;
        letter-spacing: 0.15em;
        text-align: center;
    }

    .final-cta .final-cta__title {
        display: block;

        width: 100%;
        max-width: 600px;
        min-width: 0;

        margin: 16px auto 0;

        font-size: clamp(38px, 12vw, 58px);
        line-height: 0.98;
        letter-spacing: -0.05em;
        text-align: center;

        white-space: normal;
        word-break: normal;
        overflow-wrap: normal;
        text-wrap: balance;

        box-sizing: border-box;
    }

    .final-cta .final-cta__description {
        display: block;

        width: 100%;
        max-width: 390px;
        min-width: 0;

        margin: 18px auto 0;

        font-size: 14px;
        line-height: 1.6;
        text-align: center;

        white-space: normal;
        overflow-wrap: break-word;
    }

    .final-cta .final-cta__form {
        width: 100%;
        max-width: 520px;
        min-width: 0;

        margin: 28px auto 0;
        padding: 12px;

        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 10px;

        box-sizing: border-box;
    }

    .final-cta .final-cta__input {
        width: 100%;
        min-width: 0;
        height: 44px;

        font-size: 14px;
    }

    .final-cta .final-cta__button {
        grid-column: 1 / -1;

        width: 100%;
        min-width: 0;
        min-height: 46px;

        box-sizing: border-box;
    }

    .final-cta .final-cta__note {
        width: 100%;
        max-width: 400px;

        margin: 15px auto 0;

        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 6px;

        font-size: 10px;
        text-align: center;
    }

    .final-cta__glow {
        width: min(500px, 130vw);
        height: 300px;
    }

    /* FOOTER */

    body .site-footer {
        width: 100%;
        padding: 38px 0 24px;

        overflow: hidden;
    }

    .site-footer>.site-footer__container.container {
        width: 100%;
        max-width: 100%;
        min-width: 0;

        margin: 0 auto;
        padding: 0 16px;

        box-sizing: border-box;
    }

    .site-footer .site-footer__main {
        width: 100%;

        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 26px;

        text-align: center;
    }

    .site-footer .site-footer__logo {
        justify-self: auto;

        margin: 0 auto;
    }

    .site-footer .site-footer__nav {
        width: 100%;
        max-width: 320px;

        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px 20px;

        margin: 0 auto;

        text-align: center;
    }

    .site-footer .site-footer__nav a {
        min-width: 0;

        font-size: 12px;
        text-align: center;
        overflow-wrap: break-word;
    }

    .site-footer .site-footer__status {
        justify-self: auto;
        justify-content: center;

        margin: 0 auto;
    }

    .site-footer .site-footer__bottom {
        width: 100%;

        margin-top: 28px;
        padding-top: 18px;

        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;

        font-size: 10px;
        line-height: 1.5;
        text-align: center;
    }

    .site-footer .site-footer__bottom p {
        width: 100%;
        margin: 0;

        text-align: center;
    }
}

@media (max-width: 380px) {

    .final-cta>.final-cta__content.container,
    .site-footer>.site-footer__container.container {
        padding-inline: 12px;
    }

    .final-cta .final-cta__title {
        font-size: 38px;
    }
}

@media (max-width: 640px) {
    section.final-cta {
        display: block;

        height: auto;
        min-height: 0;
        margin-block: 0;
        padding-block: 64px 56px;
    }

    .final-cta>.final-cta__glow {
        position: absolute;
        inset: 0;

        pointer-events: none;
    }

    .final-cta>.final-cta__content {
        margin-block: 0;
        padding-block: 0;
    }
}