﻿/* Andar de Moto - novo aspeto grafico
   Activado por AppSettings["AdmNovoVisual"]=true (ver Views/Shared/_Layout.cshtml).
   Tudo assenta em body.adm-novo, por isso desligar a flag repoe o aspeto anterior.
   Valores do docs/03-design-system.md do pacote andardemoto-novo-site. */

/* ---------- 1. Variaveis ---------- */
body.adm-novo {
    --brand: #0E444E;
    --brand-deep: #082A31;
    --brand-line: #2C6570;
    --accent: #87AAC3;
    --on-brand: #FFFFFF;
    --on-brand-muted: #C9D6DA;
    --bg: #FFFFFF;
    --surface: #FFFFFF;
    --surface-2: #F1F5F4;
    --tint: #EAF1F0;
    --fg: #14191B;
    --fg-2: #2E3438;
    --muted: #566065;
    --line: #DCE3E1;
    --link: #0E444E;
    --tag-bg: #E1ECEE;
    --tag-fg: #0E444E;
    --good-bg: #E4F1E8;
    --good-fg: #1F6B3A;
    --bad-fg: #9A3A06;
    --block: var(--tint);
    --on-block: var(--fg);

    --font-display: 'Bebas Neue', Oswald, 'Arial Narrow', sans-serif;
    --font-head: 'Barlow Condensed', 'Arial Narrow', sans-serif;
    --font-ui: 'Barlow', system-ui, sans-serif;
    --font-read: 'Source Serif 4', Georgia, serif;

    --radius: 6px;
    --radius-sm: 4px;
    --shadow: 0 1px 2px rgba(14, 68, 78, .05);
    --navh: 48px;
}

html[data-theme="dark"] body.adm-novo {
    color-scheme: dark;
    --brand-deep: #06222A;
    --accent: #8FB4CC;
    --bg: #0C1A1E;
    --surface: #12262B;
    --surface-2: #183238;
    --fg: #E8EEF0;
    --fg-2: #CBD6D9;
    --muted: #9DB0B5;
    --line: #24424A;
    --link: #9CC5D9;
    --tag-bg: #1C3D45;
    --tag-fg: #BFDCE8;
    --good-bg: #173A27;
    --good-fg: #8FD3A6;
    --bad-fg: #F0A27A;
    --block: var(--brand);
    --on-block: var(--on-brand);
    --shadow: none;
}

/* ---------- 2. Base ---------- */
html {
    scroll-padding-top: calc(var(--navh, 48px) + 64px);
}

body.adm-novo,
html body.adm-novo.body-background {
    background-color: var(--bg);
    color: var(--fg);
    font-family: var(--font-ui);
    font-size: 16px;
    line-height: 1.5;
}

body.adm-novo a {
    color: var(--link);
}

body.adm-novo a:hover,
body.adm-novo a:focus {
    color: var(--brand);
    text-decoration: underline;
}

body.adm-novo h1,
body.adm-novo h2,
body.adm-novo h3 {
    font-family: var(--font-head);
    font-weight: 700;
    line-height: 1.1;
    color: var(--fg);
    text-wrap: balance;
}

body.adm-novo h4,
body.adm-novo h5 {
    font-family: var(--font-ui);
    color: var(--fg);
}

body.adm-novo :focus-visible {
    outline: 3px solid var(--accent);
    outline-offset: 2px;
}

body.adm-novo img {
    max-width: 100%;
}

/* ---------- 3. Barra de rede (topo) ---------- */
body.adm-novo #brandm_portal_top_bar.top-bar {
    background-color: var(--brand-deep);
    font-family: var(--font-ui);
    font-size: 14px;
}

body.adm-novo #brandm_portal_top_bar ul {
    border-bottom: 1px solid var(--brand-line);
}

body.adm-novo #brandm_portal_top_bar a:link,
body.adm-novo #brandm_portal_top_bar a:visited,
body.adm-novo #brandm_portal_top_bar a:active {
    color: var(--on-brand-muted);
}

body.adm-novo #brandm_portal_top_bar a:hover,
body.adm-novo #brandm_portal_top_bar a:focus {
    color: var(--on-brand);
    text-decoration: none;
}

/* ---------- 4. Cabecalho: logotipo e leaderboard ---------- */
body.adm-novo .layout-site-bar {
    background-color: var(--bg);
    padding-top: 10px;
    padding-bottom: 10px;
}

@media (max-width: 900px) {
    body.adm-novo .layout-site-bar img {
        max-height: 34px;
        width: auto;
    }
}

