/* ==========================================================
   DADHERO PREMIUM UI
   ========================================================== */

:root {
    --dh-navy:#0F2A44;
    --dh-deep:#071D31;
    --dh-navy-soft:#173B5E;

    --dh-orange:#FF8A00;
    --dh-orange-hover:#E87800;

    --dh-text:#2B2D31;
    --dh-muted:#667382;

    --dh-bg:#F7F9FB;
    --dh-soft:#F1F4F7;
    --dh-border:#E3E8EE;
    --dh-white:#FFFFFF;

    --dh-radius:18px;
    --dh-radius-lg:26px;

    --dh-shadow:
        0 14px 42px rgba(15,42,68,.08);

    --dh-shadow-hover:
        0 22px 55px rgba(15,42,68,.14);
}


/* ==========================================================
   BASE
   ========================================================== */

html {
    scroll-behavior:smooth;
}

body {
    background:var(--dh-bg) !important;
    color:var(--dh-text) !important;
    font-family:"Inter",sans-serif !important;
}

h1,h2,h3,h4,h5,h6,
.stk-block-heading__text {
    font-family:"Poppins",sans-serif !important;
}

h1,h2,h3 {
    letter-spacing:-.035em;
}

a {
    transition:
        color .2s ease,
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

::selection {
    background:var(--dh-orange);
    color:#fff;
}


/* ==========================================================
   TOPBAR
   ========================================================== */

.dh-topbar {
    position:relative;
    z-index:10001;

    min-height:38px;

    background:
        linear-gradient(
            90deg,
            var(--dh-deep),
            var(--dh-navy)
        );

    color:rgba(255,255,255,.90);

    font-family:"Inter",sans-serif;
    font-size:12px;
}

.dh-topbar-inner {
    width:min(1440px,calc(100% - 48px));
    min-height:38px;

    margin:auto;

    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    align-items:center;

    gap:24px;
}

.dh-topbar-brand {
    display:flex;
    align-items:center;
    gap:8px;
}

.dh-topbar-brand strong {
    color:#fff;
}

.dh-dot {
    width:7px;
    height:7px;

    border-radius:50%;

    background:var(--dh-orange);

    box-shadow:
        0 0 0 4px rgba(255,138,0,.12);
}

.dh-topbar-center {
    text-align:center;
}

.dh-topbar-contact {
    justify-self:end;

    color:rgba(255,255,255,.82);
    text-decoration:none;
}

.dh-topbar-contact:hover {
    color:var(--dh-orange);
}


/* ==========================================================
   HEADER
   ========================================================== */

#header {
    position:sticky !important;
    top:0;

    z-index:10000;

    background:rgba(255,255,255,.97) !important;

    backdrop-filter:blur(12px);

    box-shadow:
        0 1px 0 rgba(15,42,68,.06),
        0 9px 32px rgba(15,42,68,.045);
}

#header [data-row] {
    background:#fff !important;
}


/* LOGO */

[data-id="logo"] .site-branding {
    display:flex !important;
    align-items:center !important;

    gap:10px !important;
}

[data-id="logo"] .site-logo-container {
    margin:0 !important;
}

[data-id="logo"] .site-logo-container img {
    display:block !important;

    width:auto !important;
    height:29px !important;
    max-height:29px !important;

    object-fit:contain;
}


/*
 * Neutraliza o tratamento textual antigo.
 */

[data-id="logo"] .site-title,
[data-id="logo"] .site-title a {
    background:none !important;

    -webkit-background-clip:initial !important;
    background-clip:initial !important;

    -webkit-text-fill-color:initial !important;

    color:inherit !important;
}


/* DadHero bicolor */

[data-id="logo"] .site-title a {
    display:inline-flex !important;
    align-items:baseline;

    font-size:0 !important;

    line-height:1 !important;

    text-decoration:none !important;
}

[data-id="logo"] .site-title a::before {
    content:"Dad";

    color:var(--dh-navy);

    font-family:"Poppins",sans-serif;

    font-size:30px;
    font-weight:700;

    line-height:1;

    letter-spacing:-.055em;
}

[data-id="logo"] .site-title a::after {
    content:"Hero";

    color:var(--dh-orange);

    font-family:"Poppins",sans-serif;

    font-size:30px;
    font-weight:700;

    line-height:1;

    letter-spacing:-.055em;
}

[data-id="logo"] .site-description {
    display:none !important;
}


/* MENU */

