/* Royal Mobil — brza i pregledna stranica proizvoda, 2026-07-13. */
.rm-product-page {
    --rm-navy: #061247;
    --rm-navy-soft: #15245d;
    --rm-red: #ed1744;
    --rm-green: #078a65;
    --rm-text: #101936;
    --rm-muted: #68738a;
    --rm-line: #e1e6ef;
    --rm-surface: #f6f8fc;
    color: var(--rm-text);
    background: #fff;
    overflow-x: clip;
}
.rm-product-page > .bg-gray-13 { background: #fff !important; }
.rm-product-page .breadcrumb {
    scrollbar-width: none;
    margin-bottom: 14px !important;
    padding: 0;
    color: var(--rm-muted);
    background: transparent;
    font-size: 13px;
}
.rm-product-page .breadcrumb::-webkit-scrollbar { display: none; }
.rm-product-page .breadcrumb a { color: #536079; }
.rm-product-page .breadcrumb a:hover { color: var(--rm-red); }
.rm-product-page > .container { max-width: 1480px; }

/* Dve jasne celine: galerija levo, odluka o kupovini desno. */
.rm-product-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr);
    grid-template-areas:
        "gallery heading"
        "gallery details"
        "gallery purchase"
        "secondary secondary";
    align-items: start;
    column-gap: clamp(28px, 3vw, 52px);
    row-gap: 18px;
    margin: 0;
}
.rm-product-hero > [class*="col-"] {
    width: auto;
    max-width: none;
    min-width: 0;
    padding: 0;
    flex: none;
}
.rm-product-primary-column { display: contents; }
.rm-product-gallery { grid-area: gallery; }
.rm-product-heading { grid-area: heading; }
.rm-product-hero .product-shop-details { grid-area: details; }
.rm-product-buy-column { grid-area: purchase; }
.rm-product-secondary-info { grid-area: secondary; min-width: 0; }

/* Galerija ima stabilnu kvadratnu zonu, pa nema pomeranja sadržaja pri učitavanju. */
.rm-product-gallery {
    position: relative;
    min-width: 0;
    padding: clamp(14px, 2vw, 26px) !important;
    border: 1px solid var(--rm-line);
    border-radius: 22px;
    background: #fff;
}
.rm-product-gallery #sliderSyncingNav {
    min-height: clamp(420px, 46vw, 660px);
    margin: 0 !important;
    background: #fff !important;
}
/* Prva fotografija je vidljiva i pre nego što se Slick inicijalizuje. Time
   nestaje prazan/spinner kadar i LCP ne zavisi od izvršavanja JavaScript-a. */
.rm-product-gallery #sliderSyncingNav:not(.slick-initialized) > .js-slide:first-child,
.rm-product-gallery #sliderSyncingThumb:not(.slick-initialized) > .js-slide:first-child {
    height: auto !important;
    visibility: visible !important;
    overflow: visible !important;
}
.rm-product-gallery #sliderSyncingNav:not(.slick-initialized) > .js-slide:not(:first-child),
.rm-product-gallery #sliderSyncingThumb:not(.slick-initialized) > .js-slide:not(:first-child) { display: none !important; }
.rm-product-gallery #sliderSyncingNav .js-slide > a,
.rm-product-gallery #sliderSyncingNav .js-slide > model-viewer,
.rm-product-gallery #sliderSyncingNav .rm-product-image-empty {
    display: flex !important;
    min-height: clamp(420px, 46vw, 660px);
    align-items: center;
    justify-content: center;
}
.rm-product-gallery #sliderSyncingNav img {
    display: block;
    width: 100% !important;
    max-width: 660px;
    height: auto;
    max-height: 660px;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
    object-fit: contain;
}
.rm-product-gallery model-viewer {
    width: 100%;
    max-width: 660px;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
}
.rm-product-gallery .u-slick__arrow-classic {
    z-index: 6;
    width: 42px;
    height: 42px;
    border: 1px solid #dfe4ed;
    color: var(--rm-navy);
    background: rgba(255,255,255,.94);
    box-shadow: 0 5px 16px rgba(6,18,71,.1);
    opacity: .88;
}
.rm-product-gallery .u-slick__arrow-classic:hover,
.rm-product-gallery .u-slick__arrow-classic:focus { opacity: 1; }
.rm-product-gallery .u-slick__arrow-classic-inner--left { left: 0 !important; margin: 0 !important; }
.rm-product-gallery .u-slick__arrow-classic-inner--right { right: 0 !important; margin: 0 !important; }
.rm-product-gallery #sliderSyncingThumb {
    max-width: 510px;
    margin: 14px auto 0;
}
.rm-product-gallery #sliderSyncingThumb .js-slide {
    display: flex;
    min-height: 74px;
    align-items: center;
    justify-content: center;
    margin: 0 4px;
    padding: 6px;
    border: 1px solid var(--rm-line);
    border-radius: 11px;
    background: #fff;
    cursor: pointer;
}
.rm-product-gallery #sliderSyncingThumb .slick-current { border-color: var(--rm-navy); }
.rm-product-gallery #sliderSyncingThumb img {
    width: 60px;
    height: 60px;
    object-fit: contain;
}
.rm-product-gallery-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    max-width: 510px;
    margin: 12px auto 0;
    color: var(--rm-muted);
    font-size: 12px;
}
.rm-product-gallery-status span { display: inline-flex; align-items: center; gap: 7px; }
.rm-product-gallery-status i { color: var(--rm-navy); }
.rm-product-gallery-counter {
    min-width: 44px;
    padding: 4px 8px;
    border-radius: 999px;
    color: var(--rm-navy);
    background: #f0f3f9;
    font-size: 11px;
    text-align: center;
}

