/* ============================================
   LOJINHA DO SER — Cosméticos & Perfumes
   ============================================ */

:root {
    --ser-rose: #e8a0c0;
    --ser-rose-dark: #d4789e;
    --ser-rose-light: #f0c8d8;
    --ser-dark: #2a1a24;
    --ser-dark2: #3a1a2a;
    --ser-bg: #faf5f0;
    --ser-bg-card: #ffffff;
    --ser-border: #e8e3dc;
    --ser-text: #2a1a24;
    --ser-muted: #6c757d;
    --ser-shadow: 0 6px 30px rgba(0,0,0,0.05);
    --ser-shadow-hover: 0 12px 40px rgba(0,0,0,0.12);
    --ser-radius: 14px;
    --ser-radius-sm: 8px;
    --ser-transition: 0.35s cubic-bezier(0.4,0,0.2,1);
}

body { font-family: 'Nunito', sans-serif; color: var(--ser-text); background: var(--ser-bg); }
h1,h2,h3,h4,h5,h6 { font-family: 'Jost', serif; }

.text-rose { color: var(--ser-rose) !important; }
.text-white-50 { color: rgba(255,255,255,0.5) !important; }
.bg-rose { background: var(--ser-rose) !important; }
.bg-rose-soft { background: rgba(232,160,192,0.1) !important; }
.bg-dark-section { background: var(--ser-dark); }

.badge-rose {
    background: rgba(232,160,192,0.12);
    color: var(--ser-rose);
    padding: 5px 18px;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 600;
}

.btn-rose {
    background: linear-gradient(135deg, var(--ser-rose), var(--ser-rose-dark));
    color: #fff;
    border: none;
    font-weight: 700;
    transition: var(--ser-transition);
}
.btn-rose:hover {
    background: linear-gradient(135deg, var(--ser-rose-dark), var(--ser-rose));
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(232,160,192,0.35);
}

.btn-outline-rose {
    border: 2px solid var(--ser-rose);
    color: var(--ser-rose);
    background: transparent;
    font-weight: 600;
}
.btn-outline-rose:hover { background: var(--ser-rose); color: #1a1a1a; transform: translateY(-2px); }

.btn-social { width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center; padding: 0; }

.alert-rose { background: rgba(232,160,192,0.08); border: 1px solid var(--ser-rose); color: var(--ser-text); border-radius: var(--ser-radius); }

/* NAVBAR */
#navbar-principal {
    background: rgba(42,26,36,0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(232,160,192,0.08);
    padding: 8px 0;
    transition: var(--ser-transition);
}
.brand-nome { font-size: 1.2rem; font-weight: 800; color: #fff; display: block; font-family: 'Jost', serif; }
.brand-tag { font-size: 0.62rem; color: var(--ser-rose); text-transform: uppercase; letter-spacing: 2.5px; font-weight: 500; }
.navbar .nav-link { color: rgba(255,255,255,0.7)!important; font-weight: 500; font-size: 0.9rem; padding: 8px 14px!important; border-radius: 6px; transition: var(--ser-transition); }
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--ser-rose)!important; background: rgba(232,160,192,0.08); }

/* HERO */
.hero { position: relative; min-height: 100vh; overflow: hidden; }
.hero-pattern { position: absolute; inset:0; z-index:0; }
.hero-pattern svg { width:100%; height:100%; }
.min-vh-80 { min-height:80vh; }
.hero-titulo { line-height:1.12; }
.hero-sub { font-size:1.1rem; line-height:1.6; }
.hero-selos span { font-size:0.85rem; }

/* NÚMEROS */
.secao-numeros { background: var(--ser-dark); border-top:1px solid rgba(232,160,192,0.08); border-bottom:1px solid rgba(232,160,192,0.08); }
.numero-card { padding:18px 10px; }
.numero-valor { font-size:2.6rem; font-weight:800; color:var(--ser-rose); font-family:'Jost', serif; line-height:1; }
.numero-rotulo { color:rgba(255,255,255,0.55); font-size:0.88rem; margin-top:4px; font-weight:500; }

/* CATEGORIAS */
.card-categoria { display:block; background:var(--ser-bg-card); border-radius:var(--ser-radius); padding:28px 22px; text-align:center; border:1px solid var(--ser-border); transition:var(--ser-transition); box-shadow:var(--ser-shadow); text-decoration:none; color:var(--ser-text); }
.card-categoria:hover { transform:translateY(-6px); box-shadow:var(--ser-shadow-hover); border-color:var(--ser-rose); }
.categoria-icon { margin-bottom:14px; }
.card-categoria h5 { font-size:1.05rem; margin-bottom:5px; }

