/*
Theme Name: Le Gras Custom
Theme URI: https://legras.com.br/
Author: Le Gras Fotografia
Description: Fotografia em primeiro plano. Tema escuro, nativo e leve, com portfólio e galerias acessíveis.
Version: 1.3.5
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: legras-custom
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root{color-scheme:dark;--paper:#111210;--surface:#1b1c19;--ink:#f2efe8;--muted:#b1b0a6;--accent:#d6ba8c;--line:#383a33;--space:clamp(4rem,9vw,9rem);--gutter:clamp(22px,5vw,88px)}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.75 system-ui,sans-serif;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;vertical-align:middle}a{color:inherit;text-underline-offset:.3em}button,input,textarea{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;text-wrap:balance}h1{font-size:clamp(3rem,6.5vw,7rem);letter-spacing:-.045em;margin:.3em 0}h2{font-size:clamp(2.2rem,4vw,4.5rem);letter-spacing:-.035em}h3{font-size:1.8rem}p{margin:0 0 1.4em}figure{margin:0}[hidden]{display:none!important}.wrap{width:100%;margin-inline:auto;padding-inline:var(--gutter)}main.wrap{padding:0;min-height:50vh}.site-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:108px;padding-block:20px;border-bottom:1px solid var(--line);background:var(--paper)}.front-photo .site-header,.preview-home .site-header{position:absolute;top:0;left:0;background:linear-gradient(#080a08b3,transparent);border:0}.brand{flex-shrink:0}.brand a{text-decoration:none}.wordmark{display:flex;flex-direction:column;align-items:center;line-height:1}.wordmark strong{font-family:Georgia,serif;font-size:2.4rem;font-weight:400;letter-spacing:-.09em}.wordmark small{font-size:.55rem;letter-spacing:.43em;text-transform:uppercase;margin-top:9px;margin-left:7px}.custom-logo{max-width:180px;max-height:70px;width:auto}.site-nav{display:flex;align-items:center;gap:2rem}.menu{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:clamp(1rem,2.5vw,2.7rem);margin:0;padding:0}.menu a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;text-transform:uppercase;font-size:.67rem;letter-spacing:.16em}.menu a:hover,.menu [aria-current],.current-menu-item>a{color:var(--accent)}.header-contact{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;border:1px solid #ffffff70;padding:10px 22px;text-decoration:none;min-height:44px}.menu-toggle{display:none;color:var(--ink);background:transparent;border:1px solid var(--line);min-height:44px;padding:8px 14px}.hero{position:relative;isolation:isolate;min-height:780px;min-height:100svh;display:flex;align-items:flex-end;padding:180px var(--gutter) 9vh;background:var(--surface)}.hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 45%}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#080a0880,transparent 85%),linear-gradient(0deg,#080a08bb,transparent 75%)}.hero-copy{max-width:1000px}.eyebrow{font-size:.64rem!important;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);font-family:system-ui,sans-serif!important;line-height:1.7}.hero .eyebrow{color:#f2e3ca}.hero h1{font-size:clamp(3.5rem,7.7vw,8.4rem);max-width:1050px;margin:20px 0 24px;line-height:.98}.hero h1 em,.statement em{font-weight:400;color:var(--accent)}.hero-copy>p:not(.eyebrow){font-size:.94rem;color:#e0dfd8;max-width:420px}.text-link{display:inline-flex;align-items:center;gap:2rem;min-height:48px;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--accent)}.hero-bottom{position:absolute;right:var(--gutter);bottom:9vh;writing-mode:vertical-rl;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:#e0dfd8}.intro{display:grid;grid-template-columns:1fr 1.6fr;gap:3rem;padding:var(--space) var(--gutter);align-items:start}.intro h2{margin:0;max-width:860px}.intro .eyebrow{padding-top:.8rem}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding:0 var(--gutter);margin:0 0 2.5rem}.section-heading h2{margin:.3em 0 0}.section-heading p{margin:0}.section-heading .text-link{flex-shrink:0}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.collection-card{position:relative;display:block;isolation:isolate;min-height:620px;min-height:65svh;overflow:hidden;background:var(--surface);text-decoration:none}.collection-card:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#080a08c9,transparent 65%)}.collection-card img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.collection-copy{position:absolute;left:clamp(22px,3vw,50px);right:clamp(22px,3vw,50px);bottom:36px}.collection-copy .eyebrow{color:#e0d7c8}.collection-copy h2{font-size:clamp(2rem,3.3vw,4rem);margin:.25em 0}.collection-arrow{position:absolute;right:0;bottom:8px;font-size:1.8rem}.collection-number{position:absolute;top:28px;left:clamp(22px,3vw,50px);font-size:.65rem;letter-spacing:.15em}.journal-section{padding-block:var(--space)}.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,50px);padding-inline:var(--gutter)}.journal-card a{text-decoration:none}.journal-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.journal-card .eyebrow{margin:22px 0 10px}.journal-card h2{font-size:clamp(1.4rem,2.4vw,2.3rem);margin:0 0 20px}.journal-card .text-link{color:var(--muted)}.about-section{display:grid;grid-template-columns:1fr 1fr;background:var(--surface)}.about-photo{width:100%;height:100%;min-height:650px;object-fit:cover}.about-copy{padding:clamp(2rem,7vw,7rem);align-self:center}.about-copy h2{margin:25px 0 30px}.about-copy p:not(.eyebrow){color:var(--muted);max-width:480px}.statement{padding:var(--space) var(--gutter);text-align:center}.statement h2{font-size:clamp(2.6rem,5vw,6rem);max-width:950px;margin:0 auto}.page-heading{padding:var(--space) var(--gutter) 3rem;max-width:1100px}.page-heading>p:first-child,.entry-header time{color:var(--muted)}.category-links{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin:0;padding:0 var(--gutter) 3rem}.category-links a{padding:.5rem 0;min-height:44px;color:var(--muted);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid transparent}.category-links a:hover,.category-links [aria-current]{color:var(--ink);border-color:var(--accent)}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}.portfolio-card{position:relative;background:var(--surface);min-width:0}.portfolio-card>a{display:block;position:relative;text-decoration:none;overflow:hidden;min-height:300px}.portfolio-card>a:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#090b09bf);pointer-events:none}.portfolio-card img{width:100%;aspect-ratio:3/2;object-fit:cover}.portfolio-card h2{position:absolute;bottom:24px;left:var(--gutter);right:24px;z-index:1;font-size:clamp(1.8rem,3vw,3rem);margin:0}.portfolio-card>p{padding:18px var(--gutter);font-size:.8rem;color:var(--muted);margin:0}.prose{max-width:820px;margin-inline:auto}.entry-header{padding:var(--space) 24px 3rem}.entry-header h1{font-size:clamp(2.8rem,5.5vw,5.5rem)}.hero-image img{display:block;width:100%;max-height:95svh;object-fit:contain;background:#090a08}.hero-image{margin-bottom:4rem}.entry-content{overflow-wrap:anywhere}.entry-content>:not(.wp-block-gallery):not(.legras-gallery):not(.alignwide):not(.alignfull){max-width:780px;margin-inline:auto;padding-inline:24px}.entry-content>p{margin-bottom:1.8em}.entry-content .wp-block-gallery.wp-block-gallery,.legras-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:4rem 0}.entry-content .wp-block-gallery .wp-block-image.wp-block-image,.legras-gallery figure{width:100%!important;margin:0!important;min-width:0;align-self:start}.entry-content .wp-block-gallery .wp-block-image img,.legras-gallery img{display:block;width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}.entry-content .wp-block-gallery .wp-block-image figcaption,.legras-gallery figcaption{position:static!important;background:none!important;color:var(--muted)!important;padding:12px 22px!important;font-size:.75rem;max-height:none!important}.contact-panel{padding:var(--space) var(--gutter);text-align:center;border-top:1px solid var(--line);background:var(--surface)}.contact-panel h2{font-size:clamp(2.6rem,5vw,5.5rem);margin:18px auto 24px;max-width:850px}.contact-panel>p:not(.eyebrow){color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:3rem;min-height:54px;padding:16px 28px;background:var(--accent);color:#141611;border:1px solid var(--accent);text-decoration:none;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}.button:hover{background:#e4cda8}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:42px;border-top:1px solid var(--line)}.site-footer p{margin:0;font-size:.72rem;color:var(--muted)}.footer-links{display:flex;gap:2rem;font-size:.7rem}.footer-links a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}.navigation{margin:3rem var(--gutter)}.nav-links{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.skip-link{position:fixed;top:-200px;left:1rem;z-index:100;background:var(--paper);padding:1rem}.skip-link:focus{top:1rem}.screen-reader-text{clip-path:inset(50%);width:1px;height:1px;overflow:hidden;position:absolute;white-space:nowrap}.wp-caption{max-width:100%}.alignleft{float:left;margin:0 1.5rem 1rem 0}.alignright{float:right;margin:0 0 1rem 1.5rem}.aligncenter{display:block;margin-inline:auto}.empty-state{padding:3rem var(--gutter);color:var(--muted)}.preview-note{padding:16px var(--gutter);font-size:.72rem;color:var(--muted);border-top:1px solid var(--line);margin:0}.preview-message{max-width:680px;margin:24px auto 0;font-size:.8rem;color:var(--muted)}
@media(min-width:1600px){.collection-card{min-height:800px}}
@media(max-width:900px){.site-nav{gap:1rem}.menu{gap:1rem}.header-contact{padding-inline:14px}.collection-card{min-height:540px}.intro{grid-template-columns:1fr;gap:1.5rem}.journal-grid{gap:20px}.about-copy{padding:40px}.about-photo{min-height:520px}}
@media(max-width:680px){.site-header{min-height:88px;gap:1rem;flex-wrap:wrap}.wordmark strong{font-size:2rem}.wordmark small{font-size:.46rem}.site-header nav{flex-basis:100%;width:100%}.site-nav{display:flex;justify-content:space-between;gap:1rem}.menu{gap:.3rem .9rem}.menu a{font-size:.59rem}.header-contact{font-size:.6rem;padding:7px 10px}.js .menu-toggle{display:block}.js .site-header nav{display:none}.js .site-header nav.is-open{display:flex;flex-direction:column;align-items:stretch;padding:18px 0 8px}.js .site-header:has(nav.is-open){background:var(--paper)}.js .site-header nav.is-open .menu{flex-direction:column;align-items:stretch}.js .site-header nav.is-open .menu a{display:flex;min-height:48px;font-size:.8rem}.hero{min-height:92svh;padding-top:210px;padding-bottom:75px}.hero h1{font-size:clamp(3.1rem,12vw,5rem)}.hero-copy>p:not(.eyebrow){max-width:280px;font-size:.85rem}.hero-bottom{display:none}.intro{padding-block:4rem}.section-heading{align-items:start;flex-direction:column;gap:1rem}.collection-grid{grid-template-columns:1fr}.collection-card{min-height:78svh}.collection-copy h2{font-size:3.1rem}.collection-copy{bottom:32px}.journal-grid{grid-template-columns:1fr;gap:40px}.journal-card img{aspect-ratio:4/3}.journal-card h2{font-size:2rem}.about-section{grid-template-columns:1fr}.about-photo{min-height:0;max-height:70svh;aspect-ratio:4/5}.about-copy{padding:3rem var(--gutter)}.portfolio-grid{grid-template-columns:1fr}.portfolio-card h2{font-size:2.3rem}.portfolio-card img{aspect-ratio:4/5}.entry-content .wp-block-gallery.wp-block-gallery,.legras-gallery{grid-template-columns:1fr}.site-footer{flex-direction:column;align-items:start;gap:1rem}.statement{text-align:left}.category-links{gap:.5rem 1.3rem}}
@media(prefers-reduced-motion:no-preference){a,button{transition:color .2s,background-color .2s}.collection-card img{transition:transform .7s}.collection-card:hover img{transform:scale(1.035)}html{scroll-behavior:smooth}}
/* Balance the photographic grid when the number of collections changes. */
@media(min-width:681px){.collection-grid:has(>:only-child){grid-template-columns:1fr}.collection-grid:has(>:nth-child(2):last-child),.collection-grid:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.legras-gallery>figure:last-child:nth-child(odd),.entry-content .wp-block-gallery>figure:last-of-type:nth-child(odd){grid-column:1/-1}}
.admin-bar.front-photo .site-header{top:32px}
@media(max-width:782px){.admin-bar.front-photo .site-header{top:46px}}