/* ---------- 5. Menu principal ---------- */
body.adm-novo .megamenu .primary-menu {
    background-color: var(--brand);
    border-bottom: 0;
    max-height: none;
}

body.adm-novo .megamenu .container {
    height: var(--navh) !important;
}

body.adm-novo #nav1 .navbar-nav li,
body.adm-novo #nav1 .navbar-nav li a {
    font-family: var(--font-display);
    font-size: 20px;
    letter-spacing: .03em;
    font-weight: 400;
}

body.adm-novo .megamenu .navbar .nav > li > a,
body.adm-novo .navbar .nav > li > a {
    color: var(--on-brand);
    padding: 0 12px;
    line-height: var(--navh);
    height: var(--navh);
    border-bottom: 3px solid transparent;
    transition: background-color .15s, border-color .15s;
}

body.adm-novo .layout-menu-bar .navbar-default .navbar-nav > li > a:hover,
body.adm-novo .layout-menu-bar .navbar-default .navbar-nav > li > a:focus,
body.adm-novo .megamenu .navbar .nav li.dropdown.open > .dropdown-toggle {
    background-color: var(--brand-deep);
    color: var(--on-brand);
    height: var(--navh);
    border-bottom-color: var(--accent);
    text-decoration: none;
}

body.adm-novo .megamenu .navbar .nav li.dropdown.active > .dropdown-toggle,
body.adm-novo .megamenu .navbar .nav > li.active > a {
    background-color: transparent;
    color: var(--on-brand);
    border-bottom-color: var(--accent);
    height: var(--navh);
}

body.adm-novo .megamenu li.active {
    background-image: none;
}

body.adm-novo .megamenu .dropdown-menu {
    background-color: var(--surface);
    color: var(--fg);
    border: 1px solid var(--line);
    border-top: 3px solid var(--brand);
    border-radius: 0 0 var(--radius) var(--radius);
    box-shadow: 0 8px 24px rgba(8, 42, 49, .18);
}

body.adm-novo .megamenu .dropdown-menu a {
    color: var(--link);
    font-family: var(--font-ui);
    text-transform: none;
    font-size: 16px;
}

/* pesquisa no menu */
body.adm-novo .megamenu .navbar-form .form-control {
    background-color: var(--brand-deep);
    border: 1px solid var(--brand-line);
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
    color: var(--on-brand);
    box-shadow: none;
    height: 34px;
}

body.adm-novo .megamenu .navbar-form .form-control::placeholder {
    color: var(--on-brand-muted);
}

body.adm-novo .megamenu .navbar-form .btn-default {
    background-color: var(--accent);
    border-color: var(--accent);
    color: var(--brand-deep);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    height: 34px;
}

body.adm-novo .navbar-toggle {
    background-color: transparent;
    border: 1px solid var(--brand-line);
    border-radius: var(--radius-sm);
    min-width: 44px;
    min-height: 44px;
    margin: 2px 0 2px 16px;
}

body.adm-novo .navbar-toggle .icon-bar {
    background-color: var(--on-brand);
}

@media (max-width: 900px) {
    body.adm-novo #nav1.navbar-collapse {
        background-color: var(--brand);
        border-top: 1px solid var(--brand-line);
        box-shadow: none;
        max-height: 80vh;
    }

    body.adm-novo .megamenu .navbar .nav > li > a {
        line-height: 44px;
        height: 44px;
        border-bottom: 1px solid var(--brand-line);
    }
}

/* submenu / localizacao */
body.adm-novo .pages-header,
body.adm-novo .location-menu {
    font-family: var(--font-ui);
    color: var(--muted);
}

/* ---------- 6. Zona de conteudo ---------- */
body.adm-novo #sn-zone-content,
body.adm-novo #sn-zone-right-bar {
    font-family: var(--font-ui);
}

body.adm-novo #sn-zone-content {
    padding-top: 16px;
}

/* titulos de pagina e de bloco */
body.adm-novo .sn-page-title h1,
body.adm-novo h1.sn-page-title {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: clamp(30px, 3.4vw, 40px);
    line-height: 1;
    color: var(--fg);
}

body.adm-novo .sn-page-title {
    border-bottom: 2px solid var(--brand);
    padding-bottom: 6px;
    margin-bottom: 20px;
}

body.adm-novo .sn-content .content-block-title,
body.adm-novo .content-block-title {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: 26px;
    letter-spacing: .02em;
    color: var(--brand);
}

