/*
Theme Name: DBV Grit
Theme URI: https://designsbyvision.net/
Author: Designs by Vision
Description: Lightweight block theme for Designs by Vision and the Ty-Rite Anchoring System. "American Grit" voice on an engineered structure.
Version: 1.1.2
Requires at least: 6.6
Requires PHP: 8.1
License: GPLv2 or later
Text Domain: dbv-grit
*/
:root{--dbv-iron:#1C1F22;--dbv-red:#B3202A;--dbv-barn:#7E1418;--dbv-paper:#F7F5F0;--dbv-field:#E9E1D3;--dbv-steel:#5B636A;--dbv-galv:#A9AFB4;--dbv-signal:#D02A35}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--dbv-signal);outline-offset:2px}
.skip-link:focus{background:#fff;color:#000;padding:8px 12px;z-index:100000}
/* header */
.dbv-header{position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(255,255,255,.06)}
.dbv-header .wp-block-navigation a{text-decoration:none}
.dbv-header .wp-block-navigation a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--dbv-signal);text-underline-offset:6px;text-decoration-thickness:2px}
.dbv-logo img{display:block;height:auto}
.dbv-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--dbv-iron)!important;color:#fff!important;padding:24px}
.dbv-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{font-size:1.5rem}
.dbv-callbtn .wp-block-button__link{white-space:nowrap}
@media (max-width:781px){.dbv-hide-mobile{display:none!important}}
@media (min-width:782px){.dbv-hide-desktop{display:none!important}}
/* eyebrow */
.dbv-eyebrow{font-family:var(--wp--preset--font-family--barlow);font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem!important;color:var(--dbv-red)}
.has-iron-background-color .dbv-eyebrow,.wp-block-cover .dbv-eyebrow{color:#ff8a8f}
/* hero */
.dbv-hero{min-height:min(88vh,760px)!important}
.dbv-hero h1{max-width:14ch;text-wrap:balance}
.dbv-hero p{max-width:40ch}
/* steps */
.dbv-step{border-top:4px solid var(--dbv-red);padding-top:1rem}
.dbv-step .dbv-num{font-family:var(--wp--preset--font-family--plex-mono);color:var(--dbv-red);font-size:.95rem;letter-spacing:.06em}
/* cards */
.dbv-card{background:#fff;border:1px solid #e3ddd1;height:100%}
.dbv-card .wp-block-image{margin:0}
.dbv-card .wp-block-image img{aspect-ratio:4/3;object-fit:cover;width:100%}
.dbv-card h3 a{text-decoration:none;color:inherit}
.dbv-card h3 a:hover{color:var(--dbv-red)}
/* placeholders */
.dbv-need{background:#FFF4C2;border:2px dashed #B38600;color:#4a3700;padding:.9rem 1rem;font-family:var(--wp--preset--font-family--plex-mono);font-size:.9rem;line-height:1.5}
.dbv-need strong{color:#7a1d00}
/* spec table */
.dbv-specs table{font-family:var(--wp--preset--font-family--plex-mono);font-size:.92rem}
.dbv-specs td,.dbv-specs th{border:1px solid var(--dbv-galv)!important;padding:.6rem .8rem}
.dbv-specs th{background:var(--dbv-iron);color:#fff;text-align:left}
/* gallery */
.dbv-gallery.wp-block-gallery img{aspect-ratio:4/3;object-fit:cover}
.dbv-gallery figcaption{font-size:.85rem!important}
/* video facade */
.dbv-video{position:relative;aspect-ratio:16/9;background:#000 center/cover no-repeat;cursor:pointer;overflow:hidden;border:0;padding:0;width:100%;display:block;color:#fff}
.dbv-video::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.75))}
.dbv-video .dbv-play{position:absolute;left:50%;top:50%;width:76px;height:54px;transform:translate(-50%,-50%);background:var(--dbv-red);border-radius:4px;z-index:2;transition:transform .15s}
.dbv-video .dbv-play::before{content:"";position:absolute;left:31px;top:15px;border-style:solid;border-width:12px 0 12px 20px;border-color:transparent transparent transparent #fff}
.dbv-video:hover .dbv-play{transform:translate(-50%,-50%) scale(1.08)}
.dbv-video .dbv-vtitle{position:absolute;left:14px;bottom:10px;right:14px;z-index:2;font-family:var(--wp--preset--font-family--barlow-condensed);font-weight:700;font-size:1.25rem;text-align:left;text-transform:uppercase;letter-spacing:.02em}
.dbv-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.dbv-videos{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.dbv-videos figure{margin:0}
.dbv-videos figcaption{font-size:.95rem;color:var(--dbv-steel);margin-top:.5rem}
/* form */
.dbv-form{display:grid;gap:14px}
.dbv-form .row{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:640px){.dbv-form .row.two{grid-template-columns:1fr 1fr}}
.dbv-form label{display:block;font-family:var(--wp--preset--font-family--barlow);font-weight:600;font-size:.95rem;margin-bottom:4px}
.dbv-form input,.dbv-form textarea,.dbv-form select{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--dbv-galv);background:#fff;font:inherit;font-size:1rem;border-radius:2px;color:var(--dbv-iron)}
.dbv-form textarea{min-height:140px}
.dbv-form .hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}
.dbv-form button{background:var(--dbv-red);color:#fff;border:0;padding:14px 26px;font-family:var(--wp--preset--font-family--barlow-condensed);font-weight:700;font-size:1.2rem;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border-radius:2px;justify-self:start}
.dbv-form button:hover{background:var(--dbv-barn)}
.dbv-notice{padding:14px 16px;border-left:4px solid;margin-bottom:16px}
.dbv-notice.ok{border-color:#2e7d32;background:#e8f5e9}.dbv-notice.err{border-color:var(--dbv-red);background:#fdecea}
.dbv-small{font-size:.9rem;color:var(--dbv-steel)}
/* footer */
.dbv-footer a{color:#fff;text-decoration:none}.dbv-footer a:hover{text-decoration:underline}
.dbv-footer .dbv-small{color:var(--dbv-galv)}
/* buttons */
.wp-block-button.is-style-outline .wp-block-button__link{border-width:2px}
.dbv-stripe{height:6px;background:repeating-linear-gradient(135deg,var(--dbv-red) 0 18px,var(--dbv-iron) 18px 36px)}
.dbv-checks{list-style:none;padding-left:0}
.dbv-checks li{padding-left:1.8em;position:relative;margin-bottom:.5em}
.dbv-checks li::before{content:"";position:absolute;left:0;top:.45em;width:.9em;height:.9em;background:var(--dbv-red);clip-path:polygon(0 50%,15% 35%,40% 60%,85% 10%,100% 25%,40% 90%)}
/* hero alignment */
.dbv-hero .wp-block-cover__inner-container{max-width:1240px;margin-inline:auto}
.dbv-hero .wp-block-cover__inner-container>*{margin-left:0!important;margin-right:auto!important}
.dbv-hero .wp-block-cover__inner-container>p:not(.dbv-eyebrow){max-width:40ch}
.dbv-step .dbv-num{margin:0}
.dbv-card>.wp-block-group{margin-top:0}
.wp-block-columns .wp-block-image{margin-bottom:0}
main .wp-block-cover.alignfull{margin-top:0}
.dbv-vfig{margin:0}
.wp-block-post-content>.alignfull{margin-top:0!important;margin-bottom:0!important}
.wp-block-post-content{margin-top:0!important}
.dbv-footer{margin-top:0!important}
.dbv-steps .wp-block-image img{aspect-ratio:4/3;object-fit:cover;width:100%}
.dbv-step{margin-top:1rem}
.dbv-fcols{display:grid;gap:2rem;grid-template-columns:1fr;max-width:1240px;margin-inline:auto}
@media(min-width:782px){.dbv-fcols{grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem}}
.dbv-fcols ul{margin:0}
.wp-block-columns .wp-block-image img{aspect-ratio:4/3;object-fit:cover;width:100%}
.wp-block-column>.wp-block-buttons+*{margin-top:1.5rem}
.dbv-vfig+.dbv-vfig,.wp-block-column>.wp-block-shortcode+.wp-block-shortcode{margin-top:1.5rem}
.dbv-videos .dbv-vfig{margin-top:0!important}
/* FAQ */
.dbv-faq .wp-block-details{border-top:1px solid var(--dbv-galv);padding:1rem 0;margin:0}
.dbv-faq .wp-block-details:last-child{border-bottom:1px solid var(--dbv-galv)}
.dbv-faq summary{font-family:var(--wp--preset--font-family--barlow);font-weight:600;font-size:1.2rem;cursor:pointer}
.dbv-faq summary:hover{color:var(--dbv-red)}
.dbv-faq .wp-block-details p{margin-top:.6rem}
.dbv-proof h2{font-family:var(--wp--preset--font-family--barlow);text-transform:none;font-weight:600}
.dbv-gallery figcaption.wp-element-caption{position:static!important;background:none!important;color:var(--dbv-steel)!important;padding:.4rem 0 0!important;max-height:none!important;text-align:left!important}
.dbv-gallery.is-cropped .wp-block-image{display:block!important;align-self:flex-start}
.dbv-gallery.is-cropped .wp-block-image img{flex:none!important;height:auto!important;width:100%!important;aspect-ratio:4/3;object-fit:cover}