/* Smash Balloon owns its grid, image loading, controls and lightbox. */
.instagram-section{padding-top:clamp(3rem,6vw,6rem);background:var(--paper);border-top:1px solid var(--line)}
.instagram-section h2{font-size:clamp(2rem,3.5vw,3.7rem)}
.instagram-feed{width:100%;min-width:0}
.instagram-feed #sb_instagram{width:100%!important;max-width:none!important;background:transparent!important;color:var(--ink)}
.instagram-feed #sb_instagram .sbi_header_text,.instagram-feed #sb_instagram .sbi_header_text h3{color:var(--ink)}
.instagram-preview-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.instagram-preview-grid a{display:block;overflow:hidden;background:var(--surface)}
.instagram-preview-grid img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.instagram-preview-note{padding:12px var(--gutter);margin:0;color:var(--muted);font-size:.72rem}
@media(max-width:900px){.instagram-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.instagram-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Clip the fixed photograph to the opening, with explicit layers for the text. */
.hero-media{position:absolute;inset:0;z-index:0;clip-path:inset(0);overflow:hidden;pointer-events:none}
.hero-media .hero-photo{position:absolute;inset:0;z-index:auto;width:100%;height:100%;max-width:none;object-fit:cover}
.hero:after{z-index:1}
.hero-copy{position:relative;z-index:2}
.hero-bottom{z-index:2}
@media(prefers-reduced-motion:no-preference){.hero-media .hero-photo{position:fixed;inset:0 0 auto;width:100%;height:100svh}}

/* Join consecutive Stackable background sections on the home page.
   Use block structure because Stackable can regenerate its block IDs. */
.home .entry-content > .stk-block-background:has(+ .stk-block-background){margin-bottom:0!important}
.home .entry-content > .stk-block-background + .stk-block-background{margin-top:0!important}