body.adm-novo .search-section-link,
body.adm-novo .search-section-box .search-section-link,
body.adm-novo .search-section-link a:hover,
body.adm-novo .search-section-link a:focus {
    background-color: var(--brand);
    color: var(--on-brand) !important;
    font-family: var(--font-display);
    letter-spacing: .04em;
    padding: 1px 8px;
    border-radius: var(--radius-sm);
}

/* ---------- 7. Cartoes de listagem ---------- */
body.adm-novo a.content_list_item {
    display: block;
    background-color: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
    text-decoration: none;
    transition: border-color .15s, box-shadow .15s;
}

body.adm-novo a.content_list_item:hover,
body.adm-novo a.content_list_item:focus {
    border-color: var(--brand);
    box-shadow: 0 4px 14px rgba(14, 68, 78, .14);
    background-color: var(--surface);
}

body.adm-novo .content_list_item img,
body.adm-novo .content_list_item .pull-left {
    float: none !important;
    display: block;
    width: 100%;
    height: auto;
    margin: 0 !important;
}

body.adm-novo .content_list_item img {
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

body.adm-novo .content_list_item_text {
    padding: 10px 14px 12px;
}

body.adm-novo .content_list_item h4,
body.adm-novo h4.content_title_color {
    font-family: var(--font-ui);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--fg);
    margin: 4px 0 6px;
    min-height: 2.5em;
    max-height: 2.5em;
}

body.adm-novo a.content_list_item:hover h4 {
    color: var(--brand);
}

body.adm-novo .content_list_item p {
    font-size: 15px;
    line-height: 1.4;
    color: var(--muted);
    margin: 0 0 6px;
}

/* etiqueta de categoria / data */
body.adm-novo .media-datetime,
body.adm-novo .main-articles .media-datetime {
    display: inline-block;
    background-color: var(--tag-bg);
    color: var(--tag-fg);
    font-family: var(--font-display);
    font-size: 15px;
    letter-spacing: .04em;
    line-height: 1.3;
    padding: 0 7px;
    border-radius: var(--radius-sm);
    vertical-align: 1px;
}

body.adm-novo .content_list_item_source {
    font-size: 14px;
    color: var(--muted);
}

body.adm-novo .content_list_spliter {
    height: 20px;
}

/* ---------- 8. Artigo ---------- */
body.adm-novo .sn-content,
body.adm-novo .main-articles2 {
    background-color: transparent;
    color: var(--fg-2);
}

body.adm-novo .sn-content h1 {
    font-family: var(--font-head);
    font-size: clamp(32px, 4.4vw, 54px);
    font-weight: 700;
    line-height: 1.03;
    color: var(--fg);
    text-wrap: balance;
}

body.adm-novo .sn-content h2,
body.adm-novo .sn-content h3 {
    font-family: var(--font-head);
    font-size: 25px;
    color: var(--brand);
}

body.adm-novo .content-lead {
    font-family: var(--font-read);
    font-size: clamp(17px, 1.6vw, 20px);
    font-weight: 600;
    line-height: 1.45;
    color: var(--fg);
}

body.adm-novo .sn-content .content-block p,
body.adm-novo .sn-content .content-block li {
    font-family: var(--font-read);
    font-size: 19px;
    line-height: 1.65;
    color: var(--fg-2);
}

body.adm-novo .sn-content .content-block p {
    margin: 0 0 1.1em;
    max-width: 75ch;
}

body.adm-novo .foto-label {
    font-family: var(--font-ui);
    font-size: 14px;
    color: var(--muted);
}

body.adm-novo .sn-content table {
    background-color: var(--surface);
    border-color: var(--line);
}

body.adm-novo .sn-content table th {
    background-color: var(--surface-2);
    color: var(--fg);
}

body.adm-novo .sn-content table td,
body.adm-novo .sn-content table th {
    border-color: var(--line);
}

/* ---------- 9. Coluna lateral e widgets ---------- */
body.adm-novo #sn-zone-right-bar {
    font-size: 16px;
}

@media (min-width: 901px) {
    body.adm-novo #sn-zone-right-bar {
        padding-left: 20px;
    }
}

body.adm-novo .mini-news-header,
body.adm-novo .sn-widget-news-box .sn-widget-news-box-header .sn-widget-news-box-header-text {
    background-color: transparent;
    color: var(--fg);
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 400;
    letter-spacing: .02em;
    padding: 0;
}

body.adm-novo .sn-widget-news-box .sn-widget-news-box-header {
    border-bottom: 2px solid var(--brand);
    margin-top: 20px;
    padding-bottom: 4px;
}

body.adm-novo .mini-news {
    background-color: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
}