/* CARD PRODUTO */
.card-produto { background:var(--ser-bg-card); border-radius:var(--ser-radius); overflow:hidden; border:1px solid var(--ser-border); box-shadow:var(--ser-shadow); transition:var(--ser-transition); }
.card-produto:hover { transform:translateY(-6px); box-shadow:var(--ser-shadow-hover); }
.produto-img-placeholder { height:200px; background:#faf5f0; position:relative; }
.produto-badge { position:absolute; top:12px; left:12px; background:var(--ser-rose); color:#fff; padding:4px 12px; border-radius:20px; font-size:0.75rem; font-weight:600; }
.card-produto-body { padding:16px 20px; }
.card-produto-body h5 { font-size:1rem; margin-bottom:4px; }
.produto-preco { font-size:1.05rem; font-weight:700; color:var(--ser-rose); }

/* PAGE BANNER */
.page-banner { position:relative; min-height:260px; padding:100px 0 45px; }
.page-banner-bg { position:absolute; inset:0; z-index:0; }
.page-banner-bg svg { width:100%; height:100%; }

/* FORM */
.card-form { background:var(--ser-bg-card); border-radius:var(--ser-radius); padding:30px; border:1px solid var(--ser-border); box-shadow:var(--ser-shadow); }
.form-control,.form-select { border:2px solid var(--ser-border); border-radius:var(--ser-radius-sm); padding:12px 16px; font-size:0.95rem; transition:var(--ser-transition); }
.form-control:focus,.form-select:focus { border-color:var(--ser-rose); box-shadow:0 0 0 3px rgba(232,160,192,0.1); }

/* CONTATO */
.contato-info { background:var(--ser-bg-card); border-radius:var(--ser-radius); padding:30px; border:1px solid var(--ser-border); box-shadow:var(--ser-shadow); }
.contato-item { display:flex; gap:12px; margin-bottom:16px; align-items:flex-start; }
.contato-icone { width:40px; height:40px; background:rgba(232,160,192,0.08); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--ser-rose); font-size:1.05rem; flex-shrink:0; }
.contato-item strong { font-size:0.88rem; display:block; margin-bottom:2px; }
.contato-item p { font-size:0.85rem; color:var(--ser-muted); }

/* POLÍTICA */
.conteudo-politica h3 { font-size:1.15rem; color:var(--ser-dark); margin:24px 0 10px; }
.conteudo-politica p { color:var(--ser-muted); line-height:1.7; margin-bottom:10px; }
.conteudo-politica ul { padding-left:18px; margin-bottom:14px; }
.conteudo-politica ul li { color:var(--ser-muted); margin-bottom:3px; }
.conteudo-politica hr { margin:28px 0; border-color:var(--ser-border); }

/* RODAPÉ */
.rodape { background:var(--ser-dark); color:rgba(255,255,255,0.6); position:relative; overflow:hidden; }
.rodape-divider { margin-bottom:25px; }
.footer-links li { margin-bottom:7px; }
.footer-links li a { color:rgba(255,255,255,0.5); text-decoration:none; font-size:0.85rem; transition:var(--ser-transition); }
.footer-links li a:hover { color:var(--ser-rose); padding-left:4px; }
.footer-contato li { display:flex; gap:8px; margin-bottom:10px; font-size:0.83rem; align-items:flex-start; }
.footer-contato li i { margin-top:3px; flex-shrink:0; }
.redes-sociais { display:flex; gap:8px; }
.redes-sociais a { width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,0.04); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.5); text-decoration:none; transition:var(--ser-transition); }
.redes-sociais a:hover { background:var(--ser-rose); color:#fff; transform:translateY(-2px); }
.rodape-base { border-top:1px solid rgba(255,255,255,0.04); padding:16px 0; margin-top:25px; }
.rodape-base a { color:var(--ser-rose); text-decoration:none; }

@media (max-width:991px) {
    .hero { min-height:auto; padding:100px 0 40px; }
    .hero-titulo { font-size:1.8rem; }
    .page-banner { min-height:180px; padding:85px 0 30px; }
    .page-banner .display-5 { font-size:1.7rem; }
}
@media (max-width:767px) {
    .hero-titulo { font-size:1.5rem; }
    .numero-valor { font-size:1.8rem; }
    .card-form,.contato-info { padding:18px; }
    .brand-nome { font-size:0.95rem; }
}
@media (max-width:575px) {
    .hero-titulo { font-size:1.25rem; }
    .display-6 { font-size:1.3rem; }
}

@keyframes fadeUp { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }
.hero-conteudo { animation:fadeUp 0.8s ease-out; }
.card-categoria,.card-produto { animation:fadeUp 0.55s ease-out both; }