/* Naziv i podaci ne konkurišu ceni, već vode ka kupovnom panelu. */
.rm-product-heading { margin: 0 !important; }
.rm-product-heading > .row {
    display: block;
    margin: 0 !important;
    padding: 0 0 14px !important;
    border-color: var(--rm-line) !important;
}
.rm-product-heading .product-brand {
    display: inline-block;
    margin-bottom: 7px;
    color: #4d5a75 !important;
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.rm-product-heading .product-name {
    max-width: 720px;
    margin: 0;
    color: var(--rm-text);
    font-size: clamp(25px, 2.25vw, 38px) !important;
    font-weight: 780;
    line-height: 1.16 !important;
    letter-spacing: -.02em;
    white-space: normal;
    overflow-wrap: anywhere;
}
.rm-product-page .product-shop-details .row { margin: 0; }
.rm-product-page .product-shop-details [class*="col-"] { padding: 0; }
.rm-product-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.rm-product-meta > span {
    display: inline-flex;
    min-width: 0;
    align-items: baseline;
    gap: 6px;
    padding: 7px 10px;
    border: 1px solid #e5e9f1;
    border-radius: 9px;
    background: #fafbfe;
}
.rm-product-meta small { color: var(--rm-muted); font-size: 10px; }
.rm-product-meta strong,
.rm-product-meta a { color: #27334f; font-size: 11px; font-weight: 750; }
.rm-product-short-description {
    margin-top: 13px;
    color: #3e4962;
    font-size: 14px;
    line-height: 1.55;
}
.rm-product-short-description > :last-child { margin-bottom: 0; }
.rm-product-page .variants { margin-top: 16px; }
.rm-product-page .variant-master {
    margin: 14px 0 7px;
    color: #34405c;
    font-size: 12px;
    font-weight: 800;
}
.rm-product-page .variant-filter {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    margin: 0 7px 7px 0;
    padding: 8px 13px;
    border: 1px solid #d9dfeb;
    border-radius: 10px;
    color: #25314e;
    background: #fff;
    font-size: 12px;
    cursor: pointer;
}
.rm-product-page .variant-filter:hover,
.rm-product-page .variant-filter:focus { border-color: #8c99b2; }
.rm-product-page .variant-filter.active {
    border-color: var(--rm-navy);
    color: #fff;
    background: var(--rm-navy);
}
.rm-product-page .variant-filter.noactive { opacity: .38; cursor: not-allowed; }

/* Kupovni panel. */
.rm-product-buy-column { align-self: start; }
.rm-product-buy-column .rm-product-purchase-card { width: 100%; min-width: 0; max-width: 100%; }
.rm-product-buy-column .mobilequantity,
.rm-product-buy-column .mobileaddtocart { display: block; width: 100%; }
.rm-product-buy-column .mobilequantity { max-width: none !important; }
.rm-product-buy-column .mobilequantity label {
    display: block;
    margin-bottom: 6px;
    color: #34405c;
    font-size: 12px;
    font-weight: 750;
}
.rm-product-buy-column .mobilequantity .quantity {
    min-width: 40px;
    color: var(--rm-text);
    background: transparent;
    font-weight: 750;
    text-align: center;
    appearance: textfield;
}
.rm-product-buy-column .quantity::-webkit-inner-spin-button,
.rm-product-buy-column .quantity::-webkit-outer-spin-button { margin: 0; appearance: none; }
.rm-product-buy-column .js-minus,
.rm-product-buy-column .js-plus { min-width: 34px; min-height: 34px; }
.rm-product-trust-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rm-product-page .product-accessories-link { margin-top: 2px; }
.rm-product-page .addtowishlist,
.rm-product-page .rmvwishlist { display: inline-flex; min-height: 42px; align-items: center; }

/* Dodatne opcije ostaju odvojene od glavne odluke o kupovini. */
.rm-product-secondary-info {
    margin-top: 8px;
    padding-top: 22px;
    border-top: 1px solid var(--rm-line);
}
.rm-product-secondary-info > .long-description { display: none !important; }
.rm-product-secondary-info > .align-items-end {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 0 !important;
}
.rm-product-secondary-info > .align-items-end > .row,
.rm-product-secondary-info .salemix,
.rm-product-secondary-info .border-product {
    min-width: 0;
    margin: 0;
    padding: 16px;
    border: 1px solid var(--rm-line);
    border-radius: 14px;
    background: #fff;
}
.rm-product-secondary-info .related {
    padding: 7px;
    border: 1px solid transparent;
    border-radius: 10px;
}
.rm-product-secondary-info .related.active { border-color: var(--rm-navy); background: #f5f7fc; }
.rm-product-secondary-info .related img { aspect-ratio: 1 / 1; object-fit: contain; }

/* Opis i specifikacije su jedna jasna kartica, bez praznih tabova. */
.rm-product-content {
    margin: 36px 0 34px !important;
    border: 1px solid var(--rm-line);
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
}
.rm-product-content #product-page-tab-togglers { padding: 0 22px !important; }
.rm-product-content .nav-tab { gap: 4px; }
.rm-product-content .nav-link {
    padding: 17px 16px;
    color: #5b6680;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
}
.rm-product-content .nav-link.active { color: var(--rm-navy); }
.rm-product-content .rm-product-tab-body {
    margin: 0 !important;
    padding: clamp(20px, 3vw, 42px) !important;
    border-color: var(--rm-line) !important;
}
.rm-product-content .table { margin: 0; }
.rm-product-content .table th { width: 35%; color: #34405c; font-weight: 750; }
.rm-product-content .table th,
.rm-product-content .table td { padding: 13px 15px !important; border-color: #e8ecf3 !important; }
.rm-product-content #longdesc {
    max-width: 1050px;
    margin: 0 auto;
    color: #2f3a55;
    font-size: 15px;
    line-height: 1.7;
    overflow-wrap: anywhere;
}
.rm-product-content #longdesc img { max-width: 100%; height: auto; }
.rm-product-content model-viewer { width: min(100%, 640px); height: auto; aspect-ratio: 1 / 1; margin: 0 auto; }
.rm-product-content .video-iframe-holder { position: relative; aspect-ratio: 16 / 9; height: auto; padding: 0; }
.rm-product-content .video-iframe-holder iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

/* Deklaracija je zakonski važna, ali nije primarni prodajni sadržaj. Ostaje
   lako dostupna kao mirna vertikalna sekcija i nikada se ne otvara sama. */
.rm-product-declaration {
    margin: 0 0 40px;
    border: 1px solid var(--rm-line);
    border-radius: 15px;
    background: #fff;
    overflow: hidden;
}
.rm-product-declaration summary {
    display: flex;
    min-height: 68px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 18px;
    color: #25314e;
    cursor: pointer;
    list-style: none;
}
.rm-product-declaration summary::-webkit-details-marker { display: none; }
.rm-product-declaration summary > span { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.rm-product-declaration summary strong { color: var(--rm-navy); font-size: 14px; }
.rm-product-declaration summary small { color: var(--rm-muted); font-size: 11px; }
.rm-product-declaration summary > i { color: #71809a; transition: transform .16s ease; }
.rm-product-declaration details[open] summary > i { transform: rotate(180deg); }
.rm-product-declaration-body {
    padding: 20px 22px 24px;
    border-top: 1px solid var(--rm-line);
    color: #34405c;
    font-size: 14px;
    line-height: 1.65;
}
.rm-product-declaration-body > :last-child { margin-bottom: 0; }

/* Preporuke su kompaktne i dolaze tek posle informacija o proizvodu. */
.rm-product-page .product-recommendations {
    margin: 0 0 44px;
    padding: clamp(20px, 2.5vw, 32px);
    border-color: var(--rm-line);
    border-radius: 18px;
    background: var(--rm-surface);
}
.rm-product-page .recommendations-intro h2 { font-size: clamp(23px, 2vw, 30px); }
.rm-product-page .recommendation-card { box-shadow: none; transition: border-color .15s ease; }
.rm-product-page .recommendation-card:hover { border-color: #b8c1d2; }

/* Nenametljiv mobilni CTA: prikazuje se tek kada je glavno dugme prošlo iznad ekrana. */
.rm-product-page #mobilebuttons:not(.rm-mobile-buybar) { display: none !important; }
#mobilebuttons.rm-mobile-buybar {
    position: fixed;
    z-index: 995;
    right: 10px;
    bottom: calc(10px + env(safe-area-inset-bottom));
    left: 10px;
    display: flex;
    width: auto;
    height: auto;
    min-height: 64px;
    align-items: center;
    gap: 12px;
    padding: 9px 10px 9px 14px;
    border: 1px solid #dfe4ef;
    border-radius: 16px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 12px 32px rgba(6,18,71,.2);
    opacity: 0;
    pointer-events: none;
    transform: translateY(18px);
    transition: opacity .18s ease, transform .18s ease;
}
#mobilebuttons.rm-mobile-buybar.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.rm-mobile-buybar__price { min-width: 0; flex: 1; }
.rm-mobile-buybar__price small { display: block; color: var(--rm-muted); font-size: 10px; }
.rm-mobile-buybar__price strong { display: block; color: var(--rm-navy); font-size: 16px; line-height: 1.2; white-space: nowrap; }
.rm-mobile-buybar__button {
    min-width: 160px;
    min-height: 46px;
    padding: 10px 16px;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: var(--rm-red);
    box-shadow: 0 8px 18px rgba(237,23,68,.18);
    font-size: 14px;
    font-weight: 800;
}
.rm-mobile-buybar__button:hover,
.rm-mobile-buybar__button:focus {
    color: #fff;
    background: #cf1238;
}

@media (max-width: 1199.98px) {
    .rm-product-hero { grid-template-columns: minmax(0, 1.02fr) minmax(360px, .98fr); column-gap: 28px; }
    .rm-product-gallery #sliderSyncingNav,
    .rm-product-gallery #sliderSyncingNav .js-slide > a,
    .rm-product-gallery #sliderSyncingNav .js-slide > model-viewer,
    .rm-product-gallery #sliderSyncingNav .rm-product-image-empty { min-height: 460px; }
}

@media (max-width: 991.98px) {
    .rm-product-hero {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "heading" "gallery" "details" "purchase" "secondary";
        row-gap: 16px;
    }
    .rm-product-heading .product-name { max-width: none; }
    .rm-product-gallery #sliderSyncingNav,
    .rm-product-gallery #sliderSyncingNav .js-slide > a,
    .rm-product-gallery #sliderSyncingNav .js-slide > model-viewer,
    .rm-product-gallery #sliderSyncingNav .rm-product-image-empty { min-height: min(78vw, 650px); }
    .rm-product-buy-column { width: 100% !important; }
}

@media (max-width: 767.98px) {
    .rm-product-page > .container { padding-right: 14px; padding-left: 14px; }
    .rm-product-page .breadcrumb { margin: 9px 0 12px !important; font-size: 12px; }
    .rm-product-page .breadcrumb-item.active { max-width: 58vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .rm-product-page .mb-6 { margin-bottom: 26px !important; }
    .rm-product-heading > .row { padding-bottom: 11px !important; }
    .rm-product-heading .product-brand { margin-bottom: 5px; font-size: 10px; }
    .rm-product-heading .product-name { font-size: 23px !important; line-height: 1.22 !important; }
    .rm-product-gallery {
        margin: 0 !important;
        padding: 10px 10px 12px !important;
        border-radius: 16px;
    }
    .rm-product-gallery #sliderSyncingNav,
    .rm-product-gallery #sliderSyncingNav .js-slide > a,
    .rm-product-gallery #sliderSyncingNav .js-slide > model-viewer,
    .rm-product-gallery #sliderSyncingNav .rm-product-image-empty { min-height: calc(100vw - 50px); }
    .rm-product-gallery #sliderSyncingNav img { max-height: calc(100vw - 50px); }
    .rm-product-gallery .u-slick__arrow-classic { width: 38px; height: 38px; }
    .rm-product-gallery #sliderSyncingThumb { display: block !important; margin-top: 8px; }
    .rm-product-gallery #sliderSyncingThumb .js-slide { min-height: 60px; margin: 0 3px; padding: 4px; }
    .rm-product-gallery #sliderSyncingThumb img { width: 48px; height: 48px; }
    .rm-product-gallery-status { margin-top: 9px; padding: 0 4px; }
    .rm-product-gallery-status span { font-size: 0; }
    .rm-product-gallery-status span::after { content: "Dodirnite sliku za uvećanje"; font-size: 11px; }
    .rm-product-meta { gap: 6px; }
    .rm-product-meta > span { padding: 6px 8px; }
    .rm-product-short-description { font-size: 13px; }
    .rm-product-page .variant-filter { min-height: 44px; padding: 9px 13px; }
    .rm-product-purchase-card { box-shadow: 0 8px 22px rgba(6,18,71,.07) !important; }
    .rm-product-trust-row { grid-template-columns: 1fr; }
    .rm-product-trust-row span { min-height: 36px; justify-content: flex-start; padding: 7px 10px; }
    .rm-product-secondary-info { margin-top: 2px; padding-top: 16px; }
    .rm-product-secondary-info > .align-items-end { grid-template-columns: minmax(0, 1fr); }
    .rm-product-content { margin: 26px 0 !important; border-radius: 15px; }
    .rm-product-content #product-page-tab-togglers { padding: 0 10px !important; overflow: hidden; }
    .rm-product-content .nav-tab {
        display: flex !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
        scrollbar-width: none;
    }
    .rm-product-content .nav-tab::-webkit-scrollbar { display: none; }
    .rm-product-content .nav-link { padding: 14px 12px; font-size: 11px; white-space: nowrap; }
    .rm-product-content .rm-product-tab-body { padding: 16px 13px !important; }
    .rm-product-content .table-responsive { margin-bottom: 0 !important; }
    .rm-product-content .table th,
    .rm-product-content .table td { padding: 11px 9px !important; font-size: 12px; }
    .rm-product-content #longdesc { font-size: 14px; line-height: 1.62; }
    .rm-product-page .product-recommendations { margin-right: 0; margin-left: 0; padding: 17px 12px; }
    .rm-product-page .recommendations-intro { margin-bottom: 18px; }
    .rm-product-declaration { margin-bottom: 28px; }
    .rm-product-declaration summary { min-height: 62px; padding: 12px 14px; }
    .rm-product-declaration-body { padding: 16px 14px 19px; font-size: 13px; }
    body.page_product { padding-bottom: calc(82px + env(safe-area-inset-bottom)); }
}

@media (max-width: 399px) {
    .rm-mobile-buybar__button { min-width: 142px; padding-right: 12px; padding-left: 12px; font-size: 13px; }
    .rm-mobile-buybar__price strong { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
    #mobilebuttons.rm-mobile-buybar,
    .rm-product-page .recommendation-card { transition: none; }
}