body.adm-novo .mini-news .stripped,
body.adm-novo .mini-news .stripped-odd {
    background-color: var(--surface);
    border-bottom: 1px solid var(--line);
}

body.adm-novo .mini-news .stripped-odd {
    background-color: var(--surface-2);
}

body.adm-novo .mini-news .stripped:hover,
body.adm-novo .mini-news .stripped-odd:hover {
    color: var(--brand);
}

body.adm-novo .sn-widget-brands-promotion img,
body.adm-novo .sn-widget-brands-promotion-xs img,
body.adm-novo .sn-widget-brand-rotator-top.tag-color-site img {
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    background-color: #FFFFFF;
}

body.adm-novo .sn-widget-brand-rotator-top {
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    border-radius: 0;
}

body.adm-novo .sn-widget-brand-rotator-top.tag-color-site,
body.adm-novo .sn-widget-brand-rotator-top.tag-color-site div,
body.adm-novo .sn-widget-brand-rotator-top.tag-color-site div div,
body.adm-novo .sn-widget-brand-rotator-top.tag-color-site h2 {
    background-color: var(--surface-2);
    color: var(--fg);
}

body.adm-novo .panel,
body.adm-novo .well {
    background-color: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

/* publicidade: rotulo */
body.adm-novo .pub:after {
    font-family: var(--font-ui);
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--muted);
}

/* ---------- 10. Botoes e formularios ---------- */
body.adm-novo .btn {
    font-family: var(--font-ui);
    font-weight: 600;
    border-radius: var(--radius-sm);
}

body.adm-novo .btn-default,
body.adm-novo .btn-primary {
    background-color: var(--brand);
    border-color: var(--brand);
    color: var(--on-brand);
}

body.adm-novo .btn-default:hover,
body.adm-novo .btn-default:focus,
body.adm-novo .btn-default:active,
body.adm-novo .btn-primary:hover,
body.adm-novo .btn-primary:focus,
body.adm-novo .btn-primary:active {
    background-color: var(--brand-deep);
    border-color: var(--brand-deep);
    color: var(--on-brand);
}

body.adm-novo .form-control {
    background-color: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    color: var(--fg);
    box-shadow: none;
}

body.adm-novo .form-control:focus {
    border-color: var(--brand);
    outline: 3px solid var(--accent);
    outline-offset: 0;
    box-shadow: none;
}

body.adm-novo label {
    font-weight: 600;
    color: var(--fg-2);
}

body.adm-novo .alert {
    border-radius: var(--radius);
}

body.adm-novo .alert-success {
    background-color: var(--good-bg);
    border-color: var(--good-bg);
    color: var(--good-fg);
}

body.adm-novo .alert-danger {
    color: var(--bad-fg);
}

/* paginacao */
body.adm-novo .pagination > li > a,
body.adm-novo .pagination > li > span {
    color: var(--link);
    background-color: var(--surface);
    border-color: var(--line);
    min-width: 40px;
    text-align: center;
}

body.adm-novo .pagination > .active > a,
body.adm-novo .pagination > .active > span {
    background-color: var(--brand);
    border-color: var(--brand);
    color: var(--on-brand);
}

/* ---------- 11. Rodape ---------- */
body.adm-novo footer {
    margin-top: 40px;
}

body.adm-novo .footer-bar {
    background-color: var(--brand-deep);
    color: var(--on-brand-muted);
    font-family: var(--font-ui);
    font-size: 14px;
    border-top: 4px solid var(--brand);
}

body.adm-novo .footer-bar a {
    color: var(--on-brand);
}

body.adm-novo .footer-bar a:hover,
body.adm-novo .footer-bar a:focus {
    color: var(--accent);
}

body.adm-novo .footer-bar .footer-text,
body.adm-novo .footer-bar .foot-phrase {
    color: var(--on-brand-muted);
}

/* ---------- 12. Movimento e telemovel ---------- */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    body.adm-novo * {
        transition: none !important;
        animation: none !important;
    }
}

@media (max-width: 600px) {
    body.adm-novo .content_list_item_text {
        padding: 8px 12px 10px;
    }

    body.adm-novo .sn-content .content-block p,
    body.adm-novo .sn-content .content-block li {
        font-size: 18px;
    }
}
/* ---------- 13. Home: manchete (4 destaques) ---------- */
body.adm-novo .gallery-fixed4images {
    background-color: var(--block) !important;
    color: var(--on-block) !important;
    border-radius: var(--radius);
    margin: 0 0 20px;
    padding: 14px 9px 4px;
}