[data-header] nav > ul > li > a {
    padding-left:14px !important;
    padding-right:14px !important;

    color:var(--dh-navy) !important;

    font-family:"Inter",sans-serif !important;

    font-size:14px !important;
    font-weight:600 !important;
}

[data-header] nav > ul > li > a:hover,
[data-header] nav > ul > li.current-menu-item > a {
    color:var(--dh-orange) !important;
}


/* ICONES */

[data-header] svg {
    transition:
        transform .2s ease,
        color .2s ease,
        fill .2s ease;
}

[data-header] a:hover svg,
[data-header] button:hover svg {
    transform:translateY(-1px);
}

[data-id="cart"] .ct-dynamic-count {
    background:var(--dh-orange) !important;
    color:#fff !important;
}


/* ==========================================================
   BOTOES
   ========================================================== */

.ct-button,
.wp-element-button,
.stk-button,
button[type="submit"],
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    min-height:46px;

    padding:11px 24px !important;

    border:0 !important;
    border-radius:11px !important;

    background:var(--dh-orange) !important;
    color:#fff !important;

    font-family:"Inter",sans-serif !important;
    font-weight:700 !important;

    box-shadow:
        0 8px 22px rgba(255,138,0,.20);

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.ct-button:hover,
.wp-element-button:hover,
.stk-button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background:var(--dh-orange-hover) !important;

    color:#fff !important;

    transform:translateY(-1px);

    box-shadow:
        0 12px 28px rgba(255,138,0,.27);
}


/* ==========================================================
   HOME
   ========================================================== */

.home .site-main {
    background:
        linear-gradient(
            180deg,
            #fff 0,
            var(--dh-bg) 660px
        );
}


/* HERO */

.home .stk-9dedec1 {
    width:min(1440px,calc(100% - 48px)) !important;

    margin:24px auto 0 !important;

    overflow:hidden !important;

    border-radius:28px !important;

    background-size:cover !important;
    background-position:center !important;

    box-shadow:
        0 24px 70px rgba(7,29,49,.17) !important;
}

.home .stk-9dedec1::before {
    opacity:1 !important;

    background:
        linear-gradient(
            90deg,
            rgba(7,29,49,.97) 0%,
            rgba(15,42,68,.91) 38%,
            rgba(15,42,68,.48) 63%,
            rgba(15,42,68,.05) 100%
        ) !important;
}

.home .stk-406e1c3 .stk-block-heading__text {
    max-width:700px;

    color:#fff !important;

    font-size:clamp(40px,4vw,62px) !important;
    line-height:1.04 !important;

    letter-spacing:-.045em;
}

.home .stk-aa0ab6c,
.home .stk-aa0ab6c p,
.home .stk-aa0ab6c .stk-block-text__text {
    max-width:610px;

    color:rgba(255,255,255,.87) !important;

    font-size:17px !important;
    line-height:1.65 !important;
}


/* BLOCO INSTITUCIONAL */

.home .stk-c4c5927 {
    width:min(1440px,calc(100% - 48px)) !important;

    margin:0 auto 65px !important;

    background:transparent !important;

    box-shadow:none !important;
}

.home .stk-adc88c6 {
    border:1px solid var(--dh-border);

    border-radius:24px !important;

    background:#fff !important;

    box-shadow:var(--dh-shadow) !important;
}


/* TITULO EXPLORE */

.home .stk-6437c60,
.home .stk-fcbef3b,
.home .stk-a3f6966 {
    width:min(1440px,calc(100% - 48px)) !important;

    margin-left:auto !important;
    margin-right:auto !important;
}

.home .stk-6437c60 .stk-block-heading__text {
    color:var(--dh-navy) !important;

    font-size:clamp(32px,3vw,46px) !important;
}


/* QUATRO CARDS */

