/*
Theme Name: NeoGraft Modern Blocks
Description: A custom WordPress block theme for NeoGraft. Cormorant Garamond headings, DM Sans body, black, heritage gold, burgundy and cream. No Divi dependency.
Version: 1.5.0
Requires at least: 6.6
License: GPL-2.0-or-later
Text Domain: neograft-modern
*/
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f2ec;color:#171717;font-family:Manrope,sans-serif;font-size:18px;line-height:1.6}img,video,iframe{max-width:100%}a{text-underline-offset:4px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #B99A58;outline-offset:5px}.wp-site-blocks{padding:0}.wp-site-blocks>*{margin-block-start:0}h1,h2,h3,h4,h5,h6,.wp-block-post-title{font-family:Sora,sans-serif;font-weight:700;line-height:1.2;letter-spacing:-.025em;color:inherit;overflow-wrap:break-word}h1{font-size:var(--ng-h1,48px);line-height:var(--ng-h1-leading,1.2)}h2{font-size:var(--ng-h2,30px);line-height:var(--ng-h2-leading,1.2)}h3{font-size:var(--ng-h3,22px)}h4{font-size:var(--ng-h4,18px)}h5{font-size:var(--ng-h5,16px)}h6{font-size:var(--ng-h6,14px)}p{margin:0 0 1.2em}.ng-header{background:#171717;border-bottom:1px solid #b99a5866;color:#fff;position:relative;z-index:20;padding:22px 28px}.ng-header-inner{max-width:1280px;margin:auto;gap:32px;display:flex;align-items:center;justify-content:space-between}.ng-logo{margin:0;width:250px;flex-shrink:0}.ng-logo img{display:block;width:100%;height:auto}.ng-navigation{font-size:15px;font-weight:700;letter-spacing:1px;line-height:20px}.ng-navigation a{color:#fff;text-decoration:none}.ng-navigation a:hover{color:#b99a58}.ng-navigation .wp-block-navigation__submenu-container{background:#171717;color:#fff;border:1px solid #b99a5866;min-width:270px}.ng-navigation .wp-block-navigation__submenu-container a{padding:10px 14px;font-size:14px;letter-spacing:0}.ng-main{margin:0!important;padding:0}.ng-section{padding:64px 28px;background:#fff;margin:0!important}.ng-section:nth-of-type(even){background:#f5f2ec}.ng-section.ng-dark{background-color:#171717;color:#fff}.ng-row{max-width:1120px;margin:0 auto!important;display:grid;gap:36px;align-items:center;padding:14px 0}.ng-cols-1{grid-template-columns:minmax(0,1fr)}.ng-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ng-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ng-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ng-column{min-width:0}.ng-column>*+*{margin-top:20px}.ng-text{font-size:var(--ng-body,inherit);line-height:var(--ng-body-leading,1.6)}.ng-text h1,.ng-text h2,.ng-text h3{text-align:var(--ng-heading-align,inherit)}.ng-text>p:last-child,.ng-text>div>p:last-child{margin-bottom:0}.ng-title h1,.ng-title h2,.ng-title h3,.ng-title h4{font-size:var(--ng-title,inherit);line-height:var(--ng-title-leading,1.2);text-align:var(--ng-heading-align,inherit)}.ng-title>h1{font-size:var(--ng-title,48px)}.ng-title>h2{font-size:var(--ng-title,30px)}.ng-title>h3{font-size:var(--ng-title,22px)}.ng-title>h4{font-size:var(--ng-title,18px)}.ng-title h1,.ng-title h2{margin-top:0}.ng-image figure,.ng-card figure{margin:0}.ng-image img{border-radius:12px;display:block;width:100%;height:auto}.ng-photo-column{min-height:440px;background-image:var(--ng-source-background)!important;background-size:contain!important;background-repeat:no-repeat;background-position:center bottom;border-radius:16px}.ng-dark a:not(.wp-block-button__link){color:#e3c88e}.ng-dark h1,.ng-dark h2,.ng-dark h3,.ng-dark h4{color:#fff}.wp-block-buttons{gap:12px}.wp-block-button__link{font-family:Manrope,sans-serif;background:#b32632;color:#fff;text-decoration:none;padding:13px 23px;border-radius:5px;border:1px solid #b32632;font-weight:700;font-size:var(--ng-button,20px);transition:background .2s,transform .2s}.wp-block-button__link:hover{background:#901e29;transform:translateY(-2px)}.ng-button-module{display:inline-block;margin-right:10px}.ng-card-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;list-style:none}.ng-card,.ng-card-grid>.wp-block-post{background:#fff;border:1px solid #b99a5855;border-radius:12px;overflow:hidden;padding:24px;color:#171717;box-shadow:0 8px 28px #17171708}.ng-card img{width:100%;height:230px;object-fit:cover;border-radius:8px}.ng-card h3{margin:20px 0 12px;font-size:var(--ng-title,22px)}.ng-card p{font-size:var(--ng-description,inherit);line-height:var(--ng-description-leading,1.6)}.ng-dark .ng-card h3{color:#171717}.ng-card .wp-block-button__link{font-size:var(--ng-button,17px);padding:10px 16px}.wp-block-separator{border:0;border-top:1px solid #b99a5880;margin:30px 0}.ng-faq .wp-block-details{padding:22px 24px;border:1px solid #b99a5866;border-radius:8px;margin:14px 0;background:#fff;color:#171717}.wp-block-details summary{font-family:Sora,sans-serif;font-size:var(--ng-title,20px);font-weight:600;cursor:pointer;line-height:1.4}.wp-block-details[open] summary{margin-bottom:20px;color:#b32632}.wp-block-table{overflow-x:auto}.wp-block-table table{border-collapse:collapse;width:100%}.wp-block-table td,.wp-block-table th{border:1px solid #b99a5855;padding:12px;text-align:left}.ng-form{padding:30px;border:1px solid #b99a5880;border-radius:12px;background:#fff;color:#171717;max-width:800px;margin:auto}.wpcf7 input:not([type=submit]):not([type=checkbox]),.wpcf7 textarea,.wpcf7 select,.ng-consultation input:not([type=hidden]),.ng-consultation textarea,.ng-consultation select{width:100%;background:#f5f2ec;border:1px solid #ddd4c4;border-radius:5px;padding:13px 15px;font:inherit;font-size:var(--ng-field,18px);color:#171717}.wpcf7 input[type=submit],.ng-consultation button{background:#b32632;color:#fff;border:0;border-radius:5px;padding:14px 24px;font-family:Manrope,sans-serif;font-weight:700;font-size:var(--ng-button,18px);cursor:pointer}.ng-consultation label{display:block;margin-bottom:18px}.ng-consultation label>span{display:block;margin-bottom:7px}.ng-consultation .ng-form-feedback{margin-top:18px}.ng-footer{background:#171717;color:#fff}.ng-footer .ng-section{background:#171717!important;padding:50px 28px}.ng-footer .ng-row{align-items:start}.ng-footer .ng-image{max-width:250px}.ng-footer ul{padding-left:0;list-style:none}.ng-footer a{color:#e3c88e;text-decoration:none}.ng-footer h3{font-size:22px}.ng-social{display:flex;flex-wrap:wrap;gap:14px;font-size:14px}.ng-social p{margin:0}.ng-article-shell{padding:64px 28px;max-width:1120px;margin:auto!important}.ng-article-shell>.wp-block-post-title{font-size:48px}.ng-article-shell .ng-section{padding:35px 20px}.ng-article-shell .ng-row{max-width:100%}.ng-video{aspect-ratio:16/9;width:100%;border:0}.wp-block-post-content>p,.wp-block-post-content>h1,.wp-block-post-content>h2,.wp-block-post-content>h3,.wp-block-post-content>ul,.wp-block-post-content>ol{max-width:1120px;margin-left:auto;margin-right:auto}.wp-block-query-pagination{display:flex;gap:20px;padding:30px 0}.wp-block-post-featured-image img{border-radius:10px}.ng-navigation .wp-block-navigation__responsive-container.is-menu-open{background:#171717;color:#fff;padding:30px}.ng-navigation .is-menu-open .wp-block-navigation__submenu-container{border:0}.ng-comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ng-comparison img{height:auto;object-fit:contain}.wp-block-list li{margin-bottom:8px}
@media(max-width:980px){body{font-size:17px}h1,.ng-title>h1,.ng-article-shell>.wp-block-post-title{font-size:var(--ng-h1,var(--ng-title,40px))}.ng-header-inner{gap:20px}.ng-cols-3,.ng-cols-4,.ng-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ng-photo-column{min-height:340px}.ng-logo{width:220px}}
@media(max-width:767px){body{font-size:16px}.ng-header{padding:18px 20px}.ng-logo{width:200px}.ng-header-inner{flex-wrap:nowrap!important}.ng-section{padding:38px 20px}.ng-row{gap:24px;grid-template-columns:minmax(0,1fr)}.ng-card-grid{grid-template-columns:minmax(0,1fr)}h1,.ng-title>h1,.ng-article-shell>.wp-block-post-title{font-size:var(--ng-h1,var(--ng-title,32px))}.ng-photo-column{min-height:300px}.ng-article-shell{padding:38px 20px}.ng-form{padding:22px 18px}.ng-card{padding:20px}.ng-column>*+*{margin-top:16px}.ng-footer .ng-section{padding:38px 20px}.ng-card img{height:auto}.wp-block-navigation__responsive-container-open{color:#b99a58}.ng-text{overflow-wrap:anywhere}}
/* Keep the complete original menu readable at narrower desktop widths. */
.ng-navigation{letter-spacing:0}.ng-navigation .wp-block-navigation__container{gap:16px}.ng-navigation .wp-block-navigation-item__content{white-space:nowrap}.ng-header .wp-block-navigation-item:nth-last-child(2)>.wp-block-navigation-item__content{background:#b32632;color:#fff;border-radius:5px;padding:10px 14px}
@media(min-width:981px) and (max-width:1350px){.ng-header{padding:18px 24px}.ng-header-inner{justify-content:center!important;gap:14px}.ng-logo{width:200px}.ng-navigation{flex-basis:100%;justify-content:center!important}.ng-navigation .wp-block-navigation__container{justify-content:center!important;gap:12px}}
.ng-main>.wp-block-post-content>.ng-section:first-child h1::before{content:"";display:block;width:56px;height:2px;background:#b99a58;margin:0 auto 20px}
.editor-styles-wrapper .ng-row,.editor-styles-wrapper .ng-column,.editor-styles-wrapper .ng-text{visibility:visible}.editor-styles-wrapper .ng-row{display:grid!important}.editor-styles-wrapper .ng-column,.editor-styles-wrapper .ng-text{display:block!important}
/* Apply the selected typefaces to retained custom tools without changing their sizes. */
.ng-main,.ng-main p,.ng-main li,.ng-main blockquote,.ng-main td,.ng-main th,.ng-main input,.ng-main textarea,.ng-main select,.ng-main button,.ng-main .wp-block-button__link{font-family:Manrope,sans-serif!important}
.ng-main h1,.ng-main h2,.ng-main h3,.ng-main h4,.ng-main h5,.ng-main h6{font-family:Sora,sans-serif!important}
.ng-main span[style*="font-family"]{font-family:inherit!important}
.ng-main .neo-landing,.ng-main .np-live-copy{font-family:Manrope,sans-serif!important;--neo-navy:#171717;--neo-blue:#b32632;--neo-teal:#b99a58;--neo-gold:#b99a58;--neo-ink:#171717;--neo-muted:#595959;--neo-pale:#f5f2ec}
#ng-float-btn{background:#b32632!important;border-color:#b99a58!important}.neo-float-nav{background:#171717!important;border-top:1px solid #b99a58!important}