body.adm-novo .gallery-fixed4images > div {
    margin-bottom: 10px;
}

body.adm-novo .gallery-fixed4images a {
    display: block;
    color: var(--on-block) !important;
    text-decoration: none;
}

body.adm-novo .gallery-fixed4images img {
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: var(--radius-sm);
    transition: opacity .15s;
}

body.adm-novo .gallery-fixed4images a:hover img,
body.adm-novo .gallery-fixed4images a:focus img {
    opacity: .88;
}

body.adm-novo .gallery-fixed4images p {
    font-family: var(--font-head);
    font-size: 19px;
    font-weight: 700;
    line-height: 1.15;
    margin: 8px 0 0;
    text-wrap: balance;
}

body.adm-novo .gallery-fixed4images a:hover p,
body.adm-novo .gallery-fixed4images a:focus p {
    text-decoration: underline;
}

/* listas a duas colunas: cartoes com a mesma altura */
body.adm-novo .content_list_two_columns > div {
    margin-bottom: 4px;
}

/* ---------- 14. Artigo: autor, data, seguinte ---------- */
body.adm-novo .source-new {
    font-family: var(--font-ui);
    font-size: 14px;
    color: var(--muted);
    margin: 8px 0 16px;
}

body.adm-novo .source-new .author {
    color: var(--fg);
    font-weight: 600;
}

body.adm-novo .content_col_author {
    background-color: var(--surface-2);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 8px;
}

body.adm-novo .content_col_author img {
    border-radius: var(--radius-sm);
}

body.adm-novo .content_col_author_name {
    font-family: var(--font-head);
    font-size: 18px;
    font-weight: 700;
    color: var(--fg);
}

body.adm-novo .content_col_author_cv {
    font-size: 14px;
    font-weight: 400;
    color: var(--muted);
}

body.adm-novo a.content_col_next {
    display: block;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    overflow: hidden;
    background-color: var(--surface);
}

body.adm-novo a.content_col_next:hover,
body.adm-novo a.content_col_next:focus {
    border-color: var(--brand);
}

body.adm-novo .sn-content .content-block img {
    border-radius: var(--radius-sm);
    height: auto;
}

body.adm-novo .sn-content .content-block a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

body.adm-novo .sn-content blockquote {
    border-left: 4px solid var(--brand);
    background-color: var(--surface-2);
    font-family: var(--font-read);
    font-size: 19px;
    color: var(--fg);
    padding: 10px 18px;
    margin: 1.2em 0;
}

@media (max-width: 600px) {
    body.adm-novo .gallery-fixed4images p {
        font-size: 17px;
    }
}
/* ---------- 15. Catalogo de motos ---------- */
body.adm-novo .product-list2 {
    background-color: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
}

body.adm-novo .product-list2:hover {
    border-color: var(--brand);
}

body.adm-novo .product-list2 img {
    background-color: #FFFFFF;
    object-fit: contain;
    aspect-ratio: 3 / 2;
}

body.adm-novo .product-list2-name {
    font-family: var(--font-ui);
    font-weight: 700;
    font-size: 18px;
    line-height: 1.25;
    color: var(--fg);
}

body.adm-novo .product-list2 p,
body.adm-novo .product-list2 p .cmp-prod2 {
    color: var(--muted);
}

body.adm-novo .product-list2-price,
body.adm-novo .product-price-hor {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: 24px;
    font-variant-numeric: tabular-nums;
    color: var(--brand);
}

body.adm-novo .product-list2-old-price {
    font-size: 16px;
    color: var(--muted);
    text-decoration: line-through;
}

body.adm-novo .product-status,
body.adm-novo .product-status-top {
    font-family: var(--font-ui);
    font-size: 13px;
    font-weight: 600;
    background-color: var(--tag-bg);
    color: var(--tag-fg);
    border-radius: var(--radius-sm);
    padding: 1px 7px;
}

body.adm-novo .catalog-product-features {
    background-color: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
}

body.adm-novo .catalog-product-features-label-group {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 400;
    letter-spacing: .02em;
    color: var(--brand);
}

body.adm-novo .catalog-product-features-label {
    font-weight: 600;
    color: var(--fg-2);
}

/* ---------- 16. Botao de tema ---------- */
body.adm-novo .adm-tema {
    background-color: transparent;
    border: 1px solid var(--brand-line);
    border-radius: var(--radius-sm);
    color: var(--on-brand);
    font-family: var(--font-ui);
    font-size: 14px;
    font-weight: 600;
    min-height: 44px;
    padding: 0 14px;
    cursor: pointer;
}

