/* ============================================================
   DIVALVS — PRIVACY POLICY (PAGE ID 3)
   ------------------------------------------------------------
   Page-specific styling only. Shared header/back navigation,
   radius, shadow and typography tokens come from divalvs-global.css.
   ============================================================ */

html,
body.divalvs-privacy-page{
    margin:0!important;
    min-height:100%;
}

body.divalvs-privacy-page{
    min-height:100vh!important;
    color:#171717!important;
    background:
        linear-gradient(135deg,rgba(145,105,96,.82),rgba(222,206,210,.76) 52%,rgba(160,175,202,.78)),
        url('Background.webp') center/cover fixed!important;
    font-family:var(--divalvs-font-family)!important;
}

body.divalvs-privacy-page::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
}

.divalvs-privacy-page-shell{
    width:100%;
    min-height:100vh;
    box-sizing:border-box;
    padding:var(--divalvs-page-shell-top) 24px 40px;
}

.divalvs-privacy-shell{
    width:min(100%,var(--divalvs-page-content-max));
    margin:0 auto;
}

.divalvs-privacy-topbar{
    margin-bottom:18px!important;
}

.divalvs-privacy-card{
    position:relative!important;
    box-sizing:border-box!important;
    width:100%!important;
    border:1px solid rgba(255,255,255,.10)!important;
    background:rgba(255,255,255,.05)!important;
    color:#171717!important;
}

.divalvs-privacy-card > .prep-bg{
    position:absolute;
    inset:0;
    z-index:0;
    background-position:right top;
    background-repeat:no-repeat;
    background-size:cover;
    pointer-events:none;
}

.divalvs-privacy-card-inner{
    position:relative;
    z-index:1;
    display:grid;
    padding:8px;
}

.divalvs-privacy-section{
    box-sizing:border-box;
    width:100%;
    margin:0;
    border-radius:var(--divalvs-radius-tile);
}

/* Privacy intro is content, not a tile. */
.divalvs-privacy-hero{
    box-sizing:border-box;
    width:100%;
    margin:0;
    padding:10px 4px 14px;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#171717;
    box-shadow:none!important;
}

.divalvs-privacy-kicker{
    display:block;
    margin:0 0 5px;
    color:rgba(23,23,23,.48);
    font-size:9px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.divalvs-privacy-hero h2{
    margin:0;
    color:#171717;
    font-size:clamp(24px,4vw,32px);
    font-weight:850;
    line-height:1.05;
    letter-spacing:.03em;
    text-transform:uppercase;
}

.divalvs-privacy-hero p{
    margin:9px 0 0;
    max-width:720px;
    color:rgba(23,23,23,.68);
    font-size:13px;
    font-weight:500;
    line-height:1.5;
}

.divalvs-privacy-section{
    padding:
        var(--divalvs-secondary-tile-padding-y)
        var(--divalvs-secondary-tile-padding-x);
}

.divalvs-privacy-section p,
.divalvs-privacy-section li{
    color:var(--divalvs-secondary-tile-color);
    font-size:12px;
    font-weight:500;
    line-height:1.55;
}

.divalvs-privacy-section p{
    margin:0 0 9px;
}

.divalvs-privacy-section p:last-child{
    margin-bottom:0;
}

.divalvs-privacy-section ul{
    margin:0;
    padding:0 0 0 18px;
}

.divalvs-privacy-section li + li{
    margin-top:5px;
}

.divalvs-privacy-section code{
    padding:2px 5px;
    border-radius:6px;
    background:rgba(255,255,255,.88);
    color:#171717;
    font-size:11px;
}

.divalvs-privacy-note{
    margin-top:10px!important;
    padding:10px 12px;
    border-radius:var(--divalvs-radius-tile);
    background:rgba(255,255,255,.62);
    color:#171717!important;
    font-weight:700!important;
}

.divalvs-privacy-contact-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}

.divalvs-privacy-contact-grid > div{
    min-width:0;
    padding:10px 12px;
    border-radius:var(--divalvs-radius-tile);
    background:rgba(255,255,255,.72);
}

.divalvs-privacy-contact-grid > div.is-wide{
    grid-column:1 / -1;
}

.divalvs-privacy-contact-grid span{
    display:block;
    margin:0 0 3px;
    color:rgba(23,23,23,.48);
    font-size:9px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.divalvs-privacy-contact-grid strong,
.divalvs-privacy-contact-grid a{
    display:block;
    overflow-wrap:anywhere;
    color:#171717;
    font-size:12px;
    font-weight:750;
    line-height:1.4;
    text-decoration:none;
}

.divalvs-privacy-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:10px 0;
}

.divalvs-privacy-tags span{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 10px;
    border-radius:999px;
    background:#171717;
    color:#fff;
    font-size:10px;
    font-weight:800;
    line-height:1;
    letter-spacing:.06em;
}

.divalvs-retention-list{
    display:grid;
    gap:6px;
    margin:10px 0;
}

.divalvs-retention-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:9px 11px;
    border-radius:var(--divalvs-radius-tile);
    background:rgba(255,255,255,.72);
}

.divalvs-retention-row span{
    color:rgba(23,23,23,.62);
    font-size:11px;
    font-weight:600;
}

.divalvs-retention-row strong{
    flex:0 0 auto;
    color:#171717;
    font-size:11px;
    font-weight:850;
}

.divalvs-privacy-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-top:12px;
}

/* Privacy action buttons use the shared white cut-out icon construction. */
/* My Account: same white cut-out icon construction used by account tiles. */
.divalvs-privacy-cutout-icon{
    position:relative!important;
    display:inline-flex!important;
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:var(--divalvs-radius-icon-button)!important;
    overflow:hidden!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
    transition:none!important;
}

.divalvs-privacy-cutout-icon::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    width:48px!important;
    height:48px!important;
    border-radius:var(--divalvs-radius-icon-button)!important;
    background:#fff!important;
    -webkit-mask:
        linear-gradient(#000 0 0) center/100% 100% no-repeat,
        var(--divalvs-privacy-icon) center/29px 29px no-repeat!important;
    -webkit-mask-composite:xor!important;
    mask:
        linear-gradient(#000 0 0) center/100% 100% no-repeat,
        var(--divalvs-privacy-icon) center/29px 29px no-repeat!important;
    mask-composite:exclude!important;
}

.divalvs-privacy-cutout-icon:hover,
.divalvs-privacy-cutout-icon:focus,
.divalvs-privacy-cutout-icon:active{
    transform:none!important;
    transition:none!important;
    box-shadow:none!important;
    outline:none!important;
}

/* The conventional full page name needs slightly tighter tracking than
   short labels such as LOJA / CARRINHO, while retaining the global header. */
.divalvs-privacy-page-title{
    letter-spacing:.20em!important;
}

.divalvs-privacy-live-note{
    margin:2px 4px 0;
    color:rgba(23,23,23,.54);
    font-size:9px;
    font-weight:650;
    line-height:1.45;
    text-align:center;
}

@media(max-width:680px){
    .divalvs-privacy-page-shell{
        padding:var(--divalvs-page-shell-top) 16px 30px;
    }

    .divalvs-privacy-card-inner{
        padding:6px;
    }

    .divalvs-privacy-hero{
        padding:8px 2px 12px;
    }


    .divalvs-privacy-contact-grid{
        grid-template-columns:1fr;
    }

    .divalvs-privacy-contact-grid > div.is-wide{
        grid-column:auto;
    }

    .divalvs-retention-row{
        align-items:flex-start;
        flex-direction:column;
        gap:3px;
    }

}