.home .stk-db3083e-container,
.home .stk-c7508b1-container,
.home .stk-2d3a6ef-container,
.home .stk-8039c98-container {
    min-height:440px !important;

    overflow:hidden !important;

    border-radius:20px !important;

    background-size:cover !important;
    background-position:center !important;

    box-shadow:var(--dh-shadow) !important;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.home .stk-db3083e-container::before,
.home .stk-c7508b1-container::before,
.home .stk-2d3a6ef-container::before,
.home .stk-8039c98-container::before {
    opacity:1 !important;

    background:
        linear-gradient(
            180deg,
            rgba(7,29,49,.03) 20%,
            rgba(7,29,49,.94) 100%
        ) !important;
}

.home .stk-db3083e-container:hover,
.home .stk-c7508b1-container:hover,
.home .stk-2d3a6ef-container:hover,
.home .stk-8039c98-container:hover {
    transform:translateY(-5px);

    box-shadow:var(--dh-shadow-hover) !important;
}

.home .stk-a3f6966 h5 {
    color:#fff !important;

    font-size:21px !important;
    font-weight:700 !important;
}

.home .stk-a3f6966 p {
    color:rgba(255,255,255,.84) !important;

    font-size:14px !important;
    line-height:1.55 !important;
}


/* BANNER */

.home .stk-1378dab {
    width:min(1440px,calc(100% - 48px)) !important;

    margin:70px auto !important;

    overflow:hidden !important;

    border-radius:28px !important;

    box-shadow:
        0 26px 65px rgba(15,42,68,.20) !important;
}

.home .stk-1378dab::before {
    opacity:1 !important;

    background:
        linear-gradient(
            90deg,
            rgba(7,29,49,.97),
            rgba(15,42,68,.72)
        ) !important;
}

.home .stk-1378dab h2,
.home .stk-1378dab p {
    color:#fff !important;
}


/* ==========================================================
   PAGINAS INTERNAS
   ========================================================== */

body:not(.home) .site-main {
    background:var(--dh-bg);
}

body:not(.home) .entry-content {
    color:var(--dh-text);
}

.hero-section {
    background:
        linear-gradient(
            135deg,
            var(--dh-deep),
            var(--dh-navy)
        ) !important;
}

.hero-section h1,
.hero-section .page-title {
    color:#fff !important;
}


/* ==========================================================
   WOOCOMMERCE - LISTAGEM
   ========================================================== */

.woocommerce ul.products {
    row-gap:28px !important;
}

.woocommerce ul.products li.product {
    padding:14px !important;

    overflow:hidden;

    border:1px solid var(--dh-border);
    border-radius:18px;

    background:#fff;

    box-shadow:
        0 10px 30px rgba(15,42,68,.055);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.woocommerce ul.products li.product:hover {
    transform:translateY(-4px);

    border-color:rgba(255,138,0,.28);

    box-shadow:var(--dh-shadow-hover);
}

.woocommerce ul.products li.product img {
    border-radius:14px;

    background:var(--dh-soft);
}

.woocommerce
ul.products
li.product
.woocommerce-loop-product__title {
    color:var(--dh-navy);

    font-family:"Poppins",sans-serif;

    font-size:17px !important;
    font-weight:600 !important;
}

.woocommerce .price {
    color:var(--dh-navy) !important;
    font-weight:700;
}

.woocommerce span.onsale {
    min-width:auto !important;
    min-height:auto !important;

    padding:7px 11px !important;

    border-radius:999px !important;

    background:var(--dh-orange) !important;
    color:#fff !important;

    font-size:11px !important;
    font-weight:700 !important;
}


/* ==========================================================
   PRODUTO
   ========================================================== */

.single-product div.product {
    padding:clamp(20px,3vw,42px);

    border:1px solid var(--dh-border);
    border-radius:24px;

    background:#fff;

    box-shadow:var(--dh-shadow);
}

.single-product .product_title {
    color:var(--dh-navy);

    font-family:"Poppins",sans-serif;

    letter-spacing:-.035em;
}

.single-product div.product div.images img {
    border-radius:18px;
}


/* ==========================================================
   CARRINHO / CHECKOUT / CONTA
   ========================================================== */

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce {
    margin-top:35px;
    margin-bottom:65px;
}

.woocommerce-cart-form,
.cart-collaterals,
.woocommerce-checkout-review-order,
.woocommerce-checkout #customer_details,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
    padding:clamp(20px,3vw,32px);

    border:1px solid var(--dh-border);
    border-radius:20px;

    background:#fff;

    box-shadow:
        0 10px 35px rgba(15,42,68,.055);
}

.woocommerce table.shop_table {
    border-color:var(--dh-border) !important;
    border-radius:14px !important;
}


/* ==========================================================
   FORMULARIOS
   ========================================================== */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],
