/*
Theme Name: di20 arquitetura
Theme URI: https://arquitetura.di20.com.br/
Author: di20
Description: Tema do site di20 arquitetura — Helen de Rezende. Convertido do site estático: projetos (tipo de post próprio), carrossel, blog, contato via HubSpot.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: di20
*/

/* di20 arquitetura — Helen de Rezende — stylesheet compartilhado */
*{box-sizing:border-box;}
html,body{margin:0;padding:0;scroll-behavior:smooth;}
body{background:#F4F2ED;color:#1C1B19;font-family:'Hanken Grotesk',sans-serif;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;}

/* ---- NAV ---- */
.di20-nav{position:fixed;top:0;left:0;width:100%;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:26px 48px;color:#fff;background:transparent;transition:background .5s,color .5s,padding .4s,box-shadow .5s;}
.di20-nav.scrolled{background:rgba(244,242,237,.95);color:#1C1B19;padding:16px 48px;box-shadow:0 1px 0 rgba(0,0,0,.06);backdrop-filter:saturate(140%) blur(8px);}
.di20-nav.scrolled .di20-logo{filter:none;}
.di20-nav-sticky{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:20px 48px;background:rgba(244,242,237,.95);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid #e1ded6;}
.di20-logo{height:34px;width:auto;filter:brightness(0) invert(1);transition:filter .5s;}
.di20-nav-sticky .di20-logo{filter:none;height:32px;}
.di20-nav-links{display:flex;align-items:center;gap:42px;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;}
.di20-navlink{position:relative;}
.di20-navlink::after{content:'';position:absolute;left:0;bottom:-6px;width:0;height:1px;background:currentColor;transition:width .35s ease;}
.di20-navlink:hover::after{width:100%;}
.di20-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:0;padding:4px;color:currentColor;}
.di20-burger span{display:block;width:22px;height:2px;background:currentColor;border-radius:1px;transition:opacity .3s,transform .3s;}

/* ---- IMAGE PLACEHOLDER ---- */
.img-ph{background:#E8E4DC;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;}
.img-ph::after{content:attr(data-label);font-size:11px;letter-spacing:.08em;color:#9a9080;text-align:center;padding:12px;position:absolute;max-width:90%;}
.img-ph img{width:100%;height:100%;object-fit:cover;display:block;}

/* ---- PROJECT CARDS ---- */
.di20-proj{position:relative;display:block;overflow:hidden;}
.di20-proj .di20-ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,24,32,0) 30%,rgba(20,24,32,.6) 100%);opacity:0;transition:opacity .6s;}
.di20-proj .di20-explore{margin-top:18px;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;border:1px solid rgba(255,255,255,.7);padding:11px 22px;opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s;}
.di20-proj:hover .di20-ov{opacity:1;}
.di20-proj:hover .di20-explore{opacity:1;transform:translateY(0);}
.di20-proj:hover .di20-thumb{transform:scale(1.04);}
.di20-thumb{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s ease;}
.di20-proj-info{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:24px;pointer-events:none;}

/* ---- HERO CAROUSEL ---- */
.di20-hero{position:relative;width:100%;height:100vh;min-height:640px;background:#41566E;overflow:hidden;}
.di20-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease;pointer-events:none;}
.di20-slide.active{opacity:1;pointer-events:auto;}
.di20-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,24,32,.38) 0%,rgba(20,24,32,.12) 40%,rgba(20,24,32,.55) 100%);pointer-events:none;}
.di20-hero-text{position:absolute;left:48px;bottom:88px;right:48px;color:#fff;z-index:5;}
.di20-dots{position:absolute;right:48px;bottom:92px;z-index:6;display:flex;gap:12px;}
.di20-dot{width:34px;height:2px;border:0;padding:0;cursor:pointer;background:#fff;opacity:.4;transition:opacity .4s;}
.di20-dot.active{opacity:1;}

/* ---- FORMS ---- */
.di20-input{border:0;border-bottom:1px solid #d8d4ca;background:transparent;font-family:inherit;font-size:16px;padding:9px 0;outline:none;color:#1C1B19;transition:border-color .3s;width:100%;}
.di20-input:focus{border-bottom-color:#1C1B19;}
.di20-textarea{border:0;border-bottom:1px solid #d8d4ca;background:transparent;font-family:inherit;font-size:16px;padding:9px 0;outline:none;color:#1C1B19;resize:vertical;transition:border-color .3s;width:100%;}
.di20-textarea:focus{border-bottom-color:#1C1B19;}
.di20-btn{background:#1C1B19;color:#fff;border:0;padding:16px 28px;font-family:inherit;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:background .35s;}
.di20-btn:hover{background:#41566E;}
.di20-btn:disabled{opacity:.55;cursor:not-allowed;}
::placeholder{color:#9b9a93;}

/* ---- FOOTER ---- */
.di20-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;}

/* ---- PROJECT NAV ---- */
.di20-nav-btn{display:block;padding:clamp(30px,4vw,52px) 48px;transition:background .4s,color .4s;}
.di20-nav-btn:hover{background:#1C1B19;color:#fff;}

/* ---- BLOG ---- */
.di20-post .di20-imgwrap{overflow:hidden;}
.di20-post:hover .di20-imgwrap img{transform:scale(1.04);}
.di20-post .di20-imgwrap img{transition:transform 1s ease;}

/* ---- LIGHTBOX ---- */
.di20-lb{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(20,24,32,.92);padding:clamp(20px,4vw,56px);cursor:zoom-out;}
.di20-lb.open{display:flex;}
.di20-lb img{max-width:92vw;max-height:88vh;object-fit:contain;box-shadow:0 30px 90px rgba(0,0,0,.55);cursor:default;}
.di20-lb-close{position:absolute;top:24px;right:28px;width:46px;height:46px;border:0;background:rgba(255,255,255,.14);color:#fff;font:300 26px/46px 'Hanken Grotesk',sans-serif;border-radius:50%;cursor:pointer;backdrop-filter:blur(4px);text-align:center;}

/* ---- RESPONSIVE ---- */
@media(max-width:767px){
  .di20-nav{padding:14px 20px !important;}
  .di20-nav.scrolled{padding:14px 20px !important;}
  .di20-nav-sticky{padding:14px 20px;}
  .di20-burger{display:flex;}
  .di20-nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column !important;gap:20px !important;padding:22px 24px;background:rgba(244,242,237,.97);border-bottom:1px solid #e1ded6;backdrop-filter:saturate(140%) blur(8px);}
  .di20-nav-links.open{display:flex;}
  .di20-hero-text{left:20px;bottom:68px;right:20px;}
  .di20-dots{right:20px;}
  section,header,footer{padding-left:20px !important;padding-right:20px !important;}
  .di20-arch-grid{grid-template-columns:1fr !important;}
  .di20-proj-2col{grid-template-columns:1fr !important;}
  .di20-contact-grid{grid-template-columns:1fr !important;}
  .di20-blog-grid{grid-template-columns:1fr !important;}
  .di20-footer-grid{grid-template-columns:1fr 1fr !important;}
  .di20-detail{grid-template-columns:1fr !important;}
  .di20-sticky{position:static !important;}
  .di20-feat{grid-template-columns:1fr !important;}
  .di20-postgrid{grid-template-columns:1fr !important;}
  .di20-cgrid{grid-template-columns:1fr !important;}
  .di20-proj-grid{grid-template-columns:1fr !important;}
}
@media(max-width:900px){
  .di20-detail{grid-template-columns:1fr !important;}
  .di20-sticky{position:static !important;}
}

/* ---- WordPress ---- */
body.admin-bar .di20-nav{top:32px;}
body.admin-bar .di20-nav-sticky{top:32px;}
@media(max-width:782px){body.admin-bar .di20-nav{top:46px;}body.admin-bar .di20-nav-sticky{top:0;}}
.di20-nav-links ul{list-style:none;margin:0;padding:0;display:contents;}
.di20-nav-links li{list-style:none;}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);}
.di20-thumb img,.di20-proj img{width:100%;height:100%;object-fit:cover;display:block;}
.di20-gallery img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in;}
.di20-pf-content p{font-size:17px;line-height:1.85;color:#3d3c38;margin:0 0 22px;font-weight:300;}
.di20-pf-content p:last-child{margin-bottom:36px;}
.di20-prose{font-size:18px;line-height:1.85;color:#3d3c38;font-weight:300;}
.di20-prose h2,.di20-prose h3{font-family:'Cormorant Garamond',serif;font-weight:400;color:#1C1B19;line-height:1.15;margin:2em 0 .6em;}
.di20-prose h2{font-size:clamp(28px,3vw,40px);}
.di20-prose h3{font-size:clamp(23px,2.4vw,30px);}
.di20-prose a{border-bottom:1px solid currentColor;}
.di20-prose img,.di20-prose figure{max-width:100%;height:auto;margin:2em 0;}
.di20-prose blockquote{margin:2em 0;padding-left:24px;border-left:2px solid #9a8f78;font-family:'Cormorant Garamond',serif;font-size:26px;line-height:1.4;color:#1C1B19;}
.di20-prose ul,.di20-prose ol{padding-left:1.2em;}
.di20-pagination{display:flex;gap:18px;justify-content:center;padding-top:56px;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;}
.di20-pagination .current{border-bottom:1px solid #1C1B19;}
.di20-nav:not(.scrolled) .di20-wordmark{color:#fff;}
.di20-footer-links ul{list-style:none;margin:0;padding:0;display:contents;}
.di20-footer-links li{list-style:none;}