:root {
        --buytuga-footer-bg: #0B1F33;
        --buytuga-footer-text: #FFFFFF;
        --buytuga-footer-link: #DCEBFA;
        --buytuga-footer-accent: #60A5FA;
        --buytuga-image-bg: #FFFFFF;
        --buytuga-image-padding: 16px;
    }

    /* Rodapé configurável, incluindo a zona inferior e widgets do Shofy. */
    footer,
    footer[class],
    .tp-footer-area,
    .tp-footer-bottom,
    [class*="tp-footer-"] {
        background-color: var(--buytuga-footer-bg) !important;
    }

    footer h1,
    footer h2,
    footer h3,
    footer h4,
    footer h5,
    footer h6,
    footer p,
    footer li,
    footer address,
    footer span:not(.badge),
    footer strong {
        color: var(--buytuga-footer-text) !important;
    }

    /* Ganha à especificidade do tema no texto “Sobre a BuyTuga”. */
    body footer .tp-footer-widget-content,
    body footer .tp-footer-widget-content p,
    body footer .tp-footer-desc,
    body footer .tp-footer-desc p,
    body footer [class*="footer-about"],
    body footer [class*="footer-about"] p,
    body footer .text-muted,
    body footer small {
        color: var(--buytuga-footer-text) !important;
        opacity: 1 !important;
        -webkit-text-fill-color: var(--buytuga-footer-text) !important;
    }

    footer a,
    footer a span {
        color: var(--buytuga-footer-link) !important;
        -webkit-text-fill-color: var(--buytuga-footer-link) !important;
    }

    footer a:hover,
    footer a:hover span {
        color: var(--buytuga-footer-accent) !important;
        -webkit-text-fill-color: var(--buytuga-footer-accent) !important;
    }

    footer hr,
    footer [class*="border"] {
        border-color: color-mix(in srgb, var(--buytuga-footer-text) 18%, transparent) !important;
    }

    /* Marcas: o JS converte a grelha nativa Shofy num carrossel de uma linha. */
    main section[data-block-id^="ecommerce-brands"] [class*="brand"] a,
    main .tp-brand-item a,
    main [class*="brand-item"] a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 72px;
    }

    main section[data-block-id^="ecommerce-brands"] img,
    main .tp-brand-item img,
    main [class*="brand-item"] img {
        display: block !important;
        width: auto !important;
        height: auto !important;
        max-width: 110px !important;
        max-height: 52px !important;
        margin: auto !important;
        object-fit: contain !important;
        object-position: center !important;
    }

    .bthm-brand-source-hidden {
        display: none !important;
    }

    .bthm-brand-viewport {
        position: relative;
        width: 100%;
        margin-top: 28px;
        padding: 0 48px;
    }

    .bthm-brand-track {
        display: flex !important;
        width: 100%;
        min-width: 0;
        margin: 0 !important;
        padding: 2px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        flex-flow: row nowrap !important;
        gap: 14px !important;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }

    .bthm-brand-track::-webkit-scrollbar {
        display: none;
    }

    .bthm-brand-card {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: clamp(142px, 14vw, 190px) !important;
        min-width: clamp(142px, 14vw, 190px) !important;
        height: 116px;
        padding: 20px;
        overflow: hidden;
        border: 1px solid #e5e9ef;
        border-radius: 10px;
        background: #fff;
        box-shadow: 0 2px 8px rgba(16, 24, 40, .025);
        scroll-snap-align: start;
        transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    }

    .bthm-brand-card:hover {
        border-color: color-mix(in srgb, var(--tp-theme-primary, #1668b2) 35%, #e5e9ef);
        box-shadow: 0 9px 24px rgba(16, 24, 40, .08);
        transform: translateY(-2px);
    }

    .bthm-brand-card picture {
        display: contents;
    }

    .bthm-brand-card img {
        display: block !important;
        width: auto !important;
        height: auto !important;
        max-width: 104px !important;
        max-height: 54px !important;
        margin: auto !important;
        object-fit: contain !important;
        object-position: center !important;
    }

    .bthm-brand-arrow {
        position: absolute;
        z-index: 3;
        top: 50%;
        display: grid;
        width: 38px;
        height: 38px;
        padding: 0;
        place-items: center;
        border: 1px solid #d8dee8;
        border-radius: 50%;
        color: #0b1f33;
        background: #fff;
        box-shadow: 0 6px 18px rgba(16, 24, 40, .12);
        transform: translateY(-50%);
        transition: color .2s ease, background .2s ease, border-color .2s ease, opacity .2s ease;
    }

    .bthm-brand-arrow--previous { left: 0; }
    .bthm-brand-arrow--next { right: 0; }

    .bthm-brand-arrow:hover:not(:disabled),
    .bthm-brand-arrow:focus-visible {
        border-color: var(--tp-theme-primary, #1668b2);
        color: #fff;
        background: var(--tp-theme-primary, #1668b2);
        outline: none;
    }

    .bthm-brand-arrow:disabled {
        cursor: default;
        opacity: .28;
    }

    .bthm-brand-arrow[hidden] {
        display: none !important;
    }

    @media (max-width: 767px) {
        .bthm-brand-viewport {
            margin-top: 20px;
            padding: 0 38px;
        }

        .bthm-brand-track { gap: 10px !important; }

        .bthm-brand-card {
            width: min(42vw, 150px) !important;
            min-width: min(42vw, 150px) !important;
            height: 98px;
            padding: 16px;
        }

        .bthm-brand-card img {
            max-width: 90px !important;
            max-height: 46px !important;
        }

        .bthm-brand-arrow {
            width: 32px;
            height: 32px;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .bthm-brand-track { scroll-behavior: auto; }
        .bthm-brand-card { transition: none; }
    }

    /* Fotografias completas nos cartões nativos Shofy: nunca usar cover. */
    main section[data-block-id^="ecommerce-product"] .tp-product-item {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        overflow: hidden;
        background: #fff;
    }

    main section[data-block-id^="ecommerce-product"] .tp-product-thumb,
    main .tp-product-item > .tp-product-thumb {
        display: grid !important;
        place-items: center !important;
        width: 100% !important;
        aspect-ratio: 1 / 1;
        min-height: 0 !important;
        overflow: hidden !important;
        padding: var(--buytuga-image-padding) !important;
        background: var(--buytuga-image-bg) !important;
    }

    main section[data-block-id^="ecommerce-product"] .tp-product-thumb > a,
    main .tp-product-item > .tp-product-thumb > a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 100% !important;
    }

    main section[data-block-id^="ecommerce-product"] .tp-product-thumb img,
    main .tp-product-item > .tp-product-thumb img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        object-position: center !important;
    }

    main .tp-product-item:hover > .tp-product-thumb img {
        transform: scale(1.025) !important;
    }

    /* Secções inteligentes. */
    .buytuga-smart-section {
        padding: 42px 0 28px;
    }

    .buytuga-smart-section:nth-child(even) {
        background: #f7f9fc;
    }

    .buytuga-smart-heading {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 20px;
        margin-bottom: 22px;
    }

    @media (min-width: 768px) {
        .buytuga-smart-heading { padding-right: 72px; }
    }

    .buytuga-smart-eyebrow {
        display: block;
        margin-bottom: 4px;
        color: #1668b2;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .09em;
        text-transform: uppercase;
    }

    .buytuga-smart-heading h2 {
        margin: 0;
        color: #101828;
        font-size: clamp(1.55rem, 2.4vw, 2.15rem);
        letter-spacing: -.025em;
    }

    .buytuga-smart-more {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-height: 42px;
        padding: 9px 17px;
        border: 1px solid #1668b2;
        border-radius: 999px;
        color: #1668b2;
        font-weight: 700;
        transition: color .2s ease, background .2s ease, transform .2s ease;
    }

    .buytuga-smart-more:hover {
        color: #fff;
        background: #1668b2;
        transform: translateY(-1px);
    }

    .buytuga-smart-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 18px;
    }

    .buytuga-smart-card {
        display: flex;
        min-width: 0;
        overflow: hidden;
        flex-direction: column;
        border: 1px solid #e7eaf0;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 3px 12px rgba(16, 24, 40, .035);
        transition: transform .2s ease, box-shadow .2s ease;
    }

    .buytuga-smart-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 14px 30px rgba(16, 24, 40, .09);
    }

    .buytuga-smart-image {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        aspect-ratio: 1 / 1;
        overflow: hidden;
        padding: var(--buytuga-image-padding);
        background: var(--buytuga-image-bg);
    }

    .buytuga-smart-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain !important;
        object-position: center;
        transition: transform .22s ease;
    }

    .buytuga-smart-card:hover .buytuga-smart-image img {
        transform: scale(1.025);
    }

    .buytuga-smart-badge {
        position: absolute;
        top: 12px;
        left: 12px;
        padding: 5px 9px;
        border-radius: 999px;
        color: #fff;
        background: #1668b2;
        font-size: 11px;
        font-weight: 700;
    }

    .buytuga-smart-card-content {
        display: flex;
        flex: 1;
        flex-direction: column;
        padding: 15px 16px 17px;
    }

    .buytuga-smart-card-content h3 {
        min-height: 44px;
        margin: 0 0 12px;
        font-size: 15px;
        line-height: 1.45;
    }

    .buytuga-smart-card-content h3 a {
        display: -webkit-box;
        overflow: hidden;
        color: #101828;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .buytuga-smart-price {
        display: flex;
        align-items: center;
        gap: 9px;
        margin-top: auto;
    }

    .buytuga-smart-price strong {
        color: #1668b2;
        font-size: 17px;
    }

    .buytuga-smart-price del {
        color: #98a2b3;
        font-size: 13px;
    }

    .buytuga-smart-mobile-more {
        display: none;
        margin-top: 18px;
        text-align: center;
    }

    @media (max-width: 991px) {
        .buytuga-smart-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    }

    @media (max-width: 767px) {
        .buytuga-smart-section { padding: 32px 0 20px; }
        .buytuga-smart-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
        .buytuga-smart-heading > .buytuga-smart-more { display: none; }
        .buytuga-smart-mobile-more { display: block; }
        .buytuga-smart-card-content { padding: 11px 12px 14px; }
        .buytuga-smart-card-content h3 { min-height: 39px; font-size: 13px; }
        .buytuga-smart-price strong { font-size: 15px; }
        main section[data-block-id^="ecommerce-product"] .tp-product-thumb,
        main .tp-product-item > .tp-product-thumb { --buytuga-image-padding: 10px; }
    }

    /* Carrosséis de produto: quatro cartões no desktop, três no tablet e deslize no telemóvel. */
    .bt-product-carousel-shell {
        position: relative;
        width: 100%;
        padding-inline: 50px;
    }

    .bt-product-carousel-track {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 4px 2px 14px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        flex-flow: row nowrap !important;
        align-items: stretch !important;
        gap: 18px !important;
        grid-template-columns: none !important;
        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }

    .bt-product-carousel-track::-webkit-scrollbar {
        display: none;
    }

    .bt-product-carousel-track.row {
        --bs-gutter-x: 0;
    }

    .bt-product-carousel-card {
        width: calc((100% - 54px) / 4) !important;
        min-width: calc((100% - 54px) / 4) !important;
        max-width: none !important;
        height: auto !important;
        padding-inline: 0 !important;
        flex: 0 0 calc((100% - 54px) / 4) !important;
        scroll-snap-align: start;
    }

    .bt-product-arrow {
        position: absolute;
        z-index: 5;
        top: 50%;
        display: grid;
        width: 42px;
        height: 42px;
        padding: 0;
        place-items: center;
        border: 1px solid #d8dee8;
        border-radius: 50%;
        color: #0b1f33;
        background: #fff;
        box-shadow: 0 6px 18px rgba(16, 24, 40, .14);
        transform: translateY(-50%);
        transition: color .2s ease, background .2s ease, border-color .2s ease, opacity .2s ease;
    }

    .bt-product-arrow--previous { left: 0; }
    .bt-product-arrow--next { right: 0; }

    .bt-product-arrow:hover:not(:disabled),
    .bt-product-arrow:focus-visible {
        border-color: var(--tp-theme-primary, #1668b2);
        color: #fff;
        background: var(--tp-theme-primary, #1668b2);
        outline: none;
    }

    .bt-product-arrow:disabled {
        cursor: default;
        opacity: .28;
    }

    .bt-product-arrow[hidden] {
        display: none !important;
    }

    .bt-product-carousel-shell--static {
        padding-inline: 0;
    }

    /* A imagem inteira fica visível e centrada, sem o recorte causado por cover. */
    body .buytuga-smart-image,
    body main section[data-block-id^="ecommerce-product"] .tp-product-thumb,
    body main .tp-product-item > .tp-product-thumb {
        display: grid !important;
        width: 100% !important;
        min-height: 0 !important;
        aspect-ratio: 1 / 1;
        overflow: hidden !important;
        place-items: center !important;
        padding: var(--buytuga-image-padding, 16px) !important;
        background: var(--buytuga-image-bg, #fff) !important;
    }

    body main section[data-block-id^="ecommerce-product"] .tp-product-thumb > a,
    body main .tp-product-item > .tp-product-thumb > a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        height: 100% !important;
        padding: 0 !important;
    }

    body .buytuga-smart-image img,
    body main section[data-block-id^="ecommerce-product"] .tp-product-thumb img,
    body main .tp-product-item > .tp-product-thumb img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        object-position: center !important;
    }

    body .buytuga-smart-card:hover .buytuga-smart-image img,
    body main .tp-product-item:hover > .tp-product-thumb img {
        transform: scale(1.015) !important;
    }

    @media (max-width: 991px) {
        .bt-product-carousel-track {
            gap: 14px !important;
        }

        .bt-product-carousel-card {
            width: calc((100% - 28px) / 3) !important;
            min-width: calc((100% - 28px) / 3) !important;
            flex-basis: calc((100% - 28px) / 3) !important;
        }
    }

    @media (max-width: 767px) {
        .bt-product-carousel-shell {
            padding-inline: 38px;
        }

        .bt-product-carousel-track {
            gap: 12px !important;
            padding-bottom: 10px !important;
        }

        .bt-product-carousel-card {
            width: 74% !important;
            min-width: 74% !important;
            flex-basis: 74% !important;
        }

        .bt-product-arrow {
            width: 34px;
            height: 34px;
        }

        body .buytuga-smart-image,
        body main section[data-block-id^="ecommerce-product"] .tp-product-thumb,
        body main .tp-product-item > .tp-product-thumb {
            --buytuga-image-padding: 12px;
        }
    }

    @media (max-width: 430px) {
        .bt-product-carousel-card {
            width: 82% !important;
            min-width: 82% !important;
            flex-basis: 82% !important;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        .bt-product-carousel-track {
            scroll-behavior: auto;
        }
    }