body.adm-novo .adm-tema:hover,
body.adm-novo .adm-tema:focus-visible {
    background-color: var(--brand);
}

body.adm-novo .adm-tema-bar {
    background-color: var(--brand-deep);
    padding: 12px 0 0;
    text-align: center;
}
/* ---------- 17. Formularios, contacto e pesquisa ---------- */
body.adm-novo .contact-form,
body.adm-novo .contactTitle ~ form {
    max-width: 760px;
}

body.adm-novo .control-label {
    font-family: var(--font-ui);
    font-size: 15px;
    font-weight: 600;
    color: var(--fg-2);
}

body.adm-novo .controls .form-control,
body.adm-novo textarea.form-control,
body.adm-novo select.form-control {
    min-height: 44px;
    padding: 8px 12px;
    font-size: 16px;
}

body.adm-novo textarea.form-control {
    min-height: 120px;
}

body.adm-novo .input-sm {
    min-height: 40px;
    height: auto;
    font-size: 16px;
    border-radius: var(--radius-sm);
}

body.adm-novo .input-group-btn .btn {
    min-height: 40px;
}

body.adm-novo .input-group .form-control:first-child {
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

body.adm-novo .input-group-btn:last-child > .btn {
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

body.adm-novo .radio-inline,
body.adm-novo .checkbox-inline,
body.adm-novo .checkbox label,
body.adm-novo .radio label {
    font-weight: 500;
    color: var(--fg-2);
}

body.adm-novo input[type="checkbox"],
body.adm-novo input[type="radio"] {
    accent-color: var(--brand);
}

body.adm-novo .politiclinks,
body.adm-novo .politiclinks a {
    font-size: 14px;
    color: var(--muted);
}

body.adm-novo .alert-warning {
    background-color: var(--surface-2);
    border-color: var(--line);
    color: var(--fg);
}

body.adm-novo .alert-danger {
    background-color: var(--surface);
    border: 1px solid var(--bad-fg);
}

body.adm-novo .has-error .form-control,
body.adm-novo .formError {
    border-color: var(--bad-fg);
}

/* pagina de pesquisa */
body.adm-novo .search_page .search-query,
body.adm-novo input.search-query {
    min-height: 44px;
    font-size: 17px;
}

body.adm-novo .margin-search {
    margin-bottom: 12px;
}

/* menus suspensos genericos (filtros, marcas) */
body.adm-novo .dropdown-menu {
    background-color: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: 0 8px 24px rgba(8, 42, 49, .18);
}

body.adm-novo .dropdown-menu > li > a {
    color: var(--fg);
    padding: 8px 16px;
}

body.adm-novo .dropdown-menu > li > a:hover,
body.adm-novo .dropdown-menu > li > a:focus,
body.adm-novo .dropdown-menu > .active > a {
    background-color: var(--tag-bg);
    color: var(--tag-fg);
}

/* ---------- 18. Modais, separadores, acordeoes ---------- */
body.adm-novo .modal-content {
    background-color: var(--surface);
    color: var(--fg);
    border: 1px solid var(--line);
    border-radius: var(--radius);
}

body.adm-novo .modal-header,
body.adm-novo .modal-footer {
    border-color: var(--line);
}

body.adm-novo .modal-title {
    font-family: var(--font-head);
    font-weight: 700;
}

body.adm-novo .close {
    color: var(--fg);
    opacity: .7;
}

body.adm-novo .nav-tabs {
    border-bottom: 2px solid var(--line);
}

body.adm-novo .nav-tabs > li > a {
    font-family: var(--font-display);
    font-size: 19px;
    letter-spacing: .03em;
    color: var(--muted);
    border-radius: var(--radius-sm) var(--radius-sm) 0 0;
    border: 1px solid transparent;
}

body.adm-novo .nav-tabs > li > a:hover,
body.adm-novo .nav-tabs > li > a:focus {
    background-color: var(--surface-2);
    border-color: var(--line) var(--line) transparent;
    color: var(--brand);
}

body.adm-novo .nav-tabs > li.active > a,
body.adm-novo .nav-tabs > li.active > a:hover,
body.adm-novo .nav-tabs > li.active > a:focus {
    background-color: var(--surface);
    border-color: var(--brand) var(--line) transparent;
    border-top: 3px solid var(--brand);
    color: var(--brand);
}

body.adm-novo .panel-default > .panel-heading {
    background-color: var(--surface-2);
    border-color: var(--line);
    color: var(--fg);
}

body.adm-novo .panel-title {
    font-family: var(--font-ui);
    font-weight: 700;
}

body.adm-novo .panel-default h4 > a,
body.adm-novo .panel-title > a {
    color: var(--fg);
}

body.adm-novo .panel-body {
    color: var(--fg-2);
}

body.adm-novo .breadcrumb {
    background-color: transparent;
    padding-left: 0;
    color: var(--muted);
}

body.adm-novo .label,
body.adm-novo .badge {
    background-color: var(--tag-bg);
    color: var(--tag-fg);
    font-family: var(--font-ui);
    font-weight: 600;
    border-radius: var(--radius-sm);
}

body.adm-novo hr {
    border-top: 1px solid var(--line);
}

body.adm-novo .table > thead > tr > th,
body.adm-novo .table > tbody > tr > td,
body.adm-novo .table > tbody > tr > th {
    border-color: var(--line);
}

body.adm-novo .table-striped > tbody > tr:nth-of-type(odd) {
    background-color: var(--surface-2);
}

body.adm-novo .list-group-item {
    background-color: var(--surface);
    border-color: var(--line);
    color: var(--fg);
}

body.adm-novo .thumbnail {
    background-color: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
}

body.adm-novo .well-rotator a.thumbnail {
    color: var(--link);
}

body.adm-novo .well-rotator a.thumbnail:hover,
body.adm-novo .well-rotator a.thumbnail:focus {
    background-color: var(--tag-bg);
    color: var(--tag-fg);
    border-radius: var(--radius);
}

/* ---------- 19. Marcas, locais e diretorio ---------- */
body.adm-novo .bm-list-place-block {
    background-color: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 12px;
    margin-bottom: 16px;
    overflow: hidden;
}

body.adm-novo .bm-list-place-logo {
    background-color: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
    object-fit: contain;
    padding: 4px;
}

body.adm-novo .bm-list-place-title {
    font-family: var(--font-head);
    font-size: 22px;
    font-weight: 700;
    color: var(--fg);
}

body.adm-novo .bm-list-place-text,
body.adm-novo .bm-list-place-info {
    color: var(--muted);
    font-size: 15px;
}

body.adm-novo .bm-title-hr {
    background: var(--brand);
    height: 2px;
}

body.adm-novo .bm-place-map {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    overflow: hidden;
}

body.adm-novo .more-places-list h4 {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 400;
    color: var(--brand);
}

body.adm-novo .sn-widget-place-brands img {
    background-color: #FFFFFF;
    border: 1px solid var(--line);
    border-radius: var(--radius-sm);
}

/* faixa de marcas e rotadores: logotipos sempre em fundo branco */
body.adm-novo .sn-widget-brands-promotion a,
body.adm-novo .sn-widget-brands-promotion-xs a {
    background-color: #FFFFFF;
    color: #1B2226;
    border-radius: var(--radius-sm);
}

body.adm-novo .sn-widget-brand-rotator-top img {
    background-color: #FFFFFF;
}

/* menu da micro-pagina da marca */
body.adm-novo .bm-menu-microsite {
    font-family: var(--font-ui);
    font-size: 15px;
}

body.adm-novo .bm-menu-microsite .panel > .panel-heading > li.active,
body.adm-novo .bm-menu-microsite .panel > .panel-heading > li:hover {
    background-image: none;
    border-bottom: 3px solid var(--brand);
}

body.adm-novo .tag-color-site,
body.adm-novo .tag-color-site a:hover,
body.adm-novo .tag-color-site a:focus {
    background-color: var(--brand);
    color: var(--on-brand);
}

/* ---------- 20. Newsletter, formularios rapidos, multimedia ---------- */
body.adm-novo .cm-btn {
    background-color: var(--brand);
    border-color: var(--brand);
    color: var(--on-brand);
    font-family: var(--font-ui);
    font-weight: 600;
    border-radius: var(--radius-sm);
    min-height: 40px;
}

body.adm-novo .cm-btn:hover,
body.adm-novo .cm-btn:focus {
    background-color: var(--brand-deep);
    border-color: var(--brand-deep);
    color: var(--on-brand);
}

body.adm-novo #sn-zone-right-bar .content-block-title {
    font-size: 24px;
}

body.adm-novo .multimedia-box a,
body.adm-novo .media-box .multimedia-box > h4 {
    color: var(--link);
}

body.adm-novo .multimedia-box .hover_highlight a:hover,
body.adm-novo .multimedia-box .hover_highlight:hover,
body.adm-novo .brand_hover:hover,
body.adm-novo .brand_hover:hover a,
body.adm-novo .brand_hover:hover p {
    background-color: var(--tag-bg);
    color: var(--tag-fg) !important;
}

body.adm-novo .multimedia-box img,
body.adm-novo .thumbnails img {
    border-radius: var(--radius-sm);
}

body.adm-novo .media {
    color: var(--fg-2);
}

body.adm-novo .media-heading {
    font-family: var(--font-ui);
    font-weight: 700;
    color: var(--fg);
}

/* ---------- 21. Paginacao, 404, mapa do site ---------- */
body.adm-novo .pagination_list .pages {
    font-size: 14px;
    color: var(--muted);
    margin-right: 8px;
}

body.adm-novo .pagination > li:first-child > a,
body.adm-novo .pagination > li:last-child > a {
    border-radius: var(--radius-sm);
}

body.adm-novo .pagination > li > a:hover,
body.adm-novo .pagination > li > a:focus {
    background-color: var(--tag-bg);
    color: var(--tag-fg);
}

body.adm-novo .sitemap a,
body.adm-novo .submenulinks a,
body.adm-novo .menulinks a {
    color: var(--link);
}

body.adm-novo .menulinks-header {
    font-family: var(--font-display);
    font-size: 22px;
    color: var(--brand);
}

/* ---------- 22. Rodape, revista e galerias ---------- */
body.adm-novo .footer-bar .footer {
    border-color: var(--brand-line);
}

body.adm-novo .footer-bar .list-inline > li {
    padding-right: 14px;
}

body.adm-novo .footer-bar .list-inline > li > a {
    display: inline-block;
    padding: 6px 0;
}

body.adm-novo .footer-bar img {
    opacity: .9;
}

body.adm-novo .gallery-fixed4images,
body.adm-novo .galleria-container {
    border-radius: var(--radius);
}

body.adm-novo .sn-header-tom-vitoin,
body.adm-novo .sn-header-comics-beatriz {
    background-color: #FFFFFF;
    color: #1B2226;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 8px;
    margin-bottom: 20px;
}

body.adm-novo .sn-header-tom-vitoin h2 {
    color: #1B2226;
}

/* ---------- 23. Ajustes finos de telemovel ---------- */
@media (max-width: 900px) {
    body.adm-novo #sn-zone-right-bar {
        padding-left: 15px;
        margin-top: 24px;
    }

    body.adm-novo .btn,
    body.adm-novo .form-control,
    body.adm-novo .pagination > li > a {
        min-height: 44px;
    }
}