input[type="number"],
textarea,
select,
.woocommerce form .form-row input.input-text {
    min-height:48px;

    border:1px solid #DDE3E9 !important;
    border-radius:11px !important;

    background:#fff !important;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

input:focus,
textarea:focus,
select:focus {
    border-color:var(--dh-orange) !important;

    outline:none !important;

    box-shadow:
        0 0 0 3px rgba(255,138,0,.11) !important;
}


/* ==========================================================
   FOOTER BLOCKSY
   ========================================================== */

footer#footer,
footer.ct-footer {
    display:none !important;
}


/* ==========================================================
   FOOTER DADHERO
   ========================================================== */

.dh-footer {
    margin-top:70px;

    background:
        linear-gradient(
            135deg,
            var(--dh-deep),
            var(--dh-navy)
        );

    color:rgba(255,255,255,.68);

    font-family:"Inter",sans-serif;
}

.dh-footer-main {
    width:min(1440px,calc(100% - 48px));

    margin:auto;

    padding:70px 0 55px;

    display:grid;

    grid-template-columns:
        1.6fr 1fr 1fr 1fr;

    gap:65px;
}

.dh-footer-logo {
    display:inline-flex;
    align-items:center;

    gap:10px;

    text-decoration:none;
}

.dh-footer-logo img {
    width:82px;
    height:auto;

    filter:brightness(0) invert(1);
}

.dh-wordmark {
    display:inline-flex;

    font-family:"Poppins",sans-serif;

    font-size:31px;
    line-height:1;

    letter-spacing:-.055em;
}

.dh-wordmark span {
    color:#fff;
}

.dh-wordmark strong {
    color:var(--dh-orange);
}

.dh-footer-slogan {
    margin:17px 0 12px;

    color:#fff;

    font-family:"Poppins",sans-serif;

    font-size:15px;
    font-weight:600;
}

.dh-footer-brand p {
    max-width:320px;

    margin:0;

    color:rgba(255,255,255,.62);

    font-size:13.5px;
    line-height:1.75;
}

.dh-footer-col h3 {
    margin:6px 0 20px;

    color:#fff;

    font-family:"Poppins",sans-serif;

    font-size:13px;

    text-transform:uppercase;

    letter-spacing:.06em;
}

.dh-footer-col a {
    display:block;

    margin-bottom:13px;

    color:rgba(255,255,255,.70);

    font-size:13.5px;

    text-decoration:none;
}

.dh-footer-col a:hover {
    color:var(--dh-orange);

    transform:translateX(2px);
}

.dh-footer-bottom {
    width:min(1440px,calc(100% - 48px));

    margin:auto;

    padding:24px 0 28px;

    display:flex;

    justify-content:space-between;

    gap:25px;

    border-top:
        1px solid rgba(255,255,255,.12);

    color:rgba(255,255,255,.52);

    font-size:12px;
}

.dh-footer-bottom strong {
    color:rgba(255,255,255,.76);

    font-weight:500;

    letter-spacing:.14em;

    text-transform:uppercase;
}


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

@media (max-width:1024px) {

    .dh-topbar-inner {
        grid-template-columns:1fr 1fr;
    }

    .dh-topbar-center {
        display:none;
    }

    .dh-footer-main {
        grid-template-columns:repeat(2,1fr);
    }
}


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

@media (max-width:767px) {

    .dh-topbar-inner {
        width:calc(100% - 28px);

        display:flex;

        justify-content:center;
    }

    .dh-topbar-center,
    .dh-topbar-contact,
    .dh-topbar-brand span:last-child {
        display:none;
    }


    [data-id="logo"] .site-branding {
        gap:7px !important;
    }

    [data-id="logo"] .site-logo-container img {
        height:21px !important;
        max-height:21px !important;
    }

    [data-id="logo"] .site-title a::before,
    [data-id="logo"] .site-title a::after {
        font-size:21px;
    }


    .home .stk-9dedec1,
    .home .stk-c4c5927,
    .home .stk-6437c60,
    .home .stk-fcbef3b,
    .home .stk-a3f6966,
    .home .stk-1378dab {
        width:calc(100% - 28px) !important;
    }


    .home .stk-9dedec1 {
        margin-top:14px !important;

        border-radius:20px !important;
    }

    .home .stk-9dedec1::before {
        background:
            linear-gradient(
                180deg,
                rgba(7,29,49,.48),
                rgba(7,29,49,.96)
            ) !important;
    }

    .home .stk-406e1c3 .stk-block-heading__text {
        font-size:34px !important;
    }


    .home .stk-db3083e-container,
    .home .stk-c7508b1-container,
    .home .stk-2d3a6ef-container,
    .home .stk-8039c98-container {
        min-height:350px !important;
    }


    .dh-footer-main {
        width:calc(100% - 36px);

        padding-top:50px;

        grid-template-columns:1fr;

        gap:35px;
    }

    .dh-footer-bottom {
        width:calc(100% - 36px);

        flex-direction:column;

        align-items:flex-start;
    }
}
