:root{
  --wine:#5b1f2d;
  --wine-dark:#351017;
  --wine-soft:#7b3443;
  --cream:#f3ece4;
  --sand:#d8c4b2;
  --ink:#171312;
  --muted:#716866;
  --white:#fffdfa;
  --line:#e7dcd2;
  --shadow:0 20px 50px rgba(53,16,23,.08);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
.container{width:min(1160px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,253,250,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(91,31,45,.08)}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav nav{display:flex;gap:28px;font-size:14px}
.brand{display:flex;align-items:center;gap:12px;font-weight:700}
.monogram{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid var(--wine);border-radius:50%;font-family:'Playfair Display',serif;color:var(--wine);font-size:24px}
.monogram.big{width:112px;height:112px;font-size:68px;border-width:2px}
.hero{padding:92px 0 76px;background:linear-gradient(135deg,#fffdfa 0%,#f2e9e1 100%)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:60px}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;color:var(--wine)}
h1,h2,h3{font-family:'Playfair Display',serif;line-height:1.08;margin:0;color:var(--ink)}
.hero h1{font-size:clamp(44px,6vw,76px);max-width:850px;margin:18px 0 22px}
.hero p{font-size:19px;color:var(--muted);max-width:650px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:13px 20px;font-weight:700;font-size:14px;background:#fff;cursor:pointer}
.btn.primary{background:var(--wine);color:white;border-color:var(--wine)}
.btn.ghost{background:transparent;border-color:var(--wine);color:var(--wine)}
.hero-art{display:flex;justify-content:center}
.portrait-card{width:min(420px,100%);aspect-ratio:4/5;border-radius:34px;background:radial-gradient(circle at 70% 20%,#b88c83 0%,#6b2838 38%,#351017 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;color:white;box-shadow:var(--shadow)}
.portrait-card .monogram{color:white;border-color:rgba(255,255,255,.7)}
.portrait-card span{letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.section{padding:96px 0}
.soft{background:var(--cream)}
.section-head{max-width:760px;margin-bottom:38px}
.section-head h2{font-size:clamp(36px,5vw,54px);margin-top:12px}
.row{display:flex;justify-content:space-between;align-items:end;gap:20px}
.services,.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card,.post-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:0 8px 30px rgba(53,16,23,.04)}
.service-card>span{color:var(--wine);font-weight:700}
.service-card h3,.post-card h3{font-size:28px;margin:22px 0 12px}
.service-card p,.post-card p{color:var(--muted)}
.post-card a{display:inline-block;color:var(--wine);font-weight:700;margin-top:12px}
.contact-section{background:var(--wine-dark);color:#fff}
.contact-section h2{color:#fff;font-size:52px;margin:12px 0 18px}
.contact-section .eyebrow{color:#e8cfc4}
.contact-section p{color:#e7d7d2}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px}
.contact-list{margin-top:32px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.contact-form{color:var(--ink)}
label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700}
input,textarea{width:100%;border:1px solid #d9cec6;border-radius:14px;padding:13px 14px;font:inherit;background:#fff;color:#1b1715;outline:none}
input:focus,textarea:focus{border-color:var(--wine);box-shadow:0 0 0 3px rgba(91,31,45,.08)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-form{display:grid;gap:16px}
.footer{padding:28px 0;background:#160b0e;color:#e7d7d2;font-size:13px}
.footer .container{display:flex;justify-content:space-between;gap:20px}
.legal{opacity:.72}
.whatsapp-float{position:fixed;right:22px;bottom:22px;background:#25D366;color:#081e0e;padding:13px 18px;border-radius:999px;font-weight:800;box-shadow:0 12px 30px rgba(0,0,0,.18);z-index:30}
.article{max-width:840px;padding:80px 0 100px}
.article h1{font-size:clamp(44px,6vw,68px);margin:18px 0}
.article .lead{font-size:20px;color:var(--muted)}
.article-body{font-size:18px;line-height:1.85;margin-top:36px}
.back{display:inline-block;margin-bottom:28px;color:var(--wine);font-weight:700}
.login-page{min-height:100vh;display:grid;place-items:center;background:var(--cream);padding:30px}
.login-card{width:min(420px,100%);display:grid;gap:16px}
.login-card h1{text-align:center;font-size:32px}
.admin-logo{display:flex;align-items:center;gap:10px}
.admin-logo.center{justify-content:center}
.admin-shell{min-height:100vh;background:#f6f1ec;display:grid;grid-template-columns:260px 1fr}
.admin-sidebar{background:#241015;color:white;padding:28px 22px;display:flex;flex-direction:column;gap:8px}
.admin-sidebar .admin-logo{margin-bottom:25px}
.admin-sidebar .monogram{color:#fff;border-color:#d7b8ad}
.admin-sidebar a{padding:12px 14px;border-radius:12px;color:#f1e5e1}
.admin-sidebar a:hover{background:rgba(255,255,255,.08)}
.admin-main{padding:36px;width:min(1180px,100%)}
.admin-title{margin-bottom:24px}
.admin-title h1{font-size:42px}
.admin-title p{color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.stats .card span{color:var(--muted)}
.stats .card strong{display:block;font-family:'Playfair Display',serif;font-size:48px;color:var(--wine)}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.form-grid{display:grid;gap:16px;max-width:850px}
.check{flex-direction:row;align-items:center}
.check input{width:auto}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.alert,.success{padding:12px 14px;border-radius:12px}
.alert{background:#ffe7e7;color:#7f1717}
.success{background:#e6f6ea;color:#175a2b}
.post-thumb{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  border-radius:16px;
  margin:0 auto 22px;
}
.article-image{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  border-radius:24px;
  margin:28px auto 24px;
  box-shadow:var(--shadow);
}
.post-image-preview img{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  max-height:420px;
  object-fit:contain;
  border-radius:16px;
  border:1px solid var(--line);
}

.admin-users-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:20px;align-items:start}
.admin-user-list{display:grid;gap:14px;margin-top:18px}
.admin-user-item{border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;gap:14px}
.admin-user-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.admin-user-meta small{display:block;width:100%;color:var(--muted)}
.current-user{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:var(--cream);color:var(--wine);padding:4px 8px;border-radius:999px}
.password-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center}


@media(max-width:900px){
  .nav nav{display:none}
  .hero-grid,.contact-grid{grid-template-columns:1fr}
  .services,.posts-grid{grid-template-columns:1fr}
  .hero-art{order:-1}
  .portrait-card{max-width:360px}
  .admin-shell{display:block}
  .admin-sidebar{position:static;flex-direction:row;overflow:auto;align-items:center}
  .admin-sidebar .admin-logo{margin:0 12px 0 0;min-width:max-content}
  .admin-sidebar a{min-width:max-content}
  .admin-main{padding:24px}
  .admin-users-grid{grid-template-columns:1fr}
  .password-form{grid-template-columns:1fr}
}
@media(max-width:600px){
  .container{width:min(100% - 28px,1160px)}
  .hero{padding-top:55px}
  .section{padding:70px 0}
  .two,.stats{grid-template-columns:1fr}
  .footer .container{display:block}
}


/* Acoes das postagens no painel administrativo */
.post-actions{
  white-space:nowrap;
}

.post-actions a,
.post-actions form{
  display:inline-block;
  vertical-align:middle;
  margin:0 8px 0 0;
}

.post-actions form:last-child{
  margin-right:0;
}

.btn-small{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  height:38px;
  padding:0 16px;
  border:1px solid #d7c6ba;
  border-radius:12px;
  background:#ffffff;
  color:var(--wine);
  font-size:13px;
  font-weight:700;
  font-family:inherit;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(53,16,23,.08);
  transition:all .18s ease;
}

.btn-small:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(53,16,23,.12);
  border-color:var(--wine);
}

.btn-small:active{
  transform:translateY(0);
}

.btn-small.danger{
  background:linear-gradient(180deg,#9b2435 0%, #7c1828 100%);
  color:#fff;
  border-color:#7c1828;
  box-shadow:0 10px 20px rgba(124,24,40,.22);
}

.btn-small.danger:hover{
  box-shadow:0 14px 28px rgba(124,24,40,.28);
}

@media(max-width:900px){
  .post-actions a,
  .post-actions form{
    display:block;
    margin:0 0 8px 0;
  }

  .post-actions form:last-child{
    margin-bottom:0;
  }

  .btn-small{
    width:100%;
    min-width:0;
  }
}


/* ===== BOTOES MODERNOS POSTAGENS V2 ===== */

.post-actions{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    white-space:nowrap;
}

.post-actions form{
    display:inline-flex !important;
    align-items:center !important;
    margin:0 !important;
    padding:0 !important;
}

.action-btn{
    appearance:none !important;
    -webkit-appearance:none !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    min-width:90px !important;
    height:38px !important;

    padding:0 17px !important;

    border-radius:10px !important;

    font-family:'DM Sans',sans-serif !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1 !important;

    text-decoration:none !important;

    cursor:pointer !important;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background .18s ease,
        border-color .18s ease !important;
}

/* EDITAR */
.action-edit{
    background:#ffffff !important;
    color:#681e2e !important;

    border:1px solid #d9c8c0 !important;

    box-shadow:
        0 3px 8px rgba(53,16,23,.05),
        0 8px 20px rgba(53,16,23,.06) !important;
}

.action-edit:hover{
    background:#f8f1ed !important;
    border-color:#681e2e !important;

    transform:translateY(-2px) !important;

    box-shadow:
        0 5px 12px rgba(53,16,23,.08),
        0 12px 24px rgba(53,16,23,.10) !important;
}


/* EXCLUIR */
.action-delete{
    background:#681e2e !important;
    color:#ffffff !important;

    border:1px solid #681e2e !important;

    box-shadow:
        0 4px 10px rgba(104,30,46,.18),
        0 8px 20px rgba(104,30,46,.16) !important;
}

.action-delete:hover{
    background:#501522 !important;
    border-color:#501522 !important;

    transform:translateY(-2px) !important;

    box-shadow:
        0 6px 14px rgba(104,30,46,.22),
        0 12px 26px rgba(104,30,46,.20) !important;
}

.action-btn:active{
    transform:translateY(0) !important;
}


/* MOBILE */
@media(max-width:700px){

    .post-actions{
        flex-direction:column !important;
        align-items:stretch !important;
    }

    .post-actions form{
        width:100% !important;
    }

    .action-btn{
        width:100% !important;
    }
}



/* ===== SOCIAL LINKS ===== */

.social-links{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:26px;
}

.social-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.04);
  color:#ffffff;
  transition:
    transform .18s ease,
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.social-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.social-icon:hover{
  transform:translateY(-2px);
  background:#ffffff;
  color:#5b1f2d;
  border-color:#ffffff;
  box-shadow:0 10px 24px rgba(0,0,0,.16);
}

/* Ajustes especificos para Facebook e LinkedIn */
.social-icon[aria-label="Facebook"] svg,
.social-icon[aria-label="LinkedIn"] svg{
  fill:currentColor;
  stroke:none;
}

@media(max-width:600px){
  .social-links{
    margin-top:20px;
  }

  .social-icon{
    width:42px;
    height:42px;
  }
}


/* ==========================================================
   REDES SOCIAIS V2
   ========================================================== */

.social-area{
    margin-top:32px;
}

.social-title{
    display:block;
    margin-bottom:14px;
    color:#e8d9d4;
    font-size:13px;
    font-weight:600;
}

.social-links{
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
    margin:0 !important;
}

.social-logo-link{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    width:48px !important;
    height:48px !important;

    padding:9px !important;

    border-radius:14px !important;
    border:1px solid rgba(255,255,255,.22) !important;

    background:#ffffff !important;

    overflow:hidden !important;

    transition:
        transform .18s ease,
        box-shadow .18s ease !important;
}

.social-logo-link:hover{
    transform:translateY(-3px) !important;
    box-shadow:0 12px 26px rgba(0,0,0,.22) !important;
}

.social-logo-link img{
    display:block !important;

    width:100% !important;
    height:100% !important;

    max-width:30px !important;
    max-height:30px !important;

    object-fit:contain !important;

    border-radius:0 !important;

    margin:0 !important;

    box-shadow:none !important;
}


/* ==========================================================
   ADMIN - REDES SOCIAIS
   ========================================================== */

.social-admin-section{
    margin-top:20px;
    padding-top:24px;
    border-top:1px solid var(--line);
}

.social-admin-section h2{
    margin-bottom:6px;
}

.admin-help{
    margin:0 0 22px;
    color:var(--muted);
}

.social-admin-card{
    padding:20px;
    margin-bottom:16px;

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

    background:#fcfaf8;

    display:grid;
    gap:14px;
}

.social-admin-head{
    display:flex;
    align-items:center;
    gap:14px;
}

.social-admin-head strong{
    display:block;
    color:var(--ink);
}

.social-admin-head small{
    display:block;
    color:var(--muted);
    margin-top:2px;
}

.social-admin-preview{
    width:52px;
    height:52px;

    flex:0 0 52px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:8px;

    border:1px solid var(--line);
    border-radius:14px;

    background:#fff;

    overflow:hidden;
}

.social-admin-preview img{
    display:block;

    width:100%;
    height:100%;

    max-width:36px;
    max-height:36px;

    object-fit:contain;

    margin:0;
}

.social-admin-preview.social-empty{
    color:var(--wine);
    font-weight:700;
}

.remove-logo{
    flex-direction:row;
    align-items:center;
    gap:8px;
    font-weight:500;
    color:var(--muted);
}

.remove-logo input{
    width:auto;
}

/* ==========================================================
   CORRECAO DEFINITIVA - TAMANHO DAS REDES SOCIAIS
   ========================================================== */

.contact-list .social-area{
    display:block !important;
    width:auto !important;
    height:auto !important;
    margin-top:28px !important;
    padding:0 !important;
}

.contact-list .social-title{
    display:block !important;
    width:auto !important;
    margin:0 0 12px 0 !important;
    padding:0 !important;

    color:#f0e3de !important;
    font-size:14px !important;
    font-weight:600 !important;
    line-height:1.4 !important;
}

.contact-list .social-links{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;

    width:auto !important;
    height:auto !important;

    gap:10px !important;
    margin:0 !important;
    padding:0 !important;
}

.contact-list .social-logo-link{
    box-sizing:border-box !important;

    display:flex !important;
    flex:0 0 46px !important;

    align-items:center !important;
    justify-content:center !important;

    width:46px !important;
    min-width:46px !important;
    max-width:46px !important;

    height:46px !important;
    min-height:46px !important;
    max-height:46px !important;

    margin:0 !important;
    padding:9px !important;

    border:1px solid rgba(255,255,255,.25) !important;
    border-radius:12px !important;

    background:#ffffff !important;

    overflow:hidden !important;

    text-decoration:none !important;
}

.contact-list .social-logo-link img{
    box-sizing:border-box !important;

    display:block !important;

    width:26px !important;
    min-width:0 !important;
    max-width:26px !important;

    height:26px !important;
    min-height:0 !important;
    max-height:26px !important;

    margin:0 !important;
    padding:0 !important;

    object-fit:contain !important;
    object-position:center !important;

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

    box-shadow:none !important;

    transform:none !important;
}

.contact-list .social-logo-link:hover{
    transform:translateY(-2px) !important;
    box-shadow:0 9px 20px rgba(0,0,0,.18) !important;
}


/* Evita que regras globais do site aumentem essas imagens */
.contact-section .social-links img,
.contact-section .social-area img,
.contact-section a.social-logo-link img{
    width:26px !important;
    height:26px !important;
    max-width:26px !important;
    max-height:26px !important;
    object-fit:contain !important;
}


/* Mobile */
@media(max-width:600px){

    .contact-list .social-logo-link{
        flex-basis:44px !important;

        width:44px !important;
        min-width:44px !important;
        max-width:44px !important;

        height:44px !important;
        min-height:44px !important;
        max-height:44px !important;
    }

    .contact-list .social-logo-link img,
    .contact-section .social-links img,
    .contact-section .social-area img{
        width:24px !important;
        height:24px !important;
        max-width:24px !important;
        max-height:24px !important;
    }
}



/* SOCIAL SIZE FINAL V3 */

img.social-network-logo{
    display:block !important;

    width:26px !important;
    height:26px !important;

    min-width:26px !important;
    min-height:26px !important;

    max-width:26px !important;
    max-height:26px !important;

    object-fit:contain !important;

    margin:0 auto !important;
    padding:0 !important;

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

    box-shadow:none !important;
}

a.social-logo-link{
    box-sizing:border-box !important;

    display:inline-flex !important;

    align-items:center !important;
    justify-content:center !important;

    width:46px !important;
    height:46px !important;

    min-width:46px !important;
    min-height:46px !important;

    max-width:46px !important;
    max-height:46px !important;

    flex:0 0 46px !important;

    padding:10px !important;
    margin:0 !important;

    overflow:hidden !important;

    border-radius:12px !important;
    background:#fff !important;
}

.social-links{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;

    gap:10px !important;

    width:auto !important;
    height:auto !important;
}