@media (max-width: 600px) {
    body.adm-novo .bm-list-place-block .pull-left {
        float: none !important;
        display: block;
        margin-bottom: 8px;
    }

    body.adm-novo .bm-list-place-info {
        margin-left: 0 !important;
    }

    body.adm-novo .pagination_list ul.pull-right {
        float: none !important;
    }

    body.adm-novo .nav-tabs > li {
        float: none;
    }
}

body.adm-novo {
    overflow-x: hidden;
}
/* ---------- 24. Correcoes apos teste na beta ---------- */
/* Home (IndexBrandM_V2): titulo sobre a fotografia, com degradado para garantir contraste */
body.adm-novo a.content_list_item_only_title {
    position: relative;
}

body.adm-novo .content_list_item_only_title .content_list_author {
    left: 0;
    right: 0;
    bottom: 0;
    padding: 36px 14px 12px;
    background: linear-gradient(to bottom, rgba(8, 42, 49, 0) 0%, rgba(8, 42, 49, .88) 100%);
    color: #FFFFFF;
    font-family: var(--font-head);
    font-size: clamp(19px, 1.7vw, 24px);
    font-weight: 700;
    line-height: 1.12;
    text-wrap: balance;
}

body.adm-novo .content_list_item_only_title:hover .content_list_author {
    text-decoration: underline;
}

/* pesquisa do menu: nao deixar o campo colapsar em ecras estreitos */
body.adm-novo .megamenu .navbar-form .form-control {
    min-width: 100px;
    font-size: 15px;
}

@media (max-width: 900px) {
    body.adm-novo .megamenu .navbar-form {
        margin: 6px 8px 0 0;
        padding: 0;
    }

    body.adm-novo .megamenu .navbar-form .form-control {
        width: 120px;
    }

    body.adm-novo #social-btn {
        display: none;
    }
}
/* titulos dentro das caixas de marcas assentam em branco nos dois temas */
body.adm-novo .sn-widget-brands-promotion a .mini-news-header,
body.adm-novo .sn-widget-brands-promotion-xs a .mini-news-header {
    color: #1B2226;
}
